The jGCS library provides a generic interface for Group Communication. This interface can be used by applications that need primitives from simple IP Multicast group communication to atomic broadcast or virtual synchrony.
jGCS is a Java based common API to several toolkits such as Spread, Appia and JGroups.
jGCS implements also a new concept of providing a group communication service. Using the notion of inversion of control pattern, this service provides the separation of configuration and use.
Provides also modularity, since applications use a common API that can be implemented using different solutions. The solution that will be used by an application is defined on configuration time.
Here are some key features of "jGCS":
· Support for data and membership;
· Support for peer groups and multicast groups;
· Usable from IP Multicast to VSC. It can also be usable for autonomous membership services;
· High concurrency/low latency/latency hiding: support for optimistic deliveries and semantic protocols;
· Container-managed concurrency: it is up to the application decide the thread policy to receive messages (blocking or concurrent non-blocking).