Implementing high availability CORBA applications with Java

The integration of Java and CORBA has opened the way for a wide variety of Internet applications. However, such applications will frequently come across communication and node failures which can affect both their performance and consistency. Therefore, there is a need for techniques which will allow applications to tolerate such failures and continue to provide expected services. A common technique is through the use of atomic transactions, which ensure that only consistent state changes take place despite concurrent access and failures. However, they may be insufficient to guarantee forward progress. This can be accomplished by replicating resources, so that the failure of a subset of replicas can be masked from users. The paper describes a toolkit that integrates transactions and replication by making use of standard CORBA services.

[1]  Santosh K. Shrivastava,et al.  Object Replication in Arjuna , 1994 .

[2]  Santosh K. Shrivastava,et al.  The Design and Implementation of Arjuna , 1995, Comput. Syst..

[3]  David K. Gifford,et al.  Weighted voting for replicated data , 1979, SOSP '79.

[4]  Newtop: a fault-tolerant group communication protocol , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[5]  Paul D. Ezhilchelvan,et al.  Design and implemantation of a CORBA fault-tolerant object group service , 1999, DAIS.

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

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

[8]  Kenneth P. Birman The Process Group Approach to Reliable , 2000 .

[9]  Priya Narasimhan,et al.  Replica consistency of CORBA objects in partitionable distributed systems , 1997, Distributed Syst. Eng..

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

[11]  Rachid Guerraoui,et al.  System support for object groups , 1998, OOPSLA '98.

[12]  Santosh K. Shrivastava,et al.  Java transactions for the Internet , 1998, Distributed Syst. Eng..

[13]  Kenneth P. Birman,et al.  The process group approach to reliable distributed computing , 1992, CACM.

[14]  Santosh K. Shrivastava,et al.  Replicated K-resilient objects in Arjuna , 1990, [1990] Proceedings. Workshop on the Management of Replicated Data.

[15]  J. D. Day,et al.  A principle for resilient sharing of distributed resources , 1976, ICSE '76.

[16]  Santosh K. Shrivastava,et al.  Maintaining information about persistent replicated objects in a distributed system , 1993, [1993] Proceedings. The 13th International Conference on Distributed Computing Systems.

[17]  Danny Dolev,et al.  The Transis approach to high availability cluster communication , 1996, CACM.

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

[19]  Sampath Rangarajan,et al.  Filterfresh: Hot Replication of Java RMI Server Objects , 1998, COOTS.

[20]  Mark C. Little,et al.  Building configurable applications in Java , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[21]  Fred B. Schneider,et al.  Implementing fault-tolerant services using the state machine approach: a tutorial , 1990, CSUR.

[22]  Santosh K. Shrivastava,et al.  Understanding the Role of Atomic Transactions and Group Communications in Implementing Persistent Replicated Objects , 1998, POS/PJW.

[23]  Richard Monson-Haefel,et al.  Enterprise JavaBeans , 1999, Java series.