A Flexible Multicast Routing Protocol for Group Communications
01 January 2000
(PREVIOUS TITLE: A FLEXIBLE PROTOCOL ARCHITECTURE FOR MULTI-PARTY CONFERENCING: FROM DESIGN TO IMPLEMENTATION) This paper describes the design and implementation of a new multicast protocol architecture that can be used for conferencing or online discussion groups. Applications of this type have the characteristic that while all group members are usually listeners, several members can and often do become speakers during the course of the discussion session. Another characteristic is that the group membership can change as members drop out or are added to the session. COnsequently, one major objective is to design a protocol that is effective when there are many such sessions that are concurrently active. A second objective is to use the same basic architecture to implement multicasting in a mobile environment. THis is possible because the basic primitives defined for joining and leaving discussion groups can be used to support the connection and disconnection of mobile applications to mobile support stations. Our proposed multicast routing protocol (called CSM) implements the notion of application assisted routing (AAR) to decide which shared tree to use for the session, and is built over the current unicast routing architecture. We propose the use of close to optimal shared Steiner trees fro the sessions. However, with AAR, other shared trees could also be established for a particular session based on the needs of the application. A key aspect of our design is the ability to transparently and reliably switch to a different shared tree when necessary. This paper discusses why a shared Steiner tree is appropriate for the discussion session and describes the detailed workings of CSM, including how the necessary periodic transition to a new shared tree is effected. Considerations of how to incorporate fault tolerance are also discussed, as are extensions of the CSM protocol to a wide area network consisting of multiple autonomous systems. A prototype CSM has been implemented and several CSM routers have been interconnected by tunnels to create a Multicast Steiner Backbone (Msbone). Msbone interoperates with Mbone and implements the CSM capabilities. We shoe how our architecture and implementation permit existing Mbone applications, such as vat, vic, and wb, to run transparently on Msbone.