IP Library › Granted Patent US 10,148,551
Granted Patent B1
US 10,148,551 · App. 15/282,996 · Granted Dec 4, 2018

Heuristic multiple paths computation for label switched paths

Inventors: David C. Wood (Woodbridge, GB); Jonathan C. Barth (Collegeville, PA)
Assignee: Juniper Networks, Inc.
H04L45/123H04L41/12H04L45/50H04L47/125H04L47/24
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,148,551
App. No.
15/282,996
Granted
Dec 4, 2018
Kind
B1
Abstract

In some examples, a path computation device is configured to compute, for a network of routers interconnected by a plurality of links in a network topology and based on a network topology model for the network topology, a first path that is a shortest path of the network topology model between a pair of nodes of the network topology model that represent a pair of the routers; increase, based on the first path, respective metrics for one or more links in the network topology model by respective finite values to obtain a modified network topology model; compute a second path that is a shortest path of the modified network topology model between the pair of nodes; and output data for at least one path of the first path and the second path to the network for programming a label switched path in the network on the at least one path.

Claims (106)

1. A method comprising:

computing, by a path computation device for a network of routers interconnected by a plurality of links in a network topology and based on a network topology model for the network topology, a first path that is a shortest path of the network topology model between a pair of nodes of the network topology model that represent a pair of the routers;

increasing, by the path computation device based on the first path and a number of computed paths, including the first path, that include a common failure mode, respective metrics for one or more links in the network topology model by respective finite values to obtain a modified network topology model;

computing, by the path computation device, a second path that is a shortest path of the modified network topology model between the pair of nodes; and

outputting, by the path computation device, data for at least one path of the first path and the second path to the network for programming a label switched path in the network on the at least one path.

2. The method of claim 1 ,

wherein the modified network topology model comprises a first modified network topology model,

wherein the label switched path comprises a first label switched path,

the method further comprising:

increasing, by the path computation device and based on the number of computed paths, including the first path, that include the common failure mode, respective metrics for one or more links in the first modified network topology model by respective finite values to obtain a second modified network topology model;

computing, by the path computation device and by applying a shortest path algorithm to the second modified network topology model, a third path between the pair of nodes; and

outputting, by the path computation device, data for the second path to the network for programming a second label switched path in the network on the second path.

3. The method of claim 1 ,

wherein the common failure mode includes a link of the one or more links, and

wherein increasing respective metrics for the one or more links in the network topology model comprises:

increasing the metric for a link of the one or more links based on a product of a link weight factor and the number of computed paths.

4. The method of claim 1 ,

wherein the common failure mode includes at least one link of a shared-risk link group, and

wherein increasing respective metrics for the one or more links in the network topology model comprises:

increasing the metric for a link of the one or more links that is a member of a shared-risk link group based on a product of a shared-risk link group weight factor and the number of computed paths.

5. The method of claim 1 ,

wherein the common failure mode includes a node of the network topology, and

wherein increasing respective metrics for one or more links in the network topology model comprises:

increasing the metric for a link of the one or more links that enters or exits the node of the network topology model based on a product of a node weight factor and the number of computed paths.

6. The method of claim 1 , further comprising:

receiving, by the path computation device, a routing protocol message according to a layer 3 routing protocol, the routing protocol messages including at least one weight value,

wherein increasing respective metrics for one or more links comprises increasing, by the path computation device based on the first path and the number of computed paths, including the first path, that includes the common failure mode, respective metrics for one or more links in the network topology model by respective finite values that are based on the at least one weight value to obtain a modified network topology model.

7. The method of claim 1 , wherein the second path is identical to the first path.

8. The method of claim 1 , wherein increasing respective metrics for one or more links in the network topology model by respective finite values to obtain a modified network topology model comprises increasing, based on the first path and the number of computed paths, including the first path, that includes the common failure mode, respective metrics only for one or more links of the first path in the network topology model.

9. The method of claim 1 ,

wherein to obtain the modified network topology further comprises increasing the respective metrics for one or more links according to:

If P (Link)>0 then workingMetric(Link)= M (Link)+ W Link ×P (Link),

where:

W Link =weight assigned for overlapping paths on a link,

W SRLG =weight assigned for overlapping paths on an SRLG,

M(Link)=metric on a specific link,

P(Link)=number of paths on a specific link,

workingMetric(Link)=working metric for the link.

10. The method of claim 1 ,

wherein to obtain the modified network topology further comprises increasing the respective metrics for one or more links according to:

If P (Link)>0 then workingMetric(Link)= M (Link)+ W Link ×P (Link),

If P (Node)>0 then workingMetric(Node)= W Node ×P (Node)

where:

W Link =weight assigned for overlapping paths on a link,

W Node =weight assigned for overlapping paths on anode to links entering the node,

M(Link)=metric on a specific link,

P(Link)=number of paths on a specific link,

workingMetric(Link)=working metric for the link.

11. The method of claim 1 ,

wherein the network topology model includes one or more shared-risk link groups (SRLGs),

wherein to obtain the modified network topology further comprises increasing the respective metrics for one or more links according to:

If P (Link)>0 then workingMetric(Link)= M (Link)+ W Link ×P (Link),

If P (SRLG)>0 then For all Links in SRLG,

workingMetric(Link)=workingMetric(Link)+ W SRLG ×P (SRLG),

where:

W Link =weight assigned for overlapping paths on a link,

W SRLG =weight assigned for overlapping paths on an SRLG,

M(Link)=metric on a specific link,

P(Link)=number of paths on a specific link,

P(SRLG)=number of paths on a specific SRLG,

workingMetric(Link)=working metric for the link.

12. The method of claim 1 ,

wherein the network topology model includes one or more shared-risk link groups (SRLGs),

wherein to obtain the modified network topology further comprises increasing the respective metrics for one or more links according to:

If P (SRLG)>0 then For all Links in SRLG,

workingMetric(Link)=workingMetric(Link)+ W SRLG ×P (SRLG),

where:

W SRLG =weight assigned for overlapping paths on an SRLG,

P(Link)=number of paths on a specific link,

P(SRLG)=number of paths on a specific SRLG,

workingMetric(Link)=working metric for a specific link including a metric for the link.

13. The method of claim 1 , further comprising:

adding the first path and the second path to a set of paths for the pair of nodes; and

removing any duplicate paths from the set of paths to obtain a result set of N paths.

14. The method of claim 1 , further comprising:

adding the first path and the second path to a set of M paths for the pair of nodes;

determining, by the path computation device, a set of N paths from the set of M paths, where M>N>2;

obtaining, by the path computation device, a test path from the set of M paths and a total metric for the test path, wherein the test path is not in the set of N paths;

determining, by the path computation device, a worst path from the set of N paths that has a total metric that is worse than respective total metrics of the other paths from the set of N paths, wherein the total metric of the worst path is a worst cost of the set of N paths; and

by the path computation device in response to determining the total metric for the test path is less than the worst cost, removing the worst path from the set of N different paths and adding the test path to the set of N different paths to obtain a result set of N paths,

wherein the at least one path of the first path and the second path is in the result set of N paths.

15. The method of claim 1 , further comprising:

adding the first path and the second path to a set of M paths for the pair of nodes;

determining, by the path computation device, a set of N paths from the set of M paths, where M>N>2;

obtaining, by the path computation device, a test path from the set of M paths and a total metric for the test path, wherein the test path is not in the set of N paths;

determining, by the path computation device, a worst path from the set of N paths that has an incremental cost that is worse than respective incremental costs of the other paths from the set of N paths, wherein the incremental cost of the worst path is a worst cost of the set of N paths;

by the path computation device in response to determining the incremental cost for the test path is less than the worst cost, adding the test path to the set of N different paths to obtain a set of N+1 paths; and

by the path computation in response to determining a worst cost path of the set of N+1 paths that, if removed from the set of N+1 paths, would most reduce a total cost of the remaining paths from the set of N+1 paths, removing the worst cost path from the set of N+1 paths to obtain a result set of N paths,

wherein the at least one path of the first path and the second path is in the result set of N paths.

16. The method of claim 1 , wherein computing the second path comprises:

performing a failure simulation of one or more nodes and one or more links of the first path; and

determining whether the second path is a protection path for the first path that satisfies the failure simulation.

17. The method of claim 1 ,

wherein computing the first path comprises applying a shortest path first algorithm to the network topology model, and

wherein computing the second path comprises applying the shortest path first algorithm to the modified network topology model.

18. A path computation device comprising:

one or more processors coupled to a memory,

wherein the one or more processors are configured to compute, for a network of routers interconnected by a plurality of links in a network topology and based on a network topology model for the network topology, a first path that is a shortest path of the network topology model between a pair of nodes of the network topology model that represent a pair of the routers,

wherein the one or more processors are configured to increase, based on the first path and a number of computed paths, including the first path, that include a common failure mode, respective metrics for one or more links in the network topology model by respective finite values to obtain a modified network topology model,

wherein the one or more processors are configured to compute a second path that is a shortest path of the modified network topology model between the pair of nodes, and

wherein the one or more processors are configured to output data for at least one path of the first path and the second path to the network for programming a label switched path in the network on the at least one path.

19. A non-transitory computer-readable medium comprising instructions for causing one or more processors of a path computation device to:

compute, for a network of routers interconnected by a plurality of links in a network topology and based on a network topology model for the network topology, a first path that is a shortest path of the network topology model between a pair of nodes of the network topology model that represent a pair of the routers;

increase, based on the first path and a number of computed paths, including the first path, that include a common failure mode, respective metrics for one or more links in the network topology model by respective finite values to obtain a modified network topology model;

compute a second path that is a shortest path of the modified network topology model between the pair of nodes; and

output data for at least one path of the first path and the second path to the network for programming a label switched path in the network on the at least one path.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2018
From: WOOD, DAVID
To: JUNIPER NETWORKS, INC.
Reel/Frame 047287/0660 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2016
From: BARTH, JONATHAN C.
To: JUNIPER NETWORKS, INC.
Reel/Frame 039915/0657 →
Cited By (3)
US 12,284,085 US 12,363,395 US 12,407,603