Patents by Inventor David B. Lomet
David B. Lomet 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: 11210220Abstract: A data manager may include a data opaque interface configured to provide, to an arbitrarily selected page-oriented access method, interface access to page data storage that includes latch-free access to the page data storage. In another aspect, a swap operation may be initiated, of a portion of a first page in cache layer storage to a location in secondary storage, based on initiating a prepending of a partial swap delta record to a page state associated with the first page, the partial swap delta record including a main memory address indicating a storage location of a flush delta record that indicates a location in secondary storage of a missing part of the first page. In another aspect, a page manager may initiate a flush operation of a first page in cache layer storage to a location in secondary storage, based on atomic operations with flush delta records.Type: GrantFiled: December 19, 2018Date of Patent: December 28, 2021Assignee: Microsoft Technology Licensing, LLCInventors: David B. Lomet, Justin Levandoski, Sudipta Sengupta
-
Patent number: 10936591Abstract: Systems and methods are described that facilitate idempotent execution of commands generated by a client for execution by a database server. Each command transmitted to the server includes a command ID generated by the client. The server attempts to execute each command and subsequently stores the command ID associated therewith in a repository along with an indication of whether the command executed successfully. When a new command is received by the server, it determines if the command ID associated therewith has already been stored in the repository. If the command ID associated with the new command has not already been stored in the repository, then the server executes the new command. If the command ID associated with the new command has already been stored in the repository and a previously-received command associated with the command ID has been executed successfully, then the server will not execute the new command.Type: GrantFiled: May 15, 2012Date of Patent: March 2, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Matthew A. Neerincx, Luiz F. Santos, Oleg Ignat, David B. Lomet, Quetzalcoatl Bradley, Raghu Ram, Peter Gvozdjak, Balendran Mugundan
-
Publication number: 20190146917Abstract: A data manager may include a data opaque interface configured to provide, to an arbitrarily selected page-oriented access method, interface access to page data storage that includes latch-free access to the page data storage. In another aspect, a swap operation may be initiated, of a portion of a first page in cache layer storage to a location in secondary storage, based on initiating a prepending of a partial swap delta record to a page state associated with the first page, the partial swap delta record including a main memory address indicating a storage location of a flush delta record that indicates a location in secondary storage of a missing part of the first page. In another aspect, a page manager may initiate a flush operation of a first page in cache layer storage to a location in secondary storage, based on atomic operations with flush delta records.Type: ApplicationFiled: December 19, 2018Publication date: May 16, 2019Applicant: Microsoft Technology Licensing, LLCInventors: David B. Lomet, Justin Levandoski, Sudipta Sengupta
-
Patent number: 10216629Abstract: A data manager may include a data opaque interface configured to provide, to an arbitrarily selected page-oriented access method, interface access to page data storage that includes latch-free access to the page data storage. In another aspect, a swap operation may be initiated, of a portion of a first page in cache layer storage to a location in secondary storage, based on initiating a prepending of a partial swap delta record to a page state associated with the first page, the partial swap delta record including a main memory address indicating a storage location of a flush delta record that indicates a location in secondary storage of a missing part of the first page. In another aspect, a page manager may initiate a flush operation of a first page in cache layer storage to a location in secondary storage, based on atomic operations with flush delta records.Type: GrantFiled: December 7, 2016Date of Patent: February 26, 2019Assignee: Microsoft Technology Licensing, LLCInventors: David B. Lomet, Justin Levandoski, Sudipta Sengupta
-
Patent number: 9921903Abstract: A database server includes logic that is operable to monitor and analyze at least events occurring within an environment of the database server and/or execution errors generated by the database server in order to detect whether a problem condition exists. The database server further includes logic that is operable to send one or more commands to a database driver of a client that is communicatively connected to the database server, the one or more commands specifying one or more actions to be taken by the database driver in response to the existence of the problem condition. The database driver includes logic that is operable to receive the one or more commands from the database server and logic that is operable to cause the one or more commands to be executed.Type: GrantFiled: December 17, 2015Date of Patent: March 20, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Matthew A. Neerincx, Luiz F. Santos, Oleg Ignat, David B. Lomet, Quetzalcoatl Bradley, Raghu Ram, Chadwin J. Mumford, Peter Gvozdjak, Balendran Mugundan
-
Publication number: 20170199818Abstract: A data manager may include a data opaque interface configured to provide, to an arbitrarily selected page-oriented access method, interface access to page data storage that includes latch-free access to the page data storage. In another aspect, a swap operation may be initiated, of a portion of a first page in cache layer storage to a location in secondary storage, based on initiating a prepending of a partial swap delta record to a page state associated with the first page, the partial swap delta record including a main memory address indicating a storage location of a flush delta record that indicates a location in secondary storage of a missing part of the first page. In another aspect, a page manager may initiate a flush operation of a first page in cache layer storage to a location in secondary storage, based on atomic operations with flush delta records.Type: ApplicationFiled: December 7, 2016Publication date: July 13, 2017Applicant: Microsoft Technology Licensing, LLCInventors: David B. Lomet, Justin Levandoski, Sudipta Sengupta
-
Patent number: 9519591Abstract: A data manager may include a data opaque interface configured to provide, to an arbitrarily selected page-oriented access method, interface access to page data storage that includes latch-free access to the page data storage. In another aspect, a swap operation may be initiated, of a portion of a first page in cache layer storage to a location in secondary storage, based on initiating a prepending of a partial swap delta record to a page state associated with the first page, the partial swap delta record including a main memory address indicating a storage location of a flush delta record that indicates a location in secondary storage of a missing part of the first page. In another aspect, a page manager may initiate a flush operation of a first page in cache layer storage to a location in secondary storage, based on atomic operations with flush delta records.Type: GrantFiled: June 22, 2013Date of Patent: December 13, 2016Assignee: Microsoft Technology Licensing, LLCInventors: David B. Lomet, Justin Levandoski, Sudipta Sengupta
-
Publication number: 20160103731Abstract: A database server includes logic that is operable to monitor and analyze at least events occurring within an environment of the database server and/or execution errors generated by the database server in order to detect whether a problem condition exists. The database server further includes logic that is operable to send one or more commands to a database driver of a client that is communicatively connected to the database server, the one or more commands specifying one or more actions to be taken by the database driver in response to the existence of the problem condition. The database driver includes logic that is operable to receive the one or more commands from the database server and logic that is operable to cause the one or more commands to be executed.Type: ApplicationFiled: December 17, 2015Publication date: April 14, 2016Inventors: Matthew A. Neerincx, Luiz F. Santos, Oleg Ignat, David B. Lomet, Quetzalcoatl Bradley, Raghu Ram, Chadwin J. Mumford, Peter Gvozdjak, Balendran Mugundan
-
Patent number: 9239868Abstract: Systems and methods are described that establish and maintain a virtual session between a client and one or more database servers. A database server establishes a first session with a client wherein establishing the virtual session with the client comprises associating a virtual session identifier (ID) with the first session, generates state information in association with the first session, and stores the state information in a repository in association with the virtual session ID. After the first session fails, a same or different database server establishes a second session with the client wherein establishing the second session with the client comprises receiving the virtual session ID from the client, accesses the state information that was stored in the repository in association with the virtual session ID, and associates the state information with the second session.Type: GrantFiled: June 19, 2012Date of Patent: January 19, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Matthew A. Neerincx, Luiz F. Santos, Oleg Ignat, David B. Lomet, Quetzalcoatl Bradley, Raghu Ram, Chadwin J. Mumford, Peter Gvozdjak, Balendran Mugundan
-
Patent number: 9235464Abstract: A database server includes logic that is operable to monitor and analyze at least events occurring within an environment of the database server and/or execution errors generated by the database server in order to detect whether a problem condition exists. The database server further includes logic that is operable to send one or more commands to a database driver of a client that is communicatively connected to the database server, the one or more commands specifying one or more actions to be taken by the database driver in response to the existence of the problem condition. The database driver includes logic that is operable to receive the one or more commands from the database server and logic that is operable to cause the one or more commands to be executed.Type: GrantFiled: October 16, 2012Date of Patent: January 12, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Matthew A. Neerincx, Luiz F. Santos, Oleg Ignat, David B. Lomet, Quetzalcoatl Bradley, Raghu Ram, Chadwin J. Mumford, Peter Gvozdjak, Balendran Mugundan
-
Publication number: 20140379991Abstract: A data manager may include a data opaque interface configured to provide, to an arbitrarily selected page-oriented access method, interface access to page data storage that includes latch-free access to the page data storage. In another aspect, a swap operation may be initiated, of a portion of a first page in cache layer storage to a location in secondary storage, based on initiating a prepending of a partial swap delta record to a page state associated with the first page, the partial swap delta record including a main memory address indicating a storage location of a flush delta record that indicates a location in secondary storage of a missing part of the first page. In another aspect, a page manager may initiate a flush operation of a first page in cache layer storage to a location in secondary storage, based on atomic operations with flush delta records.Type: ApplicationFiled: June 22, 2013Publication date: December 25, 2014Inventors: David B. Lomet, Justin Levandoski, Sudipta Sengupta
-
Patent number: 8850007Abstract: A method and system for increasing server cluster availability by requiring at a minimum only one node and a quorum replica set of replica members to form and operate a cluster. Replica members maintain cluster operational data. A cluster operates when one node possesses a majority of replica members, which ensures that any new or surviving cluster includes consistent cluster operational data via at least one replica member from the immediately prior cluster. Arbitration provides exclusive ownership by one node of the replica members, including at cluster formation, and when the owning node fails. Arbitration uses a fast mutual exclusion algorithm and a reservation mechanism to challenge for and defend the exclusive reservation of each member. A quorum replica set algorithm brings members online and offline with data consistency, including updating unreconciled replica members, and ensures consistent read and update operations.Type: GrantFiled: June 8, 2011Date of Patent: September 30, 2014Assignee: Microsoft CorporationInventors: Michael T. Massa, David A. Dion, Rajsekhar Das, Rushabh A. Doshi, David B. Lomet, Gor N. Nishanov, Philip A. Bernstein, Rod N. Gamache, Rohit Jain, Sunita Shrivastava
-
Patent number: 8850018Abstract: A method and system for increasing server cluster availability by requiring at a minimum only one node and a quorum replica set of replica members to form and operate a cluster. Replica members maintain cluster operational data. A cluster operates when one node possesses a majority of replica members, which ensures that any new or surviving cluster includes consistent cluster operational data via at least one replica member from the immediately prior cluster. Arbitration provides exclusive ownership by one node of the replica members, including at cluster formation, and when the owning node fails. Arbitration uses a fast mutual exclusion algorithm and a reservation mechanism to challenge for and defend the exclusive reservation of each member. A quorum replica set algorithm brings members online and offline with data consistency, including updating unreconciled replica members, and ensures consistent read and update operations.Type: GrantFiled: June 8, 2011Date of Patent: September 30, 2014Assignee: Microsoft CorporationInventors: Michael T. Massa, David A. Dion, Rajsekhar Das, Rushabh A. Doshi, David B. Lomet, Gor N. Nishanov, Philip A. Bernstein, Rod N. Gamache, Rohit Jain, Sunita Shrivastava
-
Publication number: 20140108868Abstract: A database server includes logic that is operable to monitor and analyze at least events occurring within an environment of the database server and/or execution errors generated by the database server in order to detect whether a problem condition exists. The database server further includes logic that is operable to send one or more commands to a database driver of a client that is communicatively connected to the database server, the one or more commands specifying one or more actions to be taken by the database driver in response to the existence of the problem condition. The database driver includes logic that is operable to receive the one or more commands from the database server and logic that is operable to cause the one or more commands to be executed.Type: ApplicationFiled: October 16, 2012Publication date: April 17, 2014Applicant: MICROSOFT CORPORATIONInventors: Matthew A. Neerincx, Luiz F. Santos, Oleg Ignat, David B. Lomet, Quetzalcoatl Bradley, Raghu Ram, Chadwin J. Mumford, Peter Gvozdjak, Balendran Mugundan
-
Publication number: 20130339533Abstract: Systems and methods are described that establish and maintain a virtual session between a client and one or more database servers. A database server establishes a first session with a client wherein establishing the virtual session with the client comprises associating a virtual session identifier (ID) with the first session, generates state information in association with the first session, and stores the state information in a repository in association with the virtual session ID. After the first session fails, a same or different database server establishes a second session with the client wherein establishing the second session with the client comprises receiving the virtual session ID from the client, accesses the state information that was stored in the repository in association with the virtual session ID, and associates the state information with the second session.Type: ApplicationFiled: June 19, 2012Publication date: December 19, 2013Applicant: MICROSOFT CORPORATIONInventors: Matthew A. Neerincx, Luiz F. Santos, Oleg Ignat, David B. Lomet, Quetzalcoatl Bradley, Raghu Ram, Chadwin J. Mumford, Peter Gvozdjak, Balendran Mugundan
-
Publication number: 20130311525Abstract: Systems and methods are described that facilitate idempotent execution of commands generated by a client for execution by a database server. Each command transmitted to the server includes a command ID generated by the client. The server attempts to execute each command and subsequently stores the command ID associated therewith in a repository along with an indication of whether the command executed successfully. When a new command is received by the server, it determines if the command ID associated therewith has already been stored in the repository. If the command ID associated with the new command has not already been stored in the repository, then the server executes the new command. If the command ID associated with the new command has already been stored in the repository and a previously-received command associated with the command ID has been executed successfully, then the server will not execute the new command.Type: ApplicationFiled: May 15, 2012Publication date: November 21, 2013Applicant: MICROSOFT CORPORATIONInventors: Matthew A. Neerincx, Luiz F. Santos, Oleg Ignat, David B. Lomet, Quetzalcoatl Bradley, Raghu Ram, Peter Gvozdjak, Balendran Mugundan
-
Patent number: 8386440Abstract: The subject invention pertains to data store corruption recovery. More specifically, the invention concerns systems and methods for identifying corrupt data in a manner that prevents de-committing or removal of valid or consistent transactions from a database. This can be accomplished at least in part by logging the identities of data items that a transaction reads. Furthermore, the subject invention provides for employment of a multi-version (or transaction-time) database to reduce significantly reduce any down time or database unavailability caused by a corrupt transaction and associated corrupt data items. Accordingly, no backups need to be installed and only updates by the original corrupt transaction and transactions that read corrupt data need to be de-committed or removed.Type: GrantFiled: May 10, 2005Date of Patent: February 26, 2013Assignee: Microsoft CorporationInventors: David B. Lomet, Roger S. Barga
-
Publication number: 20110302143Abstract: Multiple versions of a set of data objects can be maintained to allow concurrent conflicting access to the objects. Additionally, a range of acceptable timestamps for each transaction in a set of database transactions can be tracked. Conflicting access requests for an object in the set of objects can be detected, and the requests can be made by two or more conflicting transactions in the set of transactions. A range of acceptable timestamps for at least one of the conflicting transactions can be adjusted, such that an order of transaction timestamps can be maintained in accordance with a specified transaction isolation level. Such timestamp range adjustment can frequently permit conflicting read and write accesses to proceed concurrently. When concurrent access cannot be allowed while maintaining such an order of transaction timestamps, in many cases one of the conflicting accesses can be blocked instead of aborting one of the transactions.Type: ApplicationFiled: June 2, 2010Publication date: December 8, 2011Applicant: Microsoft CorporationInventor: David B. Lomet
-
Publication number: 20110238842Abstract: A method and system for increasing server cluster availability by requiring at a minimum only one node and a quorum replica set of replica members to form and operate a cluster. Replica members maintain cluster operational data. A cluster operates when one node possesses a majority of replica members, which ensures that any new or surviving cluster includes consistent cluster operational data via at least one replica member from the immediately prior cluster. Arbitration provides exclusive ownership by one node of the replica members, including at cluster formation, and when the owning node fails. Arbitration uses a fast mutual exclusion algorithm and a reservation mechanism to challenge for and defend the exclusive reservation of each member. A quorum replica set algorithm brings members online and offline with data consistency, including updating unreconciled replica members, and ensures consistent read and update operations.Type: ApplicationFiled: June 8, 2011Publication date: September 29, 2011Applicant: Microsoft CorporationInventors: Michael T. Massa, David A. Dion, Rajsekhar Das, Rushabh A. Doshi, David B. Lomet, Gor N. Nishanov, Philip A. Bernstein, Rod N. Gamache, Rohit Jain, Sunita Shrivastava
-
Publication number: 20110238813Abstract: A method and system for increasing server cluster availability by requiring at a minimum only one node and a quorum replica set of replica members to form and operate a cluster. Replica members maintain cluster operational data. A cluster operates when one node possesses a majority of replica members, which ensures that any new or surviving cluster includes consistent cluster operational data via at least one replica member from the immediately prior cluster. Arbitration provides exclusive ownership by one node of the replica members, including at cluster formation, and when the owning node fails. Arbitration uses a fast mutual exclusion algorithm and a reservation mechanism to challenge for and defend the exclusive reservation of each member. A quorum replica set algorithm brings members online and offline with data consistency, including updating unreconciled replica members, and ensures consistent read and update operations.Type: ApplicationFiled: June 8, 2011Publication date: September 29, 2011Applicant: Microsoft CorporationInventors: MICHAEL T. MASSA, David A. Dion, Rajsekhar Das, Rushabh A. Doshi, David B. Lomet, Gor N. Nishanov, Philip A. Bernstein, Rod N. Gamache, Rohit Jain, Sunita Shrivastava