IP Library Granted Patent US 8,260,958
Granted Patent B2
US 8,260,958 · App. 12/660,278 · Granted Sep 4, 2012

Reducing energy consumption of servers

Assignee: F5 Networks, Inc.
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,260,958
App. No.
12/660,278
Granted
Sep 4, 2012
Kind
B2
Abstract

A load balancer, comprising a network interface, a power conservation unit, and a routing module configured to route client requests received through the network interface to a plurality of servers. The power conservation unit is characterized by having a learning mode and a routing mode. In the learning mode one or more operation parameters of the servers are determined for a plurality of different external conditions and for a plurality of different values of one or more operation parameters of the routing module, and to generate a correlation table between the operation parameters of the routing module and the external conditions. In the routing mode the power conservation unit adjusts the operation parameters of the routing module responsive to the external conditions, using the correlation table.

Claims (37)

1. A load balancer processing unit that balances communications over a network, comprising:

a network interface;

a routing module that routes client requests received through the network interface to a plurality of servers; and

a power conservation unit that operates in a plurality of modes, including at least:

a learning mode that performs actions over a period of time, including:

determining one or more operation parameters of the servers for a plurality of different external conditions and for a plurality of different values of one or more operation parameters of the routing module by testing a plurality of test load values and test load balance parameter values;

transmitting a plurality of test requests to the servers as prescribed by at least one test load balance parameter value, wherein at least one of the operation parameters are determined based on the transmission; and

generating a correlation table between the determined operation parameters of the routing module and the external conditions; and

a routing mode in which the power conservation unit adjusts the operation parameters of the routing module responsive to the external conditions, using the correlation table.

2. A load balancer according to claim 1 , wherein the one or more operation parameters of the servers comprise a measure of a response time to client requests.

3. A load balancer according to claim 1 , wherein the one or more operation parameters of the routing module comprise the number of servers to which client requests are routed.

4. A load balancer according to claim 1 , wherein the one or more operation parameters of the routing module comprises a number of connections used by the routing module to route client requests to the servers.

5. A load balancer according to claim 1 , wherein the one or more operation parameters of the routing module comprises a rate at which the routing module forwards client requests to the servers.

6. A load balancer according to claim 1 , wherein the routing module is adapted to operate with multi-core servers that self adjust the number of cores they use to their load.

7. A load balancer according to claim 1 , wherein during the learning mode the power conservation unit transmits the plurality of test requests which are generated by the load balancer to the servers.

8. A load balancer according to claim 1 , wherein during the learning mode the power conservation unit selects operation parameters of the routing module corresponding to specific external conditions as the routing module parameters that use the least resources but still provide a response time within a required range.

9. A load balancer according to claim 1 , wherein the power conservation unit is adapted to periodically enter the learning mode.

10. A load balancer according to claim 9 , wherein the power conservation unit is adapted to enter the learning mode responsive to a determination that the correlation table needs updating.

11. A load balancer according to claim 9 , wherein the power conservation unit is adapted to enter the learning mode at predetermined times.

12. A load balancer according to claim 9 , wherein during the learning mode the routing module is adapted to route client requests received through the network interface to the servers.

13. A load balancer according to claim 9 , wherein during the learning mode the routing module is adapted to generate test requests that are not received through the network interface and to forward the generated test requests to the servers.

14. A load balancer according to claim 13 , wherein the routing module is adapted to generate the test requests based on client requests received through the network interface.

15. A method of routing client requests to servers by a load balancer processing unit, comprising:

operating the load balancer processing unit in a learning mode that performs actions over a period of time, including determining a plurality of load balancer parameter values for each of a plurality of specific external conditions by testing a plurality of test load values and test load balancer parameter values, and accordingly a specific set of determined load balancer parameter values are selected for each specific external conditions;

transmitting a plurality of test requests to the servers as prescribed by at least one test load balancer parameter value, wherein at least one of the load balancer parameter values are determined based on the transmission; and

during a routing mode of the load balancer, determining external conditions and selecting determined load balancer parameter values responsive to the determined external conditions.

16. The method of claim 15 , comprising automatically entering the learning mode responsive to a determination that the average response time of the servers is outside a predetermined value range.

17. A method of load balancing, comprising:

receiving client requests by a load balancer processing unit;

operating the load balancer in a learning mode that performs actions over a period of time, including:

determining a plurality of operation parameters for the load balancer for a plurality of different external conditions by testing a plurality of test load values and test load balancer parameter values;

transmitting a plurality of test requests to at least one of a plurality of servers as prescribed by at least one test load balancer parameter value, wherein at least one of the operation parameters are determined based on the transmission; and

generating a correlation between the determined plurality of operation parameters and the different external conditions; and

forwarding the client requests to the plurality of servers adapted to adjust a number of cores they use responsive to their load;

determining a load value on the load balancer; and

enabling the load balancer to adjust a number of connections used to forward the client requests to the servers based on at least one determined operation parameter that correlates to an external condition that includes at least the determined current load value.

18. The method of claim 17 , wherein adjusting the number of connections comprises adjusting to a number selected during the learning mode of the load balancer for the determined load value.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2011
From: CRESCENDO NETWORKS, LTD.
To: F5 NETWORKS, INC.
Reel/Frame 026832/0145 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2010
From: HASSON, URI; SHURMAN, MICHAEL
To: CRESCENDO NETWORKS LTD.
Reel/Frame 024180/0015 →
Continuity (1)
Related Publication 20110208875A1 · Aug 25, 2011