Browse Prior Art Database

Distributed Transaction Commit Protocols for Highly Available Systems

IP.com Disclosure Number: IPCOM000041395D
Original Publication Date: 1984-Jan-01
Included in the Prior Art Database: 2005-Feb-02
Document File: 2 page(s) / 14K

Publishing Venue

IBM

Related People

Finkelstein, S: AUTHOR [+3]

Abstract

This invention relates to a Byzantine Agreement for ensuring availability of a network of reliable processors for executing a computation distributed among the processor nodes by way of nested processes. The computation is coordinated through a two-phase protocol in which a root process broadcasts status information to the leaf processes and then determines commit or abort of the transaction from the replies. By formatting the replies to include processor identity, Byzantine Agreement can be executed by the processor supporting the root process. This permits the "commit" point to be paced by the Byzantine Agreement. In data base systems users access (query/modify) data bases by writing what are called "transactions". In the most general case, each transaction may contain one or more data manipulation/definition statements.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 1 of 2

Distributed Transaction Commit Protocols for Highly Available Systems

This invention relates to a Byzantine Agreement for ensuring availability of a network of reliable processors for executing a computation distributed among the processor nodes by way of nested processes. The computation is coordinated through a two-phase protocol in which a root process broadcasts status information to the leaf processes and then determines commit or abort of the transaction from the replies. By formatting the replies to include processor identity, Byzantine Agreement can be executed by the processor supporting the root process. This permits the "commit" point to be paced by the Byzantine Agreement. In data base systems users access (query/modify) data bases by writing what are called "transactions". In the most general case, each transaction may contain one or more data manipulation/definition statements. A transaction is the unit of consistency and recovery. In a distributed data base system, the actions of a transaction may occur at more than one site. In order to insure either that "all" the actions of the transaction take effect, or that "none" of the actions take effect, a distributed transaction commit protocol is required to coordinate the commitment of the transaction's actions. The commit protocol must insure the uniform commitment of a transaction's actions at all sites visited by the transaction despite site/link failures and loss of messages. Commit Protocols The commit protocols are said to be "blocking" since a "prepared" process after noticing the failure of its coordinator has to wait until it can reestablish communication with its coordinator to determine the final outcome ("commit" or "abort"). That process cannot ask any other process the final outcome, since such a query would violate one of the basic premises of the presumed protocols: that queries to a process can originate "only" from "prepared" subordinates that have not yet acknowledged any message requiring acknowledgement. Depending on how fast the coordinator site recovers, this wait period could be quite long. During that period all locks held by the waiting process cannot be released, thereby (potentially) preventing other trans...