John Dunagan, Nicholas J.A. Harvey, Michael B. Jones, Marvin Theimer, and Alec Wolman
Application-level multicast trees built using reverse-path forwarding (RPF) on overlay network routing paths are a useful mechanism for scalable information dissemination. One major drawback of this approach is that nodes that are not subscribers to a multicast group can still be required to forward traffic for that group if they happen to lie on an overlay routing path between a subscriber and the group root node. This could serve as a disincentive for nodes to participate in the overlay since they may be required to perform substantial amounts of work for which they receive no immediate benefit. This paper presents Subscriber/Volunteer (SV) trees – a new form of overlay multicast tree that removes this possible obstacle to deployment. In SV trees, only nodes that are subscribers to a multicast group, or that volunteer to do so, are responsible for forwarding content. SV trees are implemented as RPF trees augmented by adding content forwarding links that route around nodes that are not subscribers or volunteers. SV trees maintain all the benefits of RPF trees, such as scalable delivery and join behavior, while also being polite to non-subscribers. The RPF tree, used for node joins, and the forwarding tree, used for content delivery, are kept consistent even in the face of nodes leaving and joining the multicast tree and/or overlay. Finally, our results show that SV trees deliver content more efficiently than RPF trees, since unnecessary network hops have been grafted out of the delivery trees.