Scalable Reliable Multicast

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

A Scalable Reliable Multicast protocol is a reliable multicast framework for light-weight sessions and application level framing.[1] The algorithms of this framework are efficient, robust, and scale well to both very large networks and very large sessions. Wb, the distributed whiteboard tool designed and implemented by McCanne and Jacobson, is the first application based on the Scalable Reliable Multicast framework.[2]


Scalable Reliable Multicast is heavily based on the group delivery model that is the centerpiece of the IP multicast protocol. It attempts to follow the core design principles of transmission control protocol/Internet protocol (TCP/IP). It requires only the basic IP delivery model with possible duplication and reordering of packets and builds reliability on an end-to-end basis. The algorithms in Scalable Reliable Multicast dynamically adjust their control parameters based on the observed performance within a session like transmission control protocol adaptively setting timers or congestion control windows.


It has three major components, multicast, reliability and scalability.


It provides an efficient means to transmit data to multiple parties. A single copy of the packet travels down any given network link, and is duplicated at network branch points.


It is based on loss detection and re-transmission policy. Since sender-oriented reliability may lead to ACK[clarification needed] implosion, it uses receiver-based reliability. It does not focus on any particular delivery order.


This is an issue in many reliable multicast protocols because of state explosion and message implosion effect. Scalable Reliable Multicast uses various approaches like polling, hierarchy, suppression, etc, to achieve scalability.


  1. ^ Floyd, Sally and Jacobson (1995). ACM SIGCOMM Computer Communication Review.
  2. ^ V. Jacobson (1992). "A Portable, Public Domain Network `Whiteboard'". {{cite journal}}: Cite journal requires |journal= (help)