Multicast is the process of sending every single
packet to multiple destinations. Motivations behind multicast facilities
are to handle one-to-many communications in a wide-area network with the lowest
network and end-system overheads. In contrast to best-effort multicast, that
typically tolerates some data losses and is more suited for real-time audio
or video for instance, reliable multicast requires that all packets are safely
delivered to the destinations. Desirable features of reliable multicast include,
in addition to reliability, low end-to-end delays, high throughput and scalability.
In active networking, routers themselves play an active role by executing
application-dependent services on incoming packets. Recently, the use of
active network concepts where routers themselves could contribute to enhance
the network services by customized functionalities have been proposed in
the multicast research community . Contributing mainly on feedback implosion
problems, retransmission scoping and cache of data, these active reliable
multicast protocols open new perspectives for achieving high throughput and
low latency on wide-area networks:
the cache of data packets allows for local recoveries of loss packets
and reduces the recovery latency.
the global or the local suppression of NACKs reduces the NACK
the subcast (partial multicast) of repair packets to a set of
receivers limits both the retransmission scope and the bandwidth usage.
DyRAM "Dynamic Replier Active reliable Multicast"
DyRAM is a reliable multicast protocol with a recovery strategy based
on a tree structure constructed on a per-packet basis with the assistance
of routers. It is an incremental step from the existing propositions but
it has been designed to provide low-overhead active functionalities with
a dynamic replier election on a per-packet basis. The protocol uses a NACK-based
scheme with receiver-based local recoveries where receivers are responsible
for both the loss detection and the retransmission of repair packets. Routers
play an active role in DyRAM which consists in the following services:
the NACK suppression of duplicate NACKs in order to limit the
NACK implosion problem.
the subcast of the repair packets only to
the relevant set of receivers that have experienced a loss. This helps
to limit the scope of the repairs to the affected subtree.
the early detection of packet losses and the emission of corresponding
the replier election which consists in choosing a link as a replier
one to perform local recoveries from the receivers instead of caching data
packets at the routers.
The local recovery in DyRAM is performed by repliers elected amongst
a sub-set of receivers. Instead of an approximate solution based on timers
as in SRM, or a complex DLR discovery as in PGM, the elected replier in our
case is dynamically determined at each lost packet (without much overhead
as it will be described later on), and not determined at the beginning of
the multicast session, thus justifying the ``dynamic replier'' property of
our active reliable multicast protocol (noted DyRAM). Since a specific replier
can be chosen for each lost packet, it is therefore possible to have several
logical subtrees at the same time for the recovery process. In addition, this
very dynamic choice of the replier provide load balance features that decreases
the end-to-end latency and reduce the receiver overhead. As opposed
to LMS and PGM, DyRAM uses the concept of active networking with active services
within routers for implementing several advanced mechanisms including the
Motivations behind DyRAM can be summerized in th following design goals
to minimize active routers load in order to make them supporting
more sessions (mainly in unloading them from the function of data caching),
to perform a more efficient replier link election procedure with
to dynamically distribute the recovery task among the downstream
receivers to not overload one replier and
to incur as low as possible execution/memory overheads.