Programming with Object Groups in PHOENIX
Pascal A. Felber, Rachid Guerraoui · 1995
PHOENIX is a toolkit for distributed programming with groups in large-scale distributed systems. The PHOENIX programming interface is objectoriented. It consists in an extensible class library of group management and group communication abstractions, designed with a particular concern for modularity and reusability. By supporting groups of abstract objects rather than groups of operating system processes, PHOENIX offers a higher abstraction level than existing comparable toolkits. In this paper we describe the PHOENIX programming interface and we present a small example to illustrate its use. 1 Introduction 1.1 Programming with Groups Many applications require an explicit group notion to gather entities and to provide one-to-many communication structures, i.e. multicasts. Among these applications are, for example, replication and cooperative editing. Replication is very useful to tolerate failures in a distributed system. A file is more likely to tolerate failures if it is replicated...