Implementing E-Transactions with Asynchronous Replication

This paper describes a distributed algorithm that implements the abstraction of e-Transaction: a transaction that executes exactly-once despite failures. Our algorithm is based on an asynchronous replication scheme that generalizes well-known active-replication and primary-backup schemes. We devised the algorithm with a three-tier architecture in mind: the end-user interacts with front-end clients (e.g., browsers) that invoke middle-tier application servers (e.g., web servers) to access back-end databases. The algorithm preserves the three-tier nature of the architecture and introduces a very acceptable overhead with respect to unreliable solutions.

[1]  Rachid Guerraoui,et al.  Making Consensus Practical , 2000 .

[2]  Peter S. Weygant,et al.  Clusters for High Availability: A Primer of HP Solutions , 1996 .

[3]  Kenneth P. Birman,et al.  The design and architecture of the Microsoft Cluster Service-a practical approach to high-availability and scalability , 1998, Digest of Papers. Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing (Cat. No.98CB36224).

[4]  Masaru Kitsuregawa,et al.  Reducing the blocking in two-phase commit protocol employing backup sites , 1998, Proceedings. 3rd IFCIS International Conference on Cooperative Information Systems (Cat. No.98EX122).

[5]  Michel Raynal,et al.  A simple and fast asynchronous consensus protocol based on a weak failure detector , 1999, Distributed Computing.

[6]  Rachid Guerraoui,et al.  CORBA fault-tolerance: why it does not add up , 1999, Proceedings 7th IEEE Workshop on Future Trends of Distributed Computing Systems.

[7]  Rachid Guerraoui,et al.  Exactly-Once Transactions , 2000 .

[8]  Maurice Herlihy,et al.  Wait-free synchronization , 1991, TOPL.

[9]  Sam Toueg,et al.  Unreliable failure detectors for reliable distributed systems , 1996, JACM.

[10]  Rachid Guerraoui,et al.  A pragmatic implementation of e-transactions , 2000, Proceedings 19th IEEE Symposium on Reliable Distributed Systems SRDS-2000.

[11]  Paulo Veríssimo,et al.  The Delta-4 approach to dependability in open distributed computing systems , 1988, [1988] The Eighteenth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[12]  Fred B. Schneider,et al.  Replication management using the state-machine approach , 1993 .

[13]  Philip A. Bernstein,et al.  Implementing recoverable requests using queues , 1990, SIGMOD '90.

[14]  Santosh K. Shrivastava,et al.  Integrating the Object Transaction Service with the Web , 1998, Proceedings Second International Enterprise Distributed Object Computing (Cat. No.98EX244).

[15]  Xavier Défago,et al.  Semi-passive replication , 1998, Proceedings Seventeenth IEEE Symposium on Reliable Distributed Systems (Cat. No.98CB36281).

[16]  Butler W. Lampson,et al.  Reliable messages and connection establishment , 1993 .

[17]  Marcos K. Aguilera,et al.  Failure detection and consensus in the crash-recovery model , 2000, Distributed Computing.

[18]  Gerhard Weikum,et al.  Efficient transparent application recovery in client-server information systems , 1998, SIGMOD '98.

[19]  Keith Marzullo,et al.  Highly-available services using the primary-backup approach , 1992, [1992 Proceedings] Second Workshop on the Management of Replicated Data.

[20]  Fred B. Schneider,et al.  The primary-backup approach , 1993 .

[21]  R. V. Renesse,et al.  Software for Reliable Networks , 1996 .

[22]  Dale Skeen,et al.  Nonblocking commit protocols , 1981, SIGMOD '81.

[23]  E. N. Elnozahy,et al.  Supporting nondeterministic execution in fault-tolerant systems , 1996, Proceedings of Annual Symposium on Fault Tolerant Computing.