IP Library › Granted Patent US 12,499,106
Granted Patent B2
US 12,499,106 · App. 18/591,615 · Granted Dec 16, 2025

Concurrency control protocol for local database systems

Inventors: Erez Webman (Petach Tikva, IL); Irit Yadin-Lempel (Caesarea, IL)
Assignee: Regatta Data Ltd.
G06F16/2379G06F16/2315G06F16/2336
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,499,106
App. No.
18/591,615
Granted
Dec 16, 2025
Kind
B2
Abstract

A database system implementing a concurrency control protocol is provided. The database system includes a node connected through a network to a client; the node comprises: a storage for storing a plurality of data cells; one or more processors; and a memory, the memory containing instructions that, when executed by the one or more processors, configure the node to: receive at least one non-commit statement that is part of a transaction; execute locally tasks included in each of the at least one received statement in an optimistic manner allowing statements of other transactions to independently access same data cells in the database system being modified by tasks of the at least one received statement; and return the client an acknowledgment that the transaction is committed, the acknowledgment is returned upon validation of the transaction, wherein the transaction is validated in a pessimistic manner.

Claims (38)

1 . A local database system, comprising:

a single node connected through a network to a client, wherein the local database system operates with the node as a non-distributed arrangement; wherein the node comprises:

a storage for storing a plurality of data cells;

one or more processors embedded within the node; and

a memory, the memory containing instructions that, when executed by the one or more processors, configure the node to:

receive at least one non-commit statement that is part of a transaction, wherein the transaction is initiated by the client to be executed on a database system;

execute tasks included in each of the at least one received statement in an optimistic manner allowing statements of other transactions to independently access same data cells in the database system being modified by tasks of the at least one received statement, wherein a task is a read operation, and the node is configured to:

receive a pointer to a data cell in the storage to be read;

add the data cell to a read vector;

determine whether there is at least one write operation dependent on the read operation, wherein a dependent write operation is executed by a transaction different from the transaction initiated by the client; and

for each dependent write operation having a commit pause placed on the data cell to be read, waiting for the commit pause to be released; and

return the client an acknowledgment that the transaction is committed, wherein the acknowledgment is returned upon validation of the transaction, wherein the transaction is validated in a pessimistic manner.

2 . The system of claim 1 , wherein the one or more processors are further configured to:

instantiate one agent configured to read operations and write operations commanded by the execution of the tasks; and

instantiate a transaction manager configured to manage the execution of an entire transaction over the node.

3 . The system of claim 2 , wherein the transaction manager is instantiated for each received transaction.

4 . The system of claim 2 , wherein the one or more processors are further configured to:

determine, by the transaction manager, whether the at least one received statement is a commit statement.

5 . The system of claim 2 , wherein validation of a transaction in a pessimistic manner includes waiting for other transactions to commit.

6 . The system of claim 2 , wherein the transaction includes a collection of statements, each of the least one statement causes the execution of one or more tasks.

7 . The system of claim 2 , wherein the one or more processors are further configured to:

place, by the agent, a dependency between a dependent transaction performing a write operation and the transaction requesting the read operation when there is no commit pause placed on the data cell to be read.

8 . The system of claim 7 , wherein the one or more processors are further configured to:

read contents of the data cell when there are no dependent write operations, wherein a dependency between the read operation and write operation and a commit pause are released over time.

9 . The system of claim 2 , wherein the one or more processors, when the task is a write operation, and the one or more processors are configured to:

receive, by the agent, a pointer to a data cell to write data;

add the data cell to a write vector of the transaction; and

write new contents to the data cell in an uncommitted manner, thereby allowing original contents of the data cell and the new contents to co-reside.

10 . The system of claim 2 , wherein the one or more processors are further configured to:

cause, by the agent, a validation of each write operation performed during execution of the received transaction.

11 . The system of claim 10 , wherein the one or more processors are further configured to:

place a commit pause on any data cell modified by each of the write operation;

scan a write vector of the transaction to identify data cells modified by each of the write operations;

for each identified data cells, identify conflicting read operations, wherein a conflicting read operation is a read operation of a transaction different from the transaction; and

place a dependency between the transaction and a transaction executing the conflicting read operation.

12 . The system of claim 11 , wherein the one or more processors are further configured to:

wait until dependencies between the transaction and conflicting read operation are released; and

return a validation acknowledgement.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2024
From: WEBMAN, EREZ; YADIN-LEMPEL, IRIT
To: REGATTA DATA LTD.
Reel/Frame 068545/0911 →
Continuity (2)
Provisional Application 63489481 · Mar 10, 2023
Related Publication 20240303231A1 · Sep 12, 2024
References Cited (36)
US 5263155A · Wang · 1993 [cited by examiner]
US 5504900A · Raz · 1996 [cited by applicant]
US 8555016B2 · Adl-Tabatabai · 2013 [cited by examiner]
US 10883070B2 · Shcherbakov et al. · 2021 [cited by applicant]
US 20020138483A1 · Bretl et al. · 2002 [cited by applicant]
US 20020138489A1 · Trivedi et al. · 2002 [cited by applicant]
US 20030236786A1 · Shi et al. · 2003 [cited by applicant]
US 20040078379A1 · Hinshaw et al. · 2004 [cited by applicant]
US 20110041006A1 · Fowler · 2011 [cited by applicant]
US 20140164340A1 · Labuda et al. · 2014 [cited by applicant]
US 20150269185A1 · Fang · 2015 [cited by applicant]
US 20150347546A1 · Pathak · 2015 [cited by examiner]
US 20160196295A1 · Bhattacharjee et al. · 2016 [cited by applicant]
US 20160306709A1 · Shaull · 2016 [cited by applicant]
US 20160371318A1 · Hillel · 2016 [cited by examiner]
US 20190179930A1 · Vandiver et al. · 2019 [cited by applicant]
US 20200004736A1 · Liu · 2020 [cited by examiner]
US 20200026746A1 · Tu et al. · 2020 [cited by applicant]
US 20220067029A1 · Murthy et al. · 2022 [cited by applicant]
US 20220413852A1 · Williams · 2022 [cited by applicant]
US 20230315718A1 · Murthy et al. · 2023 [cited by applicant]
CN 114253920A · 2022 [cited by examiner]
CN 114443672A · 2022 [cited by applicant]
CN 114722121A · 2022 [cited by applicant]
EP 3320452B1 · 2021 [cited by applicant]
International Search Report; PCT/IB2023/056586, Israel Patent Office, Jerusalem. Jul. 31, 2023. [cited by applicant]
Written Opinion of the International Searching Authority; PCT/IB2023/056585, Israel Patent Office, Jerusalem. Jul. 31, 2023. [cited by applicant]
International Search Report for PCT/IB2024/061254, dated Jan. 30, 2025. Searching Authority, Israel Patent Office, Jerusalem, Israel. [cited by applicant]
International Search Report for PCT/IB2024/061369, dated Feb. 6, 2025. Searching Authority, Israel Patent Office, Jerusalem, Israel. [cited by applicant]
International Search Report for PCT/IB2024/061437, dated Jan. 29, 2025. Searching Authority, Israel Patent Office, Jerusalem, Israel. [cited by applicant]
Written Opinion of the Searching Authority for PCT/IB2024/061254, dated Jan. 30, 2025. Searching Authority, Israel Patent Office, Jerusalem, Israel. [cited by applicant]
Written Opinion of the Searching Authority for PCT/IB2024/061369, dated Feb. 6, 2025. Searching Authority, Israel Patent Office, Jerusalem, Israel. [cited by applicant]
Written Opinion of the Searching Authority for PCT/IB2024/061437, dated Jan. 29, 2025. Searching Authority, Israel Patent Office, Jerusalem, Israel. [cited by applicant]
Dashti, M., John, S. B., Shaikhha, A., & Koch, C. (2016). Repairing conflicts among MVCC transactions. arXiv preprint arXiv:1603.00542. Dec. 31, 2016 (Dec. 31, 2016). [cited by applicant]
International Search Report for PCT/IB2024/061250, dated Apr. 24, 2025. Searching Authority, Israel Patent Office, Jerusalem, Israel. [cited by applicant]
Written Opinion of the Searching Authority for PCT/IB2024/061250, dated Apr. 24, 2025. Searching Authority, Israel Patent Office, Jerusalem, Israel. [cited by applicant]