In the current environment of high speed communications, network operators and service providers are constantly flooded with bandwidth requirements. The demand for adding capacity has led to the development of different transport technologies such as PDH, SDH/SONET, WDM/DWDM, OTN, Ethernet, MPLS-TP etc. which support different types of traffic requirements. Service providers require faster provisioning of services to satisfy more customer requests in less time. Typically, services are provisioned manually by the service providers by logging into management systems and doing provisioning related activities using them which is slow as highlighted in .
Automating the service provisioning process will be a key enabler for satisfying more customer service requests. Automation would result in lesser time-to-provision customer service requests and it would also help in efficient usage of network resources. This is a practical problem since in a large multi-technology transport network comprising tens of thousands of network elements, there is no single view of the entire network for the service providers. With the advent of Software Defined Networking (SDN) and centralized control of the network, automation of service provisioning is possible.
In Transport SDN, a centralized SDN controller with a Path Computation Element (PCE) module can automate the path finding and activation of circuit or services in the transport network. The SDN controller would be able to discover the network topology by communicating with the network elements or Network Management Systems (NMS) using standard or proprietary protocols. It can use the PCE to find paths and again use the same or different set of protocols to perform configuration or activation of circuits or services in the network. Path computation can be provided as a service or API as part of the Open Networking Foundation (ONF) Transport API (TAPI) which can be used to provide bandwidth-on-demand, virtual transport network services and also perform multilayer optimization as mentioned in .
Path computation plays a major role in automating the service provisioning process in large transport networks which uses multiple technologies. Further, each transport technology will have multiple layers (ex. in SDH - VC12, VC3 service and VC4 bearer, in OTN - ODU-j bearer and OTU-k/OCH link/channel) in which connection support will be possible and there would be adaptation from one layer in some technology to another layer in the same or different technology. The transport networks are typically organized as logical topologies which ensures easy maintenance of the network, and better protection and resilience wherever required.
The algorithms to find the best path in a transport network taking into account the multiple technologies and multiple layers within each technology is the focus of this work. This requires consideration of constraints in creation of connections in the layered transport network and adaptation between the layers. Since the transport networks are organized as logical topologies, path computation should also consider them for efficient routing. An auxiliary graph structure which models each technology and layer combination within every network element as nodes and adaptation between them as links is proposed. Similar to the approach followed in , adaptation edges between layers and technologies are created in the auxiliary graph structure. But this work assumes that the chances of same node or edge getting visited multiple times due to adaptation constraints is not present, since in a service provider transport network the chances of encountering such a scenario is very rare due to proper organization of the transport network across technologies and layers. Due to the way traffic cards corresponding to technology adaptation are available in a real transport network element which support only way of adaptation, the chances of a node getting visited multiple times is not practical. The reason for relaxing that condition is that, it leads to path computation taking exponential time as mentioned in . The mechanism for creating logical links and building logical topologies as special edges in the auxiliary graph is also proposed. Methods for weight assignment for the physical links and special edges are proposed followed by algorithms for computing unprotected and link-disjoint path pair (for end-to-end protection). The algorithms consider Shared Risk Link Groups (SRLGs) present in the transport network also. This work is aimed at usage for satisfying service requests (typically long-lived) in a service provider transport network which contains nodes in the order of thousands and not intended for routed networks with millions of nodes.
Ii Background and Related Work
Ii-a Transport Network
A transport network of a typical service provider is deployed such that it uses different transport technologies for different bandwidth and service requirements. It comprises of a national long distance (NLD) network that transports traffic from one city to another. It is typically formed as a mesh network with Automatically Switched Optical Network (ASON) functionality implemented. To cater to the increasing bandwidth demands, optical fibers supporting WDM is deployed in the NLD network. One choice for the NLD network is a OTN mesh network supporting ASON at ODU-k layer which multiplexes multiple OTN signals over WDM. Each city in the country has one or more OTN nodes which aggregates traffic from the city to transport over the NLD network to other cities in the country. Other choices for the NLD network are OTN with OCH ASON (Wavelength Switched Optical Network - WSON) or OTN with Flexgrid which supports ASON at OCH spectrum layer (Spectrum Switched Optical Network - SSON).
The city or metro network is again a WDM network which transports SDH and Ethernet traffic within the city. The traffic to other cities are handed over to the NLD aggregation node which is part of the NLD network. SDH/SONET is used to carry voice and other fixed rate traffic and Ethernet is used to carry variable rate traffic like IP, IP-MPLS and MPLS-TP etc. The SDH metro network is typically organized as multiple core rings at STM-64 rate whose nodes are connected by WDM over optical fibers. Each core ring has multiple aggregate rings typically at STM-16 rate. Each aggregate ring has multiple access rings typically at STM-4/STM-1 rates. The Ethernet metro network is also typically organized as multiple core rings at 10 Gbps rate. Each core ring has multiple aggregate or access rings typically at 1 Gbps rate. In both SDH/SONET and Ethernet metro networks, the aggregate and access rings could be subtended at one node or at two nodes (dual homing rings).
A depiction of the metro network is shown in Fig. 1. It contains a core WDM network with nodes a, b, c, d and e which are also involved in a SDH core ring The figure shows a SDH aggregate ring at STM-16 rate involving the nodes b, f, g and h with b being the aggregate node and a Ethernet aggregate ring at 10 Gbps rate involving the nodes e, o, p and q with e being the aggregate node. The SDH aggregate ring has a access ring at STM-4/STM-1 rates involving the nodes h, i, and j with h being the aggregate node. The Ethernet aggregate ring has a access ring at 1 Gbps rate, that supports MPLS-TP involving the nodes q, r and s with q being the aggregate node. In SDH case, a dual homing ring involving the nodes c, d, k and l with c and d being the aggregate nodes is also shown. This dual homing ring has another dual homing ring involving the nodes k, l, m and n with k and l being the aggregate nodes.
Service provisioning in transport networks is an important process which is performed on a routine basis. With centralized control of the network using Transport SDN, service providers would be able to get a complete view of their network. This would enable path computation for service provisioning using specific applications which implement PCE. Path computation for automatic service provisioning has been extensively studied in certain types of transport networks. In some prior works, the path computation problem has been considered in multi-layer networks.
Ii-B Path Computation in SONET/SDH Networks
When it comes to provisioning in transport networks particularly SONET/SDH networks, links cannot be simply considered to have certain integer units of capacity as the multiplexing structure defined by those technologies has to be followed while provisioning the requested services. The multiplexing structure of SONET is similar to SDH but with different terminologies like Virtual Tributaries (VT) in SONET instead of Virtual Containers (VC) in SDH.
Because of this multiplexing structure of SDH, each link cannot be assumed to have simply some integer units of capacity and the free capacity cannot be obtained simply by subtracting the allotted capacity from the maximum capacity and allocations cannot be made until the free capacity becomes zero. In SDH, higher order containers like VC-4 have to be used to create trails (logical connections) between the source and destination nodes before provisioning any bandwidth between two points.
Path Computation algorithms taking into account the above constraints have been proposed in . The network is treated as a graph containing physical links and logical trails and weights are assigned to them before computing a path with the least cost. Weights are assigned such that the trails are given higher preference to physical links.
In , path computation algorithms for dynamic service provisioning with protection and inverse multiplexing in SONET/SDH networks are proposed. In dedicated protection, standard protection mechanisms defined in SONET/SDH like Multiplex Section Protection (MSP), Multiplex Section - Shared Protection Ring (MS-SPRing) and Subnetwork Connection Protection (SNCP) are taken into account. In shared protection, a minimum information scenario is proposed as a trade-off between maintaining less sharing information and maximizing sharing.
The algorithms to find the best path in a transport network taking into account the different topologies deployed is proposed in  where two types of graphs are considered, a super graph containing the topologies as nodes and common nodes as edges and the other, the base graph containing network elements as nodes and physical links as edges. Path computation is done in the super graph first where the path is found in terms of topologies and then the basic path is found in the graphs representing the topologies. The algorithms proposed consider no protection and dedicated protection. Even though  considers topology constraints, it is applicable for a specific technology (like SDH alone) and not in a multi-technology multi-layer setting.
Ii-C Path Computation in Multi-Layer Networks
A comprehensive survey of the challenges related to network management in multi-layer multi-vendor networks is provided in 
where the earlier work on multi-layer path computation algorithms is mentioned. It classifies the related work based on constraint type (prunable and non-prunable) for path computation and provides the list of references to the proposed solutions to the problem.
In , two models of graph for multi-layer networks, one which models each layer supported in a network element as a node and adaptations between the layers as edges, and the other which models each technology stack as a node and edges between them to represent direct communication or adaptation. The problem of finding paths in multi-layer networks is shown to be NP-complete and path selection algorithms for both the models are proposed. The algorithms consider the scenario where a node and hence an edge could be visited multiple times.
A multi-layer network model is proposed in  which is based on the ITU-T G.805  functional elements. Path finding in this scenario is shown to be a path-constrained problem instead of link-constrained problem and algorithm using breadth-first search is proposed in  to compute the best path using that model.
, modeling each domain in a multi-domain multi-layer optical network as technology matrix and each inter-domain link as technology vector with costs associated with them based on different parameters, is proposed. The path computation problem using this modeling is shown to be NP-hard and path finding algorithms based on the proposed modeling to compute exact paths in a multi-domain network is proposed.
Path computation for multi-layer networks with and without consideration of bandwidth constraints and under QoS constraints is studied in . Polynomial algorithms for path computation without bandwidth constraint is proposed by building a Push Down Automata (PDA) for modeling the multi-layer network, converting it into a Context Free Grammar (CFG) and computing the shortest word generated by the CFG. The same problem with bandwidth constraint is shown to be NP-Complete and heuristic algorithm is proposed.
All the approaches mentioned in this subsection consider computation of only one path between a given pair of nodes and as such support for link-disjoint path pair computation which is required for protection is not mentioned. Also, they do not consider initial and dynamic weight assignment which is required for balancing the utilization in the network. These two aspects are considered in this work.
The summary of contributions of this work where the design decisions made along with the reasons, benefits and challenges are listed in the Table II-C. Path computation in transport networks has to consider the different technologies and the layers supported in each of those technologies. Also, for path computation to be practically used in service provider’s transport network, topologies like ring, dual homing, linear etc. have to be considered so that the provisioned path is easy to troubleshoot and maintain. Troubleshooting refers to the circuit level analysis due to link failures in the network and not just link failures. Ring is a topology where the links form a cycle such that it originates and terminates in the same node which is the aggregation node through which all traffic from/to the ring enters/exits. Dual Homing is a topology which is linear and has two aggregate nodes at the ends of the linear section. In this case, for all traffic from/to the dual homing section, working path has to enter/exit from one aggregation node and the protection path has to enter/exit from the other aggregation node. Mesh is a topology where the edges are arbitrarily connected between the nodes. Within the topology, the shortest path between the involved nodes in the topology would be computed as the working path and the longer path would be computed as the protection path. Path computation also has to consider the different factors like link distance and utilization for efficient usage of the network so that more requests can be provisioned in the future. These aspects are not considered in the earlier works on path computation in multi-technology multi-layer transport networks to the best of our knowledge. In this work, these factors are considered by proposing an auxiliary graph with support for physical, logical, adaptation edges and special edges to consider topologies. While computing path in the multi-layer auxillary graph, any adaptation that is done from one layer to another layer has to be done in the reverse manner in some other node later in the path, so that the traffic part of the service request would really flow in the data plane. Initial and dynamic weight assignment schemes for links are proposed to balance the utilization and accommodate more future requests. Path computation in transport networks have to be done such that the output route is typically able to withstand failures like cable/fiber cut (link failure). This is achieved by computing two paths - working and protection such that they are edge-disjoint. The algorithms for unprotected and protected path computation in the auxiliary graph is proposed and their performance is evaluated for the proposed weight assignment schemes. Links between transport network elements are typically carried over cables which contain more number of such links. When a cable gets cut, all the links get affected and if both the working and protection path for a service happen to pass through the cable, then the service will be impacted and failed. To avoid this, logical grouping of links (physical or logical) are modelled as Shared Risk Link Group (SRLG) where the involved links have a common risk of failure. While finding protection path part of edge-disjoint path pair, the links involved in the SRLGs part of the working path are excluded so that working and protection combination is more resilient to cable cuts.
Iv Auxiliary Graph Construction
For computing a path for service request in a transport network, a graph that captures the important characteristics of the network is necessary. The graph can be built in many ways like having a single graph for the entire network or a hierarchical graph with multiple levels such that each layer or technology is abstracted in the level above.
In this work, a single graph of the entire network is built instead of hierarchical graph with multiple levels since a single graph will give better control of optimizing the network resources. For example, for a service request between two nearby nodes, the path computation in the hierarchical graph would try to find the path in the given layer (ex. SDH VC4) graph. If a direct path is available in that layer graph, it would be used. Else, a path in the same layer graph which could be long and consume more bandwidth would be computed since it would try to use the available edges in that graph to the extent possible. Only when there is no path available in that layer graph, the path computation would try to use the server layer (ex. OTN ODU). Similarly, to satisfy a service request between two farther locations, there would be two different types of paths, one which could involve a large number of same technology edges but with lesser bandwidth availability and the other which involves different technologies but with large bandwidth availability. In this case, it would be better to use the path involving different technologies and larger bandwidth since using the large number of same technology edges might not be always optimal for accepting more future requests. These problems could be avoided in the single graph approach by suitably choosing weights for the edges that reflects distance, bandwidth consumed etc.
The auxiliary graph is constructed as follows:
All the network elements that support different transport technologies are added to the graph such that for each network element, nodes that represent different technology and layer combination that is supported by that network element are added to the graph. Modeling one node for each technology and layer combination is done assuming connection or switching or adaptation flexibility at each layer.
For each network element, edges that represent adaptation are added between nodes corresponding to the supported adaptation type between two technology and layer combination. Typical adaptations that are possible in a transport network are SDH/SONET/Ethernet logical link over OTN (ODU-j) or WDM (OTU-k), OTN (ODU-j) over WDM (Lambda Channel or FlexGrid Spectrum), Ethernet Service over MPLS Tunnel, MPLS Tunnel over Ethernet link etc.
All the physical links are added as edges between the nodes.
For each physical link that spans across technologies, a trace of the physical links starting from the source port of the link is made to check whether it terminates in a destination port of another inter-technology link. If the tracing is successful, then a logical link between the source and destination node corresponding to the layer in the network element is added to the graph. The physical and logical links in a network element connect the node corresponding to the layer in which the link is operating.
All the logical topologies in the network are taken and considered for addition into the graph with the following steps:
If the topology type is ring and an aggregate node (node through which traffic passes to the ring) exists for that topology (not a core ring), then special edges are added from each node in that topology to the aggregate node with self-protected flag set to true. Self-protected flag is used to indicate that the edge corresponding to the topology is completely protected and hence working and protection paths have to be found within the topology.
If the topology type is ring and no aggregate node exists for that topology (core ring), then full mesh of edges between every pair of nodes in that topology are added with self-protected flag set to true.
If the topology type is dual homing, a special hub node is added to the graph and special edges are added from each node in that topology to the special hub node. From the special hub node, two edges to the two aggregate nodes for that dual homing topology are added to the graph.
If the topology type is mesh, then the physical or logical links between the nodes in that mesh topology are already added in the graph.
The multi layer graph corresponding to a part of the Metro Network given in the previous section is shown in Fig. 2. To satisfy a service request between network elements s and l for a SDH service layer rate VC12, the path that has to be computed should involve the network elements s, r, q, e, d, l. One of the path that has to be computed is S-s-s, S-e-s, S-m-t, S-e-l, R-e-l, R-m-t, R-e-s, R-e-l, Q-e-l, E-e-l, E-e-s, E-s-s, E-s-l, E-o-d, E-w-c, E-w-l, D-w-l, D-w-c, D-o-d, D-s-l, L-s-l, L-s-s. This represents a path such that the given SDH service is carried over a Circuit Emulation Service (CES) between the network elements s and e and then as a SDH service between e and l. The CES is adapted over a MPLS Tunnel between s and r. The SDH service between e and l is adapted over OTN which is carried by a optical channel (OCH) over the WDM link between e and d. Finally, the SDH link between d and l is used.
In the auxiliary graph structure, special edges are created to represent topologies in the network. When there are parallel topologies like rings between a set of nodes in the network, the working and protection paths should be computed such that the sub-paths belong to the same set of topologies. This would help the operator in easy maintenance of circuits and also reduce the problem troubleshooting time during failures. The topology name could be set as an attribute of every physical or logical link in the network and during auto-discovery of the network, the topologies could be derived and the auxiliary graph construction would use that to build the topologies as special edges.
For the core ring (Fig. 3) with no aggregate node involving the nodes a, b, c, d and e, full mesh of special edges are added between every pair of nodes and the special edges are shown as dashed lines. This is to ensure that the core ring is completely utilized during path computation. The normal links are shown as solid lines indicating the actual connectivity.
For the aggregate ring (Fig. 4) involving the nodes b, f, g and h with b being the aggregate node, special edges are added from every node other than the aggregate node to the aggregate node b and the special edges are shown as dashed lines. This is to ensure that the aggregate ring is completely utilized during path computation. The normal links are shown as solid lines indicating the actual connectivity.
For the aggregate ring (Fig. 5) involving the nodes c, d, k and l with c and d being the aggregate nodes, special edges are added from every node other than the aggregate nodes to a special node hub and special edges are added from hub node to the aggregate nodes c and d and the special edges are shown as dashed lines. This is to ensure that the dual homing ring is completely utilized during path computation. The normal links are shown as solid lines indicating the actual connectivity.
Iv-a Logical Link Creation
Logical links are bearers in some particular layer or technology which rides over one or more physical links and/or logical links in the server layer or technology. Logical links can multiplex and carry traffic from the client layer or technology. Logical links are created in the following two scenarios:
When there is some multiplexing or aggregation being done by means of server layer adaptation over a series of nodes. For example, in SDH, VC4 is a multiplexing layer for many VC12, VC3 etc. signals and in WDM, OTU is an aggregation layer to which multiple ODU signals can be mapped. In this case, the logical link is between the terminating ports adjacent to the nodes at which those adaptation is performed. This corresponds to the adaptation between layers within a technology.
When there is involvement of inter technology physical links in the end nodes which are used to map traffic from one technology to another technology. In SDH or Ethernet over WDM, the SDH or Ethernet port is connected by a physical link to a corresponding transponder port for that technology and rate for mapping into a multiplexed WDM signal. In this case, the logical link is between the ports connected by inter technology links. This corresponds to the adaptation across technologies.
Iv-B Weight Assignment
In this section, the mechanism for assigning weights for different types of edges in the graph is described. Weight assignment is crucial since the suitable paths for service requests can be found by different weight functions for different types of edges. The initial weight setting mechanism for different types of edges is described as follows:
Physical Links : The initial weight for physical links has to be a function of link distance and maximum capacity that could be supported on that link which is decided by the link type and link rate. Link distance is used to avoid longer paths in the network. Maximum capacity is used to give preference for links that support more capacity.
Setting the initial weight for physical links as a function of link distance and capacity of the link gives a method for getting optimal paths for provisioning service requests that reduces the overall utilization of the network. This is achieved by the weight assignment strategy proposed in the below equation:
where is the weight of the physical link , is the link distance, is the maximum link distance across the network, is the maximum capacity supported on the link , is the maximum capacity of any link across the network and and are values between 0 and 1 such that .
The above weight assignment strategy achieves normalization of weights for physical links across the network based on their distance and capacity.
Logical Links : The initial weight for logical links has to be a function of the sum of the underlying physical or logical link weights so that it reflects both the link distance and the maximum capacity of the physical or logical links involved. It also has to be less than the total sum of the weights of the physical or logical links involved so that this logical link is preferred to the series of the physical or logical links involved. This is specified in the below equation:
where is the weight associated with the logical link , is the weight associated with the physical or logical link involved, is set of links on the path through which this logical link is established, is some value between 0 and 1.
Special Edges for ring topology : The initial weight for the special edges from each node in that ring topology to the aggregate node of the ring topology has to be a function of the sum of the weights of the physical or logical links involved in forming the ring topology. It also has to be less than the total sum of the weights of the physical and logical links involved in the ring so that the special edge is preferred over the series of links for reaching the aggregate node. This is specified in the below equation:
where is the weight associated with the special edge between each node in the ring to the aggregate node, is the weight associated with the physical or logical link involved in forming the ring, is set of links on the ring topology, is some value between 0 and 1.
Special Edges for dual homing topology : The initial weight for the special edges from each node in that dual homing topology to the hub node of the dual homing topology has to be a function of the sum of the physical or logical links involved in forming the dual homing topology. It also has to be less than the total sum of the weights of the physical and logical links involved in the dual homing ring so that the special edge is preferred over the series of links for reaching the aggregate nodes. This is specified in the below equation:
where is the weight associated with the special edge between each node in the dual homing ring to the hub node, is the weight associated with the physical or logical link involved in forming the dual homing ring, is set of links on the dual homing ring, is some value between 0 and 1. For the special edges between the hub node and the two aggregate nodes in the dual homing ring, the initial weight can be zero since the involved link weights are accounted in the special edges from each node to the hub node.
Dynamic Weight Assignment
Using only the initial static weight for provisioning could result in blocking of future service requests due to continuous usage of capacity in that part of the network. Dynamic weight assignment is required to distribute the capacity requirements in the network instead of over-utilizing the same part of the network. Following three different dynamic weight assignment mechanisms are proposed and evaluated in this work.
1. Piece-wise Linear Function based on Utilization (PLF)
Based on the current utilization of links in the network, weights have to be dynamically varied so that links with lesser utilization are preferred over links with high utilization. The following is one of the dynamic weight assignment strategy which is a piece-wise linear function based on the approach proposed in :
If then .
Else if then
Else if then
Else if then
In the above scheme, refers to the current utilization of a link, and refer to the initial weight and dynamic weight respectively for a link. refers to the proportional increase in weight based on the current utilization of a link.
2. Logarithmic Function based on Distance and Utilization (LF)
This dynamic weight function is based on two parameters of a physical link namely distance and utilization. It is based on the Hop Count, Total and Available Wavelength (HTAW) weight assignment proposed in . It computes the weight as a negative logarithm of utilization since the weights are additive in nature.
In the above scheme, is the dynamic weight of the physical link , is the initial weight of the physical link , is the link distance, is the free capacity in the link , is the maximum capacity supported on the link and and are values between 0 and 1 such that .
3. Weighted Geometric Mean of Distance and Utilization (WGM)
3. Weighted Geometric Mean of Distance and Utilization (WGM)
This dynamic weight function is based on two parameters of a physical link namely distance and utilization where the weighted geometric mean of link distance and current utilization is computed. Weighted geometric mean is used since it can be used to combine the two parameters of a link namely distance and utilization without normalizing them.
In the above scheme, is the dynamic weight of the physical link , is the initial weight of the physical link , is the link distance, refers to the current utilization of that link and and are values between 0 and 1 such that .
V Path Computation Algorithm
Path computation in multi-layer networks is shown to be NP-Complete in  and . Hence, heuristic path computation algorithm is proposed using the proposed auxiliary graph structure. The algorithm takes as input the source and destination nodes which are obtained from the corresponding network elements and the layerRate for which the path is required. For example, to compute the path between two network elements for a SDH VC12 layerRate, the nodes corresponding to SDH Technology and Service layer will be selected. The algorithm also takes as input the pathType which could be unprotected or link-disjoint path pair (fully protected), the number of paths (N) required and the layerRate and capacity (in case of Ethernet). Any request for a path for some service would be associated with a bandwidth or capacity which has to be available in all the edges of the computed path. For PDH or SDH like TDM interface port, at the end nodes of the service request, the bandwidth or capacity is generally specified as layerRate (ex. VC12 in SDH means 2 Mbps). This is taken as the input to path computation since even though the requested capacity may be available in a link but the capacity as a single rate container may not be available. For example, capacity equivalent to VC3 in SDH (45 Mbps) may be available but not as a single VC3 continer.
Even though competitive analysis is generally used to analyze online algorithms, it has not been used in this work since topology constraints (working and protection path follow same set of topologies) which is a practical requirement in service provider networks to satisfy customer service requests, initial and dynamic weight assignment for links that is based on their distance and utilization, are considered. Hence, in such a complex practical setting which is specific to transport networks, computing an optimal offline algorithm for comparing with the online version for competitive analysis is not practical.
The algorithm for path computation (Algorithm 1) takes as input the source and destination nodes, the path type which could be unprotected path or dedicated protection path (LPP), the number of paths to be found - N, the layer rate for the requested service (ex. VC12, Ethernet Bandwidth etc.) and the capacity in Mbps if the layer rate is Ethernet Bandwidth. It removes the edges which do not have enough capacity to meet the requested capacity. It calls the algorithm for finding the unprotected path or dedicated protection path which are outlined in Procedure 2 and Procedure 3 respectively. These algorithms return the list of paths computed depending on the number of paths to be found, N. If the number of paths requested is 1, then the best path is given to the Procedure 5 to check and create logical links. The requested capacity for the given layer rate is provisioned in the logical links created and the other physical and logical links in the path found and the available capacity is subtracted from the provisioned capacity in those links. If the number of paths requested is greater than 1, then the user has to select the path to be used and the logical link creation for that path, provisioning the requested capacity in that path and the available capacity adjustment in that path has to be invoked. Finally, the deleted edges are restored back to the graph and the list of paths found is returned by the algorithm.
The algorithm for unprotected path computation (Procedure 2) takes as input the source and destination nodes, and the number of paths to be found - N. It removes the edges including special edges which are self-protected since the requirement is to find unprotected path so that the protection part of the self-protected edge is not wasted. If the number of paths requested is 1, the algorithm calls the Dijkstra shortest path algorithm to find the shortest path between the given source and destination nodes. Else, it calls the Yen’s K Shortest path algorithm  to find the best N paths between the given source and destination nodes. Finally, the deleted edges are restored back to the graph and the list of paths found is returned by the algorithm.
Computational Complexity: The computational complexity of Procedure 2 in the average case is if is equal to 1 and if is not equal to 1 where is the number of paths requested, and are the number of nodes and edges in the auxiliary graph. If is equal to 1, then the complexity of the algorithm is the complexity of Step 3 which is the complexity of the Dijkstra’a shortest path algorithm. If is not equal to 1, then the complexity of the algorithm is the complexity of Step 7 which is the complexity of the Yen’s K Shortest path algorithm.
The algorithm for protected path computation (Procedure 3) takes as input the source and destination nodes, and the number of paths to be found N. The first step is to remove all the involved edges in all the topologies since special edges only have to be considered during LPP computation for topologies. It invokes the Yen’s K Shortest path algorithm  to find the N working paths between the given source and destination. The algorithm executes the number of paths found times iteratively. In the iteration, protection path is found for segments in the working path that are not self-protected. It removes the edges in the working path that are not adaptation edges and the edges involved in the same SRLGs for the edges in the current working path. It breaks the current working path into segments that are self-protected or not without considering adaptation edges. For each segment that is not self-protected, the Procedure 2 is invoked by calling the segment start and end nodes as arguments and the number of paths to be found as 1 to find the link-disjoint protection path for that segment. If protection path is found for all the unprotected segments, then complete protection path is formed by assembling the protection segments found and the working and protection paths are added to the path list. Else, the algorithm continues to the next iteration. At the end of all the iterations, the path list is sorted based on the combined cost of the working and protection paths. The sorted path list is finally returned by the algorithm.
Computational Complexity: The computational complexity of Procedure 3 in the average case is where is the number of paths requested, and are the number of nodes and edges in the auxiliary graph. The complexity of the Yen’s K Shortest path algorithm used in Step 1 is . The outer for loop in the algorithm is executed N times. In each iteration of the outer for loop, the complexity of Step 7 is and so the inner for loop is executed times. In each iteration of the inner for loop, the complexity of Step 10 is which is the complexity of the Procedure 2 with N set as 1. Hence the complexity of the outer for loop is and therefore the complexity of the algorithm which is the sum of the complexities of Step 1 and the outer for loop is .
During the path computation using Dijkstra’s or Yen’s algorithms in the above given procedures, adaptation edges have to be properly explored. For example, to satisfy a Ethernet service over SDH link, the Ethernet service has to be adapted into SDH service which can be carried over the SDH link. The SDH traffic may in turn get adapted into OTN. While leaving the OTN part of the network, the OTN node may have capability to terminate both SDH and Ethernet traffic. Since in our example, SDH traffic was carried over OTN, OTN to SDH adaptation edge has to be used instead of OTN to Ethernet adaptation edge while leaving the last OTN node.
To ensure selection of the correct adaptation edges during path computation, the Procedure 4 is used. A stack of technology and layer combination is maintained at each node during path computation. The stack at the source node is initialized to null. While exploring each edge during path computation, if the edge is an adaptation edge, then the technology and layer component of the node at the top of the stack, the current node and the adjacent node are set to three different variables. If the stack is null, then the technology and layer component of the current node is pushed onto the stack. Else, if the technology and layer component of the current and adjacent nodes correspond to server to client adaptation (ex. OTN to SDH) and the technology and layer component at the top of the stack equals that of the adjacent node, then stack is popped else the edge exploration is returned as false to avoid incompatible adaptation edge to be explored. If the technology and layer component of the current and adjacent nodes correspond to client to server adaptation (ex. SDH to OTN), then the technology and layer component of the current node is pushed onto the stack. Finally, the algorithm returns true to explore the current adaptation edge.
During path computation for a service request from one technology and layer, inter-technology links could be used which results in creation of logical links. The procedure to check and create logical links from the path found is outlined in Procedure 5. Similar to the Procedure 4 that explore edges during path computation, this algorithm also maintains a stack to track of client to server and server to client adaptations. Whenever the client to server adaptation (ex. SDH to OTN) is encountered, it pushes the client technology and layer combination onto the stack. When the corresponding server to client adaptation is encountered, it pops the stack and the logical link is created between the client technology and layer at the corresponding nodes. While creating the logical link, the capacity corresponding to the logical link is provisioned in the server layer links and the available capacity in the server layer links is adjusted.
Vi Performance Results
The performance of the described algorithms using the weight assignment schemes proposed are evaluated and the results obtained are provided in this section. A typical service provider network scenario is considered for performance evaluation. The network consists of national long distance (NLD) portion with 15 locations for nodes and 23 links connecting them. The links support WDM with 80 channels capacity where each channel can carry OTN signal of OTU-2 rate. The OTU-2 signal carry SDH or Ethernet traffic.
In each location part of the NLD network, a metro network is formed. The metro network in a location contains a metro core mesh network with 4 nodes and links connecting every pair of nodes that support WDM with 40 channels. Two aggregate normal rings with 2 nodes and 2 links each of STM-64 and 10 GE rate are formed and are connected to the metro core node in that location using 1+1 protected links of STM-64 and 10 GE rate. In each node of the aggregate ring, normal access rings with 2 nodes and 2 links each of STM-16 and GE rate are formed. Also, two aggregate dual homing rings with 4 nodes and links each of STM-64 and 10 GE rate are formed and are connected to the metro core node in that location using 1+1 protected links of STM-64 and 10 GE rate. In each node of the dual homing aggregate ring, normal access rings with 4 nodes and links each of STM-16 and GE rate are formed.
In each location, random aggregate rings with already used 4 random nodes and links each of STM-64 and 10 GE rate are formed and are connected to the metro core node in that location using 1+1 protected links of STM-64 and 10 GE rate. The links between metro core node and the NLD node in every location are formed using 1+1 protection of STM-64 and 10 GE rate.
This network formation resulted in 2955 network elements which in turn resulted in 10455 nodes (due to creation of nodes for each technology and layer combination within every network element), 480 hub nodes for dual homing topologies and 10380 adaptation edges, 5393 physical links and 3540 special edges for a total of 19313 edges in the complete auxiliary graph.
To evaluate the performance for finding LPP paths, 500 service requests between randomly selected source and destination nodes in the above network are generated. The service requests are generated at SDH layer with rate VC12, VC3 and VC4 and Ethernet layer with random capacity between 1 to 200 Mbps. The process is executed such that the value for is varied between 0.0 to 1.0 in increments of 0.1 such that the value for is set as and the value for and are varied between 0.5 to 0.9 in increments of 0.2.
The tests were performed on a machine with 4-core Intel i5 processor (3 GHz) and 64 GB RAM. For each combination of , and , the weighted number of requests accepted , the total capacity utilized in the complete network, the total number of logical links that are created and the weighted link utilization are found. Weighted number of requests accepted is used since the bandwidth of each service request accepted is not the same and hence the requests accepted are weighted by their bandwidth requirement. For calculating the weighted link utilization, the links in the network are categorized into four types based on their percentage utilization; links utilized less than or equal to 25%, links utilized greater than 25% and less than or equal to 50%, links utilized greater than 50% and less than or equal to 75% and links utilized greater than 75% and less than or equal to 100%. The number of links falling under each category is multiplied by the factors 1, 2, 3 and 4 (to reflect their relative utilization) for the above four types respectively resulting in the weighted link utilization.
The time taken for unprotected path computation in the auxiliary graph for the mentioned network was 400 milliseconds on average for each service request with a maximum of 900 milliseconds. For the LPP service requests, the time taken was 15 seconds on average with a maximum of 40 seconds.
The results obtained from one of the iterations is shown in the figures Fig. 6, Fig. 7 and Fig. 8 (legends for the individual figures (b), (c) and (d) are same as that of figure (a) and are omitted for better visual clarity) for the three dynamic weight assignment mechanisms proposed. For each dynamic weight function, the four parameters mentioned earlier are evaluated. From the results in the graphs, the performance of PLF weight function is better in terms of more weighted number of requests accepted, lesser total capacity utilized, lesser total number of logical links created and lesser weighted link utilization compared to the WGM weight function which is in turn better compared to the LF weight function. For the weighted number of requests accepted, the difference in obtained values in not that significant whereas for the other three parameters the difference is comparatively more.
The combined performance of the four parameters is then evaluated by computing the average of the other three parameters relative to the weighted number of requests accepted. This combined performance is computed as follows:
where represents the weight approach (PLF, LF, WGM), represents the weighted number of requests accepted, represents the total capacity utilized, represents the total number of logical links created, represents the weighted link utilization for the combination of , , , respectively and represents the maximum of total capacity utilized, represents the maximum of total number of logical links created and represents the maximum of weighted link utilization across all values of , , , respectively. The value obtained is averaged across all values of , , , individually and is shown in the Table I. The lower value indicates better performance and it can be observed that PLF performs better than WGM which is in turn better than LF. It can be observed that for values of between 0.3 and 0.5, the performance is better (0.5 being the best) for the four parameters considered. This clearly shows that a combination of link distance and link capacity for weight assignment gives better results for LPP computation. Also, among the three values 0.5, 0.7 and 0.9 for and , for the four parameters considered, there is not much significant difference among them (0.5 gives the lowest value and better performance) and it can be taken that the logical link weight and the special edge weight has to be lesser than the sum of the involved link weights.
In this paper, the problem of path computation for service provisioning in transport networks is addressed. An auxiliary graph structure that models the different characteristics of the transport network using different technologies is proposed. Adaptation of traffic from one technology and layer to another is modeled as adaptation edges in the auxiliary graph. Since the transport networks are organized as topologies like ring, dual homing etc. special edges that model these characteristics are created in the auxiliary graph. Weight assignment for links such that both link distance and link capacity are considered, is proposed. Dynamic weight assignment for links that consider the current utilization of the links in the graph is also proposed to prefer lesser utilized links over highly utilized links.
Heuristic path computation algorithms for finding unprotected and link-disjoint path pair over the auxiliary graph structure using the proposed weight assignment schemes are described. Support for creating logical links upon encountering inter-technology boundary is provided so that future service requests could use them. The algorithms and the weight assignment schemes are evaluated and from the results obtained it can be observed that the combination of link distance and link capacity for initial weight assignment performs better when compared to consideration of only one of those factors. Also, it is found that the dynamic weight function PLF performs better when compared to the function LF which in turn is better than the function WGM. Studying the behaviour of the proposed algorithm over time and optimization of the network with services provisioned is planned as a future work.
-  Generic functional architecture of transport networks. ITU-T Recommendation G.805, Mar. 2000.
-  N. M. Bhide, K. M. Sivalingam, and T. Fabry-Asztalos. Routing mechanisms employing adaptive weight functions for shortest path routing in optical WDM networks. Photonic Network Communications, 3(3):227–236, 2001.
-  F. Dijkstra, B. Andree, K. Koymans, J. Van Der Ham, P. Grosso, and C. de Laat. A multi-layer network model based on ITU-T G. 805. Computer Networks, 52(10):1927–1937, 2008.
-  F. Dijkstra, J. van der Ham, P. Grosso, and C. de Laat. A path finding implementation for multi-layer networks. Future Generation Computer Systems, 25(2):142–146, 2009.
-  F. Iqbal, J. van der Ham, and F. Kuipers. Technology-aware multi-domain multi-layer routing. Computer Communications, 62:85–96, 2015.
-  C. Janz, L. Ong, K. Sethuraman, and V. Shukla. Emerging transport SDN architecture and use cases. IEEE Communications Magazine, 54(10):116–121, Oct. 2016.
-  F. Kuipers and F. Dijkstra. Path selection in multi-layer networks. Computer Communications, 32(1):78–85, 2009.
-  M. L. Lamali, N. Fergani, J. Coheny, and H. Pouyllau. Path computation in multi-layer networks: Complexity and algorithms. In Proc. IEEE INFOCOM, pages 1–9, Apr. 2016.
-  R. Madanagopal, N. U. Rani, and T. A. Gonsalves. Path computation algorithms for dynamic service provisioning in SDH networks. In IFIP/IEEE Symposium on Integrated Management (IM), pages 206–215, May 2007.
-  R. Madanagopal, N. U. Rani, and T. A. Gonsalves. Path computation algorithms for dynamic service provisioning with protection and inverse multiplexing in SDH/SONET networks. IEEE/ACM Transactions on Networking, 18(5):1492–1504, Oct. 2010.
-  A. Martinez, M. Yannuzzi, V. Lopez, D. Lopez, W. Ramirez, R. Serral-Gracia, X. Masip-Bruin, M. Maciejewski, and J. Altmann. Network management challenges and trends in multi-layer and multi-vendor settings for carrier-grade networks. Communications Surveys & Tutorials, IEEE, 16(4):2207–2230, 2014.
-  M. Ramachandran and K. M. Sivalingam. Topology based path computation for provisioning in transport networks. In International Conference on Communication Systems and Networks (COMSNETS), pages 166–173, Jan. 2017.
-  D. Xu, M. Chiang, and J. Rexford. Link-state routing with hop-by-hop forwarding can achieve optimal traffic engineering. IEEE/ACM Transactions on Networking, 19(6):1717–1730, Dec. 2011.
-  J. Y. Yen. Finding the k shortest loopless paths in a network. Management Science, 17(11):712–716, 1971.