IP Library Granted Patent US 7,660,241
Granted Patent B2
US 7,660,241 · App. 10/894,795 · Granted Feb 9, 2010

Load balancing in a virtual private network

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 7,660,241
App. No.
10/894,795
Granted
Feb 9, 2010
Kind
B2
Abstract

A network system ( 10 ). The system comprises a plurality of nodes (PE, CE). Each node in the plurality of nodes is coupled to communicate with at least one other node in the plurality of nodes. Further, each node in the plurality of nodes is coupled to communicate to another node via a respective primary path and via a respective backup path. Still further, each node in the plurality of nodes is operable to perform the steps of, when receiving network traffic as a receiving node, detecting delay ( 110, 120; 130, 140; 160, 170 ) in traffic received from a transmitting node, and, in response to detecting delay, communicating a signal to the transmitting node. In response to the signal, the transmitting node is operable to dynamically adjust ( 150; 190 ) a distribution of traffic through a respective primary path and a respective backup path from the transmitting node to the receiving node.

Claims (72)

1. A network system, comprising:

a plurality of nodes, wherein each node in the plurality of nodes is coupled to communicate with at least one other node in the plurality of nodes;

wherein each node in the plurality of nodes is coupled to communicate to another node via a respective primary path and via a respective backup path, wherein each backup path supports at least one of 1+1, 1:1, and 1:n protection type; and

wherein each node in the plurality of nodes is operable to perform the steps of:

when receiving network traffic as a receiving node, detecting delay in traffic received from a transmitting node; and

in response to detecting delay during a non-protection event, communicating a signal to the transmitting node, wherein in response to the signal the transmitting node is operable to dynamically load balance traffic by adjusting a distribution of traffic between a respective primary path and a respective backup path from the transmitting node to the receiving node.

2. The network system of claim 1 :

wherein the plurality of nodes comprises:

a first plurality of nodes, wherein each node in the first plurality of nodes is coupled to communicate with all other nodes in the first plurality of nodes;

a second plurality of nodes, wherein each node in the second plurality of nodes is coupled to communicate with at least one node in the first plurality of nodes;

wherein each node in both the first plurality of nodes and the second plurality of nodes is coupled to communicate to another node via a respective primary path and via a respective backup path;

wherein each node in both the first plurality of nodes and the second plurality of nodes is operable to perform the steps of:

when receiving network traffic as a receiving node, detecting delay in traffic received from a transmitting node;

in response to detecting delay, communicating a signal to the transmitting node, wherein in response to the signal the transmitting node is operable to dynamically adjust a distribution of traffic through a respective primary path and a respective backup path from the transmitting node to the receiving node.

3. The system of claim 2 wherein each node in both the first plurality of nodes and the second plurality of nodes is operable to perform the additional steps of:

when receiving network traffic as a receiving node, receiving a network packet along a primary path from a transmitting node;

when receiving network traffic as a receiving node, receiving a network packet along a backup path from the transmitting node; and

distinguishing the received network packet received along the backup path from the network packet received along the primary path in response to a fixed constant difference between an identifier of the backup path and an identifier of the primary path.

4. The system of claim 3 :

wherein the first plurality of nodes comprise provider edge nodes;

wherein the first plurality of nodes comprise customer edge nodes; and

wherein the operability of any node to dynamically adjust a distribution of traffic through a respective primary path and a respective backup path occurs first for a primary respective path and a respective backup path between a customer edge node and a provider edge node.

5. The system of claim 4 wherein the operability of any node to dynamically adjust a distribution of traffic through a respective primary path and a respective backup path occurs second for a primary respective path and a respective backup path between a provider edge node and another provider edge node.

6. The system of claim 5 wherein the delay comprises hop delay.

7. The system of claim 2 :

wherein the first plurality of nodes comprise provider edge nodes;

wherein the first plurality of nodes comprise customer edge nodes; and

wherein the operability of any node to dynamically adjust a distribution of traffic through a respective primary path and a respective backup path occurs first for a primary respective path and a respective backup path between a customer edge node and a provider edge node.

8. The system of claim 7 wherein the operability of any node to dynamically adjust a distribution of traffic through a respective primary path and a respective backup path occurs second for a primary respective path and a respective backup path between a provider edge node and another provider edge node.

9. The system of claim 2 wherein each node in both the first plurality of nodes and the second plurality of nodes is operable to perform the steps of, as the transmitting node:

receiving the signal; and

dynamically adjusting a distribution of traffic through a respective primary path and a respective backup path from the transmitting node to the receiving node, both during a non-protection event and during a protection event.

10. The system of claim 2 wherein each node in both the first plurality of nodes and the second plurality of nodes is operable to perform the steps of, as the transmitting node:

receiving the signal; and

further in response to a number of flows, dynamically adjusting a distribution of traffic through a respective primary path and a respective backup path from the transmitting node to the receiving node.

11. The system of claim 2 wherein each node in both the first plurality of nodes and the second plurality of nodes is operable to perform the steps of, as the transmitting node:

receiving the signal; and

further in response to a number of flows, dynamically adjusting a distribution of traffic through a respective primary path and a respective backup path from the transmitting node to the receiving node, both during a non-protection event and during a protection event.

12. The system of claim 2 wherein each node in both the first plurality of nodes and the second plurality of nodes is operable to perform the additional steps of:

when receiving network traffic as a receiving node, receiving a network packet along a primary path from a transmitting node;

when receiving network traffic as a receiving node, receiving a network packet along a backup path from the transmitting node;

distinguishing the received network packet received along the backup path from the network packet received along the primary path in response to a fixed constant difference between an identifier of the backup path and an identifier of the primary path;

wherein each backup path supports one of 1+1, 1:1, and 1:n protection types; and

wherein the fixed constant differs based on the protection type.

13. The system of claim 2 wherein the first and second plurality of nodes form a virtual private local area network.

14. The system of claim 2 :

wherein the first plurality of nodes comprise provider edge nodes; and

wherein the first plurality of nodes comprise customer edge nodes.

15. The system of claim 1 wherein each node in both the first plurality of nodes and the second plurality of nodes is operable to perform the additional steps of:

when receiving network traffic as a receiving node, receiving a network packet along a primary path from a transmitting node;

when receiving network traffic as a receiving node, receiving a network packet along a backup path from the transmitting node;

distinguishing the received network packet received along the backup path from the network packet received along the primary path in response to a fixed constant difference between an identifier of the backup path and an identifier of the primary path; and

wherein the fixed constant differs based on the protection type.

16. A network node for use in a network system, wherein the network system comprises a plurality of nodes that include the node, wherein each node in the plurality of nodes is coupled to communicate with at least one other node in the plurality of nodes, wherein each node in the plurality of nodes is coupled to communicate to another node via a respective primary path and via a respective backup path, wherein each backup path supports at least one of 1+1, 1:1, and 1:n protection type; and

wherein the network node is operable to perform the steps of:

when receiving network traffic as a receiving node, detecting delay in traffic received from a transmitting node; and

in response to detecting delay, communicating a signal to the transmitting node, wherein in response to the signal the transmitting node is operable to dynamically adjust a distribution of traffic through a respective primary path and a respective backup path from the transmitting node to the receiving node.

17. The network node of claim 16 :

wherein the plurality of nodes comprises:

a first plurality of nodes, wherein each node in the first plurality of nodes is coupled to communicate with all other nodes in the first plurality of nodes;

a second plurality of nodes, wherein each node in the second plurality of nodes is coupled to communicate with at least one node in the first plurality of nodes;

wherein each node in both the first plurality of nodes and the second plurality of nodes is coupled to communicate to another node via a respective primary path and via a respective backup path;

wherein either the first plurality of nodes or the second plurality of nodes may comprise the network node;

wherein the network node is operable to perform the steps of:

when receiving network traffic as a receiving node, detecting delay in traffic received from a transmitting node;

when receiving network traffic as a receiving node and in response to detecting delay, communicating a signal to the transmitting node, wherein in response to the signal the transmitting node is operable to dynamically adjust a distribution of traffic through a respective primary path and a respective backup path from the transmitting node to the receiving node.

18. The network node of claim 17 wherein the network node is operable to perform the steps of:

when receiving a signal from a transmitting node in the plurality of nodes, wherein the signal is in response to delay detected by the transmitting node, dynamically adjusting a distribution of traffic through a respective primary path and a respective backup path from the network node to the transmitting node.

19. A method for load balancing in a node in a network system, wherein the network system includes a plurality of nodes coupled to communicate with at least one other node in the plurality of nodes via a respective primary path and via a respective backup path, wherein each backup path supports at least one of 1+1, 1:1, and 1:n protection type, comprising:

detecting delay in traffic received from a transmitting node;

in response to detecting delay, communicating a signal to the transmitting node;

in response to the signal during a non-protection event, switching a portion of traffic flows from a respective primary path to a respective backup path to dynamically load balance the traffic flows between the respective primary path and the respective backup path from the transmitting node to the receiving node, wherein the respective backup path provides at least one of 1+1, 1:1, and 1:n protection to the respective primary path.

Assignments (12)
PATENT SECURITY AGREEMENT Recorded Aug 6, 2024
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 068328/0674 →
RELEASE OF LIEN ON PATENTS Recorded Aug 5, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 068328/0278 →
PATENT SECURITY AGREEMENT Recorded Apr 22, 2023
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 063429/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
CHANGE OF NAME Recorded Dec 14, 2009
From: ALCATEL
To: ALCATEL LUCENT
Reel/Frame 023647/0699 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2004
From: SRIDHAR, KAMAKSHI; ALI, MAHER
To: ALCATEL
Reel/Frame 015608/0763 →