Towards a Generic Group Communication Service

View synchronous group communication is a mature technology that greatly eases the development of reliable distributed applications by enforcing precise message delivery semantics, especially in face of faults It is therefore found at the core of multiple widely deployed and used middleware products Although the implementation of a group communication system is a complex task, application developers may benefit from the fact that multiple group communication toolkits are currently available and supported. Unfortunately, each communication toolkit has a different interface, that differs from every other interface in subtle syntactic and semantic aspects This hinders the design, implementation and maintenance of applications using group communication and forces developers to commit beforehand to a single toolkit, thus imposing a significant hurdle to portability. In this paper we propose jGCS, a generic group communication service for Java, that specifies an interface as well as minimum semantics that allow application portability This interface accommodates existing group communication services, enabling implementation independence Furthermore, it provides support for the latest state-of-art mechanisms that have been proposed to improve the performance of group-based applications To support our claims, we present and experimentally evaluate implementations of jGCS for several major group communication systems, namely, Appia, Spread/FlushSpread and JGroups, and describe the port of a large middleware product to jGCS.

[1]  Gustavo Alonso,et al.  Processing transactions over optimistic atomic broadcast protocols , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).

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

[3]  John Crupi,et al.  Core J2EE Patterns: Best Practices and Design Strategies , 2001 .

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

[5]  Roy Friedman,et al.  The Maestro Group Manager: A Structuring Tool For Applications With Multiple Quality of Service Requirements , 1997 .

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

[7]  Luís E. T. Rodrigues,et al.  From spontaneous total order to uniform total order: different degrees of optimistic delivery , 2006, SAC '06.

[8]  Ana Respício,et al.  On Statistically Estimated Optimistic Delivery in Wide-Area Total Order Protocols , 2006, 2006 12th Pacific Rim International Symposium on Dependable Computing (PRDC'06).

[9]  Luís E. T. Rodrigues,et al.  Semantically Reliable Multicast: Definition, Implementation, and Performance Evaluation , 2003, IEEE Trans. Computers.

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

[11]  Ozalp Babaoglu,et al.  Group-Enhanced Remote Method Invocations , 1999 .

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

[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]  André Schiper,et al.  Towards JMS compliant group communication - a semantic mapping , 2004, Third IEEE International Symposium on Network Computing and Applications, 2004. (NCA 2004). Proceedings..

[15]  Priya Narasimhan,et al.  Eternal—a component‐based framework for transparent fault‐tolerant CORBA , 2002, Softw. Pract. Exp..

[16]  Gustavo Alonso,et al.  Don't Be Lazy, Be Consistent: Postgres-R, A New Way to Implement Database Replication , 2000, VLDB.

[17]  Francisco Moura,et al.  Optimistic total order in wide area networks , 2002, 21st IEEE Symposium on Reliable Distributed Systems, 2002. Proceedings..

[18]  Robbert van Renesse,et al.  Reliable Distributed Computing with the Isis Toolkit , 1994 .

[19]  Idit Keidar,et al.  Optimistic Virtual Synchrony , 2000, Proceedings 19th IEEE Symposium on Reliable Distributed Systems SRDS-2000.

[20]  Anne-Marie Kermarrec,et al.  NEEM: network-friendly epidemic multicast , 2003, 22nd International Symposium on Reliable Distributed Systems, 2003. Proceedings..

[21]  Luís E. T. Rodrigues,et al.  An indulgent uniform total order algorithm with optimistic delivery , 2002, 21st IEEE Symposium on Reliable Distributed Systems, 2002. Proceedings..

[22]  Yair Amir,et al.  A low latency, loss tolerant architecture and protocol for wide area group communication , 2000, Proceeding International Conference on Dependable Systems and Networks. DSN 2000.

[23]  André Schiper,et al.  Optimistic Atomic Broadcast , 1998, DISC.

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