Unification of transactions and replication in three-tier architectures based on CORBA

In this paper, we describe a software infrastructure that unifies transactions and replication in three-tier architectures and provides data consistency and high availability for enterprise applications. The infrastructure uses transactions based on the CORBA object transaction service to protect the application data in databases on stable storage, using a roll-backward recovery strategy, and replication based on the fault tolerant CORBA standard to protect the middle-tier servers, using a roll-forward recovery strategy. The infrastructure replicates the middle-tier servers to protect the application business logic processing. In addition, it replicates the transaction coordinator, which renders the two-phase commit protocol nonblocking and, thus, avoids potentially long service disruptions caused by failure of the coordinator. The infrastructure handles the interactions between the replicated middle-tier servers and the database servers through replicated gateways that prevent duplicate requests from reaching the database servers. It implements automatic client-side failover mechanisms, which guarantee that clients know the outcome of the requests that they have made, and retries aborted transactions automatically on behalf of the clients.

[1]  Louise E. Moser,et al.  Increasing the reliability of three-tier applications , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[2]  Douglas C. Schmidt,et al.  The Design and Performance of a Pluggable Protocols Framework for CORBA Middleware , 1999, Protocols for High-Speed Networks.

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

[4]  Yair Amir,et al.  From total order to database replication , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[5]  Douglas C. Schmidt,et al.  The Design and Performance of a Pluggable Protocols Framework for Object Request Broker Middleware , 1999 .

[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]  Louise E. Moser,et al.  Deterministic scheduling for multithreaded replicas , 2005, 10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems.

[8]  Gustavo Alonso,et al.  Improving the scalability of fault-tolerant database clusters , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[9]  Santosh K. Shrivastava,et al.  Implementing high availability CORBA applications with Java , 1999, Proceedings 1999 IEEE Workshop on Internet Applications (Cat. No.PR00197).

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

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

[12]  I. Bey,et al.  Delta-4: A Generic Architecture for Dependable Distributed Computing , 1991, Research Reports ESPRIT.

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

[14]  Louise E. Moser,et al.  Totem: a fault-tolerant multicast group communication system , 1996, CACM.

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

[16]  Priya Narasimhan,et al.  Strongly consistent replication and recovery of fault-tolerant CORBA applications , 2002, Comput. Syst. Sci. Eng..

[17]  Ricardo Jiménez-Peris,et al.  Synchronizing group transaction with rendezvous in a distributed Ada environment , 1998, SAC '98.

[18]  Rachid Guerraoui,et al.  Reducing the cost for non-blocking in atomic commitment , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[19]  Roberto Baldoni,et al.  An Interoperable Replication Logic for CORBA systems , 2000, Proceedings DOA'00. International Symposium on Distributed Objects and Applications.

[20]  Ravishankar K. Iyer,et al.  A preemptive deterministic scheduling algorithm for multithreaded replicas , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

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

[22]  Gustavo Alonso,et al.  A Low-Latency Non-blocking Commit Service , 2001, DISC.

[23]  R. Jiménez-Peris,et al.  Deterministic Scheduling and Online Recovery for Replicated Multithreaded Transactional Servers , 2002 .

[24]  Ricardo Jiménez-Peris,et al.  Deterministic scheduling for transactional multithreaded replicas , 2000, Proceedings 19th IEEE Symposium on Reliable Distributed Systems SRDS-2000.

[25]  André Schiper,et al.  Uniform reliable multicast in a virtually synchronous environment , 1993, [1993] Proceedings. The 13th International Conference on Distributed Computing Systems.

[26]  William R. Dieter,et al.  A user-level checkpointing library for POSIX threads programs , 1999, Digest of Papers. Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing (Cat. No.99CB36352).

[27]  A. Fleischmann Distributed Systems , 1994, Springer Berlin Heidelberg.

[28]  Bela Ban Design and Implementation of a Reliable Group Communication Toolkit for Java , 1998 .

[29]  Rachid Guerraoui,et al.  The Implementation of a CORBA Object Group Service , 1998, Theory Pract. Object Syst..

[30]  William H. Sanders,et al.  AQuA: an adaptive architecture that provides dependable distributed objects , 1998, Proceedings Seventeenth IEEE Symposium on Reliable Distributed Systems (Cat. No.98CB36281).

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

[32]  Rachid Guerraoui,et al.  e-Transactions: End-to-End Reliability for Three-Tier Architectures , 2002, IEEE Trans. Software Eng..

[33]  Ricardo Jiménez-Peris,et al.  An Integrated Approach to Transactions and Group Communication , 2000 .

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