Passive Application Layer Multicast
Over the last few years, application-layer multicast (ALM) has emerged as a plausible solution for supporting group-oriented applications. However, ALM suffers from inefficiency due to its reliance on end hosts and potentially significant changes at both the server and client applications. In this paper, we propose an approach, PALM (Passive Application Layer Multicast), that removes the need for changes to the server or client applications while allowing for dynamic discovery of supporting network devices and client-side OS modules. The passive nature of the approach comes from the fact that bandwidth savings occur transparently with zero required modifications to the networking environment, similar to approaches such as web caching. We demonstrate the performance improvements of PALM relative to ALM and compare the benefits versus network-level multicast and separate unicast approaches through both simulation and experimental studies.

X. Li,
A. Striegel, "A Case for Passive Application Layer Multicast,"
Computer Networks, vol. 51, no. 11, pp. 3157-3171, Aug 2007.
DOI BibTeX
Quick Links
- Get the PALM prototype code - C code tested on PlanetLab?
- Get the PALM ns-2 simulation code based on GenMCast
Overview
Multicast is an efficient mechanism for group-oriented applications.
However, multicast has suffered tremendous deployment issues due to
its global scale. Therefore, over the last few years, alternative group communication services such as Application Level Multicast (ALM) were developed to address this issue. ALM protocols implement all
multicast related functionality including group management and
packet replication at the end host. ALM can provide near
network-level multicast bandwidth savings without needing special
support from network routers.
Since replication operations under ALM are typically restricted to
only the end hosts (client), the distribution tree will lengthen,
resulting in a longer delay and an additional potential for loss.
Furthermore, the efficiency of an ALM approach utilizing only
client-side replication is directly dependent upon the richness of
the downstream clients. For most broadband solutions (cable, DSL)
offered to end users, the asymmetric nature of the connection (low
upload, high download) severely limits the overall efficiency of the
ALM tree due to the relatively low fan-out potential. Thus, an ALM
protocol must balance the tradeoff between efficiency and
QoS? .
Most important, ALM requires complete support to be directly
incorporated into the applications themselves. In contrast,
approaches such as web caching offer efficiency with both
application and the network infrastructure independence. The benefit
of such dual-phased independence is the ability to offer immediate
efficiency improvements to all applications (new and legacy) as well
as the ability for optional new services that further improve
efficiency and offer compelling incentives for end users, service
providers, and developers. The notion of independence from both the
network and the application provides the motivation for this paper.
In this paper, we propose a novel approach to ALM, Passive
Application Layer Multicast (PALM), that removes the active
involvement of the application in multicast transport. In PALM, a
device in the initial source network (the Virtual Group Detection
Manager) intercepts redundant data packets and aggregates the
packets into
virtual groups. The virtual groups are then
multicast using ALM as the transport mechanism between dynamically
detected ALM-friendly helper devices (AHDs) and ALM-friendly clients
(ACs). However, unlike previous ALM approaches
that utilized helper devices
that are known
a priori by the ALM protocol, PALM will
dynamically detect friendly helper devices. Furthermore, PALM
provides a seamless transition towards ALM in that all end clients
need not support the ALM transport mechanism nor participate in the
ALM process.
Most notably, our paper makes several key contributions with regards
to application-layer multicast. First, we propose a scheme that
offers benefits not only in the first mile/initial domain but also
in the last mile and our scheme avoids dependence on the ISP for
deployment. Second, we propose a scheme for dynamically detecting
helper devices without a priori knowledge. The notion of a dynamic
helper device allows for new service opportunities and resource
competition. Third, we propose protocols for dynamically detecting
ALM-friendly clients outside of the application data stream as well
as schemes for evaluating potential ALM-friendly client to non-ALM
client paths. Finally, it is our belief that an approach such as
PALM can improve the appeal of ALM by offering an immediate (no need
for application or network conversion) and tangible benefit that can
significantly improve scalability concerns of group-oriented
applications.