2 Phase Commits

Although a distributed system could suffer a number of failures of a different kind simultaneously, the normal approach to increased reliability is to consider this unlikely, and deal with network failures and service failures separately. This has lead to the <#662#> two phase commit<#662#> protocol, as in figure #fntwopc#663>. A Transaction Agent (TA) acts on behalf of all the servers (S) involved in sub transactions in this transaction.

#figure664#
Figure: Two Phase Commit

Considering failures, either the TA, the S's can fail, or the messages 1.3, 2.2 and 2.4 can be lost. The resulting cases are shown in figure #fnfail#667>.

#figure668#
Figure: Failures During Transactions