Application delivery controller and global server load balancer
First Claim
Patent Images
1. A method for load balancing among host servers of a data network, the method comprising:
- receiving, by a Global Server Load Balancer (GSLB), a domain name query from a client;
retrieving, by the GSLB, a plurality of network addresses associated with the domain name query, the plurality of network addresses being associated with a plurality of host servers;
upon the retrieving the plurality of network addresses;
determining, by the GSLB, at least a round trip time between a Local Domain Name Server (LDNS) associated with the client and each of the plurality of host servers associated with the plurality of network addresses, the determining including exchanging at least one message between the LDNS and each of the plurality of host servers; and
determining, by the GSLB, geographic distances between the LDNS and each of the plurality of host servers;
based on the determining of both the round trip time and the geographic distances, storing, by the GSLB, the round trip time for each of the plurality of network addresses and the geographic distances to a metrics table, the metrics table storing multiple performance metrics for each of the plurality of network addresses;
randomly selecting, by the GSLB, a network address of the plurality of network addresses, the randomly selected network address having performance metrics selected from the multiple performance metrics;
scoring the performance metrics of the randomly selected network address to obtain an aggregated metrics score of the randomly selected network address;
determining, by the GSLB, whether the aggregated metrics score of the randomly selected network address meets a predetermined threshold; and
based on the determination that the aggregated metrics score meets the predetermined threshold, returning, by the GSLB, the randomly selected network address.
1 Assignment
0 Petitions
Accused Products
Abstract
Application Delivery Controller (ADC), Global Server Load Balancer (GSLB), and methods for their operation in data networks are disclosed. The methods for load balancing may include receiving a query concerning a host name from a client, determining that there are two or more host servers associated with the host name, measuring various metrics associated with each of the two or more host servers and a local Doman Name Server (DNS), and based at least in part on the measurement, selecting a host server among the two or more host servers. The load balancing may also be based on a measured round trip time.
392 Citations
20 Claims
-
1. A method for load balancing among host servers of a data network, the method comprising:
-
receiving, by a Global Server Load Balancer (GSLB), a domain name query from a client;
retrieving, by the GSLB, a plurality of network addresses associated with the domain name query, the plurality of network addresses being associated with a plurality of host servers;
upon the retrieving the plurality of network addresses;determining, by the GSLB, at least a round trip time between a Local Domain Name Server (LDNS) associated with the client and each of the plurality of host servers associated with the plurality of network addresses, the determining including exchanging at least one message between the LDNS and each of the plurality of host servers; and determining, by the GSLB, geographic distances between the LDNS and each of the plurality of host servers; based on the determining of both the round trip time and the geographic distances, storing, by the GSLB, the round trip time for each of the plurality of network addresses and the geographic distances to a metrics table, the metrics table storing multiple performance metrics for each of the plurality of network addresses; randomly selecting, by the GSLB, a network address of the plurality of network addresses, the randomly selected network address having performance metrics selected from the multiple performance metrics; scoring the performance metrics of the randomly selected network address to obtain an aggregated metrics score of the randomly selected network address; determining, by the GSLB, whether the aggregated metrics score of the randomly selected network address meets a predetermined threshold; and based on the determination that the aggregated metrics score meets the predetermined threshold, returning, by the GSLB, the randomly selected network address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for load balancing among host servers of a data network, the method comprising:
-
receiving, by a global server load balancer (GSLB), a query concerning a host name from a client; determining, by the GSLB, that there are two or more site switches and two or more host servers associated with the host name; determining, by the GSLB, a round trip time between a Local Domain Name Server (LDNS) assigned to the client and each of the two or more site switches, the determining including exchanging at least one message between the LDNS and each of the two or more site switches and determining, by the GSLB, geographic distances between the LDNS and each of the two or more site switches; based on the determining of both the round trip time and the geographic distances, storing, by the GSLB, the round trip time for each of the two or more site switches and the geographic distances to a metrics table, the metrics table storing multiple performance metrics for each of the two or more site switches; randomly selecting, by the GSLB, a host server from the two or more host servers, the randomly selected host server being associated with a site switch of the two or more site switches; scoring, by the GSLB, the multiple performance metrics of the site switch to obtain an aggregated metrics score of the site switch; determining, by the GSLB, that the aggregated metrics score of the site switch meets a predetermined threshold; and based on the determination, returning, by the GSLB, a network address of the randomly selected host server associated with the site switch. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification