Towards JMS compliant group communication - a semantic mapping

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 message service (JMS) is widely used, and has become a de-facto standard. We believe that the lack of a well-defined and easily understandable standard is the reason that hinders the deployment of group communication systems. Since JMS is a well-established technology, an interesting solution is to extend JMS adding group communication primitives to it. Foremost, this requires extending the traditional semantics of group communication in order to take into account various features of JMS, e.g., durable/nondurable subscriptions and persistent/non-persistent messages. The resulting new group communication specification, together with the corresponding API, defines group communication primitives compatible with JMS.

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

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

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

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

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

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

[7]  Aniruddha S. Gokhale,et al.  Measuring and Optimizing CORBA Latency and Scalability Over High-Speed Networks , 1998, IEEE Trans. Computers.

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

[9]  Michel Raynal,et al.  Atomic broadcast in asynchronous crash-recovery distributed systems , 2000, Proceedings 20th IEEE International Conference on Distributed Computing Systems.

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

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

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

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

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

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

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

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

[18]  Guruduth Banavar,et al.  A Case for Message Oriented Middleware , 1999, DISC.

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

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

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

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