Two-Phase Commit Protocol
The two-phase commit (2PC) protocol is a distributed algorithm to ensure the consistent termination of a transaction in a distributed environment. Thus, via 2PC a unanimous decision is reached and enforced among multiple participating servers whether to commit or abort a given transaction, thereby guaranteeing atomicity. The protocol proceeds in two phases, namely, the prepare (or voting) and the commit (or decision) phase, which explains the protocol’s name.
The protocol is executed by a coordinator process, while the participating servers are called participants. When the transaction’s initiator issues a request to commit the transaction, the coordinator starts the first phase of the 2PC protocol by querying – via prepare messages – all participants whether to abort or to commit the transaction. If all participants vote to commit, then in the second phase, the coordinator informs all participants to commit their share of the transaction by sending a com...
- 1.Cabrera LF et al. Web services atomic transaction, 2005.Google Scholar
- 4.Lampson BW, Sturgis H. Crash recovery in distributed data storage systems. Technical Report. Palo Alto: Xerox Palo Alto Research Center.Google Scholar
- 5.OMG Transaction Service, version 1.4. http://www.omg.org/technology/documents/formal/transaction_service.htm (2007).
- 7.The Open GROUP Distributed Transaction Processing: The XA Specification. X/Open Company Ltd, ISBN 1 872630 24 3; 1991.Google Scholar
- 8.Weikum G, Vossen G. Transactional information systems – theory, algorithms, and the practice of concurrency control and recovery. San Francisco: Morgan Kaufmann; 2002.Google Scholar