Computer Communications 24 (2001) 1390±1399
www.elsevier.com/locate/comcom
Research
Integrated algorithms for delay bounded multicast routing and wavelength assignment in all optical networks q Xiao-Hua Jia a,*, Ding-Zhu Du a,b,c, Xiao-Dong Hu a,c a
Department of Computer Science, City University of Hong Kong, Kowloon, Hong Kong Department of Computer Science, University of Minnesota, Minneapolis, MN 55455, USA c Institute of Applied Mathematics, Chinese Academy of Sciences, Beijing 100080, People's Republic of China b
Received 17 April 2000; revised 21 December 2000; accepted 22 December 2000
Abstract There are two steps to set-up a multicast connection in all optical wavelength division multiplexing (WDM) networks: routing and wavelength assignment. Multicast routing is to ®nd a tree in the network rooted from a source node and connecting all destination nodes. Wavelength assignment is to assign a wavelength to the generated routing tree in such a way that if two trees share a common link, then they must be assigned with two different wavelengths. This paper proposes two integrated algorithms to integrate routing and wavelength assignment. The proposed algorithms have the following advantages: (1) the number of wavelengths used is small; (2) the network cost of routing trees is low; and (3) the transmission delay from the source to any multicast destination is bounded. q 2001 Elsevier Science B.V. All rights reserved. Keywords: Multicast communication; WDM network; Routing; Wavelength assignment
1. Introduction Advances in electro-optic technologies have made optical communication a promising network choice to meet the increasing demands for higher channel bandwidth and lower communication latency of high-performance computing and communication applications. Wavelength division multiplexing (WDM) is basically frequency division multiplexing in the optical frequency domain, where on a single optical ®ber there are multiple communication channels at different wavelengths. Under WDM, the spectrum is divided into multiple wavelengths and with each wavelength supports a single communication channel. At any time, each channel between a pair of nodes is carried on a certain wavelength. If two channels share a physical ®ber, they must use different wavelengths [10]. Multicast communication involves transmitting the same message from a single source node to a set of destination nodes. Given a multicast request, there are two steps for a q This work was supported in part by Research Grants of City University of Hong Kong under grant No. 7001121, 7000927, 7001035, and by CERG Research Grants of Hong Kong under grant No. 9040442, and National 973 Information Technology and High-Performance Software Program of China under grant No. G1998030402. * Corresponding author. Tel.: 1852-2788-9670; fax: 1852-2788-8614. E-mail address:
[email protected] (X.-H. Jia).
multicast connection establishment in all optical WDM networks: routing and wavelength assignment. Routing is to construct a tree in the given network, which is rooted from the source node and connects all the destination nodes; Wavelength assignment is to assign a wavelength to the generated routing tree in such a way that when two trees share a common link they must be assigned different wavelengths. There are two important requirements for constructing a routing tree: (1) Low network cost. The network cost of a routing tree is de®ned as the sum of the costs of all links in the tree. Given a multicast request, ®nding a routing tree in the given network with minimum network cost can be reduced to the well-known Steiner tree problem, which is NP-hard. The minimum spanning tree (MST) algorithm is widely used as a heuristic for this problem. (2) Bounded delay transmission. The delay from the source to any destination along a routing tree shall not exceed a prespeci®ed bound. Clearly, the shortest path tree (SPT), which consists of the shortest paths from the source to every destination, has the shortest delay to any destination. However, it usually has high network cost. The requirement of minimizing network cost often con¯icts with the bounded delay requirement in multicast routing. The important goal of wavelength assignment is to use minimal number of wavelengths to serve as many multicast
0140-3664/01/$ - see front matter q 2001 Elsevier Science B.V. All rights reserved. PII: S 0140-366 4(01)00299-7
X.-H. Jia et al. / Computer Communications 24 (2001) 1390±1399
connections as possible without causing wavelength con¯ict. This is called wavelength assignment problem (WAP). A lot of work has been done in designing algorithms to construct low network cost or/and delay bounded routing trees [4,5,11±14,16,17,22,24] and WAP [6,17,19,23,25], respectively. Traditional work separates routing from wavelength assignment as two independent steps. In this paper, we propose two integrated algorithms for multicast routing with wavelength assignment. The proposed algorithms have three advantages: 1. the number of wavelengths used is small; 2. the network cost of routing trees is low; 3. the transmission delay from the source to any multicast destination is bounded.
2. Preliminaries 2.1. System models and problem speci®cation The WDM network under consideration is modeled by a weighted connected graph G
V; E; c; d; where V is the vertex-set of G representing the set of nodes in the network with uVu n; and E is the edge-set of G with uEu m corresponding to ®ber links between nodes in the network. Each edge e [ E is associated with two weight functions c(e) and d(e), where c(e) represents the communication cost of e and d(e) represents the delay of e. We assume that both functions c and d are additive X c
E 0 ; c
e ;E 0 # E and e[E 0
d
E 0 ;
X
d
e ;E 0 # E:
1
e[E 0
Let r
s; D be a request of setting up a multicast connection from a source node s to a group of destination nodes D with s Ó D: A multicast routing for r
s; D is to ®nd a tree T on G rooted from s and connecting all of the nodes in D, where an arbitrary subset of nodes in V\D can be included on T, but the leaf-set of T is a subset of D. When multicasting a message from s to D, s (the root of routing tree T ) sends a copy of the message to each of its children along tree T. These children in turn transmit the message to their children until all nodes in tree T (thus, all nodes in D) receive the message. Multicast becomes unicast if uDu 1; and nonselective broadcast if uDu uVu 2 1: According to the nature of trees, a multicast message ¯ows through each branch of the routing tree only once to reach all the destinations. Therefore, the network cost of multicasting a message to a group of destinations is proportional to the sum of the cost of all links in the tree. We de®ne
1391
the network cost of a multicast routing tree T as X c
e: c
T ;
2
e[T
One important objective of multicast routing is to construct a routing tree with minimum network cost. The gain of network cost savings is especially signi®cant in multimedia applications where communication occurs more frequently and messages are usually very large in size due to the transmission of audio or video ®les. However, this problem was proved to be NP-hard. Many approximation algorithms have been proposed to construct a routing tree T satisfying b approximation requirement c
T # bc
Topt for any request;
3
where Topt is the optimal routing tree constructed on G, and b $ 1: The MST algorithm has been modi®ed in different ways [4] and widely used to produce a routing tree TM, which was proved to satisfy inequality (3) with b $ 2: As c
Topt is unknown, in practice the network cost requirement (3) for routing tree T is relaxed as the following b -low cost requirement: c
T # bc
TM for any request:
4
The second requirement of multicast routing is bounded delay of message delivery. In order to guarantee that audio or video signals can be effectively used in interactive multimedia communications, the delay of transmitting a message from source node s to any destination in D is required to be upper bounded. As messages from source s to destination u [ D are transmitted along the path in a routing tree T, so the delay from source s to destination u is the total delays of every link in the path. For any subgraph G 0 # G; let PG 0
u; v be the shortest path on G 0 from u to v, then the delay from s to u on T is de®ned as X d
e:
5 d
PT
s; u ; e[PT
s;u
The D -bounded delay requirement for routing tree T is as follows: d
PT
s; u # D
;u [ D;
6
where D is delay bound, and satis®es D $ d
PG
x; y ;x; y [ V: In our theoretical analysis and simulation study, the bounded delay requirement (6) is transformed into the following a -short delay requirement: d
PT
s; u # ad
PG
s; u ;u [ D; where a ; min
D uu [ D : d
PG
s; u
7
Thus from now on we do not distinguish these two delay requirements.
1392
X.-H. Jia et al. / Computer Communications 24 (2001) 1390±1399
De®nition 1. Feasibility. A routing tree is called feasible if it satis®es both cost and delay requirements (4) and (7). Notice that the network cost of a routing tree is additive over the whole tree under the metric of cost function c, while delay requirement is additive over individual path from the source node to each destination node on the tree under the metric of delay function d. Sometimes, a feasible routing tree may not exist for the following two reasons: 1. Values of b and a may be too stringent (close to one). It is NP-hard to decide whether a given graph contains a routing tree that satis®es both requirements (4) and (7) when
b 2 1
a 2 1 , 2: See Ref. [14]. Hence we assume that b and a have the following cost-delay ratio-relation:
b 2 1
a 2 1 $ 2:
8
This relation means that we can ask for reducing the network cost, but only at the expense of increasing transmission delay, and likewise the other way round. Hence the trade-off between cost and delay has to be made. 2. Cost function c and delay function d may be totally irrelevant. In such a case, a routing tree with low cost may have long delay, and a routing tree with short delay may have high cost. To guarantee that a feasible routing tree exits and can be constructed, we assume that functions c and d are correlated, that is, there exists a constant r such that d
e rc
e
;e [ E:
9
Note that relation (9) means that delay function d is proportional to cost function c, which is the case in most data communication networks where the cost parameter is measured by the number of hops, because a path with less number of hops usually has shorter network delay. The third requirement of multicast routing comes from limited resource of wavelengths and bounded bandwidth. In WDM networks, the wavelength pool available for use is limited, and the number of channels that each link can carry simultaneously is upper bounded. These two restrictions lead to two optimization problems, WAP and loadbalancing problem (LBP), respectively. De®nition 2. Link load. The load of a link is the number of routing trees that traverse the link. De®nition 3. Network load. The load of a network is the maximum of load of links in the network.
LBP aims at routing requests in such a way that the network load is minimized. The problem we consider in this paper is as follows: given a multicast request, construct a feasible routing tree and assign it a wavelength so that the total number of wavelengths used in the system is minimal. 2.2. Related work Multicast routing with both cost and delay requirements received lots of attention from both mathematical and computer engineering communities. One approximation algorithm for this bicriteria optimization problem was proposed in Ref. [18]. It produces a Steiner tree connecting a given set of terminals with diameter at most 2 log2 n D in terms offunction d and total cost in terms of function c at most log2 n times that of the minimum c-cost Steiner tree with D -bounded diameter. For the case that cost function c and delay function d are identical, an ef®cient algorithm was proposed in Ref. [14], which, for a graph, can construct a spanning tree in which the distance between any vertex and the root is at most a constant times of the shortest-path distance on the graph and total cost of the tree is at most the same constant times of the cost of MST, where the constant can be any real number greater than one. Besides these two (and some other) centralized algorithms a distributed algorithm was proposed in Ref. [12]. It produces a delay bounded spanning tree, which can be integrated with the operation of connection con®gurations. Simulation study shows its superiority over other methods. In addition, some routing algorithms were proposed in Ref. [4] for the trade-off between the network cost and delay cost, where the delay cost of a routing tree is de®ned as the sum of the cost of all paths from the source to destinations divided by the number of destinations. There is a lot of research work on unicast WAP under speci®ed routing rules. It was studied in Refs. [6,17] how to color a given set of paths in tree networks. It was proved in Ref. [17] that 5L/3 colors are suf®cient to color any set of paths on tree networks if the network load is L. In Ref. [25] WAP on linear array, ring, mesh and hypercube networks are discussed, when routing method adopts shortest path strategy. Routing and coloring any given set of paths on ring networks is well studied in Ref. [23]. Some other papers [1,2,3] concentrated on the call control problem of WAP, where the network load is bounded. The goal of this kind of call control methods is to maximize the throughput. A typical algorithm for this problem on general networks was proposed in Ref. [1], it was proved to be O(log n)competitive throughput if the network load is V
logn; and when the network load network is unbounded, an V
n lower bound on the competitive ratio of deterministic on-line algorithms was given.
X.-H. Jia et al. / Computer Communications 24 (2001) 1390±1399
3. Algorithms 3.1. The methodology In order to minimize the number of wavelengths to be used, we adopt a greedy strategy. Greedy strategy. Assign a currently used wavelength to a request whenever it is possible. The philosophy of the greedy strategy is not to introduce a new wavelength unless it has to. In the following subsections, we will ®rst propose a routing algorithm that can generate a feasible routing tree for a request, and then introduce two methods to integrate this routing algorithm with above greedy strategy for wavelength assignment. 3.2. Routing algorithm A To construct a feasible routing tree for a request, algorithm A ®rst generates a low cost routing tree by applying an MST-based algorithm [4], and then modi®es this tree into a feasible one by checking the delay requirement (7) of all destinations one by one. If the delay from the source to a destination exceeds the prespeci®ed delay bound, the shortest path in terms of delay function d from the source to the destination is then added into the tree. Input A request r
s; D and a graph G
V; E; c; d Output A feasible routing tree T A if TA ± F (otherwise a failure report) Step 0 Initialization T A : F: Step 1 Construct a routing tree of r
s; D on G
V; E; c; d with low network cost if there is no path in G between s and some u [ D then return T A F; else generate a routing tree TA by employing MSTbased algorithm. if TA does not satisfy cost requirement (4) then return T A F; else go to Step 2. Step 2 Modify TA into a feasible routing tree while TA does not satisfy delay requirement (7) at some u [ D do begin add P G
s; u (the shortest path between s and u under delay function d) into TA, remove redundant edges in TA to keep its tree structure. end-while if TA violates cost requirement (4) or delay requirement (7) then return TA F; else return TA. At step 1 we use an MST-based heuristic [4] to generate a routing tree with low network cost for r
s; D: Instead of producing an MST of G
V; E; c; d which spans all nodes in V, this algorithm, (1) generates a complete graph G on {s} < D such that the cost of edge
u; v is the cost of the
1393
shortest path between u and v in terms of function c in given and (3) obtains a graph G; (2) produces an MST of graph G; routing tree T A in G by substituting each edge of MST in G with corresponding path in G. Refer to Refs. [4,12,13] for discussions on MST-based heuristics for constructing multicast routing trees. At step 2 we perform depth-®rst search in TA as follows. It traverses an edge-by-edge walk from s through the vertices of TA : Each edge is traversed twice, once in each direction. At any time during the search, the sequence of edges traversed so far forms a walk through the visited vertices. When vertex u is visited ®rst time, if delay requirement is not met, the edges of the shortest path from s to u on G (in terms of function d) is added into TA : After modi®cation, if delay requirement still cannot be met at vertex u, then algorithm A returns TA : The following result comes basically from Ref. [13]. Theorem 1. Given a request r
s; D and a connected graph G
V; E; c; d; under relations (8) and (9) algorithm A can output a feasible routing tree TA in O
uDun2 time.
Proof. Let TM be the routing tree in G
V; E; c; d produced in step 1 of Algorithm A. Let u1 ; u2 ; ¼; uk be the vertices that caused shortest paths to be added during depth ®rst search in the order that they were encountered, and let u0 s: When the shortest path PG
s; ui from s to ui
i $ 1 was added into the current tree TA ; the total cost of the added edges is at most c
PG
s; ui : In addition, the path from s to ui consists of the shortest path (in terms of function d) from s to ui21 followed by the path in TM from ui21 to ui, so that d
PTA
s; ui # d
PG
s; ui21 1 d
PTM
ui21 ; ui : The shortest path from s to ui on G (in terms of function d) was added because d
PTA
s; ui . ad
PG
s; ui : Combining these two inequalities, we get
ad
PG
s; ui , d
PG
s; ui21 1 d
PTM
ui21 ; ui : To sum over i, we obtain
a
k X i1
d
PG
s; ui ,
k X i1
d
PG
s; ui21 1 d
PTM
ui21 ; ui ;
which implies
a 2 1
k X i1
d
PG
s; ui ,
k X i1
d
PTM
ui21 ; ui :
From relation (9), we obtain that the total c-cost of the added
1394
X.-H. Jia et al. / Computer Communications 24 (2001) 1390±1399
paths is at most
a 2 1
k X i1
c
PG
s; ui ,
k X i1
c
PTM
ui21 ; ui :
Notice that the depth ®rst search traverses each edge at most twice, and hence the sum on the right-hand side of above inequality is at most twice the c-cost of TM : This yields, the total cost of the added paths is less than 2c
TM =
a 2 1: Therefore, from relation (8) we obtain that the c-cost of the ®nal routing tree TA is less than 2 c
TA # 1 1 c
TM # bc
TM : a21 This means that TA satis®es requirement (4). In addition, for u [ D\{u1 ; ¼; uk }; requirement (7) is met. For u [ {u1 ; ¼; uk }; requirement (7) is met after the shortest path from s to u is added into TA : Hence TA satis®es requirement (7). At step 1, it takes time of O
uDu 1 1un2 to generate a shortest path in G between each pair of nodes in {s} < D (see Ref. [5]), and it takes time of O
uDu 1 12 to construct an MST in complete graph G (see Refs. [7,8]). At step 2, the depth ®rst search can be done in time of O
n: Thus the timecomplexity of algorithm A is dominated by O
uDun2 : A 3.3. Two greedy algorithms for WAP 3.3.1. Single-phase algorithm A1 A straightforward way to carry out the greedy strategy for wavelength assignment is to route a request in such a way that a currently used wavelength can be assigned to it. This simple idea gives birth to the following single-phase algorithm A1 for WAP. Let W be the set of currently being used wavelengths in the network, and E(w) be the set of active routing trees whose corresponding requests are assigned with wavelength w, for w [ W: Input A request r
s; D; a graph G
V; E; c; d; W and E(W) Output A feasible routing tree TA1 with a wavelength assigned to the request Begin W1 : W: while W1 ± F do begin //try to use a currently used wavelength in W choose w [ W 1 ; E 0 : E\E
w; //remove E(w) from network graph generate TA1 by running Algorithm A for r
s; D on G
V; E 0 ; c; d; if TA1 ± F then assign wavelength w to T A1 ; //because TA1 is disjoint with E(w) return TA1 : else W1 : W1 \{w}: //try to use another wavelength in W end-while
generate TA1 by running Algorithm A for r
s; D on G
V; E; c; d; assign a new wavelength w Ó W to TA1 ; return TA1 : end In the algorithm as soon as we ®nd a currently used wavelength that can be properly assigned to the current request, we assign it this wavelength. There are some simple policies for searching such wavelength. (a) The earliest introduced wavelength (or the latest introduced wavelength) is checked ®rst, and (b) the most heavily used wavelength (or the most lightly used wavelength) is checked ®rst. Theorem 2. Given a request r
s; D and a connected graph G
V; E; c; d; algorithm A1 constructs a feasible routing tree and assigns it a wavelength with timecomplexity of O
uWuuDun2 ; where uWu is the number of wavelengths being used.
Proof. It follows from Theorem 1 that algorithm A1 constructs a feasible routing tree for a request either on E\E
w; for some w [ W; or on E; In the former case this currently being used wavelength w is assigned to the request, and in the latter case a new wavelength is introduced and assigned to the request. Clearly, to assign a wavelength in such a way will not cause wavelength con¯ict. The time complexity follows from Theorem 1 and two facts: (1) algorithm A is called at most
uWu 1 1 times, and (2) it requires only a constant time to assign r
s; D a wavelength. A 3.3.2. Two-phase algorithm A2 Given a set of requests routed on the network, the number of wavelengths required is at least the network load. Based on this fact, we propose another greedy algorithm A2 for wavelength assignment. This algorithm consists of two phases: routing and wavelength assignment. At the routing phase, we try to generate a routing tree in such a way that the network load is as low as possible. At the second phase, apply the greedy strategy for wavelength assignment. Let W be the set of wavelengths currently being used, and E(w) the set of routing trees whose corresponding requests are assigned with wavelength w, for w [ W: In addition, let Lmax be the current network load of G, and L(j) be the set of links that there are j routing trees traversing it, for 1 # j # Lmax ; and let L
Lmax 1 1 : Input A request r
s; D; a graph G
V; E; c; d; W and E(w) Output A feasible routing tree TA2 with assigned wavelength Step 1 Construct a feasible routing tree k : Lmax 1 1:
X.-H. Jia et al. / Computer Communications 24 (2001) 1390±1399
1395
Fig. 1. (a) The network load increases, but a new wavelength needs not to be introduced. (b) The network load does not increase, but a new wavelength has to be introduced.
while k $ 1 do begin //route r
s; D on most lightly loaded edges as much as possible Ek : E\L
k < L
k 1 1 < ¼ < L
Lmax 1 1; // remove edges with load $ k generate a routing tree TA by running Algorithm A with r
s; D and G
V; Ek ; c; d: if TA ± F then //routing r
s; D on Ek succeeds T A2 : TA ; k : k 2 1; //try to route r
s; D on Ek21 else go to Step 2. end-while Step 2 Assign a wavelength to TA2 W2 : W: while W2 ± F do begin //use a currently used wavelength choose w [ W 2 : if TA2 > E
w F then //T A2 can use w assign TA2 wavelength w, return TA2 ; else W2 : W2 \{w}: //try to use another wavelength in W end-while assign TA2 a new wavelength w Ó W; return TA2 : At step 1 we search for the smallest k such that a feasible routing tree can be generated in subnetwork Ek of E, which excludes those links whose load are greater than k. Thus it can be considered as a greedy strategy for LBP. To speed up locating k among {1; 2; ¼; Lmax ; Lmax 1 1}; we can use binary search so that k can be determined after running algorithm A at most logLmax times. There are two possible results of step 1: (1) k Lmax 1 1; this implies that the network load is increased by one; (2) k # Lmax ; this implies that the network load does not increase. An important point about the relationship between the network load and the number of wavelengths required is that the increase in the network load does not necessarily demand a new wavelength, and keeping the network load unchanged does not necessarily mean no need to introduce a
new wavelength. A simple example is demonstrated in Fig. 1(a), where no feasible routing tree exists in G
V; E2 ; c; d; so a feasible routing tree TA2 is constructed in original G
V; E; c; d: As TA2 includes some edges in E
w 0 > E
w 00 ; the network load is increased from two to three. However, the request can be assigned a currently used wavelength w, since E
w > TA2 : In addition, a simple example is demonstrated in Fig. 1(b), where a feasible routing tree TA2 is constructed in G
V; E2 ; c; d and the network load is not increased. However, neither of two currently used wavelengths w 0 and w 00 can be assigned to the request, as TA2 includes some edges in E
w 0 and E
w 00 ; respectively. Thus a new wavelength has to be introduced. Accordingly in the step 2 searching for a currently used wavelength that can be properly assigned to the request is nontrivial in both cases. Theorem 3. Given a request r
s; D and a connected graph G
V; E; c; d; algorithm A2 constructs a feasible routing tree and assigns it a wavelength with the timecomplexity of O
n2 uDulogLmax ; where Lmax is the network load.
Proof. It follows from Theorem 1 that routing tree TA2 constructed in step 1 is a feasible routing tree for r
s; D: A currently used wavelength w [ W is assigned to r
s; D on the condition of TA2 > E
w : Clearly, such an assignment is proper. The time complexity follows from Theorem 1 and two facts: (1) Algorithm A is invoked at most log
Lmax 1 1 times. (2) The searching process in step 2 can be well integrated with the routing process in step 1. This can be done by keeping track of the active requests that traverse the link and the wavelengths that they use for each link. Accordingly, when adding a link into the feasible routing tree under the construction, we know which of the currently used wavelengths can be properly assigned to it. In such a way,
1396
X.-H. Jia et al. / Computer Communications 24 (2001) 1390±1399
performance of two algorithms, we use routing algorithm A as the bench mark in the following way: route a request without considering load balancing and wavelength assignment, and then assign it a wavelength by employing the greedy strategy for wavelength assignment. 4.1. Description of simulation method
Fig. 2. Algorithm A2 has more freedom to construct a routing tree than algorithm A1.
when completing the construction of whole routing tree, the wavelength assignment can also be done at the same time. Hence assigning the request a wavelength will not cause extra time. A 3.4. Discussions of two algorithms As we mentioned earlier that both algorithms A1 and A2 adopt the same greedy strategy for the purpose of saving wavelengths. The difference between them is that algorithm A1 achieves this goal through a direct way, that is to construct a feasible routing tree on E\E
w; for some w [ W; while algorithm A2 achieves this goal through an indirect way, that is to construct a feasible routing tree on Ek : Such a difference in implementing the greedy strategy produces two outcomes which are demonstrated by Fig. 2. 1. Algorithm A2 has more freedom to construct a feasible routing tree than algorithm A1. Algorithms A2 and A1 try to construct a feasible routing tree TA2 and TA1 in Ek and E\E
w; respectively. When k is close to Lmax, set Ek ; which just excludes links with loads greater than k 2 1, contains more links than set E\E
w; which excludes links assigned wavelength w (some of them may not heavily loaded). In other words, algorithm A2 has more chances to succeed than algorithm A1. 2. Algorithm A1 can be expected to use fewer number of wavelengths than algorithm A2. Because feasible routing tree TA2 may include some edges in E(w) for a number of different w [ W; while feasible routing tree TA1 may exclude E(w) for a certain w [ W:
4. Simulations In Section 3, we have proposed two methods for integrating routing and wavelength assignment on general WDM networks, algorithms A1 and A2. In order to evaluate the
As our work focuses on how to integrate routing and wavelength assignment. And the purpose of simulation study is to see how well the proposed algorithms works. For the simplicity, we only concentrate on some typical instances. Network topologies G
V; E used in the simulations are deliberately manipulated to simulate wide-area sparse WDM networks, where an n-node graph is considered to be sparse when less than 5% of the possible n2 edges are present in the graph. Since we only consider a connected graph, the number of edges in an n-node connected graph can vary from n 2 1 to n2 The network graphs used in the simulations are constructed by using the approach introduced in Ref. [22]. The nodes are distributed randomly over a rectangular coordinate grid. Each node is placed at a location with integer coordinates. A link between two nodes u and v is added by using the probability function P
u; v lexp
2p
u; v=gd; where p
u; v is the distance between u and v, d is the maximum distance between any two nodes, and 0 , l; g # 1: Larger values of l produce graphs with higher link densities, while small values of g increases the density of short links relative longer ones. In our simulations, g and l both are set to 0.9, while n is set to 100. Graphs are generated and tested until a connected graph is found. The cost function c on link
u; v in the generated graph is the distance between nodes u and v on the rectangular coordinated grid, and the delay function d is set equal to cost function c in the simulations. Thus the cost-delay functionrelation (9) is satis®ed. In our simulation study, b -low cost requirement (4) and a -short delay requirement (7) are enforced for a varying from 1.1 to 2 while b being ®xed at 2 and b varying from 1.1 to 2 while a being ®xed at 2, respectively. Note that in all these cases, the cost-delay ratio-relation (8) is not satis®ed, which means that algorithms A may fail to produce a feasible routing tree for some requests. However, in our simulation study such failure occurred twice only when b 2 and a 1:1: When applying the greedy strategy for wavelength assignment, algorithms A, A1 and A2 all adopt the same searching rule: check if one of currently used wavelengths can be assigned to the current request in the order that they were introduced. The sizes of destination sets for all multicast requests are all ®xed at 10. For each request, we randomly select a node in V as the source and then randomly select ten other nodes in V as the destinations. Algorithms A, A1 and A2 are run for the same randomly generated sequence of 20 requests
X.-H. Jia et al. / Computer Communications 24 (2001) 1390±1399
1397
Fig. 3. The average number of wavelengths used against the number of requests.
coming one by one and no of them is released after it arrives, respectively. This process is repeated 15 times. In the end for i 1; 2; ¼; 20; we obtain the average number of wavelengths used for ®rst i requests when algorithms A, A1 and A2 are applied, respectively. Denote these values respectively by WA
b; a; i; WA1
b; a; i and WA2
b; a; i: 4.2. Analysis of simulation results Figs. 3 and 4 display W{A;A1;A2}
2; 1:1; 2; i and W{A;A1;A2}
1:1; 2; 2; i; respectively. They show how the average number of wavelengths used increases as 20 requests are routed and assigned a wavelength one after another. Fig. 5(a) and (b) displays W{A;A1;A2}
2; 1:1; ¼; 2; 10 and W{A;A1;A2}
1:1; ¼; 2; 2; 20;
respectively. They show how the changes of cost and delay ratios affect the average number of wavelengths used for ®rst 10 requests and 20 requests, respectively. From these three ®gures, we can draw the following conclusions. (1) Compared with non-integrated algorithm A, the proposed integrated algorithms A1 and A2 require considerably less number of wavelengths, although they use the same routing method and adopt the same greedy strategy for wavelength assignment. Still more, algorithm A1 is much more effective than algorithm A2, this is just as we expect in Section 3.4. (2) For algorithms A and A2 the average number of wavelengths used increases at a constant rate, while for
Fig. 4. The average number of wavelengths used against the number of requests.
1398
X.-H. Jia et al. / Computer Communications 24 (2001) 1390±1399
Fig. 5. (a) The average number of wavelengths used for ®rst 10 (and 20, respectively) requests against the delay-ratio. (b) The average number of wavelengths used for ®rst 10 (and 20, respectively) requests against the cost-ratio.
algorithms A1 this value almost keeps unchanged for three or four requests after it increases considerably. This difference can be more apparently observed in Fig. 3 and Fig. 4 by comparing W{A;A2}
2; 2; i with WA1
2; 2; i: This implies that algorithm A1, on average, is able to route those twenty requests in such a way that approximately four requests are assigned with the same wavelength. (3) For algorithm A, the variation of the delay-ratio causes stronger affect on the average number of wavelengths to be used than that of the cost-ratio. This can be easily observed by comparing WA
2; 1:1; ¼; 2; 10; 20 in Fig. 5(a) with WA
1:1; ¼; 2; 2; 10; 20 in Fig. 5(b) and WA
2; 1:1; 2; i in Fig. 3 with WA
1:1; 2; 2; i in Fig. 4, respectively. There is little difference between WA
1:1; 2; i and WA
2; 2; i (and among WA
1:1; ¼; 2; 2; 10; 20). As a contrast, there is a considerable difference between WA
2; 1:1 ; i and WA
2; 2; i (and among WA
2; 1:1; ¼; 2; 10; 20). The reason is that a feasible routing tree is generated by starting with an MST and then modifying it into a feasible one, thus b -low cost requirement can be more easily satis®ed than a short delay requirement. Hence with the delay-ratio being ®xed at 2, when a routing tree of a request generated by algorithm A satis®es 1.3-low cost requirement, the same routing tree also satis®es b -low cost requirement for b $ 1:3 and accordingly is used for the same request. As a result, the average number of wavelengths used by algorithm A for ®rst 10 and 20 requests remains unchanged for b $ 1:3: (4) For algorithms A and A2, the average number of wavelengths used does not monotonously decrease as the delayratio or the cost-ratio increases. This can be easily observed in Fig. 5(a). The reason is that although a feasible routing
tree of a request that satis®es cost or delay requirements with small ratios can certainly serve as a feasible routing tree satisfying cost or delay requirements with big ratios, the routing method may generate different feasible routing trees for small ratios and big ratios, respectively. Given a request, after an initial routing tree is generated, there exist more destinations that do not satisfy delay requirement with a small delay ratio than that with a big delay ratio. Thus the process of substituting the shortest path in the current tree with the shortest path in the network will be done more times in the former case than in the latter case. However it can be observed in Fig. 4, by comparing WA
1:1; 2; 9 with WA
2; 2; 9 and WA
1:1; 2; 13 with WA
2; 2; 13; that for the ®rst 9 and 13 requests the average numbers of wavelengths used by algorithm A increase as the cost-ratio increases from 1.1 to 2. The reason behind this is that there do not exist any feasible routing trees for one randomly generated eighth request and 12th request when cost-ratio is 1.1 and delay-ratio is 2, while feasible routing trees for all requests can be constructed when the cost-ratio is increased to 2. Thus there are more requests that need to be assigned a wavelength in the latter case than in the former case, this makes the average number of wavelengths used to increase.
5. Conclusion In this paper, we have proposed two integrated algorithms A1 and A2 for multicast routing and wavelength assignment. These two algorithms can generate multicast routing
X.-H. Jia et al. / Computer Communications 24 (2001) 1390±1399
trees that meet users' cost and delay requirements, and use less number of wavelengths to accommodate more multicast requests. From the simulation results, we can ®nd that both algorithms A1 and A2 are very effective in terms of using less number of wavelengths for multicast communication. Algorithm A1 has demonstrated a better performance than algorithm A2, especially when cost and delay requirements are not very tight. For future research, it would be of important to study multicast routing and wavelength assignment in WDM networks under multi-hop system, where wavelength conversions are used and a routing tree can use different wavelengths. The proposed methods and obtained results in our work may provide ideas for solving this problem. Acknowledgements The authors would like to thank the anonymous referees for their valuable and constructive comments, which helped greatly in improving the quality and presentation of this paper. References [1] B. Awerbuch, Y. Azar, S. Plotkin, Throughput competitive on-line routing, Proceedings of the 34th Annual IEEE Symposium on the Foundations of Computer Science (FOCS'93), 1993, pp. 32±40. [2] Y. Bartal, S. Leonardi, On-line routing in all-optical networks, Lecture Notes Comput. Sci. 1256 (1997) 516±526. [3] Y. Bartal, A. Fiat, S. Leonardi, Lower bounds for on-line graph problems with application to on-line circuit and optical routing, Proceedings of the 28th Annual ACM Symposium on the Theory of Computing (STOC'96), 1996, pp. 531±540. [4] K. Bharath-Kumar, J.M. Jaffe, Routing to multiple destinations in computer networks, IEEE Trans. Commun. 31 (1983) 343±351. [5] T.H. Cormen, C.E. Leiserson, R.L. Rivest, Introduction to Algorithms, MIT Press, Cambridge, MA, 1992. [6] T. Erlebach, K. Jansen, Call-scheduling in trees, rings and meshes,
[7]
[8]
[10] [11] [12]
[13]
[14] [16]
[17] [18]
[19]
[22] [23]
[24] [25]
1399
Proceedings of the 30th Hawaii International Conference on System Sciences, 1996. M.L. Fredman, R.E. Tarjan, Fibonacci heaps and their uses in improved network optimization algorithms, J. ACM 34 (1987) 596±615. H.N. Gabow, Z. Galil, T. Spencer, R.E. Tarjan, Ef®cient algorithms for ®nding minimum spanning trees in undirected and directed graphs, Combinatorica 6 (1986) 109±122. P.E. Green, Fiber-Optic Networks, Prentice-Hall, Cambridge, MA, 1992. F.K. Hwang, D.S. Richards, Steiner tree problems, Networks 22 (1992) 55±89. X. Jia, A distributed algorithm of delay-bounded multicast routing for multimedia applications in wide area networks, IEEE/ACM Trans. Networking 6 (1998) 1±10. X. Jia, N. Pissinou, K. Makki, A real-time multicast routing algorithm for multimedia applications, Comput. Commun. 20 (1997) 1098± 1106. S. Khuller, B. Raghavachari, N. Young, Balancing minimum spanning trees and shortest-path trees, Algorithmica 14 (1995) 305±321. V.P. Kompella, J.C. Pasquale, G.C. Polyzos, Multicast routing for multimedia communiation, IEEE/ACM Trans. Networking 1 (1993) 286±292. V. Kumar, E.J. Schwabe, Improved access to optical bandwidth in trees, SODA'97 (1997) 437±444. M.V. Marathe, R. Ravi, R. Sundaram, S.S. Ravi, D.J. Rosenkrantz, H.B. Hunt III, Bicriteria network design problems, J. Algorithms 28 (1998) 142±171. Y. Rabani, Path coloring on the mesh, Proceedings of the 37th Annual IEEE Symposium on the Foundations of Computer Science (FOCS'96), 1996, pp. 400±409. B.M. Waxman, Routing of multipoint connections, IEEE J. Select. Areas Commun. 6 (1988) 1617±1622. G. Wilfong, P. Winkler, Ring routing and wavelength translation, Proceedings of the Ninth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA'98), 1998, pp. 333±341. P. Winter, Steiner problem in networks: A survey, Networks 17 (1987) 129±167. C.-L. Zhou, Y.-Y. Yang, Multicast communication in a class of widesense nonblocking optical WDM networks, Proceedings of the Seventh International Conference on Computer Communications and Networks (ICCCN'98), 1998, pp. 321± 328