Towards a Generic Group Communication Service

  • Nuno Carvalho
  • José Pereira
  • Luís Rodrigues
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4276)


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.


Group Communication Multicast Group Message Size Protocol Implementation Service Guarantee 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Birman, K., van Renesse, R. (eds.): Reliable Distributed Computing with the Isis Toolkit. IEEE Computer Society Press, Los Alamitos (1993)Google Scholar
  2. 2.
    Miranda, H., Pinto, A., Rodrigues, L.: Appia, a flexible protocol kernel supporting multiple coordinated channels. In: Proceedings of the 21st International Conference on Distributed Computing Systems, Phoenix, Arizona, pp. 707–710. IEEE, Los Alamitos (2001)CrossRefGoogle Scholar
  3. 3.
    Amir, Y., Danilov, C., Stanton, J.: A low latency, loss tolerant architecture and protocol for wide area group communication. In: IEEE International Conference on Dependable Systems and Networks (2000)Google Scholar
  4. 4.
    Ban, B.: Design and implementation of a reliable group communication toolkit for java (1998)Google Scholar
  5. 5.
    Vicente, P., Rodrigues, L.: An indulgent uniform total order algorithm with optimistic delivery. In: Proceedings of the 21st IEEE Symposium on Reliable Distributed Systems (SRDS 2002), Osaka, Japan, pp. 92–101 (2002)Google Scholar
  6. 6.
    Sousa, A., Pereira, J., Moura, F., Oliveira, R.: Optimistic total order in wide area networks. In: Proc. 21st IEEE Symposium on Reliable Distributed Systems, pp. 190–199. IEEE CS, Los Alamitos (2002)CrossRefGoogle Scholar
  7. 7.
    Pedone, F., Schiper, A.: Handling message semantics with generic broadcast protocols. Distributed Computing Journal, 97–107 (2002)Google Scholar
  8. 8.
    Pereira, J., Rodrigues, L., Oliveira, R.: Semantically reliable multicast: Definition, implementation and performance evaluation. IEEE Transactions on Computers, Special Issue on Reliable Distributed Systems 52, 150–165 (2003)Google Scholar
  9. 9.
    Pereira, J., Rodrigues, L., Monteiro, M.J., Oliveira, R., Kermarrec, A.M.: NeEM: Network-friendly epidemic multicast. In: Proceedings of the 22nd IEEE Symposium on Reliable Distributed Systems (SRDS 2003), Florence,Italy, pp. 15–24 (2003)Google Scholar
  10. 10.
    Chockler, G.V., Keidar, I., Vitenberg, R.: Group communication specifications: a comprehensive study. ACM Comput. Surv. 33, 427–469 (2001)CrossRefGoogle Scholar
  11. 11.
    Guerraoui, R., Schiper, A.: Software-based replication for fault-tolerance. IEEE Computer 30, 68–74 (1997)Google Scholar
  12. 12.
    Kemme, B., Alonso, G.: Don’t be lazy, be consistent: Postgres-R, a new way to implement database replication. The VLDB Journal, 134–143 (2000)Google Scholar
  13. 13.
    Narasimhan, P., Moser, L.E., Melliar-Smith, P.M.: Eternal - a component-based framework for transparent fault-tolerant corba. Software Practice and Experience (2002)Google Scholar
  14. 14.
    Pedone, F., Schiper, A.: Optimistic atomic broadcast. In: Kutten, S. (ed.) DISC 1998. LNCS, vol. 1499, pp. 318–332. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  15. 15.
    Sussman, J.B., Keidar, I., Marzullo, K.: Optimistic virtual synchrony. In: Symposium on Reliability in Distributed Software, pp. 42–51 (2000)Google Scholar
  16. 16.
    Rodrigues, L., Mocito, J., Carvalho, N.: From spontaneous total order to uniform total order: different degrees of optimistic delivery. In: Proceedings of the 21st ACM Symposium on Applied Computing (SAC 2006), Dijon, France. ACM, New York (2006)Google Scholar
  17. 17.
    Alur, D., Crupi, J., Malk, D.: Core J2EE Patterns: Best Practices and Design Strategie. Prentice Hall / Sun Microsystems Press (2001)Google Scholar
  18. 18.
    Hayden, M.: The Ensemble System. PhD thesis, Cornell University, Computer Science Department (1998)Google Scholar
  19. 19.
    Hiltunen, M., Schlichting, R., Wong, G.: Implementing integrated fine-grain customizable QoS using Cactus. In: Fast Abstracts, The 29th International Symposium on Fault-Tolerant Computing Systems, Madison, Wisconsin, USA, pp. 59–60 (1999)Google Scholar
  20. 20.
    Wiesmann, M., Défago, X., Schiper, A.: Group communication based on standard interfaces. In: Proc. 2nd Int’l. Symp. on Network Computing and Applications (NCA 2003), Cambridge, MA, USA, pp. 140–147. IEEE, Los Alamitos (2003)CrossRefGoogle Scholar
  21. 21.
    Kemme, B., Pedone, F., Alonso, G., Schiper, A.: Processing transactions over optimistic atomic broadcast protocols. In: Proceedings of 19th International Conference on Distributed Computing Systems (ICDCS 1999) (1999)Google Scholar
  22. 22.
    Mocito, J., Respício, A., Rodrigues, L.: On statistically estimated optimistic delivery in wide-area total order protocols. Technical Report DI/TR/2006, University of Lisbon (2006)Google Scholar
  23. 23.
    Montresor, A., Davoli, R., Babaoglu, O.: Group-enhanced remote method invocations (1999)Google Scholar
  24. 24.
    Amir, Y., Munjal, A.: (Jms4spread),
  25. 25.
    SoftWired: (ibus/messagebus),
  26. 26.
    Kupsys, A., Pleisch, S., Schiper, S., Wiesmann, M.: Towards JMS compliant group communication - a semantic mapping. In: NCA 2004: Proceedings of the Network Computing and Applications, Third IEEE International Symposium on (NCA 2004), Washington, DC, USA, pp. 131–140. IEEE Computer Society, Los Alamitos (2004)CrossRefGoogle Scholar
  27. 27.
    Birman, K., Friedman, R., Hayden, M.: The Maestro group manager: A structuring tool for applications with multiple quality of service requirements. Technical report, Ithaca, NY, USA (1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Nuno Carvalho
    • 1
  • José Pereira
    • 2
  • Luís Rodrigues
    • 1
  1. 1.University of Lisbon 
  2. 2.University of Minho 

Personalised recommendations