WO2017101981A1 - A method for constructing srlg-disjoint paths under qos constraints - Google Patents

A method for constructing srlg-disjoint paths under qos constraints Download PDF

Info

Publication number
WO2017101981A1
WO2017101981A1 PCT/EP2015/079776 EP2015079776W WO2017101981A1 WO 2017101981 A1 WO2017101981 A1 WO 2017101981A1 EP 2015079776 W EP2015079776 W EP 2015079776W WO 2017101981 A1 WO2017101981 A1 WO 2017101981A1
Authority
WO
WIPO (PCT)
Prior art keywords
path
links
bounds
weight map
nodes
Prior art date
Application number
PCT/EP2015/079776
Other languages
French (fr)
Inventor
Ioannis STEIAKOGIANNAKIS
Paolo Medagliani
Georgios Paschos
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Priority to PCT/EP2015/079776 priority Critical patent/WO2017101981A1/en
Publication of WO2017101981A1 publication Critical patent/WO2017101981A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/128Shortest path evaluation for finding disjoint paths
    • H04L45/1283Shortest path evaluation for finding disjoint paths with disjoint links

Definitions

  • the present invention relates to a method for computing a primary path for connecting a source and a destination in a network, and a controller for performing the method on the network.
  • the present invention also relates to a computer-readable storage medium storing program code, the program code comprising instructions for carrying out such a method.
  • SDN software-defined networking
  • PCE path computation element
  • the objective of the present invention is to provide a method and a controller for computing the shortest primary path and optionally the shortest backup path both respective to the given requirements.
  • it is an objective to find a pair of paths that meet given quality of service (QoS) constraints optimizing the solution for a primary path and a backup path and providing the solution within a given time frame as the controller needs to quickly provide the roots.
  • QoS quality of service
  • a first aspect of the invention provides a method for computing a primary path for connecting a source and destination in a network of a plurality of nodes, comprising the following steps: receiving a source node s, a destination node d, a list of intermediate nodes 11 to IN mandatory for the primary path and bounds for Quality of Service (QoS) metrics Di,i to DM, l for the primary path;
  • QoS Quality of Service
  • the method of the first aspect provides a primary path that (i) meets the given QoS constraints and, (ii) each path transverses a list of nodes mandatory for this path.
  • the metaheuristic algorithm By the metaheuristic algorithm, the parameters of the network graph or the weight map may be changed so that the QoS metrics can be met in the next iteration process. If necessary, the metaheuristic algorithm can be run several times until a primary path is found that respects the bounds of the QoS metrics.
  • the steps of the running metaheuristic algorithms to modify the network graph or the weight map includes running an algorithm, comprising using Lagrange multipliers.
  • Using Lagrange multipliers allows to find an optimized (shortest) primary path under several constraints to meet the QoS metrics for the primary path in an optimized manner.
  • the QoS metrics may include several constraints to which the primary path can be optimized.
  • the step of running a metaheuristic algorithm to modify the weight map includes: computing Lagrange multipliers for the QoS metric, in particular one Lagrange parameter for each constraint of the QoS metric;
  • the steps of running the metaheuristic algorithm to modify the network graph or the weight map includes running a local search algorithm. This allows to find a local minimum for the primary path with less computing time.
  • the weighted map includes one or more of the cost of the links, the physical delay of the links or the physical distance of the links.
  • the weighted map includes one or more of the cost of the links, the physical delay of the links or the physical distance of the links.
  • method further comprises computing a back-up path for connecting the source and destination in the network of the plurality of nodes comprising the following steps: updating the weight map such that the weights of the links between the nodes of the pri- mary path and the links in the same shared risk link groups, SRLGs, with them are increased;
  • the backup path can be constructed by a similar method as for the primary path, especially analogously to any one of the first to sixth implementation of the first aspect. However, before constructing the backup path, the weight map is updated to increase the weight of the links used for the primary path and the links in the same SRLGs with them.
  • the backup path will be maximally disjoint from the primary path such that the primary and backup paths belong to different shared link risk groups (SRLG) or, if this was not possible, the paths are maximally disjoint which means that the number of common links sharing the same risk, i.e. belonging to the same SRLG, between the primary path and backup path is minimized.
  • the same method steps for running the metaheuristic algorithm as disclosed for the primary path above can be used also for the backup path.
  • the method further comprises checking whether the primary path and the backup path are fully disjointed, and if not, keeping the backup path fixed and seeking for another primary path by identifying the shared risk link group with the largest number of common links between primary and backup path, labelling this group, restoring the weight map, and modifying it by increasing the weight of the links of the backup path and the links in labelled group.
  • the SRLG with the largest number of common links is first identified and labeled as SRLG*.
  • the method comprises updating the weight map and generating at least one second backup path analogously to the steps for creating the backup path in the method of the first aspect with mandatory nodes Qi to QR and bounds for QoS metrics Di,3 to Dw,3.
  • the steps of calculating the shortest partial path on the segment Li,i and/or on the segment Lj,2 includes a constrained shortest path algorithm that satisfy one or more constraints on each segment Li,i and/or Lj, 2 .
  • the constrained shortest path algorithm allows to find the shortest path in each of the segments of the primary and/or secondary paths to minimize the total length of the primary and/or secondary paths with respect to the given weight map.
  • the bounds Di,i to DM,I and/or Di,2 to Dv,2 comprises an additive metric, in particular delay, number of hops and/or physical distance, of the primary and/or backup path.
  • the bounds Di,i to DM,I and/or Di,2 to Dv,2 may consider any parameters to which the primary and/or backup paths shall be optimized. Short delay, a minimum number of hops and short physical distance are considered to optimize the time and the reliance for transporting the packets in the network.
  • the step of checking whether pi and/or p2 respects the bounds within a given threshold in particular comprises: checking whether the sum of bounds Di,i to DM,I on the links of pi and/or the sum of bounds Di,2 to Dv,2 on the links of p2 is below the given threshold.
  • This implementation allows to define any threshold even down to zero to define a minimum tolerance of the bounds to be met.
  • the threshold in the step on checking whether pi and/or p2 respect the bounds is increased, if the condition cannot be met for a predetermined number of times running the loop for calculating pi and/or p2. If the threshold defining the tolerance to meet the bounds was chosen too small, it might happen that the primary path and/or a backup path cannot be found that meets these bounds within the given threshold. Therefore, it is useful to implement an increasing of the threshold if after running the loop for calculating pi and/or p2 several times such that the bounds within the newly defined threshold can be met.
  • a second aspect of the invention includes a controller in a network configured to perform the method of the first aspect or any of the previous implementations of the first aspect.
  • a third aspect of the invention refers to a computer program product including instructions that, when running on a computer, perform a method of the first aspect of any of the implementations of the first aspect.
  • FIG. 1 is a block diagram illustrating a method in accordance with an embodiment of the pre sent invention.
  • FIG. 2 is a block diagram illustrating a method in accordance with an embodiment of the pre sent invention.
  • FIG. 3 shows an example of a network with may be used for embodiments of the invention.
  • FIG. 4 is an example of a network with eight nodes indicating the primary path and the backup path.
  • FIG. 1 shows a method for computing a pair of a primary and a backup path connecting a source and destination in a network of a plurality of nodes which may be performed by a ⁇ trailer of a network, such as the SDN controller shown in FIG. 3.
  • step SO the controller receives a source node s, a destination node d, a list of intermediate nodes 11 to IN mandatory for the primary path, a list of intermediate nodes Ji to JK mandatory for the backup path, and bounds for Quality of Service (QoS) metrics Di,i to DM, I for the primary path and Di,2 to Dv,2 for the backup path.
  • step S2 the controller computes a shortest partial path on the segment Li,i that has the min- imal total weight of the sum of weights on links between the nodes on said partial path based on the given weight map of the links in a given topology of the network.
  • the computing may be made by a Dijkstra algorithm.
  • step S3 the controller increases the weights of the links admiring on nodes belonging to Li. Thus, it can be avoided that the same nodes will be visited when computing the next partial path.
  • step S5 the controller concatenates the partial paths of the segments Li,i to LN+I,I to create pi.
  • step S6 the controller checks whether pi respects the bounds Di,i to DM,I within a given threshold, and if the bounds are respected, the controller takes pi as the primary path, updates weights of the links in pi and the links in the same SRLGs with them, in step S8, the controller continues with creating K+l segments of the next but one step below. If at least one of the bounds is not respected, the controller may optionally continue with step S7.
  • step S7 the controller runs a metaheuristic algorithm to modify the weight map, such as a Lagrange algorithm described below, and jumps back to the step S2.
  • step S8 the controller updates the weight map such that the weights of the links between the nodes in the primary path and the links in the same SRLGs with them are increased.
  • the backup path is maximally disjoint from the primary path.
  • step S 10 the controller computes a shortest partial path on the segment Lj, 2 that has the minimal total weight of the sum of weights on links between the nodes on said partial path based on the given weight map of the links in the given topology of the network, in particular by the Dijkstra algorithm.
  • step SI 1 the controller increases the weights of the links insisting on nodes belonging to Li-
  • step S13 the controller concatenates the partial paths in the segments L L J2 to LK+I,2 to create
  • FIG. 2 shows a method of an algorithm to update the weight map if after step S6 or S 14 the bounds for the quality of service metrics Di,i to DM,I or D L J2 to Dv,2 cannot be met.
  • the method includes in step S20 computing of Lagrange multipliers for each constraint of the QoS metric, and updating the weight map as the sum of the current weight map and the QoS metric weighted by the Lagrange multipliers.
  • a new minimum weighted path is calculated on the basis of the updated weight map the same steps S2 to S5 or S 10 to S13 as disclosed in FIG. 1.
  • the controller checks whether the Lagrange multipliers include a negative multiplier. Negative means ⁇ 0. If not, the method in FIG. 1 may continue with step S2 to calculate the minimum weighted path based on the updated weighted map. Otherwise, the sought path is found and the method in FIG. 1 can continue with either step S8, if a primary path was sought, or terminate, if a backup path was sought.
  • the method may include running a local search algorithm.
  • a local search algorithm is easy to implement and needs less computing time in comparison to the algorithm using Lagrange multipliers.
  • using Lagrange multipliers has an advantage when the QoS metrics includes a larger number of bounds.
  • the weighted map is used in the embodiment of FIG. 1 or for any other implementation of the present invention, may include the cost of the links, the delay of the links and/or the physical distance of the links of the nodes. Further parameters of the links may also be considered in accordance with the invention.
  • a further embodiment of the invention may also include further steps for computing a second or more backup path analogously to the steps S8 to S15 in FIG. 1.
  • Each backup path may include a different number of mandatory nodes as well as a different number of bounds of the QoS metrics.
  • the method steps S6 and/or S14 may include checking whether a sum of bounds for the pri- mary path and/or any backup path is below a given threshold and the method may further include the step of increasing the threshold if the condition cannot be met for several times.
  • a termination condition in the loop from S2 to S7 and S 10 to S 15, respectively, is ensured.
  • the primary path and the backup path as computed in accordance with the embodiments of the invention ensure that both paths are maximally disjoint. Ideally, they are totally disjoint. However, if the primary and the backup paths are not totally disjoint, further embodiments of the invention provide that the SRLG with the largest number of common links is first identified and labeled as SRLG*.
  • the weights of the links of the primary path that do not belong to SRLG* and the links in the same SRLGs with them are restored in the weight map, the backup path becomes the primary path and a new backup path is computed.
  • the degree of disjoining the primary and backup paths can further be increased.
  • a controller in a network configured to perform the method of FIG. 1 is shown in FIG. 3.
  • the SDN controller is adapted to perform the method of FIG. 1 upon a flow request from a router or an application or via a south or north bridge interface.
  • FIG. 4 an example of a network having eight nodes 0, 1, 2, 3, 4, 5, 6 and 7 is shown.
  • the nodes are connected by links.
  • Each link is represented by its capacity (M), its delay (ms) and its cost ( €).
  • M capacity
  • ms delay
  • cost
  • a primary path and a backup path shall be computed from the source node 0 to the destination node 6.
  • the QoS metrics for the primary path include a maximum delay of 15ms and a maximum length of 4 hops.
  • nodes 2 and 4 shall be mandatory nodes of the primary path.
  • the QoS metrics for the backup path is not restricted, i.e. the maximum delay and the maximum length are infinite.
  • the backup path shall include only node 2 as a mandatory node.
  • the primary path will be calculated: 0 ⁇ 2 ⁇ 3 ⁇ 4 ⁇ 6.
  • the backup path will be calculated as: 0 ⁇ l ⁇ 3 ⁇ 2 ⁇ 4 ⁇ 5 ⁇ 7 ⁇ 6.
  • the paths are maximally but not totally SLRG disjoint. That is, the links 2 to 3 and 3 to 2, belonging to the same SRLG, are used by the primary path and the backup path. But all other links meet the SLRG condition.
  • embodiments of the invention may also include one or more computer- readable mediums storing instructions that, when running on a computer, such as a controller on a network, carry out any of the method described above.
  • a computer such as a controller on a network

Abstract

The invention refers to a method for computing a primary path from a source node to a destination node in a network under given quality of service constraints and in maximally disjoint shared link risk groups (SLRG). Moreover, the invention refers to an apparatus and a computer program adapted for performing the method for computing the primary and optionally the backup path.

Description

A METHOD FOR CONSTRUCTING SRLG-DISJOINT PATHS UNDER QOS
CONSTRAINTS
TECHNICAL FIELD
The present invention relates to a method for computing a primary path for connecting a source and a destination in a network, and a controller for performing the method on the network. The present invention also relates to a computer-readable storage medium storing program code, the program code comprising instructions for carrying out such a method.
BACKGROUND
In a typical software-defined networking (SDN) or path computation element (PCE) architectures a router or switch interacts with a generalized controller to decide about a route that a new incoming demand should take. According to the protocols like open flow, these interactions are standardized with an interface of the controller. A flow request is issued to the SDN controller for each packet handled by a switch. The controller replies with a flow mode message to update routing tables of the involved network nodes. The SDN controller can also proactively configure routes upon requests for applications through the north-bound interface.
SUMMARY OF THE INVENTION
The objective of the present invention is to provide a method and a controller for computing the shortest primary path and optionally the shortest backup path both respective to the given requirements. In particular, it is an objective to find a pair of paths that meet given quality of service (QoS) constraints optimizing the solution for a primary path and a backup path and providing the solution within a given time frame as the controller needs to quickly provide the roots. A first aspect of the invention provides a method for computing a primary path for connecting a source and destination in a network of a plurality of nodes, comprising the following steps: receiving a source node s, a destination node d, a list of intermediate nodes 11 to IN mandatory for the primary path and bounds for Quality of Service (QoS) metrics Di,i to DM, l for the primary path;
creating N+l segments Li,i for the primary path wherein Li,i=s-Ii; Li,i=Ii-i-Ii and
Figure imgf000003_0001
setting i=l;
computing a shortest partial path on the segment Li,i that has the minimal total weight of the sum of weights on links between the nodes on said partial path based on a given weight map of the links in a given topology of the network;
increasing the weights of the links insisting on nodes belonging to Li,i;
incrementing i by 1 and repeat the last two steps until i=N+l;
concatenating the partial paths of the segments Li,i to LN+I,I to create pi;
checking whether pi respects the bounds D to DM,I within a given threshold, and if the bounds are respected, take pi as the primary path.
The method of the first aspect provides a primary path that (i) meets the given QoS constraints and, (ii) each path transverses a list of nodes mandatory for this path.
Thus, it is ensured that the QoS levels are provided to the network flow. The customary needs of the involvement of particular nodes in the network, i.e. nodes for performing flow billing etc., are met.
In a first implementation of the method according to the first aspect, the method further includes, if at least one of the bounds is not respected: running a metaheuristic algorithm to modify the network graph or the weight map and jump back to the step of setting i=l . By the metaheuristic algorithm, the parameters of the network graph or the weight map may be changed so that the QoS metrics can be met in the next iteration process. If necessary, the metaheuristic algorithm can be run several times until a primary path is found that respects the bounds of the QoS metrics.
In a second implementation of the method according to the first implementation of the first aspect, the steps of the running metaheuristic algorithms to modify the network graph or the weight map includes running an algorithm, comprising using Lagrange multipliers. Using Lagrange multipliers allows to find an optimized (shortest) primary path under several constraints to meet the QoS metrics for the primary path in an optimized manner. Thus, the QoS metrics may include several constraints to which the primary path can be optimized. In a third implementation of the method according to the second implementation of the first aspect, the method according to the first aspect, the step of running a metaheuristic algorithm to modify the weight map includes: computing Lagrange multipliers for the QoS metric, in particular one Lagrange parameter for each constraint of the QoS metric;
updating the weight map as the sum of the current weight and the QoS metrics weighted by the Lagrange multipliers. Thus, the weight map is computed by a linear combination of the weight map and the QoS metrics to handle multiple constraints of the QoS metrics. In a fourth implementation of the method according to third implementation of the first aspect, the method further comprises after updating the weight map: computing a minimum weighted path based on the method steps of the first aspect, from setting i = 1 to concatenating segments to create pi with the updated weight map;
checking whether the Lagrange multipliers include a negative multiplier; if yes, returning to computing a minimum weighted path; otherwise jumping back to the step of computing the Lagrange multipliers and iterating. Negative means <0, non-negative means >=0, and positive means >0. By the iteration process the Lagrange multipliers vary, thus, the optimized solution for multiple constraints of the QoS metrics can be found.
In a fifth implementation of the method according to the second implementation of the first aspect, the steps of running the metaheuristic algorithm to modify the network graph or the weight map includes running a local search algorithm. This allows to find a local minimum for the primary path with less computing time.
In a sixth implementation of the method according to the first aspect or according to any of the preceding implementations of the first aspect, the weighted map includes one or more of the cost of the links, the physical delay of the links or the physical distance of the links. Each of these parameters or any combination thereof can be used to optimize the primary path. Moreover, also the number of hops within the path can be minimized or upper bounded.
In a seventh implementation of the method according to the first aspect or according to any of the preceding implementations of the first aspect, method further comprises computing a back-up path for connecting the source and destination in the network of the plurality of nodes comprising the following steps: updating the weight map such that the weights of the links between the nodes of the pri- mary path and the links in the same shared risk link groups, SRLGs, with them are increased;
receiving a list of intermediate nodes Ji to JK mandatory for the backup path and bounds for QoS metrics Di,2 to Dv, 2 for the backup path;
creating K+l segments Lj,2 for the backup path wherein Li,2=s-Ji; Lj,2=Jj-i-Jj and
Figure imgf000005_0001
setting index j=l;
computing a shortest partial path on the segment Lj,2 that has the minimal total weight of the sum of weights on links between the nodes on said partial path based on the given weight map of the links in the given topology of the network;
increasing the weights of the links insisting on nodes belonging to Lj,2;
incrementing j by 1 and repeat the last two steps until j=K+l;
concatenating the partial paths in the segments Llj2 to LK+I,2 to create p2;
checking whether p2 respects the bounds D 1,2 to Dv,2 within a given threshold, and if the bounds are respected, take p2 as the backup path. A person skilled in the art will under- stand that the backup path can be constructed by a similar method as for the primary path, especially analogously to any one of the first to sixth implementation of the first aspect. However, before constructing the backup path, the weight map is updated to increase the weight of the links used for the primary path and the links in the same SRLGs with them. Thus, the backup path will be maximally disjoint from the primary path such that the primary and backup paths belong to different shared link risk groups (SRLG) or, if this was not possible, the paths are maximally disjoint which means that the number of common links sharing the same risk, i.e. belonging to the same SRLG, between the primary path and backup path is minimized. In an eighth implementation of the method according to the seventh implementation of the first aspect, the method further comprises, if at least one of the bounds for the backup path is not respected: running a metaheuristic algorithm to modify the network graph or the weight map and jump back to the step of setting j=l . Similar to the primary path, the backup path can be calculated iteratively until all bounds of the QoS metrics can be met. A skilled person will understand that the same method steps for running the metaheuristic algorithm as disclosed for the primary path above can be used also for the backup path.
In a ninth implementation of the method according to the seventh or eighth implementation of first aspect, the method further comprises checking whether the primary path and the backup path are fully disjointed, and if not, keeping the backup path fixed and seeking for another primary path by identifying the shared risk link group with the largest number of common links between primary and backup path, labelling this group, restoring the weight map, and modifying it by increasing the weight of the links of the backup path and the links in labelled group. In other words, if primary and backup paths are not totally disjoint, the SRLG with the largest number of common links is first identified and labeled as SRLG*. The weights of the links of the primary path that do not belong to SRLG* and the links in the same SRLGs with them are restored in the weight map, the backup path becomes the primary path and a new backup path is sought. This implementation has the benefit that the primary path and the backup path may be maximally disjoint to meet the SRLG condition to a maximum extent also for the primary path and the backup path. In a tenth implementation of the method according to any of the seventh to ninth implementations of the first aspect, the method comprises updating the weight map and generating at least one second backup path analogously to the steps for creating the backup path in the method of the first aspect with mandatory nodes Qi to QR and bounds for QoS metrics Di,3 to Dw,3. By creating one or more secondary backup paths the network redundancy of the connection from the source to the destination may be further increased.
In an eleventh implementation of the method according to the first aspect or according to any of the preceding implementations of the first aspect, the steps of calculating the shortest partial path on the segment Li,i and/or on the segment Lj,2 includes a constrained shortest path algorithm that satisfy one or more constraints on each segment Li,i and/or Lj,2. The constrained shortest path algorithm allows to find the shortest path in each of the segments of the primary and/or secondary paths to minimize the total length of the primary and/or secondary paths with respect to the given weight map.
In a twelfth implementation of the method according to the first aspect or according to any of the preceding implementations of the first aspect, the bounds Di,i to DM,I and/or Di,2 to Dv,2 comprises an additive metric, in particular delay, number of hops and/or physical distance, of the primary and/or backup path. In general, the bounds Di,i to DM,I and/or Di,2 to Dv,2 may consider any parameters to which the primary and/or backup paths shall be optimized. Short delay, a minimum number of hops and short physical distance are considered to optimize the time and the reliance for transporting the packets in the network.
In a thirteenth implementation of the method according to the first aspect or according to any of the preceding implementations of the first aspect, the step of checking whether pi and/or p2 respects the bounds within a given threshold in particular comprises: checking whether the sum of bounds Di,i to DM,I on the links of pi and/or the sum of bounds Di,2 to Dv,2 on the links of p2 is below the given threshold. This implementation allows to define any threshold even down to zero to define a minimum tolerance of the bounds to be met.
In a fourteenth implementation of the method according to the thirteenth implementation of the first aspect, the threshold in the step on checking whether pi and/or p2 respect the bounds, is increased, if the condition cannot be met for a predetermined number of times running the loop for calculating pi and/or p2. If the threshold defining the tolerance to meet the bounds was chosen too small, it might happen that the primary path and/or a backup path cannot be found that meets these bounds within the given threshold. Therefore, it is useful to implement an increasing of the threshold if after running the loop for calculating pi and/or p2 several times such that the bounds within the newly defined threshold can be met.
A second aspect of the invention includes a controller in a network configured to perform the method of the first aspect or any of the previous implementations of the first aspect. A third aspect of the invention refers to a computer program product including instructions that, when running on a computer, perform a method of the first aspect of any of the implementations of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
To illustrate the technical features of embodiments of the present invention more clearly, the accompanying drawings provided for describing the embodiments are introduced briefly in the following. The accompanying drawings in the following description merely show some embodiments of the present invention. Modifications of these embodiments are possible without departing from the scope of the present invention as defined in the claims.
FIG. 1 is a block diagram illustrating a method in accordance with an embodiment of the pre sent invention.
FIG. 2 is a block diagram illustrating a method in accordance with an embodiment of the pre sent invention.
FIG. 3 shows an example of a network with may be used for embodiments of the invention.
FIG. 4 is an example of a network with eight nodes indicating the primary path and the backup path.
DETAILED DESCRIPTION OF THE EMBODIMENTS
FIG. 1 shows a method for computing a pair of a primary and a backup path connecting a source and destination in a network of a plurality of nodes which may be performed by a < trailer of a network, such as the SDN controller shown in FIG. 3.
In step SO, the controller receives a source node s, a destination node d, a list of intermediate nodes 11 to IN mandatory for the primary path, a list of intermediate nodes Ji to JK mandatory for the backup path, and bounds for Quality of Service (QoS) metrics Di,i to DM, I for the primary path and Di,2 to Dv,2 for the backup path. In step SI, the controller creates N+l segments Li,i for the primary path wherein Li,i=s-Ii; Li,i=Ii-i-Ii and LN+i,i=lN,i-d and the controller sets i=l .
In step S2, the controller computes a shortest partial path on the segment Li,i that has the min- imal total weight of the sum of weights on links between the nodes on said partial path based on the given weight map of the links in a given topology of the network. The computing may be made by a Dijkstra algorithm.
In step S3, the controller increases the weights of the links insisting on nodes belonging to Li. Thus, it can be avoided that the same nodes will be visited when computing the next partial path.
In step S4, the controller increments i by 1 and repeat the last two steps until i=N+l . In step S5, the controller concatenates the partial paths of the segments Li,i to LN+I,I to create pi.
In step S6, the controller checks whether pi respects the bounds Di,i to DM,I within a given threshold, and if the bounds are respected, the controller takes pi as the primary path, updates weights of the links in pi and the links in the same SRLGs with them, in step S8, the controller continues with creating K+l segments of the next but one step below. If at least one of the bounds is not respected, the controller may optionally continue with step S7.
In step S7, the controller runs a metaheuristic algorithm to modify the weight map, such as a Lagrange algorithm described below, and jumps back to the step S2.
After the primary path is computed, the method may optionally continue with step S8. In step S8, the controller updates the weight map such that the weights of the links between the nodes in the primary path and the links in the same SRLGs with them are increased. Thus, it is en- sured when calculating the backup path, that the backup path is maximally disjoint from the primary path.
In step S9, the controller creates K+l segments Lj,2 for the backup path wherein Li,2=s-Ji; Lj,2=Jj-i-Jj and LK+i,2=JK-d, setting index j=l . In step S 10, the controller computes a shortest partial path on the segment Lj,2 that has the minimal total weight of the sum of weights on links between the nodes on said partial path based on the given weight map of the links in the given topology of the network, in particular by the Dijkstra algorithm.
In step SI 1 , the controller increases the weights of the links insisting on nodes belonging to Li-
In step S 12, the controller increments j by 1 and repeat the last two steps S 10 and S I 1 until j=K+l .
In step S13, the controller concatenates the partial paths in the segments LL J2 to LK+I,2 to create
In step S 14, the controller checks whether p2 respects the bounds Dlj2 to Dv,2 within a given threshold, and if the bounds are respected, the controller takes p2 as the backup path. Otherwise, the controller runs a metaheuristic algorithm to modify the network graph or the weight map and jump back to the step of setting j=l . FIG. 2 shows a method of an algorithm to update the weight map if after step S6 or S 14 the bounds for the quality of service metrics Di,i to DM,I or DL J2 to Dv,2 cannot be met. The method includes in step S20 computing of Lagrange multipliers for each constraint of the QoS metric, and updating the weight map as the sum of the current weight map and the QoS metric weighted by the Lagrange multipliers. In the next step S21 , a new minimum weighted path is calculated on the basis of the updated weight map the same steps S2 to S5 or S 10 to S13 as disclosed in FIG. 1. In the next step S22, the controller checks whether the Lagrange multipliers include a negative multiplier. Negative means <0. If not, the method in FIG. 1 may continue with step S2 to calculate the minimum weighted path based on the updated weighted map. Otherwise, the sought path is found and the method in FIG. 1 can continue with either step S8, if a primary path was sought, or terminate, if a backup path was sought.
As an alternative to the metaheuristic algorithm shown in FIG. 2, the method may include running a local search algorithm. A local search algorithm is easy to implement and needs less computing time in comparison to the algorithm using Lagrange multipliers. However, using Lagrange multipliers has an advantage when the QoS metrics includes a larger number of bounds.
The weighted map is used in the embodiment of FIG. 1 or for any other implementation of the present invention, may include the cost of the links, the delay of the links and/or the physical distance of the links of the nodes. Further parameters of the links may also be considered in accordance with the invention.
In addition to calculating a backup path by steps S8 to S15 of FIG. 1, a further embodiment of the invention may also include further steps for computing a second or more backup path analogously to the steps S8 to S15 in FIG. 1. Each backup path may include a different number of mandatory nodes as well as a different number of bounds of the QoS metrics.
The method steps S6 and/or S14 may include checking whether a sum of bounds for the pri- mary path and/or any backup path is below a given threshold and the method may further include the step of increasing the threshold if the condition cannot be met for several times. Thus, a termination condition in the loop from S2 to S7 and S 10 to S 15, respectively, is ensured. The primary path and the backup path as computed in accordance with the embodiments of the invention ensure that both paths are maximally disjoint. Ideally, they are totally disjoint. However, if the primary and the backup paths are not totally disjoint, further embodiments of the invention provide that the SRLG with the largest number of common links is first identified and labeled as SRLG*. The weights of the links of the primary path that do not belong to SRLG* and the links in the same SRLGs with them are restored in the weight map, the backup path becomes the primary path and a new backup path is computed. Thus, the degree of disjoining the primary and backup paths can further be increased.
A controller in a network configured to perform the method of FIG. 1 is shown in FIG. 3. The SDN controller is adapted to perform the method of FIG. 1 upon a flow request from a router or an application or via a south or north bridge interface.
Referring to FIG. 4, an example of a network having eight nodes 0, 1, 2, 3, 4, 5, 6 and 7 is shown. The nodes are connected by links. Each link is represented by its capacity (M), its delay (ms) and its cost (€). Let us assume as an example that a primary path and a backup path shall be computed from the source node 0 to the destination node 6. Moreover, let us assume that the QoS metrics for the primary path include a maximum delay of 15ms and a maximum length of 4 hops. Moreover, nodes 2 and 4 shall be mandatory nodes of the primary path. The QoS metrics for the backup path is not restricted, i.e. the maximum delay and the maximum length are infinite. Moreover, the backup path shall include only node 2 as a mandatory node.
With the given constraints, the primary path will be calculated: 0→2→3→4→6. The backup path will be calculated as: 0→l→3→2→4→5→7→6.
From the example it can be seen that the paths are maximally but not totally SLRG disjoint. That is, the links 2 to 3 and 3 to 2, belonging to the same SRLG, are used by the primary path and the backup path. But all other links meet the SLRG condition.
It should be noted that embodiments of the invention may also include one or more computer- readable mediums storing instructions that, when running on a computer, such as a controller on a network, carry out any of the method described above. The foregoing descriptions are only implementation manners of the present invention, the scope of the present invention is not limited to this. Any variations or replacements can be easily made through person skilled in the art. Therefore, the protection scope of the present invention should be subject to the protection scope of the attached claims.

Claims

A method for computing a primary path for connecting a source and destination in a network of a plurality of nodes comprising the following steps:
receiving a source node s, a destination node d, a list of intermediate nodes 11 to IN mandatory for the primary path and bounds for Quality of Service (QoS) metrics Di,i to DM, l for the primary path;
creating N+l segments Li,i for the primary path wherein Li,i=s-Ii; Li,i=Ii-i-Ii and
Figure imgf000013_0001
setting i=l;
computing a shortest partial path on the segment Li,i that has the minimal total weight of the sum of weights on links between the nodes on said partial path based on a given weight map of the links in a given topology of the network;
increasing the weights of the links insisting on nodes belonging to Li,i;
incrementing i by 1 and repeating the last two steps until i=N+l;
concatenating the partial paths of the segments Li,i to LN+I,I to create pi;
checking whether pi respects the bounds D to DM,I within a given threshold, and if the bounds are respected, taking pi as the primary path.
The method of claim 1 , further comprising, if at least one of the bounds is not respected:
running a metaheuristic algorithm to modify the network graph or the weight map and jumping back to the step of setting i=l .
The method of claim 2, wherein the step of running metaheuristic algorithms to modify the network graph or the weight map includes running an algorithm, comprising using Lagrange multipliers.
The method of claim 3, wherein the step of running the metaheuristic algorithm to modify the weight map includes:
computing Lagrange multipliers for the QoS metric;
updating the weight map as the sum of the current weight map and the QoS metrics weighted by the Lagrange multipliers. The method of claim 4, further comprising after updating the weight map:
computing a minimum weighted path based on the method steps of claim 1 , from setting i=l to concatenating segments to create pi, with the updated weight map;
checking whether the Lagrange multipliers include at least one negative multiplier ; if yes, returning to computing a minimum weighted path; otherwise jumping back to the step of computing the Lagrange multipliers and iterating.
The method of claim 2, wherein the steps of running the metaheuristic algorithms to modify the network graph or the weight map includes running a local search algorithm.
The method of any of the previous claims, further comprising computing a back-up path for connecting the source and destination in the network of the plurality of nodes comprising the following steps:
updating the weight map such that the weights of the links between the nodes of the primary path and the links in the same shared risk link groups, SRLGs, with them are increased;
receiving a list of intermediate nodes Ji to JK mandatory for the backup path and bounds for QoS metrics Di,2 to Dv,2 for the backup path;
creating K+l segments Lj,2 for the backup path wherein Li,2=s-Ji; Lj,2=Jj-i-Jj and
Figure imgf000014_0001
setting index j=l;
computing a shortest partial path on the segment Lj,2 that has the minimal total weight of the sum of weights on links between the nodes on said partial path based on the given weight map of the links in the given topology of the network;
increasing the weights of the links insisting on nodes belonging to Lj,2;
incrementing j by 1 and repeating the last two steps until j=K+l;
concatenating the partial paths in the segments Llj2 to LK+I,2 to create p2;
checking whether p2 respects the bounds Dlj2 to Dw,2 within a given threshold, and if the bounds are respected, taking p2 as the backup path.
The method of claim 7, further comprising, if at least one of the bounds for the backup path is not respected; running a metaheuristic algorithm to modify the network graph or the weight map and jumping back to the step of setting j=l .
9. The method of any of claim 7 or 8 further comprising checking whether the primary path and the backup path are fully disjointed, and if not, keeping the backup path fixed and seeking for another primary path by identifying the shared risk link group with the largest number of common links between primary and backup path, labelling this group, restoring the weight map, and modifying it by increasing the weights of the links of the backup path and the links in the labelled group.
10. The method of any of claims 7 to 9 further comprising updating the weight map and generating at least one second backup path analogously to the steps for creating the backup path in the method of claim 1 with mandatory nodes Qi to QR and bounds for QoS metrics Di,3 to Dw,3.
1 1. The method of any of the previous claims wherein the steps of calculating the shortest partial path on the segment Li,i and/or on the segment Lj,2 includes a constrained shortest path algorithm that satisfies one or more constraints on each segment Li,i and/or Lj,2.
12. The method of any of the previous claims wherein the bounds Di,i to DM,I and/or Di,2 to Dv,2 comprise an additive metric, in particular a delay, number of hops and/or physical distance, of the primary and/or backup path.
13. The method of any of the previous claims wherein the step of checking whether pi and/or p2 respects the bounds within a given threshold in particular comprises:
checking whether the sum of bounds Di,i to Dv,i on the links of pi and/or Di,2 to Dv,2 on the links of p2 is below the given threshold.
14. The method of claim 13, wherein the threshold in the step on checking whether pi and/or p2 respect the bounds, is increased, if the condition cannot be met for a predetermined number of times running the loop for calculating pi and/or p2.
5. A controller in a network configured to perform the method of any of the previous claims.
PCT/EP2015/079776 2015-12-15 2015-12-15 A method for constructing srlg-disjoint paths under qos constraints WO2017101981A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2015/079776 WO2017101981A1 (en) 2015-12-15 2015-12-15 A method for constructing srlg-disjoint paths under qos constraints

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2015/079776 WO2017101981A1 (en) 2015-12-15 2015-12-15 A method for constructing srlg-disjoint paths under qos constraints

Publications (1)

Publication Number Publication Date
WO2017101981A1 true WO2017101981A1 (en) 2017-06-22

Family

ID=54849946

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2015/079776 WO2017101981A1 (en) 2015-12-15 2015-12-15 A method for constructing srlg-disjoint paths under qos constraints

Country Status (1)

Country Link
WO (1) WO2017101981A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109038794A (en) * 2018-07-11 2018-12-18 中国电力科学研究院有限公司 A kind of extra-high voltage grid system protection service path planing method towards QoS control
CN109688039A (en) * 2017-10-19 2019-04-26 中兴通讯股份有限公司 A kind of tunnel path calculation method, device and equipment
US11838201B1 (en) 2021-07-23 2023-12-05 Cisco Technology, Inc. Optimized protected segment-list determination for weighted SRLG TI-LFA protection

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHAMANIA M ET AL: "A survey of inter-domain peering and provisioning solutions for the next generation optical networks", IEEE COMMUNICATIONS SURVEYS AND TUTORIALS, INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, US, vol. 11, no. 1, 1 January 2009 (2009-01-01), pages 33 - 51, XP011252844, ISSN: 1553-877X *
DIAS R A ET AL: "Implementing traffic engineering in MPLS-based IP networks with lagrangean relaxation", COMPUTERS AND COMMUNICATION, 2003. (ISCC 2003). PROCEEDINGS. EIGHTH IE EE INTERNATIONAL SYMPOSIUM ON JUNE 30 - JULY 3, 203, PISCATAWAY, NJ, USA,IEEE, 1 January 2003 (2003-01-01), pages 1 - 6, XP010646049, ISBN: 978-0-7695-1961-6 *
JP VASSEUR ET AL: "A Per-Domain Path Computation Method for Establishing Inter-Domain Traffic Engineering (TE) Label Switched Paths (LSPs); rfc5152.txt", 5. JCT-VC MEETING; 96. MPEG MEETING; 16-3-2011 - 23-3-2011; GENEVA; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, INTERNET ENGINEERING TASK FORCE, IETF, CH, 1 February 2008 (2008-02-01), XP015055222, ISSN: 0000-0003 *
MOHAMAD A S ET AL: "Deployment Strategies on PCE-based Inter-AS LSP Path Computation", 9TH INTERNATIONAL MULTITOPIC CONFERENCE, IEEE INMIC 2005, IEEE, PI, 24 December 2005 (2005-12-24), pages 1 - 6, XP031332962, ISBN: 978-0-7803-9429-2 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109688039A (en) * 2017-10-19 2019-04-26 中兴通讯股份有限公司 A kind of tunnel path calculation method, device and equipment
CN109688039B (en) * 2017-10-19 2021-10-15 中兴通讯股份有限公司 Tunnel path calculation method, device and equipment
CN109038794A (en) * 2018-07-11 2018-12-18 中国电力科学研究院有限公司 A kind of extra-high voltage grid system protection service path planing method towards QoS control
CN109038794B (en) * 2018-07-11 2021-09-17 中国电力科学研究院有限公司 QoS control-oriented extra-high voltage power grid system protection service path planning method
US11838201B1 (en) 2021-07-23 2023-12-05 Cisco Technology, Inc. Optimized protected segment-list determination for weighted SRLG TI-LFA protection

Similar Documents

Publication Publication Date Title
US10897419B2 (en) Method and apparatus for supporting service function chaining in a communication network
Müller et al. Survivor: An enhanced controller placement strategy for improving SDN survivability
US20140140216A1 (en) Network system and routing method
US8862775B2 (en) Network server and load balancing routing method for networks thereof
CN104601473B (en) A kind of route generating method and system of the multi-goal path of belt restraining
US10587472B2 (en) Highly reliable path accommodation design apparatus and method
EP3868062B1 (en) Methods and apparatus for transmitting data over multiple paths in a network
US10560367B2 (en) Bidirectional constrained path search
Michael et al. Optimal link-state hop-by-hop routing
WO2018204295A1 (en) Weight setting using inverse optimization
WO2017101981A1 (en) A method for constructing srlg-disjoint paths under qos constraints
CN101909004B (en) Multi-domain optical network routing method based on edge ROADM (Reconfigurable Optical Add-Drop Multiplexer) ring structure
CN109429117B (en) Routing method and device
EP2448191B1 (en) Method and apparatus for generating constraint route
CN103532861A (en) Intra-domain dynamic multipath generating method based on generating tree
KR20170051153A (en) Method for selecting optimal network path using genetic algorithm
CN107046504B (en) Method and controller for traffic engineering in a communication network
CN106105282B (en) The system and method for carrying out traffic engineering using link buffer zone state
Rak et al. Reliable routing and resource allocation scheme for hybrid RF/FSO networks
Koryachko et al. Multipath adaptive routing in computer networks with load balancing
Garg et al. Adaptive optimized open shortest path first algorithm using enhanced moth flame algorithm
CN107453997B (en) Double-cost-based routing optimization method
US8842544B2 (en) Trap-free shortest link-and-shared risk link group-disjoint paths
Wang et al. A fuzzy decision based intelligent QoS multicast routing algorithm
CN105357080B (en) A kind of traffic engineering method applied to software defined network

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15808670

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15808670

Country of ref document: EP

Kind code of ref document: A1