Abstract
Generic group communication frameworks offer several benefits to developers of clustered applications, including better software modularity and greater flexibility in selecting a particular group communication system. However, current generic frameworks only support a very limited set of group communication primitives, which has hampered their adoption by many “real-world” clustered applications that require higher-level group communication services, such as state transfer, distributed data structures and replicated method invocation. This paper describes the design, implementation and initial evaluation of G2CL, a Generic Group Communication Layer that offers a set of commonly used high-level group communication services implemented on top of an existing generic framework. Compared to current group communication solutions, G2CL offers two main contributions: (i) its services can be configured to run over any group communication system supported by the underlying generic framework; and (ii) it implements the same service API used by JGroups, a popular group communication toolkit, which may reduce its learning curve and make the task of migrating to G2CL particularly attractive for JGroups users.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
Alur, D., Malks, D., Crupi, J., Booch, G., Fowler, M.: Core J2EE Patterns: Best Practices and Design Strategies, 2nd edn. Sun Microsystems, Inc., Mountain View (2001)
Amir, Y., Danilov, C., Stanton, J.: A Low Latency, Loss Tolerant Architecture and Protocol for Wide Area Group Communication. In: Proceedings of the 2000 International Conference on Dependable Systems and Networks (FTCS-30, DCCA-8), pp. 327–336. IEEE CS Press, New York (2000)
Apache: Apache HTTP server benchmarking tool (1996), http://httpd.apache.org/docs/2.0/programs/ab.html
Ban, B.: Design and Implementation of a Reliable Group Communication Toolkit for Java. Tech. rep., Cornell University, Cornell University (1998)
Ban, B.: A Flexible API for State Transfer in the JavaGroups Toolkit (2007) (unpublished manuscript)
Carvalho, N., Pereira, J., Rodrigues, L.: Towards a Generic Group Communication Service. In: Proceedings of the 8th International Symposium on Distributed Objects and Applications (DOA 2006), pp. 1485–1502. Springer, Montpellier (2006)
Chockler, G.V., Keidar, I., Vitenberg, R.: Group Communication Specifications: A Comprehensive Study. ACM Computing Surveys 33(4), 427–469 (2001)
Couloris, G., Dollimore, J., Kindberg, T.: Distributed Systems – Concepts and Design, 4th edn. Addison-Wesley, Boston (2005)
Dabek, F., Zhao, B., Druschel, P., Kubiatowicz, J., Stoica, I.: Towards a Common API for Structured Peer-to-Peer Overlays. In: Kaashoek, M.F., Stoica, I. (eds.) IPTPS 2003. LNCS, vol. 2735, pp. 33–44. Springer, Heidelberg (2003)
Fowler, M.: Inversion of Control – IoC (2004), http://martinfowler.com/articles/injection.html
G2CL: Generic Group Communication Layer (2009), http://g2cl.googlecode.com/
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1995)
Hedera: Hedera Group Communications Wrappers (2008), http://hederagc.sourceforge.net/
Jain, R.: The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation and Modeling. Wiley-Interscience, New York (1991)
JBoss: JBoss Application Server (2009), http://www.jboss.org/jbossas/
JGroups: JGroups – Building Blocks (2009), http://www.jgroups.org/blocks.html
JOnAS: JOnAS – Java Open Application Server (2009), http://jonas.ow2.org/
JXTA: JXTA Community Project (2008), https://jxta.dev.java.net/
Lodi, G., Panzieri, F., Rossi, D., Turrini, E.: SLA-Driven Clustering of QoS-Aware Application Servers. IEEE Transactions on Software Engineering 33(3), 186–197 (2007)
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 (ICDCS 2001), pp. 707–710. IEEE CS Press, Phoenix (2001)
van Nieuwpoort, R.V., Kielmann, T., Bal, H.E.: User-Friendly and Reliable Grid Computing Based on Imperfect Middleware. In: Proceedings of the ACM/IEEE Conference on Supercomputing (SC 2007). ACM Press, Reno (2007)
Pietzuch, P., Eyers, D., Kounev, S., Shand, B.: Towards a Common API for Publish/Subscribe. In: Proceedings of the 2007 Inaugural International Conference on Distributed Event-based Systems, pp. 152–157. ACM, Toronto (2007)
PostgreSQL: PostgreSQL (2009), http://www.postgresql.org/
Sales, L., Teófilo, H., D’Orleans, J., Mendonça, N.C., Barbosa, R., Trinta, F.: Performance Impact Analysis of Two Generic Group Communication APIs. In: Proceedings of the 1st IEEE International Workshop on Middleware Engineering (ME 2009), pp. 148–153. IEEE CS Press, Bellevue (2009)
Sales, L., Teófilo, H., Mendonça, N.C., D’Orleans, J., Barbosa, R., Trinta, F.: An Evaluation of the Performance Impact of Generic Group Communication APIs. Int. Journal of High Performance Systems Architecture 2(2), 90–98 (2009), http://dx.doi.org/10.1504/IJHPSA.2009.032026
Shoal: Shoal – A Dynamic Clustering Framework (2008), https://shoal.dev.java.net/
SUN: Java platform, enterprise edition (java ee) (2006), http://java.sun.com/javaee/
Triola, M.F.: Elementary Statistics, 7th edn. Addison-Wesley, Boston (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 IFIP International Federation for Information Processing
About this paper
Cite this paper
Sales, L., Teófilo, H., Mendonça, N.C. (2010). G2CL: A Generic Group Communication Layer for Clustered Applications. In: Eliassen, F., Kapitza, R. (eds) Distributed Applications and Interoperable Systems. DAIS 2010. Lecture Notes in Computer Science, vol 6115. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13645-0_13
Download citation
DOI: https://doi.org/10.1007/978-3-642-13645-0_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-13644-3
Online ISBN: 978-3-642-13645-0
eBook Packages: Computer ScienceComputer Science (R0)