IP Library Granted Patent US 7,903,557
Granted Patent B1
US 7,903,557 · App. 11/525,254 · Granted Mar 8, 2011

Multipathing using multiple endpoint addresses for load balancing in a 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,903,557
App. No.
11/525,254
Granted
Mar 8, 2011
Kind
B1
Abstract

A method for balancing load on a network by selecting a path based on a load balancing algorithm and assigning one of several pairs of endpoint addresses for a flow based on the path selected. One pair of endpoint addresses corresponds to a first path and another pair of endpoint addresses corresponds to a second path. If the first path is selected, the first pair of endpoint addresses is assigned to the flow. If the second path is selected, the second pair of endpoint addresses is assigned to the flow. In one embodiment, based on the assigned pair of endpoint address, the flow is switched to an endpoint by the selected path.

Claims (26)

1. A method for balancing traffic load on a network, the method comprising:

selecting one of a plurality of paths for a flow based on a load balancing algorithm, the paths including at least a first path and a second path, the first path corresponding to a first pair of endpoint addresses and including a first switch, and the second path corresponding to a second pair of endpoint addresses and including a second switch, the selecting comprising:

determining a first average of an amount of data originated by an endpoint and passing through a first critical section, the first path includes the first critical section;

determining a second average of an amount of data originated by the endpoint and passing through a second critical section, the second path includes the second critical section;

if the first average is larger than the second average, selecting the second path; and

if the second average is larger than the first average, selecting the first path;

assigning the first pair of endpoint addresses to the flow if the first path is selected; and

assigning the second pair of endpoint addresses to the flow if the second path is selected.

2. The method of claim 1 , wherein the first pair of endpoint addresses comprises a first source endpoint address and a first destination endpoint address, and wherein the second pair of endpoint addresses comprises a second source endpoint address and a second destination endpoint address.

3. The method of claim 2 , wherein the first source endpoint address is associated with an endpoint, and wherein the second source endpoint address is associated with the same endpoint.

4. The method of claim 2 , wherein the first destination endpoint address is associated with an endpoint, and wherein the second destination endpoint address is associated with the same endpoint.

5. The method of claim 1 , wherein the second path does not include the first switch.

6. The method of claim 1 , further comprising:

Based on the assigned pair of endpoint addresses, switching the flow to an endpoint by the selected path.

7. A system for balancing traffic load on a network, the system comprising:

a network processor;

a memory, the memory containing a flow, a load balancing algorithm, and a load balancing program for selecting one of a plurality of paths based upon the load balancing algorithm, the paths including at least a first path and a second path, the first path corresponding to a first pair of endpoint addresses and including a first switch, and the second path corresponding to a second pair of endpoint addresses and including a second switch, wherein the load balancing algorithm:

determines a first average of an amount of data originated by an endpoint and passing through a first critical section, the first path includes the first critical section;

determines a second average of an amount of data originated by the endpoint and passing through a second critical section, the second path includes the second critical section;

if the first average is larger than the second average, selects the second path; and

if the second average is larger than the first average, selects the first path, and wherein the load balancing program assigns the first pair of endpoint addresses to the flow if the first path is selected and assigns the second pair of endpoint addresses to the flow if the second path is selected.

8. The system of claim 7 , wherein the first pair of endpoint addresses comprises a first source endpoint address and a first destination endpoint address, and wherein the second pair of endpoint addresses comprises a second source endpoint address and a second destination endpoint address.

9. The system of claim 8 , wherein the first source endpoint address is associated with an endpoint, and wherein the second source endpoint address is associated with the same endpoint.

10. The system of claim 8 , wherein the first destination endpoint address is associated with an endpoint, and wherein the second destination endpoint address is associated with the same endpoint.

11. The system of claim 7 , wherein the second path does not include the first switch.

12. The system of claim 7 , wherein the memory further contains a forwarding table configured to switch the flow towards an endpoint by the selected path based on the assigned pair of endpoint addresses.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2012
From: QLOGIC CORPORATION
To: INTEL CORPORATION
Reel/Frame 028168/0202 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2007
From: COLLOFF, IAN G.; LINDAHL, GREGORY B.; MCWILLIAMS, THOMAS M.
To: QLOGIC, CORPORATION
Reel/Frame 019383/0378 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2007
From: QLOGIC SYSTEM INTERCONNECT GROUP, INC.
To: QLOGIC, CORPORATION
Reel/Frame 018886/0346 →
CHANGE OF NAME Recorded Feb 7, 2007
From: PATHSCALE, INC.
To: QLOGIC SYSTEM INTERCONNECT GROUP, INC.
Reel/Frame 018865/0862 →