Patent ID: 7478400

Claim:
A first node comprising: one or more processors; and memory; wherein the memory stores program instructions executable by the one or more processors to implement: receiving a request from a client application, wherein the request requires a transaction; in response to the request, sending a first message to a plurality of participant nodes participating in the transaction; in response to receiving a reply to the first message from at least a quorum of the participant nodes, sending a second message to the plurality of participant nodes; in response to receiving a reply to the second message from at least a quorum of the participant nodes: returning an indication to the client application that the request was successfully processed; and sending a third message to the plurality of participant nodes, wherein the third message instructs the participant nodes to commit the transaction; wherein the first message comprises a message requesting each of the participant nodes to reply by indicating whether they can commit the transaction; wherein said receiving the reply to the first message from at least a quorum of the participant nodes comprises receiving a reply indicating an ability to commit the transaction from at least a quorum of the participant nodes; wherein the second message comprises a message requesting each of the participant nodes to enter a state indicating that the transaction is to be committed; wherein said receiving the reply to the second message from at least a quorum of the participant nodes comprises receiving a reply indicating entrance into the state indicating that the transaction is to be committed from at least a quorum of the participant nodes.