Replication-Aware Transactions: How to Roll a Transaction over Failures

The CORBA standard adopted by OMG supports reliability using two orthogonal mechanisms: Replication (by means of FT-CORBA standard) and Transaction (with the aid of OTS standard). Replication represents a roll-forward approach in which a failed request is re-directed into another replica that is alive. On the other hand, transaction represents a roll-back approach in which a system reverts into its last committed state upon any failure. Current researches show that integrating these two approaches is essential in 3-tier systems, wherein the replication protects system processes from failures in the middle tier, and the transaction concept ensures the data consistency in the data tier. All proposed methods for reconciling these two concepts are unanimous that the transaction approach suffers from poor performance due to the use of two-phase commit protocol. In this paper we introduce a new replication-aware transaction model based on replicated objects. This kind of transaction can jump over the failures that the replicas come across without rolling the whole transaction back (we call it roll-over). Instead, the failed objects would be removed from the replica list and re-created somewhere else if needed. Implementation results of our model show better transaction throughput in comparison with known approaches.

[1]  Santosh K. Shrivastava,et al.  Integrating Group Communication with Transactions for Implementing Persistent Replicated Objects , 1999, Advances in Distributed Systems.

[2]  Laura L. Pullum,et al.  Software Fault Tolerance Techniques and Implementation , 2001 .

[3]  Rachid Guerraoui,et al.  Implementing E-Transactions with Asynchronous Replication , 2001, IEEE Trans. Parallel Distributed Syst..

[4]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[5]  Andrew S. Tanenbaum,et al.  Distributed systems: Principles and Paradigms , 2001 .

[6]  Louise E. Moser,et al.  Unification of replication and transaction processing in three-tier architectures , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[7]  Priya Narasimhan,et al.  Reconciling Replication and Transactions for the End-to-End Reliability of CORBA Applications , 2002, CoopIS/DOA/ODBASE.

[8]  Priya Narasimhan,et al.  Experiences, strategies, and challenges in building fault-tolerant CORBA systems , 2004, IEEE Transactions on Computers.

[9]  João Gabriel Silva,et al.  Dependable Computing — EDCC-2 , 1996, Lecture Notes in Computer Science.

[10]  Priya Narasimhan,et al.  Consistent Object Replication in the external System , 1998, Theory Pract. Object Syst..

[11]  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.

[12]  David R. Cheriton,et al.  Understanding the limitations of causally and totally ordered communication , 1994, SOSP '93.

[13]  André Schiper,et al.  From group communication to transactions in distributed systems , 1996, CACM.

[14]  Jean-Charles Fabre,et al.  Friends - A Flexible Architecture for Implementing Fault Tolerant and Secure Distributed Applications , 1996, EDCC.