Programming language support for multicast communication in distributed systems

A spectrum of abstractions for multicast communications is introduced in increasing order of both desirability and semantic level: functional mapping, iterators, and streams. Examples of distributed algorithms from the literature are used to illustrate the expressive power of each mechanism. Streams, in particular, provide first-class status for multicast communication in progress and can be implemented efficiently in typical multicast communication architectures. Related work and the criteria for multicast support are discussed. The layers of a typical distributed system that are relevant to language support for multicast communication are discussed.<<ETX>>