Date: 02 Jun 2005

The Dynamic Two Phase Commitment (D2PC) protocol

* Final gross prices may vary according to local VAT.

Get Access


Since the Two Phase Commitment (2PC) protocol is an essential component for Distributed Transaction Processing, needed in the commit process of each distributed transaction, a substantial effort has been invested in optimizing its performance. The Dynamic Two Phase Commitment (D2PC) protocol is an enhancement of the common (static) Tree Two Phase Commitment (T2PC) protocols. Unlike T2PC, with D2PC the commit coordinator is dynamically determined by racing READY (YES vote) messages, on a per transaction basis, rather than being fixed, predetermined. As a result, the protocol commits each transaction participant in minimum possible time, allowing early release of locked resources. This result is true for the various existing variants of T2PC. D2PC subsumes several T2PC optimizations that have been proposed earlier.

This work was written while the author was employed by Digital Equipment Corporation. Previous versions appeared as DEC-TR 871.
A detailed design of D2PC has been developed by the members of the ISO-IEC/JTC1/OSI-DTP&CCR groups. Many thanks are due to all of them for stimulating discussions. Bruno Traverson provided helpful comments on the protocols' formulations presented here, and Alon Itai and Shlomo Moran contributed algorithms and complexity results for the minimum-diameter spanning tree problem. Their contributions are greatly appreciated.