BM-ALM An Application Layer Multicasting with Behavior Monitoring

Document Sample
BM-ALM An Application Layer Multicasting with Behavior Monitoring Powered By Docstoc
					   BM-ALM: An Application Layer Multicasting with Behavior Monitoring
                             Approach

                         Dewan Tanvir Ahmed and Shervin Shirmohammadi
               Distributed & Collaborative Virtual Environments Research Laboratory
                         School of Information Technology and Engineering
                           University of Ottawa, Ottawa, Ontario, Canada
                              {dahmed, shervin} @discover.uottawa.ca


                      Abstract                              media content on the global network. Its success
                                                            therefore encouraged the implementation of other
    IP multicasting is the most efficient way to perform    forms of media distribution services such as
group data distribution, as it eliminates traffic           teleconferencing and media on demand using the end
redundancy and improves bandwidth utilization.              systems acting as cooperating peers.
Application Layer Multicast (ALM) has been proposed             Multicasting is proposed to support group data
to overcome some of the limitations in IP multicasting      distribution. Traditionally, multicasting is implemented
such as scalability and deploy-ability. Limited             at the network layer, in the way that routers define a
computing power, scarcity of bandwidth and end-             data delivery tree. As packets flow on this tree, they
host’s reluctance to share bandwidth make ALM               are replicated by the routers at the different branch
difficult to spread. In this paper, we keep eye to those    points of the tree. IP Multicasting [1] is the most
problems and present an ALM that scrutinizes the            efficient way to perform group data distribution, as it
commitment of the ALM nodes. Failure to provide             eliminates traffic redundancy and improves bandwidth
quality of service agreement triggers performance           utilization on the wide-area network. After a decade of
penalty for the node in concern. Thus, every node has       research into the various aspects of IP Multicasting
an obligation to its descendants; as a result, a nice       such as routing, group management, address
collaboration among the end-hosts is achieved for           allocation, authorization and security, quality of
group communication. It has good performance for            service (QoS) and scalability, the widespread
content distribution, as it reflects physical network       deployment of IP Multicast on the global inter-network
topology onto the overlay network constructed by the        has been dogged by technical, administrative and
end-hosts. Tree refinement and backup path strategies       business related issues [2][3]. One of the problems is
are taken to better satisfy heterogeneous QoS               the deployment difficulty. Current deployment
requirements.                                               practices of IP Multicasting require manual
                                                            configuration at routers to form the MBone, which
1. Introduction                                             makes it expensive to set up and maintain. Therefore
                                                            an alternative has been proposed to shift multicast
   Arguably the most influential development to             support from core routers to end systems. This is
encourage and bring about the idea of application layer     Application Layer Multicasting. In ALM, data packets
multicasting has been the tremendous success of peer-       are replicated at end-hosts instead of at routers.
to-peer file sharing applications such as Napster and its       ALM systems are constructed on top of Internet
successors such as Kazaa. Peer-to-peer file sharing         unicast infrastructure where end-hosts self organize
unequivocally illustrated the power of end systems (i.e.    themselves into a logically connected network to
user machines) cooperating with one another in order        support group communication. Usually self-governing
to distribute media over the Internet without requiring     ALM nodes are loosely coupled with each other and
any especial service from the underlying infrastructure     have the freedom to join/quit the multicast session at
other than the already provided best-effort unicast         any time. These end-hosts have limited resources such
service. Millions of home Internet users with               as bandwidth and computing power. Moreover, nodes
bandwidth limited dial-up and DSL connections could         are reluctant to share their bandwidth. These
cooperate together in order to distribute Gigabits of       constraints make it challenging to design an efficient
and robust ALM structure for multicasting. In this           node. Thus a client does not face the scarcity of
paper, we present a novel application layer                  bandwidth after joining the multicast group but the
multicasting method that monitors the commitment of          duration of audio/video disruption in BM-ALM might
ALM nodes to improve the overall system                      be longer than the approach of Guo et al. It is possible
performance. We call it Behavior Monitored ALM               to combine these approaches to get the benefits of
(BM-ALM). Failure to provide agreed quality of               both.
service may trigger performance penalties for its own.           We observed that many ALM protocols (such as
Thus every node has an obligation to its descendants;        RMX, Gossamer, Bayeux, Borg, Scribe) operate based
as a result, a nice collaboration among the end-hosts is     on an existing peer-to-peer substrate that serves as a
ensured for continual group communication. The rest          mesh on top of which an overlay multicast tree can be
of the paper is organized in the following sections.         constructed using either a reverse-path forwarding
Section 2 covers a brief related work in this field. We      scheme (Gossamer, RMX, Scribe), or a forward-path
present the BM-ALM architecture and the protocol in          forwarding scheme (Bayeux) or both (Borg). The
Section 3, while simulation results are discussed in         advantages of these approaches include low control
Section 4. Finally we conclude the paper in section 5.       overhead and distributed management of the multicast
                                                             tree, but they do not restrict the degree of each node
2. Related work                                              and they are sub-optimal. Instead of maintaining a
                                                             multicast tree, a multicast DAG (Directed Acyclic
   There have been significant research activities in        Graph) is constructed in ROME [8], to better satisfy
ALM-based protocols, some directed to real-time              heterogeneous QoS requirements from various
collaboration. Yusung et al. [4] proposed to construct       receivers simultaneously by setting up multiple paths.
topologically-aware data paths among the multicast           This leads to extra overhead as compared to other
group members. It does not need exact network                ALM protocols. Moreover, ROME is suitable for
topology, but it requires relative position of the           MANs not for WANs. BM-ALM does not use fraction
members using the landmarks. Protocol partitions the         resources of a client. One of the focuses of it is to
members into topologically-aware clusters based on           minimize the communication delay of the system. Thus
the ordering of their close landmarks. Topologically-        it shuffles the organization of the overlay to let the
aware data paths can reduce unnecessary high latency         resourceful node at the top of the multicast tree. If we
and redundant network resource usage with low                are able to use the residual bandwidth of zero out-
overhead over the existing scalable approaches.              degree nodes like DAG and include the features that
Instead of maintaining landmarks, BM-ALM uses end-           BM-ALM has, the overall performance of the system
to-end delay to discover the physical topology.              would be high in terms of resource usage and
Wierzbicki et al. introduced Fastcast [5] for efficient      communication delay at the expense of message
peer-to-peer applications. It is a root based, online, and   overhead.
topology-aware ALM. It is controlled by a parameter,
and by changing this parameter it is possible to             3. The monitored ALM protocol
tradeoff between used traffic and the worst-case length
of the application layer path. BM-ALM considers                 With the involvement of ALM nodes, BM-ALM
resource limitation of end-hosts and assigns out-degree      constructs an overlay structure for group
to each host based on the available uploading                communication. Dedicated proxy servers are deployed
bandwidth.                                                   in the system and act like initial entry points for the
   Yoid [6] defines a protocol for building a multicast      participating nodes. An ALM node in BM-ALM is not
tree using the distributed end hosts. It uses hop count      only a receiver but also a forwarder to distribute the
as a measure of distance. BM-ALM on the other hand           content to its children (if there is any) provided that it
uses end-to-end delay which yields better results for        has enough resources in terms of bandwidth. The
real-time collaboration. Guo et al. proposed a solution      following sub-sections present design principles of the
to deal with the problem of disruption in live video         application layer multicast with behavior monitoring
streaming to a group of clients [7]. Video continuity is     approach.
maintained in spite of the departing clients using a
combination of time-shifted streams at the server and        3.1. A mapping - Bandwidth to out-degrees
video patching. Both techniques demand high
bandwidth not only from the server but also from the           Actually the feasibility of group communication
end users. BM-ALM considers the out-degree of each           over the ALM depends on whether or not there is
available bandwidth at the end-hosts. Usually the end        backup parent is to select the next best parent from the
hosts have asymmetric downloading/uploading rates.           potential parent list that was built up during the
Moreover, the heterogeneity of outgoing bandwidth of         primary parent selection phase. Naturally it is found
the end-hosts can not be ignored when designing the          that a group of people from the same locality has a
protocol. In the reality, around 50% of hosts have zero      common interest. So this might lead to blocking a good
out degree [9]. A node with zero out degree makes            degree of an ALM node in its close locality. After
ALM not to scale beyond that point on the overlay            while, when another node of the same
structure. This fact cannot be overlooked and hence the      region/proximity joins to the multicast session may
protocol assigns degrees to nodes by considering their       suffer from the best close parent and hence ultimately
capabilities. For example, if the required bit rate is 244   increases cumulative end-to-end delay of the entire
kbps and a user has an outgoing bandwidth of 256             system. To handle such situation and keeping room for
kbps making its degree to 1. It may happen that a user       other nodes, it randomly selects the backup parent
has zero out degree, e.g. pure receiver. This situation      from the middle of the list that is sorted based on end-
encourages us to refine the overlay structure.               to-end delay for the node in concern. In fact, this
                                                             backup node might be a good parent for another new
3.2. Node signup                                             node.
                                                               But when the protocol’s objective is to carry time
   In BM-ALM each node explores the overlay                  dependent data, we target not to lose any data sent
structure to find its best parent in terms of end-to-end     from the true sender (e.g. multicast source). It is
delay. Every new member starts up by sending a               chosen from the list of potential parents during the
 JOIN _ REQ to its nearest proxy server. In order to         node joining phase. Thus there is no extra overhead
lower the overhead of parent searching process in the        associated with this policy. Obviously, backup parent
multicast tree, the joining node also provides the depth     must reserve the necessary bandwidth for its potential
limit as a scoping parameter. Once the server receives       children. Say, Tbuffer is the playable time of the stored
the join request, it delegates the request to its children   media of a host. Let the base time of the stream at the
to take care of the new node. If the server has a free       switching node and at the potential backup parent are
out degree, it also reports the fact to the requester. All   Tbase _ switch and Tbase _ bp respectively. End-to-end delay
the children do the same as the server does. This parent
searching process continues within the depth limit. It       between these two nodes is RTTswitch ,bp . We assume
then chooses one of them as a real parent based on the       that member leaves a multicast session safely, i.e., it
end-to-end delay. If it does not receive any response it     informs its children before departing the session and
can re-send JOIN _ REQ with an increased maximum             children are capable of continuing playback from the
depth limit. This time it has to increase its waiting        buffer at most Tbuffer time. A node selects a backup
period to get the response just like the exponential
back-off mechanism. Dewan and Shervin presented              parent who satisfies the following equation:
such node joining approach with an example in [10].             (Tbase _ bp + RTTswitch ,bp + α ) ≤ (Tbase _ switch + Tbuffer )
Moreover, instead of specifying the depth limit, node        We include α in this equation that represent switching
can also wait for a period of time after making the join     overhead. If all potential parents fail to satisfy above
request. This would be an indirect way to emulate the        equation, it chooses the best one among them. This
depth limit.                                                 policy tries to maximize continual playback during the
                                                             parent switching period.
3.3. Backup parent – A fault tolerance method
                                                             3.4. Tree refinement – Improving the overlay
  BM-ALM allows node to keep a spare connection to
handle ungraceful parent departures. We named this              Depending upon the order of joining requests for the
spare connection as backup connection (parent). When         same set of nodes, constructed trees might be different
the connectivity between the host and the real parent        and have different perception quality. Usually the
fails, the host quickly activates the backup connection      quality of the path between any pair of members is
without a new JOIN _ REQ which eventually reduces            comparable to the quality of the unicast path between
communication overhead and decreases lag time                that pair of members. So, we need a low height ALM
significantly.                                               tree. That is why we allow controlled refinement in the
  We consider two approaches for backup parent               application layer multicast tree. BM-ALM applies
selection purpose. The simplest way to choose a              refinement operation only at the node joining phase to
let Node N to pick Node P as its parent. Node P will be                      to the proxy server. Node then reports to its
Node N’s child after the refinement operation if                             grandparent about the behavior of its parent. Based on
following conditions are satisfied;                                          the feedbacks grandparent can take an action by
(1) delay ( N , par ( P )) < delay ( P, par ( P )) ,                         reducing the service to that particular node. As all the
(2) degree(N) > degree(P) , and (3) gain > 1 , where                         nodes have some obligation to ensure certain
                                                                             performance, hence the performance of the entire
         delay( P, par( P)) + ∑x∈child ( P ) (1 + N ( x)) × delay( x, P)
gain =                                                                       system is guaranteed to a certain extent. This is a way
         delay( N , par( P)) + ∑x∈child ( P ) (1 + N ( x)) × delay( x, N )   to fulfill the commitment in an indirect way.
N(x) and par(x) represent number of descendants and
parent of Node x. Nodes having higher degree (i.e.                                                                A
bandwidth) are moved up in order to limit the height of
the multicast tree by the use of second condition. First                                                 l bps W
and third conditions focus on the local and the global
optimization of the tree.
                                                                                                        B         C    D
3.5. Handling member departures                                                                      x bps      y bps z bps

   The most critical part of the ALM approach is to
deal with the node departures. Whenever a node                                              Figure 1. Controlling QoS
decides to leave, it has to cleanup all its active
connections. So it requires informing all active                                The multicast tree is constructed incrementally
communication partners to make the system consistent.                        according to the agreed bit rates between a pair of
But in real situation this is not so easy. Actually,                         nodes. In Figure 1, Node B, C and D report to Node A
departures can be divided into two categories -                              about the committed and offered services of their
graceful departure and ungraceful departure. In a                            parent (here the parent is Node W). If there is no
graceful departure situation, a leaving node notifies its                    discrepancy between committed and offered services,
communication partners and then it leaves, so the                            that node of the tree is performing a good job.
nodes can update their states and reconstruct the tree.                      Moreover the performance of the tree is not hampered
The member is permitted to leave after all of its                            by that node at least. Otherwise, by applying following
children are able to join the tree. In an ungraceful                         formula Node A calculates the percentage of average
situation, the node leaves without any notification. To                      service deviation caused by that node.
handle this case, every node must deploy a node                                                                          CS ( x) − OS ( x)
                                                                                                         ∑ x∈child ( w )                   × 100
departure detection mechanism. This mechanism is                                                                              CS ( x)
                                                                              service _ deviation, d % =                                         ,
similar to the fault-detection algorithms, where a “keep                                                                  NOD(W )
alive” message is sent to a communication partner, and                       where CS and OS are committed service and offered
timer is started, say for T seconds. If the timer elapses                    service respectively and NOD(W) represents number of
and it does not receive any acknowledgment, then the                         descendants of Node W. In that case Node A will
node can be confirmed that the other partner has been                        reduce the offered service by an amount of d % for
departed and then acts accordingly. Children of                              Node W (Figure 1). But there is a chance of chain of
departing node then switch to their backup parents.                          complains. For example Node W can complain about
Nodes can re-initiate JOIN _ REQ to discover their                           Node A to its grandparent. To handle this situation,
new backup parents while being connected to the                              Node A informs to its parent, i.e. grandparent of Node
multicast tree.                                                              W, about the penalty of Node W to nullify impious
                                                                             complain. This reporting is cross-checked to make the
3.6. Monitoring ALM nodes – Quality control                                  system operational. Hence the behavior monitoring
                                                                             scheme provides punishment for each node when it
The performance of ALM indeed depends upon the                               goes against its commitment. The root of the tree has
cooperation of the ALM nodes. Most of the cases end-                         no parent to whom level-one children can send
hosts are reluctant to share their bandwidth but on the                      complains. Actually this is unnecessary, as the root is
other hand they themselves demand high bit rates. In                         the true sender of multicast data. This feedback of
order to monitor the behavior of the ALM nodes, we                           service is carried out in periodic fashion and allows the
deploy behavior monitoring policy. Each node learns                          nodes to recover from punishment if there are any.
the identity of its grandparent through an explicit query
  Moreover, a wicked node may decide to report to its      5. Conclusion
children that it leaves the network and obtain a high-
quality connection from its parent without further            In this paper we presented a monitored ALM
distribution of the content to the children. To handle     approach to distribute group data in multicast fashion.
this situation, grandchildren reports up to the            Collaboration architecture of BM-ALM is designed to
grandparent and grand-backup parent about the              support heterogeneous end-hosts. It constructs efficient
incident. So the wicked node can easily be detected        overlay structure with the help of multiple-servers and
during the multicast session and get the punishment of     reduces overall end-to-end latency through tree
low bit rate.                                              refinement operation. BM-ALM scrutinizes the
                                                           commitment of ALM nodes. Failure to provide the
4. Simulation results                                      QoS agreement may trigger performance penalty.
                                                           Thus, every node has an obligation to its descendants;
   We verified the performance of BM-ALM through           as a result, a nice collaboration among the end-hosts is
extensive simulation. In an area of 106 square units,      ensured for continual group communication.
servers and nodes are placed randomly. We assume
that each node has the information of its nearest server
                                                           6. References
where it will send its join request. Around 1000 nodes
start joining to a multicast session at a particular       [1] S. Deering and D. Cheriton, "Multicast routing in
instant of time. We define system utilization as a ratio        datagram internetworks and extended LANs,” ACM
of used bandwidth to available bandwidth. BM-ALM                Trans. on Computer Systems, 8(2):85--110, May 1990.
maps each node’s bandwidth to its out degree and           [2] A. El-Sayed, V. Roca, and L. Mathy, "A survey of
hence system utilization becomes the ratio of                   proposals for an alternative group communication
consumed degrees to available degrees. The consumed             service," IEEE Network Magazine, vol.17, no.1, pp.46–
resources are in the range of 22% to 28%. This is a             51, Jan-Feb. 2003.
good indication of a scalable system. It also indicates    [3] B. Zhang, S. Jamin, and L. Zhang, "Host multicast: A
                                                                framework for delivering multicast to end users," Proc.
that reservation of bandwidth through spare connection
                                                                of IEEE INFOCOM, pp.1366–1375, New York, NY,
is not superfluous. Due to space limitations we are not         June 2002.
mentioning detail results and discarded the figures.       [4] K. Yusung and K. Chon, “Scalable and Topologically-
    The quality of the constructed overlay is verified          aware Application-layer Multicast”, Proc. of
through the depth of the tree, the average and the              GLOBECOM, vol. 2, pp. 1266 – 1270, 2004.
standard deviation of the end-to-end delay to parents.     [5] A. Wierzbicki, R. Szczepaniak, M. Buszka,
With a single server, even though the average and the           “Application Layer Multicast for Efficient Peer-to-Peer
standard deviation are almost identical for a large             Application”, Proc. of IEEE WIAPP, pp. 126-130,
number of hosts but the joining latency is high that            2003.
                                                           [6] P. Francis, "Yoid: Extending the multicast Internet
indicates the necessity for multiple servers. Hence to
                                                                architecture,"            1999,            white-paper,
carry time dependant media over ALM multiple                    http://www.icir.org/yoid/
servers/proxies are essential. The tree refinement         [7] M. Guo and M.H. Ammar, “Scalable live video
policy deployed by BM-ALM enhances system’s                     streaming to cooperative clients using time shifting and
performance by reducing cumulative end-to-end delay.            video patching.” Proc. of IEEE INFOCOM, Vol. 3, pp.
This is because through refinement operation a node             1501 – 1511, 2004.
having higher degree and lower communication               [8] Y. Jiong, “Deliver Multimedia Streams with Flexible
latency joins close to the server. We compare the               QoS via a Multicast DAG”, Proc. of ICDCS, pp. 126-
performance of BM-ALM with ProBaSS [11].                        135, 2003.
                                                           [9] K. Sripanidkulchai, A. Ganjam, B. Maggs, and H.
ProBaSS is a greedy approach where a node searches
                                                                Zhang, "The feasibility of supporting large-scale live
all the nodes from the root to the leaf on a particular         streaming applications with dynamic application end-
path. As compared to BM-ALM, it may have lower                  points", Proc. of SIGCOMM, 2004.
communication delay to its parents. But scalability is a   [10] D.T. Ahmed and S. Shirmohammadi, “A Hybrid P2P
big issue in ProBaSS. In a real situation, many of the          Protocol for Real-Time Collaboration”, Proc. IEEE
nodes have zero out-degree. So when a zero out degree           Workshop on Collaborative P2P Information Systems,
host joins to the ALM tree it can’t scale beyond that           Manchester, U.K., June 2006.
point. And if all nodes on that path are engaged then a    [11] Y. Zhong, S. Shirmohammadi and A. El Saddik,
joining host following that path fails to join. But BM-         “Measurement of the Effectiveness of Application-
                                                                Layer Multicasting”, Proc. of IEEE IMTC, 2005.
ALM applies depth limit search that explores all the
paths within the depth limit.