Patents by Inventor Marcel van der Holst
Marcel van der Holst 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: 10318648Abstract: The present invention extends to methods, systems, and computer program products for main-memory database checkpointing. Embodiments of the invention use a transaction log as an interface between online threads and a checkpoint subsystem. Using the transaction log as an interface reduces synchronization overhead between threads and the checkpoint subsystem. Transactions can be assigned to files and storage space can be reserved in a lock free manner to reduce overhead of checkpointing online transactions. Meta-data independent data files and delta files can be collapsed and merged to reduce storage overhead. Checkpoints can be updated incrementally such that changes made since the last checkpoint (and not all data) are flushed to disk. Checkpoint I/O is sequential, helping ensure higher performance of physical I/O layers. During recovery checkpoint files can be loaded into memory in parallel for multiple devices.Type: GrantFiled: November 27, 2015Date of Patent: June 11, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Cristian C. Diaconu, Ryan L. Stonecipher, Michael James Zwilling, Marcel Van Der Holst
-
Patent number: 9304998Abstract: The present invention extends to methods, systems, and computer program products for main-memory database checkpointing. Embodiments of the invention use a transaction log as an interface between online threads and a checkpoint subsystem. Using the transaction log as an interface reduces synchronization overhead between threads and the checkpoint subsystem. Transactions can be assigned to files and storage space can be reserved in a lock free manner to reduce overhead of checkpointing online transactions. Meta-data independent data files and delta files can be collapsed and merged to reduce storage overhead. Checkpoints can be updated incrementally such that changes made since the last checkpoint (and not all data) are flushed to disk. Checkpoint I/O is sequential, helping ensure higher performance of physical I/O layers. During recovery checkpoint files can be loaded into memory in parallel for multiple devices.Type: GrantFiled: December 19, 2012Date of Patent: April 5, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Cristian C. Diaconu, Ryan L. Stonecipher, Michael James Zwilling, Marcel Van Der Holst
-
Publication number: 20160078044Abstract: The present invention extends to methods, systems, and computer program products for main-memory database checkpointing. Embodiments of the invention use a transaction log as an interface between online threads and a checkpoint subsystem. Using the transaction log as an interface reduces synchronization overhead between threads and the checkpoint subsystem. Transactions can be assigned to files and storage space can be reserved in a lock free manner to reduce overhead of checkpointing online transactions. Meta-data independent data files and delta files can be collapsed and merged to reduce storage overhead. Checkpoints can be updated incrementally such that changes made since the last checkpoint (and not all data) are flushed to disk. Checkpoint I/O is sequential, helping ensure higher performance of physical I/O layers. During recovery checkpoint files can be loaded into memory in parallel for multiple devices.Type: ApplicationFiled: November 27, 2015Publication date: March 17, 2016Inventors: Cristian C. Diaconu, Ryan L. Stonecipher, Michael James Zwilling, Marcel Van Der Holst
-
Publication number: 20140172803Abstract: The present invention extends to methods, systems, and computer program products for main-memory database checkpointing. Embodiments of the invention use a transaction log as an interface between online threads and a checkpoint subsystem. Using the transaction log as an interface reduces synchronization overhead between threads and the checkpoint subsystem. Transactions can be assigned to files and storage space can be reserved in a lock free manner to reduce overhead of checkpointing online transactions. Meta-data independent data files and delta files can be collapsed and merged to reduce storage overhead. Checkpoints can be updated incrementally such that changes made since the last checkpoint (and not all data) are flushed to disk. Checkpoint I/O is sequential, helping ensure higher performance of physical I/O layers. During recovery checkpoint files can be loaded into memory in parallel for multiple devices.Type: ApplicationFiled: December 19, 2012Publication date: June 19, 2014Applicant: MICROSOFT CORPORATIONInventors: Cristian C. Diaconu, Ryan L. Stonecipher, Michael James Zwilling, Marcel Van Der Holst
-
Publication number: 20110145201Abstract: Methods, systems, and computer-readable media of database mirroring are disclosed. A particular method includes initiating a transaction that modifies one or more pages of a first database. Each page includes a structure modification operation (SMO) bit and initiating the transaction includes setting the SMO bit of each of the one or more pages to a first value. One or more first records are created at a transaction log of the first database. The transaction log is useable at a second database to mirror the transaction. Each first record indicates the setting of a SMO bit of a particular page to the first value. The database transaction is performed, and the SMO bit of each of the one or more pages is set to a second value. One or more second records are created at the transaction log, each second record indicating the setting of a SMO bit of a particular page to the second value. The method includes committing the transaction.Type: ApplicationFiled: December 11, 2009Publication date: June 16, 2011Applicant: Microsoft CorporationInventors: Marcel van der Holst, Robin D. Dhamankar, Hanumantha R. Kodavalla, Srikumar Rangarajan
-
Patent number: 7873672Abstract: Various technologies and techniques are disclosed for efficiently processing DML SQL statements through minimal logging and optimized insertions. Rows are inserted into a table in a database in a sorted order. When an insertion of a particular row into the table causes a page split and a new page created during the page split is empty, the new page is locked until an end of a transaction associated with the insertion is completed. When the page split is caused by appending monotonically increasing values at an end of the table, the sorted order will guarantee that the new page is empty. Minimal logging is performed. When the transaction associated with the insertion is completed, a forced checkpoint is performed.Type: GrantFiled: January 24, 2008Date of Patent: January 18, 2011Assignee: Microsoft CorporationInventors: Stefano Stefani, Srikumar Rangarajan, Marcel van der Holst
-
Patent number: 7676525Abstract: Disclosed are systems and methods for optimization and efficient processing of MERGE statements. MERGE allows performing a mix of inserts, updates, and deletes in a single statement, and introduces new challenges compared to legacy DML statements, where the kind of action to be performed is hard-coded and known at compile time. Such optimizations may include Halloween Protection detection for MERGE statements, optimized prevention of non-deterministic MERGE statements, in-place inserts for MERGE statements scanning the “Read Instance” of the target table, and optimized execution of MERGE statements seeking the “Read Instance” of the target table. Such optimizations may be fundamental in order to ensure proper performance and reliable processing times.Type: GrantFiled: July 2, 2007Date of Patent: March 9, 2010Assignee: Microsoft CorporationInventors: Stefano Stefani, Naveen Prakash, Craig S. Freedman, Marcel van der Holst
-
Publication number: 20090193060Abstract: Various technologies and techniques are disclosed for efficiently processing DML SQL statements through minimal logging and optimized insertions. Rows are inserted into a table in a database in a sorted order. When an insertion of a particular row into the table causes a page split and a new page created during the page split is empty, the new page is locked until an end of a transaction associated with the insertion is completed. When the page split is caused by appending monotonically increasing values at an end of the table, the sorted order will guarantee that the new page is empty. Minimal logging is performed. When the transaction associated with the insertion is completed, a forced checkpoint is performed.Type: ApplicationFiled: January 24, 2008Publication date: July 30, 2009Applicant: MICROSOFT CORPORATIONInventors: Stefano Stefani, Srikumar Rangarajan, Marcel van der Holst
-
Publication number: 20090012980Abstract: Disclosed are systems and methods for optimization and efficient processing of MERGE statements. MERGE allows performing a mix of inserts, updates, and deletes in a single statement, and introduces new challenges compared to legacy DML statements, where the kind of action to be performed is hard-coded and known at compile time. Such optimizations may include Halloween Protection detection for MERGE statements, optimized prevention of non-deterministic MERGE statements, in-place inserts for MERGE statements scanning the “Read Instance” of the target table, and optimized execution of MERGE statements seeking the “Read Instance” of the target table. Such optimizations may be fundamental in order to ensure proper performance and reliable processing times.Type: ApplicationFiled: July 2, 2007Publication date: January 8, 2009Applicant: Microsoft CorporationInventors: Stefano Stefani, Naveen Prakash, Craig S. Freedman, Marcel van der Holst