METHOD AND SYSTEM FOR BALANCING LOAD DISTRIBUTION ON A WIDE AREA NETWORK
First Claim
1. Method for balancing the load on a plurality of servers that provide access to resources associated with a domain name, comprising:
- (a) receiving a request for access to resources associated with the domain name;
(b) determining the load for each of a plurality of servers that provide access to resources associated with the domain name and selecting one of the plurality of servers to provide the access, the selection of the server being based on a determination for optimally balancing the load on the plurality of servers; and
(c) resolving an Internet protocol (ip) address of the selected server so that the accessing of resources associated with the domain name at the resolved ip address of the selected server will cause the load to be optimally balanced on the plurality of servers on a network.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for balancing the load on virtual servers managed by server array controllers at separate data centers that are geographically distributed on a wide area network such as the Internet. The virtual servers provide access to resources associated with a domain name request by a client program. When a Primary Domain Name System (DNS) determined the requested domain name is delegated to a EDNS, the EDNS employs metric information and statistics to resolve an ip address for a virtual server that is selected by the EDNS to optimally balance the load and provide access to resources associated with the domain name. The EDNS may employ a static or a dynamic load balancing method to select the virtual server most suited to balance the load across all of the virtual servers. The EDNS may include a Primary DNS or a Secondary DNS. The EDNS employs an agent program located at geographically distributed data centers to collect metric information related to a host machine, server array controller, virtual servers and the path for providing resources associated with the domain name to a client making the request. The EDNS collects the metric information from the agent program out of band of the domain name resolution process. The server array controller may include the agent program and the agent program may be provided as a stand alone machine that is coupled to the server array controller or a host machine.
-
Citations
39 Claims
-
1. Method for balancing the load on a plurality of servers that provide access to resources associated with a domain name, comprising:
-
(a) receiving a request for access to resources associated with the domain name;
(b) determining the load for each of a plurality of servers that provide access to resources associated with the domain name and selecting one of the plurality of servers to provide the access, the selection of the server being based on a determination for optimally balancing the load on the plurality of servers; and
(c) resolving an Internet protocol (ip) address of the selected server so that the accessing of resources associated with the domain name at the resolved ip address of the selected server will cause the load to be optimally balanced on the plurality of servers on a network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39)
-
-
14. The method of 13, wherein at least one of the plurality of EDNSs is a secondary EDNS, the secondary EDNS storing a copy of the metric information collected by the primary EDNS, the secondary EDNS employing the copy of metric information to select a particular server at that will optimally balance the load for accessing resources.
-
15. The method of 13, wherein at least one of the plurality of EDNSs is a secondary EDNS, the secondary EDNS collecting metric information that is employed to select a particular server that will optimally balance the load for accessing resources
-
37. A system for balancing the load on a plurality of virtual servers that provide access to resources associated with a domain name, comprising:
-
(a) a memory for storing logical instructions; and
(b) a processor for executing the logical instructions stored in the memory, the execution of the logical instructions causing functions to be performed, including;
(i) receiving a request for access to resources associated with the domain name;
(ii) determining the load for each of a plurality of virtual servers that provide access to resources associated with the domain name and selecting one of the plurality of virtual servers to provide the access, the selection of the virtual server being based on a determination for optimally balancing the load on the plurality of virtual servers; and
(iii) resolving an Internet protocol (ip) address of the selected virtual server so that the accessing of resources associated with the domain name at the resolved ip address of the selected virtual server by the client will optimally balance the load on all of the virtual servers on a network.
-
-
38. Method for balancing the load on a plurality of virtual servers that provide access to resources associated with a domain name, comprising:
-
(a) receiving a request from a client for access to resources associated with the domain name;
(b) querying a local Domain Name System (DNS) to provide the Internet protocol (ip) address associated with the domain name;
(c) when the ip address is not present at the local DNS, querying a primary DNS to resolve the ip address associated with the domain name;
(d) when the primary DNS determines the domain name is delegated to a EDNS system, referring the local DNS to the EDNS system to resolve the ip address associated with the domain name; and
(e) employing the EDNS system to balance the load on a plurality of virtual servers that provide access to resources associated with the domain name by selecting one of the plurality of virtual servers that optimally balances the load, the EDNS system resolving the ip address of the selected virtual server for the domain name and providing the ip address to the client, so that the client will access resources associated with the domain name at the resolved ip address of the selected virtual server.
-
Specification