IP Library Granted Patent US 9,013,976
Granted Patent B2
US 9,013,976 · App. 12/878,520 · Granted Apr 21, 2015

Rapid alternate paths for network destinations

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 9,013,976
App. No.
12/878,520
Granted
Apr 21, 2015
Kind
B2
Abstract

Network traffic is sent via alternate paths in cases of network link or node failure. An alternate node responds to U-Turn traffic from a primary neighbor to select a further alternate. An algorithm for determining the alternate paths is provided to select loop-free neighbors.

Claims (43)

1. A method for forwarding an Internet Protocol (IP) unicast data packet, the method comprising, at a network node:

using, by the network node, destination based shortest path routing algorithms for the network node to determine and pre-store a link to a primary neighbor in a primary path to a destination node and a link to an alternate neighbor in an alternate path to the destination node, wherein the alternate path to the destination node is longer than or equal to the primary path to the destination node, wherein the alternate neighbor is a loop-free neighbor other than the primary neighbor and whose shortest path to the destination node does not go through the network node that determined the alternate path, and wherein the shortest path between the alternate neighbor and the destination node satisfies:

Distance opt ( N, D )<Distance opt ( N, S )+Distance opt ( S, D ),

where Distance opt (N, D) is the shortest path between the alternate neighbor and the destination node, Distance opt (N, S) is a shortest path between the alternate neighbor and the network node, and Distance opt (S,D) is a shortest path between the network node and the destination node;

forwarding, by the network node, the IP unicast data packet to the primary path through the primary neighbor, wherein the primary neighbor is one or more primary next-hops directly from the network node to the destination node;

switching over from the primary path to the alternate path upon failure of the primary path; and

forwarding the IP unicast data packet to the alternate neighbor whose shortest path to the destination node does not go through the network node that determined the alternate path.

2. The method of claim 1 , wherein for an Equal Cost Multi-Path primary path, the primary path is an alternate path for another primary path.

3. The method of claim 1 , further comprising determining the alternate neighbor with a Dijkstra algorithm.

4. The method of claim 1 , further comprising determining an acceptable loop-free alternate based on a plurality of failure situations to protect against.

5. The method of claim 1 , further comprising determining the alternate neighbor from a group of classes consisting of:

loop-free alternate neighbors that do not forward through the primary neighbor;

loop-free alternate neighbors that do forward through the primary neighbor;

U-turn neighbors with a loop-free alternate neighbor that does not forward through the primary neighbor; and

U-turn neighbors with a loop-free alternate neighbor that does forward through the primary neighbor.

6. The method of claim 5 , wherein a priority is assigned to each of the alternate neighbors within each of the group of classes.

7. The method of claim 1 , further comprising maintaining a label distribution protocol (LDP) having labels available for the loop-free alternate for installing out-segments in hardware prior to a failure occurrence.

8. The method of claim 1 , further comprising forwarding, upon receipt of the data packet at the alternate neighbor, the data packet to an alternate neighbor of the alternate neighbor.

9. A network node for forwarding an Internet Protocol (IP) unicast data packet, comprising:

a processor configured with destination based shortest path routing algorithms to determine and pre-store a link to a primary neighbor in a primary path to a destination node and a link to an alternate neighbor in an alternate path to the destination node, wherein the alternate path to the destination node is longer than or equal to the primary path to the destination node, wherein the alternate neighbor is a loop-free neighbor other than the primary neighbor and whose shortest path to the destination node does not go through the network node that determined the alternate path; and path, and wherein the shortest path between the alternate neighbor and the destination node satisfies:

Distance opt ( N, D )<Distance opt ( N, S )+Distance opt ( S, D ),

where Distance opt (N, D) is the shortest path between the alternate neighbor and the destination node, Distance opt (N, S) is a shortest path between the alternate neighbor and the network node, and Distance opt (S,D) is a shortest path between the network node and the destination node; and

an interface configured to forward the IP unicast data packet,

wherein the interface is further configured to forward the IP unicast data packet to the primary path through the primary neighbor, wherein the primary neighbor is one or more primary next-hops directly from the network node to the destination node,

wherein the interface is further configured to switchover from the primary path to the alternate path upon failure of the primary path, and

wherein the interface is further configured to forward the IP unicast data packet to the alternate neighbor whose shortest path to the destination node does not go through the network node that determined the alternate path.

10. The network node of claim 9 , wherein the primary path is an alternate path for another primary path for an Equal Cost Multi-Path primary path.

11. The network node of claim 9 , wherein the alternate neighbor is determined using a Dijkstra algorithm.

12. The network node of claim 9 , wherein an acceptable loop-free alternate is determined based on a plurality of failure situations.

13. The network node of claim 9 , wherein the alternate neighbor is determined from a group of classes consisting of:

loop-free alternate neighbors that do not forward through the primary neighbor;

loop-free alternate neighbors that do forward through the primary neighbor;

U-turn neighbors with a loop-free alternate neighbor that does not forward through the primary neighbor; and

U-turn neighbors with a loop-free alternate neighbor that does forward through the primary neighbor.

14. The network node of claim 13 , wherein each of the alternate neighbors within each of the group of classes is assigned a priority.

15. The network node of claim 9 , wherein a label distribution protocol (LDP) is maintained that has labels available for the loop-free alternate for installing out-segments in hardware prior to a failure occurrence.

16. The network node of claim 9 , wherein upon receipt of the data packet at the alternate neighbor, the data packet is forwarded to an alternate neighbor of the alternate neighbor.

17. A routing apparatus for forwarding an Internet Protocol (IP) unicast data packet, comprising:

means for pre-storing a link to a primary neighbor in a primary path to a destination node and a link to an alternate neighbor in an alternate path to the destination node using destination based shortest path routing algorithms, wherein the alternate path to the destination node is longer than or equal to the primary path to the destination node, and wherein the alternate neighbor is a loop-free neighbor other than the primary neighbor and whose shortest path to the destination node does not go through the routing apparatus, and wherein the shortest path between the alternate neighbor and the destination node satisfies:

Distance opt ( N, D )<Distance opt ( N, S )+Distance opt ( S, D ),

where Distance opt (N, D) is the shortest path between the alternate neighbor and the destination node, Distance opt N, S) is a shortest path between the alternate neighbor and the routing apparatus, and Distance opt (S,D) is a shortest path between the routing apparatus and the destination node;

means for forwarding the IP unicast data packet to the primary path through the primary neighbor, wherein the primary neighbor is one or more primary next-hops directly from the routing apparatus to the destination node; and

means for switching over from the primary path to the alternate path and for forwarding the IP unicast data packet to the alternate neighbor whose shortest path to the destination node does not go through the routing apparatus that determined the alternate path.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2010
From: ATLAS, ALIA KARIN; TORVI, RAVEENDRA
To: AVICI SYSTEMS, INC.
Reel/Frame 025239/0481 →
MERGER Recorded Nov 3, 2010
From: AVICI SYSTEMS, INC.
To: SOAPSTONE NETWORKS, INC.
Reel/Frame 025239/0604 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2010
From: SOAPSTONE NETWORKS, INC.
To: FUTUREWEI TECHNOLOGIES, INC., DBA HUAWEI TECHNOLOGIES (USA)
Reel/Frame 025242/0914 →