Group communication systems have a successful history of providing useful services for the development of distributed applications. Several different semantic models for such systems have been proposed, analyzed, and studied, and a number of systems have been built and used in both commercial and research software systems. However, group communications has also been viewed by many as a niche service whose limitations make it useful for only very restricted classes of applications. Two of the most significant limitations have been their dependence on low-latency, high-bandwidth networks and the complexity or inflexibility of the systems.; This thesis presents a formal model specifying the services that a wide-area group communication system could support. It then discusses the challenges wide-area networks, such as the Internet, present for group communications and how these challenges were met by the design and implementation of a group messaging system called “Spread.” Finally the performance of the system is evaluated and the impact of specialized network protocols is discussed. |