Patents by Inventor Nathan J. VanBenschoten

Nathan J. VanBenschoten 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: 20240070145
    Abstract: Methods and systems for executing non-blocking transactions at a database are provided. The method includes receiving a write transaction that is directed to a partition of a table stored by a cluster of database nodes. The method includes generating, at a database node of the cluster, a synthetic timestamp based on a first time associated with the database node and a duration, wherein the synthetic timestamp exceeds the first time by the duration. The method includes executing, based on determining the synthetic timestamp, one or more operations of the write transaction at one or more replicas of the partition. The method includes committing, based on a threshold number of acknowledgements, the one or more operations of the write transaction at the one or more replicas. The method includes sending, based on a second time exceeding the synthetic timestamp, an indication of success of the write transaction.
    Type: Application
    Filed: November 8, 2023
    Publication date: February 29, 2024
    Inventors: Nathan J. VanBenschoten, Andrei Matei, Andrew E. Kimball
  • Publication number: 20240045887
    Abstract: Systems and methods for controlling placement of replicas of data in a multi-region database are provided. A selection of a super region including at least first and second database regions can be received. A voting replica of data can be stored within the second database region based on the selection of the super region and a failure of the first database region. A selection of a secondary database region can be received. A voting replica of data can be stored within the secondary database region based on the selection of the secondary database region and a failure of a primary database region. Non-voting replicas of data can be stored in a subset of a plurality of database regions. A selection of a restricted replica placement configuration can be received. The non-voting replicas can be removed from database regions based on the selection of the restricted replica placement configuration.
    Type: Application
    Filed: August 4, 2023
    Publication date: February 8, 2024
    Inventors: Nathan J. VanBenschoten, Andrew Scott Woods, Adam J. Storm, Arul Ajmani, Rebecca Taft, Richard M. Loveland, Peyton A. Walters, Ebony Marie Brown, Oliver Tan
  • Patent number: 11860860
    Abstract: Methods and systems for executing non-blocking transactions at a database are provided. The method includes receiving a write transaction that is directed to a partition of a table stored by a cluster of database nodes. The method includes generating, at a database node of the cluster, a synthetic timestamp based on a first time associated with the database node and a duration, wherein the synthetic timestamp exceeds the first time by the duration. The method includes executing, based on determining the synthetic timestamp, one or more operations of the write transaction at one or more replicas of the partition. The method includes committing, based on a threshold number of acknowledgements, the one or more operations of the write transaction at the one or more replicas. The method includes sending, based on a second time exceeding the synthetic timestamp, an indication of success of the write transaction.
    Type: Grant
    Filed: July 9, 2021
    Date of Patent: January 2, 2024
    Assignee: Cockroach Labs, Inc.
    Inventors: Nathan J. VanBenschoten, Andrei Matei, Andrew E. Kimball
  • Publication number: 20230145054
    Abstract: Methods and systems for multi-region database configuration in a distributed computing system are disclosed. A database comprising at least three voting replicas of a partition of a table is stored by a cluster of computing nodes. The database corresponds to one or more database regions that are each indicative of a geographic location corresponding to the cluster of computing nodes. Each of the voting replicas participates in voting to commit write operations to the partition. At least three computing nodes of the cluster each store a respective voting replica of the voting replicas, where each of the computing nodes is located within one of a first, second, or third database region of the database regions. Each of the database regions that does not store one of the voting replicas stores a non-voting replica that does not participate in the voting to commit the write operations to the partition.
    Type: Application
    Filed: November 1, 2022
    Publication date: May 11, 2023
    Inventors: Nathan J. VanBenschoten, Andrew Scott Woods, Adam J. Storm, Arul Ajmani, Richard M. Loveland, Andrei Matei, Aayush Jaiprakash Shah, Rebecca Yale Taft, Oliver Tan
  • Publication number: 20230021150
    Abstract: Methods and systems for executing non-blocking transactions at a database are provided. The method includes receiving a write transaction that is directed to a partition of a table stored by a cluster of database nodes. The method includes generating, at a database node of the cluster, a synthetic timestamp based on a first time associated with the database node and a duration, wherein the synthetic timestamp exceeds the first time by the duration. The method includes executing, based on determining the synthetic timestamp, one or more operations of the write transaction at one or more replicas of the partition. The method includes committing, based on a threshold number of acknowledgements, the one or more operations of the write transaction at the one or more replicas. The method includes sending, based on a second time exceeding the synthetic timestamp, an indication of success of the write transaction.
    Type: Application
    Filed: July 9, 2021
    Publication date: January 19, 2023
    Inventors: Nathan J. VanBenschoten, Andrei Matei, Andrew E. Kimball