Research Article
Programmer-Controlled Application-Level Multicast
@INPROCEEDINGS{10.4108/icst.collaboratecom.2014.257266, author={Prasun Dewan}, title={Programmer-Controlled Application-Level Multicast}, proceedings={10th IEEE International Conference on Collaborative Computing: Networking, Applications and Worksharing}, publisher={IEEE}, proceedings_a={COLLABORATECOM}, year={2014}, month={11}, keywords={group communication collaboration toolkits multicast collaboration awareness consistency sessions}, doi={10.4108/icst.collaboratecom.2014.257266} }
- Prasun Dewan
Year: 2014
Programmer-Controlled Application-Level Multicast
COLLABORATECOM
IEEE
DOI: 10.4108/icst.collaboratecom.2014.257266
Abstract
Group communication abstractions provide application-level multicasting to communicate information among distributed processes. A variety of such abstractions have been provided to implement synchronous collaborative applications but they do not allow control over the multicast of information to the selected group of processes. We have developed a new abstraction that overcomes this limitation. It defines a two-level grouping of distributed processes, with one level defining the users interacting with a specific collaborative application, and the other defining the set of collaborative applications a set of users is sharing simultaneously to perform some collaborative task. It allows information to be sent directly to the receiving processes or through a centralized relayer. In either case, programmer-choosable and replaceable send and receive filters provide consistency guarantees. The abstraction provides message passing rather than remote procedure calls, and supports asynchronous sending and receiving of messages. It is designed to support both centralized and replicated architectures. The abstraction has been implemented on top of the Java Remote Method Invocation layer and has been used to implement a broad range of collaboration functions.