Workshop do Projeto ARGO – Junho/2001

Implementation of Transport Multicast Protocols for Group Communication

Críston Pereira de Souza, Raimundo Macêdo, Flávio Assis

Distributed Systems Laboratory – LaSiD/UFBa

{criston, macedo, fassis}@ufba.br

 

 

There are many aplications that use multicast support, as live audio/video stream brodcast, software distribution and multimedia remote conferencing. We are interested in multicast support for group communication protocols. These group communication protocols have focused on high-level services such as

"causal" and "total ordering", and "atomicity" for fault tolerance. Part of these protocols have been developed having an underlying transport-level reliable multicast protocol capable of providing efficient and lossless delivery.

A critical issue for these reliable multicast protocols is the manner in which packets losses occur in the network[1]. When multicasting in actual networks, packets are propageted through a multicast routing tree. Even when there is a low probability of loss in each of the nodes of the tree, or in the links, the cumulative loss probability seen by the source at the root of the tree may be quite high. Furthermore, spatial and temporal loss correlation have to be considered. Spatial loss correlation means that if a given receiver experienced a loss, it is likely that nearby nodes will experience the same loss. The temporal loss correlation is related to network congestion. Therefore, if a given packet is missed, the chance of the next few packets will also be missed is greater than the original loss probability.

Besides reliability, the designer must think over flow control, congestion control and scalability of the protocol.

Newer protocols have been developed with scalability in mind. They use the receiver-initiates scheme, because the scalability problems of the sender-initiated approach: feedback implosion and excessive protocol's states. Some recent works[2][3], however, have proposed the use of sender-initiated scheme for support group applications. The main reasons are:

We have used in our group communication protocols a simple implementation of multicast support. This implementation uses multiples TCP connections to disseminate the messages. Each TCP connection does the error and flow control needed. However, it is well known that this kind of implementation has scalability problems, caused by feedback implosion. This work presents the main issues on multicast protocol design, and describe this simple implementation of multicast support.

 

References

[1] M. Barcellos. PRMP: Poll-based Scaleable Reliable Multicast Protocol. Ph.D. Thesis, University of Newcastle, Newcastle upon Tyne, Oct. 1998, 200p.

[2] Marinho Barcellos, André Detsch, Guilherme B. Bedin, Hisham H. Muhammad. Efficient TCP-like Multicast Support for Group Communication Systems. IX Brazilian Symposium on Fault-Tolerant Computing (SCTF), Proceedings, SBC (Porto Alegre), Florianópolis, 5-7 March 2001, pp.192-206.

[3] Congyue Liu, Paul Ezhilchelvan, Marinho Barcellos. A Multicast Transport Protocol for Reliable Group Applications. Technical Report 681, pp. 1-21, Department of Computing Science, University of Newcastle upon Tyne, 2000.