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).
-
Publication number: 20160306856Abstract: A lockless open collection data structure used to create a sequence of collection records. The sequence of collection records may be inserted into a data stream for purposes of assisting in subsequent processing of the data stream in a parallel manner, by collection. The open collection data structure is re-usable for multiple collections of data items within the data stream. The use of the open collection data structure may occur while a data stream that includes multiple different types of data items is being evaluated. The open collection data structure is used to track an expandable collection definition of a currently open collection. Upon detecting that the collection definition is no longer expandable, the collection record is created based on state within the open collection data structure. Once the collection record for a collection has been created, the open collection data structure becomes available for the next collection record.Type: ApplicationFiled: April 14, 2015Publication date: October 20, 2016Inventors: Cristian Diaconu, Christian Damianidis, Arkadi Brjazovski, Rogerio Ramos
-
Publication number: 20160306654Abstract: The use of a skip element when redoing transactions, so as to avoid tracking dependencies between transactions assigned to different threads for parallel processing. When the second thread comes to a second task in the course of redoing a second transaction, if a first task that is mooted by the second task is not already performed, the second thread inserts a skip element associated with the object to be operated upon by the particular task, instead of actually performing the particular task upon the object. When the first thread later comes to the first task in the course of redoing a first transaction, the first thread encounters the skip element associated with the object. Accordingly, instead of performing the dependee task, the first thread skips the dependee task and perhaps removes the skip element. The result is the same regardless of whether the first or second task is redone first.Type: ApplicationFiled: April 14, 2015Publication date: October 20, 2016Inventor: Cristian Diaconu
-
Publication number: 20160306841Abstract: The insertion into a data stream of collection records associated with multiple collections of data items in the data stream, for purposes of aiding in subsequent processing of the data stream by collections. Each collection record comprises a collection definition that does not overlap with the collection definition in any of the sequence of collection records including the collection definition of any neighboring collection record in the sequence of collection records. Each collection record also includes a data stream address range extending from the first data item to the last data item in the collection.Type: ApplicationFiled: April 14, 2015Publication date: October 20, 2016Inventors: Cristian Diaconu, Christian Damianidis, Arkadi Brjazovski, Rogerio Ramos, Raghavendra Thallam Kodandaramaih
-
Publication number: 20160306839Abstract: The creation of transaction segment records that are each associated with transaction segments within a log that includes multiple tasks, each of at least some associated with a corresponding transaction. The transaction segment records each include a transaction identifier set that define which tasks are included within the transaction segment. The transaction identifier sets are non-overlapping such that the transaction segments may be processed substantially in parallel by dispatching the transaction segment records to different worker threads. The identity of a latest external dependee entity, if any, is included within the transaction segment record. Upon being assigned a transaction segment for processing, the module assigned the transaction segment awaits completion of processing of the latest external dependee entity prior to processing the transaction segment.Type: ApplicationFiled: April 14, 2015Publication date: October 20, 2016Inventors: Cristian Diaconu, Daniel Vasquez Lopez
-
Patent number: 9436561Abstract: The recovery of a transaction, and perhaps the recovery of multiple 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 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 that the record version is considered to properly represent the record. Torn write guards may be used to verify that there are no torn writes in the record versions or in the log buffer associated with the transaction.Type: GrantFiled: May 10, 2013Date of Patent: September 6, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Per-Ake Larson, Robert Patrick Fitzgerald, Cristian Diaconu, Michael James Zwilling
-
Patent number: 9417974Abstract: Performing a transaction in the context of a computing system that has one or more persistent systems coupled to one or more processors over a bus. 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. As part of the transaction, post-commit processing information is generated to allow the computing system to recover in the event of a system failure.Type: GrantFiled: May 10, 2013Date of Patent: August 16, 2016Assignee: Microsoft Technology Licensing, LLC.Inventors: Per-Ake Larson, Robert Patrick Fitzgerald, Cristian Diaconu, Michael James Zwilling
-
Publication number: 20160147827Abstract: An in-memory database system includes database table stored in system memory. The database table comprises a plurality of rows including a particular row. Data corresponding to each row is stored entirely in the system memory. The database table comprises a first version of the particular row having a first valid time, and a second version having a second valid time. Index(es) are associated with the database table. Each index is implemented as a lock-free data structure and references the plurality of rows, including referencing the first and second versions of the particular row. A first transaction acting on the first version of the particular row is executed. The first version of the particular row is visible to the first transaction based on the first valid time and the second version of the particular row being not visible to the first transaction based on the second valid time.Type: ApplicationFiled: January 29, 2016Publication date: May 26, 2016Inventors: Cristian Diaconu, Craig Steven Freedman, Per-Ake Larson, Michael James Zwilling
-
Publication number: 20160125022Abstract: Techniques for improved update performance in transactional and data warehouse applications are disclosed herein. A request to store a modified version of the row is received. A first record indicative of a logically deleted state for values in the column store corresponding to the row is added to a first plurality of records. The modified version of the row is added to the row store. The identifier is modified to indicate that the column store does not contain a location corresponding to the modified version of the row. A second record indicative of the modified version of the row not having been propagated to the column is added to a second plurality of records store.Type: ApplicationFiled: October 31, 2014Publication date: May 5, 2016Inventors: Devin Leo Rider, Vasileios Papadimos, Xin Zhang, Adrian Birka, Per-Åke Larson, Cristian Diaconu
-
Patent number: 9251214Abstract: A computer system includes a memory and a processor coupled to the memory. The processor is configured to execute instructions that cause execution of an in-memory database system that includes one or more database tables. Each database table includes a plurality of rows, where data representing each row is stored in the memory. The in-memory database system also includes a plurality of indexes associated with the one or more database tables, where each index is implemented by a lock-free data structure. Update logic at the in-memory database system is configured to update a first version of a particular row to create a second version of the particular row. The in-memory database system includes a non-blocking garbage collector configured to identify data representing outdated versions of rows.Type: GrantFiled: April 8, 2010Date of Patent: February 2, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Cristian Diaconu, Craig Steven Freedman, Per-Ake Larson, Michael James Zwilling
-
Publication number: 20150254273Abstract: The subject disclosure relates to a distributed transaction management technique that ensures synchronization between participating nodes in a global or distributed 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: ApplicationFiled: May 14, 2015Publication date: September 10, 2015Applicant: Microsoft Technology Licensing, LLCInventors: Per-Ake LARSON, Michael James ZWILLING, Cristian DIACONU
-
Patent number: 9075841Abstract: 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: GrantFiled: November 30, 2012Date of Patent: July 7, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Per-Ake Larson, Michael James Zwilling, Cristian Diaconu
-
Patent number: 9053123Abstract: High availability and disaster recovery can be achieved within a database management system by detecting which parts of a file have changed and sending the changed parts to secondary servers, without sending the entire file that has experienced the changes. A log cracker reads data from a transaction log that stores records from a database and a separately maintained file system. The log cracker sends mirror commands with some of the transaction log data to the file system to initiate mirroring of the data from the file system to secondary servers. The log data is then subsequently sent to the secondary servers as well, to enable identification of changed data without having to transfer the entire file that has been changed.Type: GrantFiled: March 13, 2013Date of Patent: June 9, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Pradeep Jnana Madhavarapu, Priyank Porwal, Vaibhav Kamra, Alexandru C. Chirica, Cristian Diaconu, Jun Fang, Srinivasmurthy P. Acharya
-
Publication number: 20140297598Abstract: 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: ApplicationFiled: May 10, 2013Publication date: October 2, 2014Inventors: Per-Ake Larson, Robert Patrick Fitzgerald, Cristian Diaconu, Michael James Zwilling
-
Publication number: 20140297608Abstract: The recovery of a transaction, and perhaps the recovery of multiple 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 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 that the record version is considered to properly represent the record. Torn write guards may be used to verify that there are no torn writes in the record versions or in the log buffer associated with the transaction.Type: ApplicationFiled: May 10, 2013Publication date: October 2, 2014Inventors: Per-Ake Larson, Robert Patrick Fitzgerald, Cristian Diaconu, Michael James Zwilling
-
Publication number: 20140297609Abstract: Performing a transaction in the context of a computing system that has one or more persistent systems coupled to one or more processors over a bus. 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. The transaction processing uses torn write detection so that recovery processes may use such guards to verify that there are no torn writes. For instance, torn write guards may be used to verify the integrity of record versions as well as the log buffers that refer to the record versions.Type: ApplicationFiled: May 10, 2013Publication date: October 2, 2014Inventors: Per-Ake Larson, Robert Patrick Fitzgerald, Cristian Diaconu, Michael James Zwilling
-
Publication number: 20140297595Abstract: Performing a transaction in the context of a computing system that has one or more persistent systems coupled to one or more processors over a bus. 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. As part of the transaction, post-commit processing information is generated to allow the computing system to recover in the event of a system failure.Type: ApplicationFiled: May 10, 2013Publication date: October 2, 2014Applicant: Microsoft CorporationInventors: Per-Ake Larson, Robert Patrick Fitzgerald, Cristian Diaconu, Michael James Zwilling
-
Patent number: 8655847Abstract: A method for mirroring one or more data changes from a first database server to one or more second database servers. The method includes intercepting one or more operations that make one or more changes to one or more data on the first database server. After intercepting these operations, the method merges the operations into one or more chunks, adds one or more log records having the chunks into a database log. The database log includes one or more database log blocks. The method then writes the database log blocks.Type: GrantFiled: August 16, 2010Date of Patent: February 18, 2014Assignee: Microsoft CorporationInventors: Vaibhav Kamra, Pradeep Madhavarapu, Cristian Diaconu, Priyank Porwal, Jun Fang, Srini Acharya, Alexandru Chirica
-
Patent number: 8407195Abstract: A transaction creates a wait for dependency on a version in a main memory database implementing a multi-version concurrency control scheme. The wait for dependency allows the transaction to update the version while other transactions are reading the version. The multi-version concurrency control scheme also allows commit dependencies to be implementing concurrently with wait for dependencies. Commit dependencies allow a transaction to read an updated version before the updated version is committed.Type: GrantFiled: March 7, 2011Date of Patent: March 26, 2013Assignee: Microsoft CorporationInventors: Per-Ake Larson, Spyridon Blanas, Cristian Diaconu
-
Patent number: 8401998Abstract: The present invention extends to methods, systems, and computer program products for mirroring file data. Generally, high availability and disaster recovery (“HADRON”) is achieved within a database management system by detecting which parts of a file have changed and sending the changed parts to secondaries. Adjacent or partially overlapping parts of a file can coalesce to form larger chunks of changed data. Coalescing reduces the overall number of chunks that are tracked.Type: GrantFiled: September 2, 2010Date of Patent: March 19, 2013Assignee: Microsoft CorporationInventors: Pradeep Jnana Madhavarapu, Priyank Porwal, Vaibhav Kamra, Alexandru C. Chirica, Cristian Diaconu, Jun Fang, Srinivasmurthy P. Acharya
-
Patent number: 8396831Abstract: The subject disclosure relates to a concurrency control technique that ensures isolation among concurrently execution transactions optimistically in a multiversion database by applying two optional tests at the end of a read-write transaction: validating the visibility of the read set of the read-write transaction(s) and phantom detection by re-scanning and confirming no new version have appeared in the view. Depending on desired level of isolation, both, one or none of the test are applied. Each version of a data record in an applicable database can be assigned two timestamps indicating the lifetime the version. The value of a version timestamp, though assigned, may be conditional on a transaction committing.Type: GrantFiled: December 18, 2009Date of Patent: March 12, 2013Assignee: Microsoft CorporationInventors: Per-Ake Larson, Cristian Diaconu, Michael J. Zwilling, Craig Steven Freedman