Patents by Inventor Cristian Diaconu

Cristian Diaconu 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: 11151101
    Abstract: Adaptive adjusting of the growth of a persistent log. The persistent log has a log record generator that adds log records to the persistent log. In addition, there are multiple log consumers that consume records from the persistent log. The log consumers publish log processing parameters with respect to the persistent log. The log processing parameters are then used to determine an appropriate adjustment in the growth of the log, which adjustments may then be executed. As an example, the log processing parameter may be a log consumption progress, in which case the log generator may be caused to slow down the generation of log records, thereby slowing the growth of the log.
    Type: Grant
    Filed: September 21, 2018
    Date of Patent: October 19, 2021
    Inventors: Cristian Diaconu, Alejandro Hernandez Saenz
  • Patent number: 11099948
    Abstract: Caching storage segments (e.g., pages) loaded from a remote storage such that, during recovery, the cached loaded storage segments may be at least partially recovered without reloading the storage segments from the remote storage. During normal operation of a computing system, storage segments are loaded from remote storage into local memory of a computing system. At some point, either due to eviction of the storage segment due to aging out of the storage segment, or due to writing of the storage segment, it is determined to write at least some of the loaded storage segments into local persistent storage. In conjunction with this, the corresponding storage segment is written to a respective storage address of the local persistent storage. Also, a correlation between an identifier of the storage segment and the respective address in the persistent storage is recorded in a persistent data structure.
    Type: Grant
    Filed: September 21, 2018
    Date of Patent: August 24, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Cristian Diaconu, Vikram Wakade, Naveen Prakash
  • Patent number: 11048664
    Abstract: The bifurcation of a log into a fixed-size log portion and a growable log portion. Log records are first written to the fixed-size log portion. At some point, the older log records within the fixed-size log portion are destaged to the growable log portion. Destaging may involve copying the log records from the fixed-size log portion and tacking the log record onto the end of the growable log portion. This destaging might occur one sub-portion (e.g., one virtual log file) at a time. The more recent log records are within the fixed-size log portion. Accordingly, new writes to the log occur to the fixed-size log portion. Furthermore, a large portion of the reads are of the more recent log records within the fixed-size log portion. Thus, optimizing performance within the fixed-size log portion results in significant improvement in the performance of the overall log.
    Type: Grant
    Filed: September 21, 2018
    Date of Patent: June 29, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Cristian Diaconu, Naveen Prakash, Alejandro Hernandez Saenz, Alexander Budovski
  • 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: 11044312
    Abstract: A storage segment server environment that includes storage segment server(s) that cover a contiguous address space of data. The storage segment server has storage segments that are contiguous and that matches the address space of a respective of storage segments in the cloud store service. Thus, a read of the contiguous address spaces of the data from the cloud store service may instead be handled as a single read of the contiguous address space of the storage segment server. Each storage segment server(s) may be assigned to a range within the total contiguous address space of the data. Each storage segment server(s) includes a respective storage segment write component that is configured to perform write operations to storage segments in the respective storage segment server. Each storage segment server(s) also includes a respective cloud storage write component that initiates corresponding write operations to the cloud store service.
    Type: Grant
    Filed: September 21, 2018
    Date of Patent: June 22, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Cristian Diaconu, Vikram Wakade, Krystyna Reisteter
  • 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: 10949412
    Abstract: The use of log marking (otherwise known as “coloring”) of sub-portions of a log that records actions (e.g., data operations) performed by a computing system. The log is composed of multiple sub-portions, such as virtual log files, which are successively added to the log as the log grows. For instance, the sub-portions may be virtual log files of the log. The principles described herein change the use of log marking depending on which sub-portion of the log is being marked. If the computing system fails, and recovery is needed, the recovery process can thus deterministically identify where the last written log record is.
    Type: Grant
    Filed: September 21, 2018
    Date of Patent: March 16, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Cristian Diaconu, Naveen Prakash, Alexander Budovski, Alejandro Hernandez Saenz
  • 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
  • Patent number: 10901944
    Abstract: Storing an incoming data stream using successive files that are consecutively populated. The appropriate file to populate a given data stream portion into is determined by mapping the data stream offset to a file, and potentially also an address within that file. The successive files may be the same size, so that the file can be identified based on the data stream address (or offset) without the use of an index. Furthermore, the files may be easily named by having that size be some multiple of a binary power of bytes. That way, the files themselves can be automatically and named and identified by using the more significant bit or bits of the data stream offset to uniquely identify the file and establish ordering of the files. Replication may occur from a primary to a secondary store by transmitting the offset, and the actual data to be stored.
    Type: Grant
    Filed: May 24, 2017
    Date of Patent: January 26, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Rogerio Ramos, Fayssal Martani, Cristian Diaconu, Karthick Krishnamoorthy, Jacob R. Lorch
  • Patent number: 10877868
    Abstract: Use of a log service computing system to apply a log to storage segments in the context of there being a primary compute system that operates upon data, and secondary compute system(s) that are at the ready to be promoted to the new primary compute system should the old primary compute system fail. Rather than have each of the primary and secondary compute systems maintain their own replicated of the entire data locally, the data is separated in storage segments that are collectively distributed amongst multiple storage segment servers.
    Type: Grant
    Filed: September 21, 2018
    Date of Patent: December 29, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Cristian Diaconu, Alexander Budovski, Alejandro Hernandez Saenz, Naveen Prakash, Krystyna Reisteter
  • Patent number: 10802715
    Abstract: The mounting a drive to two or more computing systems. For instance, the drive may be mounted to a first computing system so as to be writable (and potentially readable) by the first computing system. But also, the drive is also mounted to one or more other computing systems so as to be only readable by those one or more computing systems. This allows for multiple computing systems to have access to the drive without risk that the data thereon will become corrupt. In one embodiment, the only user data stored on that drive is a single file of fixed size. Thus, even when user data is written into the fixed-size file, the management data stored (that keeps track of the files) on the drive does not change.
    Type: Grant
    Filed: September 21, 2018
    Date of Patent: October 13, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Cristian Diaconu, Alejandro Hernandez Saenz, Naveen Prakash, Alexander Budovski
  • Patent number: 10802926
    Abstract: Assembly of a state of user data as of a particular point in time in the context of the data being spread across multiple storage segment servers. Furthermore, the assembly occurs despite the storage segment servers not needing to coordinate a timing of any snapshots. Rather, the storage segment servers perform a snapshot of the portion of the data that it individually stores without having to coordinate with any other storage segment server. The particular point of time may be any arbitrary time, such as a time selected by a user.
    Type: Grant
    Filed: September 21, 2018
    Date of Patent: October 13, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Cristian Diaconu, Huanhui Hu, Sheetal Shrotri
  • 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: 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: 20200099745
    Abstract: A storage segment server environment that includes storage segment server(s) that cover a contiguous address space of data. The storage segment server has storage segments that are contiguous and that matches the address space of a respective of storage segments in the cloud store service. Thus, a read of the contiguous address spaces of the data from the cloud store service may instead be handled as a single read of the contiguous address space of the storage segment server. Each storage segment server(s) may be assigned to a range within the total contiguous address space of the data. Each storage segment server(s) includes a respective storage segment write component that is configured to perform write operations to storage segments in the respective storage segment server. Each storage segment server(s) also includes a respective cloud storage write component that initiates corresponding write operations to the cloud store service.
    Type: Application
    Filed: September 21, 2018
    Publication date: March 26, 2020
    Inventors: Cristian DIACONU, Vikram WAKADE, Krystyna REISTETER
  • Publication number: 20200097572
    Abstract: Adaptive adjusting of the growth of a persistent log. The persistent log has a log record generator that adds log records to the persistent log. In addition, there are multiple log consumers that consume records from the persistent log. The log consumers publish log processing parameters with respect to the persistent log. The log processing parameters are then used to determine an appropriate adjustment in the growth of the log, which adjustments may then be executed. As an example, the log processing parameter may be a log consumption progress, in which case the log generator may be caused to slow down the generation of log records, thereby slowing the growth of the log.
    Type: Application
    Filed: September 21, 2018
    Publication date: March 26, 2020
    Inventors: Cristian DIACONU, Alejandro Hernandez SAENZ
  • Publication number: 20200097566
    Abstract: The bifurcation of a log into a fixed-size log portion and a growable log portion. Log records are first written to the fixed-size log portion. At some point, the older log records within the fixed-size log portion are destaged to the growable log portion. Destaging may involve copying the log records from the fixed-size log portion and tacking the log record onto the end of the growable log portion. This destaging might occur one sub-portion (e.g., one virtual log file) at a time. The more recent log records are within the fixed-size log portion. Accordingly, new writes to the log occur to the fixed-size log portion. Furthermore, a large portion of the reads are of the more recent log records within the fixed-size log portion. Thus, optimizing performance within the fixed-size log portion results in significant improvement in the performance of the overall log.
    Type: Application
    Filed: September 21, 2018
    Publication date: March 26, 2020
    Inventors: Cristian DIACONU, Naveen PRAKASH, Alejandro Hernandez SAENZ, Alexander BUDOVSKI
  • Publication number: 20200097578
    Abstract: Brokering log records so as to prevent log records that are not yet persisted in a persistent log from being disseminated. The log records may be generated as a primary compute system performs operations. Upon receiving a request for a log record, the broker component determines whether the requested log record has been persisted in a persistent log. If the broker component determines that the log record has been persisted in the persistent log, the broker component responds to the request by causing the requested log record to be provided to the requesting entity (e.g., a secondary compute system). On the other hand, if the log record cannot yet determine that the log record has been persisted in the persistent log, the broker component prevents the log record from being provided to the requesting entity. This prevents data from being inconsistent during recovery.
    Type: Application
    Filed: September 21, 2018
    Publication date: March 26, 2020
    Inventors: Cristian DIACONU, Naveen PRAKASH, Alexander BUDOVSKI, Huanhui HU, Alejandro Hernandez SAENZ
  • Publication number: 20200097576
    Abstract: The use of log marking (otherwise known as “coloring”) of sub-portions of a log that records actions (e.g., data operations) performed by a computing system. The log is composed of multiple sub-portions, such as virtual log files, which are successively added to the log as the log grows. For instance, the sub-portions may be virtual log files of the log. The principles described herein change the use of log marking depending on which sub-portion of the log is being marked. If the computing system fails, and recovery is needed, the recovery process can thus deterministically identify where the last written log record is.
    Type: Application
    Filed: September 21, 2018
    Publication date: March 26, 2020
    Inventors: Cristian DIACONU, Naveen PRAKASH, Alexander BUDOVSKI, Alejandro Hernandez SAENZ