Effective multicast programming in large scale distributed systems
- 20 April 2001
- journal article
- Published by Wiley in Concurrency and Computation: Practice and Experience
- Vol. 13 (6) , 421-447
- https://doi.org/10.1002/cpe.584
Abstract
Many distributed applications have a strong requirement for efficient dissemination of large amounts of information to widely spread consumers in large networks. These include applications in e‐commerce and telecommunication. Publish/subscribe is considered one of the most important interaction styles with which to model communication on a large scale. Producers publish information on a topic and consumers subscribe to the topics they wish to be informed of. The decoupling of producers and consumers in time, space, and flow makes the publish/subscribe paradigm very attractive for large scale distribution, especially in environments like the Internet.This paper describes the architecture and implementation of DACE (Distributed Asynchronous Computing Environment), a framework for publish/subscribe communication based on an object‐oriented programming abstraction in the form of Distributed Asynchronous Collection (DAC). DACs capture the variants of publish/subscribe, without blurring their respective advantages. The architecture we present is tolerant of network partitions and crash failures. The underlying model is based on the notion of Topic Membership: a weak membership for the parties involved in a topic. We present how Topic Membership enables the realization of a robust and efficient reliable multicast on a large scale. The protocol ensures that, inside a topic, even a subscriber who is temporarily partitioned away eventually receives a published message. Copyright © 2001 John Wiley & Sons, Ltd.Keywords
This publication has 20 references indexed in Scilit:
- Replication in Ficus distributed file systemsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- The Transis approach to high availability cluster communicationCommunications of the ACM, 1996
- HorusCommunications of the ACM, 1996
- TotemCommunications of the ACM, 1996
- Group communicationCommunications of the ACM, 1996
- Unreliable failure detectors for reliable distributed systemsJournal of the ACM, 1996
- The process group approach to reliable distributed computingCommunications of the ACM, 1993
- Disconnected operation in the Coda File SystemACM Transactions on Computer Systems, 1992
- Consistency in a partitioned network: a surveyACM Computing Surveys, 1985
- Self-stabilizing systems in spite of distributed controlCommunications of the ACM, 1974