multicast routing with delay and delay variation constraints for collaborative applications on...

11
Multicast Routing with Delay and Delay Variation Constraints for Collaborative Applications on Overlay Networks Shankar M. Banik, Student Member, IEEE, Sridhar Radhakrishnan, and Chandra N. Sekharan Abstract—Computer supported collaborative applications on overlay networks are gaining popularity among users who are geographically dispersed. Examples of these kinds of applications include video-conferencing, distributed database replication, and online games. This type of application requires a multicasting subnetwork, using which messages should arrive at the destinations within a specified delay bound. These applications also require that destinations receive the message from the source at approximately the same time. The problem of finding a multicasting subnetwork with delay and delay-variation bound has been proved to be an NP Complete problem in the literature and heuristics have been proposed for this problem. In this paper, we provide an efficient heuristic to obtain a multicast subnetwork on an overlay network, given a source and a set of destinations that is within a specified maximum delay and a specified maximum variation in the delays from a source to the destinations. The time-complexity of our algorithm is OðjEnk logðjEj=nÞþ m 2 kÞ, where n and jEj are the number of nodes and edges in the network, respectively, k is the number of shortest paths determined, and m is the number of destinations. We have shown that our algorithm is significantly better in terms of time-complexity than existing algorithms for the same problem. Our extensive empirical studies indicate that our heuristic uses significantly less runtime in comparison with the best-known heuristics while achieving the tightest delay variation for a given end-to- end delay bound. Index Terms—Multicasting protocols, overlay networks, shortest path. Ç 1 INTRODUCTION T HE Internet has made a tremendous impact on human civilization by providing global connectivity to a vast number of end users who are geographically dispersed from each other. Researchers believe that a large portion of the Internet’s success was due to its simple underlying network protocol (IP). But, the success of Internet also opens up a limitation, in that it is very difficult to deploy a new protocol or add a new service at the network layer. For instance, adding a new service at the network layer might imply changing all the routers in the Internet around the world, which is not feasible. Computer Supported Group Collaborative applications such as video conferencing, large-scale distributed interactive simulation, online games, and distributed database replication need efficient group communication, which is not dictated by the underlying network. To alleviate this problem, a recent research trend is to develop and implement network layer protocols at a virtual layer. The virtual layer can be on top of the application layer or on top of the network layer. This method will give users the flexibility to develop network protocols that suit their application needs. Clearly, application programs can reside only at the end-hosts. Taking note of this, network applications build virtual networks, also called overlay networks [2], [5], [23], [28]. An overlay network is a virtual or logical network over an existing network. In an overlay network, each individual logical link that connects two nodes can contain several routers and hosts in the under- lying physical network. Overlay networks provide a flexible approach for applications. When a better routing or a control protocol is demanded by an application, it can be easily deployed in the application level without changing the lower level Internet protocols. In an overlay network, the end-users self-organize themselves into a network architecture and share the responsibility for creating, consuming, and forwarding messages among themselves. Each edge in this network corresponds to a unicast path between two end-hosts in the underlying network. Two types of architectures have been proposed by the researchers for the overlay network: peer- to-peer architecture and proxy-based architecture. In the peer-to-peer architecture, all end-users are connected to each other. The network functionality of the overlay is pushed to end-users. Napster [21] and Gnutella [13] are two examples of peer-to-peer architecture. In the proxy-based architecture, networking service is provided through a set of distributed nodes called Network Service Nodes (NSN) (Multicasting on overlay networks [2], [28] refer to these nodes as Multicast Service Nodes (MSN)). The NSNs communicate with end-users and with each other using standard unicast mechanisms. M-Bone [11] and X-Bone [29] are examples of proxy-based overlay networks. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 3, MARCH 2007 421 . S.M. Banik and S. Radhakrishnan are with the School of Computer Science, University of Oklahoma, 200 Felgar Street, EL Building, Norman, OK 73019. E-mail: {smbanik sridhar}@ou.edu. . C.N. Sekharan is with the Department of Computer Science, Loyola University Chicago, 6525 N. Sheridan Road, Chicago, IL 60626. E-mail: [email protected]. Manuscript received 14 Aug. 2005; revised 23 Jan. 2006; accepted 21 Mar. 2006; published online 25 Jan. 2007. Recommended for acceptance by Y. Pan. For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference IEEECS Log Number TPDS-0370-0805. 1045-9219/07/$25.00 ß 2007 IEEE Published by the IEEE Computer Society Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.

Upload: ieeexploreprojects

Post on 30-Nov-2014

407 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Multicast routing with delay and delay variation constraints for collaborative applications on overlay networks

Multicast Routing with Delay and DelayVariation Constraints for Collaborative

Applications on Overlay NetworksShankar M. Banik, Student Member, IEEE, Sridhar Radhakrishnan, and Chandra N. Sekharan

Abstract—Computer supported collaborative applications on overlay networks are gaining popularity among users who are

geographically dispersed. Examples of these kinds of applications include video-conferencing, distributed database replication, and

online games. This type of application requires a multicasting subnetwork, using which messages should arrive at the destinations

within a specified delay bound. These applications also require that destinations receive the message from the source at approximately

the same time. The problem of finding a multicasting subnetwork with delay and delay-variation bound has been proved to be an

NP Complete problem in the literature and heuristics have been proposed for this problem. In this paper, we provide an efficient

heuristic to obtain a multicast subnetwork on an overlay network, given a source and a set of destinations that is within a specified

maximum delay and a specified maximum variation in the delays from a source to the destinations. The time-complexity of our

algorithm is OðjEj þ nk logðjEj=nÞ þm2kÞ, where n and jEj are the number of nodes and edges in the network, respectively, k is the

number of shortest paths determined, and m is the number of destinations. We have shown that our algorithm is significantly better in

terms of time-complexity than existing algorithms for the same problem. Our extensive empirical studies indicate that our heuristic uses

significantly less runtime in comparison with the best-known heuristics while achieving the tightest delay variation for a given end-to-

end delay bound.

Index Terms—Multicasting protocols, overlay networks, shortest path.

Ç

1 INTRODUCTION

THE Internet has made a tremendous impact on humancivilization by providing global connectivity to a vast

number of end users who are geographically dispersedfrom each other. Researchers believe that a large portion ofthe Internet’s success was due to its simple underlyingnetwork protocol (IP). But, the success of Internet alsoopens up a limitation, in that it is very difficult to deploy anew protocol or add a new service at the network layer. Forinstance, adding a new service at the network layer mightimply changing all the routers in the Internet around theworld, which is not feasible. Computer Supported GroupCollaborative applications such as video conferencing,large-scale distributed interactive simulation, online games,and distributed database replication need efficient groupcommunication, which is not dictated by the underlyingnetwork.

To alleviate this problem, a recent research trend is todevelop and implement network layer protocols at a virtuallayer. The virtual layer can be on top of the application layeror on top of the network layer. This method will give usersthe flexibility to develop network protocols that suit their

application needs. Clearly, application programs can resideonly at the end-hosts. Taking note of this, networkapplications build virtual networks, also called overlaynetworks [2], [5], [23], [28]. An overlay network is a virtualor logical network over an existing network. In an overlaynetwork, each individual logical link that connects twonodes can contain several routers and hosts in the under-lying physical network. Overlay networks provide a flexibleapproach for applications. When a better routing or acontrol protocol is demanded by an application, it can beeasily deployed in the application level without changingthe lower level Internet protocols.

In an overlay network, the end-users self-organize

themselves into a network architecture and share the

responsibility for creating, consuming, and forwarding

messages among themselves. Each edge in this network

corresponds to a unicast path between two end-hosts in the

underlying network. Two types of architectures have been

proposed by the researchers for the overlay network: peer-

to-peer architecture and proxy-based architecture. In the

peer-to-peer architecture, all end-users are connected to

each other. The network functionality of the overlay is

pushed to end-users. Napster [21] and Gnutella [13] are two

examples of peer-to-peer architecture. In the proxy-based

architecture, networking service is provided through a set

of distributed nodes called Network Service Nodes (NSN)

(Multicasting on overlay networks [2], [28] refer to these

nodes as Multicast Service Nodes (MSN)). The NSNs

communicate with end-users and with each other using

standard unicast mechanisms. M-Bone [11] and X-Bone [29]

are examples of proxy-based overlay networks.

IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 3, MARCH 2007 421

. S.M. Banik and S. Radhakrishnan are with the School of Computer Science,University of Oklahoma, 200 Felgar Street, EL Building, Norman, OK73019. E-mail: {smbanik sridhar}@ou.edu.

. C.N. Sekharan is with the Department of Computer Science, LoyolaUniversity Chicago, 6525 N. Sheridan Road, Chicago, IL 60626.E-mail: [email protected].

Manuscript received 14 Aug. 2005; revised 23 Jan. 2006; accepted 21 Mar.2006; published online 25 Jan. 2007.Recommended for acceptance by Y. Pan.For information on obtaining reprints of this article, please send e-mail to:[email protected], and reference IEEECS Log Number TPDS-0370-0805.

1045-9219/07/$25.00 � 2007 IEEE Published by the IEEE Computer Society

Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.

Page 2: Multicast routing with delay and delay variation constraints for collaborative applications on overlay networks

Multicasting is an efficient communication mechanismwhere a source host sends the same message to a group ofdestination hosts, called the multicasting group. Thegeneral strategy for accomplishing this task is to constructa rooted tree T , called the multicast tree, that contains thesource as the root and the destination hosts as the leafnodes. The primary advantage of using the multicast is thatit conserves network bandwidth. Contrasted with theunicast mechanism, where separate messages are sent toeach destination host from the source host, multicastingavoids sending the same message multiply over links thatare common to a source and different destinations.

Collaborative applications such as video conferencing,online games, interactive simulations, and distributeddatabase replications require that messages should arriveat the destinations within a specified delay bound.Furthermore, these applications also require that thedestinations receive the message from the source atapproximately the same time. In applications for telecon-ference, the data sent from the speaker’s end should reachall the participants at the same time, which means the delayvariation among the paths from the speaker to theparticipants should be a minimum. Certain critical databaseapplications (e.g., stock brokerage databases) require thatdata should be replicated at all sites at the same time;otherwise, data will be temporally inconsistent. Onlinegaming applications also require that a move made by aplayer should be viewable by other players almost at thesame time.

The problem of Delay and Delay Variation BoundedMulticasting Network (DVBMN) is one of finding a subnet-work given a source and a set of destinations that satisfiesthe QoS (Quality of Service) requirements on the maximumdelay from the source to any of the destinations and on themaximum interdestination delay variance. Rouskas andBaldine [24] have shown that the DVBMN problem is NP-complete and have presented the first heuristic for theproblem along with its performance evaluation. Kapoor andRaghavan [18] provided a novel heuristic that uses dynamicprogramming and showed that the delay variation obtainedby their algorithm is significantly less than the heuristic ofRouskas and Baldin [24]. Unlike the heuristic of Rouskasand Baldine [24] which constructs a multicasting tree, theheuristic of Kapoor and Raghavan [18] constructs a multi-casting network that may not be a tree. But, on such anetwork, no more than two messages are sent along eachedge and, hence, it achieves the desired bandwidth savings.A simple heuristic was provided by Sheu and Chen [27], inwhich there are no bounds set on the delay variation. Thecomplexity of the heuristics proposed by Kapoor andRaghavan [18] and Rouskas and Baldine [24] is high whena new member joins the multicasting group or an existingmember leaves the group.

In this paper, we present a polynomial time heuristic forthe DVBMN problem with the following characteristics:

. Our heuristic achieves the tightest (in a technicalsense to be precisely defined later) possible boundson delay variation along with Kapoor and Raghavan[18], but our heuristic outperforms the heuristic in[18] in terms of time-complexity. The complexity of

our heuristic is OðjEj þ nk logðjEj=nÞ þm2k), wheren and jEj are the number of nodes and edges in theoverlay network, respectively, m is the number ofdestinations, and k is the number of shortest pathsdetermined between source and destination nodes.The complexity of the heuristic in [18] is Oð�jEjm�Þ,which is pseudopolynomial in delay and delayvariation bounds, where m is the number ofdestination nodes, and � and � are the delay anddelay variation bounds, respectively. Note that � isindependent of the network size and, hence, evenfor smaller and less dense graphs, the heuristic in[18] requires large execution time. The time-complexity of the heuristic by Rouskas andBaldine [24] is OðnmkðjEj þ nk logðjEj=nÞÞÞ1 usingthe best known k shortest path algorithm in [16].Note that, for dense graphs, that is, jEj ¼ Oðn2Þand m ¼ OðnÞ, the time complexity of the algo-rithm in [24] is Oðn4kþ n3k logðjEj=nÞÞ. For thesame values of jEj and m, our algorithm will havecomplexity of Oðn2kÞ. It should be pointed out thatthe heuristic by Rouskas and Baldine [24] does notprovide the tightest delay variation as obtained bythis paper and Kapoor and Raghavan [18].

. We use an efficient k shortest path algorithm due toVictor and Andres [16], [17] on various networktopologies with different edge densities. Thek shortest path algorithm [16], [17] was executedon a 360 MHz (SunSparc) computer. On a graphwith 100 nodes with 80 percent edge density,10 shortest paths between all pairs of nodes (10,000of them) can be determined in just 15 seconds. Also,in order to find about 2,000 shortest paths betweenthe source and 10 destinations in a dense graph with100 nodes, it took only 65 seconds!

. Extensive simulations with varying number ofnodes, edge densities, and size of multicasting grouphave shown that our heuristic algorithm outper-forms heuristics in [18], [24] by a significant marginin terms of execution time while achieving thetightest possible delay variation.

. In order to perform a join operation (where a singlenode joins the multicasting group) or leave operation(where a single node leaves the multicasting group),we show that our heuristic has a time-complexity ofOðm2kÞ with the tightest delay variation. Theheuristics in [24] and [18] have to be rerun in orderto perform either a single join or leave operation,and, hence, incur complexities of OðnmkðjEj þnk logðjEj=nÞÞÞ and Oð�jEjm�Þ, respectively.

. Our heuristic is applicable to both proxy-based andpeer-to-peer overlay networks. Though these twonetworks have architectural differences, they havethe same issues regarding the construction of anefficient multicasting subnetwork. Thus, a node inour paper refers to the entity that actually takes partin the protocol and could be an end-user or an MSN.

422 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 3, MARCH 2007

1. The complexity in [24] is shown to be Oðk2mn4Þ using a less efficientk shortest path algorithm. We also implement the heuristic of Rouskas andBaldine [24] using the faster k shortest path algorithm in [16].

Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.

Page 3: Multicast routing with delay and delay variation constraints for collaborative applications on overlay networks

This paper is organized as follows: The formal definitionof the DVBMN problem is given in Section 2. In Section 3,we review the existing heuristics for the DVBMN problem.In Section 4, we discuss the limitations of bufferingmessages to reduce delay variation. Section 5 provides amotivating example that illustrates the key idea behind ourheuristic. More detailed explanation of our heuristic and theassociated algorithm, correctness, and complexity arediscussed in Section 6, followed by performance studies inSection 7. The discussion on join and leave operations arepresented in Section 8, and we conclude with the summaryof our results in Section 9.

2 FORMAL DEFINITION OF THE PROBLEM

We use a weighted graph G ¼ ðV ;EÞ to denote the

overlay network where V denotes the set of end-users

(MSNs, in case of proxy based overlay) and E denotes

the set of links on the overlay network between the end-

users. For each link in E, we define a link-delay function

D : E ! <þ. Basically, the link-delay function associates a

delay with each link in the overlay network. In order to

do multicasting, a source node s 2 V sends multicasting

messages to a group of destination nodes M � V � s. The

messages are transmitted through a multicasting subnet-

work T ¼ ðVT ;AT Þ, where T spans the source node s and all

the destination nodes in M. The subnetwork T may contain

nodes other than in M and the source node s. A path PT ðs; vÞis defined as the path from source s to destination v 2M in

T . The total delay for sending a message from source s to

destination v along this path will beP

l2PT ðs;vÞDðlÞ. We now

define two important parameters for the DVBMN problem.

. Source-destination delay bound, �: Parameter �refers to the upper bound on the end-to-end delayalong any path from the source to a destination node.

. Interdestination delay variation tolerance, �: Para-meter � is the maximum allowed difference betweenthe end-to-end delays along the paths from thesource to any two destination nodes.

The formal definition of DVBMN problem is statedbelow (see also [24]).

Given an overlay network, G ¼ ðV ;EÞ, a source nodes 2 V , a multicast group M � V � s, a link delay functionD : E ! <þ, a delay bound �, and a delay variationtolerance �, find a multicast subnetwork T ¼ ðVT ;AT Þ,which spans s and all the nodes in M such that

X

l2PT ðs;vÞDðlÞ � � for each v 2M; ð1Þ

X

l2PT ðs;vÞDðlÞ �

X

l2PT ðs;uÞDðlÞ

������

������� � 8v; u 2M: ð2Þ

We define another parameter �T , the maximum inter-destination delay variation, as follows:

�T ¼ maxX

l2PT ðs;vÞDðlÞ �

X

l2PT ðs;uÞDðlÞ

������

������over all u; v 2M: ð3Þ

The tightest delay variation is the one that minimizes �T .

This notion helps us benchmark whether each heuristic

achieves the tightest bound for a delay variation. We have

assumed that node latency is zero at each node in the

overlay network.

3 LITERATURE REVIEW

Multicast Routing with QoS constraints has been exten-

sively studied by the network community due to the

popularity of computer collaborative applications, which

demand different QoS requirements. Many protocols for

this problem have been proposed in the literature [4], [14],

[15], [20], [22], [26], [30]. Salama et al. [25] and Dziong et al.

[10] have provided a comparison study of different multi-

casting protocols. Most of these protocols try to construct a

delay-constrained minimum cost tree. Multicast routing

with delay and delay variation constraints has been

addressed by Rouskas and Baldine [24], Sheu and Chen

[27], and Kapoor and Raghavan [18]. In the following

sections, we will discuss the heuristics proposed by

Rouskas and Baldine [24], Sheu and Chen [27], and Kapoor

and Raghavan [18].

3.1 Delay Variation Bound Multicast Algorithm(DVBMA) [24]

The heuristic proposed by Rouskas and Baldine [24]

constructs a multicast tree satisfying an end-to-end delay

constraint � and delay variation constraint �. Initially, the

shortest path tree T0 from source s to all nodes in

multicasting group M is determined using Dijkstra’s

algorithm [9]. If T0 does not satisfy the end-to-end delay

constraint �, then no tree will satisfy it and, hence, the

algorithm terminates; otherwise, if it satisfies both end-to-

end delay constraint � and delay variation constraint �, the

algorithm outputs T0 and terminates. It is possible that the

delay variation constraint is not satisfied and the algorithm

may terminate without finding the tree. The second part of

the algorithm in [24], referred to as the Delay Variation

Multicast Algorithm (DVMA), first identifies the farthest

destination node w in the shortest path tree T0. It first

computes the k-shortest paths from s to w. Then, it

repeatedly performs the following. It takes a shortest path

from s to w, forms an initial tree Ti, and tries to attach other

destination nodes in M to Ti through the best path (which

satisfies the end-to-end delay constraint � and has

minimum delay variation). This is performed by finding

l-shortest paths from each node in Ti to a destination node

in M which is not yet connected to Ti. DVMA searches

through all possible trees, depending on the value of k and

l, and returns the tree with minimum delay variation. The

main advantage of DVMA is that it ensures that the

resulting solution is a tree. During our implementation of

this algorithm, we found a serious drawback in the heuristic

in [24]. The order in which the destination nodes in M are

added to the initial tree determines the tightness of the

delay variation. Of course, all possible orderings will make

the complexity of the heuristic exponential.

BANIK ET AL.: MULTICAST ROUTING WITH DELAY AND DELAY VARIATION CONSTRAINTS FOR COLLABORATIVE APPLICATIONS ON... 423

Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.

Page 4: Multicast routing with delay and delay variation constraints for collaborative applications on overlay networks

3.2 Delay and Delay Variation Constraint Algorithm(DDVCA) [27]

Sheu and Chen’s [27] heuristic (named DDVCA) is acombination of the Core Based Tree (CBT) [1], [19] conceptand Dijkstra’s shortest path algorithm [9]. In the CBTapproach, some routers are chosen as Core Routers. InDDVCA, the Core Router is addressed as a central node.The main steps of DDVCA are as follows: First, the centralnode of the network, Cn is determined. In order to find theCn, minimum delay paths between each destination nodeand other nodes in the network is calculated using thestandard Dijkstra’s algorithm [9]. Then, for each node in thenetwork, the delay variation between the node and eachdestination node is determined. The node with minimumdelay variation is chosen as Cn. In the next step, themulticasting tree is constructed by connecting the destina-tion nodes and the source node s to the central node Cnusing the minimum delay paths. It might be possible thatthe multicasting tree constructed with the chosen centralnode violates the end-to-end delay constraint �. Thisimplies that the delay of the path from s to a destinationCn exceeds �. In this case the node with second minimumdelay variation is chosen as Cn. The main advantage ofDDVCA is that it is simple and has a time complexity ofOðmn2Þ. Butm the main disadvantage of this approach isthat it does not take into account the delay variationbound �.

3.3 Dynamic Program for Delay Variation Bound(DPDVB) [18]

Kapoor and Raghavan [18] proposed a heuristic (namedDPDVB) that tries to minimize the cost of multicasting treetogether with the delay and delay variation constraints. Thecost can be a measure of residual bandwidth or the amountof buffer space required in the network. This problem canbe reduced to DVBMN problem if the costs are set to zero.In this algorithm, it is assumed that the delay and costvalues are integrals, implying that the delay and cost valuescan be scaled to corresponding integer values. The functiongjðtÞ is defined as the minimum cost path from node 1 tonode j with delay exactly equal to t and node 1 as thesource. Then, the following recurrence is defined:

gjðtÞ ¼ minfgkðt� tkjÞ þ ckj; 8 kjðk; jÞ 2 E; tkj � tg;

where ckj and tkj denote the cost and delay of the path fromnode k to node j, respectively. The algorithm first initializestwo variables TC and t to infinity and 1, respectively. TCrepresents the total cost of all the paths in the solution. NowgjðtÞ is computed for all nodes in the network except thesource. Then, the algorithm checks whether paths exist toall nodes in M in the window of ðt� �Þ. If paths exist to allnodes in M in this window, then the overall cost C for pathsto all nodes in M is computed. If C is same for more thanone set of paths, then the set of paths, which have minimumdelays for nodes in M, is chosen. If C is less than or equal toTC, then TC is initialized to C. Next, t is incremented by 1.The algorithm computes gjðtÞ again and the whole processis repeated till t is not equal to �. The main advantage ofDPDVB is that it achieves the tightest bound in delayvariations.

4 BUFFERING MESSAGES TO REDUCE DELAY

VARIATION

One approach to ensure minimum delay variation is tobuffer the messages at different nodes in the overlaynetwork. This approach can be categorized into threeclasses: buffering at the source node, buffering at inter-mediate nodes, and buffering at destination nodes. Buffer-ing at the source node requires the source node to keepadditional information for each destination. The sourcenode will buffer a message for a different amount of timefor each destination and transmit the message multipletimes over the network; clearly, this is a waste of networkbandwidth. Also, buffering at the source node defeats thepurpose of multicasting, which is one of conservingnetwork bandwidth. Buffering at intermediate nodesrequires some nodes to be identified as core nodes in thenetwork. Messages are buffered at these core nodes beforethey are sent to the destinations. Buffering at destinationnodes requires each destination node to buffer the messagesbefore they pass the messages to the application process. Inthis approach, the source node informs the destinationnodes when they can process the received packets. Forexample, consider the graph in Fig. 1. In this graph, thevalue on each curved line specifies the delay of the shortestpath from the source to a destination. Suppose the sourcenode S sends packets to destinations D1, D2, and D3. Themaximum delay among the paths for destinations D1, D2,and D3 is 5. Now, to ensure minimum delay variationamong the destinations, the source node S informsdestination nodes D2 and D3 to process their packets after5� 2 ¼ 3 units of time and 5� 1 ¼ 4 units of time,respectively. Node D1 can process the packet as soon as itreceives it. This implies that nodes D2 and D3 have to buffertheir packets for 3 and 4 units of time, respectively. It iseasily observed that the amount of buffer space required ateach destination node is directly proportional to themaximum delay variation among the destinations. Anothermajor drawback of this scheme is that it relies on thedestination nodes for minimizing the delay variation. Sucha scheme can be easily compromised by the end users togain a competitive edge over others in case of online games.To overcome these drawbacks, our approach is to route thepackets using longer paths for some destination nodes sothat all the destination nodes receive the message almost at

424 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 3, MARCH 2007

Fig. 1. A graph with S as a source node and D1, D2, and D3 as

destination nodes.

Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.

Page 5: Multicast routing with delay and delay variation constraints for collaborative applications on overlay networks

the same time. This implies, for nodes D2 and D3 in Fig. 1,that, instead of using the shortest paths, we will find longerpaths from S to D2 and D3 so that they receive the packetsat the same time and can process the packets withoutbuffering them.

5 MOTIVATING EXAMPLE

Our heuristic works as follows: It first computes thek shortest paths from source to each of the destinationssuch that the delay of each shortest path is less than or equalto the delay bound. The value of k is chosen dependingupon the size, edge density, and number of destinations.This analysis is shown in Section 6. We cleverly select ashortest path for each destination from among the k shortestpaths available to that destination in such a way that thedelay variation is the smallest possible. We will examinethis concept with the example below. Consider the overlaynetwork given in Fig. 2.

In Fig. 2, we have an overlay network with VS as thesource node and V2, V5, and V8 as destination nodes. Wewant to construct a multicasting subnetwork with thetightest delay variation and end-to-end delay bound of 50.First, we find all the paths from VS to V2, V5, and V8 forwhich the delays are less than or equal to 50. Then, we listall the paths with their corresponding delays in theincreasing order of the delays as shown in Table 1.

From this list of paths, we choose the delays and theircorresponding paths to construct the multicasting subnet-work as follows: First, we have to choose a path from Vs toeach of the destinations from the set of paths given inTable 1. For example, let us suppose that we choose paths(a), (e), and (i) (the first shortest paths from the source toeach of the destinations V2, V5, and V8, respectively). Then,after merging these paths, the resulting subnetwork will bea shortest path tree. If we remove the delay variationconstraint from our problem, then the shortest path tree willbe the optimal multicasting tree. Note that destinationnodes V2, V5, and V8 receive the message from Vs at timeunits 31, 26, and 20, resulting in a delay variation of 11.

If the paths that are chosen are (d), (g), and (j), the end-to-end delays for each of the destinations V2, V5, and V8 willbe 40, 40, and 43, respectively. These delays are within thedesired delay bound of 50, but the delay variation is only 3,

smaller then the delay variation of 11 in the previous case.Merging these paths we obtain a subnetwork as shown inFig. 3. Although the subnetwork is not a tree, at most onemessage needs to be sent on each direction of any link. Wenotice from the multicasting subnetwork in Fig. 3 thatdestination node V2 works as relay node for the paths VS �V1 �V2 �V4 �V8 and VS �V1 �V2 �V5. That is, the nodeV2 will not consume the data while working as a relay nodefor these paths. It will simply just forward the data alongthe path. This can be done using source-routing protocolswhere source specifies the path to be followed by a packet.In Grid Computing [12] Environment, this type of protocolis implemented using software routers.

6 OUR HEURISTIC: CHAINS

Given the motivating example in Section 5, we know thatthe number of such shortest paths from the source to eachdestination within the bounded delay may not all be thesame (as in the example in the previous section). However,we can assume that the number of shortest paths for anysource-destination pair is bounded by an integer value k.

BANIK ET AL.: MULTICAST ROUTING WITH DELAY AND DELAY VARIATION CONSTRAINTS FOR COLLABORATIVE APPLICATIONS ON... 425

Fig. 2. An example of an overlay network with link delays. Nodes in

double circles are the destination nodes and node Vs is the source node.

TABLE 1The List of Paths from VS to V2, V5, and V8

and Their Corresponding End-to-End Delays

Fig. 3. The multicasting subnetwork with a delay variation of 3 and adelay bound of 50 obtained after merging the paths (d), (g), and (j) inTable 1. The number in the parenthesis indicates the destination(s) ofthe packets sent from the source Vs. The directions on the arcs indicatehow the messages for each of the destinations travel.

Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.

Page 6: Multicast routing with delay and delay variation constraints for collaborative applications on overlay networks

Now, we can see that after computing all shortest paths foreach of the m destinations satisfying the maximum delayconstraint, we can find a path to each of the destinationsthat gives the smallest delay variation in a brute-forcemanner. Clearly, the time-complexity of this approachwould be OðkmÞ. In this section, we present an algorithmthat has a time-complexity of Oðm2kÞ that chooses a path toeach of the destinations from a set of k shortest paths (toeach destination) such that the delay variation is thesmallest. Note that the k shortest paths from a givensource s to all the nodes in an n node network with jEj linkscan be determined in OðjEj þ nk logðjEj=nÞÞ [16], [17].Given the algorithm in this section, the total time-complex-ity of the entire algorithm would be

OðjEj þ nk logðjEj=nÞ þm2kÞ

for the DVBMN problem.Suppose source s wants to multicast data to destina-

tions v1; v2; . . . ; vm and let there be ki different shortestpaths for each vi. Let the delay of these paths bedi1; di2; . . . ; diki in the increasing order of the end-to-enddelays. Our aim is to find the set of paths P from sources to each destination v1; v2; . . . ; vm such that the maximumdifference between the delays of these paths in P is aminimum. The problem of finding these paths can betransformed into the following problem.

Consider sets Si ¼ di1; di2; . . . ; dik, where 1 � i � m, andwhere dij, 1 � j � k are integers with colorðdijÞ ¼ i. Withoutthe loss of generality, assume that the elements in each Siare nondecreasing. Define D ¼

Smi¼1fSig and, again without

loss of generality, assume that the elements in D arenondecreasing. The set D can be constructed in OðmkÞ timeusing the merge algorithm [9]. We will define color½i� ¼ j,for each element i in D, if the element i belongs to the set j.

We now construct an array next, where next½i� corre-sponds to the ith element of the set M as defined as follows:The array next is of size mk and

next½i� ¼ minfj j j > i; colorðjÞ 6¼ colorðiÞ; j � mkg;

if there exists such a j; otherwise, next½i� ¼ �1. For example,consider the following sets:

The next array can be computed in OðmkÞ time by alinear scan of the array D starting from the right andmoving towards the left. The algorithm to compute the nextarray is given below:

Algorithm Compute_next_array

Begin

t ¼ mk;

c ¼ color½mk�;next½t� ¼ �1;

for (j ¼ mk� 1; j > 0; j - -)

{if ðcolor½j� ! ¼ cÞ{

next½j� ¼ t;

c ¼ color½j�;}

else

{

next½j� ¼ next½t�;}

t ¼ j;

}

End

The sequence

i; nextðiÞ; nextðnextðiÞÞ; nextðnextðnextðiÞÞÞ; . . .

is defined as a chain starting from the ith element of D. Inthis case, we say that element i starts a chain. A chain isvalid if it contains exactly m elements and each element inthe chain is of a different color. Each element i that starts avalid chain is called a valid element; otherwise, the elementwill be called invalid. It is easy to observe that all invalidelements occur at the rightmost end of the array D. In orderto identify the valid and invalid elements in D, we initiallymark all the elements in D as valid and scan the array Dfrom right to left. As we move from right to left, we keep acount of the number of elements that are of different color(call this variable count). We can use a Boolean array ofsize m initialized to false to keep track of the different colorsprocessed so far. When we encounter an element i and countis not equal to m, we increment the count variable by one ifthe element is not found in the Boolean array (constant timeto check if it is present). In this case, the ith element ismarked as invalid. When count reaches m, our algorithmterminates. The complexity of finding all the valid andinvalid elements is OðmkÞ. In the above example, elementsin positions 9, 10, and 11 are invalid.

Also for the example above, the chain {20, 26, 31} is valid;similarly, {26, 31, 43}, {31, 32, 43}, {32, 32, 43}, {32, 35, 43}, {35,40, 43}, and {40, 40, 43} are some of the other valid chains.The value of a valid chain is the difference between the lastand first element of the chain. For example, the value of thevalid chain {26, 31, 43} is 43� 26 ¼ 17 and, similarly, thevalue of the valid chain {40, 40, 43} is 40� 43 ¼ 3.

Based on the above problem definition and the example,we can say that our next goal would be to determine a validchain whose value is a minimum among all valid chains.First, we will describe a Oðm2k2Þ algorithm Chains to find avalid chain of minimum value and then show how thecomplexity can be improved to Oðm2kÞ based on a usefulobservation. The algorithm Chains assumes that D, color,and next are all available. It also assumes that the valid andinvalid elements are marked appropriately.

Algorithm Chains

Begin

BestChainValue ¼ 1;

BestChainStartPos ¼ 1;

for (int i ¼ 1; i � m � k; iþþÞ

426 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 3, MARCH 2007

Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.

Page 7: Multicast routing with delay and delay variation constraints for collaborative applications on overlay networks

{//Find the valid chain starting from i

for (j ¼ 1; j � m; jþþ) flag½j� ¼ false;

count ¼ 1;

k ¼ next½i�;flag½color½k�� ¼ true;

while ((k 6¼ �1)&& (count 6¼ m))

//May have to loop through the entire list D

{if !flag½color½k��{

flag½color½k�� ¼ true;

count ¼ countþ 1;

}

if ðcount < mÞ k ¼ next½k�;}

if ðcount ¼¼ mÞ//Valid chain found starting from i

{

currentChainValue ¼ D½k� �D½i�;if(currentChainValue < BestChainValue)

{

BestChainValue ¼ currentChainValue;

BestChainStartPos ¼ i;

}}

}

End.

The algorithm Chains clearly has a complexity ofOðm2k2Þ and using the following Property 1 and Property 2,we will show that the complexity of the algorithm can beimproved to Oðm2kÞ. We will define firstðCÞ to be an indexposition in D that is the first element of the chain C;similarly, lastðCÞ be an index position in D that is the lastposition of the Chain C.

Property 1. Let C1 and C2 be two valid chains with firstðC1Þ <firstðC2Þ < lastðC1Þ and there exists an element at position jin D such that color½j� ¼ color½firstðC1Þ� and firstðC1Þ <j < lastðC1Þ and D½j� 2 C2. The value of chain C1 is greaterthan or equal to the value of chain C2.

Proof. Suppose we have a list D with n elements innondecreasing order and P , Q, R, S, and T denote thecolor of the elements. We construct two chains C1 and C2

from D with C1 containing elements

P ð1Þ �Qð2Þ �Rði1Þ � Sðj1Þ � T ðnÞ

and C2 containing elements

Qð2Þ � P ð3Þ �Rði2Þ � Sðj2Þ � T ðnÞ:

The number inside the parenthesis indicates the indexposition of the element in D. We can easily observe thatC1 and C2 satisfy the condition firstðC1Þ < firstðC2Þ <lastðC1Þ and here j ¼ 3 as color½3� ¼ color½firstðC1Þ� andD½j� is included in chain C2. Let us assume that the valueof chain C1 is less than the value of chain C2. Wecalculate the value of chain C1, valueðC1Þ ¼ D½n� �D½1�,and value of chain C2, valueðC2Þ ¼ D½n� �D½2�. Now,valueðC1Þ < valueðC2Þ implies that D½1� > D½2�. But, this

is a contradiction as the list D is in nondecreasing orderof elements. So, the value of chain C1 will always begreater than or equal to the value of chain C2. tu

Property 2. For any two valid chains C1 and C2, iffirstðC1Þ < firstðC2Þ, then lastðC1Þ � lastðC2Þ.

Proof. It can be easily observed that if firstðC1Þ is less thanfirstðC2Þ, then chain C2 will end either along withchain C1 or after chain C1. In the first case, lastðC1Þ willbe equal to lastðC2Þ. The second case will occur whenthere are some colors which appear between firstðC1Þand firstðC2Þ and then appear again between lastðC1Þand lastðC2Þ. In this case, lastðC2Þ will be greater thanlastðC1Þ. tu

Our improved algorithm works as follows: First, we scanall the elements in D (actually the array color) from left toright. At each position j, we keep an array count of size m(the maximum number of colors), where count½i� is thenumber of elements from positions 1 to j with color i. Thisprocess will take Oðm2kÞ time. We perform a second scan ofthe array D (along with the color array). Before thebeginning of the second scan, we create a queue Q thatstores nodes that have only one attribute which is the colorof the element. The maximum number of nodes in thequeue is at most m and no two nodes in the queue have thesame color. An array pointTo of size m is created, wherepointTo½i� points to the node with color i in the queue, if itexists; otherwise, it is set to null. The node with color½1� (thecolor of the first element of D) is created and added to thequeue Q. The element pointTo½color½1�� is set to point to thisnode in the queue Q. The scan begins with the secondelement in D (along with array color). Conceptually, we willnow try to find a valid chain that begins with Q:frontðÞ(thefirst element of the queue). From Property 2, we will firstfind the valid chain for this element provided that we donot find another element with the same color as the one inthe front of the queue (based on Property 1). We will keepgoing until we find m different colored elements and eachtime we find a element with a new color we will add that tothe queue. If we come across a color that we have alreadyseen, then we will remove it from the queue (Oð1Þ operationsince we have access to it via the pointTo array).

If we remove the element from the front of the queue,then, based on Property 1, there exists another valid chainthat may start with the same of different color. Now, ratherthan rescanning, we will use the information from scan oneas follows.: Let us say that, when the second scan is atposition l, we removed the front of the queue (that is, whenthe color½j� ¼ color½Q:frontðÞ�Þ. Also, let the new front ofqueue Q be an element that was added to the queue whenthe scan was at position pðp < lÞ. Our next goal is to find avalid chain from p. To avoid rescanning from position p, wecan use the count at locations p and l to determine thenumber of elements with different colors in locations pthrough l and proceed to scan from positions lþ 1 for colorsthat need to be added to form a valid chain. Because eachelement of the arrays D and each color is processed at mostonce during the second scan and also the maximumnumber of comparisons needed at each position (using

BANIK ET AL.: MULTICAST ROUTING WITH DELAY AND DELAY VARIATION CONSTRAINTS FOR COLLABORATIVE APPLICATIONS ON... 427

Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.

Page 8: Multicast routing with delay and delay variation constraints for collaborative applications on overlay networks

the count array) is at most m, the total complexity of thesecond scan and hence the improved algorithm is Oðm2kÞ.

Based on the above algorithm, we can clearly see thatafter computing k shortest paths (that satisfy the delaybound) to each of the destinations, a path from source s toeach of the destinations can be chosen in Oðm2kÞ time suchthat the delay variation is minimized.

Given that the k shortest path algorithm can bedetermined in OðjEj þ nk logðjEj=nÞÞ [16], [17], the totaltime complexity of the DVBMN problem is

OðjEj þ nk logðjEj=nÞ þm2kÞ:

7 PERFORMANCE EVALUATION

For evaluation purposes, we implemented DVMA, DDVCA,DPDVB and our heuristic Chains and compared each ofthem in terms of the tightest delay variation and executiontime. We set the end-to-end delay bound � ¼ 0:05 s and thedelay variation bound � ¼ 0 (this value of � will force eachheuristic to return the solution with the tightest �T ). Wehave run the heuristics on randomly generated graphsconstructed using Georgia Tech Internetwork TopologyModels (GT-ITM) [6], [8]. The nodes in the graph are placedin a grid of dimension 4; 900� 4; 900 km to resemble thewhole network spreading all over the United States, and thedelay for each link is set to the propagation delay of theelectrical signal along that link. The average node degree for

each graph is kept in the range of 3.5 to 4. Each heuristic hasbeen tested on various graphs with the number of nodesvarying from 20 to 100 and the percentage of nodes in themulticast group varying from 5 percent to 15 percent. Theresults are plotted in Figs. 4, 5, and 6. Each point in the plotsrepresents the average value taken over 30 graphs. Theexperiments are done on Sun UltraSPARC-IIi Workstations(360 MHz of clock speed and 128 MB RAM) runningSolaris 8.

From Figs. 4, 5, and 6, we observe that Chains along withDPDVB achieves the tightest delay variation for all thecases. We also notice that Chains outperforms DVMA andDPDVB for all cases in terms of execution time. OnlyDDVCA shows better performance than Chains in terms ofexecution time. But, we have already observed that DDVCAdoes not achieve the tightest delay variation. Table 2 showsthe numerical values of execution time of DVMA, DPDVB,DDVCA and Chains for various numbers of nodes. Table 3shows how the execution time increases when the percen-tage of nodes in the multicast group increases for DVMA,DPDVB, DDVCA, and Chains. We observe that Chainsoutperforms DVMA and DPDVB in terms of execution timeeven with higher number of nodes in the multicast group.Since DPDVB along with only Chain achieves the tightestdelay variation and from Table 2 we observe that the rate ofincrease in the execution time of Chain is more than that ofDPDVB, we have performed additional experiments withChain and DPDVB for more number of nodes. From Table 4,

428 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 3, MARCH 2007

Fig. 4. Delay variation graph and execution time graph for 5 percent of the nodes as destinations.

Fig. 5. Delay variation graph and execution time graph for 10 percent of the nodes as destinations.

Fig. 6. Delay variation graph and execution time graph for 15 percent of the nodes as destinations.

Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.

Page 9: Multicast routing with delay and delay variation constraints for collaborative applications on overlay networks

we can easily observe that the execution time of DPDVB isalways more than that of Chains even with higher numberof nodes. We also observe that the rate of increase in theexecution time of Chains decreases for higher number ofnodes. This is due to the fact that the execution time ofChain depends largely on the value of k. As the value of n(number of nodes) increases, Chain requires larger values ofk to find out the multicasting subnetwork with minimum �.But the rate of increase of k goes down as the value of nincreases. This implies that, for higher values of n and fixed�, a larger value of k might not be required by Chain toobtain a multicasting subnetwork with minimum �. Next,we compared the execution time of DPDVB and Chains fordifferent values of �, the end-to-end delay bound. Theresults are plotted in Fig. 7. From Fig. 7, we observe that theexecution time of DPDVB increases with �, whereas theexecution time of Chains remains almost constant.

The asymptotic complexity of our algorithm is domi-nated by finding the k shortest paths from the source to alldestinations such that the delays for these paths are lessthan or equal to the delay bound �. If � is large, then thevalue for k may increase. However, our implementations

show that finding k shortest paths in a large network withthe algorithm proposed in [16] is quite efficient. For ourexperiments, we have generated random graphs consistingof nodes 50 and 100 with a varying edge probability of 0.2,0.4, 0.6, and 0.8 using the model in [6], [8]. Then, we haveused the recursive enumeration code for finding k shortestpaths provided at [17]. We have run our simulation for allpairs of k shortest paths with different values of k for eachgenerated random graph. We also calculated the elapsedtime for each run and plotted the results in Fig. 8. From theplots, we can observe that for a graph with 50 nodes andedge probability 0.8 (which means a dense graph), the timeto calculate 10 shortest paths for all pairs is 1.37 seconds.When the number of nodes increases to 100, this valuebecomes 18 seconds.

Now, we need to determine how k is related to the end-to-end delay bound, � and the density of the network. Wehave done an experiment with Chains for various values ofaverage node degree of the network and the delay bound �and calculated the value of k required for achieving thetightest delay variation. We have varied the average nodedegree from 4 to 8. In order to vary the delay bound �, firstwe calculated the delay of the farthest destination in themulticast group and then set � in the range of 100 percentto 350 percent of the delay of the farthest destination. FromFig. 9, we observe that, as the average node degree of thenetwork increases (which implies the graph becomes dense)we need a higher value of k to achieve the tightest delayvariation. This is obvious from the fact that, as the graphbecomes dense, we have more paths from the source to thedestinations. We also observe that as � increases, the valueof k increases since the search space for Chains increases.

8 DYNAMIC REORGANIZATION OF THE

MULTICASTING SUBNETWORK

In multicasting applications, it is observed that some nodesin the multicast group may leave the session of multicastingafter a certain period or some new nodes may join themulticasting group. We need to update the multicastingsubnetwork to include the joining node and exclude theleaving node in such way that delay along the path from thesource to each multicasting node (including the new one) isbounded by � and the delay variation among the multi-casting nodes is a minimum. The authors of [24] discussvarious cases for join and leave operation with theirheuristic.

BANIK ET AL.: MULTICAST ROUTING WITH DELAY AND DELAY VARIATION CONSTRAINTS FOR COLLABORATIVE APPLICATIONS ON... 429

Fig. 7. A comparison of execution times of DPDVB and Chains for

different values of � (end-to-end delay bound) with number of

nodes 100.

TABLE 2Execution Time versus Number of Nodes with 10 Percent of the

Nodes in the Multicast Group

TABLE 3Execution Time versus Percentage of Nodes in the Multicast

Group (Total Nodes = 80)

TABLE 4A Comparison of Execution Times of DPDVB and Chains with

10 Percent of the Nodes in the Multicast Group

Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.

Page 10: Multicast routing with delay and delay variation constraints for collaborative applications on overlay networks

8.1 Leave Operation

When a node wants to leave the multicasting session, it

issues a leave request. The leaving node can be either a leaf

node or a nonleaf node of the multicasting subnetwork.

. If the leaving node is a leaf node, the authors of [24]have suggested pruning the tree to exclude the leafnode. But this strategy may not work when we wantto achieve the tightest delay variation. In thissituation, DVMA has to rework the whole processwith updated multicasting group. In Chains, we willremove all the delays of the leaving node from thesorted list D and from color, form the chains again,and return the chain with minimum delay variation.

. If the leaving node is not a leaf node, the solution ofDVMA is to make the node work as a relay node anduse the same tree. This solution also may not yieldthe tightest delay variation and again the DVMAheuristic has to repeat the whole process. For Chains,the solution will be the same as the previous one.

8.2 Join Operation

When a node wants to join the multicasting group, it issues

a join request. The joining node may or may not be part of

the existing multicasting subnetwork.

. If the joining node is a part of the subnetwork, thenDVMA uses the same tree with making the joiningnode work as both a relay node and a multicastingnode. If the tightest delay variation is required,DVMA has to rework the whole process with theupdated multicasting group. In Chains, we will findk shortest paths from the source to the joining nodesuch that delays of these paths are less than or equalto �. Then, we will merge this sorted list of delays of

the joining node with the existing sorted list ofdelays of other multicasting nodes. We will formchains and return the chain with minimum delayvariation.

. If the joining node is not a part of the subnetwork,DVMA finds l shortest paths from each node in thesubnetwork to the joining node and returns the bestpath for constructing the new tree. For Chains, thesolution will be the same as in the previous case.

The heuristic DPDVB [18] is unsuited for join and leaveoperations, as the entire heuristic has to be rerun.

9 CONCLUSIONS

In this paper, we have considered the problem ofdetermining a multicasting subnetwork with end-to-enddelay bound and delay variation bounded for collaborativeapplications on overlay network. We have discussed threewell-known heuristics from the literature and exposed theirlimitations. Then, we have presented our heuristic Chains,which achieves the tightest delay variation for a given delaybound. At the initial phase of our heuristic, we have usedthe k shortest path technique proposed by Victor andAndres [16] to find all paths for each destinations for whichthe delays are less than or equal to the delay bound. Then,using these delays, we have determined the delay chain,which gives the minimum delay variation and constructedthe multicasting subnetwork by retrieving the paths fromthe delays. We have implemented all the heuristics andobserved Chains outperforms DPDVB and DVMA in termsof execution time. The Chains heuristic also achieves thetightest delay variation bound along with DPDVB. We havealso presented results to show that finding k shortest pathsfor all destinations is not a bottleneck in our solution. Wehave also observed that Chains require higher values of k toachieve the tightest delay variation when the graphbecomes dense or when the end-to-end delay boundincreases. For dynamic reorganization of the multicastingsubnetwork with the tightest delay variation and boundeddelay, we notice that the solution with Chains is moreefficient than that of DVMA in terms of time-complexity. Aspart of our future research work, we will consider linkdelays as time-varying functions and try to develop efficientheuristics for the DVBMN problem.

ACKNOWLEDGMENTS

A preliminary version of this paper [3] was presented at theSeventh IEEE International Conference on High SpeedNetworks and Multimedia Communications held in Tou-louse, France, in June 2004.

430 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 3, MARCH 2007

Fig. 8. Execution time for finding k-shortest paths when the number of nodes is 50 and 100.

Fig. 9. k versus end-to-end delay bound for networks with average node

degree.

Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.

Page 11: Multicast routing with delay and delay variation constraints for collaborative applications on overlay networks

REFERENCES

[1] A. Ballardie, “Core Based Tree (CBT) Multicast Routing Archi-tecture,” Internet RFC 2201, Sept. 1997.

[2] S. Baneerjee, C. Kommareddy, K. Kar, B. Bhattacharjee, and S.Khuller, “Construction of an Efficient Overlay Multicast Infra-structure for Real-Time Applications,” Proc. IEEE INFOCOM ’03,Mar. 2003.

[3] S.M. Banik, S. Radhakrishnan, and C.N. Sekharan, “MulticastRouting with Delay and Delay Variation Constraints for Multi-media Applications,” Proc. Seventh IEEE Int’l Conf. High SpeedNetworks and Multimedia Comm., pp. 399-411, June 2004.

[4] K. Bharath-Kumar and J.M. Jaffe, “Routing to Multiple Destina-tions in Computer Networks,” IEEE Trans. Comm., vol. 31, no. 3,pp. 343-351, Mar. 1983.

[5] E. Brosh and Y. Shavitt, “Approximation and Heuristic Algo-rithms for Minimum Delay Application-Layer Multicast Trees,”Proc. IEEE INFOCOM ’04, Mar. 2004.

[6] K.L. Calvert, M.B. Doar, and E.W. Zegura, “Modeling InternetTopology,” IEEE Comm. Magazine, vol. 35, no. 6, pp. 160-163, June1997.

[7] Y.-H. Chu, S.G. Rao, S. Seshan, and H. Zhang, “EnablingConferencing Applications on the Internet Using an OverlayMulticast Architecture,” Proc. ACM SIGCOMM ’01, pp. 55-67,Aug. 2001.

[8] College of Computing, Georgia Inst. of Technology, “ModelingTopology of Large Internetworks,” http://www.cc.gatech.edu/projects/gtitm/, 2006.

[9] H.T. Cormen, E.C. Leiserson, and L.R. Rivest, Introduction toAlgorithms. MIT Press, McGraw Hill Book Co., 1998.

[10] Z. Dziong, M. Jia, and L.G. Mason, “Analysis of Multicast RoutingAlgorithms for Broadband Networks,” Proc. IEEE ATM Workshop,pp. 186-194, May 1998.

[11] H. Erikson, “MBONE: The Multicast Backbone,” Comm. ACM,pp. 54-60, Aug. 1994.

[12] I. Foster and C. Kesselman, The Grid: Blueprint for a New ComputingInfrastructure. Morgan Kaufmann, 1999.

[13] Gnutella Web site, http://gnutella.wego.com, 2006.[14] L. Guo and I.M. Matta, “QDMR: An Efficient QoS Dependent

Multicast Routing Algorithm,” Proc. Fifth IEEE Real-Time Technol-ogy and Applications Symp., pp. 213-222, 1999.

[15] A. Hac and K. Zhou, “Multicasting Algorithm in MultimediaCommunication Network,” Proc. IEEE GLOBECOM ’98, pp. 747-752, 1998.

[16] V. Jimenez and A. Marzal, “Computing the K Shortest Paths: ANew Algorithm and an Experimental Comparison,” Proc. ThirdWorkshop, Algorithm Eng., pp. 15-29, 1999.

[17] V. Jimenez and A. Marzal, “Algorithms for Computing theK Shortest Paths,” http://terra.act.uji.es/REA/, 2005.

[18] S. Kapoor and S. Raghavan, “Improved Multicast Routing withDelay and Delay Variation Constraint,” Proc. Global Telecomm.Conf. (GLOBECOM ’00), vol. 1, pp. 476-480, 2000.

[19] S.J. Koh and S.G. Kang, “Enhancement of CBT Multicast RoutingProtocol,” Proc. Eighth Int’l Conf. Parallel and Distributed Systems(ICPADS ’01), pp. 209-213, June 2001.

[20] V. Kompella, J.C. Pasquale, and G.C. Polyszos, “Multicast Routingfor Multimedia Communications,” IEEE/ACM Trans. Networking,vol. 1, no. 3, pp. 286-292, 1993.

[21] Napster Web site, http://www.napster.com, 2006.[22] M. Parsa, Q. Zhu, and J.J. Garcia-Luna-Aceves, “An Iterative

Algorithm for Delay-Constrained Minimum-Cost Multicasting,”IEEE/ACM Trans. Networking, vol. 6, no. 4, pp. 461-474, Aug.1998.

[23] A. Riabov, Z. Liu, and L. Zhang, “Overlay Multicast Trees ofMinimal Delay,” Proc. 24th IEEE Int’l Conf. Distributed ComputingSystems (ICDCS ’04), 2004.

[24] G.N. Rouskas and I. Baldine, “Multicast Routing with End-to-EndDelay and Delay Variations Constraints,” IEEE J. Selected Areas inComm., vol. 15, no. 3, pp. 346-356, 1997.

[25] H.F. Salama, D.S. Reeves, and Y. Viniotis, “Evaluation of MulticastRouting Algorithms for Real-Time Communication on HighSpeed Networks,” IEEE J. Selected Areas in Comm., vol. 15, no. 3,pp. 332-34, 1997.

[26] A. Shaikh and K.G. Shin, “Destination-Driven Routing for Low-Cost Multicast,” IEEE J. Selected Areas in Comm., vol. 15, no. 3,pp. 373-381, Apr. 1997.

[27] P.-R. Sheu and S.-T. Chen, “A Fast and Efficient HeuristicAlgorithm for the Delay and Delay Variation Bound MulticastTree Problem,” Proc. 15th Int’l Conf. Information Networking (ICOIN’01), pp. 611-618, Feb. 2001.

[28] S.Y. Shi and J.S. Turner, “Multicast Routing and BandwidthDimensioning in Overlay Networks,” IEEE J. Selected Areas inComm., vol. 20, no. 8, pp. 1444-1455, Oct. 2002.

[29] Y.-S. Wang and J. Touch, “Application Deployment in VirtualNetworks Using the X-Bone,” Proc. DARPA Active Networks Conf.and Exposition, pp. 484-491, May 2002.

[30] X. Zhengquan and C. Lin, “An Effective Heuristic Algorithm forDynamic Multicast Routing with Delay-Constrained,” Proc. NinthInt’l Symp. Computers and Comm., vol. 2, pp. 1024-1031, 2004.

Shankar M. Banik received the BTech degree(Hons) in computer science and engineeringfrom IIT Kharagpur in 1997 and the MS degree incomputer science from the University of Okla-homa in 2001. He is a PhD candidate in theSchool of Computer Science at the University ofOklahoma. His research interests are in theareas of collaborative computing, overlay net-works, multicasting, and mobile and distributedsystems. He is a student member of the IEEE.

Sridhar Radhakrishnan received the PhDdegree in computer science from LouisianaState University in 1990. He is a professor withthe School of Computer Science at the Uni-versity of Oklahoma, which he joined in 1990.His research interests are in the areas ofprotocol design for wireless and mobile comput-ing, power aware protocols in mobile networks,algorithms for quality of service routing inbroadband networks, and resource allocation

problems in wireless networks. He has published more than 80 researcharticles in journals, conference proceedings, and book chapters. Histextbook on data structures titled Object-Oriented Data StructuresFeaturing C++ is currently under review for publication. He has obtainedresearch funding totaling about $4 million from federal and stateagencies and industry.

Chandra N. Sekharan received the MS degreefrom the Indian Institute of Science and the PhDdegree from Clemson University. He served asan assistant professor at the Center for ParallelComputation with Department of ComputerScience at the University of Central Floridabefore he joined the faculty of Loyola UniversityChicago. He is now a professor with and thechairperson of the Department of ComputerScience at Loyola. Dr. Sekharan’s main re-

search interests include parallel and distributed computing, networkoptimization, relational databases, and the World Wide Web. He issupported by two US National Science Foundation research grants, theCommunity Information Technology Entrepreneurship Project, andInternet 2.

. For more information on this or any other computing topic,please visit our Digital Library at www.computer.org/publications/dlib.

BANIK ET AL.: MULTICAST ROUTING WITH DELAY AND DELAY VARIATION CONSTRAINTS FOR COLLABORATIVE APPLICATIONS ON... 431

Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.