1 Multicast Routing lgorithms in High Speed Networks Yongjun Im, Youngsuk Lee, Sunjoo Wi, Kangwon Lee, Yanghee hoi, hongsang Kim ept. of omputer Engineering Seoul National University Seoul, Korea, ecember 20, 1995 bstract We propose two multicast routing algorithms in this paper. One is a delay-constrained multicast algorithm that nds a multicast tree between one source node and multiple destination nodes. The other is a dynamic multicast algorithm that allows multiple nodes to dynamically join or leave a multicast group during a session. The rst algorithm, which provides multicasting and guaranteed QoS(Quality-of-Service) services at the network layer, is a distributed routing algorithm where the reduced multicast tree is computed through a single round of message exchanges between network nodes, consequently reducing the number of messages and the accompanying computation time. The distributed algorithm is shown to generate within much less time a multicast tree slightly more expensive than that by the centralized one. The second algorithm is ef- cient under dynamic network environment, with frequent status changes for network nodes or links and multicast group members. Keywords: multicast, routing, distributed, dynamic, QoS(Quality-of-Service) 1 Introduction With the rapid progress of the network and computer technologies, it becomes possible to exchange large multimedia data(e.g., video, audio, highresolution image etc.) over the high speed network in realtime. pplications sitting on top of the multimedia and multipoint network, such as videoconferencing, SW(computer supported cooperative working), and multimedia education, have been introduced and are penetrating rapidly into the business and residential market. These emerging applications have specic requirements that must be supported by the underlying network, such as general strictly controlled QoS(quality of service), multicasting capability at the network level. QoS parameters such as delay bounds, required bandwidth, loss rate, and jitter are used to express the demands of an application. Multicasting refers to transmitting data to multiple destinations, and is considered as the generalized concept of one-to-one unicasting and one-to-all broadcasting. It provides additional bandwidth savings over broadcasting for applications where the destination set is only a subset of the nodes in the network. nd much less network resources(bandwidth etc.) are required in comparison with the repeated unicasting. Multicasting can be provided at any layer in protocol stack, but the protocol eciency increases when supported at the lower layer. In realtime multimedia networks, resource reservation schemes are often employed to guarantee the QoS between participating nodes. PU time, link bandwidth, and buer are examples of network resources. Resource reservation consists of admission control, packet scheduling, and resource management and allocation. efore reserving network resources, a route satisfying the QoS requested by the application is determined. nd then resources along the route are actually allocated hop-by-hop by the resource reservation or connection establishment protocol. The traditional non-realtime point-to-point protocols do not provide multicasting and the guaranteed QoS. There has been many studies on best-eort multicasting [1, 2, 3, 4]. Here, the route computation concerns only about the connectivity. ut, ecient, more sophisticated multicasting techniques are necessary for high-speed networks in order to provide the QoS guarantees for each individual connection without underutilizing the network resources. Ecient multicast routing algorithms are essential for services spanning wide areas and involving large number of nodes in order to optimize the utilization of the network resources. ut, nding the minimun cost route is dierent from nding QoS constrained route. In past few years, several constrained multicast routing algorithms were proposed [8, 9, 10, 11, 12]. These are algorithms which attempt to optimize a cost function subject to constraints induced from QoS requirements of the application. In this paper, we present two new multicast routing algorithms. The rst one is a static minimum cost distributed route computation algorithm that satises the end-to-end delay requirement set by the application. The second one is a dynamic multicast route computation algorithm to allow multiple joins(or leaves) and node(or link) failures. Finding a minimum cost multicast tree is a Steiner tree problem , and is NP-complete one. Minimum cost tree with delay bound is a special case of the minimum cost tree,
2 thus it is also NP-complete. The proposed algorithms are therefore a heuristic one. In section 2, an informal classication for the multicast routing algorithms are presented. Section 3 describes the distributed delay-constrained multicast route computation algorithm, and presents its performance via simulation. The dynamic multicast routing algorithm is treated in section 4 with its simulation results. 2 lassication of Multicast Routing lgorithms etermining the optimal multicast tree for a graph, in general, is a dicult problem. Previous works have established that the multicast tree problem might be modeled as the Steiner problem in networks [14, 15] and that explicit solutions are prohibitively expensive. For example, two popular explicit algorithms, the spanning tree enumeration algorithm and the dynamic programming algorithm , have algorithmic complexity of O(p 2 2 (n?p) +n 3 ) and O(n3 p +n 2 2 p +n 3 ), respectively, where n is the number of nodes in the graph and p the number of multicast members. number of good, inexpensive heuristics exist for the Steiner problem in networks and have been reviewed extensively elsewhere [14, 16]. Some heuristics produce solutions no worse than twice the optimal solution [14, 17]. In this section, we classify the existing heuristic multicast routing algorithms according to its application domains; point-to-multipoint vs. multipointto-multipoint, static vs. dynamic, centralized vs. distributed, and constrained vs. unconstrained. In some applications, such as videoconferencing, there are more than one source node, each of them transmitting to the same multicast group. This is known as the multipoint-to-multipoint routing problem. ynamic multicast routing dynamically adjusts the path in response to topology changes. It permits destination nodes to join and leave a multicast group during the connection lifetime. In static multicast routing, however, the multicast group is xed and routes from the source to destinations are computed at the same time, and not changed during the connection lifetime. In centralized routing algorithm, one node which is aware of the status of the whole network computes the route. The computation is easy and fast in most centralized schemes, and policy routing can be easily integrated. However, the overhead to maintain the whole network status in the route computing node can be very large. However, It is not practical for very large networks, where the complete knowledge of the network is dicult to collect. In most cases, such algorithms are of theoretical interest and should be useful as tools to measure the performance of other routing algorithms. In addition, it is hoped that the study of such algorithms will contribute to a better understanding of the multicast routing problem . In the distributed scheme, on the contrary, each network node participates in the route computation. The route is generated by exchanging messages between nodes that have only partial knowledge of the network status. The distributed scheme is slow and complex, but it is not needed to maintain the whole network status at each node. Most existing multicast routing algorithms are unconstrained ones designed for non-realtime networks. They attempt to minimize a given cost function based on bandwidth and link delays. However, realtime applications require a certain QoS level specied by applications. The constrained multicast routing algorithm attempts to minimize a given cost function subject to given QoS constraints. 3 Network Model for Multicasting In this paper, the network is modeled as follows: The network is a directed graph G = (V; E), where V is the set of network nodes and E is the set of links. The weighting functions for delay and cost respectively exist on each link. d e : E! Z + c e : E! Z + Links are symmetrical, i.e., cost and delay for (v; w) and (w; v) are the same. 4 istributed elay-onstrained Multicast Routing lgorithm We consider here algorithms that deal with the delay-constrained minimum cost multicast routes. The problem of nding delay-constrained multicast tree can be formulated as follows. Given G = (V; E); d e ; c e, source node s, set of destination nodes S V?fsg and the delay constraint, nd the multicast tree where s is the root node, S are leaf nodes, and delay from root to each leaf is less than. Reduce the tree cost and computation time as possible. It is noted that in practice nding the multicast tree rapidly is as important as nding the reduced cost tree. Especially in dynamically changing networks, it is possible that the network status changes while one computes the tree, and the expected resources may not be available after a long route computation time. 4.1 Related Works The O(onstrained daptive Ordering) algorithm presented in  exhibits good performance in
3 terms of time and delay. O, a centralized algorithm, employs MI(Minimum Incremental ost) and O(daptive Ordering) heuristics. onsidering that the link cost is included only once in the total tree cost even when the link is traversed by several paths to destinations, we can set the link cost to zero once it is included as a part of the multicast tree. Therefore, when adding a new destination to the partial tree, the links in the tree are put to zero cost, and we determine the minimum cost path from nodes in the partial tree to the destination (minimum incremental cost heuristics). O heuristics deals with the order of adding new destinations to the tree. If the destination with the minimum incremental cost is added rst to the tree, the nal tree cost can be further reduced. In [8, 9], centralized and distributed algorithms are presented for nding delay constrained minimum cost route. The centralized algorithm is based on the KM Steiner algorithm . In this algorithm, we construct rst a complete graph whose nodes are source and destinations of the multicasting. The edges represent the least cost paths between multicast nodes, which satisfy the delay constraint. Minimum spanning tree from the complete graph constitutes the delay-constrained multicast tree when it is expanded in the original network. The distributed one is based on the distributed MST(Minimum Spanning Tree) algorithm. This algorithm is similar to Prim's MST algorithm. In distributed MST algorithm, it is dicult to know if the tree is being generated in the manner satisfying the delay constraint to the destinations. In , the problem is solved assuming that each node knows the minimum delay to all other nodes in the network. Here, the tree is computed by multiple iterations of message exchanges between nodes. In each iteration, a node already in the tree (node v) adds to the tree a new link (v; w), if (v; w) is on the least cost path to one(or more) new destination and if the path satises the delay requirement. 4.2 lgorithm In the distributed route computation, the overhead of routing table management in a node is small because only the partial knowledge of the network status is sucient to carry out the algorithm at each node. On the contrary, the computation time takes longer than that of the centralized algorithm since many nodes in the network participate in the route computation by exchanging messages repeatedly over the links. If the time to calculate the tree is large, then the probability of network status change during the calculation becomes high, making the solution not optimal (even infeasible) in the network. The number of exchanged messages and the number of repetitions(cycles) are two important factors deciding the total computation time, and thus are to be minimized in the algorithm. onsidering that the time is the most critical factor in the distributed algorithm, we devised an algorithm that always nds the tree in one phase while reducing the number of messages and accompanying processing time. We call the proposed algorithm as M T md (istributed onstrained Multicast Tree - minimum delay). The network informations to be maintained at each node for M T md are fdestination node, least delay, cost, next nodeg. The least delay is the minimum delay to the destination node. nd the cost is the sum of the link costs over the least delay path to the destination. The next node is the adjacent node on the path to forward the packets. The information structure is very similar to that of the well-known distance vector or link state routing table, and it will be easy to modify the existing routing protocol to support M T md. In M T md, the source node sends TEST METRI message to nodes already included in the tree. Upon receiving TEST METRI, each node veries its routing table to see if there exists delay-constrained paths to the destination nodes not included in the tree (each node is aware of the delay from the source to itself, from the previous steps, and calculates the total delay to each destination by adding the least delay value for the destination to the source-to-itself delay). The path with minimum overall cost is selected and the related information is carried back to the source in TEST METRI K message. In the source node, it collects TEST METRI K messages from the nodes already included in the tree, and selects one with the least delay. The node that sent the selected information is notied by JUST message, and it forwards the news to the newly added destination by message. The nodes on the path to the added destination are also added to the multicast tree, and participate in the subsequent tree computation steps. The intermediate nodes modify the accumulated delay eld in the message, which stores the accumulated delay from the source node, by adding the link delay between it and the previous node. The modied delay is stored in each node, too. The destination node replies back by K message when it receives the message. The source node repeats the whole procedure until there are no destinations left. Fig. 1 depicts the procedure of message exchanges to add one destination node to the multicast tree. We now present the formal algorithm. The notations used in the algorithm are: ELY T (v): delay from the source s to node v in the multicast tree T P T H min (v; w): the least delay path between node v and w OST min (v; w): cost of P T H min (v; w) ELY min (v; w): delay of P T H min (v; w) S: destination nodes set, where S V? fsg lgorithm 1 M T md (istributed Multicast Tree - minimum delay) onstrained Step 1 s sends TEST METRI to v 2 T, where T is the set of the nodes already included in the tree and it initially includes source node s.
4 Step 2 Node v, upon receiving TEST METRI, sends TEST METRI K to s after nding a destination node w with the least OST min (v; w) where ELY T (v) + ELY min (v; w) < for w 2 S? T. Step 3 s selects the node whose OST min (v; w) value in the TEST METRI K is minimum, then sends JUST to the node. Step 4 Node v, upon receiving JUST, sends message to the next node x on the P T H min (v; w). source nodes already included in the tree TEST_METRI. TEST_METRI_K JUST intermediate nodes in the path... destination to be added Step 5 Node x, upon receiving, forwards to the next node y on P T H min (x; w). x is included in the tree. _K Step 6 Node w, upon receiving, sends K to the source indicating that w is included in the tree. Step 7 The algorithm is nished when S T. Otherwise go to Step 1. M T md always nds a tree when there exists a tree that satises the delay constraint. nd it doesn't produce any loops in the graph, so generates the tree in a single scan. ccording to the two above good features, M T md generates the multicast tree in one phase. esides, the number of cycles (a cycle is from Step 1 to Step 6) in the phase is equal to the number of the destinations of the multicasting, because we add the whole path to one new destination to the tree in each cycle. In contrast to M T md, ST adds one link at each cycle, making the total computation time linearly dependent on the number of links in the - nal tree, which is times larger in most cases than the number of destination nodes. The penalty in achieving faster computation is the increase of the tree cost. However, it is shown by simulation that the cost increase is marginal (3-15%). 4.3 Simulation For fair simulation, we employed a widely used random graph generation technique devised by Waxman , which generates graphs similar to real networks. The random graph generation procedure is as follows; n points representing network nodes are distributed randomly across a artesian coordinate, and let the coordinates of each node have integer values. The existence of a link between two nodes follows the following probability function.?d(v; w) P e (v; w) = exp L where, d(v; w) : distance between two nodes v; w L : maximum possible distance between : two nodes on the plane, : parameters, 0 <, 1 (1) Figure 1. Message exchanges in M T md We can control the degree and connectivity pattern of the generated graphs by setting appropriate values to and. Probability of link existence between remote nodes increases as gets larger, and the generated graph's degree increases as gets larger. Once a graph is generated by the above algorithm, we added links at random until we get a connected graph if the algorithm does not produce a connected graph. Link cost is set to be linearly proportional to the distance between two end nodes of the link, and random value (between 1 and 30) is assigned to each link as its delay. We compared the performance of the M T md with that of , distributed ST algorithm. While M T md extends the multicast tree destination by destination, ST performs the tree expansion link by link. For each conguration (with respect to the number of network nodes and the ratio of destination node number), one hundred random graphs with same distribution pattern ( =0.2, =0.65) are generated and tested for both algorithms. To compare the two algorithms, we dene; where, MTmd time d cost = MTmd? ST ST 100 (2) d time = T MTmd? T ST T ST 100 (3) ST T MTmd T ST : Tree ost by M T md : Tree ost by ST : Tree omputation Time by : M T md : Tree omputation Time by ST The tree computation time depends on the number of cycles in the algorithm. Fig. 2 compare the tree cost and the tree computation time of the algorithms as a function of normalized group size, i.e., group size
5 20.0 (Total number of nodes=30, elay constraint=100) Relative Tree ost & omputation Time (%) dcost dtime Normalized Group Size Figure 2: Relative tree cost and computation time of M T md vs. ST / number of total nodes, when the number of network nodes is 30. M T md is 0-9% more expensive than ST, while it exhibits superior performance in tree computation time (15-56% shorter). s the ratio of destination nodes to network nodes increases, the time saving between M T md and ST diminishes, since the number of tree links approaches to the number of destination nodes. However in practical networks, as the ratio is relatively small (less than 5 %), M T md 's time eciency will play an important role. We can conclude that M T md is a practical and ecient distributed algorithm, because the cost increase is negligible while the time saving is substantial. 5 ynamic Multicast Routing lgorithm 5.1 Related Works In section 2, we have identied two categories of multicast routing algorithms, static and dynamic. If the network topology does not change and that group membership is xed during a session, static algorithm is sucient. However, in a real network environment, network links and nodes can fail(or be removed) or be recovered(or be added) frequently. In addition, the group membership can change dynamically during a multicast session. It is essential to design ecient dynamic multicast routing algorithm operating under dynamic network environment, and this problem is known to be a dynamic Steiner tree problem  İn Weighted Greedy lgorithm proposed by , in order to add a node to a multicast tree, the path connecting the node to the source is found by minimizing the following function over all v: W (v) = (1? w)d(u; v) + wd(v; o), where o is the owner of the connection(source node, multicast server etc.), v is any node in the already existing tree, u is the node to be added to the tree, and w is a parameter ranging from 0 to 0.5. When w = 0:5, u will be connected using the shortest path to the source. When w = 0, u will be connected using the shortest connection to any node in the tree. If a node want to leave the multicast connection, it is deleted from the connection by rst marking it deleted. If that node is not a internal node in the connection, the algorithm prunes the branch of which it is a part. ecause the algorithm uses a shortest path algorithm, it has a algorithmic complexity of O(n 2 ) whenever a new node is added to the connection. The Weighted Greedy lgorithm does not allow reconguration of existing routes, as new nodes either join or leave a multicast connection. However, if the reconguration is allowed, the cost of multicast tree can be reduced. In E() algorithm proposed by , they considered not only the cost of the trees generated by the algorithm, but also the number of recongurations. The algorithm uses -edge bounded tree as a measure of the deviation from the nonreconguration case. However, it has drawbacks that the algorithmic complexity is higher than that of the Weighted Greedy lgorithm, and its feasibility depends on the number of recongurations. 5.2 lgorithms Even though the Weighted Greedy lgoritm gives reasonable results when compared to other dynamic algorithms, such as the naive approach , it does not consider important cases frequently encountered in multimedia applications: multiple joins or leaves to a multicast group simultaneously. Repeated use of the Weighted Greedy lgorithm proved to be very inecient in this case. We propose new dynamic multicast routing algorithms that allow multiple nodes to join or leave a multicast connection at the same time. In our algorithm, if multiple nodes want to join a multicast tree, our objective is to determine the minimum cost path connecting new nodes to the tree. The algorithm is as follows: lgorithm 2 (M)(lgorithm which supports multiple joins) U is a set of nodes to be added, and T is a multicast tree constructed from the graph G. Step 1 For each u i 2 U, nd the minimum cost path from u i to any node already existing in T. nd for each u i ; u j 2 U and i 6= j, nd the minimum cost path from u i to u j. Step 2 Map T to a new node t, and construct a complete graph G 0, which consists of t, U and the minimum cost path between them.
6 Step 3 Find the minimum spanning tree T 0 over the graph G 0. T1 Step 4 Expand the T 0 in the original graph G. T2 T4 t1 Fig. 3 depicts the above algorithm when multiple nodes join a multicast tree. This algorithm has algorithmic complexity of O(nm 2 ), which is the same as that of Weighted Greedy lgorithm, where n is the number of nodes in G and m is the number of joining nodes. T3 T1 t2 t3 t1 t4 T4 T t T2 t2 t4 t3 T3 T t Figure 4: Four stages in producing a new multicast tree when multiple nodes or links fail. Figure 3: Four stages in producing a new multicast tree when multiple nodes join a tree. If multiple nodes want to leave the connection, our algorithm employs the same mechanism as in the Weighted Greedy lgorithm. When some nodes or links in a multicast tree fail, the existing tree is divided into multiple components, T 1 ; T 2 ; ; T m. Our objective is to determine the minimum cost path connecting ft i g. First, we assume that there is a core node in the multicast group (for example, videoconference server or a database server). core node is assumed to stay in the group during a multicast session. There can be more than one core node in the multicast group. The algorithm for nodes or links failure is as follows: For each T i and T j, nd the minimum cost path from the core node(s) of T i to the core node(s) of T j. If T i or T j does not have any core node, compute the minimum cost paths between them. Then, for each T i, map T i to a node t i and construct a complete graph consisting of all t i and the minimum cost path between them. Next procedure is the same as that of the algorithm for multiple joins. Fig. 4 depicts the procedure to remove multiple nodes from a multicast tree. The simulation result of multiple join algorithm is shown in Fig. 5. It shows how the multicast tree cost changes with respect to the ratio of number of nodes being added to the total number of nodes. The multiple join algorithm outperforms the Weighted Greedy lgorithm as the number of nodes being added simultaneouly increases. The KM algorithm, impratical in dynamic updates because of its long computation time, provides lower bounds for tree cost in the graph. 6 onclusions Path nding for multicast communications in a high-speed network has been an important issue, both in academic and practical sense. In this paper, after classifying the existing multicast routing algorithms, we added two new algorithms. The rst one is a distributed multicast route computation algorithm that nds the least cost tree under an end-to-end delay constraint, and its eectiveness is veried by simulation. Tree computation time in distributed routing depends largely on the message exchanges between multicast nodes, and is thus much longer than that of centralized algorithms. Since the computed tree gets useless if the network status changes during the computation, it is of prime importance in distributed algorithms to nish the calculation in a short time. omparing to the previous distributed route nding algorithms , it is shown that our scheme nds the tree in a much less time at a slightly increased tree cost. The other one is a dynamic multicast routing algorithm that allows multiple nodes to dynamically join or leave a multicast tree. It is proved to be more ecient than applying existing algorithm, such as Weighted Greedy lgorithm, repeatedly. The tree recomputation algorithm that allows nodes or links, which are included in a multicast tree, to fail is also presented. There are, however, a number of remaining research topics in the area of QoS-constrained multicast routing. It is for further study to extend the algorithm to
7 Tree ost (Number of Total Nodes = 60, Initial Group Size = 24) Tree ost KM WG MJOIN Number of Joining Nodes / Number of Total Nodes Figure 5: Tree cost vs. number of nodes being added, for initial group size = 24 and number of nodes = 60 consider the bandwidth requirement of the multicast connection as well as the delay constraint. nd for multimedia applications, it will be necessary to have a multicast routing algorithm that nds multiple parallel connections with related QoS parameters (example : multipoint multimedia conferencing) in a dynamically changing network topology environment. nd it is also necessary to develop the distributed version of the proposed dynamic multicast routing algorithm. References  S. E. eering and. R. heriton, "Multicast Routing in atagram Internetworks and Extended LNs," M Trans. on omputer Systems, vol. 8, no. 2, pp , May . Waitzman,. Partridge, and S. eering, "istance Vector Multicast Routing Protocol," RF 1075, Nov  M. Imase and. M. Waxman, "ynamic Steiner Tree Problem," SIM Journal of iscrete Mathematics, vol.4, pp , ug . M. Waxman, "Routing of Multipoint onnections," IEEE JS, vol. 6, no. 9, ec  V. P. Kompella, J.. Pasquale, and G.. Polyzos, "Multicast Routing for Multimedia ommunications," IEEE/M Trans. on Networking, vol. 1, no. 3, pp , Jun  V. P. Kompella, J.. Pasquale, and G.. Polyzos, "Two istributed lgorithms for Multicasting Multimedia Information," Proc. I '93, pp ,  R. Widyono, "The esign and Evaluation of Routing lgorithms for Real-time hannels," Technical Report TR , Tenet Group, ept. of EES, Univ. of alif. at erkeley, Jun  Q. Zhu, M. Parsa, and J. J. Garcia-Luna-ceves, " Source-ased lgorithm for Near-Optimum elay-onstrained Multicasting," IEEE INFO- OM '95, pr . G. Waters, " New Heuristics for TM Multicast Routing," Proc. the 2nd IFIP Workshop on Performance Modelling and Evaluation of TM Networks, pp , Jul  M. oar and I. Leslie, "How ad is Naive Multicast Routing," IEEE INFOOM'93, pp ,  P. Winter, "Steiner Problem in Networks : Survey," Networks, vol. 17, pp ,  F. Hwang and. Richards, "Steiner tree problem," Networks, vol. 22, pp ,  F. Hwang,. Richards, and P. Winter, "Steiner Tree Problem," North-Holland,  F. auer and. Varma, "egree-onstrained Multicasting in Point-to-Point Networks," IEEE INFOOM, pp ,  Sunjoo Wi and Yanghee hoi, " elay onstrained istributed Multicast Routing lgorithm 1," I '95, Seoul, ug  J. Moy, "Multicast Extension to OSPF," Internet raft, Sep . allardie, P. Tsuchiya, and J. rowcroft, "ore ased Tree(T) - Scalable Multicast Routing," Internet raft, pr  G. Markowsky, L. Kou and L. erman, " Fast lgorithm for Steiner Trees," cta Informatica, vol. 15, pp , This paper is an extended version of .