next up previous
Next: Architecture Overview Up: chap6 Previous: chap6


Multicast Service in End-systems

The AMcast concept seeks to provide a global service network that can provide performance improvements to group communication applications. These benefits are most significant for applications that transmit at high data rates or have a large number of participants. Consequently, it can be worthwhile for customers to pay their service providers for obtaining these multicast services. There are, however, some circumstances where the benefit of an AMcast service may not justify its cost to the users. These occasions occur when an application only involves a small number of group members or operates within a high bandwidth subnet, such as a campus network or corporate network. For example, if a multi-player game session within a campus network were to use AMcast, each packet would have to traverse back and forth on the link between the campus network to the ISP network where the closest MSN is located. This creates additional bandwidth usage on the access links where resource availability is often most limited. Another example is a set of distributed cache servers that periodically require cache synchronization and update. As these caches are likely to be geographically dispersed and have high speed network access just as the MSNs do, the potential benefits of having the MSNs to tunnel traffic among them in a timely manner diminishes in these respects. On the other hand, these applications can still benefit greatly from having multicast capabilities although the gains may not be so much in reducing the network overhead from the unicast mechanisms, but in that the multicast mechanism can help the data sources to reduce the transmission load on their CPUs and on their interfaces.

The potential of having thousands of such small group multicast applications existing simultaneously is not well-suited for the IP multicast model. The need for global IP multicast addresses and the lack of a scalable address allocation scheme makes it unlikely that IP multicast will be adopted by these applications. Therefore, we need a solution for multi-sender multicast communication which scales for a large number of communication groups with small numbers of members, and does not depend on multicast support in the routers. In this chapter, we introduce an application level multicast infrastructure (ALMI) that addresses these concerns. This solution provides a multicast middleware which is implemented within the end systems and is capable of organizing the participants of a multicast session into a virtual multicast tree, i.e. a tree that consists of unicast connections between end hosts. The tree is formed as a Minimum Spanning Tree (MST), where the cost of each link is an application specific metric. Application level multicast offers accelerated deployment, simplified configuration and better access control at the cost of slightly higher traffic load in the network than native multicast. Since application level multicast is implemented in user space, it allows more flexibility for customizing certain aspects, e.g. data transcoding, error recovery, flow control, scheduling, differentiated message handling or security, on an application-specific basis.

The rest of the chapter is organized as follows: section 6.1 presents the architecture of the multicast middleware; section 6.2 presents operations that manages session membership and the multicast tree; in section 6.3, we discuss several application-specific components in ALMI; in section 6.4, we present the implementation of a Java based middleware package and the results of some performance experiments conducted over a local area network as well as over the Internet.



Subsections
next up previous
Next: Architecture Overview Up: chap6 Previous: chap6
© Sherlia Shi 2002
sherlia@acm.org
2002-7-25