×

Non-blocking commit protocol systems and methods

  • US 8,055,711 B2
  • Filed: 10/28/2005
  • Issued: 11/08/2011
  • Est. Priority Date: 10/29/2004
  • Status: Active Grant
First Claim
Patent Images

1. A distributed system configured to resolve an atomic transaction comprising multiple transactions among a set of parties within the distributed system, the distributed system comprising:

  • a plurality of participants, each of the plurality of participants residing on a node of a computer system and in communication with each of the other of the plurality of participants; and

    a coordinator residing on a node of the computer system and in communication with each of the plurality of participants, wherein at least one of the plurality of participants resides on the same node of the computer system as the coordinator;

    wherein the coordinator is configured to;

    receive one or more prepared messages from one or more of the plurality of participants, each prepared message indicating whether the sending participant can commit a transaction of the atomic transaction;

    decide to either commit or abort the atomic transaction based on the received prepared messages; and

    send the decision to either commit or abort the atomic transaction to two or more of the plurality of participants;

    wherein each of the plurality of participants is configured to;

    receive a prepare message, the prepare message indicating that the participant should commit a transaction of the atomic transaction;

    determine whether the participant can commit the transaction;

    send a prepared message to the coordinator, the prepared message indicating whether the participant can commit the transaction;

    receive decision messages from two or more of the plurality of participants which are different than the coordinator, each decision message indicating that the sending participant has either committed or aborted a transaction of the atomic transaction;

    if communication with the coordinator is available, receive the decision to either commit or abort the atomic transaction from the coordinator;

    if the decision is received from the coordinator, decide to either commit or abort the transaction based on the received decision;

    if communication with the coordinator is not available and the decision was not received from the coordinator, decide to either commit or abort the transaction based on the received decision messages from the two or more of the plurality of participants which are different than the coordinator; and

    send the participant'"'"'s decision to either commit or abort the transaction to each of the other of the plurality of participants with which communication is available.

View all claims
  • 12 Assignments
Timeline View
Assignment View
    ×
    ×