Global server load balancing
DC CAFCFirst Claim
1. A method of performing load balancing using a load balancing switch, the method comprising:
- storing, at the load balancing switch, performance metrics regarding a plurality of site switches, each site switch associated with one or more host servers, wherein the one or more host servers associated with a site switch are reachable via the site switch using a virtual address configured at the site switch and wherein the performance metrics regarding a site switch comprise one or more metrics related to one or more host servers associated with the site switch;
storing, at the load balancing switch, a plurality of network addresses generated in response to a domain name query;
ordering the plurality of network addresses at the load balancing switch based upon a first set of performance metrics from the stored performance metrics to generate a first ordered list of network addresses;
determining if a single network address tops the first ordered list generated based upon the first set of performance metrics; and
upon determining that a single network address does not top the first ordered list, reordering, at the load balancing switch, one or more network addresses from the plurality of network addresses based upon a second set of performance metrics from the stored performance metrics, wherein the second set of performance metrics is different from the first set of performance metrics.
8 Assignments
Litigations
0 Petitions
Reexaminations
Accused Products
Abstract
A global server load balancing (GSLB) switch serves as a proxy to an authoritative DNS communicates with numerous site switches which 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.
372 Citations
28 Claims
-
1. A method of performing load balancing using a load balancing switch, the method comprising:
-
storing, at the load balancing switch, performance metrics regarding a plurality of site switches, each site switch associated with one or more host servers, wherein the one or more host servers associated with a site switch are reachable via the site switch using a virtual address configured at the site switch and wherein the performance metrics regarding a site switch comprise one or more metrics related to one or more host servers associated with the site switch; storing, at the load balancing switch, a plurality of network addresses generated in response to a domain name query; ordering the plurality of network addresses at the load balancing switch based upon a first set of performance metrics from the stored performance metrics to generate a first ordered list of network addresses; determining if a single network address tops the first ordered list generated based upon the first set of performance metrics; and upon determining that a single network address does not top the first ordered list, reordering, at the load balancing switch, one or more network addresses from the plurality of network addresses based upon a second set of performance metrics from the stored performance metrics, wherein the second set of performance metrics is different from the first set of performance metrics. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method performed by a load balancing switch, the method comprising:
-
storing, at the load balancing switch, performance metrics for a first site switch and a second site switch, wherein the performance metrics for the first site switch comprise metrics related to one or more host servers associated with the first site switch and reachable via the first site switch and the performance metrics for the second site switch comprise metrics related to one or more host servers associated with the second site switch and reachable via the second site switch; storing, at the load balancing switch, a plurality of network addresses generated in response to a domain name query; and ordering, at the load balancing switch, the plurality of network addresses one or more times based upon the stored performance metrics until an ordered list of network addresses is generated that has only one network address at the top of the ordered list; wherein the ordering comprises ordering the plurality of network addresses using at least one of round trip time information associated with the first and second site switches, wherein the round trip time information associated with a site switch is indicative of time for exchanging messages between the site switch and a client machine generating the domain name query, available session capacity associated with network addresses in the plurality of network addresses, a flashback speed associated with the first site switch and the second site switch, wherein a flashback speed associated with a site switch is indicative of a time required for the site switch to respond to a health check performed by the load balancing switch on the site switch, geographical locations of the host servers associated with the first and second site switches, or previous selections of network addresses in the plurality of network addresses as the best network address in response to a domain name query.
-
-
13. A system for performing load balancing, the system comprising:
-
a load balancing switch configured to store performance metrics for a plurality of site switches, each site switch associated with one or more host servers, wherein the one or more host servers associated with a site switch are reachable via the site switch using a virtual address configured at the site switch, the stored performance metrics comprising one or more metrics related to the one or more host servers; wherein the load balancing switch is further configured to; store a plurality of network addresses generated in response to a domain name query; order the plurality of network addresses based upon a first set of performance metrics from the stored performance metrics to generate a first ordered list of network addresses; determine if a single network address tops the first ordered list generated based upon the first set of performance metrics; and reorder one or more network addresses from the plurality of network addresses based upon a second set of performance metrics from the stored performance metrics upon determining that a single network address does not top the first ordered list wherein the second set of performance metrics is different from the first set of performance metrics. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A system for performing load balancing, the system comprising:
-
a load balancing switch adapted to store performance metrics for a first site switch and a second site switch, wherein the performance metrics for the first site switch comprise metrics related to one or more host servers associated with the first site switch and reachable via the first site switch and the performance metrics for the second site switch comprise metrics related to one or more host servers associated with the second site switch and reachable via the second site switch, store a plurality of network addresses generated in response to a domain name query, and order the plurality of network addresses one or more times based upon the stored performance metrics until an ordered list of network addresses is generated that has only one network address at the top of the ordered list; wherein the load balancing switch is adapted to order the plurality of network addresses using at least one of round trip time information associated with the first and second site switches, wherein the round trip time information associated with a site switch is indicative of time for exchanging messages between the site switch and a client machine generating the domain name query, available session capacity associated with network addresses in the plurality of network addresses, a flashback speed associated with the first site switch and the second site switch, wherein a flashback speed associated with a site switch is indicative of a time required for the site switch to respond to a health check performed by the load balancing switch on the site switch, geographical locations of the host servers associated with the first and second site switches, or previous selections of network addresses in the plurality of network addresses as the best network address in response to a domain name query.
-
-
25. A computer-readable storage medium storing a plurality of instructions for controlling a processor to perform load balancing, the plurality of instructions comprising:
-
instructions that cause the processor to store performance metrics regarding a plurality of site switches, each site switch associated with one or more host servers, wherein the one or more host servers associated with a site switch are reachable via the site switch using a virtual address configured at the site switch and wherein the performance metrics regarding a site switch comprise one or more metrics related to one or more host servers associated with the site switch; instructions that cause the processor to store a plurality of network addresses generated in response to a domain name query; instructions that cause the processor to order the plurality of network addresses based upon a first set of performance metrics from the stored performance metrics to generate a first ordered list of network addresses; instructions that cause the processor to determine if a single network address tops the first ordered list generated based upon the first set of performance metrics; and instructions that cause the processor to reorder one or more network addresses from the plurality of network addresses based upon a second set of performance metrics from the stored performance metrics upon determining that a single network address does not top the first ordered list, wherein the second set of performance metrics is different from the first set of performance metrics.
-
-
26. A method performed by a load balancing switch, the method comprising:
-
performing, at the load balancing switch, a first ordering of a plurality of network addresses based upon a first set of performance metrics for a set of servers, the plurality of network addresses generated in response to a domain name query; and performing, based upon a result of the first ordering, a second ordering of the plurality of network addresses based upon a second set of performance metrics for the set of servers; wherein the second set of performance metrics is different from the first set of performance metrics, wherein the first set of performance metrics comprises one of; round trip time information associated with a plurality of site switches associated with one or more servers from the set of servers, wherein the round trip time information associated with a site switch is indicative of time for exchanging messages between the site switch and a client machine generating the domain name query; available session capacity associated with network addresses in the plurality of network addresses; a flashback speed associated with each of the plurality of site switches, wherein a flashback speed associated with a site switch is indicative of a time required for the site switch to respond to a health check performed by the load balancing switch on the site switch; geographical locations of the set of servers;
orprevious selections of network addresses in the plurality of network addresses as the best network address in response to a domain name query. - View Dependent Claims (27, 28)
-
Specification