IP Library Granted Patent US 9,036,467
Granted Patent B1
US 9,036,467 · App. 14/147,896 · Granted May 19, 2015

Method for accelerating failover of VPN traffic in an MPLS provider network

Inventor: Rajesh Saluja (Nashua, NH)
Assignee: RPX CLEARINGHOUSE LLP
H04L41/0668H04L45/50
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,036,467
App. No.
14/147,896
Granted
May 19, 2015
Kind
B1
Abstract

Failover of VPN traffic between MPLS tunnels is accelerated by determining a main and a standby MPLS tunnel for each VPN and passing both the main and standby MPLS tunnel information to the forwarding plane of a network element configured to implement the VPN. In the event of failover of a main MPLS tunnel interface, the forwarding plane is instructed to use the standby MPLS tunnel instead of the main MPLS tunnel. Since the standby MPLS tunnel has already been determined, and information associated with the standby MPLS tunnel has already been provided to the forwarding plane, it is not necessary to recompute a new MPLS tunnel or reprogram the forwarding plane using the new MPLS tunnel information. By removing control plane operations and control plane-forwarding plane interaction from the handling of failovers, the failover recovery time may be accelerated, to thereby enable VPN connections to handle time sensitive traffic.

Claims (43)

1. A network element, comprising:

a forwarding plane configured to forward packets on a packet network; and

a control plane configured to:

designate to the forwarding plane a first Multiprotocol Label Switching (MPLS) tunnel as a primary MPLS tunnel for a Virtual Private Network (VPN) thereby causing the forwarding plane to forward packets associated with the VPN over the primary MPLS tunnel;

designate to the forwarding plane a second MPLS tunnel as a secondary MPLS tunnel for the VPN; and

after designation of the primary MPLS tunnel and the secondary MPLS tunnel:

detect a failure associated with the primary MPLS tunnel; and

in response to detection of the failure, cause the forwarding plane to forward the packets associated with the VPN over the secondary MPLS tunnel.

2. The network element of claim 1 , wherein the control plane is configured to determine labels associated with the primary MPLS tunnel and the secondary MPLS tunnel.

3. The network element of claim 1 , wherein the control plane is configured to set up the primary MPLS tunnel and the secondary MPLS tunnel.

4. The network element of claim 3 , wherein the control plane is configured to set up the primary MPLS tunnel through a first input/output (I/O) card and to set up the secondary MPLS tunnel through a second I/O card.

5. The network element of claim 1 , wherein the control plane is configured to determine the secondary MPLS tunnel wherein the secondary MPLS tunnel does not traverse at least a first intermediate network element traversed by the primary MPLS tunnel.

6. The network element of claim 5 , wherein the control plane is configured to determine the secondary MPLS tunnel wherein the secondary MPLS tunnel traverses at least a second intermediate network element different from the at least the first intermediate network element traversed by the primary MPLS tunnel.

7. The network element of claim 1 , wherein the control plane is configured to determine the secondary MPLS tunnel wherein the secondary MPLS tunnel traverses a first plurality of intermediate network elements, the first plurality of intermediate network elements not including intermediate network elements of a second plurality of intermediate network elements traversed by the primary MPLS tunnel.

8. The network element of claim 1 , wherein the control plane is configured to determine a plurality of respective primary MPLS tunnels and respective secondary MPLS tunnels for a plurality of VPNs.

9. A network element, comprising a control plane, the control plane comprising:

at least one processor; and

at least one storage element storing instructions for execution by the at least one processor, the instructions comprising:

instructions executable to designate, to a forwarding plane of the network element, a first Multiprotocol Label Switching (MPLS) tunnel as a primary MPLS tunnel for a Virtual Private Network (VPN) thereby causing the forwarding plane to forward packets associated with the VPN over the primary MPLS tunnel;

instructions executable to designate to the forwarding plane a second MPLS tunnel as a secondary MPLS tunnel for the VPN; and

instructions executable after designation of the primary MPLS tunnel and the secondary MPLS tunnel to:

detect a failure associated with the primary MPLS tunnel; and

in response to detection of the failure, cause the forwarding plane to forward the packets associated with the VPN over the secondary MPLS tunnel.

10. The network element of claim 9 , wherein the instructions comprise instructions executable to determine labels associated with the primary MPLS tunnel and the secondary MPLS tunnel.

11. The network element of claim 9 , wherein the instructions comprise instructions executable to set up the primary MPLS tunnel and the secondary MPLS tunnel.

12. The network element of claim 11 , wherein the instructions comprise instructions executable to set up the primary MPLS tunnel through a first input/output (I/O) card and to set up the secondary MPLS tunnel through a second I/O card.

13. The network element of claim 9 , wherein the instructions comprise instructions executable to determine the secondary MPLS tunnel wherein the secondary MPLS tunnel does not traverse at least a first intermediate network element traversed by the primary MPLS tunnel.

14. The network element of claim 13 , wherein the instructions comprise instructions executable to determine the secondary MPLS tunnel wherein the secondary MPLS tunnel traverses at least a second intermediate network element different from the at least the first intermediate network element traversed by the primary MPLS tunnel.

15. The network element of claim 9 , wherein the instructions comprise instructions executable to determine the secondary MPLS tunnel wherein the secondary MPLS tunnel traverses a first plurality of intermediate network elements, the first plurality of intermediate network elements not including intermediate network elements of a second plurality of intermediate network elements traversed by the primary MPLS tunnel.

16. The network element of claim 9 , wherein the instructions comprise instructions executable to determine a plurality of respective primary MPLS tunnels and respective secondary MPLS tunnels for a plurality of VPNs.

17. A method of operation for a network element, comprising:

operating a control plane of the network element to designate, to a forwarding plane of the network element, a first Multiprotocol Label Switching (MPLS) tunnel as a primary MPLS tunnel for a Virtual Private Network (VPN) thereby causing the forwarding plane to forward packets associated with the VPN over the primary MPLS tunnel;

operating the control plane to designate to the forwarding plane a second MPLS tunnel as a secondary MPLS tunnel for the VPN; and

operating the control plane, after designation of the primary MPLS tunnel and the secondary MPLS tunnel to:

detect a failure associated with the primary MPLS tunnel; and

in response to detection of the failure, cause the forwarding plane to forward the packets associated with the VPN over the secondary MPLS tunnel.

18. The method of claim 17 , comprising operating the control plane to determine labels associated with the primary MPLS tunnel and the secondary MPLS tunnel.

19. The method of claim 17 , comprising operating the control plane to set up the primary MPLS tunnel and the secondary MPLS tunnel.

20. The method of claim 19 , comprising operating the control plane to set up the primary MPLS tunnel through a first input/output (I/O) card and to set up the secondary MPLS tunnel through a second I/O card.

21. The method of claim 17 , comprising operating the control plane to determine the secondary MPLS tunnel wherein the secondary MPLS tunnel does not traverse at least a first intermediate network element traversed by the primary MPLS tunnel.

22. The method of claim 21 , comprising operating the control plane to determine the secondary MPLS tunnel wherein the secondary MPLS tunnel traverses at least a second intermediate network element different from the at least the first intermediate network element traversed by the primary MPLS tunnel.

23. The method of claim 17 , comprising operating the control plane to determine the secondary MPLS tunnel wherein the secondary MPLS tunnel traverses a first plurality of intermediate network elements, the first plurality of intermediate network elements not including intermediate network elements of a second plurality of intermediate network elements traversed by the primary MPLS tunnel.

24. The method of claim 17 , comprising operating the control plane to determine a plurality of respective primary MPLS tunnels and respective secondary MPLS tunnels for a plurality of VPNs.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 054305/0505 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CLEARINGHOUSE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 046485/0644 →
RELEASE (REEL 038041 / FRAME 0001) Recorded Jan 2, 2018
From: JPMORGAN CHASE BANK, N.A.
To: RPX CORPORATION; RPX CLEARINGHOUSE LLC
Reel/Frame 044970/0030 →
SECURITY AGREEMENT Recorded Mar 9, 2016
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038041/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: ROCKSTAR CONSORTIUM US LP; ROCKSTAR CONSORTIUM LLC; BOCKSTAR TECHNOLOGIES LLC; CONSTELLATION TECHNOLOGIES LLC; MOBILESTAR TECHNOLOGIES LLC; NETSTAR TECHNOLOGIES LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 034924/0779 →
Continuity (2)
Continuation 13360867 · Jan 30, 2012
Continuation 10851032 · May 21, 2004