Abstract
Reliable multicast among the members of a group is recognized as an important service to support emerging multimedia and distributed applications, These applications have a variety of multicast requirements that may be matched with the semantics of the multicast primitives provided by an underlying layer.
This paper deals with the design and the implementation of a high level set of multicast primitives that combine both message ordering and message atomicity semantics. The primitives provide uniform agreement in a synchronous environment in which both omission and crash failures may occur. We introduce a novel algorithmic approach through which the normal processing of the messages can be performed together with the recovery actions that are required to cope with failures. As a consequence, under failure conditions the algorithms perform better in terms of both network load and throughput. Nonetheless, a comparable behaviour under reliable conditions is ensured. Furthermore, by using a stable storage as part of the fault tolerance method, the algorithms autonomously distinguish amongst permanent (crashes) or transient (omission) failures. This makes them independent of the underlying transport service and adaptable to different protocol suites.
The paper also contains the analysis of the performances obtained from the initial implementation of the described primitives.
Get full access to this article
View all access options for this article.
