Client-driven commit of distributed write transactions in a database environment

US2021209092A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2021209092-A1
Application numberUS-202117150868-A
CountryUS
Kind codeA1
Filing dateJan 15, 2021
Priority dateJun 1, 2017
Publication dateJul 8, 2021
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Technologies are described for facilitating transaction processing in a distributed database environment. A database client sends database operations to a slave node, which mediates execution of the transaction. A connection between the database client and the slave node is associated with an identifier, and the transaction has an identifier. The database client sends a commit request to a master node over a network connection between the master node and the database client. The commit request includes the transaction identifier. The commit request can also include an indication of database nodes executing operations in the transaction.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method, implemented in a computing environment comprising a computing system implementing a coordinator node, the coordinator node in communication with a database client and at least first and second worker nodes, the computing system comprising at least one hardware processor and at least one memory coupled to the at least one hardware processor, the method comprising, by the coordinator node: receiving a commit request from the database client, the commit request comprising a transaction identifier associated with a connection between the first worker node and the database client and a transaction having its execution mediated by the first worker node; sending precommit requests to the first and second worker nodes; marking the transaction as committed; and sending commit requests to the first and second worker nodes. 2 . The method of claim 1 , wherein the transaction does not include a write operation executed by the coordinator node. 3 . The method of claim 1 , wherein the commit request received from the database client further comprises a list of worker nodes involved in the transaction and precommit and commit requests are sent to nodes in the list. 4 . The method of claim 3 , further comprising: calculating a checksum of the list; comparing the checksum with a reference value; and determining that the checksum matches the reference value. 5 . The method of claim 1 , further comprising: receiving a notification that the transaction includes a write operation at the first worker node or the second worker node, when the notification is received before the write operation has completed. 6 . The method of claim 5 , wherein the notification that the transaction includes a write operation at the first worker node or the second worker node is received from the database client. 7 . The method of claim 5 , wherein the notification that the transaction includes a write operation at the first worker node or the second worker node is received from the first worker node. 8 . A computing system that implements a coordinator node, the coordinator node in communication with a database client and at least first and second worker nodes, the computing system comprising: at least one hardware processor; at least one memory coupled to the at least one hardware processor; and one or more computer-readable storage media storing instructions that, when executed, cause the computing system to perform operations comprising: receiving a commit request from the database client, the commit request comprising a transaction identifier associated with a connection between the first worker node and the database client and a transaction having its execution mediated by the first worker node; sending precommit requests to the first and second worker nodes; marking the transaction as committed; and sending commit requests to the first and second worker nodes. 9 . The computing system of claim 8 , wherein the transaction does not include a write operation executed by the coordinator node. 10 . The computing system of claim 8 , wherein the commit request received from the database client further comprises a list of worker nodes involved in the transaction and precommit and commit requests are sent to nodes in the list. 11 . The computing system of claim 10 , the operations further comprising: calculating a checksum of the list; comparing the checksum with a reference value; and determining that the checksum matches the reference value. 12 . The computing system of claim 8 , the operations further comprising: receiving a notification that the transaction includes a write operation at the first worker node or the second worker node, when the notification is received before the write operation has completed. 13 . The computing system of claim 12 , wherein the notification that the transaction includes a write operation at the first worker node or the second worker node is received from the database client. 14 . The computing system of claim 12 , wherein the notification that the transaction includes a write operation at the first worker node or the second worker node is received from the first worker node. 15 . One or more computer readable storage media comprising: computer-executable instructions that, when executed by a computing system implementing a database client, the database client being in communication with a master node and one or more slave nodes in a distributed database environment, the computing system comprising at least one hardware processor and at least one memory coupled to the at least one hardware processor, cause the computing system to establish a network connection with a first slave node of the one or more slave nodes; computer-executable instructions that, when executed by the computing system, cause the computing system to send a database operation for a transaction to be executed to the first slave node; computer-executable instructions that, when executed by the computing system, cause the computing system to generate a commit request for the transaction and to be sent to the distributed database system for execution to initiate a commit process for the transaction; and computer-executable instructions that, when executed by the computing system, cause the computing system to send the commit request for the transaction to the master node over a network connection between the database client and the master node. 16 . The one or more computer readable storage media of claim 15 , wherein the commit request comprises a list of nodes involved the transaction. 17 . The one or more computer readable storage media of claim 15 , wherein the commit request comprises information from which the master node can determine nodes involved in the transaction. 18 . The one or more computer readable storage media of claim 15 , further comprising: computer-executable instructions that, when executed by the computing system, cause the computing system to, contemporaneously with sending the database operation to be executed to the first slave node, send a communication to the master node comprising information sufficient for the master node to determine the identity of a slave node of the one or more slaves nodes responsible for executing the database operation. 19 . The one or more computer readable storage media of claim 15 , further comprising: computer-executable instructions that, when executed by the computing system, cause the computing system to, prior to sending the commit request, establish a network connection with the master node. 20 . The one or more computer readable storage media of claim 15 , wherein the transaction does not include a write operation executed by the master node. 21 . The one or more computer readable storage media of claim 15 , further comprising: computer-executable instructions that, when executed by the computing system, cause the computing system to receive from the first slave node a node identifier for a node executing the database operation. 22 . The one or more computer readable storage media claim 21 , further comprising: computer-executable instructions that, when executed by the computing system, cause the computing system to add the node identifier to a list of node identifiers associated with the transaction. 23 . A computing system that implements a database client, the database client being in communication with a distribute

Assignees

Inventors

Classifications

  • Ensuring data consistency and integrity · CPC title

  • Databases characterised by their database models, e.g. relational or object models · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2021209092A1 cover?
Technologies are described for facilitating transaction processing in a distributed database environment. A database client sends database operations to a slave node, which mediates execution of the transaction. A connection between the database client and the slave node is associated with an identifier, and the transaction has an identifier. The database client sends a commit request to a mast…
Who is the assignee on this patent?
Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F16/2365. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jul 08 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).