Routing in sparse splitting optical networks with multicast traffic

Routing in sparse splitting optical networks with multicast traffic

Computer Networks 41 (2003) 89–113 www.elsevier.com/locate/comnet Routing in sparse splitting optical networks with multicast traffic Shuguang Yan a a...

914KB Sizes 0 Downloads 122 Views

Computer Networks 41 (2003) 89–113 www.elsevier.com/locate/comnet

Routing in sparse splitting optical networks with multicast traffic Shuguang Yan a

a,1

, Jitender S. Deogun

a,*

, Maher Ali

b

Department of Computer Science and Engineering, University of Nebraska-Lincoln, Ferguson Hall, P.O. Box 880115, Lincoln, NE 68588-0115, USA b Alcatel Corporate Research Center, Richardson, TX 75081, USA Received 19 April 2001; received in revised form 3 May 2002; accepted 20 July 2002 Responsible Editor: M. Hamdi

Abstract In this paper, we investigate the problem of Multicast Routing in Sparse Splitting Networks (MR-SSN). Given a network topology with the multicast capable nodes distributed uniformly throughout the network, and a multicast session, the MR-SSN problem is to find a route from the source node of the multicast session to all destinations of the multicast session such that the total number of fibers used in establishing the session is minimized. In this paper, we develop a rerouting algorithm for a given Steiner tree, which makes it feasible to route a multicast session using a treebased solution in sparse light splitting optical networks. In addition, we present a heuristic based on Tabu Search (TS) that requires only one transmitter for the source node and one wavelength for each multicast session. To evaluate the performance of heuristics, we formulate the MR-SSP problem as an integer linear program (ILP), and optimally solve small instances using the commercially available linear solver, CPLEX. We test our heuristic on a wide range of network topologies. Our experimental results show that: (1) The difference between our solution and ILP optimal solution, in terms of the number of fibers used for establishing a multicast session, is within 10% in almost all the instances and within 5% in about half of the instances. (2) The average delay, taken over all destination nodes, falls within three times the optimal value. (3) A sparse light splitting all-optical network with 30% of multicast capable cross-connects has an acceptable low cost and relatively good performance. (4) The improvement achieved by TS heuristic increases considerably when the session size is large, the number of Splitter-and-Delivery cross-connects is small, and the network connectivity is dense.  2002 Elsevier Science B.V. All rights reserved. Keywords: Multicast; Light splitting; Power issues; Steiner tree; Tabu Search

1. Introduction *

Corresponding author. Tel.: +1-4024725033; fax: +14024727767. E-mail addresses: [email protected] (S. Yan), deogun@ cse.unl.edu (J.S. Deogun), [email protected] (M. Ali). 1 Present address: Department of Computer Science, Prairie View A&M University, P.O. Box 970, Prairie View, TX 774460970, USA.

Supporting multicasting in the optical domain is both an important and a challenging problem. Optical multicasting can be achieved using an optical device called power splitter [1]. A power splitter is a passive optical device which distributes

1389-1286/03/$ - see front matter  2002 Elsevier Science B.V. All rights reserved. PII: S 1 3 8 9 - 1 2 8 6 ( 0 2 ) 0 0 3 4 5 - 6

90

S. Yan et al. / Computer Networks 41 (2003) 89–113

the power of the input signal among all output ports; thus reducing the power level of the signal by a factor equal to the number of copies. This reduction in the power level of signals mandates the introduction of active amplification devices such as erbium-doped fiber amplifier (EDFA) [2]. Optical amplification, however, introduces many problems which complicates network management such as: (1) Gain dispersion. Gain dispersion implies that the gain received by a signal is dependent on its wavelength or frequency. (2) Gain saturation. Gain saturation implies that an amplifier saturates when the aggregate power on all entering wavelengths exceeds some threshold. This phenomenon prevents an amplifier from providing the full small-signal gain assigned by the network engineer and makes the gain a traffic-dependent quantity. (3) Noise. Due to a phenomenon called Amplified Spontaneous Emission, significant amount of noise is generated in the EDFA amplifier. This noise propagates along the signal route and negatively affects the signal-to-noise ratio. These complications, along with the high-cost of optical amplification, make multicast capable cross-connects very expensive and give rise to networks with sparse light splitting where only a subset of the nodes are capable of all-optical multicasting. Architectures for all-optical multicast cross-connects have been recently proposed. For a detailed description of a representative multicast capable cross-connect called Splitter-andDelivery (SaD) cross-connect, the interested reader is referred to [3]. The remaining network nodes are equipped with Tap-and-Continue (TaC) crossconnects [4]. In an N  N TaC cross-connect, an extremely small fraction of the input signal is tapped into the local station (if it is one of the destination nodes) while switching the remaining power to any one of the other (N  1) outputs. In this paper, multicast capable cross-connects, light splitting capable cross-connects, and SaD crossconnects are used interchangeably, unless otherwise indicated. In a fully splitting network, where all nodes are equipped with SaD cross-connects, a multicast

session is routed on a light-tree [5]. A light-tree is a directed Steiner tree [6] that originates from the source node and spans all destination nodes. Finding the optimal Steiner tree, however, is an NP-hard problem [7]. Many heuristics have been proposed to approximate the solution. The minimum path heuristic (MPH) [8] is a widely used heuristic that guarantees that the generated solution does not use more than twice the number of fibers of the optimal solution. The problem of route optimization in sparse-splitting networks has been recently proposed in [9]. In [9], the authors suggest generating a forest as a routing structure. The basic idea is to try to reach as many destinations as possible using one tree. If the search gets stuck, new trees are generated starting from the source to reach remaining destinations. The set of trees along with the wavelengths used in the transmission are referred to as a light-forest. Disadvantages of this approach is the use of multiple transmitters and wavelengths. The dual of the routing problem is the network design problem introduced in [10]. In [10], the authors investigate the optimal placement of a set of multicast capable cross-connects to a subset of the network nodes with the objective of minimizing the network blocking. This problem is shown to be NP-hard even in its basic graph-theoretic form, and different heuristics with varying degree of solution quality and computational time are proposed and evaluated. Computational results demonstrate that no more than 50% of network nodes need to be equipped with multicasting capability for acceptable blocking performance. It is shown in [4] that any multicast session can be feasibly realized in networks employing only TaC cross-connects, and a four-approximation heuristic is proposed for the multiple-destination minimum-cost trail problem. Informally, the multiple-destination minimum-cost trail problem is to find an optimal trail that starts from a source node and visits all destination nodes with the objective of minimizing the number of fibers traversed. Unlike a light-tree, a node in a trail may be visited more than once. The multiple-destination minimum-cost trail problem in [4] is shown to be NP-complete by reducing the well-known directed Hamiltonian path problem [7]. Any multicast ses-

S. Yan et al. / Computer Networks 41 (2003) 89–113

sion can be realized in networks equipped with only TaC cross-connects, but the long delay in a trail reminds us to take the advantages of SaD cross-connects whenever possible. The multiple-destination minimum-cost trail problem can be considered as a special case of the Multicast Routing in Sparse Splitting Networks (MR-SSN) problem we are addressing in this paper. A rerouting algorithm is proposed to compensate for the lack of the light splitting capability of TaC cross-connects. To further improve the quality of solutions, we develop a heuristic based on Tabu Search (TS) [11] to solve the MR-SSN problem. In each iteration of the heuristic, we adopt a two-step approach. First, we generate the Steiner tree while taking advantage of SaD crossconnects. Second, we use the proposed rerouting algorithm to reroute a Steiner tree, and evaluate the solution in terms of the number of fibers used for establishing the multicast session. We experiment the heuristic on 11-node NSFNET and 11-node random graphs, and obtain a number of interesting results. Here are some notations used in figures, unless otherwise specified. Circles represent local stations attached to cross-connects; solid circles represent TaC cross-connects; solid squares represent SaD cross-connects; network links are undirected solid lines representing two fibers in opposite directions; the routes for a multicast session are depicted as dashed lines or dotted lines. The paper is organized as follows. In Section 2, we review the MPH, Member-Only, and Re-routeto-Source heuristic. In Section 3, we formulate the MR-SSN problem as an integer linear program (ILP) problem. In Section 4, we present the rerouting algorithm, and propose a method to minimize the average delay after rerouting is done. In Section 5, we discuss the implementation of the TS heuristic (TSH). Experiment results are reported and analyzed in Section 6. Conclusions follow in Section 7.

2. Related work A number of studies have been reported on the multicast routing problem. In a full light splitting

91

network, MPH [8] provides a solution with a guaranteed cost of up to twice the optimal. In Section 2.1, the MPH heuristic is introduced. The pioneer work of multicast routing problem in a sparse splitting network was found in [9], and four heuristics were proposed. Among them, MemberOnly heuristic uses the least number of fibers (termed as bandwidth in [9]) to establish a multicast session, and Re-route-to-Source heuristic results in the lowest delay. We will compare the performance of our heuristic with that of MemberOnly heuristic (in terms of fiber usage) and Reroute-to-Source heuristic (in terms of average delay). In Section 2.2, these two heuristics are presented and discussed. 2.1. Minimum path heuristic If each cross-connect in a network is capable of light splitting, a rooted tree originating from the source and spanning the destinations can be employed to realize a multicast session. But finding such a tree with the minimum-cost (or minimum number of fibers in our problem) is the classical Steiner tree problem and it is NP-complete [7]. MPH is a greedy algorithm that minimizes fiber usage in each iteration. All-pairs shortest paths between cross-connects are pre-computed to facilitate the selection of paths to destination nodes that are not reached yet. Initially, only the source node is in the tree. In each iteration, MPH greedily expands the tree by reaching one more destination node that has the smallest shortest-path to some node (not necessarily the source) in the current constructed tree until all the destinations are reached. MPH generates a tree for a multicast session with a guaranteed cost of up to twice the optimal [8] and has good performance in practice. Fig. 1 shows a sample solution found by MPH heuristic. All cross-connects are assumed to be capable of light splitting, and local stations attached to cross-connects are omitted. The source of the multicast session is Node 8, and destination set is {1,2,3,6}. Initially, only Node 8 is in the tree. The smallest shortest-path (2 fibers in length) goes to either Node 6 or 3. When there is a tie, we arbitrarily choose one. In Iteration 1, the path 8 ! 7 ! 6 is chosen to reach Node 6. In Iteration

92

S. Yan et al. / Computer Networks 41 (2003) 89–113

Fig. 1. A sample solution found by MPH heuristic. The source of the multicast session is Node 8, and the destination set is f1; 2; 3; 6g.

2, the path 7 ! 1 is choosen to reach Node 1. In Iteration 3, the path 1 ! 2 is choosen to reach Node 2. In Iteration 4, the path 1 ! 3 is choosen to reach Node 3. The pseudocode of MPH from [8] is shown in Fig. 2. MPH provides a two-approximation solution to multicast routing problem in full splitting networks. However, it cannot be used in sparse splitting networks, since it does not consider the lack of light splitting capability of the TaC crossconnects. We apply the rerouting algorithm (see Section 4) to the tree generated by MPH to create feasible solutions. 2.2. Previous work on routing in sparse light splitting networks In [9], and four heuristics were proposed. Among them, Member-Only heuristic requires the least number of fibers to establish a multicast session, and Re-route-to-Source heuristic results in the lowest delay. First, we describe these two heuristics in Sections 2.2.1 and 2.2.2, respectively. Second, we discuss the assumptions of these two heuristics in Section 2.2.3. 2.2.1. Member-Only heuristic Like MPH, most existing heuristics about multicast routing do not take into consideration the sparse light splitting constraint, that is, some nodes may not be multicast capable in the optical domain. In [9], the authors first consider the sparse

Fig. 2. The pseudocode of MPH for finding Steiner trees in directed graphs.

light splitting constraint, and make the multicast routing problem in the sparse light splitting networks feasible. Several heuristics are developed in [9] for multicast routing, and Member-Only heuristic generates the least number of trees in a light-forest and requires the least number of wavelengths among them. Member-Only heuristic follows a concept much similar to MPH, but it adds one constraint. In the process of expanding a tree, only SaD cross-connects and leaf nodes can be the candidates to reach destinations node which has not been reached so far. For example, in Fig. 1, if Node 7 is not capable of light splitting, it cannot be chosen to reach Node 1 after the path 8 ! 7 ! 6 is chosen, because it is neither a SaD cross-connect nor a leaf node. Since Node 6 is a leaf node after the path 8 ! 7 ! 6 is chosen, it is a candidate to reach Node 1. By obeying the constraint, it is guaranteed that no TaC cross-connect can have more than one child in a tree. When no more destinations can be

S. Yan et al. / Computer Networks 41 (2003) 89–113

reached from nodes in the current constructed tree, extra trees rooted at the source node are built to reach remaining destinations that are not reached by any constructed tree. The group of trees rooted at the source node forms a light-forest [9]. 2.2.2. Re-route-to-Source heuristic Without considering the light splitting capabilities of cross-connects, Re-route-to-Source first generates a multicast tree to span all the destination nodes, by pruning the shortest path tree built by the DijkstraÕs algorithm (fiber links are equally weighted). Then, Re-route-to-Source checks the light splitting capability of each node in the multicast tree. If a node has only one child or it is a SaD node, which is capable of full light splitting, no modification is needed. However, if a TaC node has more than one child, only one child (we arbitrarily choose one) can remain where it was, and all others must join the nearest SaD node or the source node along the reverse shortest path to the source node. When a child has to join the source node (no SaD node is found on the reverse shortest path), a different tree is generated. The group of trees rooted at the source node forms a light-forest. It is obvious that Re-route-to-Source achieves the optimal average delay (the delay on each fiber link is assumed to be the same), since each destination node receives signals along the shortest path from the source node. 2.2.3. Drawback of assumptions in these heuristics In the construction of a light-forest for the heuristics presented in [9], the following observation is made: The source of a multicast session can transmit using multiple transmitters, and hence can have as many children as needed when constructing a multicast tree (rooted at itself) even if the source switch (cross-connect) is not multicast capable. Similarly, a source can transmit to its children on different wavelengths using different transmitters even if the source switch (cross-connect) has no wavelength conversion capability. Accordingly, we will consider a source to be capable of both splitting and wavelength conversion.

93

However, establishing a multicast session based on above observation is not cost effective, and sometimes it is not possible. If the source node happens to be lack of multicast capability, the source node must be equipped with many costly transmitters. In addition, sufficiently large number of wavelengths are assumed to avoid blocking in [9]. In reality, these two conditions are hard to satisfy once the network is in place. It is not guaranteed that a multicast session can be established solely due to the lack of transmitters or wavelengths even if there is no other traffic in the whole network. Our goal in this paper is to route a multicast session using one transmitter, one wavelength and the least number of fibers. We will show in our experiment that our heuristic uses a little more fibers than Member-Only heuristic while employing only one expensive transmitter. In addition, using only one wavelength saves the cost of wavelength converters, which are still in the experimental phase and are expected to be very expensive.

3. Problem definition and formulation In this section, we define the MR-SSN problem and formulate it as an ILP problem. The ILP optimal solution serves as the frame of reference to demonstrate the effectiveness of our heuristic. 3.1. Problem definition The multicast routing problem in sparse splitting networks (MR-SSN) is defined as follows. Definition. (MR-SSN). Given a network topology represented by a directed graph G ¼ ðV ; EÞ, where V is the set of cross-connects and E is the set of unidirectional fiber links, the number of the multicast capable cross-connects and a multicast session. The MR-SSN problem evenly distributes the multicast capable cross-connects throughout the network, and find a route from the source of the session to all the destinations of the session. In the route, the light splitting constraints must be satisfied, that is, some cross-connects are not

94

S. Yan et al. / Computer Networks 41 (2003) 89–113

multicast capable nodes and light signals cannot be split at these nodes. The objective is to minimize the total number of fibers used for establishing the multicast session. Some explanations of the definition are as follows: • Since a single session is considered at a time, wavelength assignment is not an issue in this paper. We assume no wavelength conversion capability is available, so a session will be assigned one and only one wavelength. Therefore no unidirectional fiber can be traversed twice in routing a session. • Clearly, the MR-SSN problem is NP-hard since it contains the NP-hard multiple-destination minimum-cost trail problem [4] as a special case. Heuristics must be used to tackle this problem even for moderate sized networks. • Usually, a local station (sometimes referred to as access station in literature) equipped with transmitters and receivers is attached to each cross-connect for adding traffic to or dropping traffic from an all-optical backbone network. Local stations are the starting points and/or terminating points of traffic in the real world. The graph G in the above definition represents the backbone network, and local stations are omitted from the definition. Instead, the crossconnect where a local station is attached acts on behalf of the local station as a source or destination node. In the definition and in our numerical experiments, ‘‘only fibers between cross-connects count toward the total number of fibers used for establishing a multicast session; fibers from and to local stations do not count’’, since the fiber between a cross-connect and its local station can never be saved no matter how the routing is done. Therefore, we can see that omission of local stations from the definition is appropriate. It may have been noted that, by this simplification of definition, we implicitly use the Tap-and-Continuum capability of TaC nodes, which are able to forward the signal to a downstream cross-connect and, at the same time, tap a small fraction of the energy into the local station (this tapping part is omit-

ted, and the fiber from/to the local station is identical no matter how the routing is done). 3.2. Problem formulation In this section, we present the detailed formulation of MR-SSN problem in terms of variables, constraints and the objective function. 3.2.1. Variables A Boolean variable, Fi;j , corresponds to the fiber from node i to j. Fi;j ¼ 0 if the fiber is not used in the multicast session; otherwise Fi;j ¼ 1. The number of variables is equal to the number of fibers in a network. 3.2.2. Constraints The constraints are divided into four kinds of constraints. They are source constraints, destination constraints, intermediate node constraints and reachability constraints. In the following constraints, (i; j) represents the directed edge from i to j; E represents the set of the directed edges or fibers; T is the set of TaC cross-connects; S is the set of SaD cross-connects in the network; s is the source node and D is the set of destination nodes. • Source constraints If the source is a SaD node, its incoming flow is 0, and the outgoing flow is greater than or equal to 1. So we have the following constraints: X Fi;s ¼ 0; if s 2 S; ð1Þ i;ði;sÞ2E

X

Fs;i P 1;

if s 2 S:

ð2Þ

i;ðs;iÞ2E

If the source is a TaC node, its net flow, outgoing flow minus incoming flow, is 1. Note that the source node can be visited more than once. X X Fs;i  Fi;s ¼ 1; if s 2 T ; ð3Þ i;ðs;iÞ2E

i;ði;sÞ2E

• Destination constraints If a destination node, d, is a SaD node, its incoming flow is 1.

S. Yan et al. / Computer Networks 41 (2003) 89–113

X

Fi;d ¼ 1;

8d 2 D \ S:

ð4Þ

i;ði;dÞ2E

i;ði;dÞ2E

X

Fd;i 

i;ðd;iÞ2E

X

Fi;d 6 0;

8d 2 D \ T :

i;ði;dÞ2E

ð6Þ • Intermediate node constraints If node i is a SaD node, its outgoing flow can be as large as the topology allows if it has non-zero incoming flow; otherwise its outgoing flow is 0. jOutðiÞj is the number of fibers going out of node i. X X Fi;j 6 jOutðiÞj  Fj;i ; j;ði;jÞ2E

j;ðj;iÞ2E

8i; i 6¼ s; i 62 D; i 2 S:

ð7Þ

If node i is a TaC node, the law of flow conservation is satisfied, that is, the net flow is 0. X X Fi;j ¼ Fj;i ; 8i; i 6¼ s; i 62 D; i 2 T : j;ði;jÞ2E

Fi;j P 1;

8X ; Y :

ð9Þ

i2X ;j2Y ;ði;jÞ2E

If a destination node, d, is a TaC node, its incoming flow is greater than or equal to 1, and its net flow is either )1 or 0. X Fi;d P 1; 8d 2 D \ T ; ð5Þ 1 6

X

95

j;ðj;iÞ2E

ð8Þ • Reachability constraints The above constraints are not sufficient to ensure a feasible solution. Here is a counterexample that satisfies all the above constraints. A network has 6 nodes. Node 1 is the source, the set of destination nodes are f2; 3; 4; 5g. F1;2 ¼ F3;4 ¼ F4;5 ¼ F5;3 ¼ 1, and all other variables are 0. This solution is separated into two disconnected graph, and it cannot establish the multicast session. Additional constraints are required to guarantee that each destination node is reachable from the source. The reachability from source to each destination node is ensured this way. We partition the graph into two connected parts, X and Y such that X contains the source node, and Y contains at least one destination node. It can be observed that there must be non-zero flow going from X to Y for each feasible solution. Otherwise, the destination nodes in Y cannot be reached. So we have

There are 2jN j ways to partition a graph, so the number of constraints is in the order of 2jN j , where jN j is the number of nodes in the network. Constraint (9) is satisfied by all feasible solutions, and vice versa, any solution in which there exist unreachable destination nodes must violate at least one of them. By the way, the formulation is much more difficult than the one for the Steiner tree problem because cycles really exist in our solutions. CPLEX cannot cope with the constraints easily and can get out of memory in dealing with even a 20-node and 100-link (unidirectional) network. 3.2.3. Objective function The objective is to minimize the total number of fibers used for establishing a multicast session: X Minimize Fi;j : ð10Þ i;j;ði;jÞ2E

4. Rerouting algorithm and delay minimization Most heuristics generate a Steiner tree corresponding to a multicast session ignoring the fact that some cross-connects may not have the light splitting capability. To accomplish connections splitting at nodes that do not have the light splitting capability, these connections must be rerouted. Therefore, we develop a rerouting algorithm to compensate for the lack of splitting capability of TaC cross-connects in Section 4.1, and propose an optimal algorithm of delay minimization for a given rerouting in Section 4.2. 4.1. Rerouting algorithm Fig. 3 shows an example of routing signals to multiple-destinations using only TaC cross-connects. In Fig. 3, there is no SaD cross-connect in the Steiner tree for a 4-destination session. The signal from the source can be routed to reach all destinations as follows: source ! A ! H ðd1Þ ! A ! B ! Dðd3Þ ! B ! Cðd4Þ ! B ! A ! E ! F ! Gðd2Þ. The source node sends its signal to

96

S. Yan et al. / Computer Networks 41 (2003) 89–113

edges on a path from node A to one of destination nodes (if there are more than one) in the last branch traversed are traversed only once, while all other edges must be traversed twice, once in each direction.

Fig. 3. (a) A Steiner tree with only TaC cross-connects. (b) The Steiner tree using the rerouting algorithm.

cross-connect A to which the source node is connected. Thus, from node A, we first route the signal from the source to A, and then to H, which taps the signal for d1 and reroutes it back to node A. From node A, the signal is routed to node B, and then to node D, which taps the signal for d3 and reroutes the signal back to B. From node B, the signal travels to d4 in a similar manner and is rerouted back to node B, and then to node A. In the last step, the signal is routed to node G through nodes E and F, and then to d2. In this example, the TaC node A has no light splitting capability, but it has three branches and destination nodes to visit. A branch of node A, by definition, is a subtree that is rooted at node A and contains only one of AÕs immediate children. From the perspective of TaC node A, its branches must be traversed one after another (SaD nodes allow parallel traversal of multiple branches by splitting the input signal and delivering a copy to each of its immediate children). We observe that all edges on the first two branches traversed must be traversed twice (once in each direction) no matter how the routing is done. However, this is not necessary for the last branch traversed, as is stated in the following Assertion 1. Assertion 1. In a Steiner tree without SaD nodes used to realize a multicast session, if a certain node A has multiple branches to traverse, and not all the branches need to reroute signals back to node A,

This assertion is more evident when we discuss the rerouting in Fig. 4 in next paragraph. From Assertion 1, it follows that, the longer the path that is traversed only once, the smaller number of fibers needed for realizing the multicast session. The longest path in a branch is equal to the height of the corresponding subtree. To minimize the number of fibers used, we compute the height of each subtree, and the branch to be traversed last is the one with the largest height. The branch with the largest height is called the longest branch. In Fig. 3, the number of fibers used is 11 (only fibers between cross-connects count) if the longest branch is traversed last; otherwise 12 or 13 fibers (not shown) are needed in this example. In Fig. 4, node E is a SaD cross-connect. This is the only difference from Fig. 3. Node E splits the incoming signal and forwards one signal downstream while rerouting the other back to node A. It is observed that whether the branch from A to G is traversed last or not does not affect the routing from E to G, since E is capable of light splitting, and its child, node F, never needs to reroute signals back to node E. This observation can be general-

Fig. 4. (a) A Steiner tree with one SaD cross-connect (Node E). (b) The Steiner tree using the rerouting algorithm.

S. Yan et al. / Computer Networks 41 (2003) 89–113

Fig. 5. (a) The Steiner tree in Fig. 4 after removing local stations. (b) The Steiner tree is split into two subtrees at SaD crossconnect E.

ized as follows. A Steiner tree (after removing local stations) can be split into a group of non-trivial subtrees at light splitting capable cross-connects such that each subtree can be routed independently. Fig. 5 shows how the tree in Fig. 4 is split. Once a tree is split, all the conclusions in the previous paragraph also apply to each subtree rooted at TaC nodes. Subtrees rooted at SaD nodes are easier to route. In Fig. 5, the longest branch from node A (it will be traversed last to minimize fiber usage in Fig. 4), becomes the rightmost branch, since SaD cross-connect E becomes a leaf node in the subtree where it belongs. Please note that the rightmost branch in Fig. 4 is a more general example of Assertion 1. In the rightmost branch that is traversed last, each edge on the path of A ! B ! C is traversed only once, while every other edge (B ! D) is traversed twice. From above discussion, if not all the signals on all the branches at a TaC cross-connect need to be rerouted back, the longest branch originating from the cross-connect should be traversed last to save the maximum number of fibers. It may be noted that the order of traversal of branches other than the longest does not affect the number of fibers used, however, it does affect the delay of the signal, as will be discussed later in Section 4.2. For a given tree, we compute the longest branch originating at each node, and record it in a data structure named Longest. Longest has two fields, length and child. Longest½i  length is the length of the longest branch originating at node i, and Longest½i  child is the child of node i on the longest branch. In fact, we have ignored one question so far. In Fig. 3, both node B and node A are TaC nodes and

97

have more than one branches, but they behave differently. The signal on the longest branch from node A does not need to be rerouted back to node A, but the signals on all the braches from node B must be rerouted back to B. Therefore we must determine whether the signals on all the braches originating from a TaC cross-connect need to be rerouted back. We compute an inherited attribute, named allBack, for each node. If the value of allBack of a TaC cross-connect is true, the signals on all the braches from the TaC cross-connect need to be rerouted back; otherwise, the longest branch from the TaC cross-connect does not need to be rerouted back. Fig. 6 shows a rerouted Steiner tree with computed allBack. Please note that local stations are not shown, and cross-connects where they are attached act on behalf of them as source or destination nodes. The computation of allBack attribute (refer to Fig. 6) can be divided into following cases: (1) The allBack attribute of the source node (node A) is always false. It is not necessary for all its children to reroute signals back even if the source node is a TaC cross-connect. This is starting point of computation. (2) If a node is a SaD cross-connect (node G), the allBack attribute of all its children is false regardless of its own allBack attribute. It means that none of its children needs to reroute

Fig. 6. A rerouted Steiner tree with computed allBack.

98

S. Yan et al. / Computer Networks 41 (2003) 89–113

signals back, since a SaD cross-connect can split an incoming signal and deliver it to all its children simultaneously. (3) If the allBack attribute of a TaC cross-connect is true (node B), the allBack attributes of all its children are also true. (4) If the allBack attribute of a TaC cross-connect is false and it has only one child (node D), the allBack attribute of its child is also false. (5) The most complex case happens when the allBack attribute of a TaC cross-connect is false and it has more than one child (node A). We check the pre-computed data structure Longest, set the allBack attribute of the child on the longest branch to false, and set the allBack attributes of all other children to true. This is the case we analyzed in Figs. 3 and 4. It means that all branches but the longest one must reroute signals back. During the computation of the allBack attribute, we can easily compute the total number of fibers needed. If the allBack attribute of a child is true, the child must reroute the signal back, therefore, the fiber between the parent node and the child is counted twice; if the allBack attribute of a child is false, the fiber between the parent node and its child is counted once. Fig. 7 shows the pseudocode that computes the allBack attribute and, and at the end, returns the total number of fibers needed for a Steiner tree after rerouting. The pseudocode is a case-by-case translation of the above cases. It takes two parameters, node where a subtree is rooted, and its value of the allBack attribute. The escape hatch simply returns 0 fibers when a node is a leaf node. To start computation, invoke TreeValue (source, false). 4.2. Delay minimization It is worth mentioning that one of the advantages of all-optical networks is low delay due to elimination of O/E/O conversion, electronic processing, and queuing delay at intermediate crossconnects. Optical signals travel from the source to the destination at the speed of light. Therefore, delay is not a major concern in all-optical networks. However, power loss and noise are two

Fig. 7. The pseudocode for computing the number of fibers used to reroute a Steiner tree.

challenging problems in all-optical networks. Although power loss can be compensated by appropriate placement of all-optical amplifiers in fibers and cross-connects, noise coming with amplification can be cascaded and is hard to clear without electronic processing. It is a good practice to impose an upper bound on the length of a path, hence limiting the number of amplifiers on it. For simplicity, we assume that all fiber links have the same length and cause the same delay, and use the number of fiber links that a signal traverses to represent the length of a path and the propagation delay as in [9]. In this section, we propose an algorithm to minimize the average delay after rerouting is done, and prove its correctness. It is worth

S. Yan et al. / Computer Networks 41 (2003) 89–113

mentioning that minimizing the average delay over all destination nodes is equivalent to minimizing the total delay over all destination nodes. From the discussion in Section 4.1, we know that, if a TaC cross-connect has multiple branches to be rerouted, the order of traversal of any branch other than the longest does not affect the number of fibers used, but it does affect the delay of the signal. In addition, for configuration of crossconnects, a specific order of traversal must be given. Though an arbitrary order of traversal is feasible, we aim to find a specific order of traversal to minimize the total delay. For a given Steiner tree used to realize a multicast session, it would be better if we could minimize the number of fibers and the average delay simultaneously. Unfortunately, Fig. 8 shows that it is impossible. We assume that the delay on each fiber link is one unit of time. In Fig. 8, the labels on the directed edges into cross-connects indicate the delays when the signals reach the cross-connects. In the figures in this section, unless otherwise specified, all local stations are omitted, root node of the given tree is the source node of a multicast session, and leaf nodes its destinations. Fig. 8(a) shows a Steiner tree generated by some heuristic to realize a multicast session. Fig. 8(b) follows the rerouting policy of the longest branch last, resulting in the minimum number of fiber usage (totally seven fibers) and causing an average delay of 4 ðð1 þ 5 þ 5 þ 5Þ=4 ¼ 4Þ. On the contrary, if the longest branch is traversed first (see Fig. 8 (c)), one more fiber (totally eight fibers) is used, and a smaller average delay of 3.5 is obtained ðð5 þ 3 þ 3 þ 3Þ=4 ¼ 3:5Þ.

99

Since the delay and the fiber usage cannot be minimize simultaneously, we aim to minimize the delay after rerouting is done. What is left by the rerouting algorithm is to determine a specific order of traversal of multiple branches needed to be rerouted for TaC cross-connects. In this sense, routing information is not complete after rerouting is done. We shall propose a greedy algorithm for determining a specific order of traversal, and prove its optimality in minimizing the average delay in what follows. First, we have the following general assertion, when queuing delays at intermediate nodes are negligible, as is the case in alloptical networks. Assertion 2. For a given routing (unicast or multicast), if the time when a signal reaches a certain node changes (the signal arrives early or is delayed) by D, the time when the signal reaches each of its downstream nodes also changes by the same amount D. In other words, the propagation time between any two cross-connects is constant. The correctness of this assertion is obvious. Since the routing is given, the propagation time between any pair of cross-connects is fixed. From this assertion, intuitively it seems that, if a TaC cross-connect has multiple branches that need to be rerouted, we might want to reroute the branch reaching most destination nodes first. This is because the delay in this branch affects the delays at many destination nodes. Unfortunately, the example in Fig. 9 shows that this is not the case. In Fig. 9(a), the branch with most children is rerouted first. The average delay is 5 ðð7 þ 4 þ 4Þ=3 ¼ 5Þ. In

Fig. 8. An example showing that both the number of fibers and delays cannot be minimized the same time. (a) A given Steiner tree. (b) A rerouting with least number of fibers. (c) A rerouting with a smaller average delay than in (b).

100

S. Yan et al. / Computer Networks 41 (2003) 89–113

Fig. 9. An example showing that rerouting the branch with most children first cannot yield an optimal solution. (a) The branch with most children is rerouted first. (b) The other branch is rerouted first, resulting in a lower average delay.

Fig. 10. An example showing that rerouting the shortest branch first cannot yield an optimal solution. (a) The shorter branch is rerouted first. (b) The other branch is rerouted first, resulting in a lower average delay.

Fig. 9(b), the branch with less children is rerouted first, causing a lower average delay of 4.3 ðð1 þ 6 þ 6Þ=3 ¼ 4:3Þ. Furthermore, the example in Fig. 10 illustrates another point that rerouting the shortest branch first does not necessarily result in the lowest average delay. When the shorter

branch is rerouted first (Fig. 10(a)), we have an average delay of ð2 þ 8 þ 8Þ=3 ¼ 6; when the longer branch is rerouted first (Fig. 10(b)), we have a lower average delay of ð8 þ 4 þ 4Þ=3 ¼ 5:3. From the above discussion, we come to realize that both the length of a branch and the number of destination nodes that the branch can reach play a role in minimizing the average delay. In the remainder of this section, we define a new concept called urgency, and prove that rerouting with nonincreasing urgency yields the optimal average delay. Fig. 11(a) shows a sketch of a TaC cross-connect A with four branches to be rerouted. Branches starting at node A are identified by the labels of AÕs immediate children, such as branch B and branch C in Fig. 11(a). Urgency of branch i is defined as Ni =Li , where Ni is the number of destination nodes that the branch can reach, and Li is the number of fiber links that a signal must traverse (or the time spent in traversing the branch) before coming back to starting node of the branch. Recall that we assume each fiber link causes one unit delay. Please note that, in computing Li , it is not necessary to count the number of fibers in subtrees rooted at the SaD nodes, since signals can be rerouted back immediately once a SaD node is reached. To illustrate how to compute urgency, in Fig. 11(b), we assume that node A is a TaC node (not the source node) which requires the signals on all the branches must be rerouted back, and that, unlike other examples, all nodes but node A are destination nodes. There are three branches starting at node A to be rerouted, branch H, E, and B. For branch H,

Fig. 11. (a) A sketch of rerouting sequence to be determined. (b) A Steiner tree split at multicast capable Node E as in Fig. 5.

S. Yan et al. / Computer Networks 41 (2003) 89–113

NH is 1 since it can reach only one destination node, H, and LH is 2 since a signal must traverse two unidirectional fibers, from A to H and from H to A, before coming back to A. For branch E (node E is a SaD node), NE is 3 since it can reach three destination nodes, E, F, and G, and LE is 2 since a signal needs to traverse only two fibers, from A to E and from E to A, before coming back to A. Branch B is a subtree having three fiber links. Therefore, LB is 2  3 ¼ 6. Since branch B can reach three destination nodes, B, C, and D, NB is 3. We prove below that traversing branches to be rerouted in non-increasing order of urgency yields an optimal total delay. Assertion 3. In a given order of traversal or rerouting (refer to Fig. 11(a)), if branch B is traversed immediately before branch C, and branch B has a smaller urgency, that is, NB =LB < NC =LC , we can obtain a lower total delay by exchanging the order of traversing these two branches. Proof. By exchanging the order of traversal of these two branches, the delay for each destination node on branch B increases by LC (LC is the time spent in traversing branch C), and the delay for each destination node on branch C decreases by LB (LB is the time spent in traversing branch B). We need to show that LC NB  LB NC < 0, or equivalently NB =LB < NC =LC , which is the hypothesis of the assertion.  Assertion 4. To obtain the minimum total delay, branches to be rerouted must be traversed in the order of non-increasing urgency. Proof. Proof by contradiction. Assume that there exists an order of traversal with the minimum total delay, but it does not conform to the non-increasing order of urgency. According to Assertion 3, we can exchange the order of two neighboring branches violating the non-increasing order of urgency to obtain a lower total delay, a contradiction.  For a given rerouting, once we determine the order of traversal of multiple branches needed to be rerouted for TaC cross-connects, the routing

101

information is complete. The algorithm for minimizing average delay after rerouting is done can be easily integrated into the pseudocode shown in Fig. 7. The urgency of each branch in a Steiner tree can be pre-computed before invoking the pseudocode. What the pseudocode needs to do is to sort the urgencies of multiple branches when necessary. As mentioned earlier, delay in all-optical networks is not a major concern. We aim to demonstrate in our experiments that the extra delay caused by our rerouting algorithm lies in an acceptable range. In addition, if the delay is a constraint, we aim to find a system parameter setting where our rerouting algorithm applies.

5. Tabu Search heuristic By applying the rerouting algorithm developed in the previous section to a Steiner tree generated by any heuristic (e.g. MPH), we can obtain a feasible or valid routing for a multicast session in a sparse light splitting network. In this section, a TS technique is employed to improve the quality (reduce the number of fibers needed to establish a multicast session in our case) of obtained solutions. In Section 5.1, we present a brief introduction to TS. Interested readers can refer to [12] for detailed description. Since TS method is a general guide to explore a solution space, and each specific problem has to define its own neighborhood structure, initial solution, tabu moves, special features, and tune various parameters. We proceed to define the problem-specific characteristics for the MR-SSN problem in the following two sections. In Section 5.2, we describe the method to generate an initial solution to start the TS. In Section 5.3, we discuss the detailed procedures to move from a solution to best one in its neighborhood. 5.1. Introduction to Tabu Search Local steepest-descent search is a greedy heuristic to tackle NP-complete problems. In a local steepest-descent search, a solution in the neighborhood that is better than any previous solution

102

S. Yan et al. / Computer Networks 41 (2003) 89–113

is found in each iteration; otherwise, the search stops if such a solution cannot be found. The size of a neighborhood is problem specific, and can be adjusted as a tradeoff between the acceptable computational time and quality of the solution. The drawback of local steepest-descent search is that it is prone to be trapped in local minima. TS is a framework that can guide almost any type of local steepest-descent search to widely explore the solution space [12], and thus reducing the probability of being trapped in local minima. Like local steepest-descent search, TS always chooses the best solution in a defined neighborhood. However, unlike local steepest-descent search, if the best solution in the neighborhood is worse than the best solution found so far, TS does not stop, but accepts the worse solution to continue the search. Stopping conditions for TS can include, but not limited to, limits on the number of iterations, memory usage, and running time. The stopping condition we adopt in our experiment is a given number of consecutive iterations in which the best solution found so far has not been improved. In our experiments, this number is set to twice the number of the cross-connects in the network as in [11]. Please note that the tasks in an iteration include: evaluating all the solutions in the neighborhood, moving the current solution to the best solution in the neighborhood, maintaining the list of tabu moves (to be discussed), and updating the best solution found so far if necessary. Here, we use the 0–1 knapsack problem to illustrate how TS works. Given an integer weight W and n items (items cannot be broken), where the ith item has an integer value of vi and an integer weight of wi , the 0–1 knapsack problem is to select items into a knapsack to maximize the total value while the total weight of selected items does not exceed W. For the 0–1 knapsack problem, the initial solution can be constructed by randomly drawing items from the given n items while obeying the maximum weight constraint. The neighborhood of a solution can be defined as solutions that are obtained by exchanging an item already in the knapsack with one that is not. Solutions violating the maximum weight constraint are simply thrown

away. When the best solution in the neighborhood cannot improve the total value of selected items, local steepest-descent search stops, while TS still accepts the worse solution and continue the search. By accepting worse solutions, TS may escape local minima and jump to new regions to continue the search. By allowing worse solutions, TS introduces a danger of cycling between two relatively good solutions, when they are neighbors of each other. TS prevents cycling by forbidding tabu moves. A move in the 0–1 knapsack problem is an exchange of an item already in the knapsack and one that is not. If an exchange is not in the list of tabu moves, and it results in the largest total value in the neighborhood, it is entered into the list of tabu moves, and the exchange are not allowed to be reversed for a certain number of iterations. This exclusion period is called tabu tenure. An exception to this policy is that, if a move in the list of tabu moves can generate a solution better than the best solution found so far, the move can still be made. This feature is called aspiration. In our experiment, the tabu tenure is set to a random number between 4 and 10. These empirical values are borrowed from [11]. Fig. 12 shows a flow chart for TS. In this flow chart, i is the iteration counter; sðiÞ is the solution at iteration i; s is the best solution found so far; T ðiÞ is the list of tabu moves at iteration i; n is the number of consecutive iterations without improvement at iteration i; N is the stop criterion––the maximum number of consecutive iterations without improvement. A feature that is not used in our experiment is diversification. When the improvement drops too low, or a solution is revisited, the search can be restarted from newly generated initial solutions, or the current solution can be dramatically changed, hoping that the search can jump to new regions. 5.2. Initial solution We apply the rerouting algorithm to the Steiner tree generated by MPH to make an initial feasible solution. In this paper, this method is referred to as MPH-rerouting. It may be noted that, in MPH and Member-Only heuristics, the all-pairs shortest

S. Yan et al. / Computer Networks 41 (2003) 89–113

103

nations, delete it if it is in the current solution or insert it if it is not in the current solution, and reconstruct the solution to maintain a rooted tree. Move the current solution to the best one in the current iteration. The detailed procedure of insertion and deletion is elaborated in following sections.

Fig. 12. Flow chart for TS.

paths are pre-computed, and there is no alternative pre-computed path between each pair of nodes. TSH follows the same rule. We mean shortest paths when we mention paths from now on.

5.3.1. Insertion The first step to insert a new node is to select a path along which the signal can propagate to the new node. Similar to Member-Only heuristic, we require that the selected path do not involve any node in the local solution other than the starting node of the path. This kind of paths is termed as disjoint paths from now on. In choosing the disjoint path, SaD cross-connects and leaf crossconnects are given a higher priority. The intuition behind is that such paths need not be rerouted. If there are disjoint paths originating from such cross-connects to the new node, we choose the shortest one; otherwise we resort to other TaC cross-connects. Once the new node gets the signal, the next step is to connect it to the nodes in the local solution one at a time (shortest first) until the local solution does not benefit from the added path. Here, we define signal path of a node as the path from the source to the node. Before adding a path from the new node to a node in the local solution, the signal path of the ending node of the path to be added needs to be pruned upstream. The motivation is to disconnect the ending node of the path to be added from its previous predecessors and provide it the signal from the new node to maintain a rooted tree structure. In the process of pruning, once a mandatory node, a node with multiple children, or a node on the signal path of the new node is encountered, the pruning stops. Fig. 13 gives an example of the insertion operation.

5.3. Operations on the current solution Each operation works on a copy of the current solution, which is called local solution. Thus each node has a fair starting point, and the best one will be chosen for the next move. In each iteration, we consider each node except the source and desti-

5.3.2. Deletion While deleting a node, the signal path of the deleted node is also pruned as in the process of insertion. Each child of the deleted node must regain the signal directly or indirectly from the source. Disjoint paths (shortest first) are chosen to

104

S. Yan et al. / Computer Networks 41 (2003) 89–113

Fig. 13. The procedure of the insertion operation: (a) The local solution with a new node and added path to the new node. (b) The signal path of node A is pruned upstream. (c) A disjoint path to node A is added. (d) A disjoint path to node B is added.

reconstruct the tree, and SaD cross-connects and leaf cross-connects are given a higher priority in choosing disjoint paths as in the process of insertion. Fig. 14 shows the procedure of deletion operation.

6. Experiment results In this section, the experimental results are reported to demonstrate the effectiveness of the TSH. In Section 6.1, The solutions of different heuristics and an ILP solver to two sample multicast sessions are shown. In Section 6.2, experi-

mental metrics are presented. The experimental settings are briefly described in Section 6.3, and experimental results are analyzed in Section 6.4. 6.1. Detailed examples In this section, we present the solutions of different heuristics and an ILP solver to two sample multicast sessions. In the sample sessions, there are three SaD nodes, and eight destination nodes. The solutions of MPH-rerouting, TS, ILP solver and Member-Only are shown in Figs. 15 and 16. In Fig. 15, MPH-rerouting uses 13 fibers, TS 10 fibers, ILP solver nine fibers and Member-Only

S. Yan et al. / Computer Networks 41 (2003) 89–113

105

Fig. 14. The procedure of the deletion operation: (a) The local solution with the node to be deleted. (b) Node D is deleted and its signal path is pruned upstream. (c) A disjoint path connects node A to the source. (d) The tree is reconstructed.

eight fibers. In this example, the source Node 7 happens not to be a multicast capable node, Member-Only generates its solution requiring that the source node is equipped with three transmitters. In Fig. 16, MPH-rerouting uses 13 fibers, TS nine fibers, ILP solver nine fibers and MemberOnly 10 fibers. In this example, the source Node 9 is a multicast capable node, Member-Only can establish the session using one transmitter, but it uses more fibers than our heuristic. In both ex-

amples, MPH-rerouting does not take the advantage of the multicast capable nodes, and many reroutings are needed while the TS solutions are quite close to the optimal. 6.2. Experiment metrics Solutions are evaluated in terms of the average number of fibers used for establishing a multicast session, and the corresponding average delay

106

S. Yan et al. / Computer Networks 41 (2003) 89–113

Fig. 15. Sample session: source ¼ 7, destinations ¼ f1; 2; 3; 6; 8; 9; 10; 11g, SaD nodes ¼ f2; 5; 9g. (a) MPH-rerouting solution, (b) TS solution, (c) ILP optimal solution, (d) Member-Only solution.

Fig. 16. Sample session: source ¼ 9, destinations ¼ f1; 2; 3; 4; 5; 6; 8; 11g, SaD nodes ¼ f3; 6; 9g. (a) MPH-rerouting solution, (b) TS solution, (c) ILP optimal solution, (d) Member-Only solution.

taken over all destination nodes. More precisely, the following metrics are adopted to evaluate our heuristic:

(1) The ratio of the average number of fibers used for establishing a multicast session in TSH over that in the ILP optimal solver.

S. Yan et al. / Computer Networks 41 (2003) 89–113

(2) The ratio of the average number of fibers used for establishing a multicast session in TSH over that in Member-Only heuristic. (3) The percentage improvement of TSH over MPH-rerouting in terms of the average number of fibers used for establishing a multicast session. (4) The ratio of the average delay, taken over all destination nodes, for a multicast session in TSH over that in Re-route-to-Source heuristic. 6.3. Experiment settings We experiment the TSH on NSFNET and two 11-cross-connect random graphs with different connectivity. In the experiment, we do not use larger topologies, because the size of constraints increases exponentially in the size of networks. Even the generation of the constraints consumes huge time and disk space. We have generated a 20node and 100-link (unidirectional) random graph to represent a random network in which there are six multicast nodes. For a multicast session with eight destination nodes, it took 2 h to generate a 70 MB file containing more than 340,000 constraints, and finally CPLEX got out of memory and the optimal solution was not obtained. Therefore we can see CPLEX cannot deal with the problem for networks of more than 20 nodes freely. Random graphs are generated using the rectangular-grid method [13]. The nodes are randomly placed over a rectangular coordinate grid. A bidirectional link between two nodes, x and y, is added with probability P ðx; yÞ ¼ b expðdðx; yÞ= LaÞ, where L is the maximum distance between any pair of nodes, and dðx; yÞ is the Manhattan distance between x and y. Increasing a increases the ratio of longer edges to shorter ones. Increasing b increases the node degree. In our experiment, a is set to 1, and b is set to 0 and 1 respectively for the two random graphs. For a given percentage of SaD cross-connects, the SaD cross-connects are evenly distributed throughout the network. Session participation probability (SPP) is defined as the session size divided by the number of nodes in the network. For a given SPP, the nodes in the session are randomly chosen, and the first one is the source. 100 random

107

sessions are generated for each combination of the percentage of SaD cross-connects and the SPP, and the results are averaged. All experiments were coded in Cþþ and run on a lightly-loaded Sun Ultra60 workstation. Integerlinear programs were solved using the CPLEX linear solver. 6.4. Analyses of results In this section, we present the experimental results on various topologies to demonstrate that TSH generates nearly optimal solutions that are always within 11% of the optimal solutions in our experiment. Experimental results also show that delays caused by rerouting are within three times of the optimal values in the worst-case. 6.4.1. NSFNET In Figs. 17 and 18, we show the ratio of the average number of fibers used for establishing a multicast session in TS over that in the ILP optimal solver and Member-Only heuristic respectively while the percentage of SaD cross-connects and SPP are varied. In all cases, TS solutions are quite close to the optimal solutions. The worst-case difference between TS solutions and ILP optimal solutions is no more than 4% when the SPP is less

Fig. 17. NSFNET: Ratio of average number of fibers used for establishing a multicast session in TSH over that in ILP solver. SPP stands for session participation probability.

108

S. Yan et al. / Computer Networks 41 (2003) 89–113

Fig. 18. NSFNET: Ratio of average number of fibers used for establishing a multicast session in TSH over that in MemberOnly heuristic. SPP stands for session participation probability.

than or equal to 0.6, and it is no more than 10% when the SPP is 0.8. The performance of TSH improves considerably as the percentage of SaD cross-connects increases. With 70% SaD cross-connects, TSH almost always finds a solution that is within 1% of the optimal solution. When the percentage of SaD cross-connects goes down, the difference between TS solutions and ILP optimal solutions increases, though not monotonically. This is because the low availability of SaD cross-connects limits the heuristic choices. Session size also affects the performance of TSH. When the session size is small, the performance of TSH is best. As session size goes up, the performance goes down. When SPP is low, i.e. session size is small, TSH converges to the optimal solution. When the session size increases, the difference between TS solutions and ILP optimal solutions becomes larger. However, the performance of TSH is still within 10% of the optimal in worst-case. Heuristics in general are more likely to be inferior to an optimal solver in complex cases. Increasing the session size adds more complexity to the multicast routing problem. It may be noted that Member-Only heuristic can sometimes use less fibers than the optimal solution. The reason is that the objective function is different. Our aim is to use only one transmitter

and one wavelength to route a multicast session, while Member-Only heuristic resorts to the versatile source cross-connect equipped with multiple transmitters. In this sense, Member-Only heuristic saves the number of fibers at the cost of expensive transmitters. Fig. 19 shows the percentage improvement of TSH over MPH-rerouting (the initial solution) in terms of the average number of fibers used for establishing a multicast session. When the session size is large, the performance improvement of TSH is more evident. With 10% SaD cross-connects, TSH can achieve an improvement of 18% over MPH-rerouting when SPP is 0.8. However, as session size decreases, the performance improvement reduces. As has been shown in Fig. 17, when the session size is small, TSH converges to the optimal solution. Therefore, we conclude that MPH-rerouting can also achieve solutions that are quite close to optimal solutions when session size is small. The performance improvement of TSH over MPH-rerouting decreases when the number of SaD cross-connects is large. In this case, even a brute force heuristic, such as MPH, can generate Steiner trees that require little or no rerouting. We have observed before that heuristics in general are more likely to be inferior to an optimal solver in complex cases. Moreover, an ‘‘intelligent’’ heuris-

Fig. 19. NSFNET: Percentage improvement of TSH over MPH-rerouting in terms of the average number of fibers used for establishing a multicast session. SPP stands for session participation probability.

S. Yan et al. / Computer Networks 41 (2003) 89–113

109

rected edges. Random 1 is sparser than the NSFNET (38 edges) and Random 2 is denser than the NSFNET. Shown in Figs. 21 and 22, the difference between TSH solutions and the ILP optimal solutions is fairly stable when connectivity increases, and the same trend as in NSFNET is shown when the percentage of SaD cross-connects and session size are varied. It demonstrates that TSH performs stably in networks with various connectivities, and

Fig. 20. NSFNET: Ratio of the average delay, taken over all destination nodes, for a multicast session in TSH over that in Re-route-to-Source heuristic. SPP stands for session participation probability.

tic can greatly outperform ‘‘non-intelligent’’ heuristics in such complex cases. Increasing the session size and reducing the number of available SaD cross-connects add more complexity to the multicast routing problem. Fig. 20 shows the ratio of the average delay, taken over all destination nodes, for a multicast session in TSH over that in Re-route-to-Source heuristic. Re-route-to-Source heuristic achieves the minimum average delay, since each destination node receives signals along the reverse shortest path to the source node. As discussed in Section 4.2, delay is not a major concern in all-optical networks. The purpose of comparing the average delay with the optimal average delay is to relieve the worry that rerouting can cause much more delay so as to make solutions infeasible in practice. Shown in Fig. 20, in the worst-case, the average delay of solutions generated by TSH is about 2.5 times the optimal delay in our experiment on the NSFNET network; with 30% or more SaD crossconnects, the average delay using TSH falls well within twice the optimal delay. 6.4.2. Random graphs To ensure the effectiveness of the TSH, we also experiment with two 11-cross-connect random graphs with different connectivities, which are named as Random 1 and Random 2. Random 1 has 26 directed edges, and Random 2 has 52 di-

Fig. 21. Random 1: Ratio of average number of fibers used for establishing a multicast session in TSH over that in ILP solver. SPP stands for session participation probability.

Fig. 22. Random 2: Ratio of average number of fibers used for establishing a multicast session in TSH over that in ILP solver. SPP stands for session participation probability.

110

S. Yan et al. / Computer Networks 41 (2003) 89–113

the worst-case difference between TSH solutions and the ILP optimal solutions is always within 11% of the optimal solution for all the topologies in our experiment. When connectivity increases, the size of the solution space increases, and consequently the difference between TSH solutions and the ILP optimal solutions becomes larger. The worst-case difference between TSH solutions and the ILP optimal solutions for 0.8 SPP goes from 8% for Random 1 to 10% for NSFNET and Random 2. Increasing the connectivity adds more complexity to the multicast routing problem. Shown in Figs. 23 and 24, compared with Member-Only heuristic, TSH uses less fibers when connectivity increases. The worst-case difference between TSH solutions and the Member-Only heuristic solutions for 0.8 SPP goes from 12% for Random 1 to 9% for NSFNET and then to 8% for Random 2. This is due to the path selection policy adopted by Member-Only heuristic. When the connectivity becomes sparser, Member-Only heuristic can use different paths with different wavelengths from the source to resolve the path conflicts due to sparse connectivity. Member-Only heuristic can also benefit from denser connectivity. When connectivity increases, Member-Only heuristic also has more disjoint

Fig. 23. Random 1: Ratio of average number of fibers used for establishing a multicast session in TSH over that in MemberOnly heuristic. SPP stands for session participation probability.

Fig. 24. Random 2: Ratio of average number of fibers used for establishing a multicast session in TSH over that in MemberOnly heuristic. SPP stands for session participation probability.

paths to reach the destinations not reached yet, and it can spans more destinations in one tree. As observed in the experiment, the number of trees decreases when connectivity increases, and the number of fibers used for establishing a multicast session decreases. In that sense, we can see TSH can benefit more from denser connectivity compared with Member-Only heuristic. Figs. 25 and 26 shows The percentage improvement of TSH over MPH-rerouting (the ini-

Fig. 25. Random 1: Percentage improvement of TSH over MPH-rerouting in terms of the average number of fibers used for establishing a multicast session. SPP stands for session participation probability.

S. Yan et al. / Computer Networks 41 (2003) 89–113

tial solution) in terms of the average number of fibers used for establishing a multicast session for Random 1 network and Random 2 network, respectively. The same trend is observed as in NSFNET when the percentage of SaD cross-connects and session size are varied. We also observe that, when connectivity increases, the solution space increases, and consequently the performance improvement becomes larger. The best case performance improvement for 0.8 SPP goes from 8% for Random 1 to 18% for NSFNET and then to 28% for Random 2. Whether to apply TSH depends on the tradeoff between quality of the solution and computational effort. For online routing, it is not possible to apply TSH due to its high computational time. For offline routing, it is worthwhile to apply TSH, especially when session size is large, the number of SaD cross-connect is small, and the network connectivity is dense. Figs. 27 and 28 shows the ratio of the average delay in TSH over that in Re-route-to-Source heuristic for Random 1 network and Random 2 network, respectively. We observe that, when connectivity increases, the ratio of average delay also increases. However, the average delay in TSH is well within three times the optimal delay in all of our experiments. We also observe that the ratio of average delay is very sensitive to the number of

111

Fig. 27. Random 1: Ratio of the average delay, taken over all destination nodes, for a multicast session in TSH over that in Re-route-to-Source heuristic. SPP stands for session participation probability.

Fig. 28. Random 2: Ratio of the average delay, taken over all destination nodes, for a multicast session in TSH over that in Re-route-to-Source heuristic. SPP stands for session participation probability.

Fig. 26. Random 2: Percentage improvement of TSH over MPH-rerouting in terms of the average number of fibers used for establishing a multicast session. SPP stands for session participation probability.

SaD cross-connects when the number is small. From all the experiments, in a sparse light splitting network with 30% of SaD cross-connects, TSH can obtain solutions within 5% of optimal fiber usage and within twice the optimal average delay. At the same time, the cost of 30% of SaD crossconnects in an optical network is a considerable reduction compared with that in a fully light splitting network. This is an important point in network design.

112

S. Yan et al. / Computer Networks 41 (2003) 89–113

7. Conclusions Sparse light splitting adds more complexity to the multicast routing problem. In this paper, we propose a rerouting algorithm that makes routing in sparse splitting networks feasible. We also develop a TSH that successfully reduces the number of fibers used for routing a multicast session by taking advantage of available SaD cross-connects. In addition, we show that, for a given Steiner tree used to realize a multicast session in a sparse light splitting network, both the fiber usage and the average delay cannot be minimized simultaneously. Consequently, we develop a method to minimize the average delay after rerouting is done, and prove its correctness. Through experiments on a variety of network topologies, we demonstrate that TSH generates solutions fairly close to the ILP optimal solutions. Therefore, our approach significantly reduces the cost of establishing a session by reducing the number of fibers traversed as well as the number of transmitters involved. Other interesting experimental results include: (1) The average delay achieved by proposed approach falls within three times the optimal. Though delay is not major concern in all-optical networks, the experiments demonstrate that the average delay in the rerouting algorithm is bounded. (2) 30% of multicast capable cross-connects is a good tradeoff between cost and performance in network design. In this case, TSH can obtain solutions within 5% of optimal fiber usage and within twice the optimal average delay in all the experiments. (3) TSH can achieve significant improvement over MPH-rerouting, in terms of the number of fibers used, when session size is large, the number of SaD cross-connects is small, and the network connectivity is dense. References [1] B. Mukherjee, Optical Communication Networks, McGraw-Hill, New York, 1997. [2] E. Desurvire, Erbium-Doped Fiber Amplifiers: Principles and Applications, Wiley, New York, 1994.

[3] W.S. Hu, Q.J. Zeng, Multicasting optical cross connects employing splitter-and-delivery switch, IEEE Photonic Technology Letters 10 (1998) 970–972. [4] M. Ali, J.S. Deogun, Cost-effective implementation of multicasting in WRN, IEEE/OSA Journal of Lightwave Technology (2000). [5] L.H. Sahasrabuddhe, B. Mukherjee, Light-trees: optical multicasting for improved performance in wavelengthrouted networks, IEEE Communications Magazine 37 (1999) 67–73. [6] A. Gibbons, Algorithmic Graph Theory, Cambridge University Press, New York, 1985. [7] M. Garey, D. Johnson, Computers and Intractability. A Guide to the Theory of NP-Completeness, Freeman, New York, 1979. [8] H. Takahashi, A. Matsuyama, An approximate solution for the Steiner problem in graphs, Math Japonica 24 (6) (1980) 573–577. [9] C.Q. Sijun Zhang, J. Wei, Constrained multicasting routing in WDM networks with sparse light splitting, INFOCOM, 2000. [10] M. Ali, J.S. Deogun, Allocation of splitting nodes in alloptical wavelength-routed networks, Photonic Network Communications 2 (3) (2000) 247–265. [11] B.S. Michel Gendreau, J.-F. Larochelle, A tabu search heuristic for the Steiner tree problem, Networks 34 (1999) 162–172. [12] F. Glover, M. Laguna, Tabu Search, Kluwer Academic Press, Dordrecht, 1997. [13] B.M. Waxman, Routing of multipoint connections, IEEE Journal on Selected Areas in Communications 6 (1988) 1617–1622. Shuguang Yan received the B.E. degree in mechanical engineering from Shanghai Jiaotong University, PR China in 1994, the M.E. degree from East China Institute of Computer Technology, PR China in 1997. He is now an assistant professor in the department of computer science of Prairie View A&M University. His research interest is in the area of networking, including wireless networking, optical networking, and network security. Jitender S. Deogun received his B.S. (Hons.) degree from Punjab University at Chandigarh, India, in 1967. He received his M.S. and Ph.D. degrees from University of Illinois, Urbana, Illinois, in 1974 and 1979, respectively. He is the Professor of Computer Science and Engineering at the University of Nebraska, Lincoln, Nebraska. He has been at the University of Nebraska, Lincoln since 1981. His current research interests include Structurtal and Algorithmic Graph Theory, Combinatorics, Design and Analysis of Algorithms, optical networks and Information Retrieval.

S. Yan et al. / Computer Networks 41 (2003) 89–113 Maher Ali is currently a Research Scientist at Alcatel Research and Innovation Center in Plano, TX. Dr. Ali received a B.S. degree in Computer Science from Yarmouk University, Jordan in 1993 and a Ph.D. degree in Computer Science from the University of Nebraska-Lincoln in 2000. His research interests are in the areas of optical networking and configurable computing. Dr. Ali is a member of IEEE, ACM, and SPIE.

113