Skip to Main Content
Designing protocols to support collaborative applications is a non-trivial task that must be aided with design methodologies and middleware support. Support for multicasting is an important requirement in collaborative applications and several multicast frameworks supporting different ordering semantics such as FIFO, causal and total ordering have been studied. In this paper, we study the ordering requirements imposed by the modular, compositional structure of a protocol on the underlying multicast communication service (MCS). Collaborative protocols often consist of multiple functions, and techniques for designing multifunction protocols can be used for their development. The modular structure of such multifunction protocols may impose certain ordering requirements on the underlying MCS. We propose a scheme that allows a protocol to specify its ordering requirements and a technique to implement these requirements using an underlying MCS. We show that protocol design and composition is simplified if the messages are delivered in the application-specified order. We also show that the underlying MCS can exploit the structured communication pattern imposed by the modular structure of a protocol to improve the performance.