Patents by Inventor Per-Ake Larson

Per-Ake Larson has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11681456
    Abstract: A method of reducing write amplification in an append-only memory store of data records, by which the store is subdivided into streams, each of which for storing records having an update frequency within a variable range of update frequencies. By defining an update frequency that does not rely on time, statistical methods can be used to select the streams in which data records can be written. The range of update frequencies of each stream can be fixed or variable and based on the stored records. The memory allocated to each stream can be determined based on numerically solving an optimization problem that determines the write amplification resulting from different memory allocations in the streams.
    Type: Grant
    Filed: May 19, 2021
    Date of Patent: June 20, 2023
    Assignee: HUAWEI CLOUD COMPUTING TECHNOLOGIES CO., LTD.
    Inventors: Per-Ake Larson, Alexandre Depoutovitch
  • Patent number: 11640383
    Abstract: Methods and systems are described for managing a shared database. One or more processing nodes may access a shared database. A common log node may manage the shared database. The common log node may validate database operations requested by the one or more processing nodes. During validation, the common log node may detect conflicts that occur between database operations requested by the one or more processing nodes.
    Type: Grant
    Filed: November 15, 2018
    Date of Patent: May 2, 2023
    Assignee: HUAWEI TECHNOLOGIES CO., LTD.
    Inventors: Xun Xue, Chong Chen, Per-Ake Larson, Robin Grosman
  • Publication number: 20230053707
    Abstract: An apparatus is disclosed. The apparatus may be implemented in a database node or a storage node and includes one or more processors and memory storing instructions for causing the processor to perform a number of operations. Responsive to a page write request, the apparatus determines an identifier corresponding to the requested page, sends component blocks corresponding to the page to a storage node for appending to an append-only storage log of the storage node, receives the physical location of the stored component blocks, and associates the physical storage location of the stored component blocks with the logical identifier corresponding to the page.
    Type: Application
    Filed: September 28, 2022
    Publication date: February 23, 2023
    Inventors: Per-Ake Larson, Alexandre Depoutovitch
  • Publication number: 20220374160
    Abstract: A method of reducing write amplification in an append-only memory store of data records, by which the store is subdivided into streams, each of which for storing records having an update frequency within a variable range of update frequencies. By defining an update frequency that does not rely on time, statistical methods can be used to select the streams in which data records can be written. The range of update frequencies of each stream can be fixed or variable and based on the stored records. The memory allocated to each stream can be determined based on numerically solving an optimization problem that determines the write amplification resulting from different memory allocations in the streams.
    Type: Application
    Filed: May 19, 2021
    Publication date: November 24, 2022
    Applicant: HUAWEI TECHNOLOGIES CO., LTD.
    Inventors: Per-Ake LARSON, Alexandre DEPOUTOVITCH
  • Patent number: 11461296
    Abstract: An apparatus is disclosed. The apparatus may be implemented in a database node or a storage node and includes one or more processors and memory storing instructions for causing the processor to perform a number of operations. Responsive to a page write request, the apparatus determines an identifier corresponding to the requested page, sends component blocks corresponding to the page to a storage node for appending to an append-only storage log of the storage node, receives the physical location of the stored component blocks, and associates the physical storage location of the stored component blocks with the logical identifier corresponding to the page.
    Type: Grant
    Filed: July 27, 2020
    Date of Patent: October 4, 2022
    Assignee: Huawei Cloud Computing Technologies Co., Ltd.
    Inventors: Per-Ake Larson, Alexandre Depoutovitch
  • Patent number: 11113260
    Abstract: Various technologies described herein pertain to accessing records of an in-memory database. A memory can include a primary storage and a data store can include a secondary storage. The primary storage includes a first subset of the records of the database, and the secondary storage includes a second subset of the records of the database. Moreover, the memory includes an update memo that includes timestamp notices. The timestamp notices specify statuses of records of the database having updates that span the primary storage and the secondary storage. The memory further includes a database management system that is executable by a processor. The database management system processes a transaction. Further, the database management system includes a storage interface component that accesses a record of the database for the transaction based on at least one of the timestamp notices of the update memo.
    Type: Grant
    Filed: June 5, 2019
    Date of Patent: September 7, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Justin Jon Levandoski, Per-Ake Larson, Ahmed Eldawy
  • Patent number: 11106541
    Abstract: A method includes receiving an indication of a change to a page of a database and adding a new log record corresponding to the page to a common log comprising log records, the new log record describing the change made to the page and assigned a distinct version number. The method further includes synchronously writing the new log record to each log store replica in a set of log store replicas, and asynchronously writing the new log record to all page store replicas for the page to update the page that is stored on each of the page store replicas, where each store replica for the page serves reads for the page. In response to receiving, from a predetermined number of the page store replicas, an acknowledgement of the writing of the log record, discarding the new log record from the common log.
    Type: Grant
    Filed: March 15, 2019
    Date of Patent: August 31, 2021
    Assignee: HUAWEI TECHNOLOGIES CO., LTD
    Inventors: Alexandre Depoutovitch, Per-Ake Larson, Chong Chen
  • Patent number: 11048691
    Abstract: An in-memory database system stores an entirety of a database within main memory of the computer system. The database includes a table comprising a plurality of rows including a particular row. A first transaction updating the particular row is executed to create a first version of the particular row. A second transaction updating the particular row is executed to create a second version of the particular row. The first version is visible only to the first transaction, and the second version is visible only to the second transaction. The in-memory database system may associate an index with the database table, the index referencing the plurality of rows, including referencing the first version of the particular row and the second version of the particular row. The in-memory database system may initiate garbage collection of the first version of the particular row and/or the second version of the particular row.
    Type: Grant
    Filed: March 11, 2019
    Date of Patent: June 29, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Cristian Diaconu, Craig Steven Freedman, Per-Ake Larson, Michael James Zwilling
  • Patent number: 11010354
    Abstract: The subject disclosure relates to a distributed transaction management technique that ensures synchronization between participating nodes in a global or distributed database transaction. The technique leverages a commit protocol that uses local clocks at the respective participating nodes. Participants in a global transaction are configured to utilize the same commit timestamp and logical read time and can advance their respective local clocks to establish this synchronization. In one embodiment, distributed commit utilizes a modified version of two-phase commit that includes an extra phase to collect commit timestamp votes from participants. Additionally, a heartbeat mechanism can be used to establish loose synchronization between nodes. In another embodiment, a node can respond to a remote transaction request by returning a list of nodes involved in generating the result of the transaction and the types of access used by such nodes in addition to the transaction result itself.
    Type: Grant
    Filed: October 30, 2018
    Date of Patent: May 18, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Per-Ake Larson, Michael James Zwilling, Cristian Diaconu
  • Patent number: 10915403
    Abstract: A versioned records management computing system that uses a restart era in order to promote rapid recovery. A persistent store includes a multi-versioned record collection. The records are also associated with a restart era that corresponds to the era of operation of the computing system after a restart. Upon a recovery, the current restart era changes. An object collection media has an object collection that conforms to an object model such that the object model is used to operate upon the records. The object collection media is operable such that the object collection is durable so as to survive restarts of the system to thereby allow for accelerated recovery.
    Type: Grant
    Filed: April 18, 2019
    Date of Patent: February 9, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Per-Ake Larson, Robert Patrick Fitzgerald, Cristian Diaconu
  • Publication number: 20200364197
    Abstract: An apparatus is disclosed. The apparatus may be implemented in a database node or a storage node and includes one or more processors and memory storing instructions for causing the processor to perform a number of operations. Responsive to a page write request, the apparatus determines an identifier corresponding to the requested page, sends component blocks corresponding to the page to a storage node for appending to an append-only storage log of the storage node, receives the physical location of the stored component blocks, and associates the physical storage location of the stored component blocks with the logical identifier corresponding to the page.
    Type: Application
    Filed: July 27, 2020
    Publication date: November 19, 2020
    Inventors: Per-Ake Larson, Alexandre Depoutovitch
  • Patent number: 10783009
    Abstract: Systems and methods for switching a data access synchronization strategy for a data structure are provided. Workload characteristics of one or more threads of execution access the data structure are monitored. A target data access synchronization strategy is determined. If the current strategy is different than the target strategy, the current strategy is switched to the target data access synchronization strategy for the data structure.
    Type: Grant
    Filed: April 20, 2018
    Date of Patent: September 22, 2020
    Assignee: Huawei Technologies Co., Ltd.
    Inventors: Alexandre Depoutovitch, Per-Ake Larson, Cong Guo
  • Publication number: 20200293407
    Abstract: A method includes receiving an indication of a change to a page of a database and adding a new log record corresponding to the page to a common log comprising log records, the new log record describing the change made to the page and assigned a distinct version number. The method further includes synchronously writing the new log record to each log store replica in a set of log store replicas, and asynchronously writing the new log record to all page store replicas for the page to update the page that is stored on each of the page store replicas, where each store replica for the page serves reads for the page. In response to receiving, from a predetermined number of the page store replicas, an acknowledgement of the writing of the log record, discarding the new log record from the common log.
    Type: Application
    Filed: March 15, 2019
    Publication date: September 17, 2020
    Inventors: Alexandre Depoutovitch, Per-Ake Larson, Chong Chen
  • Patent number: 10761936
    Abstract: A versioned records management system that uses a restart era in order to promote rapid recovery. A persistent store includes a plurality of items that are each marked with a restart era. Any item that was created in the current restart era is marked with the current restart era. The persistent store also includes a first subset of the items comprising a plurality of records. At least one record includes multiple corresponding versions. The persistent store also includes a second subset of the items comprising a collection of objects that conform to an object model that is used to operate upon the plurality of records via the object collection. The versioned records management system recovers from a crash by promoting an item in the persistent store to the current restart era, in parallel with normal operation of the versioned records management system.
    Type: Grant
    Filed: April 9, 2018
    Date of Patent: September 1, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Per-Ake Larson, Robert Patrick Fitzgerald, Cristian Diaconu
  • Patent number: 10726047
    Abstract: A log manager causing events to be written to the primary and the secondary computing systems for high availability, and returning threads quickly. Rather than cause every event write to be immediately written to the secondary computing system, the log management component is triggered to write to the secondary computing system upon detecting event write requests of event writes of a particular event type. In response to detecting such an event write, the log management component gathers a group of event writes corresponding to that particular event write, and dispatches the event writes as a group. The particular thread that initiated the particular event write of the particular event type is returned after dispatching the event write group, but before or without confirmation of the particular event write group has been written to the secondary computing system.
    Type: Grant
    Filed: April 30, 2018
    Date of Patent: July 28, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Robert Patrick Fitzgerald, Per-Ake Larson, Michael James Zwilling, Cristian Diaconu
  • Patent number: 10725983
    Abstract: An apparatus is disclosed. The apparatus may be implemented in a database node or a storage node and includes one or more processors and memory storing instructions for causing the processor to perform a number of operations. Responsive to a page write request, the apparatus determines an identifier corresponding to the requested page, sends component blocks corresponding to the page to a storage node for appending to an append-only storage log of the storage node, receives the physical location of the stored component blocks, and associates the physical storage location of the stored component blocks with the logical identifier corresponding to the page.
    Type: Grant
    Filed: December 29, 2017
    Date of Patent: July 28, 2020
    Assignee: Huawei Technologies Co., Ltd.
    Inventors: Per-Ake Larson, Alexandre Depoutovitch
  • Patent number: 10664362
    Abstract: The recovery of one or more transactions in a computing system in which one or more persistent systems are coupled via a bus to one or more processors. As an example, the persistent system may serve as at least part of the main memory of the computing system. The transaction might implement multi-versioning in which a record is not updated in place. Rather, each record is represented as a sequence of one or more record versions, each version having a valid interval during which the record version is considered to properly represent the record.
    Type: Grant
    Filed: November 9, 2016
    Date of Patent: May 26, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Per-Ake Larson, Robert Patrick Fitzgerald, Cristian Diaconu, Michael James Zwilling
  • Publication number: 20200159845
    Abstract: Methods and systems are described for managing a shared database. One or more processing nodes may access a shared database. A common log node may manage the shared database. The common log node may validate database operations requested by the one or more processing nodes. During validation, the common log node may detect conflicts that occur between database operations requested by the one or more processing nodes.
    Type: Application
    Filed: November 15, 2018
    Publication date: May 21, 2020
    Applicant: HUAWEI TECHNOLOGIES CO., LTD.
    Inventors: Xun XUE, Chong CHEN, Per-Ake LARSON, Robin GROSMAN
  • Patent number: 10599485
    Abstract: A computer implemented method includes receiving multiple requests to update a data structure stored in non-volatile memory (NVM) and applying an atomic multiword update to the data structure to arbitrate access to the NVM. In a further embodiment, a computer implemented method includes allocating a descriptor for a persistent multi-word compare-and-swap operation (PMwCAS), specifying targeted addresses of words to be modified, returning an error if one of the targeted addresses contains a value not equal to a corresponding compare value, executing the operation atomically if the targeted addresses contain values that match the corresponding compare values, and aborting the operation responsive to the returned error.
    Type: Grant
    Filed: June 8, 2018
    Date of Patent: March 24, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Justin J Levandoski, Umar Farooq Minhas, Per-Ake Larson, Tianzheng Wang, Joy James Prabhu Arulraj
  • Patent number: 10496621
    Abstract: Methods, systems, and computer-readable media of columnar storage of a database index are disclosed. A particular columnar index includes a column store that stores rows of the columnar index in a column-wise fashion and a delta store that stores rows of the columnar index in a row-wise fashion. The column store also includes an absence flag array. The absence flag array includes entries that indicate whether certain rows have been logically deleted from the column store.
    Type: Grant
    Filed: October 23, 2015
    Date of Patent: December 3, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Artem A. Oks, Per-Ake Larson, Srikumar Rangarajan, Michael James Zwilling, Jose A. Blakeley, Hanumantha R. Kodavalla