Different applications utilize group communication for different purposes, and hence require different semantics of the group membership service they utilize. For example, video conferencing applications need a general knowledge of which peers are "around" in order to know whom to multicast the video image to, and who to expect to receive video from. Such applications do not require the synchronization of membership change notifications with regular messages. On the other end of the spectrum, consistent data replication may greatly benefit from strong semantics such as virtual synchrony. Computer Supported Cooperative Work (CSCW) groupware and multimedia applications involve different services that require different Qualities of Service (QoS) and different semantics form the group membership which they use, for example, an on-line conferencing application may incorporate multimedia multicast as well as coordination and sharing of consistent information.
We describe a new architecture in which we construct a group membership service that provides a variety of service levels and semantics. In our design, the membership is maintained by a separate server. Thus, the maintenance of membership induces a very low overhead in case membership changes are infrequent, and the strong semantics required by some parts of the application induce no overhead for the parts that require weaker semantics.
We describe in detail two different service semantics geared towards different kinds of applications: simple semantics of membership approximation, and full virtual synchrony. We discuss existing group communication systems as well as the theoretical limitations of such systems.
This work was done as part of the Transis project.