Patents by Inventor Justin Levandoski

Justin Levandoski 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: 20240045845
    Abstract: A method for unstructured data analytics in data warehouses includes receiving an unstructured data query from a user, the unstructured data query requesting the data processing hardware determine one or more unstructured data files stored at a data repository that match query parameters. The method includes determining, using an object table, a set of unstructured data files stored at the data repository that matches the query parameters. The object table includes a plurality of rows, each row of the plurality of rows associated with a respective unstructured data file stored at the data repository, and a plurality of columns, each column of the plurality of columns comprising metadata associated with the respective unstructured data file of each row of the plurality of rows. The method includes returning, to the user, a structured data table including the determined set of unstructured data files.
    Type: Application
    Filed: August 6, 2022
    Publication date: February 8, 2024
    Applicant: Google LLC
    Inventors: Thibaud Baptiste Hottelier, Yuri Volobuev, Mingge Deng, Justin Levandoski, Gaurav Saxena, Deepak Choudhary Nettem, Anoop Kochummen Johnson
  • Patent number: 11874796
    Abstract: Systems and methods are disclosed to implement, in a multi-writer database system, a database engine node that optimistically sends queued purge operations to a backend storage system without waiting for acknowledgement of previous operations from the storage system. If a conflict is later detected for a particular operation, the database engine node may retry some portion of the purge operations in the queue. In embodiments, the purge operations are performed as part of a garbage collection phase of a multi-version concurrency control (MVCC) protocol, where unneeded versions of objects previously generated for isolated snapshots are deleted. In embodiments, the operations in the queue may be grouped so that a rejection of one operation in the group will cause the entire group to be retried. Because these purge operations are idempotent and directed to objects that are invisible, they may be freely retried in arbitrary order, without maintaining any rollback state.
    Type: Grant
    Filed: September 27, 2019
    Date of Patent: January 16, 2024
    Assignee: Amazon Technologies, Inc.
    Inventors: Tengiz Kharatishvili, Alexandre Olegovich Verbitski, Justin Levandoski, Niket Goel, Kamal Kunt Gupta, Xiaofeng Bao
  • Patent number: 11860869
    Abstract: Queries to a consistent view of a data set across different types of query engines are performed. Portions of a query received at a first type of query engine that can be performed at a different type of a query engine can be identified. A consistent view of a data set stored in a common data store can be provided by the first type of query engine to the second query engine. When the different type of query engine performs the portion of the query, the different type of query engine applies the consistent view of the data set. A result for the query can be returned by the first type of query engine based on results from the different type of query engine.
    Type: Grant
    Filed: June 28, 2019
    Date of Patent: January 2, 2024
    Assignee: Amazon Technologies, Inc.
    Inventors: Sangyong Hwang, Justin Levandoski, Yongsik Yoon, Kamal Kant Gupta, Saileshwar Krishnamurthy, Ippokratis Pandis, Michail Petropoulos
  • Publication number: 20230315893
    Abstract: The present disclosure provides a storage engine that unifies data warehouses and lakes, by providing uniform fine-grained access control, performance acceleration across multi-cloud storage, and open formats. It provides an application programming interface (API) for query engines spanning across data warehouse and open source runtimes to access distributed data with consistent security and governance controls. Access is evaluated at the API layer, separate from the query engine, and is uniformly enforced across query engines.
    Type: Application
    Filed: April 4, 2023
    Publication date: October 5, 2023
    Inventors: Justin Levandoski, Anoop Kochummen Johnson, Gaurav Saxena, Thibaud Hottelier, Yuri Volobuev, Garrett Casto
  • Patent number: 11379463
    Abstract: Systems and methods are disclosed to implement, in a database system, a database engine node that generates write tracking transactions to atomically enforce cross-page constraints for write operations. In embodiments, the database system may include multiple database engine nodes that optimistically perform page writes without checking for potential conflicts at a shared storage system. The storage system is configured to detect and report conflicting writes on the same page. To cause the storage system to report cross-page conflicts for a write, the database engine node creates a transaction that includes the write and a write tracker (WT) operation for a tracked page. The WT operation will cause the storage system to report any conflicting writes to the tracked page before the actual write is accepted by the storage system. If a reported conflict is not favorably resolved, the database engine node will abort the entire transaction, including the actual write.
    Type: Grant
    Filed: September 27, 2019
    Date of Patent: July 5, 2022
    Assignee: Amazon Technologies, Inc.
    Inventors: Tengiz Kharatishvili, Alexandre Olegovich Verbitski, Justin Levandoski, Niket Goel, Kamal Kant Gupta, Xiaofeng Bao, Punit Rajgaria
  • Patent number: 11366802
    Abstract: Batch processing of undo log records may be performed for rolling back a database transaction. When a rollback operation for a database transaction is performed, undo log records from an undo log to rollback the database transaction are divided into different groups of undo log records. Different requests for the different undo log records are sent to a storage system to be performed. If a conflict is detected for an undo log record in a group, an indication of the conflicting undo log record may be provided to indicate the conflict. The group of undo log records may be resent with a request to reapply the undo log records in the group. When all groups have been identified as successfully completed, then the rollback operation may be considered completed.
    Type: Grant
    Filed: September 27, 2019
    Date of Patent: June 21, 2022
    Assignee: Amazon Technologies, Inc.
    Inventors: Tengiz Kharatishvili, Alexandre Olegovich Vebitski, Justin Levandoski, Niket Goel, Xiang Peng, Kamal Kant Gupta, Xiaofeng Bao
  • 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: 11080262
    Abstract: Systems and methods are disclosed to implement, in a database system, database engine nodes that implement multi-page writes as an atomic operation. In embodiments, the database system may include multiple database engine nodes that optimistically perform page writes locally without checking for potential conflicts at a shared storage system. The storage system will detect and report conflicting writes on a single page. To ensure that a group of writes to multiple pages occur atomically, the database engine node maintains a transaction context for the group, so that if a page conflict is later detected for any write in the group, the entire group will be rolled back at the database engine node and the storage system. In embodiments, the transaction context will track subsequent writes generated by the node to any page written by the group, so that these subsequent writes are also rolled back with the group.
    Type: Grant
    Filed: September 27, 2019
    Date of Patent: August 3, 2021
    Assignee: Amazon Technologies, Inc.
    Inventors: Justin Levandoski, Niket Goel, Tengiz Kharatishvili, Alexandre Olegovich Verbitski, Kamal Kant Gupta, Xiaofeng Bao
  • 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: 10067960
    Abstract: A current state of one or more entries in a mapping table that are associated with latch-free updates of a data structure that uses indirection mapping tables is accessed. A transformation of the current state of the one or more entries in the mapping table to a transformed state of the entries in the mapping table, is controlled. The controlling includes initiating an atomic multi-word compare-and-swap (MWCAS) operation on a plurality of words using a hardware transactional memory (HTM) resident in a device processor, and the MWCAS operation is performed using hardware primitive operations of the HTM, via the device processor. A transformation of a current state of the data structure to an updated state of the data structure, is controlled, via the transformation of the current state of the one or more entries in the mapping table to the transformed state of the entries in the mapping table.
    Type: Grant
    Filed: June 4, 2015
    Date of Patent: September 4, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Justin Levandoski, Ryan Stutsman, Darko Makreshanski
  • 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: 20160357791
    Abstract: A current state of one or more entries in a mapping table that are associated with latch-free updates of a data structure that uses indirection mapping tables is accessed. A transformation of the current state of the one or more entries in the mapping table to a transformed state of the entries in the mapping table, is controlled. The controlling includes initiating an atomic multi-word compare-and-swap (MWCAS) operation on a plurality of words using a hardware transactional memory (HTM) resident in a device processor, and the MWCAS operation is performed using hardware primitive operations of the HTM, via the device processor. A transformation of a current state of the data structure to an updated state of the data structure, is controlled, via the transformation of the current state of the one or more entries in the mapping table to the transformed state of the entries in the mapping table.
    Type: Application
    Filed: June 4, 2015
    Publication date: December 8, 2016
    Inventors: Justin Levandoski, Ryan Stutsman, Darko Makreshanski
  • Patent number: 9003162
    Abstract: A request to modify an object in storage that is associated with one or more computing devices may be obtained, the storage organized based on a latch-free B-tree structure. A storage address of the object may be determined, based on accessing a mapping table that includes map indicators mapping logical object identifiers to physical storage addresses. A prepending of a first delta record to a prior object state of the object may be initiated, the first delta record indicating an object modification associated with the obtained request. Installation of a first state change associated with the object modification may be initiated via a first atomic operation on a mapping table entry that indicates the prior object state of the object. For example, the latch-free B-tree structure may include a B-tree like index structure over records as the objects, and logical page identifiers as the logical object identifiers.
    Type: Grant
    Filed: June 20, 2012
    Date of Patent: April 7, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Lomet, Justin Levandoski, Sudipta Sengupta
  • 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: 8868514
    Abstract: A distributed system with transaction support may have a transaction component and one or more data components. The transaction component may manage a transaction using a log sequence number for each operation, and then transmit operations to one or more data components with log sequence numbers. The data components may perform the data operations in an idempotent manner and return a reply. The transaction component may then write the operation, its log sequence number, and information from the reply message to its log. The transaction component is able to commit a transaction, as well as retry or undo portions of a transaction, by using the information stored on its log. This may be possible even when a single transaction uses multiple data components, which may be located on different devices or manage separate and independent data sources.
    Type: Grant
    Filed: January 7, 2011
    Date of Patent: October 21, 2014
    Assignee: Microsoft Corporation
    Inventors: David Lomet, Mohamed Mokbel, Justin Levandoski, Keliang Zhao
  • Publication number: 20130346725
    Abstract: A request to modify an object in storage that is associated with one or more computing devices may be obtained, the storage organized based on a latch-free B-tree structure. A storage address of the object may be determined, based on accessing a mapping table that includes map indicators mapping logical object identifiers to physical storage addresses. A prepending of a first delta record to a prior object state of the object may be initiated, the first delta record indicating an object modification associated with the obtained request. Installation of a first state change associated with the object modification may be initiated via a first atomic operation on a mapping table entry that indicates the prior object state of the object. For example, the latch-free B-tree structure may include a B-tree like index structure over records as the objects, and logical page identifiers as the logical object identifiers.
    Type: Application
    Filed: June 20, 2012
    Publication date: December 26, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: David Lomet, Justin Levandoski, Sudipta Sengupta
  • Publication number: 20120179645
    Abstract: A distributed system with transaction support may have a transaction component and one or more data components. The transaction component may manage a transaction using a log sequence number for each operation, and then transmit operations to one or more data components with log sequence numbers. The data components may perform the data operations in an idempotent manner and return a reply. The transaction component may then write the operation, its log sequence number, and information from the reply message to its log. The transaction component is able to commit a transaction, as well as retry or undo portions of a transaction, by using the information stored on its log. This may be possible even when a single transaction uses multiple data components, which may be located on different devices or manage separate and independent data sources.
    Type: Application
    Filed: January 7, 2011
    Publication date: July 12, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: David Lomet, Mohamed Mokbel, Justin Levandoski, Keliang Zhao