450 WDM NETWORK DESIGN node i to node j; otherwise, bij = 0. The solution to the lightpath topology design problem will specify which of the bij are 1 and which are 0. We assume that we can arbitrarily split the traffic between the same pair of nodes over different paths through the network. This is not a problem if the traffic is IP packets, but if we were instead considering SONET circuits, this is tantamount to assuming that the traffic between nodes consists of a large number of such circuits. This assumption is satisfied when we are designing a backbone network to support a large number of private leased lines such as Tls or T3s. Let the fraction of the traffic between s-d pair (s, d) that is routed over link (i, j) (if it exists) be aSf. Then Xs.q,j - aSJX sd is the traffic (in packets/second) between s-d pair (s, d) that is routed over link (i, j). The total traffic from all s-d pairs that is routed over link (i, j) is thus )~ij Y-~sd ~'~J" We define a parameter called the congestion as Xmax maxij Xij. Note that the ,~ (and thus the Xij and Xmax) are variables that we have to determine. Determining their values amounts to finding a routing algorithm. To understand why the congestion is an important parameter, let us consider the case where the packet arrivals follow a Poisson process and the packet transmission times are exponentially distributed with mean time given by 1/# seconds. Making the standard assumption that the traffic offered to a link (lightpath) in the network is independent of the traffic offered to other links, each link can be modeled as an M/M/1 queue. The average queuing delay on link (i, j) is then given by [BG92, Section 3.6.1] dij ~. (8.11) )~ij The throughput can be defined as the minimum value of the offered load for which the delay on any link becomes infinite. This happens when kmax maxi,j kij IX. Thus our performance objective will be to minimize the congestion Xmax. We are now ready to state the problem formally as a mathematical program: Objective function: min Xmax subject to Flow conservation at each node: k s`/ if s i, ~'ijsd ~)~jisd = _)ja if d i, for all s, d, i, j j 0 otherwise, 8.2 LTD and RWA Problems 451 Total flow on a logical link: sd )~ij ~ Zs,d )~ij ' )~ i j ~ )~max, sd )sd )~ij ~ bij , Degree constraints: ~bij ~ A, i for all i, j, for all i, j, for all i, j, s, d, for all j, Z bij <_ A, for all i, J Bidirectional lightpath constraint: bij = b j i, for all i, j, Nonnegativity and integer constraints: )~J, )~ij, )~max _> 0, for all i, j, s, d, bij ~ {0, 1 }, for all i, j. We identify the packets to be routed between each s-d pair with the flow of a commodity. The left-hand side of the flow conservation constraint at node i in the network computes the net flow out of a node i for one commodity (sd). The net flow is the difference between the outgoing flow and the incoming flow. The right-hand side is 0 if that node is neither the source nor the destination for that commodity (i -r s, d). If node i is the source of the flow (i = s), the net flow equals U d, the arrival rate for those packets, and if node i is the destination, i = d, the net flow equals -U d. The constraint )~ij ~-~s,d ~'siJ is just the definition of )~ij. The constraint )~ij <_ ~.max, together with the fact that we are minimizing )~max, ensures that the minimum value of ~,max is the congestion. The constraint )~ij d < bij)sd ensures that if bij O, ,~/- 0 for all values of s and d. So if the link (i, j) doesn't exist in the topology, no packets can be routed on that link. If the link (i, j) exists in the topology (bij 1), sd )sd, this constraint simply states that ~'ij <- which is always true; thus it imposes no constraint on the values of U d in this case lJ The degree constraints ensure that the designed topology has no more than A links into and out of each node. The bidirectional lightpath constraint bij = bji ensures that the resulting topology has only bidirectional lightpaths; that is, if there is a lightpath from node i to node j, there is also a lightpath from node j to node 452 WDM NETWORK DESIGN i. The constraints bij E {0, 1} restrict the bij to take on only the values 0 or 1. As we will see shortly, but for these constraints, the problem would have been easy to solve! Note that the objective function and the constraints are linear functions of the variables (ki) a, Xij, Xmax, bij ). A mathematical program with this property is called a linear program (LP) if, in addition, all the variables are real. It is called an integer linear program (ILP) if all the variables are restricted to take integer values. In our case, some of the variables, for instance, the bij, are restricted to integer values. So our program is an example of a mixed integer linear program (MILP). We call it the LTD-MILP. Although many efficient algorithms are known for solving even very large LPs, no efficient algorithms are known for the solution of arbitrary ILPs and MILPs. In fact, a general ILP or MILP is an example of an N P-hard problem [GJ79]. Commercial packages are readily available to solve LPs, ILPs, and MILPs. In many cases, these are part of a larger package of mathematical and/or optimization routines. Even with the use of such packages, ILPs and MILPs are too time consuming to solve, except for small-sized problems. Therefore, many heuristics have been devel- oped for finding approximate solutions to these problems. These approximations are often based on specific features of the problem at hand. In the following, we describe one such heuristic for our problem. Our heuristic uses the fact the LPs are easy to solve and obtains an approximate solution to the LTD-MILP using the techniques of LP-relaxation and rounding. Before we can describe our method, we need to define a few terms used in mathematical programming. A feasible solution of a mathematical program is any set of values of the vari- ables that satisfy all the constraints. An optimal solution, or simply solution, of a mathematical program is a feasible solution that optimizes (minimizes or maximizes, as the case may be) the objective function. The value of a mathematical program is the value of the objective function achieved by any optimal solution. Note that if we replace the constraints bij E {0, 1} by the constraints 0 _< bij <_ 1, the LTD-MILP reduces to an LP, which we will call the LTD-LP. Moreover, any feasible solution of the LTD-MILP is also a feasible solution of the LTD-LP, but the LTD-LP may (and usually will) have other feasible solutions. If some optimal solution of the LTD-LP happens to be a feasible solution of the LTD-MILP (that is, the bijs are 0 or 1), the values of the LTD-MILP and LTD-LP will be equal. Otherwise, the value of the LTD-LP will be a lower bound on the value of the LTD-MILE (This is the case for minimization problems.) We call this lower bound the LP-relaxation bound. Note that if the values of the bij are fixed at 0 or I such that the degree constraints are satisfied, the LTD-MILP again reduces to an LE Fixing the values of the bij fixes the lightpath topology; the remaining problem is to route the packets over this lightpath topology to minimize the congestion. So we call the LP obtained in this 8.2 LTD and RWA Problems 453 manner the routing-LP. The value of any routing-LP is an upper bound on the value of the LTD-MILP. If we are clever (or lucky) in fixing the values of the bij so that the degree constraints are satisfied, this will be a good upper bound. For clues on how to fix the values of the bij, we turn again to the LTD-LP. Consider any optimal solution of the LTD-LP. Intuitively, we expect that bus that are close to 1 (respectively, close to 0) must be equal to 1 (respectively, 0) in the LTD-MILP. So we could try a heuristic approach to determine the values of bij in the LTD-MILP from the values of bij in the LTD-LP: round the bij in the LTD-LP to the closest integer. However, we have to be careful not to violate the degree constraints on the bij. So we modify the rounding approach to incorporate this in the following rounding algorithm. Algorithm 8.1 1. Arrange the values of the bij obtained in an optimal solution of the LTD-LP in decreasing order. 2. Starting at the top of the list, set each bij = 1 if the degree constraints would not be violated. Otherwise, set the bij = O. 3. Stop when all the degree constraints are satisfied or the bus are exhausted. If the LP-relaxation lower bound and the upper bound obtained by using the rounding algorithm and solving the routing-LP are close to each other, then we have a good approximation to the value of the MILE We can then use the topology and routing algorithm obtained by the rounding algorithm and routing-LP as approxi- mations to the optimal topology and routing algorithm. A modified version of this approach has been used in [RS96, Jai96] to solve the LTD-MILP approximately in a few examples. Table 8.1 shows the congestion as a function of the degree for one such example, which is a 14-node network with a sample traffic matrix given in [RS96]. In contrast to the work in [RS96, Jai96], which considered directed lightpaths, here we have considered bidirectional lightpaths. This imposes an additional constraint on the lightpath topology (the bidirectional lightpath constraint) and results in slightly higher values of the congestion. The three columns in Table 8.1 correspond to the LP-relaxation lower bound, an exact value obtained by solving the MILP, and the value obtained by the rounding algorithm. Note that the rounding algorithm yields a value that is quite close to the optimum value and in fact achieves the optimum value as the degree increases. We have discussed the problem of designing a lightpath topology to minimize the maximum packet traffic on any lightpath, subject to a number of constraints. This problem is a very special case of the general problem, and even it is hard! Not unexpectedly, network design problems have been studied for many years [Ker93, 454 WDM NETWORK DESIGN Table 8.1 Congestion versus node degree for a lightpath topol- ogy designed over a 14-node sample network with a given traffic pattern from [RS96], but with bidirectional lightpaths. Observe that the LP rounding algorithm yields very good results in this example. Degree LP-Relaxation MILP LP Rounding 2 284.67 388.59 440.20 3 189.78 189.78 194.56 4 142.33 142.33 142.33 5 113.87 113.87 113.87 6 94.89 94.89 94.89 Cah98] and are known to be hard. In many cases, even formulating the problem becomes hard because of a large number of parameters to be optimized and a large number of constraints to be dealt with. We illustrated one heuristic method for solving such an ILP, but several other techniques exist that can also be usedmsee, for example, [CMLF00, KS98, MBRM96, BG95, ZA95, JBM95, GW94, CGK93, LA91]. A practically important example of a lightpath topology that must be realized from a WDM network is a SONET ring. SONET rings come in two flavors: unidi- rectional path-switched rings (UPSR) and bidirectional line-switched rings (BLSR). We discuss these rings in Chapter 10. The problem of the combined design of the SONET rings (lightpaths) and the WDM layer, to minimize the cost of the SONET AD Ms, is discussed in [ G LS 99]. In the traffic model considered above, we had only one traffic matrix whose values were denoted by k sa. In practice, the traffic can change over time, and thus it may be better to change the lightpath topology also to reduce the cost of the network. Lightpath topology changes can be disruptive and thus must be undertaken only occasionally, adding and dropping only a few lightpaths at a time. An iterative reconfiguration algorithm to change the lightpath topology gradually, in step with traffic changes, is discussed in [NTM00]. 8.2.2 Routing and Wavelength Assignment In Section 8.1, we saw that the overall design problem involves a trade-off between optical layer equipment (essentially, number of wavelengths) and higher-layer equip- ment (for example, IP router ports or SONET line terminals). In the previous section, we studied the LTD problem. Here we study the RWA problem, which is defined as 8.2 LTD and RWA Problems 455 follows. Given a network topology and a set of end-to-end lightpath requests (which could be obtained, for example, by solving the LTD problem), determine a route and wavelength(s) for the requests, using the minimum possible number of wavelengths. Sometimes we are already given the routing, in which case, we are concerned only with the wavelength assignment (WA) problem. The wavelength assignment must obey the following constraints: 1. Two lightpaths must not be assigned the same wavelength on a given link. 2. If no wavelength conversion is available, then a lightpath must be assigned the same wavelength on all the links in its route. In the rest of this chapter, we assume that the network as well as the lightpaths are undirected. Different combinations of types of lightpaths and types of networks are possible, as shown in Table 8.2. The combination that we explore here corresponds to a network that has a pair of unidirectional fiber links in opposite directions between nodes and assumes that all lightpaths are bidirectional, with the same route and wavelength chosen for both directions of the lightpath. From an operational viewpoint, most lightpaths will be full duplex, as the higher-level traffic streams that they carry (for example, SONET streams) are full duplex. Moreover, network operators would prefer to assign the same route and wavelength to both directions for operational simplicity. Note, however, that it is possible to reduce the number of wavelengths needed in some cases by assigning different wavelengths to different directions of the lightpath. This is treated in Problem 8.22. An undirected edge can also represent a bidirectional fiber link with transmis- sion in both directions over a single fiber. We consider this case in the example below. The routing and wavelength problem can be also be studied in the context of the other combinations shown in Table 8.2. There has been a fair amount of theoretical work devoted to solving the routing and wavelength assignment problem Table 8.2 Different combinations of types of light- paths and network edges. We study the case of net- works with undirected edges that support undirected lightpaths. Undirected lightpaths, undirected edges Directed lightpaths, undirected edges Undirected lightpaths, directed edges Directed lightpaths, directed edges 436 WDM NETWORK DESIGN Figure 8.9 Different network models corresponding to undirected/directed edges and undirected/directed lightpaths. (a) Undirected edges, undirected lightpaths. (b) Directed edges, directed lightpaths. (c) and (d) show two different cases of undirected edges and directed lightpaths. on networks with directed edges and directed lightpaths, which the reader can find in the References at the end of this chapter. This is the most general case, and the other three cases are special subsets of this general problem. Example 8.5 In this example, we will illustrate the differences between the different network models considered in Table 8.2, using an example. (Assume that no wavelength conversion is available.) Consider the simple four-node star network shown in Figure 8.9. In Figure 8.9(a), we have a network with undirected edges that must support three lightpaths. Note that although only at most two lightpaths use each edge, we need three wavelengths to support this traffic pattern. Next consider a network with directed edges and directed lightpaths shown in Figure 8.9(b). Note that the number of lightpaths on each edge is again no more than two, but only two wavelengths are required in this instance. Figure 8.9(c) and (d) show two cases, both with undirected edges and directed lightpaths. In Figure 8.9(c), we represent the undirected edge by two unidirec- tional edges. This corresponds to having a fiber in each direction in the real network and having W wavelengths on each fiber. In this case, note that only two wavelengths are required to support this traffic pattern. The final case is Figure 8.9(d), where we represent the undirected edge by a bidirectional edge. This corresponds to having a single fiber over which transmis- sion takes place in both directions. There is a fixed total number of wavelengths; some wavelengths are transmitted in one direction, and the remaining ones in the opposite direction. We may assume that this assignment can be done in a flexible manner as required for the traffic pattern. In this case the wavelength assignment constraint is somewhat different. If a wavelength is used in one direction of the link, it cannot be used in the other direction. Note that in this case the direction 8.2 LTD and RWA Problems 457 Figure 8.10 A node with fixed-wavelength conversion capability. Signals entering at wavelength k l are converted to )~2 and vice versa. Signals entering at wavelength k3 are converted to )~4 and vice versa. 8.2.3 of a lightpath does not affect the wavelength assignment. In practice, bidirec- tional systems have a fixed set of wavelengths in each direction, which further constrains this case, as we will see in Problem 8.10. Wavelength Conversion We discussed wavelength conversion in Chapter 7, specifically with reference to op- tical crossconnects. This kind of wavelength conversion is called full wavelength conversion, and a node capable of full wavelength conversion can change the wave- length of an incoming lightpath to any of the outgoing wavelengths. The crosscon- nects shown in Figure 7.9(a)-(c) are capable of full wavelength conversion, while the crossconnects of Figures 7.9(d) and 7.12 have no wavelength conversion capability. Two other kinds of wavelength conversion are fixed conversion and limited con- version. In fixed-wavelength conversion, a lightpath entering a node at a particular wavelength )~i always exits the node at a given wavelength )~j. The mapping be- tween the input and output wavelength is fixed at the time the network is designed and cannot be varied. An implementation of this approach is shown in Figure 8.10. In limited wavelength conversion, a signal is allowed to be converted from one wavelength to a limited subset of other wavelengths. For instance, we may allow a signal to be converted from one wavelength to two other predetermined wavelengths. 458 WDM NETWORK DESIGN Figure 8.11 A node with limited wavelength conversion capability. Each input wave- length can be converted to one of two possible output wavelengths. Signals entering at wavelength )~1 or )~2 can be converted to )~3 or M. Signals entering at wavelength ~.3 or )~4 can be converted to )~1 or k2. Figure 8.11 shows an implementation of this approach, where each input wavelength can be converted to one of two other wavelengths. In this case, we say that the node provides limited conversion of degree 2. We will see later in Section 8.5 that having a small amount of wavelength conversion in the network provides almost the same benefits as having full wavelength conversion at every node in the network. The fixed and limited conversion models described above allow us to save on switch cost but still require an O/E/O for each signal. Since the O/E/Os dominate the cost, these models are mainly of theoretical interest today. However, two other factors make these models useful. The first is when we have practical all-optical wavelength converters. It is quite possible that these devices will inherently not allow converting a signal to an arbitrary output wavelength but only to one or a subset of other wavelengths (see Section 3.8). Thus limited conversion becomes very important in this case. The second is that networks with multiple fibers and no wavelength conversion can be modeled using this approach, as we will see next. In many situations, networks may use multiple fiber pairs between nodes to pro- vide higher capacities. We will now see that having multiple fiber pairs is equivalent to having a single fiber pair but with some limited wavelength conversion capabilities at the nodes. Figure 8.12(a) shows a network with two fiber pairs between nodes 8.2 LTD and RWA Problems 459 Figure 8.12 The equivalence between multiple fiber networks and single fiber networks. and no wavelength conversion at the nodes. Each fiber pair carries W wavelengths. At each node, signals from one fiber pair can be switched to the other fiber pair. Figure 8.12(b) shows a network with one fiber pair between nodes, with that pair carrying 2W wavelengths. The nodes have limited conversion of degree 2. These two networks are equivalent in terms of their traffic-carrying capacity. Any set of lightpaths supported by one network can be supported by the other network as well. The proof of this is left as an exercise (Problem 8.11). Therefore, we can character- ize multiple fiber networks with no conversion by equivalent single fiber networks with limited-degree wavelength conversion at the nodes. For this reason, we will not consider multiple fiber networks separately in this chapter. We will use the suffixes NC, FC, C, and LC to denote no wavelength conversion, fixed conversion, full conversion, and limited conversion, respectively. In the full, limited, and fixed conversion cases, the WA problem must be suit- ably modified. In the case of full conversion, the constraint on a lightpath being assigned the same wavelength on every link it traverses can be dispensed with en- tirely. In the case of limited wavelength conversion, the wavelength assigned to a lightpath can be changed but only to a limited set of other wavelengths. In the case of fixed-wavelength conversion, the wavelength assigned to a lightpath must be changed at each node. Given a set of lightpath requests and a routing, let li denote the number of lightpaths on link i. Then we define the load of a request to be L = max/li. Clearly, from the first constraint, we need at least L wavelengths to accommodate this set of lightpath requests. If we have full wavelength conversion in the network, then the problem of wavelength assignment becomes trivial because it no longer matters what wavelength we assign to a lightpath ori a given link. As long as no more than . ILPs and MILPs. In fact, a general ILP or MILP is an example of an N P-hard problem [GJ79]. Commercial packages are readily available to solve LPs, ILPs, and MILPs. In many cases, these are part. define a few terms used in mathematical programming. A feasible solution of a mathematical program is any set of values of the vari- ables that satisfy all the constraints. An optimal solution,. (ki) a, Xij, Xmax, bij ). A mathematical program with this property is called a linear program (LP) if, in addition, all the variables are real. It is called an integer linear program