IP Library › Granted Patent US 8,782,225
Granted Patent B2
US 8,782,225 · App. 14/017,622 · Granted Jul 15, 2014

On-demand global server load balancing system and method of use

Inventors: Bahri B. Bali (Cary, NC); Gordan G. Greenlee (Endicott, NY); Richard E. Weingarten (Erie, CO)
Assignee: International Business Machines Corporation
H04L67/1008H04L43/0876H04L67/1002H04L67/1004H04L43/0817H04L67/1021H04L67/1023G06F11/3433
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,782,225
App. No.
14/017,622
Granted
Jul 15, 2014
Kind
B2
Abstract

A method and system for measuring performance and balancing workload of sites and servers is provided. The method includes measuring performance of one or more servers located at different sites of the network and computing a performance metric for each of the sites or one or more servers at each of the sites. The method further includes providing a bias to the performance metric and routing a request to one of the different sites or one of the one or more servers based on the biased performance metric.

Claims (56)

1. A computer program product comprising a computer usable device having readable program code embodied in the device, the computer program product includes at least one component configured to:

measure performance of one or more servers located at different sites of a network;

compute a load balancing performance metric for each of the sites or the one or more servers at each of the sites;

provide a bias to the load balancing performance metric; and

route a request to one of the different sites or one of the one or more servers based on the biased load balancing performance metric to balance a workload among the one or more servers,

wherein the bias is a multiplier that accentuates a load issue by proactively taking into consideration overall architecture of the network in order to adjust the workload among the one or more servers prior to any capacity problems;

the load balancing performance metric is a load value; and

the load value is calculated by:

factor=(upperbound−lowerbound)/critical response time; and

load=round((factor*response time)+lowerbound),

where:

upperbound is an upper boundary of a load or utilization of the one or more servers;

lowerbound is a lower boundary of a load or utilization of the one or more servers;

response time is an amount of time it takes from when a request was submitted until a response is produced; and

critical response time is a threshold to determine whether the one or more servers needs to be marked down.

2. The computer program product of claim 1 , wherein the at least one component is further configured to compute a proximity metric based on a distance between each of the different sites and a requestor.

3. The computer program product of claim 1 , wherein the performance metric includes the critical response time from the one or more servers at the sites.

4. The computer program product of claim 1 , wherein the biased load balancing performance metric is weight.

5. The computer program product of claim 1 , wherein the at least one component is further configured to:

route the request to a site selector for selecting a site from the different sites;

select the site for processing the request based on the biased load balancing performance metric; and

route the request to an address associated with the site for processing.

6. The computer program product of claim 5 , wherein the address is an address of a network dispatcher.

7. The computer program product of claim 6 , wherein the routing comprises:

selecting one server of a plurality of servers at the site; and

routing the request to the one server.

8. The computer program product of claim 1 , wherein the at least one component is further configured to store the site load balancing performance metric on at least one site selector.

9. The computer program product of claim 1 , wherein the bias is based on an architecture of the network.

10. The computer program product of claim 9 , wherein the architecture includes at least one of networking speed, number of servers at each site, types of servers and their specific configurations.

11. The computer program product of claim 1 , wherein the load value is biased to:

proactively identify sites of the different sites that have a capacity to respond to the request; and

automatically direct traffic away from sites which are running close to, at or over capacity.

12. The computer program product of claim 11 , wherein the load balancing performance metric is computed based on response times that are greater than the critical response time, which is a threshold used to determine whether the different sites or the one or more servers need to be marked down or not.

13. The computer program product of claim 12 , wherein the at least one component is further configured to provide a limit on how many consecutive response times that are greater than the critical response time can be set, wherein:

until the limit is exceeded, a last valid biased load value is used to route traffic;

if a response time value cannot be obtained, a last biased load value cached from a previous cycle is used to route traffic; and

a default biased load value is used to route traffic.

14. The computer program product of claim 13 , wherein the at least one component is further configured to time stamp a last two response time values and making a comparison thereof, wherein if the comparison provides a same value, the last valid biased load value is used to route traffic.

15. The computer program product of claim 1 , wherein the bias multiplier is highest for a server of the one or more servers that has a highest capacity with relation to other servers of the one or more servers.

16. The computer program product of claim 1 , wherein the providing the bias to the load balancing performance metric comprises adjusting the load balancing performance metric by the bias multiplier to determine the biased load balancing performance metric.

17. The computer program product of claim 16 , wherein the bias multiplier is user-supplied.

18. The computer program product of claim 17 , wherein the bias multiplier accounts for networking speed, an amount of servers at a respective site, types of servers at the respective site and overall configuration of servers at the respective site.

19. A computer program product comprising a computer usable device having readable program code embodied in the device, the computer program product includes at least one component to:

measure performance of one or more servers at different locations; and

route a request to the one of the one or more servers based on a computed load balancing performance metric including proximity to the requestor and a biased allocation of workload amongst the one or more servers,

wherein the biased allocation of workload comprises a computed allocation of workload changed by a bias factor, and

wherein the bias is a multiplier that accentuates a load issue by proactively taking into consideration overall architecture of the network in order to adjust the workload among the one or more servers prior to any capacity problems;

the load balancing performance metric is a load value; and

the load value is calculated by:

factor=(upperbound*lowerbound)/critical response time; and

load=round((factor*response time)+lowerbound),

where:

upperbound is an upper boundary of a load or utilization of the one or more servers;

lowerbound is a lower boundary of a load or utilization of the one or more servers;

response time is an amount of time it takes from when a request was submitted until a response is produced; and

critical response time is a threshold to determine whether the one or more servers needs to be marked down.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2013
From: BALI, BAHRI B.; GREENLEE, GORDAN G.; WEINGARTEN, RICHARD E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 031136/0027 →
Continuity (3)
Continuation 11464097 · Aug 11, 2006
Provisional Application 60793637 · Apr 21, 2006
Related Publication 20140006614A1 · Jan 2, 2014