Multicast routing with delay and delay variation constraints for collaborative applications on overlay networks
1.
IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 3, MARCH 2007 421 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ðjEj þ nk logðjEj=nÞ þ m2 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 application needs. Clearly, application programs can resideT HE Internet has made a tremendous impact on human civilization by providing global connectivity to a vastnumber of end users who are geographically dispersed only at the end-hosts. Taking note of this, network applications build virtual networks, also called overlayfrom each other. Researchers believe that a large portion of networks [2], [5], [23], [28]. An overlay network is a virtualthe Internet’s success was due to its simple underlying or logical network over an existing network. In an overlaynetwork protocol (IP). But, the success of Internet also network, each individual logical link that connects twoopens up a limitation, in that it is very difficult to deploy a nodes can contain several routers and hosts in the under-new protocol or add a new service at the network layer. For lying physical network. Overlay networks provide a flexibleinstance, adding a new service at the network layer might approach for applications. When a better routing or aimply changing all the routers in the Internet around the control protocol is demanded by an application, it can beworld, which is not feasible. Computer Supported Group easily deployed in the application level without changing the lower level Internet protocols.Collaborative applications such as video conferencing, In an overlay network, the end-users self-organizelarge-scale distributed interactive simulation, online games,and distributed database replication need efficient group themselves into a network architecture and share thecommunication, which is not dictated by the underlying responsibility for creating, consuming, and forwardingnetwork. messages among themselves. Each edge in this network To alleviate this problem, a recent research trend is to corresponds to a unicast path between two end-hosts in thedevelop and implement network layer protocols at a virtual underlying network. Two types of architectures have beenlayer. The virtual layer can be on top of the application layer proposed by the researchers for the overlay network: peer-or on top of the network layer. This method will give users to-peer architecture and proxy-based architecture. In thethe flexibility to develop network protocols that suit their peer-to-peer architecture, all end-users are connected to each other. The network functionality of the overlay is. S.M. Banik and S. Radhakrishnan are with the School of Computer Science, pushed to end-users. Napster [21] and Gnutella [13] are two University of Oklahoma, 200 Felgar Street, EL Building, Norman, OK examples of peer-to-peer architecture. In the proxy-based 73019. E-mail: {smbanik sridhar}@ou.edu. architecture, networking service is provided through a set. C.N. Sekharan is with the Department of Computer Science, Loyola University Chicago, 6525 N. Sheridan Road, Chicago, IL 60626. of distributed nodes called Network Service Nodes (NSN) E-mail: chandra@cs.luc.edu. (Multicasting on overlay networks [2], [28] refer to theseManuscript received 14 Aug. 2005; revised 23 Jan. 2006; accepted 21 Mar. nodes as Multicast Service Nodes (MSN)). The NSNs2006; published online 25 Jan. 2007. communicate with end-users and with each other usingRecommended for acceptance by Y. Pan.For information on obtaining reprints of this article, please send e-mail to: standard unicast mechanisms. M-Bone [11] and X-Bone [29]tpds@computer.org, and reference IEEECS Log Number TPDS-0370-0805. are examples of proxy-based overlay networks. 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.
2.
422 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 3, MARCH 2007 Multicasting is an efficient communication mechanism our heuristic is OðjEj þ nk logðjEj=nÞ þ m2 k), wherewhere a source host sends the same message to a group of n and jEj are the number of nodes and edges in thedestination hosts, called the multicasting group. The overlay network, respectively, m is the number ofgeneral strategy for accomplishing this task is to construct destinations, and k is the number of shortest pathsa rooted tree T , called the multicast tree, that contains the determined between source and destination nodes.source as the root and the destination hosts as the leaf The complexity of the heuristic in [18] is OðÁjEjmÞ,nodes. The primary advantage of using the multicast is that which is pseudopolynomial in delay and delayit conserves network bandwidth. Contrasted with the variation bounds, where m is the number ofunicast mechanism, where separate messages are sent to destination nodes, and Á and are the delay andeach destination host from the source host, multicasting delay variation bounds, respectively. Note that Á isavoids sending the same message multiply over links that independent of the network size and, hence, evenare common to a source and different destinations. for smaller and less dense graphs, the heuristic in Collaborative applications such as video conferencing, [18] requires large execution time. The time-online games, interactive simulations, and distributed complexity of the heuristic by Rouskas anddatabase replications require that messages should arrive Baldine [24] is OðnmkðjEj þ nk logðjEj=nÞÞÞ1 usingat the destinations within a specified delay bound. the best known k shortest path algorithm in [16].Furthermore, these applications also require that the Note that, for dense graphs, that is, jEj ¼ Oðn2 Þdestinations receive the message from the source at and m ¼ OðnÞ, the time complexity of the algo-approximately the same time. In applications for telecon- rithm in [24] is Oðn4 k þ n3 k logðjEj=nÞÞ. For theference, the data sent from the speaker’s end should reach same values of jEj and m, our algorithm will haveall the participants at the same time, which means the delay complexity of Oðn2 kÞ. It should be pointed out thatvariation among the paths from the speaker to the the heuristic by Rouskas and Baldine [24] does notparticipants should be a minimum. Certain critical database provide the tightest delay variation as obtained byapplications (e.g., stock brokerage databases) require that this paper and Kapoor and Raghavan [18].data should be replicated at all sites at the same time; . We use an efficient k shortest path algorithm due tootherwise, data will be temporally inconsistent. Online Victor and Andres [16], [17] on various networkgaming applications also require that a move made by a topologies with different edge densities. Theplayer should be viewable by other players almost at the k shortest path algorithm [16], [17] was executedsame time. on a 360 MHz (SunSparc) computer. On a graph The problem of Delay and Delay Variation Bounded with 100 nodes with 80 percent edge density,Multicasting Network (DVBMN) is one of finding a subnet- 10 shortest paths between all pairs of nodes (10,000work given a source and a set of destinations that satisfies of them) can be determined in just 15 seconds. Also,the QoS (Quality of Service) requirements on the maximum in order to find about 2,000 shortest paths betweendelay from the source to any of the destinations and on the the source and 10 destinations in a dense graph withmaximum interdestination delay variance. Rouskas and 100 nodes, it took only 65 seconds!Baldine [24] have shown that the DVBMN problem is NP- . Extensive simulations with varying number ofcomplete and have presented the first heuristic for the nodes, edge densities, and size of multicasting groupproblem along with its performance evaluation. Kapoor and have shown that our heuristic algorithm outper-Raghavan [18] provided a novel heuristic that uses dynamic forms heuristics in [18], [24] by a significant marginprogramming and showed that the delay variation obtained in terms of execution time while achieving theby their algorithm is significantly less than the heuristic of tightest possible delay variation.Rouskas and Baldin [24]. Unlike the heuristic of Rouskas . In order to perform a join operation (where a singleand Baldine [24] which constructs a multicasting tree, the node joins the multicasting group) or leave operationheuristic of Kapoor and Raghavan [18] constructs a multi- (where a single node leaves the multicasting group),casting network that may not be a tree. But, on such a we show that our heuristic has a time-complexity ofnetwork, no more than two messages are sent along each Oðm2 kÞ with the tightest delay variation. Theedge and, hence, it achieves the desired bandwidth savings. heuristics in [24] and [18] have to be rerun in orderA simple heuristic was provided by Sheu and Chen [27], in to perform either a single join or leave operation,which there are no bounds set on the delay variation. The and, hence, incur complexities of OðnmkðjEj þcomplexity of the heuristics proposed by Kapoor and nk logðjEj=nÞÞÞ and OðÁjEjmÞ, respectively.Raghavan [18] and Rouskas and Baldine [24] is high when . Our heuristic is applicable to both proxy-based anda new member joins the multicasting group or an existing peer-to-peer overlay networks. Though these twomember leaves the group. networks have architectural differences, they have In this paper, we present a polynomial time heuristic for the same issues regarding the construction of anthe DVBMN problem with the following characteristics: efficient multicasting subnetwork. Thus, a node in our paper refers to the entity that actually takes part . Our heuristic achieves the tightest (in a technical in the protocol and could be an end-user or an MSN. sense to be precisely defined later) possible bounds on delay variation along with Kapoor and Raghavan 1. The complexity in [24] is shown to be Oðk2 mn4 Þ using a less efficient [18], but our heuristic outperforms the heuristic in k shortest path algorithm. We also implement the heuristic of Rouskas and [18] in terms of time-complexity. The complexity of Baldine [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.
3.
BANIK ET AL.: MULTICAST ROUTING WITH DELAY AND DELAY VARIATION CONSTRAINTS FOR COLLABORATIVE APPLICATIONS ON... 423 This paper is organized as follows: The formal definition The tightest delay variation is the one that minimizes T .of the DVBMN problem is given in Section 2. In Section 3, This notion helps us benchmark whether each heuristicwe review the existing heuristics for the DVBMN problem. achieves the tightest bound for a delay variation. We haveIn Section 4, we discuss the limitations of bufferingmessages to reduce delay variation. Section 5 provides a assumed that node latency is zero at each node in themotivating example that illustrates the key idea behind our overlay network.heuristic. More detailed explanation of our heuristic and theassociated algorithm, correctness, and complexity arediscussed in Section 6, followed by performance studies in 3 LITERATURE REVIEWSection 7. The discussion on join and leave operations are Multicast Routing with QoS constraints has been exten-presented in Section 8, and we conclude with the summary sively studied by the network community due to theof our results in Section 9. popularity of computer collaborative applications, which demand different QoS requirements. Many protocols for2 FORMAL DEFINITION OF THE PROBLEM this problem have been proposed in the literature [4], [14], [15], [20], [22], [26], [30]. Salama et al. [25] and Dziong et al.We use a weighted graph G ¼ ðV ; EÞ to denote the [10] have provided a comparison study of different multi-overlay network where V denotes the set of end-users casting protocols. Most of these protocols try to construct a(MSNs, in case of proxy based overlay) and E denotes delay-constrained minimum cost tree. Multicast routingthe set of links on the overlay network between the end- with delay and delay variation constraints has beenusers. For each link in E, we define a link-delay function addressed by Rouskas and Baldine [24], Sheu and ChenD : E ! þ . Basically, the link-delay function associates a [27], and Kapoor and Raghavan [18]. In the followingdelay with each link in the overlay network. In order to sections, we will discuss the heuristics proposed bydo multicasting, a source node s 2 V sends multicasting Rouskas and Baldine [24], Sheu and Chen [27], and Kapoormessages to a group of destination nodes M V À s. The and Raghavan [18].messages are transmitted through a multicasting subnet-work T ¼ ðVT ; AT Þ, where T spans the source node s and all 3.1 Delay Variation Bound Multicast Algorithmthe destination nodes in M. The subnetwork T may contain (DVBMA) [24]nodes other than in M and the source node s. A path PT ðs; vÞ The heuristic proposed by Rouskas and Baldine [24]is defined as the path from source s to destination v 2 M in constructs a multicast tree satisfying an end-to-end delayT . The total delay for sending a message from source s to constraint Á and delay variation constraint . Initially, the P shortest path tree T0 from source s to all nodes indestination v along this path will be l2PT ðs;vÞ DðlÞ. We nowdefine two important parameters for the DVBMN problem. multicasting group M is determined using Dijkstra’s algorithm [9]. If T0 does not satisfy the end-to-end delay . Source-destination delay bound, Á: Parameter Á constraint Á, then no tree will satisfy it and, hence, the refers to the upper bound on the end-to-end delay algorithm terminates; otherwise, if it satisfies both end-to- along any path from the source to a destination node. end delay constraint Á and delay variation constraint , the . Interdestination delay variation tolerance, : Para- algorithm outputs T0 and terminates. It is possible that the meter is the maximum allowed difference between delay variation constraint is not satisfied and the algorithm the end-to-end delays along the paths from the may terminate without finding the tree. The second part of source to any two destination nodes. the algorithm in [24], referred to as the Delay Variation The formal definition of DVBMN problem is stated Multicast Algorithm (DVMA), first identifies the farthestbelow (see also [24]). Given an overlay network, G ¼ ðV ; EÞ, a source node destination node w in the shortest path tree T0 . It firsts 2 V , a multicast group M V À s, a link delay function computes the k-shortest paths from s to w. Then, itD : E ! þ , a delay bound Á, and a delay variation repeatedly performs the following. It takes a shortest pathtolerance , find a multicast subnetwork T ¼ ðVT ; AT Þ, from s to w, forms an initial tree Ti , and tries to attach otherwhich spans s and all the nodes in M such that destination nodes in M to Ti through the best path (which X satisfies the end-to-end delay constraint Á and has DðlÞ Á for each v 2 M; ð1Þ minimum delay variation). This is performed by finding l2PT ðs;vÞ l-shortest paths from each node in Ti to a destination node
4.
in M which is not yet connected to Ti . DVMA searches
11.
main advantage of DVMA is that it ensures that the We define another parameter T , the maximum inter- resulting solution is a tree. During our implementation ofdestination delay variation, as follows: this algorithm, we found a serious drawback in the heuristic
12.
in [24]. The order in which the destination nodes in M are
18.
delay variation. Of course, all possible orderings will make l2PT ðs;uÞ the complexity of the heuristic exponential. Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.
19.
424 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 3, MARCH 20073.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 minimum Fig. 1. A graph with S as a source node and D1 , D2 , and D3 asdelay variation is chosen as Cn . In the next step, the destination nodes.multicasting tree is constructed by connecting the destina-tion nodes and the source node s to the central node Cn 4 BUFFERING MESSAGES TO REDUCE DELAYusing the minimum delay paths. It might be possible that VARIATIONthe multicasting tree constructed with the chosen centralnode violates the end-to-end delay constraint Á. This One approach to ensure minimum delay variation is to buffer the messages at different nodes in the overlayimplies that the delay of the path from s to a destination network. This approach can be categorized into threeCn exceeds Á. In this case the node with second minimum classes: buffering at the source node, buffering at inter-delay variation is chosen as Cn . The main advantage of mediate nodes, and buffering at destination nodes. Buffer-DDVCA is that it is simple and has a time complexity of ing at the source node requires the source node to keepOðmn2 Þ. Butm the main disadvantage of this approach is additional information for each destination. The sourcethat it does not take into account the delay variation node will buffer a message for a different amount of timebound . for each destination and transmit the message multiple3.3 Dynamic Program for Delay Variation Bound times over the network; clearly, this is a waste of network (DPDVB) [18] bandwidth. Also, buffering at the source node defeats theKapoor and Raghavan [18] proposed a heuristic (named purpose of multicasting, which is one of conservingDPDVB) that tries to minimize the cost of multicasting tree network bandwidth. Buffering at intermediate nodestogether with the delay and delay variation constraints. The requires some nodes to be identified as core nodes in thecost can be a measure of residual bandwidth or the amount network. Messages are buffered at these core nodes beforeof buffer space required in the network. This problem can they are sent to the destinations. Buffering at destinationbe reduced to DVBMN problem if the costs are set to zero. nodes requires each destination node to buffer the messages before they pass the messages to the application process. InIn this algorithm, it is assumed that the delay and cost this approach, the source node informs the destinationvalues are integrals, implying that the delay and cost values nodes when they can process the received packets. Forcan be scaled to corresponding integer values. The function example, consider the graph in Fig. 1. In this graph, thegj ðtÞ is defined as the minimum cost path from node 1 to value on each curved line specifies the delay of the shortestnode j with delay exactly equal to t and node 1 as the path from the source to a destination. Suppose the sourcesource. Then, the following recurrence is defined: node S sends packets to destinations D1 , D2 , and D3 . The gj ðtÞ ¼ minfgk ðt À tkj Þ þ ckj ; 8 kjðk; jÞ 2 E; tkj tg; maximum delay among the paths for destinations D1 , D2 , and D3 is 5. Now, to ensure minimum delay variationwhere ckj and tkj denote the cost and delay of the path from among the destinations, the source node S informsnode k to node j, respectively. The algorithm first initializes destination nodes D2 and D3 to process their packets aftertwo variables T C and t to infinity and 1, respectively. T C 5 À 2 ¼ 3 units of time and 5 À 1 ¼ 4 units of time,represents the total cost of all the paths in the solution. Now respectively. Node D1 can process the packet as soon as itgj ðtÞ is computed for all nodes in the network except the receives it. This implies that nodes D2 and D3 have to buffersource. Then, the algorithm checks whether paths exist to their packets for 3 and 4 units of time, respectively. It isall nodes in M in the window of ðt À Þ. If paths exist to all easily observed that the amount of buffer space required atnodes in M in this window, then the overall cost C for paths each destination node is directly proportional to theto all nodes in M is computed. If C is same for more than maximum delay variation among the destinations. Anotherone set of paths, then the set of paths, which have minimum major drawback of this scheme is that it relies on thedelays for nodes in M, is chosen. If C is less than or equal to destination nodes for minimizing the delay variation. SuchT C, then T C is initialized to C. Next, t is incremented by 1. a scheme can be easily compromised by the end users toThe algorithm computes gj ðtÞ again and the whole process gain a competitive edge over others in case of online games.is repeated till t is not equal to Á. The main advantage of To overcome these drawbacks, our approach is to route theDPDVB is that it achieves the tightest bound in delay packets using longer paths for some destination nodes sovariations. that all the destination nodes receive the message almost at Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.
20.
BANIK ET AL.: MULTICAST ROUTING WITH DELAY AND DELAY VARIATION CONSTRAINTS FOR COLLABORATIVE APPLICATIONS ON... 425 TABLE 1 The List of Paths from VS to V2 , V5 , and V8 and Their Corresponding End-to-End DelaysFig. 2. An example of an overlay network with link delays. Nodes indouble circles are the destination nodes and node Vs is the source node.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. smaller then the delay variation of 11 in the previous case. Merging these paths we obtain a subnetwork as shown in Fig. 3. Although the subnetwork is not a tree, at most one5 MOTIVATING EXAMPLE message needs to be sent on each direction of any link. WeOur heuristic works as follows: It first computes the notice from the multicasting subnetwork in Fig. 3 thatk shortest paths from source to each of the destinations destination node V2 works as relay node for the paths VS Àsuch that the delay of each shortest path is less than or equal V1 À V2 À V4 À V8 and VS À V1 À V2 À V5 . That is, the nodeto the delay bound. The value of k is chosen depending V2 will not consume the data while working as a relay nodeupon the size, edge density, and number of destinations. for these paths. It will simply just forward the data alongThis analysis is shown in Section 6. We cleverly select a the path. This can be done using source-routing protocolsshortest path for each destination from among the k shortest where source specifies the path to be followed by a packet.paths available to that destination in such a way that the In Grid Computing [12] Environment, this type of protocoldelay variation is the smallest possible. We will examine is implemented using software routers.this concept with the example below. Consider the overlaynetwork given in Fig. 2. 6 OUR HEURISTIC: CHAINS In Fig. 2, we have an overlay network with VS as thesource node and V2 , V5 , and V8 as destination nodes. We Given the motivating example in Section 5, we know thatwant to construct a multicasting subnetwork with the the number of such shortest paths from the source to eachtightest delay variation and end-to-end delay bound of 50. destination within the bounded delay may not all be theFirst, we find all the paths from VS to V2 , V5 , and V8 for same (as in the example in the previous section). However,which the delays are less than or equal to 50. Then, we list we can assume that the number of shortest paths for anyall the paths with their corresponding delays in the source-destination pair is bounded by an integer value k.increasing 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. Fig. 3. The multicasting subnetwork with a delay variation of 3 and a If the paths that are chosen are (d), (g), and (j), the end-to- delay bound of 50 obtained after merging the paths (d), (g), and (j) inend delays for each of the destinations V2 , V5 , and V8 will Table 1. The number in the parenthesis indicates the destination(s) ofbe 40, 40, and 43, respectively. These delays are within the the packets sent from the source Vs . The directions on the arcs indicatedesired delay bound of 50, but the delay variation is only 3, how 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.
21.
426 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 3, MARCH 2007Now, we can see that after computing all shortest paths for {each of the m destinations satisfying the maximum delay if ðcolor½j ! ¼ cÞconstraint, we can find a path to each of the destinations {that gives the smallest delay variation in a brute-force next½j ¼ t;manner. Clearly, the time-complexity of this approach c ¼ color½j;would be Oðkm Þ. In this section, we present an algorithm }that has a time-complexity of Oðm2 kÞ that chooses a path to elseeach of the destinations from a set of k shortest paths (to {each destination) such that the delay variation is the next½j ¼ next½t;smallest. Note that the k shortest paths from a given }source s to all the nodes in an n node network with jEj links t ¼ j;can be determined in OðjEj þ nk logðjEj=nÞÞ [16], [17]. }Given the algorithm in this section, the total time-complex- Endity of the entire algorithm would be OðjEj þ nk logðjEj=nÞ þ m2 kÞ The sequencefor the DVBMN problem. i; nextðiÞ; nextðnextðiÞÞ; nextðnextðnextðiÞÞÞ; . . . Suppose source s wants to multicast data to destina- is defined as a chain starting from the ith element of D. Intions v1 ; v2 ; . . . ; vm and let there be ki different shortest this case, we say that element i starts a chain. A chain ispaths for each vi . Let the delay of these paths be valid if it contains exactly m elements and each element indi1 ; di2 ; . . . ; diki in the increasing order of the end-to-end the chain is of a different color. Each element i that starts adelays. Our aim is to find the set of paths P from source valid chain is called a valid element; otherwise, the elements to each destination v1 ; v2 ; . . . ; vm such that the maximum will be called invalid. It is easy to observe that all invaliddifference between the delays of these paths in P is a elements occur at the rightmost end of the array D. In orderminimum. The problem of finding these paths can be to identify the valid and invalid elements in D, we initiallytransformed into the following problem. mark all the elements in D as valid and scan the array D Consider sets Si ¼ di1 ; di2 ; . . . ; dik , where 1 i m, and from right to left. As we move from right to left, we keep awhere dij , 1 j k are integers with colorðdij Þ ¼ i. Without count of the number of elements that are of different colorthe loss of generality, assume that the elements in each Si S (call this variable count). We can use a Boolean array ofare nondecreasing. Define D ¼ m fSi g and, again without i¼1 size m initialized to false to keep track of the different colorsloss of generality, assume that the elements in D are processed so far. When we encounter an element i and countnondecreasing. The set D can be constructed in OðmkÞ time is not equal to m, we increment the count variable by one ifusing the merge algorithm [9]. We will define color½i ¼ j, the element is not found in the Boolean array (constant timefor each element i in D, if the element i belongs to the set j. to check if it is present). In this case, the ith element is We now construct an array next, where next½i corre- marked as invalid. When count reaches m, our algorithmsponds to the ith element of the set M as defined as follows: terminates. The complexity of finding all the valid andThe array next is of size mk and invalid elements is OðmkÞ. In the above example, elements next½i ¼ minfj j j i; colorðjÞ 6¼ colorðiÞ; j mkg; in positions 9, 10, and 11 are invalid. Also for the example above, the chain {20, 26, 31} is valid;if there exists such a j; otherwise, next½i ¼ À1. For example, similarly, {26, 31, 43}, {31, 32, 43}, {32, 32, 43}, {32, 35, 43}, {35,consider the following sets: 40, 43}, and {40, 40, 43} are some of the other valid chains. The value of a valid chain is the difference between the last and first element of the chain. For example, the value of the valid chain {26, 31, 43} is 43 À 26 ¼ 17 and, similarly, the value 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 valid chain whose value is a minimum among all valid chains. First, we will describe a Oðm2 k2 Þ algorithm Chains to find a The next array can be computed in OðmkÞ time by a valid chain of minimum value and then show how thelinear scan of the array D starting from the right and complexity can be improved to Oðm2 kÞ based on a usefulmoving towards the left. The algorithm to compute the next observation. The algorithm Chains assumes that D, color,array is given below: and next are all available. It also assumes that the valid and invalid elements are marked appropriately.Algorithm Compute_next_arrayBegin Algorithm Chains t ¼ mk; Begin c ¼ color½mk; BestChainValue ¼ 1; next½t ¼ À1; BestChainStartPos ¼ 1; for (j ¼ mk À 1; j 0; j - -) for (int i ¼ 1; i m Á k; i þ þÞ Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.
22.
BANIK ET AL.: MULTICAST ROUTING WITH DELAY AND DELAY VARIATION CONSTRAINTS FOR COLLABORATIVE APPLICATIONS ON... 427 { is a contradiction as the list D is in nondecreasing order //Find the valid chain starting from i of elements. So, the value of chain C1 will always be for (j ¼ 1; j m; j þ þ) flag½j ¼ false; greater than or equal to the value of chain C2 . u t count ¼ 1; k ¼ next½i; Property 2. For any two valid chains C1 and C2 , if flag½color½k ¼ true; firstðC1 Þ firstðC2 Þ, then lastðC1 Þ lastðC2 Þ. while ((k 6¼ À1) (count 6¼ m)) Proof. It can be easily observed that if firstðC1 Þ is less than //May have to loop through the entire list D firstðC2 Þ, then chain C2 will end either along with { chain C1 or after chain C1 . In the first case, lastðC1 Þ will if !flag½color½k be equal to lastðC2 Þ. The second case will occur when { there are some colors which appear between firstðC1 Þ flag½color½k ¼ true; and firstðC2 Þ and then appear again between lastðC1 Þ count ¼ count þ 1; and lastðC2 Þ. In this case, lastðC2 Þ will be greater than } lastðC1 Þ. u t if ðcount mÞ k ¼ next½k; } Our improved algorithm works as follows: First, we scan if ðcount ¼¼ mÞ all the elements in D (actually the array color) from left to //Valid chain found starting from i right. At each position j, we keep an array count of size m { (the maximum number of colors), where count½i is the currentChainValue ¼ D½k À D½i; number of elements from positions 1 to j with color i. This if(currentChainValue BestChainValue) process will take Oðm2 kÞ time. We perform a second scan of { the array D (along with the color array). Before the BestChainValue ¼ currentChainValue; beginning of the second scan, we create a queue Q that BestChainStartPos ¼ i; stores nodes that have only one attribute which is the color } of the element. The maximum number of nodes in the } queue is at most m and no two nodes in the queue have the } same color. An array pointT o of size m is created, whereEnd. pointT o½i points to the node with color i in the queue, if it exists; otherwise, it is set to null. The node with color½1 (the The algorithm Chains clearly has a complexity of color of the first element of D) is created and added to theOðm2 k2 Þ and using the following Property 1 and Property 2, queue Q. The element pointT o½color½1 is set to point to thiswe will show that the complexity of the algorithm can be node in the queue Q. The scan begins with the secondimproved to Oðm2 kÞ. We will define firstðCÞ to be an index element in D (along with array color). Conceptually, we willposition in D that is the first element of the chain C; now try to find a valid chain that begins with Q:frontðÞ(thesimilarly, lastðCÞ be an index position in D that is the last first element of the queue). From Property 2, we will firstposition of the Chain C. find the valid chain for this element provided that we doProperty 1. Let C1 and C2 be two valid chains with firstðC1 Þ not find another element with the same color as the one in firstðC2 Þ lastðC1 Þ and there exists an element at position j the front of the queue (based on Property 1). We will keep in D such that color½j ¼ color½firstðC1 Þ and firstðC1 Þ going until we find m different colored elements and each j lastðC1 Þ and D½j 2 C2 . The value of chain C1 is greater time we find a element with a new color we will add that to than or equal to the value of chain C2 . the queue. If we come across a color that we have already seen, then we will remove it from the queue (Oð1Þ operationProof. Suppose we have a list D with n elements in since we have access to it via the pointT o array). nondecreasing order and P , Q, R, S, and T denote the If we remove the element from the front of the queue, color of the elements. We construct two chains C1 and C2 then, based on Property 1, there exists another valid chain from D with C1 containing elements that may start with the same of different color. Now, rather P ð1Þ À Qð2Þ À Rði1 Þ À Sðj1 Þ À T ðnÞ than rescanning, we will use the information from scan one as follows.: Let us say that, when the second scan is at and C2 containing elements position l, we removed the front of the queue (that is, when Qð2Þ À P ð3Þ À Rði2 Þ À Sðj2 Þ À T ðnÞ: the color½j ¼ color½Q:frontðÞÞ. Also, let the new front of queue Q be an element that was added to the queue when The number inside the parenthesis indicates the index the scan was at position pðp lÞ. Our next goal is to find a position of the element in D. We can easily observe that valid chain from p. To avoid rescanning from position p, we C1 and C2 satisfy the condition firstðC1 Þ firstðC2 Þ can use the count at locations p and l to determine the lastðC1 Þ and here j ¼ 3 as color½3 ¼ color½firstðC1 Þ and number of elements with different colors in locations p D½j is included in chain C2 . Let us assume that the value through l and proceed to scan from positions l þ 1 for colors of chain C1 is less than the value of chain C2 . We that need to be added to form a valid chain. Because each calculate the value of chain C1 , valueðC1 Þ ¼ D½n À D½1, element of the arrays D and each color is processed at most and value of chain C2 , valueðC2 Þ ¼ D½n À D½2. Now, once during the second scan and also the maximum valueðC1 Þ valueðC2 Þ implies that D½1 D½2. But, this number of comparisons needed at each position (using Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.
23.
428 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 3, MARCH 2007Fig. 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.the count array) is at most m, the total complexity of the each graph is kept in the range of 3.5 to 4. Each heuristic hassecond scan and hence the improved algorithm is Oðm2 kÞ. been tested on various graphs with the number of nodes Based on the above algorithm, we can clearly see that varying from 20 to 100 and the percentage of nodes in theafter computing k shortest paths (that satisfy the delay multicast group varying from 5 percent to 15 percent. Thebound) to each of the destinations, a path from source s to results are plotted in Figs. 4, 5, and 6. Each point in the plotseach of the destinations can be chosen in Oðm2 kÞ time such represents the average value taken over 30 graphs. Thethat the delay variation is minimized. experiments are done on Sun UltraSPARC-IIi Workstations Given that the k shortest path algorithm can be (360 MHz of clock speed and 128 MB RAM) runningdetermined in OðjEj þ nk logðjEj=nÞÞ [16], [17], the total Solaris 8.time complexity of the DVBMN problem is From Figs. 4, 5, and 6, we observe that Chains along with DPDVB achieves the tightest delay variation for all the OðjEj þ nk logðjEj=nÞ þ m2 kÞ: cases. We also notice that Chains outperforms DVMA and DPDVB for all cases in terms of execution time. Only DDVCA shows better performance than Chains in terms of7 PERFORMANCE EVALUATION execution time. But, we have already observed that DDVCAFor evaluation purposes, we implemented DVMA, DDVCA, does not achieve the tightest delay variation. Table 2 showsDPDVB and our heuristic Chains and compared each of the numerical values of execution time of DVMA, DPDVB,them in terms of the tightest delay variation and execution DDVCA and Chains for various numbers of nodes. Table 3time. We set the end-to-end delay bound Á ¼ 0:05 s and the shows how the execution time increases when the percen-delay variation bound ¼ 0 (this value of will force each tage of nodes in the multicast group increases for DVMA,heuristic to return the solution with the tightest T ). We DPDVB, DDVCA, and Chains. We observe that Chainshave run the heuristics on randomly generated graphs outperforms DVMA and DPDVB in terms of execution timeconstructed using Georgia Tech Internetwork Topology even with higher number of nodes in the multicast group.Models (GT-ITM) [6], [8]. The nodes in the graph are placed Since DPDVB along with only Chain achieves the tightestin a grid of dimension 4; 900 Â 4; 900 km to resemble the delay variation and from Table 2 we observe that the rate ofwhole network spreading all over the United States, and the increase in the execution time of Chain is more than that ofdelay for each link is set to the propagation delay of the DPDVB, we have performed additional experiments withelectrical signal along that link. The average node degree for Chain and DPDVB for more number of nodes. From Table 4, Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.
24.
BANIK ET AL.: MULTICAST ROUTING WITH DELAY AND DELAY VARIATION CONSTRAINTS FOR COLLABORATIVE APPLICATIONS ON... 429 TABLE 2Execution Time versus Number of Nodes with 10 Percent of the Nodes in the Multicast Group Fig. 7. A comparison of execution times of DPDVB and Chains for TABLE 3 different values of Á (end-to-end delay bound) with number of Execution Time versus Percentage of Nodes in the Multicast nodes 100. Group (Total Nodes = 80) show that finding k shortest paths in a large network with the algorithm proposed in [16] is quite efficient. For our experiments, we have generated random graphs consisting of 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 have used the recursive enumeration code for finding k shortest TABLE 4 paths provided at [17]. We have run our simulation for allA Comparison of Execution Times of DPDVB and Chains with pairs of k shortest paths with different values of k for each 10 Percent of the Nodes in the Multicast Group generated random graph. We also calculated the elapsed time for each run and plotted the results in Fig. 8. From the plots, we can observe that for a graph with 50 nodes and edge probability 0.8 (which means a dense graph), the time to calculate 10 shortest paths for all pairs is 1.37 seconds. When the number of nodes increases to 100, this value becomes 18 seconds. Now, we need to determine how k is related to the end- to-end delay bound, Á and the density of the network. We have done an experiment with Chains for various values of average node degree of the network and the delay bound Á and calculated the value of k required for achieving the tightest delay variation. We have varied the average node degree from 4 to 8. In order to vary the delay bound Á, first we calculated the delay of the farthest destination in thewe can easily observe that the execution time of DPDVB is multicast group and then set Á in the range of 100 percentalways more than that of Chains even with higher number to 350 percent of the delay of the farthest destination. From Fig. 9, we observe that, as the average node degree of theof nodes. We also observe that the rate of increase in the network increases (which implies the graph becomes dense)execution time of Chains decreases for higher number of we need a higher value of k to achieve the tightest delaynodes. This is due to the fact that the execution time of variation. This is obvious from the fact that, as the graphChain depends largely on the value of k. As the value of n becomes dense, we have more paths from the source to the(number of nodes) increases, Chain requires larger values of destinations. We also observe that as Á increases, the valuek to find out the multicasting subnetwork with minimum . of k increases since the search space for Chains increases.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 to 8 DYNAMIC REORGANIZATION OF THEobtain a multicasting subnetwork with minimum . Next, MULTICASTING SUBNETWORKwe compared the execution time of DPDVB and Chains for In multicasting applications, it is observed that some nodesdifferent values of Á, the end-to-end delay bound. The in the multicast group may leave the session of multicastingresults are plotted in Fig. 7. From Fig. 7, we observe that the after a certain period or some new nodes may join theexecution time of DPDVB increases with Á, whereas the multicasting group. We need to update the multicasting subnetwork to include the joining node and exclude theexecution time of Chains remains almost constant. leaving node in such way that delay along the path from the The asymptotic complexity of our algorithm is domi- source to each multicasting node (including the new one) isnated by finding the k shortest paths from the source to all bounded by Á and the delay variation among the multi-destinations such that the delays for these paths are less casting nodes is a minimum. The authors of [24] discussthan or equal to the delay bound Á. If Á is large, then the various cases for join and leave operation with theirvalue for k may increase. However, our implementations heuristic. Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.
25.
430 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 18, NO. 3, MARCH 2007Fig. 8. Execution time for finding k-shortest paths when the number of nodes is 50 and 100.8.1 Leave Operation the joining node with the existing sorted list ofWhen a node wants to leave the multicasting session, it delays of other multicasting nodes. We will formissues a leave request. The leaving node can be either a leaf chains and return the chain with minimum delaynode or a nonleaf node of the multicasting subnetwork. variation. . If the joining node is not a part of the subnetwork, . If the leaving node is a leaf node, the authors of [24] DVMA finds l shortest paths from each node in the have suggested pruning the tree to exclude the leaf subnetwork to the joining node and returns the best node. But this strategy may not work when we want path for constructing the new tree. For Chains, the to achieve the tightest delay variation. In this solution will be the same as in the previous case. situation, DVMA has to rework the whole process The heuristic DPDVB [18] is unsuited for join and leave with updated multicasting group. In Chains, we will operations, as the entire heuristic has to be rerun. remove all the delays of the leaving node from the sorted list D and from color, form the chains again, and return the chain with minimum delay variation. 9 CONCLUSIONS . If the leaving node is not a leaf node, the solution of In this paper, we have considered the problem of DVMA is to make the node work as a relay node and determining a multicasting subnetwork with end-to-end use the same tree. This solution also may not yield delay bound and delay variation bounded for collaborative the tightest delay variation and again the DVMA applications on overlay network. We have discussed three heuristic has to repeat the whole process. For Chains, well-known heuristics from the literature and exposed their the solution will be the same as the previous one. limitations. Then, we have presented our heuristic Chains, which achieves the tightest delay variation for a given delay8.2 Join Operation bound. At the initial phase of our heuristic, we have usedWhen a node wants to join the multicasting group, it issues the k shortest path technique proposed by Victor anda join request. The joining node may or may not be part of Andres [16] to find all paths for each destinations for whichthe existing multicasting subnetwork. the delays are less than or equal to the delay bound. Then, using these delays, we have determined the delay chain, . If the joining node is a part of the subnetwork, then which gives the minimum delay variation and constructed DVMA uses the same tree with making the joining the multicasting subnetwork by retrieving the paths from node work as both a relay node and a multicasting the delays. We have implemented all the heuristics and node. If the tightest delay variation is required, observed Chains outperforms DPDVB and DVMA in terms DVMA has to rework the whole process with the of execution time. The Chains heuristic also achieves the updated multicasting group. In Chains, we will find tightest delay variation bound along with DPDVB. We have k shortest paths from the source to the joining node also presented results to show that finding k shortest paths such that delays of these paths are less than or equal for all destinations is not a bottleneck in our solution. We to Á. Then, we will merge this sorted list of delays of have also observed that Chains require higher values of k to achieve the tightest delay variation when the graph becomes dense or when the end-to-end delay bound increases. For dynamic reorganization of the multicasting subnetwork with the tightest delay variation and bounded delay, we notice that the solution with Chains is more efficient than that of DVMA in terms of time-complexity. As part of our future research work, we will consider link delays as time-varying functions and try to develop efficient heuristics for the DVBMN problem. ACKNOWLEDGMENTS A preliminary version of this paper [3] was presented at the Seventh IEEE International Conference on High SpeedFig. 9. k versus end-to-end delay bound for networks with average node Networks and Multimedia Communications held in Tou-degree. louse, France, in June 2004. Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.
26.
BANIK ET AL.: MULTICAST ROUTING WITH DELAY AND DELAY VARIATION CONSTRAINTS FOR COLLABORATIVE APPLICATIONS ON... 431REFERENCES [27] P.-R. Sheu and S.-T. Chen, “A Fast and Efficient Heuristic Algorithm for the Delay and Delay Variation Bound Multicast[1] A. Ballardie, “Core Based Tree (CBT) Multicast Routing Archi- Tree Problem,” Proc. 15th Int’l Conf. Information Networking (ICOIN tecture,” Internet RFC 2201, Sept. 1997. ’01), pp. 611-618, Feb. 2001.[2] S. Baneerjee, C. Kommareddy, K. Kar, B. Bhattacharjee, and S. [28] S.Y. Shi and J.S. Turner, “Multicast Routing and Bandwidth Khuller, “Construction of an Efficient Overlay Multicast Infra- Dimensioning in Overlay Networks,” IEEE J. Selected Areas in structure for Real-Time Applications,” Proc. IEEE INFOCOM ’03, Comm., vol. 20, no. 8, pp. 1444-1455, Oct. 2002. Mar. 2003. [29] Y.-S. Wang and J. Touch, “Application Deployment in Virtual[3] S.M. Banik, S. Radhakrishnan, and C.N. Sekharan, “Multicast Networks Using the X-Bone,” Proc. DARPA Active Networks Conf. Routing with Delay and Delay Variation Constraints for Multi- and Exposition, pp. 484-491, May 2002. media Applications,” Proc. Seventh IEEE Int’l Conf. High Speed [30] X. Zhengquan and C. Lin, “An Effective Heuristic Algorithm for Networks and Multimedia Comm., pp. 399-411, June 2004. Dynamic Multicast Routing with Delay-Constrained,” Proc. Ninth[4] K. Bharath-Kumar and J.M. Jaffe, “Routing to Multiple Destina- Int’l Symp. Computers and Comm., vol. 2, pp. 1024-1031, 2004. tions in Computer Networks,” IEEE Trans. Comm., vol. 31, no. 3, pp. 343-351, Mar. 1983. Shankar M. Banik received the BTech degree[5] E. Brosh and Y. Shavitt, “Approximation and Heuristic Algo- (Hons) in computer science and engineering rithms for Minimum Delay Application-Layer Multicast Trees,” from IIT Kharagpur in 1997 and the MS degree in Proc. IEEE INFOCOM ’04, Mar. 2004. computer science from the University of Okla-[6] K.L. Calvert, M.B. Doar, and E.W. Zegura, “Modeling Internet homa in 2001. He is a PhD candidate in the Topology,” IEEE Comm. Magazine, vol. 35, no. 6, pp. 160-163, June School of Computer Science at the University of 1997. Oklahoma. His research interests are in the areas of collaborative computing, overlay net-[7] Y.-H. Chu, S.G. Rao, S. Seshan, and H. Zhang, “Enabling works, multicasting, and mobile and distributed Conferencing Applications on the Internet Using an Overlay systems. He is a student member of the IEEE. Multicast Architecture,” Proc. ACM SIGCOMM ’01, pp. 55-67, Aug. 2001.[8] College of Computing, Georgia Inst. of Technology, “Modeling Topology of Large Internetworks,” http://www.cc.gatech.edu/ Sridhar Radhakrishnan received the PhD projects/gtitm/, 2006. degree in computer science from Louisiana[9] H.T. Cormen, E.C. Leiserson, and L.R. Rivest, Introduction to State University in 1990. He is a professor with Algorithms. MIT Press, McGraw Hill Book Co., 1998. the School of Computer Science at the Uni-[10] Z. Dziong, M. Jia, and L.G. Mason, “Analysis of Multicast Routing versity of Oklahoma, which he joined in 1990. Algorithms for Broadband Networks,” Proc. IEEE ATM Workshop, His research interests are in the areas of pp. 186-194, May 1998. protocol design for wireless and mobile comput- ing, power aware protocols in mobile networks,[11] H. Erikson, “MBONE: The Multicast Backbone,” Comm. ACM, algorithms for quality of service routing in pp. 54-60, Aug. 1994. broadband networks, and resource allocation[12] I. Foster and C. Kesselman, The Grid: Blueprint for a New Computing problems in wireless networks. He has published more than 80 research Infrastructure. Morgan Kaufmann, 1999. articles in journals, conference proceedings, and book chapters. His[13] Gnutella Web site, http://gnutella.wego.com, 2006. textbook on data structures titled Object-Oriented Data Structures[14] L. Guo and I.M. Matta, “QDMR: An Efficient QoS Dependent Featuring C++ is currently under review for publication. He has obtained Multicast Routing Algorithm,” Proc. Fifth IEEE Real-Time Technol- research funding totaling about $4 million from federal and state ogy and Applications Symp., pp. 213-222, 1999. agencies and industry.[15] A. Hac and K. Zhou, “Multicasting Algorithm in Multimedia Communication Network,” Proc. IEEE GLOBECOM ’98, pp. 747- Chandra N. Sekharan received the MS degree 752, 1998. from the Indian Institute of Science and the PhD[16] V. Jimenez and A. Marzal, “Computing the K Shortest Paths: A degree from Clemson University. He served as New Algorithm and an Experimental Comparison,” Proc. Third an assistant professor at the Center for Parallel Workshop, Algorithm Eng., pp. 15-29, 1999. Computation with Department of Computer[17] V. Jimenez and A. Marzal, “Algorithms for Computing the Science at the University of Central Florida K Shortest Paths,” http://terra.act.uji.es/REA/, 2005. before he joined the faculty of Loyola University[18] S. Kapoor and S. Raghavan, “Improved Multicast Routing with Chicago. He is now a professor with and the Delay and Delay Variation Constraint,” Proc. Global Telecomm. chairperson of the Department of Computer Conf. (GLOBECOM ’00), vol. 1, pp. 476-480, 2000. Science at Loyola. Dr. Sekharan’s main re-[19] S.J. Koh and S.G. Kang, “Enhancement of CBT Multicast Routing search interests include parallel and distributed computing, network Protocol,” Proc. Eighth Int’l Conf. Parallel and Distributed Systems optimization, relational databases, and the World Wide Web. He is (ICPADS ’01), pp. 209-213, June 2001. supported by two US National Science Foundation research grants, the[20] V. Kompella, J.C. Pasquale, and G.C. Polyszos, “Multicast Routing Community Information Technology Entrepreneurship Project, and for Multimedia Communications,” IEEE/ACM Trans. Networking, Internet 2. 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 . For more information on this or any other computing topic, Algorithm for Delay-Constrained Minimum-Cost Multicasting,” please visit our Digital Library at www.computer.org/publications/dlib. IEEE/ACM Trans. Networking, vol. 6, no. 4, pp. 461-474, Aug. 1998.[23] A. Riabov, Z. Liu, and L. Zhang, “Overlay Multicast Trees of Minimal Delay,” Proc. 24th IEEE Int’l Conf. Distributed Computing Systems (ICDCS ’04), 2004.[24] G.N. Rouskas and I. Baldine, “Multicast Routing with End-to-End Delay and Delay Variations Constraints,” IEEE J. Selected Areas in Comm., vol. 15, no. 3, pp. 346-356, 1997.[25] H.F. Salama, D.S. Reeves, and Y. Viniotis, “Evaluation of Multicast Routing Algorithms for Real-Time Communication on High Speed 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. Authorized licensed use limited to: GOVERNMENT COLLEGE OF TECHNOLOGY. Downloaded on January 31, 2009 at 02:21 from IEEE Xplore. Restrictions apply.
Clipping is a handy way to collect and organize the most important slides from a presentation. You can keep your great finds in clipboards organized around topics.
Be the first to comment