Polynomial Algorithm for Bandwidth-Delay-Constrained ... - CiteSeerX

2 downloads 11962 Views 158KB Size Report
constructing a multicast tree with delay and bandwidth constraints over a given .... In 8] a novel approximation polynomial algorithm with O(n2log2(CDn)) com-.
Polynomial Algorithm for Bandwidth-Delay-Constrained Multicast Routing Problem  Adil I. Erzin Institute of Mathematics, Novosibirsk, Russia, E-mail: [email protected]

Abstract

Most network-based multimedia applications require multicasting with constraints such as bandwidth and delay in order to support group communication and their quality of services (QoS). This can be considered as the problem of constructing a multicast tree with delay and bandwidth constraints over a given network topology. This paper proposes a novel algorithm to solve this problem with a small polynomial time complexity. The algorithm covers not only the problem with uniform bandwidth and delay constraints, but also that with multiple constraints corresponding to heterogeneous groups in a service. The latter is known as an NP-Complete problem. Finally, we present simulation results over random graphs that show small connection failures.

1 Introduction Multicasting plays an important role in providing network-based multimedia services like audio and video conferencing and has been studied for many years. The study of multicasting has been mainly focused on a low-cost tree over a given network topology on the assumption that every edge of the tree has enough link capacity to be allocated to the amount of bandwidth required by a service. Salama et. al. [1], however, made a conclusion that unconstrained multicast routing algorithms [5, 6, 11, 13] may not be suitable for applying to these services after the computer simulation of these algorithms. That is, these services require multicast routing algorithm to ful ll the appropriate constraints such as end-to-end delay, bandwidth, loss probability and so on. Among these constraints, bandwidth and end-to-end delay re ects the most important characteristics, for these services, to be supported by network. A few papers [10, 15, 16, 19, 20], in recent, are dedicated to design multicast routing algorithms with some constraints added. Barath-Kumar [2] introduces an exponential complexity algorithm to build a tree with minimum cost, where delay  This work was supported in part by RFBR 96-01-01582

1

of an edge is treated as cost. Kompella et. al. [10] proposed a pseudo-polynomial algorithm to construct minimum-cost Steiner tree with delay constraints. Widyono [19] present a constrained Bellman-Ford algorithm with exponential complexity in the worst case. Another heuristic algorithm for constructing minimum-cost tree with delay constraints is introduced by [20]: First a delay-bounded tree is built and then it is locally reconstructed in order to nd another feasible one with less total cost. Wang [17] introduces an algorithm to nd an unicast path subject to multiple constraints.

2 Problem formulation Let a network be given as a graph G = (V; E ); V = f0; 1; : : :; ng, where vertex 0 is a source (root). To each edge (i; j ) 2 E two integer numbers, bandwidth bij > 0 and delay dij  0, are assigned. Moreover, two integer bounds for bandwidth (bk ) and delay (dk ), are imposed upon each destination node k in multicast group V 0  V (n0 = jV 0 j). Let us denote by F the set of all trees spanned over the vertices V 0. Our goal is to nd a spanning tree T 2 F satisfying the following constraints:

X

i;j )2Ck (T )

dij  dk ; k 2 V 0 ;

(1)

 bk ; k 2 V 0 ;

(2)

(

min b i;j )2Ck (T ) ij

(

where Ck (T ) is a path from 0 to k in the tree T 2 F . In another words, we want to construct a Source Rooted Tree (SRT), where each path from root to any sink k 2 V 0 has bandwidth not less than the demanded bounds bk and delay along this path be not more than the delay bound dk .

3 Investigation of the problem In order to understand the nature of the problem, let us rst examine the special case when all bandwidth bounds are the same, i.e. bk = b = const; k 2 V 0. This special problem can be easily solved by applying the simple approach [17] as follows. First, all edges with bandwidths less than b are deleted from initial graph G to generate a new graph with edges satisfying bandwidth requirements. Then a Shortest Path Algorithm (Dijkstra's algorithm [7]) may be applied to this new graph in order to construct a feasible solution satisfying inequalities (2). However, this method can not be applied in the case where there exists a multiple bandwidth constraints. In the following we introduce a similar approach for solving the problem and discuss its incompleteness. For convenience, let us renumber bandwidth bounds in the decreasing order, i.e.

b1 > b2 > : : : > bm; m  n0 : and denote Vi0 = fk 2 V 0 jbk = big. 2

(3)

First, all edges with bandwidths less than b1 are deleted from initial graph G to generate a new graph G0 . Then, we construct a SRT T1, with bandwidth constraint b1, which consists of shortest paths from source to the vertices in V10 in terms of delay. If there are no such tree (this is the case where the new generated graph is disconnected), or there exists any path whose delay is greater than given delay bounds, then T1 does not the tree satisfying constraints (1) - (2). Hence, there are no solution satisfying constraints (1) - (2). If there exists T1 the same process is performed with bandwidth constraint b2. In another words, we construct an SRT T20 (starting from the constructed at the previous step tree T1) from source to the vertices in the set V20 over the new graph G00 consisting of edges with bandwidth greater than or equal to b2 in the initial graph G. If there no exist SRT T20 or any path in SRT T2 does not satisfy delay constraint, the process will stop. After applying the same process for the sets Vi0 ; i = 3; : : :; m, we may nally build a tree that spans all multicast nodes V 0 . This is a feasible tree, i.e a tree satisfying constraints (1) - (2). This algorithm has a small time complexity, equal to O(mn2 ), but may not always yield a feasible solution even if it exists. The following example shows the case in which the above method does not construct a feasible solution in spite of its existence.

3.1 Example 1

At the gure 1(a) is an initial graph, where the numbers near each edge indicates bandwidth and delay available for the edge. A multicast group, bandwidth and delay constraints are chosen as follows: V 0 = f1; 2g; b1 = 2; b2 = 1; d1 = 5; d2 = 3. The SRT T1 for subgraph with edges of not less than b1 bandwidths is shown at the gure 1(b). The gure 1(c) shows the SRT T2 constructed by adding to the constructed at the previous step tree T1 the shortest path to the sink 2 from subgraph with edges of not less than b2 bandwidth. In the SRT T2 there exists a path (namely, to the sink 2) which does not satisfy the delay constraint. Therefore, this is the case where the above approach fails even if the solution exists like at the gure 1(d). Certainly it's more intricately to satisfy the demands with high bandwidth. That is why it's more than reasonable to nd rst the connections to high-bandwidth destinations. But in the previous approach the desired tree was not built because at each step the objective to minimize the delays of the paths was applied. As a result Dijkstra's algorithm found a shortest feasible (with suitable bandwidth) path to the destination 1. In this path the routers 4 and 5 are included. The only one feasible path to the sink 2 use the node 5 too. But it cause the circle f0; 4; 5; 0g and we failed to construct a solution which satisfys (1) { (2). One of the way to overcome this defect is to use at each step of the above algorithm a more economical feasible (with respect only to (2)) paths rather than shortest ones. During the constructing of communication tree for some set of destinations Vi0 it's reasonable to take into account not only the delays along the paths but the total utilization of the bandwidths too. 3

2,1

n

0

n

n

0

1,1

0

n

0

n 2,1 5n 4n 5n 4n 5n 4n 5n 2,1 2,4 3n 3n 3n 3n 1,1 2,1 1n 2n 1n 2n 1n 2n 1n 2n 4

2,5

1,3

c)

b)

a) Initial network; f1,2g - sinks;

d) Solution of the problem

Fig. 1

Searching a tree satisfying constraints (1) - (2) is a NP-Complete problem. So, it's rational to design some heuristic algorithms for the selection of an SRT in order to reduce time complexity even though it may not lead to a solution in spite of its existence. In this paper we introduce a heuristic method which at each iteration use the minimum-cost feasible (in terms of delay) SRT, where cost is equivalent to the sum of edge bandwidths in the tree. That is, this problem can be reduced to a minimumcost Steiner Tree problem with delay constraints along each path from the root to destination. Next section covers the approximate polynomial algorithm for solving last problem, which was introduced in [8].

4 Minimum-cost bounded-delay tree Let us have the weighted graph G = (V; E ); V = f0; 1; : : :; ng, where vertex 0 is a root. For each node of the multicast group V 0  V we have the delay bound dk > 0 and for all edges (i; j ) 2 E their costs cij 2 [c; C ] and delays dij 2 [d; D] are given. The goal is to nd the tree T , spanning the vertices V 0, which is a solution of the next problem: X c ?! min ; W (T ) = (4) ij T 2F 0

X

i;j )2T

(

i;j )2Ck (T )

dij  dk ; k 2 V 0 ;

(

4

(5)

where F 0 is a set of spanning trees for the set V 0. In [8] a novel approximation polynomial algorithm with O(n2 log2(CDn)) complexity for the last problem was proposed. The last algorithm start from the initial tree that contains only the root and at each step k add one node with its incident edge connected to the partially constructed tree Tk?1 . The node, being connected, is selected as one giving the minimum value of the cost function cij + q (dij + Rj ); i 2= Tk?1 ; j 2 Tk?1 , where Rj is a delay along the path Cj (T ) and parameter q  0 (Ri = dij + Rj ). It's possible to vary the q 's value to drive the quality of the solution. It was proved [8] that in the case of integer cij and dij the algorithm yields the shortest path tree (SPT) when q  Cn. Moreover, in order to get a trees with di erent costs and delays it's suciently to check a nite number of q 's values with a step by q not less than 1=(Dn). The proposed approach always yields a feasible solution (if it exist) and keep the best feasible (among checked) tree with respect to its cost. For convenience of the readers we placed here the description of this algorithm to construct the approximation solution of the problem (4) - (5).

4.1 Algorithm Aq

First let us remind the parameter algorithm Aq from [8]. Denote the parameter q  0, initial tree T0 = (V0; E0); V0 = 0; E0 = ; and R0 = 0. The several steps will be performed and at each step k one node and one edge will be added to the partially constructed tree. Let Tk?1 = (Vk?1; Ek?1) be a tree, constructed by rst (k ? 1) steps. The arbitrary Step k. Find such vertices ik 2= Vk?1 and jk 2 Vk?1 that

fcij + q(dij + Rj )g: cikjk + q(dik jk + Rjk ) = i=2V min ;j 2V k ?1

k ?1

If there are several such pairs fik ; jk g choose one which yields the path with minimum number of hops. Set Tk = (Vk ; Ek ) : Vk = Vk?1 [fik g; Ek = Ek?1 [ (ik ; jk ); Rik = dik jk + Rjk . If all vertices from V 0 are in the constructed tree, then cut all leaves not in V 0 with their branches and stop. Else set k = k + 1 and repeat the step. Denote the constructed tree as T q .

4.2 Algorithm A

In this section we remind the rules [8] to vary the parameter's value in the algorithm Aq in order to construct a feasible tree (for problem (4) - (5)) with small total cost. Construct a SPT T D by Dijkstra's algorithm. If paths delays from the source vertex 0 to nodes of the set V 0 are not exceed the given delay bounds, then the feasible solution exist. Set the best constructed tree B = T D. Else stop - problem (4)-(5) does not has a solution. Set q1 = 0; q2 = Q = Cn; s = 1 and perform the 5

Step s. Set q = (q + q )=2 and apply algorithm Aq . 1

2

If in the constructed tree T q delays along the paths from source to multicast vertices not more than the given bounds dk ; k 2 V 0 , then set q = q . If W (T q ) < W (B ), then set B = T q . Else (if exist the vertex k 2 V 0 such that P q dij > dk ) set q = q. i;j 2Ck T If q ? q > 1=(Dn), set s = s + 1 and repeat the step. Else we found the sought-for tree B. Stop. 2

(

2

)

(

)

1

1

The qualities of the constructed solution are discussed in [8], where we send the interested readers for further details.

5 Applying the minimum-cost bounded-delay tree algorithm If we want to search the feasible subtrees in sequence of bandwidth ranking (3), then for each subset of the destinations Vi0 , i.e. the nodes with bandwidth bounds equal to bi , the problem (4)-(5), with cjk = bjk ; (j; k) : bjk  bi, may be solved. As a result not shortest paths subtree, but a feasible one (with respect to delays) with minimum use of network's resources (namely, bandwidths) tree will be build. So, the approach may be performed in follows way. Solve the problem (4)-(5) for subgraph G1 = (V; E1); E1 = f(i; j ) 2 E jbij  b1g; V 0 = V10 . The solution will be a tree T1 spanning the destinations V10 with the biggest bandwidth bounds. This tree will be feasible (with respect to delays) and with a few use of network's bandwidths. Then apply the algorithm A to solve a problem (4)-(5) for graph G2 = (V; E2); E2 = f(i; j ) 2 E jbij  b2g; V 0 = V20, where tree is partially constructed, i.e. the initial tree is T1. Let denote the resulting tree as T2 . Now T2 is the initial tree for the algorithm A for graph G3 = (V; E3); E3 = f(i; j ) 2 E jbij  b3g; V 0 = V30. T3 is a tree constructed by three rst steps. Continue at the same way the adding of some paths in order to satisfy the demands of other destinations. At the last step m, it's suciently to add the shortest paths to span the remained destinations. If at any step we can't nd a feasible tree, then we failed to solve the initial problem (1)-(2). This may happened if there are no solution of the considered problem or if our approach is not strong enough to yield it. The problem (1)-(2) is NP-Complete [9] and such outcome is normal. Let us denote by Gk = (V; Ek); Ek = f(i; j ) 2 E jbij  bk g; Tk a tree constructed by k rst steps, and give here more concrete description of proposed algorithm.

5.1 Algorithm

Step 0. Set T = (0; ;); k = 1. Step k (k = 1; : : :; m ? 1). Set V 0 = Vk0; G = Gk and apply algorithm A, 0

where algorithm Aq at each iteration starts its work from the partially constructed tree Tk?1 . If a constructed tree is infeasible then stop. Else denote it as Tk . 6

If k < m ? 1 then set k = k + 1 and repeat the step. Else go to step m. Step m. Apply Dijkstra's algorithm to add shortest paths to the tree Tm?

1

in order to span a destinations from Vm . If the resulting tree Tm is feasible then this is desired solution. Stop.

5.2 The eciency of algorithm

The presented approach performs m  n0 = jV 0 j steps. At each step it use algorithm A. The complexity of the last algorithm is equal to O(n2 log2(BDn)) [8], where B = (i;j max bij ; D = (i;j max dij . Therefore, the whole complexity is upper bounded )2E )2E by O(mn2 log2(BDn))  O(n0 n2 log2(BDn)). During the algorithm performing it's necessary to keep in the memory partially constructed tree. For this purpose O(n) memory is enough. Algorithm A use O(n2) additional memory to keep a graph G. Hence, the total memory is bounded by O(n2).

5.3 Example 2

Let us now illustrate the performance of algorithm on the same network as in example 1. 2,1

n

n

0

0

2,1

n

0

1,1

n

0

n 2,1 5n 4n 5n 4n 2,1 5n 4n 5n1 1 1 1 2,1 2,1 2,4 2,4 3n 3n 3n 3n2 1,1 2,1 2,1 1n 2n 1n 2n 1n 2n 1n 2n 3 5 5 5 4

2,5

1,3

a) Subgraph with edge's bandwidth equal to 2

c) Initial graph

b) Feasible path to the sink 1 Fig. 2

7

d) Feasible tree, constructed by the algorithm

At rst step, when graph consists only from edges with bandwidth 2 ( gure 2(a)), a subtree T1, connecting destination 1 with source 0, constructed by algorithm A, will be one shown at the gure 2(b). It's remarkable to emphasize that this tree is not the same as if we apply the Dijkstra's algorithm to connect 1 in G1 . Second step (last here) is applying the Dijkstra's algorithm in graph G2 ( gure 2(c)) to add the feasible (in our case with smallest delay) path to destination 2. The result is at the gure 2(d). This is a solution of the problem.

6 Simulation results For the evaluation of the presented approach we construct a random networks, where the number of routers n takes its values from the segment [2; 30], number of the destinations was 10%{50% of n, bandwidths of the links and bandwidth bounds were integer random numbers from [1; 4] and integer edge delays were randomly taken from [1; 30]. The delay bound for each destination was equal to the length of the shortest path plus random number from [0; 30]. We investigated di erent cases of graph's density: 10%, 20%, 30%, 40%, 50% of edges in G with respect to complete graph. Number of cases (fails) when a feasible solution exist but algorithm yield a negative result, depends from network's density (number of edges with respect to the complete graph) as well as from the number of destinations. As a counterpart to our algorithm we use an exact method of constructing all trees [4], which terminates when the feasible solution is found. So, the worst case for exact algorithm is one when there are no feasible solution and it check all trees in graph. That is why it was dicult to run a big dimension examples. This simulations show that less than in 10% cases we got fails. In another treated examples our method construct a solutions. We treat a several correlation between bandwidths and delays of links in randomly generated graphs and calculate a number of cases when feasible solution exist. For small dimension (n = 4; : : :; 12) we use both exact and presented algorithms, for big dimensions { only approximation one. Because of the lack of the space we can't present here all results, but some of them are as follows. If a number of destinations is 30% { 50% from the number of all nodes n then a quantity of cases when a feasible solution exist is very small. When a number of destinations is 10% { 20% then approximately in 50% cases a feasible solution exist. Last numerical experiment was performed on a real network { early version of the ARPANET with n = 19. Bandwidths and delays of links as well as delay and bandwidth bounds for destinations, were taken randomly at the same way as it was described above. Di erent vertices were in the role of source node. The number of destinations was 2{6. We calculate a number of cases (in percent to the number of treated examples) when our algorithm failed to nd a feasible solution but it exist. The results of simulations shows that the number of feasible solutions depends both from the correlation between the bandwidths of the links and the number of destinations n0 . At the same time the number of fails don't strongly in uenced by these factors and don't exceed 6%. 8

7 Conclusion The advantages of our algorithm: { as far as we know this is the rst polynomial time approach for multicast tree constructing where the destinations have a di erent demands of time delays and bandwidths requirements; { the complexity of the algorithm is polynomial and bounded by O(n0 n2 log2(BDn)); { additional memory for applying algorithm is equal to O(n2 ); { thanks to minimum-cost bounded-delay tree algorithm, which is used at each iteration, we have the opportunity to use as fewer network's resources (namely, bandwidth) as possible; { simulation results show high eciency of algorithm. The shortcomings of the algorithm: { it does not always yields a feasible solution of the problem (1)-(2), even if it exist. The mentioned shortcomings is common defect for all ecient algorithms applying to solve NP-Complete problem. In order to overcome this one should to use exact algorithms but with exponential complexity. If the dimension of the network is great then such approach is lacking in prospects to yield the solution during appropriate time and polynomial approximation algorithms are more valued.

References [1] H.F. Salama, D.S. Reeves, Y. Viniotis, "Evaluation of Multicast Routing Algorithms for Real-Time Communication on High-Speed Networks", IEEE J. on Selected Areas in Communications, V. 15, No. 3, 1997, pp. 332-345. [2] K. Barath-Kumar, J.M. Ja e, "Routing to Multiple Destinations in Computer Networks", IEEE Trans. Commun., V. COM-31, Mar. 1983, pp. 343-351. [3] F. Bauer, A.Varma, "Degree-Constrained Multicasting in Point-to-Point Networks", IEEE INFOCOM, Boston, MA, Apr. 1995, pp. 369-376. [4] N.Christo des, "Graph Theory. An Algorithmic Approach", Academic Press, New-York, London, San Francisco, 1975. [5] Y.K.Dalal, R.M. Metcalfe, "Reverse Path Forwarding of Broadcast Packets", Commun. ACM, V. 21, No. 12, 1978, pp. 1040-1048. [6] S.E. Deering, D.R. Cheriton, "Multicast Routing in Datagram Internetwork and Extended LAN's", ACM Trans. Comput. Syst., V. 8, No. 2, 1990, pp. 85-110. [7] E.W.Dijkstra, "A note on Two Problems in Connections with Graphs", Numerical Mathematics, V. 1, 1959, pp. 269-271. [8] A.I. Erzin, S.H. Kim, "Polynomial Approximation Algorithm for Min-Cost Delays-Constrained Multicasting Routing Problem in Networks", First Int. 9

[9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]

Conf. on Information, Communications and Signal Processing (ICICS'97), Singapore, Sept. 1997, pp. 1805-1809. M.R. Garey, D.S. Johnson, "Computers and Intractability - A Guide to the Theory of NP-Completeness", Freeman, California, USA, 1979. V.P. Kompella, J.C. Pasquala, G.C. Polyzos, "Multicasting for Multimedia Applications", IEEE INFOCOM'92, 1992, pp. 2078-2085. L. Kyou, G. Markowsky, L. Berman, "A Fast Algorithm for Steiner Trees", Acta Info. V. 15, No. 2, 1981, pp. 141-145. H. Mitsubayashi, A. Takahashi, Y. Kajitani, "Cost-Radius Balanced Spanning/Steiner Trees", IEICE Trans. Fundamentals, V. E80-A, No. 4, 1997, pp. 1-5. J. Moy, "MOSPF, Analysis and Experience", Available: Internet RFC 1585, http://ds.internic.net/ rfc/rfc1585.txt. C.A. Noronha, F.A. Tobagi, "Optimum Routing of Multicast Streams", IEEE INFOCOM'94, 1994, pp. 865-873. G.N. Rouskas, I. Baldine, "Multicast Routing with End-to-End Delay and delay variations constraints", IEEE INFOCOM'96, 1996, pp. 353-360. Q. Sun, H. Langendoerfer, "Ecient Multicast Routing for Delay-Sensetive Applications", Proc. Second Workshop Protocols Multimedia Systems (PROMS'95), Oct. 1995, pp. 452-458. Z.Wang, J.Crowcroft, "Quality-of-Service Routing for Supporting Multimedia Applications", IEEE J. on Selected Areas in Communications, V.14, No. 7, 1996, pp. 1228-1234. B.M. Waxman, "Routing of Multipoint Connections", IEEE J. on Selected Areas in Communications, V. 6, No. 9, 1988, pp. 1617-1622. R. Widyono, "The Design and Evaluation of Routing Algorithms for Real-Time Chanels", Int. Computer Science Institute, University of California at Berkley, Tech. Rep. ICSI TR-94-024, June 1994. Q. Zhu, M. Parsa, J.J.Garcia-Luna-Aceves, "A Source-Based Algorithm for Delay-Constrained Minimum-Cost Multicasting", IEEE INFOCOM, Boston, Apr. 1995, pp. 377-385.

10

Suggest Documents