Towards JMS-Compliant Group Communication

Group communication provides communication primitives with various semantics and their use greatly simplifies the development of highly available services. However, despite tremendous advances in research and numerous prototypes, group communication stays confined to small niches and academic prototypes. In contrast, message-oriented middleware such as the Java Messaging Service (JMS) is widely used, and has become a de-facto standard. We believe that the lack of standard interfaces is the reason that hinders the deployment of group communication systems. Since JMS is well-established, an interesting solution is to map group communication primitives onto the JMS API. This requires to adapt the traditional specifications of group communication in order to take into account the features of JMS. The resulting group communication API, together with corresponding specifications, defines group communication primitives compatible with the JMS syntax and semantics.

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

[2]  James Davidson,et al.  Java 2 Enterprise Edition Specifications , 2000 .

[3]  Xavier Défago,et al.  Group communication based on standard interfaces , 2003, Second IEEE International Symposium on Network Computing and Applications, 2003. NCA 2003..

[4]  André Schiper Dynamic group communication , 2005, Distributed Computing.

[5]  Mark Garland Hayden,et al.  The Ensemble System , 1998 .

[6]  Robbert van Renesse,et al.  Horus: a flexible group communication system , 1996, CACM.

[7]  Silvano Maffeis,et al.  Adding Group Communication and Fault-Tolerance to CORBA , 1995, COOTS.

[8]  Michel Riveill,et al.  High – Available Enterprise JavaBeans Using Group Communication System Support , 2001 .

[9]  André Schiper,et al.  Phoenix: A Toolkit for Building Fault-Tolerant Distributed Applications in Large Scale , 1995 .

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

[11]  Kenneth P. Birman,et al.  Exploiting virtual synchrony in distributed systems , 1987, SOSP '87.

[12]  Sacha Krakowiak,et al.  Preserving Causality in a Scalable Message-Oriented Middleware , 2001, Middleware.

[13]  Luís E. T. Rodrigues,et al.  Appia, a flexible protocol kernel supporting multiple coordinated channels , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[14]  Richard D. Schlichting,et al.  The Cactus Approach to Building Configurable Middleware Services , 2000 .

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

[16]  Priya Narasimhan,et al.  Transparent fault tolerance for corba , 1999 .

[17]  André Schiper,et al.  A Step Towards a New Generation of Group Communication Systems , 2003, Middleware.

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

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

[20]  Pascal Felber,et al.  THE CORBA OBJECT GROUP SERVICE: A SERVICE APPROACH TO OBJECT GROUPS IN CORBA , 1998 .

[21]  Roberto Baldoni,et al.  Active software replication through a three-tier approach , 2002, 21st IEEE Symposium on Reliable Distributed Systems, 2002. Proceedings..

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

[23]  André Schiper,et al.  Handling message semantics with Generic Broadcast protocols , 2002, Distributed Computing.

[24]  W. Vogels,et al.  The Horus and Ensemble projects: accomplishments and limitations , 2000, Proceedings DARPA Information Survivability Conference and Exposition. DISCEX'00.

[25]  Sam Toueg,et al.  A Modular Approach to Fault-Tolerant Broadcasts and Related Problems , 1994 .

[26]  Willy Zwaenepoel,et al.  Distributed process groups in the V Kernel , 1985, TOCS.

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