Distributed transactions across multiple consensus groups

US12216679B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12216679-B2
Application numberUS-201916403341-A
CountryUS
Kind codeB2
Filing dateMay 3, 2019
Priority dateFeb 4, 2016
Publication dateFeb 4, 2025
Grant dateFeb 4, 2025

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.

Methods, systems, and computer-readable media for distributed transactions across multiple consensus groups are disclosed. A distributed transaction system comprises a proposer and a plurality of consensus groups, including a first consensus group comprising a first plurality of members and a second consensus group comprising a second plurality of members. The proposer proposes a transaction to at least a portion of the first consensus group and at least a portion of the second consensus group. A majority of the members in the first consensus group agree to perform the transaction, where the transaction is selected from a plurality of proposed transactions involving the first consensus group. A majority of the members in the second consensus group also agree to perform the transaction. The members of the first and second consensus groups perform the transaction to update a plurality of stored replicas.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a plurality of computing devices configured to implement a distributed transaction system operating on a data set, the distributed transaction system comprising a proposer and a plurality of consensus groups including a first consensus group comprising a first plurality of members storing respective replicas of the data set and a second consensus group comprising a second plurality of members storing respective replicas of the data set, wherein individual ones of the plurality of consensus groups participate in different respective subsets of a plurality of transactions operating on the data set, wherein the proposer, the first plurality of members, and the second plurality of members implement a consensus protocol, and wherein the distributed transaction system is configured to: send, from the proposer to at least a portion of the first consensus group and at least a portion of the second consensus group, a prepare-transaction request for a transaction, wherein a transaction group for the transaction comprises the first consensus group and the second consensus group, wherein the prepare-transaction describes the transaction comprising one or more data updates to be performed by individual members of the transaction group, and wherein a positive response to the prepare-transaction request by an individual member of the transaction group indicates acceptance of the transaction by the individual member; and perform the transaction comprising the one or more data updates of the transaction on the data set based at least in part on one or more positive responses to the prepare-transaction request, wherein at least some of the one or more positive responses identify an additional transaction, and wherein to perform the one or more data updates of the transaction the distributed transaction system is configured to: determine, based at least in part on the one or more positive responses to the prepare-transaction request as part of the consensus protocol, that the identified additional transaction, different from the transaction, has been accepted by a particular consensus group of the transaction group, wherein the acceptance locks the particular consensus group from performance of the transaction, wherein the additional transaction involves another transaction group comprising the particular consensus group and one or more additional consensus groups of the plurality of consensus groups; and unlock, responsive to the determining, performance of the transaction for the particular consensus group, wherein to unlock performance of the transaction the distributed transaction system is configured to send an abort-transaction request of the additional transaction as part of the consensus protocol from the proposer to the particular consensus group of the transaction group. 2. The system as recited in claim 1 , wherein the prepare-transaction request, the one or more positive responses to the prepare-transaction request, and the abort-transaction request are sent using the consensus protocol and without centralized coordination external to the proposer and the first and second consensus groups. 3. The system as recited in claim 1 , wherein the additional transaction is chosen based at least in part on a transaction number for the additional transaction being higher than a transaction number for the transaction. 4. The system as recited in claim 1 , wherein the prepare-transaction request comprises data identifying individual members in the first and second consensus groups to which the prepare-transaction request is sent. 5. A computer-implemented method, comprising: performing, by a plurality of computing devices that collectively implement a distributed transaction system operating on a data set and comprising a proposer and a plurality of consensus groups including a first consensus group comprising a first plurality of members storing respective replicas of the data set and a second consensus group comprising a second plurality of members storing respective replicas of the data set: sending, from the proposer to at least a portion of the first consensus group and at least a portion of the second consensus group as part of a consensus protocol, a prepare-transaction request for a transaction, wherein a transaction group for the transaction comprises the first consensus group and the second consensus group, wherein the first consensus group and the second consensus group respectively participate in different respective subsets of a plurality of transactions, including the transaction, operating on the data set, wherein the prepare-transaction describes the transaction comprising one or more data updates to be performed by individual members of the transaction group, and wherein a positive response to the prepare-transaction request by an individual member of the transaction group indicates acceptance of the transaction by the individual member; and performing the transaction comprising the one or more data updates of the transaction on the data set based at least in part on one or more positive responses to the prepare-transaction request, wherein at least some of the one or more positive responses identify an additional transaction of the plurality of transactions, and wherein the performing comprises: determining, based at least in part on one or more positive responses to the prepare-transaction request as part of the consensus protocol, that the identified additional transaction, different from the transaction, has been accepted by a particular consensus group of the transaction group, wherein the acceptance locks the particular consensus group from performance of the transaction, wherein the additional transaction involves another transaction group comprising the particular consensus group and one or more additional consensus groups of the plurality of consensus groups; and unlocking, responsive to the determining, performance of the transaction for the particular consensus group, comprising sending an abort-transaction request of the additional transaction as part of the consensus protocol from the proposer to the particular consensus group of the transaction group. 6. The method as recited in claim 5 , wherein the prepare-transaction request, the one or more responses to the prepare-transaction request, and the abort-transaction request are sent using the consensus protocol and without centralized coordination external to the proposer and the first and second consensus groups. 7. The method as recited in claim 5 , wherein the additional transaction is chosen based at least in part on a transaction number for the additional transaction being higher than a transaction number for the transaction. 8. The method as recited in claim 5 , further comprising: sending, from a second proposer to at least a portion of a third consensus group and at least a portion of a fourth consensus group, a second prepare-transaction request for a second transaction, wherein the second prepare-transaction request comprises a second transaction number, wherein the third consensus group comprises a third plurality of members and the fourth consensus group comprises a fourth plurality of members, wherein the second proposer and the third plurality of members and the fourth plurality of members implement the consensus protocol; sending, from a majority of the third consensus group to the second proposer, but not from a majority of the fourth consensus group, positive responses to the second prepare-transaction request; and retrying the second transaction using a third prepare-transaction request comprising a third transaction number, wherein the third transaction number is higher than the second transaction number. 9. The meth

Assignees

Inventors

Classifications

  • G06F16/273Primary

    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 US12216679B2 cover?
Methods, systems, and computer-readable media for distributed transactions across multiple consensus groups are disclosed. A distributed transaction system comprises a proposer and a plurality of consensus groups, including a first consensus group comprising a first plurality of members and a second consensus group comprising a second plurality of members. The proposer proposes a transaction to…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/273. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 04 2025 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).