Recovery-management in the RelaX distributed transaction layer

Transactions are especially valuable in distributed systems, since they isolate the programmer from the effects of both concurrency and failures. In implementing transactions at the system level, flexibility has to be introduced into the transaction concept. Specifically, the premature release of data objects has to be addressed. To assure recoverability, resulting dependencies between transactions are stored by the system in a distributed data structure called a recovery graph. The storing of redundant information in the recovery graphs at the different sites reduces the complexity of the commit protocol, and a chase protocol used to abort transactions can be derived which excludes infinite chasing. The redundant information can be distributed almost for free because it can be piggybacked on messages. The new commit/abort protocols will be used in the RelaX project (reliable distributed applications support on Unix), which carries on work done at GMD in the PROFEMO project on distributed transaction mechanisms.<<ETX>>