Distributed transaction processing through commit messages sent to a downstream neighbor

US9465648B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9465648-B2
Application numberUS-201213563595-A
CountryUS
Kind codeB2
Filing dateJul 31, 2012
Priority dateJul 31, 2012
Publication dateOct 11, 2016
Grant dateOct 11, 2016

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.

A system includes an initiator and processing nodes. The initiator distributes portions of a transaction among the processing nodes. Each processing node has at least one downstream neighbor to which the processing node sends commit messages. The commit messages include a commit status of the processing node. The downstream neighbor is also a processing node.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: an initiator; and a plurality of processing nodes, the initiator to distribute portions of a transaction among the processing nodes; wherein each processing node out of the plurality of processing nodes has at least one downstream neighbor to which the processing node sends commit messages comprising a commit status of the processing node, the at least one downstream neighbor comprising a processing node out of the plurality of processing nodes; wherein each processing node has a commit status data structure to track the commit status of each of the plurality of processing nodes; and wherein each processing node commits its portion of the transaction after both executing the processing node's portion of the transaction and receiving a commit message from another processing node indicating that at least every other processing node out of the plurality of processing nodes is ready to commit. 2. The system of claim 1 , wherein each processing node out of the plurality of processing nodes sends its at least one downstream neighbor commit messages after executing the processing node's portion of the transaction. 3. The system of claim 1 , wherein each processing node out of the plurality of processing nodes has at least one upstream neighbor from which the processing node receives commit messages comprising a commit status of the at least one upstream neighbor, the at least one downstream neighbor comprising a processing node out of the plurality of processing nodes. 4. The system of claim 1 , wherein the commit status data structure identifies which processing nodes out of the plurality of processing nodes are ready to commit. 5. The system of claim 4 , wherein each processing node out of the plurality of processing nodes sends its downstream neighbors commit messages after updating the processing node's commit status data structure. 6. The system of claim 1 , wherein none of the processing nodes is elected as a leader. 7. The system of claim 5 , wherein at least some of the processing nodes commit based on the commit messages received from downstream neighbors of such processing nodes, but the initiator does not command such processing nodes to commit. 8. A non-transitory computer-readable storage device comprising instructions that, when executed, cause one or more processors to: execute a portion of a transaction; update a commit status data structure, the commit status data structure being to track the commit status of a plurality of processing nodes having other portions of the transaction; send, triggered by execution of the portion, a commit message to at least one downstream neighbor processing node, the commit message indicating readiness to commit a result of execution of the portion to durable memory; wherein the commit message comprises commit status for a plurality of processing nodes that receive a portion of the transaction; and receive a second commit message from an upstream neighbor processing node and update the commit status data structure with information from the second commit message; and send, triggered by updating the commit status data structure, a third commit message to the at least one downstream neighbor processing node, the third commit message containing the information received from the second commit message. 9. The device of claim 8 , further causing the one or more processors to receive a second commit message indicating every processing node responsible for any portions of the transaction is ready to commit, and based on the second commit message, commit a result of execution of the portion to durable memory. 10. The device of claim 8 , further causing the one or more processors to receive a second commit message indicating at least one processing node responsible for a portion of the transaction has aborted, and based on the second commit message, abort the portion. 11. A method, comprising: receiving, by a first processing node, a portion of a transaction; receiving, by the first processing node, identification of at least one downstream neighbor processing node, the at least one downstream neighbor processing node responsible for executing another portion of the transaction; executing, by the first processing node, the portion of the transaction; update a commit status data structure, the commit status data structure being to track the commit status of a plurality of processing nodes having other portions of the transaction; sending, by the first processing node and triggered by execution of the portion, a first commit message to the at least one downstream neighbor processing node; and receiving, by the first processing node and from a downstream neighbor processing node also executing a portion of the transaction, a second commit message indicating from a plurality of other processing nodes responsible for other portions of the transaction are ready to commit, and based on the second commit message, committing, by the first processing node, the portion of the transaction, wherein the second commit message indicates at least one processing node responsible for a portion of the transaction has aborted, and based on the second commit message, the first processing node aborting the portion. 12. The method of claim 11 , wherein the first commit message comprises a commit status for each processing node receiving a portion of the transaction. 13. The method of claim 11 , further comprising, based on receipt of the second commit message, updating the commit status data structure with information from the second commit message. 14. The method of claim 13 , further comprising sending, triggered by updating the commit status data structure, a third commit message to the at least one downstream neighbor processing node, the third commit message containing the information.

Assignees

Inventors

Classifications

  • G06F9/466Primary

    Transaction processing · CPC title

  • Routing based on monitoring results · CPC title

  • by balancing the load, e.g. traffic engineering · 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 US9465648B2 cover?
A system includes an initiator and processing nodes. The initiator distributes portions of a transaction among the processing nodes. Each processing node has at least one downstream neighbor to which the processing node sends commit messages. The commit messages include a commit status of the processing node. The downstream neighbor is also a processing node.
Who is the assignee on this patent?
Karp Alan H, Golab Wojciech, Kelly Terence P, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F9/466. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 11 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).