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: 11210220
    Abstract: 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: Grant
    Filed: December 19, 2018
    Date of Patent: December 28, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David B. Lomet, Justin Levandoski, Sudipta Sengupta
  • Patent number: 10936591
    Abstract: 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: Grant
    Filed: May 15, 2012
    Date of Patent: March 2, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Matthew A. Neerincx, Luiz F. Santos, Oleg Ignat, David B. Lomet, Quetzalcoatl Bradley, Raghu Ram, Peter Gvozdjak, Balendran Mugundan
  • Publication number: 20190146917
    Abstract: 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: Application
    Filed: December 19, 2018
    Publication date: May 16, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: David B. Lomet, Justin Levandoski, Sudipta Sengupta
  • Patent number: 10216629
    Abstract: 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: Grant
    Filed: December 7, 2016
    Date of Patent: February 26, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David B. Lomet, Justin Levandoski, Sudipta Sengupta
  • Patent number: 9921903
    Abstract: 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: Grant
    Filed: December 17, 2015
    Date of Patent: March 20, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Matthew A. Neerincx, Luiz F. Santos, Oleg Ignat, David B. Lomet, Quetzalcoatl Bradley, Raghu Ram, Chadwin J. Mumford, Peter Gvozdjak, Balendran Mugundan
  • Publication number: 20170199818
    Abstract: 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: Application
    Filed: December 7, 2016
    Publication date: July 13, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: David B. Lomet, Justin Levandoski, Sudipta Sengupta
  • Patent number: 9519591
    Abstract: 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: Grant
    Filed: June 22, 2013
    Date of Patent: December 13, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David B. Lomet, Justin Levandoski, Sudipta Sengupta
  • Publication number: 20160103731
    Abstract: 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: Application
    Filed: December 17, 2015
    Publication date: April 14, 2016
    Inventors: Matthew A. Neerincx, Luiz F. Santos, Oleg Ignat, David B. Lomet, Quetzalcoatl Bradley, Raghu Ram, Chadwin J. Mumford, Peter Gvozdjak, Balendran Mugundan
  • Patent number: 9239868
    Abstract: 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: Grant
    Filed: June 19, 2012
    Date of Patent: January 19, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Matthew A. Neerincx, Luiz F. Santos, Oleg Ignat, David B. Lomet, Quetzalcoatl Bradley, Raghu Ram, Chadwin J. Mumford, Peter Gvozdjak, Balendran Mugundan
  • Patent number: 9235464
    Abstract: 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: Grant
    Filed: October 16, 2012
    Date of Patent: January 12, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Matthew A. Neerincx, Luiz F. Santos, Oleg Ignat, David B. Lomet, Quetzalcoatl Bradley, Raghu Ram, Chadwin J. Mumford, Peter Gvozdjak, Balendran Mugundan
  • Publication number: 20140379991
    Abstract: 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: Application
    Filed: June 22, 2013
    Publication date: December 25, 2014
    Inventors: David B. Lomet, Justin Levandoski, Sudipta Sengupta
  • Patent number: 8850007
    Abstract: 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: Grant
    Filed: June 8, 2011
    Date of Patent: September 30, 2014
    Assignee: Microsoft Corporation
    Inventors: 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: 8850018
    Abstract: 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: Grant
    Filed: June 8, 2011
    Date of Patent: September 30, 2014
    Assignee: Microsoft Corporation
    Inventors: 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: 20140108868
    Abstract: 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: Application
    Filed: October 16, 2012
    Publication date: April 17, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Matthew A. Neerincx, Luiz F. Santos, Oleg Ignat, David B. Lomet, Quetzalcoatl Bradley, Raghu Ram, Chadwin J. Mumford, Peter Gvozdjak, Balendran Mugundan
  • Publication number: 20130339533
    Abstract: 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: Application
    Filed: June 19, 2012
    Publication date: December 19, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Matthew A. Neerincx, Luiz F. Santos, Oleg Ignat, David B. Lomet, Quetzalcoatl Bradley, Raghu Ram, Chadwin J. Mumford, Peter Gvozdjak, Balendran Mugundan
  • Publication number: 20130311525
    Abstract: 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: Application
    Filed: May 15, 2012
    Publication date: November 21, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Matthew A. Neerincx, Luiz F. Santos, Oleg Ignat, David B. Lomet, Quetzalcoatl Bradley, Raghu Ram, Peter Gvozdjak, Balendran Mugundan
  • Patent number: 8386440
    Abstract: 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: Grant
    Filed: May 10, 2005
    Date of Patent: February 26, 2013
    Assignee: Microsoft Corporation
    Inventors: David B. Lomet, Roger S. Barga
  • Publication number: 20110302143
    Abstract: 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: Application
    Filed: June 2, 2010
    Publication date: December 8, 2011
    Applicant: Microsoft Corporation
    Inventor: David B. Lomet
  • Publication number: 20110238842
    Abstract: 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: Application
    Filed: June 8, 2011
    Publication date: September 29, 2011
    Applicant: Microsoft Corporation
    Inventors: 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: 20110238813
    Abstract: 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: Application
    Filed: June 8, 2011
    Publication date: September 29, 2011
    Applicant: Microsoft Corporation
    Inventors: 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