Quorum-based replication of data records

US10366106B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10366106-B2
Application numberUS-201615373844-A
CountryUS
Kind codeB2
Filing dateDec 9, 2016
Priority dateDec 9, 2016
Publication dateJul 30, 2019
Grant dateJul 30, 2019

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.

Disclosed herein are system, method, and computer program product embodiments for quorum-based replication of data records. In one embodiment, a read request for reading a record is received from a user node on a replica node of a cluster of replica nodes. The record is then determined not committed on the replica node. In response to the determination, an update message indicative of whether the number of replica nodes on which the record is durable exceeds a threshold is received on the replica node. In response to the number of replica nodes exceeds the threshold, a value of the record on the replica node is transmitted to the user node.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method, comprising: receiving, from a first user node, by at least one processor, a read request to read a record on a first replica node of a cluster of replica nodes; retrieving, by the at least one processor, a commitment status associated with the record on the first replica node of the cluster, wherein the commitment status indicates that the record on the first replica node of the cluster is ambiguous or in doubt; determining, based on the commitment status, by the at least one processor, that the record is not committed on the first replica node of the cluster; in response to the determining, receiving, from a second replica node of the cluster, by the at least one processor, an indication that the record is stored on a number of replica nodes of the cluster that include durable status for the record, wherein the number exceeds a threshold; in response to the indication, transmitting, to the first user node, by the at least one processor, a value of the record on the first replica node; further in response to the indication, updating, by the at least one processor, the commit status associated with the record on the first replica node of the cluster; and in response to the updating, sending, by the at least one processor, the updated commit status to another replica node of the cluster. 2. The method of claim 1 , further comprising: in response to determining that the record is committed on the first replica node, transmitting, to the first user node, by the at least one processor, the value of the record on the first replica node. 3. The method of claim 1 , wherein the threshold is a predetermined percentage of the total number of replica nodes in the cluster. 4. The method of claim 1 , further comprising: receiving, from a second user node, by the at least one processor, a write request to write the value of the record on the first replica node, wherein the write request is transmitted to each replica node of the cluster; writing, by the at least one processor, the value of the record in a persistent storage on the first replica node; and transmitting, to the second user node, by the at least one processor, an acknowledgement of making the record durable on the first replica node. 5. The method of claim 4 , further comprising: committing, by the at least one processor, the write request in response to receiving a plurality of acknowledgements, from a corresponding plurality of replica nodes of the cluster, that the record has been made durable on the corresponding plurality of replica nodes of the cluster, wherein a quantity of the acknowledgments exceeds the threshold. 6. The method of claim 4 , wherein the write request is received by the first replica node from the second user node directly. 7. The method of claim 1 , further comprising: receiving, from the second replica node, by the at least one processor, an inquiry message requesting records on the first replica node for which the first replica node indicates durable status, wherein the inquiry message is broadcast to a plurality of replica nodes of the cluster; and transmitting, to the second replica node, by the at least one processor, a response to the inquiry message indicative of which records have durable status on the first replica node, wherein the update message is based, at least in part, on the responses received from the replica nodes of the cluster by the second replica node. 8. The method of claim 1 , further comprising: in response to the determining, committing, by the at least one processor, the record on the first replica node. 9. The method of claim 1 , further comprising: processing, by the at least one processor, a further read request to read a second record; and in response to the value of the second record being unavailable on the first replica node, forwarding, by the at least one processor, the further read request to a third replica node of the cluster. 10. A system, comprising: a memory; and at least one processor coupled to the memory and configured to: receive, from a first user node, a read request to read a record on a first replica node of a cluster of replica nodes; retrieve a commitment status associated with the record on the first replica node of the cluster, wherein the commitment status indicates that the record on the first replica node of the cluster is ambiguous or in doubt; perform, based on the commitment status, a determination that the record is not committed on the first replica node of the cluster; in response to the determination, receive, from a second replica node of the cluster, an indication that the record is stored on a number of replica nodes of the cluster that include durable status for the record, wherein the number exceeds a threshold; in response to the indication, transmit, to the first user node, a value of the record on the first replica node; further in response to the indication, update the commit status associated with the record on the first replica node of the cluster; and in response to the updating, send the updated commit status to another replica node of the cluster. 11. The system of claim 10 , wherein the at least one processor is further configured to: in response to determining that the record is committed on the first replica node, transmit, to the first user node, the value of the record on the first replica node. 12. The system of claim 10 , wherein the threshold is a predetermined percentage of the total number of replica nodes in the cluster. 13. The system of claim 10 , wherein the at least one processor is further configured to: receive, from a second user node, a write request to write the value of the record on the first replica node, wherein the write request is transmitted to each replica node of the cluster; write the value of the record in a persistent storage on the first replica node; and transmit, to the second user node, an acknowledgement of making the record durable on the first replica node. 14. The system of claim 13 , wherein the at least one processor is further configured to commit the write request in response to receiving a plurality of acknowledgements, from a corresponding plurality of replica nodes of the cluster, that the record has been made durable on the corresponding plurality of replica nodes of the cluster, wherein a quantity of the acknowledgments exceeds the threshold. 15. The system of claim 13 , wherein the write request is received by the first replica node from the second user node directly. 16. The system of claim 10 , wherein the at least one processor is further configured to: receive, from the second replica node, an inquiry message requesting records on the first replica node for which the first replica node indicates durable status, wherein the inquiry message is broadcast to a plurality of replica nodes of the cluster; and transmit, to the second replica node, a response to the inquiry message indicative of which records have durable status on the first replica node, wherein the update message is based, at least in part, on the responses received from the replica nodes of the cluster by the second replica node. 17. The system of claim 10 , wherein the at least one processor is further configured to: in response to the determination, commit the record on the first replica node. 18. The system of claim 10 , wherein the at least one processor is further configured to: process a further read request to read a second record; and in response to the value of the second record b

Assignees

Inventors

Classifications

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

  • Electricity · mapped topic

  • G06F16/275Primary

    Synchronous replication · CPC title

  • Ensuring data consistency and integrity · CPC title

  • Asynchronous replication or reconciliation · 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 US10366106B2 cover?
Disclosed herein are system, method, and computer program product embodiments for quorum-based replication of data records. In one embodiment, a read request for reading a record is received from a user node on a replica node of a cluster of replica nodes. The record is then determined not committed on the replica node. In response to the determination, an update message indicative of whether t…
Who is the assignee on this patent?
Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F16/275. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 30 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).