Browse Prior Art Database

Coordinator Log Transaction Execution Protocol

IP.com Disclosure Number: IPCOM000100278D
Original Publication Date: 1990-Mar-01
Included in the Prior Art Database: 2005-Mar-15
Document File: 2 page(s) / 91K

Publishing Venue

IBM

Related People

Cristian, F: AUTHOR [+2]

Abstract

Disclosed is a mechanism for decreasing the amount of communication required to commit or abort a distributed transaction in a multi-computer database system that uses function request shipping (1) for transaction execution and a write-ahead log protocol (2) for crash recovery. The mechanism uses piggybacking to eliminate one complete phase (and two rounds of messages) from the presumed commit protocol (3). The mechanism also decreases the number of times log tails are forced from volatile memory to stable storage by centralizing all the log records from each transaction and appending them to a single log. Committing a transaction when the disclosed mechanism is used requires at most one log force. The disclosed mechanism tolerates any number of site and communication performance failures.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Coordinator Log Transaction Execution Protocol

       Disclosed is a mechanism for decreasing the amount of
communication required to commit or abort a distributed transaction
in a multi-computer database system that uses function request
shipping (1) for transaction execution and a write-ahead log protocol
(2) for crash recovery.  The mechanism uses piggybacking to eliminate
one complete phase (and two rounds of messages) from the presumed
commit protocol (3).  The mechanism also decreases the number of
times log tails are forced from volatile memory to stable storage by
centralizing all the log records from each transaction and appending
them to a single log.  Committing a transaction when the disclosed
mechanism is used requires at most one log force.  The disclosed
mechanism tolerates any number of site and communication performance
failures.

      The disclosed mechanism has two sets of concurrent tasks: data
managers and transaction coordinators.  The database is partitioned
among the data managers.  Each data manager manages a subset of the
data in the system and generates log records when modifying its data.
 Each transaction coordinator maintains a log on stable storage,
coordinates the execution of transactions, and decides whether to
commit or abort every transaction it coordinates. Data managers,
unlike transaction coordinators, do not maintain stable logs as their
log records are stored on coordinator logs.  Since all log records
for a single transaction are stored on the coordinator's log, we call
the disclosed mechanism the "coordinator log transaction execution
protocol".

      If no failures occur, the coordinator log transaction execution
protocol works as follows.  When a transaction coordinator receives
an external data access request, it sends work messages to one or
more data managers.  Each data manager performs the work the
coordinator requested and sends a reply message to the coordinator.
In addition to any result, the reply message contains all log records
generated by the data manager while processing the work message.  The
coordinator appends the log records to its log in the order they were
created at the data manager.  (A virtual circuit between the
coordinator and t...