System and method for distributed load balancing with load balancer clients for hosts
US-9055076-B1 · Jun 9, 2015 · US
US9444884B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9444884-B2 |
| Application number | US-201213495114-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 13, 2012 |
| Priority date | Dec 31, 2011 |
| Publication date | Sep 13, 2016 |
| Grant date | Sep 13, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A load-aware load-balancing cluster includes a switch having a plurality of ports; and a plurality of servers connected to at least some of the plurality of ports of the switch. Each server is addressable by the same virtual Internet Protocol (VIP) address. Each server in the cluster has a mechanism constructed and adapted to respond to determine the particular server's own measured load; convert the particular server's own measured load to a corresponding own particular load category of a plurality of load categories; provide the particular server's own particular load category to other servers of the plurality of servers; obtain load category information from other servers of the plurality of servers; and maintain, as an indication of server load of each of the plurality of servers, the particular server's own particular load category and the load category information from the other servers.
Opening claim text (preview).
We claim: 1. A method, operable in a system comprising: (i) a switch having a plurality of ports; and (ii) a plurality of servers connected to at least some of the plurality of ports of the switch, each of said servers being addressable by a virtual Internet Protocol (VIP) address, the method comprising: (A) by each of said plurality of servers, maintaining an indication of server load of itself and each other of said plurality of servers, the indication of server load of each server comprising a load category for said server, each said load category being one of a plurality of load categories, wherein said maintaining comprises: (a1) each particular server of said plurality of servers converting a measured load of said particular server to a corresponding particular load category of said plurality of load categories; (a2) each particular server of said plurality of servers providing said corresponding particular load category for said particular server to each of the other servers of the plurality of servers, wherein each server associated with a given load category is considered to have the same load; and (a3) each server of said plurality of servers maintaining, for each of the plurality of servers, said corresponding particular load category; (B) responsive to a connection request from a client to connect to one of said plurality of servers associated with said VIP address, said connection request having been provided via the switch to each server connected to the switch, at least one of said plurality of servers determining which server of said plurality of servers is to handle the connection, wherein the determining is based, at least in part, on identifying a set of candidate servers from a given function of information used to request the connection and on said indication of server load of each of said plurality of servers; and (C) subsequent to the determined server in step (B) establishing a connection with the client, the determined server further determining whether to handle a content request from the client or hand-off the content request to another server, wherein the determining in step (C) is based, at least in part, on a second given function of information associated with a type of resource requested. 2. The method of claim 1 further comprising: each particular server determining the measured load of said particular server. 3. The method of claim 1 wherein the determining in (B) is based, at least in part, on at least one load policy shared by each of said plurality of servers. 4. The method of claim 1 wherein each of said plurality of load categories has at least one threshold value associated therewith, and wherein said converting in (a1) is based on said at least one threshold value. 5. The method of claim 1 wherein each of said plurality of load categories has at least one dynamic threshold value associated therewith, and wherein said converting in (a1) is based on said at least one dynamic threshold value. 6. The method of claim 1 wherein the given function comprises a hash function. 7. The method of claim 1 wherein the information used by the given function comprises at least one of: the VIP address, port information, the number of servers in said plurality of servers, the number of serving servers in said plurality of servers, and a server number. 8. The method of claim 1 wherein the plurality of load categories consists of three load categories. 9. A method, operable in a system comprising: (i) a switch having a plurality of ports; and (ii) a plurality of servers connected to at least some of the plurality of ports of the switch, each of said servers being addressable by a common virtual Internet Protocol (VIP) address, the method comprising: (A) said first server determining said first server's own measured load; (B) said first server converting said first server's own measured load to a corresponding own particular load category of a plurality of load categories; (C) said first server providing said own particular load category to other servers of said plurality of servers, wherein each server associated with a given load category is considered to have the same load; (D) said first server obtaining load category information from other servers of said plurality of servers; (E) said first server maintaining, as an indication of server load of each of said plurality of servers, said first server's own particular load category and said load category information from said other servers of said plurality of servers; (F) said first server determining, in response to a connection request to connect a client computer to one of said plurality of servers associated with said VIP address, said connection request having been provided, via the switch, to each server connected to the switch, which server of said plurality of servers is to handle the connection, wherein the determining is based, at least in part, on a given function of information used to request the connection and on said indication of server load of each of said plurality of servers; and (G) subsequent to the determined server in step (F) establishing a connection with the client, said determined server further determining whether to handle a content request from the client or hand-off the content request to another server, wherein the determining in step (G) is based, at least in part, on a second given function of information associated with a type of resource requested. 10. The method of claim 9 wherein the plurality of load categories consists of three load categories. 11. The method of claim 9 wherein each of said plurality of load categories has at least one threshold value associated therewith, and wherein said converting in (B) is based on said at least one threshold value. 12. The method of claim 9 wherein each of said plurality of load categories has at least one dynamic threshold value associated therewith, and wherein said converting in (B) is based on said at least one dynamic threshold value. 13. A load-aware load-balancing cluster comprising: (A) a switch having a plurality of ports; and (B) a plurality of servers connected to at least some of the plurality of ports of the switch, each of said servers being addressable by the same a common virtual Internet Protocol (VIP) address, each particular server of said plurality of servers constructed and adapted to: (b1) determine said particular server's own measured load; (b2) convert said particular server's own measured load to a corresponding own particular load category of a plurality of load categories; (b3) provide said particular server's own particular load category to other servers of said plurality of servers, wherein each server associated with a given load category is considered to have the same load; (b4) obtain load category information from other servers of said plurality of servers; (b5) maintain, as an indication of server load of each of said plurality of servers, said particular server's own particular load category and said load category information from said other servers of said plurality of servers; (b6) determine, in response to a connection request to connect a client computer to one of said plurality of servers associated with said VIP address, said connection request having been provided, via the switch, to each server connected to the switch, which server of said plurality of servers is to handle the connection, wherein the determining is based, at least in part, on a given function of information used to request the connection and on said indication of server load of each of said plurality of servers; and subsequent to the determined server in st
based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30) · CPC title
Migration or transfer of sessions · CPC title
based on the content of a request · CPC title
Dynamic adaptation of the criteria on which the server selection is based · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.