Asynchronous transcription object management system
First Claim
1. A method of managing execution of a distributed transaction that includes one or more transactions, each of said one or more transactions being executed by a respective participant of one or more participants participating in said distributed transaction, the method comprising the steps of:
- a first participant receiving from a coordinator of said distributed transaction a request for a vote of whether to commit said distributed transaction, said first participant executing a first transaction of said one or more transactions;
in response to receiving said request for a vote, said first participant transmitting to said coordinator a message specifying that said first participant votes to commit;
after said first participant transmitting to said coordinator a message specifying that said participant votes to commit, said first participant receiving from said coordinator a request to commit the first transaction;
in response to receiving said request to commit and before said first participant commits said first transaction, said first participant transmitting a request to said coordinator for said coordinator to acknowledge that said coordinator has committed said distributed transaction; and
if said coordinator acknowledges that said coordinator has committed said distributed transaction, then said first participant committing said first transaction.
2 Assignments
0 Petitions
Accused Products
Abstract
Described herein is a system for executing distributed transactions. A coordinator and one or more participants cooperate to execute a distributed transaction, the distributed transaction including for each participant a transaction executed by the participant. To manage the transaction, the coordinator and the participant communicate over a network using, for example, a stateless protocol. Before each participant commits the transaction, the participants determine that the coordinator has committed the transaction. The coordinator commits the transaction after receiving acknowledgment from all the participants that they will commit the transaction. To determine whether the coordinator has committed the transaction, a participant transmits a message to the coordinator to acknowledge that it will commit the distributed transaction. The participant commits its respective transaction if it receives an acknowledgement from the coordinator. For the particular transaction being executed by a participant, the participant prevents other transactions from modifying a data item affected by the particular transaction. The participant will prevent such modifications until termination criteria for the particular transaction is satisfied, in which case the participant terminates the transaction.
560 Citations
28 Claims
-
1. A method of managing execution of a distributed transaction that includes one or more transactions, each of said one or more transactions being executed by a respective participant of one or more participants participating in said distributed transaction, the method comprising the steps of:
-
a first participant receiving from a coordinator of said distributed transaction a request for a vote of whether to commit said distributed transaction, said first participant executing a first transaction of said one or more transactions; in response to receiving said request for a vote, said first participant transmitting to said coordinator a message specifying that said first participant votes to commit; after said first participant transmitting to said coordinator a message specifying that said participant votes to commit, said first participant receiving from said coordinator a request to commit the first transaction; in response to receiving said request to commit and before said first participant commits said first transaction, said first participant transmitting a request to said coordinator for said coordinator to acknowledge that said coordinator has committed said distributed transaction; and if said coordinator acknowledges that said coordinator has committed said distributed transaction, then said first participant committing said first transaction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of managing the execution of a distributed transaction that includes one or more transactions, each of said one or more transactions being executed by a respective participant of a plurality of participants participating in said distributed transaction, the method comprising the steps of:
-
a coordinator of said distributed transaction transmitting to a first participant a request for a vote of whether to commit said distributed transaction, said first participant executing a first transaction of said one or more transactions; said coordinator receiving from said first participant, as a response to said request for a vote, a message that specifies that said first participant votes to commit; after said coordinator receiving from said first participant a message that specifies that said first participant votes to commit; said coordinator transmitting to said first participant a first request to commit said first transaction, said coordinator transmitting to a second participant in said distributed transaction a second request to commit a second transaction of said one or more transactions; wherein said coordinator transmits said first request and said second request via a network using a stateless protocol; after said coordinator transmits said first request and said second request, said coordinator committing said distributed transaction; after said coordinator committing said distributed transaction, said coordinator receives a request from said first participant to acknowledge whether said coordinator has committed said distributed transaction; in response to said coordinator receiving a request from said first participant to acknowledge whether said coordinator has committed said distributed transaction, said coordinator transmitting a message to said first participant to indicate that said coordinator has committed the distributed transaction; and said coordinator transmitting a message to said second participant to indicate that said coordinator has committed the distributed transaction. - View Dependent Claims (13, 14)
-
-
15. A computer-readable storage medium carrying one or more sequences of instructions for managing execution of a distributed transaction that includes one or more transactions, each of said one or more transactions being executed by a respective participant of one or more participants participating in said distributed transaction, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
a first participant receiving from a coordinator of said distributed transaction a request for a vote of whether to commit said distributed transaction, said first participant executing a first transaction of said one or more transactions; in response to receiving said request for a vote, said first participant transmitting to said coordinator a message specifying that said first participant votes to commit; after said first participant transmitting to said coordinator a message specifying that said participant votes to commit, said first participant receiving from said coordinator a request to commit the first transaction; in response to receiving said request to commit and before said first participant commits said first transaction, said first participant transmitting a request to said coordinator for said coordinator to acknowledge that said coordinator has committed said distributed transaction; and if said coordinator acknowledges that said coordinator has committed said distributed transaction, then said first participant committing said first transaction. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
16. A computer-readable storage medium carrying one or more sequences of instructions for managing the execution of a distributed transaction that includes one or more transactions, each of said one or more transactions being executed by a respective participant of a plurality of participants participating in said distributed transaction, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
a coordinator of said distributed transaction transmitting to a first participant a request for a vote of whether to commit said distributed transaction, said first participant executing a first transaction of said one or more transactions; said coordinator receiving from said first participant, as a response to said request for a vote, a message that specifies that said first participant votes to commit; after said coordinator receiving from said first participant a message that specifies that said first participant votes to commit; said coordinator transmitting to said first participant a first request to commit said first transaction, said coordinator transmitting to a second participant in said distributed transaction a second request to commit a second transaction of said one or more transactions; wherein said coordinator transmits said first request and said second request via a network using a stateless protocol; after said coordinator transmits said first request and said second request, said coordinator committing said distributed transaction; after said coordinator committing said distributed transaction, said coordinator receives a request from said first participant to acknowledge whether said coordinator has committed said distributed transaction; in response to said coordinator receiving a request from said first participant to acknowledge whether said coordinator has committed said distributed transaction, said coordinator transmitting a message to said first participant to indicate that said coordinator has committed the distributed transaction; and said coordinator transmitting a message to said second participant to indicate that said coordinator has committed the distributed transaction. - View Dependent Claims (27, 28)
-
Specification