next up previous
Next: X: Network I/O Up: Distributed Communication Previous: ISIS: Process Groups

MBone: Network Multicast

In ISIS, Multicast is supported in the library layer. It can be supported in lower-level layers to give better performance. In particular, if it is supported in the kernel layer, then it is sufficient to make a single kernel call to multicast a message to a process group; and if it is supported in the network layer, then it may be sufficient to send a single message along a network link to multicast the message to multiple processes connected by the link. For this reason MBone [] (Multicast backbone) provides network-level support for multicast. Multicast messages are targeted at special IP addresses that are associated with groups of hosts.

The saving in kernel calls and network messages

is particularly important for scalable video conferencing, which must send large number of large messages to a large number of sites. MBone has been designed for such applications and includes an interesting set of applications for making distributed presentations including audio and conferencing tools and a whiteboard application. All of these tools are scalable in that they have been used by hundreds of users.

Reliability in scalable multicasts can be a tricky issue. In many reliable unicast protocols such as TCP/IP, the sender is responsible for ensuring that the message is delivered to the receiver by waiting for a positive ack from the latter. This is not a good approach

in scalable multicast, since it puts an undue burden on the sending site, which must wait for a large number of positive acks. It is better to use to make each receiver responsible for ensuring reliability by sending negative acks in case messages are lost.

Wb [], an Mbone shared whiteboard, illustrates another use for negative acks in a replicated implementation of a collaborative application. It uses them for supporting dynamic addition of users in an ongoing collaborative session: the replicas created for these users simply send negative acks to receive the current state of the conference. They do not have to, as in our replicated implementation of the example, send application-specific messages requesting the current conference state.



next up previous
Next: X: Network I/O Up: Distributed Communication Previous: ISIS: Process Groups



Prasun Dewan
Sun Mar 16 14:09:55 EST 1997