Global server load balancing
First Claim
1. A method of providing load balancing among host servers using a load balance switch and a plurality of site switches that each couple at least one of the host servers to a network, the method comprising:
- collecting, at the site switches, a site-specific metrics indicative of access conditions to the at least one of the host servers coupled to the respective site switch;
receiving, at the load balance switch, the site-specific metrics collected at the site switches for a set of performance metrics,wherein the set of performance metrics includes a connection-load metric that represents a measure of new connections per second at each respective site switch, the connection-load metric being determined by;
setting a connection load limit;
determining new connections at site switches using a sampling rate and a sampling interval;
assigning a weight to each interval; and
calculating an average load for each of the site switches using the weight assigned to each interval and the determined new connections at each interval;
the method further comprising;
whenever network addresses are provided in response to a query, arranging the network addresses as an ordered list in accordance with the set of performance metrics; and
sending the ordered list of network addresses as a response to the query.
8 Assignments
0 Petitions
Accused Products
Abstract
A global server load-balancing (GSLB) switch serves as a proxy to an authoritative DNS and communicates with numerous site switches that are coupled to host servers serving specific applications. The GSLB switch receives from site switches operational information regarding host servers within the site switches neighborhood. When a client program requests a resolution of a host name, the GSLB switch, acting as a proxy of an authoritative DNS, returns one or more ordered IP addresses for the host name. The IP addresses are ordered using metrics that include the information collected from the site switches. In one instance, the GSLB switch places the address that is deemed “best” at the top of the list.
383 Citations
25 Claims
-
1. A method of providing load balancing among host servers using a load balance switch and a plurality of site switches that each couple at least one of the host servers to a network, the method comprising:
-
collecting, at the site switches, a site-specific metrics indicative of access conditions to the at least one of the host servers coupled to the respective site switch; receiving, at the load balance switch, the site-specific metrics collected at the site switches for a set of performance metrics, wherein the set of performance metrics includes a connection-load metric that represents a measure of new connections per second at each respective site switch, the connection-load metric being determined by; setting a connection load limit; determining new connections at site switches using a sampling rate and a sampling interval; assigning a weight to each interval; and calculating an average load for each of the site switches using the weight assigned to each interval and the determined new connections at each interval;
the method further comprising;whenever network addresses are provided in response to a query, arranging the network addresses as an ordered list in accordance with the set of performance metrics; and sending the ordered list of network addresses as a response to the query. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of providing load balancing among host servers using a load balance switch and plurality of site switches that each couple at least one of the host servers to a network, the method comprising:
-
receiving, from the site switches, site-specific metrics for a set of performance metrics indicative of access conditions to the at least one of the host servers coupled to the respective site switch, wherein the set of performance metrics includes a connection-load metric, said connection-load metric representing a measure of new connections per second at each respective site switch, said connection-load metric being calculated by; sampling new connections at the site switches based on a sampling rate and a sampling interval; assigning a weight to each interval; calculating an average load of new connections for each of the site switches by using the weight assigned to each interval and the new connections of each interval;
the method further including;ordering, based on the calculated average loads of each of the site switches, a list of network addresses that are responsive to a query, said ordering including; accepting site switches that have a calculated average load less than a connection load limit; and rejecting site switches that have a calculated average load greater than the connection load limit. - View Dependent Claims (9, 10, 11)
-
-
12. An article of manufacture usable in a system that provides load balancing among host servers using a load balance switch and a plurality of site switches that each couple at least one of the host servers to a network, the article of manufacture comprising:
-
a machine-readable medium having instructions stored thereon to; request, from the site switches, a site-specific metric indicative of new connections per unit of time to the site switches; whenever network addresses are provided in response to a query, arrange the network addresses as an ordered list based at least in part on the site-specific metric received from the site switches; and send the ordered list of network addresses as a response to the query, wherein the machine-readable medium is located at the load balance switch and further includes instructions stored thereon to; set a connection load limit; request new connection data from the site switches, the connection data being obtained using a sampling rate and a sampling interval; assign a weight to each interval; calculate an average load for each of the site switches using the weight assigned to each interval and the new connection data for each interval; accept, for the ordered list of network addresses, site switches that have a calculated average load less than the connection load limit; and reject site switches that have a calculated average load greater than the connection load limit. - View Dependent Claims (13, 14, 15)
-
-
16. A method of providing load balancing among host servers using a load balance switch and plurality of site switches that each couple at least one of the host servers to a network, the method comprising:
-
determining a number of new connections per unit time for at least some of the site switches using a sampling rate and a sampling interval; and arranging a list of network addresses based at least in part on the determined number of new connections per unit time, in a manner that site switches having a lower number of new connections per unit time relative to other site switches are preferentially selected to receive network traffic, the method further comprising; assigning a weight to at least one of the sampling intervals; calculating an average load for each site switch using;
a) the weight assigned to the at least one sampling interval, and b) determined new connections corresponding to the at least one sampling interval;comparing the calculated average load for each site switch with a connection load limit; accepting, for the list of network addresses, site switches that have a calculated average load less than the connection load limit; and rejecting site switches that have a calculated average load greater than the connection load limit. - View Dependent Claims (17, 18)
-
-
19. An article of manufacture usable to provide load balancing in a network including host servers, the article of manufacture comprising:
-
a machine-readable storage medium storing instructions to; store a connection load limit; calculate, or store a remotely calculated, average load for each of a plurality of site switches, each respective calculated average load reflecting a number of new connections per second to each of the plurality of site switches, each of the site switches for coupling at least one of said host servers to the network, the new connections to the site switches being determined using a sampling rate and a sampling interval, the calculated average load of each respective site switch being calculated by using a weight assigned to each interval and the new connections for each of the intervals; output a list of network addresses based on the calculated average load of each of said plurality of site switches, including; accept, for the list of network addresses, any of said site switches that has a calculated average load less than the connection load limit; and reject site switches that have a calculated average load greater than the connection load limit. - View Dependent Claims (20)
-
-
21. An apparatus to balance load among host servers of a network, the apparatus comprising:
-
a network device adapted to communicate with a plurality of site switches, each site switch for coupling at least one of said host servers to the network, the network device being configurable to receive from the site switches site-specific metrics for a set of performance metrics that are indicative of access conditions to the respective host servers, wherein the set of performance metrics includes a connection-load metric representing a measure of new connections per second at the respective site switches based on a sampling rate and a sampling interval, the connection-load metric being determinable by the network device which is configurable to calculate an average load of new connections for each of the site switches using a weight assigned to each interval and the new connections of each interval, and to order, based on the calculated average loads of each of the site switches, a list of network addresses that are responsive to a query, wherein the network device includes a metric collector, and a controller configurable to (a) set a connection load limit, (b) via the metric collector, obtain the new connections per sampling interval from the site switches, and (c) for said ordering, accept site switches that have a calculated average load less than the connection load limit and reject site switches that have a calculated average load greater than the connection load limit. - View Dependent Claims (22, 23, 24, 25)
-
Specification