Fault-tolerance for stateful application servers in the presence of advanced transactions patterns

Replication is widely used in application server products to tolerate faults. An important challenge is to correctly coordinate replication and transaction execution for stateful application servers. Many current solutions assume that a single client request generates exactly one transaction at the server. However, it is quite common that several client requests are encapsulated within one server transaction or that a single client request can initiate several server transactions. In this paper, we propose a replication tool that is able to handle these variations in request/transaction association. We have integrated our approach into the J2EE application server JBoss. Our evaluation using the ECPerf benchmark shows a low overhead of the approach.

[1]  Roger S. Barga,et al.  Improving logging and recovery performance in Phoenix/App , 2004, Proceedings. 20th International Conference on Data Engineering.

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

[3]  Jean-Charles Fabre,et al.  Implementing a reflective fault-tolerant CORBA system , 2000, Proceedings 19th IEEE Symposium on Reliable Distributed Systems SRDS-2000.

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

[5]  Claudiu Danilov,et al.  The Spread Toolkit: Architecture and Performance , 2004 .

[6]  Patrick Th. Eugster,et al.  Replicating CORBA objects: a marriage between active and passive replication , 1999, DAIS.

[7]  Benjamin J. Shannon,et al.  Java 2 platform enterprise edition specification , 2001 .

[8]  Simon Patarin,et al.  A Framework for Prototyping J2EE Replication Algorithms , 2004, CoopIS/DOA/ODBASE.

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

[10]  Idit Keidar,et al.  Group communication specifications: a comprehensive study , 2001, CSUR.

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

[12]  Patrick Valduriez,et al.  Transaction chopping: algorithms and performance studies , 1995, TODS.

[13]  Bettina Kemme,et al.  Eager Replication for Stateful J2EE Servers , 2004, CoopIS/DOA/ODBASE.

[14]  Rachid Guerraoui,et al.  Replication of CORBA Objects , 1999, Advances in Distributed Systems.

[15]  Rachid Guerraoui,et al.  Software-Based Replication for Fault Tolerance , 1997, Computer.

[16]  Priya Narasimhan,et al.  A fault tolerance framework for CORBA , 1999, Digest of Papers. Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing (Cat. No.99CB36352).

[17]  Rachid Guerraoui,et al.  X-Ability: a theory of replication , 2000, PODC '00.

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

[19]  Gerhard Weikum,et al.  Recovery guarantees for general multi-tier applications , 2002, Proceedings 18th International Conference on Data Engineering.

[20]  Xavier Défago,et al.  Semi-passive replication and Lazy Consensus , 2004, J. Parallel Distributed Comput..

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

[22]  Roberto Baldoni,et al.  Three‐tier replication for FT‐CORBA infrastructures , 2003, Softw. Pract. Exp..