Wavelength Assignment in a Ring Topology for Wavelength Routed WDM Optical Networks Amit Shukla, L. Premjit Singh and Raja Datta, Dept. of Computer Science and Engineering, North Eastern Regional Institute of Science and Technology (NERIST), Nirjuli, Arunachal Pradesh-799 ABSTRACT In this paper, we present a polynomial time algorithm that gives a good solution to the routing and wavelength assignment (RWA) problem in a ring topology. A ring topology is an important form of network topology as it is simple, easy to deploy and fault tolerant. One of the major design issues in wavelength-division multiplexed networks is the assignment of the limited number of wavelengths among network stations so that greater capacity can be achieved. The problem of RWA is known to be NP-hard problem. This paper presents an algorithm that assigns the available number of wavelengths efficiently to maximize one-hop traffic in a ring topology. For a N-node ring topology the algorithm uses dynamic programming with time-complexity of O(N 3 W) for W available wavelengths. Index Terms Lightpath, routing and wavelength assignment (RWA), optical networks, wavelength-division multiplexed (WDM), traffic matrix, one-hop traffic. I. INTRODUCTION Optical networks employing wavelength-division multiplexing (WDM) is seen as the technology of the future. With the explosive growth of Internet and bandwidthintensive applications such as video-on-demand and multimedia conferencing the demand for bandwidth at lower costs is increasing day by day. A WDM optical network consists of wavelength routing nodes interconnected by pointto-point optical fiber links in an arbitrary topology. The WDM is a multiplexing technique that has led to efficient bandwidth utilizations up to few Tb/s. WDM network architecture is classified into three groups: broadcast-and-select networks, wavelength routed networks, and linear light wave networks. Wavelength routed networks can avoid problems such as: lack of wavelength reuse, power splitting loss, and scalability to wide area networks (WANs). In such networks, a message is sent from one node to another using a wavelength continuous route called a lightpath, without requiring any optical-electronic-optical conversion and buffering at the intermediate nodes. This process is known as wavelength routing. An algorithm used for selecting routes and wavelengths to establish lightpaths is Corresponding author, Email : raja_datta_nerist@yahoo.com, Ph no: 36-2257473 known as routing and wavelength assignment (RWA) algorithm. The wavelength assignment must obey the following constraints: (a) Two lightpaths must not be assigned the same wavelength on a given link and (b) If no wavelength conversion is available, then a lightpath must be assigned the same wavelength on all the links in each route. Number of wavelengths available over a link is always limited, so they should be assigned in such a way that maximum logical connections can be established. Many researchers have studied the RWA problem and proposed various heuristic algorithms. The schemes differ in the assumptions on traffic pattern, availability of wavelength converter and desired objectives. Ramaswami and Sivaranjan [] formulated RWA problem as Integer Linear Program (ILP) which is an NP-hard problem. There is a vast body of literature describing routing and wavelength assignment heuristics [2,3,4]. Most of the good heuristic policies are based on the approach where most of the traffic can be handled in one-hop. By one-hop we mean one optical hop, where data travels from source node to destination node without any optical electronic optical (O/E/O) or wavelength conversion. Ozdaglar and Bertsekas[5] adopted a (quasi-)static view of the problem and proposed a integer linear programming formulation. Zhang and Acampora [3] introduced one of the most popular heuristic algorithms for RWA. Given the long-term average traffic between node pairs in the form of a traffic matrix, largest-traffic-first scheme was used to line up the connection requests for setting up the lightpaths. The scheme designs the logical topology by first attempting to set up lightpath between the node-pairs having the largest traffic between them in the traffic matrix. It then attempts to set up lightpath for the node pairs having the next largest traffic and so on, the constraints being the physical topology and the limited number of wavelengths per link. For a physical topology of N nodes, in the worst case, the complexity of the algorithm is O(N 4 ). Datta, Mitra, Ghose and Sengupta [6] proposed a polynomial time algorithm, which attempts to optimize the assignment of a wavelength in terms of maximizing one-hop traffic in a tree topology. The algorithm sets up lightpaths in a tree topology with a single wavelength in a way that can handle maximum one-hop traffic. In this paper, we present a polynomial time algorithm, which tries to maximize one hop-traffic in a ring topology for wavelength selective WDM network. A ring topology is an important form of network topology as it is simple, easy to deploy and fault tolerant. We show that the worst-case complexity of our algorithm for a ring with N-nodes is O(N 3 )
in case of a single wavelength. With the help of simulations, we compare our work in a WDM framework with one of the best-known heuristic wavelength assignment algorithms presented in [4]. The simulation results show a considerable improvement in terms of one-hop traffic. For a network of N-nodes, in static case, the traffic demand between any pair of nodes can be specified by a traffic matrix. The demand between node pairs is assumed to be bidirectional. It is assumed that the allocation of a single lightpath can take care of the entire traffic between any two nodes. The rest of the paper is organized as follows: In section II, we present our ring-topology algorithm. Simulation results are presented in Section III and we give the conclusion in Section IV. II. THE RING-TOPOLOGY ALGORITHM In this section, we present the algorithm for assigning multiple wavelengths to establish lightpaths in a ring topology. A. Basic Concept The algorithm uses the concept of cutting a node of a ring topology into two halves so as to form a line topology. For assignment of every wavelength, we start at any one end of the line (i.e one half of the cut node) and proceed towards the other end (the other half of the cut node) computing the maximum traffic and lightpath allocation at each node. We call the line topology as a node-cut. The optimal allocation of lightpaths for that node-cut is finally stored at the end node. The node-pairs those have not been allocated a wavelength are then tried with other available wavelengths similarly. Thus, we cut each and every node and repeat the whole procedure calculating the maximum traffic handled for each node-cut. The node-cut that leads to the establishment of lightpaths that can handle the maximum one-hop traffic is selected, and the corresponding assignment of wavelengths are considered to be efficient in terms of maximizing one-hop traffic. As an example, let us consider a line topology of three nodes; say,, and 2 [Fig. (a)] and its corresponding traffic matrix in Fig. (b). 2 Fig (a): Example of Wavelength Assignment in Line Topology 2 83 86 83 49 2 86 49 Fig (b): An Imaginary Traffic Matrix Let the traffic between two node n and node n 2 be denoted by T(n, n 2 ). If two lightpaths are established, one between node and node and the other between node and node 2 the total traffic handled is x= T(,) + T(,2) = 83 + 49 = 32 Instead, if a single lightpath is established between node and node 2, then the traffic handled is x2= T(,2) = 86 As only one of the above options can be established with a single wavelength, the first one is chosen so that more traffic can be handled in that case. Thus optimal lightpath establishment will be --2. Fig. 2(a) and 2(b) shows how a 4-node ring topology can be converted to a line topology by cutting node into two halves. cut Fig 2: (a) Ring Topology wit a node-cut 2 3 Fig 2: (b) Ring converted to line after node is cut into two halves. We next present our algorithm for the establishment of lightpaths in a ring topology. In our algorithm, we assume that each node contains the information of the maximum traffic that can be handled, with one wavelength, and also the information of the establishment of lightpaths at that node. B. The Algorithm We assume that the long term average (relative) traffic demand between nodes of a ring is given by an N N traffic matrix T, where N is the number of network nodes, and the (i, j) th element, t ij the long-term average traffic demand between node i and node j. The diagonal elements of the matrix are zero. Though the average traffic demand between any two nodes may be asymmetric, we assume a symmetric traffic matrix i.e., t ij = t ji. This is because, if a lightpath is assigned between any two nodes, it is expected to carry traffic for both the ways. We use the following notations to present the algorithm. The input to this algorithm is a ring R with n nodes. Let the n nodes be represented sequentially with the subscript starting from to n-. If any node i is cut to stretch the ring into a line, its one part (one end of the line) is denoted by cnode and the other part by cnode n (the other end of the line). Thus the number of nodes become n+, and they can now be represented as cnode, cnode, cnode 2 cnode n. Let V(i) denote the value of traffic stored at node i and L w (i) denote 2 3
the lightpath allocations stored at node i for wavelength w. l(i,j) denotes a lightpath between node i and node j. W be the number of available wavelengths. Let total_traf denote the total traffic handled after assignment of all the available wavelengths in a particular node-cut. Let max_tot_traf denotes the maximum of all the total_traf calculated for every node-cut. light_node_cut represents the intermediate lightpath allocation for a node-cut and light_final denotes the final lightpath allocation at the end of the algorithm. Let function reset() initializes the node-contents V(i) to zero and L w (i)) to null. Also initially the value of max_tot_traf is zero. We now present the dynamic optimal ring algorithm in pseudo-code as a function Opt-Ring as follows. Opt-Ring (n, W, T) for (node-cut from k = to n- ) reset(); T =T; total_traf=; for (wavelength from to W) max_traf = ; for(i = to n) V(i)= ; for (i = n- to ) for(j = i+ to n) if (i == ) if (T (cnode i,cnode j )==V(cnode j )) Check whether lightpath stored in V(cnode j )is a direct lightpath between cnode j and cnode n. If yes, make the traffic of the longer path as zero (If the paths are equal any one can be made zero); if(max_traf < (T (cnode i,cnode j )+V(cnode j )) max_traf = T (cnode i,cnode j )+V(cnode j ); V(cnode i ) = max_traf; if (T ( cnode i,cnode j )!= ) L w (cnode i ) = l(cnode i,cnode j ) + L w (cnode j ); T (cnode i, cnode j )=; else L w (cnode i ) = L w (cnode j ); total_traf = total_traf + V(cnode ); light_node_cut w = L w (cnode ); light_node_cut = light_node_cut + light_node_cut w ; if(max_tot_traf < total_traf) max_tot_traf = total_traf; light_final = light_node_cut corresponding to node-cut with max_tot_traf; The algorithm first cuts a node of the ring topology to convert it into a line topology. It then assigns the first available wavelength as follows: The algorithm works in a bottom-up fashion. Given the allocation of lightpaths in terms of maximizing one-hop traffic in an end-section of a line topology (e.g. the section 2-3- of the line topology in Fig. 2 (b)), it computes the allocation of lightpaths till the preceding node by adding a link (the section -2-3- of the line in Fig. 2 (b)). It continues to compute the allocation of lightpaths dynamically in this fashion till it reaches the beginning node of the line topology. The algorithm keeps the value of the maximum one-hop traffic that can be handled till a node (say i) in V(i) and corresponding lightpath allocation in L (i). The maximum traffic is computed by adding the traffic between the node i and node i+with V(i+), then between the node i and node i+2 with V(i+2), and so on till the end node of the line. The combination that gives the maximum one-hop traffic is chosen to be kept in V(i) and corresponding lightpath in L (i). Due to wavelength constraint it will not be possible to assign a single wavelength to all the node-pairs of the line. The node-pairs that cannot be assigned the first wavelength are then tried with the next available wavelength similarly for possible establishment of lightpaths by making the traffic of the already allocated node-pairs as zeroes. This is continued for all the available wavelengths and the maximum traffic along with corresponding lightpath establishment stored temporarily. The algorithm next cuts another node of the ring topology to convert it into a line topology and computes the maximum traffic along with its wavelength allocation according to the same principle as discussed above. This continues till all the nodes are cut and the maximum one-hop traffic computed for all the N line topologies (where N is the number of nodes in the Ring topology). The allocation of wavelengths in terms of maximizing one-hop traffic is then the lightpath establishment of the line topology that gives the maximum one-hop traffic. C. Complexity Analysis In the algorithm, the loops of i and j while finding out the node contents gives a complexity of O(N 2 ), where N is the total number of nodes in a Ring topology. For wavelength assignment with a single wavelength, the complexity for cutting each and every node and examining becomes O(N 3 ). Hence the overall time complexity with W wavelengths is O(N 3 W). D. Illustrative Example We consider the example ring with four nodes as shown in fig.2 (a) to show how the algorithm works. Let the available number of wavelengths (W) be 3. Let T(i,j) be the traffic between any two nodes i and j. We refer to Fig: 3 for the corresponding traffic matrix. Cutting the ring at node, we have: cnode cnode cnode 2 cnode 3 cnode 4 2 3
2 3 83 86 77 83 49 9 2 86 49 59 3 77 9 59 Fig 3: Imaginary Traffic Matrix for the Ring topology of Fig. 3(a) For the first available wavelength: At cnode 4: V(cnode 4 ) =, L(cnode 4 ) = null. At cnode 3: V(cnode 3 ) = T(cnode 3, cnode 4 ) + V(cnode 4 ) = T(3,) + V() = 77 + = 77 L(cnode 3 ) = cnode 3 --cnode 4, Corresponding lightpath stored is 3. At cnode 2: V(cnode 2 ) = max(t(cnode 2, cnode 3 )+ V(cnode 3 ), T(cnode 2, cnode 4 )+ V(cnode 4 )) = max(t(2,3)+v(3), T(2,)+V()) = max(59 + 77, 86 + ) = 36. L(cnode 2 ) = l (cnode 2, cnode 3 ) + L(cnode 3 ) = cnode 2 cnode 3 cnode 4, Corresponding lightpath stored is 2 3. At cnode : V(cnode ) = max(t(cnode, cnode 2 )+ V(cnode 2 ), T(cnode, cnode 3)+ V(cnode 3), T(cnode, cnode 4) + V(cnode 4)) = max(t(,2)+v(2), T(,3)+V(3), T(,) + V()) = max(49 + 36, 9 + 77, 83 + ) = 85. L(cnode ) = l (cnode, cnode 2) + L(cnode 2) = cnode cnode 2 cnode 3 cnode 4, Corresponding lightpath stored is 2 3. At cnode : V(cnode ) = max(t(cnode, cnode )+V(cnode ), T(cnode, cnode 2) + V(cnode 2), T(cnode, cnode 3) + V(cnode 3), T(cnode, cnode 4) + V(cnode 4)) = max(t(,)+v(), T(,2)+V(2), T(,3) + V(3), T(,) + V()) = max(83 + 85, 86 + 36, + 77, +) = 268. (Note: T(,3) is made zero above as T(,3) = V(3) and the path of T(,3) is longer.) L(cnode ) = l (cnode, cnode ) + L(cnode ) = cnode cnode cnode 2 cnode 3 cnode 4, Corresponding lightpath stored is 2 3. Therefore the maximum one-hop traffic that can be handled with the first available wavelength is 268. The traffic in the traffic matrix for the node-pairs where lightpaths have already been established are made zero. For the second available wavelength: Now we try to establish lightpaths with the second wavelength for the node-pairs that are still unallocated. At cnode 4: V(cnode 4) =, L(cnode 4) = null. At cnode 3: V(cnode 3 ) = T(cnode 3, cnode 4 ) + V(cnode 4 ) = T(3,) + V() = + =. (Note: as lightpath between nodes cnode 3 and cnode 4 has already been established by the first wavelength the traffic between the nodes is made zero.) At cnode 2: V(cnode 2) = max(t(cnode 2, cnode 3 )+ V(cnode 3 ), T(cnode 2, cnode 4 )+ V(cnode 4 )) = max(t(2,3)+v(3), T(2,)+V()) = max ( +, 86+) = 86. L(cnode 2) = cnode 2 cnode 4, Corresponding lightpath stored is 2. At cnode : V(cnode ) = max(t(cnode, cnode 2 )+ V(cnode 2 ), T(cnode, cnode 3)+V(cnode 3), (cnode, cnode 4)+V(cnode 4)) = max(t(,2)+v(2), T(,3)+V(3), T(,) + V()) = max(+86, 9 +, + ) = 9. L(cnode ) = cnode cnode 3, Corresponding lightpath stored is 3. At cnode : max(t(cnode, cnode ) + V(cnode ), T(cnode, cnode 2) + V(cnode 2), T(cnode, cnode 3) + V(cnode 3), T(cnode, cnode 4) + V(cnode 4)) = max(t(,)+v(), T(,2)+V(2), T(,3)+V(3), T(,)+V()) = max( + 9, + 86, 77 +, + ) = 9. L(cnode ) = l (cnode, cnode ) + L(cnode ) = cnode cnode 3, Corresponding lightpath stored is 3. Therefore the maximum one-hop traffic that can be handled by first and second wavelength is = 268 + 9 = 358. Similarly we compute for the third available wavelength and find that the maximum one-hop traffic that can be handled is 86 and the corresponding lightpath stored is 2. Therefore the maximum one-hop traffic that can be handled by all the three wavelengths is = 268 + 9 + 86 = 444. The corresponding lightpaths established are shown in Fig 4. λ3 λ2 λ λ λ λ cnode = cnode = cnode 2=2 cnode 3=3 cnode 4 =4 Fig 4: Establishment of lightpath for node-cut. In a similar way, we cut other remaining nodes one by one, calculating the one-hop traffic and the corresponding allocation of lightpaths for each node-cut as in Fig 5. The node-cut that gives the maximum one-hop traffic and its corresponding allocation of lightpaths will be a good solution of lightpath establishment with regard to maximizing one-hop traffic in the Ring topology of Fig.2 (a). (a) cnode cnode cnode 2 cnode 3 cnode 4 2 3 (b) cnode cnode cnode 2 cnode 3 cnode 4 2 3 2 (c) cnode cnode cnode 2 cnode 3 cnode 4 3 2 3 Fig 5 (a) Ring cut at node, (b) Ring cut at node 2, (c) Ring cut at node 3
IV. SIMULATION RESULTS We evaluate the performance of our proposed algorithm by simulating Ring networks of different sizes, and compare the results with that of the popular heuristic algorithm as presented in [4] in which close to optimal solution can be obtained. We generate the long-term average traffic randomly for each case, where the relative traffic between any two nodes vary from to units. We also assume that a single lightpath can take care of all the traffic demands between two nodes of a network. The heuristic algorithms used in the simulations are indexed as follows. Algo: The algorithm presented by Zhang and Acampora in [4] (discussed in Section I). Algo2: Our ring topology algorithm of Section II. We consider the performance measure as the maximum onehop traffic (i.e. the total traffic carried in the network in one optical hop). In Fig.6 and Fig 7 we show the normalized onehop traffic where the maximum value is normalized to one. Fig 6 shows the cases of 2 node, 3 node and 4 node ring topologies with wavelength W=8. We notice an improvement of 6%, 33% and 42% in cases of 2-node, 3-node and 4- node ring topologies respectively when lightpaths are established by Algo 2. This is due to the fact that Algo allo- One-hop Traffic.9.8.7.6.5.4.3.2. Algo Algo2 2 3 4 Nodes Fig 6: Normalized one-hop traffic for 2, 3 and 4 nodes ring topology with wavelengths W= 8. One-hop Traffic.9.8.7.6.5.4.3.2. Algo Algo2 2 3 4 Nodes Fig 7: Normalized one-hop traffic for 2, 3 and 4 nodes ring topology with wavelengths W=2. -cates wavelengths considering largest-traffic-first scheme, which may not give the best allocation of wavelengths for maximizing one-hop traffic. This is because once a wavelength is allocated between two nonadjacent nodes it is not possible to allocate the same wavelength between the intermediate nodes due to wavelength constraint, even if more one-hop traffic can be handled in the latter case. Fig 7 shows the simulation results for the cases of 2-,3-, and 4-node ring topologies with 2 available wavelengths (W = 2). In these cases the improvements are around %, 2% and 35%. From both these figures it is interesting to observe that the difference is lesser in case of smaller topologies with same number of available wavelengths. This is mainly due to lesser wavelength constraints. Thus, it can be seen that the algorithm proposed here gives much better performance than the earlier proposed popular heuristic. IV. CONCLUSION We have presented an algorithm for establishment of lightpaths in a ring topology with regard to maximizing onehop traffic. Our algorithm allocates available wavelengths by first converting a n-node ring topology into n number of line topologies, and then optimally allocating the wavelengths in each of the line topologies. The line topology that gives the maximum one-hop traffic is chosen and the corresponding wavelength allocation becomes a good solution of lightpaths in the original ring topology. Through simulation we show that our algorithm performs better than one of the best-known existing heuristic algorithms with respect to maximizing onehop traffic. REFERENCES [] R. Ramaswami and K. N. Sivarajan, Optical Networks: A Practical Perspective, San Mateo, CA: Morgan Kaufmann, 998. [2] I. Chlamtac, A. Ganz, and G. Karmi, Lightpath communication: A novel approach to high bandwidth optical WAN s, IEEE Trans. Commun., vol. 4, pp. 7 82, July 992. [3] Z. Zhang and A. Acampora, A heuristic wavelength assignment algorithm for multihop WDM networks with wavelength routing and wavelength re-use, IEEE/ACM Trans. Networking, vol. 3, pp. 28 288, June 995. [4] C. S. R. Murthy & M. Gurusamy. WDM Optical Networks: Concepts, Designs and Algorithms. Pearson Education Inc., 22 [5] A. Ozdaglar and D. P. Bertsekas, Routing and wavelength assignment in optical networks, IEEE/ACM Trans. Networking, vol., pp.259 272, April. 23. [6] R. Datta, B. Mitra, S. Ghose and I. Sengupta, An algorithm for optimal assignment of a wavelength in a tree topology and its applications in WDM networks, IEEE Journal on Selected Areas in Communication, Vol. 22, No. 9, pp.589-6, November 24.