Patents Assigned to Cockroach Labs, Inc.
  • Patent number: 12579125
    Abstract: Systems and methods for controlling admission of transactional operations for execution are provided. An admission queue configured to control admission to an LSM tree can receive a plurality of work items corresponding to a plurality of tuples. The plurality of work items can be queued in the admission queue for execution based on the plurality of tuples. Indications of a capacity of the LSM tree and a size of each work item of the plurality of work items can be determined. A plurality of tokens configured to enable admission of the plurality of work items to the LSM tree can be generated based on the indications of the capacity of the LSM tree and the size of each work item. Based on the plurality of tokens, a work item of the plurality of work items can be admitted from the admission queue to the LSM tree.
    Type: Grant
    Filed: May 19, 2023
    Date of Patent: March 17, 2026
    Assignee: Cockroach Labs, Inc.
    Inventor: Sumeer Kumar Bhola
  • Patent number: 12561342
    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: Grant
    Filed: November 1, 2022
    Date of Patent: February 24, 2026
    Assignee: Cockroach Labs, Inc.
    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
  • Patent number: 12547589
    Abstract: Systems and methods for encoding block properties for data structures and filtering data structures using block properties are provided. A group of a plurality of key-value entries can be added to a data block of a data file. A block property indicative of attributes of the group of the plurality of key-value entries can be determined. The block property can be encoded in a block handle and added to an index block of the data file. A query directed to a plurality of data files can be received from a client device. A target block property included in the query can be compared to a block property corresponding to a data block of a data file of the plurality of data files. Based on the target block property intersecting with the block property of the data block, values corresponding to the data block can be sent to the client device.
    Type: Grant
    Filed: August 11, 2023
    Date of Patent: February 10, 2026
    Assignee: Cockroach Labs, Inc.
    Inventors: Sumeer Kumar Bhola, Jackson Blair Owens
  • Patent number: 12517885
    Abstract: Methods and systems for implementing ranged operations in a distributed computing system are provided. A write operation is received from a client device, wherein the write operation is configured to associate a range key and range key value with a range of key-value (KV) pairs included in a sorted key space, wherein the range corresponds to a key span of the sorted key space defined by a start boundary key and an end boundary key. A range key and range key value is written for the range based on the write operation, wherein an iterator is configured to read a respective value of a KV pair of the range and/or the range key value based on a position of the iterator within the key span.
    Type: Grant
    Filed: October 18, 2022
    Date of Patent: January 6, 2026
    Assignee: Cockroach Labs, Inc.
    Inventors: Sumeer Kumar Bhola, Jackson Blair Owens
  • Patent number: 12499127
    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: Grant
    Filed: August 4, 2023
    Date of Patent: December 16, 2025
    Assignee: Cockroach Labs, Inc.
    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: 12488000
    Abstract: Methods and systems for locality-aware query planning in a distributed computing system are provided. A query is received from a client device at a gateway node geographically located in a first database region. A plurality of query plans for execution of the query are generated at the gateway node. A first query plan of the query plans is configured to cause communication between the gateway node and a subset of computing nodes that are geographically located in a first external database region that is external to the first database region. A respective cost for each of the query plans is determined. The respective cost for the first query plan is based on an indication of a latency between the first database region and the first external database region. An optimal query plan from the query plans is determined and executed based on each respective cost for the query plans.
    Type: Grant
    Filed: December 29, 2022
    Date of Patent: December 2, 2025
    Assignee: Cockroach Labs, Inc.
    Inventors: Rebecca Taft, Mark Sirek, Andrew E. Kimball
  • Patent number: 12443588
    Abstract: Methods and systems for executing transactional schema changes at a database are provided. The method includes receiving, at a gateway node of a cluster of database nodes, a statement corresponding to a schema of a database stored by the cluster, wherein a parent transaction comprises the statement, the statement comprises a schema change operation to modify the schema, and a first version of one or more versions of a descriptor comprises the schema. The method includes generating, by the parent transaction and using one or more child transactions, a version of a synthetic descriptor comprising an updated schema with an added schema element configured to be available for the parent transaction. The method includes writing the synthetic descriptor as an updated version of the descriptor, wherein the updated version comprises the updated schema with the added schema element in a publicly available state. The method includes committing the parent transaction.
    Type: Grant
    Filed: September 15, 2021
    Date of Patent: October 14, 2025
    Assignee: Cockroach Labs, Inc.
    Inventors: Andrew J Werner, Xue Zhang
  • Patent number: 12224949
    Abstract: Methods and systems for managing requests in a distributed computing system are provided. A plurality of requests are received by one or more of the plurality of computing nodes in the distributed computing system. A respective timestamp is assigned to each of the plurality of requests. A subset of the plurality of requests are assigned to an epoch, wherein the epoch corresponds to an interval of time comprising the respective timestamp of each request of the subset of the plurality of requests. A present time is compared to a closing time of the epoch. Based on the comparison, the subset of the plurality of requests are queued for execution in a waiting data structure by last-in, first-out (LIFO) ordering based on the respective timestamp of each request of the subset.
    Type: Grant
    Filed: October 14, 2022
    Date of Patent: February 11, 2025
    Assignee: Cockroach Labs, Inc.
    Inventor: Sumeer Kumar Bhola
  • 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