IP Library Granted Patent US 8,259,715
Granted Patent B2
US 8,259,715 · App. 11/782,840 · Granted Sep 4, 2012

System and method for traffic load balancing to multiple processors

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 8,259,715
App. No.
11/782,840
Granted
Sep 4, 2012
Kind
B2
Abstract

A method for load balancing selects one of a set of distribution formulas to associate packets of each of multiple communications sessions traversing a link to one of a plurality of output links and assigns the associated packets of at least one of the communications sessions to a different output link.

Claims (37)

1. A method for load balancing, comprising:

applying each of a plurality of distribution formulas to packets of a plurality of communications sessions;

selecting one of the plurality of distribution formulas to associate the packets of each of the plurality of communications sessions traversing a link to one of a plurality of output links based upon outputs resulting from application of the plurality of distribution formulas;

monitoring distribution of packets outputted through the plurality of output links; and

assigning the associated packets of at least one of the communications sessions to an output link other than the output link to which the packets of the at least one of the communications sessions is associated in response to the distribution of packets through the plurality of output links being uneven with respect to each other.

2. The method of claim 1 , wherein the selecting further comprises:

identifying a particular distribution formula of the plurality of distribution formulas that associates packets of a substantially equal number of the communications sessions to each of the plurality of output links; and

selecting the particular distribution formula.

3. The method of claim 1 , further comprising:

generating, for each packet associated with an output link, a pointer to an output table entry; and

initializing, for the each packet associated with the output link, the output table entry with the output link assignment according to the association.

4. The method of claim 3 , further comprising:

monitoring the output table entries to determine a distribution of packets using load parameters among processors associated with the output links; and

overwriting entries in the output table associated with packets of the at least one of the communications sessions to assign the packets to a different output link based on the load parameters.

5. The method of claim 4 , wherein the load parameters are received as feedback from the processors.

6. The method of claim 4 wherein the associating is based on a distribution of the plurality of communications sessions and the overwriting is based on load parameters appended to the packets.

7. The method of claim 6 , wherein the load parameters include a number of bytes in a communications session.

8. The method of claim 6 , wherein the monitoring further comprises:

determining load parameters for each communications session associated with an output link by reading the data appended to each packet in a communications session assigned to the output link.

9. A load balancer, comprising:

a first stage module to apply each of a plurality of distribution formulas to packets of a plurality of communications sessions, to select one of the plurality of distribution formulas to associate the packets of each of the plurality of communications sessions traversing a link to one of a plurality of output links based upon outputs resulting from application of the plurality of distribution formulas; and

a second stage module operable to monitor distribution of packets outputted through the plurality of output links and assign the associated packets of at least one of the communications sessions to an output link other than the output link to which the packets of the at least one of the communications sessions is associated in response to the distribution of packets through the plurality of output links being uneven with respect to each other.

10. A method for load balancing, comprising:

associating packets of each of a plurality of communications sessions traversing a link to one of a plurality of output links by using a distribution formula that ensures that the packets of a particular communications session are associated with the same output link, wherein each of the plurality of communications sessions comprises a communication session between separate pairs of parties;

monitoring distribution of packets outputted through the plurality of output links; and

assigning the associated packets of at least one of the communications sessions to a different output link in response to the distribution of packets through the plurality of output links being uneven with respect to each other.

11. The method of claim 1 , wherein selecting one of a plurality of distribution formulas further comprises selecting one of a plurality of distribution formulas that ensures that the packets of a particular communications session are associated with the same output link, wherein each of the plurality of communications sessions comprises a communication session between separate pairs of parties.

12. The load balancer of claim 9 , wherein the first stage module is further to select one of a plurality of distribution formulas that ensures that the packets of a particular communications session are associated with the same output link, wherein each of the plurality of communications sessions comprises a communication session between separate pairs of parties.

13. The load balancer of claim 9 , wherein the first stage module is to identify a particular distribution formula of the plurality of distribution formulas that associates packets of a substantially equal number of the communications sessions to each of the plurality of output links, and to select the particular distribution formula.

14. The load balancer of claim 9 , wherein the first stage module is to generate, for each packet associated with an output link, a pointer to an output table entry, and to initialize, for the each packet associated with the output link, the output table entry with the output link assignment according to the association.

15. The load balancer of claim 14 , wherein the second stage module is to monitor the output table entries to determine a distribution of packets using load parameters among processors associated with the output links, and to overwrite entries in the output table associated with packets of the at least one of the communications sessions to assign the packets to a different output link based on the load parameters.

16. The method of claim 10 , further comprising:

generating, for each packet associated with an output link, a pointer to an output table entry; and

initializing, for the each packet associated with the output link, the output table entry with the output link assignment according to the association.

17. The method of claim 16 , further comprising:

monitoring the output table entries to determine a distribution of packets using load parameters among processors associated with the output links; and

overwriting entries in the output table associated with packets of the at least one of the communications sessions to assign the packets to a different output link based on the load parameters.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2016
From: TREND MICRO INCORPORATED
To: TREND MICRO INCORPORATED
Reel/Frame 039512/0945 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2016
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: TREND MICRO INCORPORATED
Reel/Frame 039203/0047 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 036987/0001 →