Method and system for balancing load distribution on a wide area network
First Claim
1. A method of delivering content across a plurality of zones within a network, comprising:
- receiving a request from a client located within one of the plurality of zones for access to resources associated with a domain name;
determining network conditions for the network based on a determination of the load for each of the plurality of zones;
distributing the request to one of the plurality of zones based on the determined network conditions;
selecting one of a plurality of servers within the zone in which the request was distributed, the selection of the server being based on a determination for optimally balancing the load across the plurality of servers;
resolving an Internet protocol (IP) address of the selected server; and
determining whether to delegate delivery of the resources to a content delivery network based on the determination for optimally balancing the load across the plurality of servers, a Time to Live value set at a pool level for each of a plurality of available pools, and a pool load-balancing setting;
wherein selecting one of the plurality of servers further comprises;
marking each of a plurality of pools to a not tried state, determining the pool load-balancing setting, selecting one of the plurality of pools that is marked to an initialization state, marking the selected one of the plurality of pools to a tried state, attempting to obtain an answer using the determined pool load-balancing on the selected one of the plurality of pools, and determining if the answer was obtained.
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 is described. 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 load balance name servers. Additionally, the name server load balancing system may bridge disparate content delivery networks. Internet addresses are divided into geographical information that is used to delegate traffic. Also, metric information is collected and analyzed to help distribute the traffic.
-
Citations
22 Claims
-
1. A method of delivering content across a plurality of zones within a network, comprising:
-
receiving a request from a client located within one of the plurality of zones for access to resources associated with a domain name; determining network conditions for the network based on a determination of the load for each of the plurality of zones; distributing the request to one of the plurality of zones based on the determined network conditions; selecting one of a plurality of servers within the zone in which the request was distributed, the selection of the server being based on a determination for optimally balancing the load across the plurality of servers; resolving an Internet protocol (IP) address of the selected server; and determining whether to delegate delivery of the resources to a content delivery network based on the determination for optimally balancing the load across the plurality of servers, a Time to Live value set at a pool level for each of a plurality of available pools, and a pool load-balancing setting; wherein selecting one of the plurality of servers further comprises;
marking each of a plurality of pools to a not tried state, determining the pool load-balancing setting, selecting one of the plurality of pools that is marked to an initialization state, marking the selected one of the plurality of pools to a tried state, attempting to obtain an answer using the determined pool load-balancing on the selected one of the plurality of pools, and determining if the answer was obtained. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for balancing the load on a plurality of virtual servers that provide access to resources associated with a domain name, comprising:
-
a memory for storing logical instructions; and a processor for executing the logical instructions stored in the memory, the execution of the logical instructions causing functions to be performed, including; receiving a request from a client located within one of the plurality of zones for access to resources associated with a domain name through an authoritative server; determining network conditions for the network based on a determination of the load for each of the plurality of zones; distributing the request to one of the plurality of zones based on the determined network conditions; selecting one of the plurality of servers within the zone in which the request was distributed, the selection of the server being based on a determination for optimally balancing the load across the plurality of servers; resolving an Internet protocol (IP) address of the selected server; and determining whether to delegate delivery of the resources to a content delivery network based on the determination for optimally balancing the load, wherein the determination of whether to delegate delivery is made prior to a connection of the client to the content delivery network if the delivery of resources is delegated to a delegation pool associated with the content delivery network; wherein selecting one of the plurality of servers further comprises;
marking each of a plurality of pools to a not tried state, determining the pool load-balancing setting, selecting one of the plurality of pools that is marked to an initialization state, marking the selected one of the plurality of pools to a tried state, attempting to obtain an answer using the determined pool load-balancing on the selected one of the plurality of pools, and determining if the answer was obtained. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system for delivering content across a plurality of zones within a network, comprising:
-
a processor that includes; a receiver that receives a request from a client located within one of the plurality of zones to access resources associated with a domain name; a means for distributing the request to one of the plurality of zones based on network conditions of the plurality of zones; a load balancer that selects one of a plurality of servers within the zone in which the request is distributed; a system component that resolves an Internet protocol (IP) address of the selected server; a means for determining whether to delegate delivery of the resources to a content delivery network based on a load balancing determination for optimally balancing the load across the plurality of servers or the content delivery network, wherein the plurality of servers and the content delivery network are designated members of different delegation pools of content sources; and a means for selecting one of the plurality of servers comprising marking each of a plurality of pools to a not tried state, determining the pool load-balancing setting, selecting one of the plurality of pools that is marked to an initialization state, marking the selected one of the plurality of pools to a tried state, attempting to obtain an answer using the determined pool load-balancing on the selected one of the plurality of pools, and determining if the answer was obtained.
-
-
22. A method for delivering content over a network, comprising:
-
receiving a request from a client for access to resources associated with a domain name; distributing the request to one of a plurality of zones based at least in part on network conditions associated with the zones, wherein distributing the request includes determining whether to delegate delivery of the resources to a content delivery network; selecting one of a plurality of servers within the zone in which the request is distributed, wherein selecting the server is based at least in part on a balancing of the load among the servers; resolving the domain name into an Internet protocol (IP) address of the selected server; and determining whether to delegate, in a controlled manner, delivery of the resources to a content delivery network or to an origin site based on the balancing of the load and a mapping created between pools of content sources and an identified physical geographic location of an IP address of the request; wherein selecting one of the plurality of servers further comprises;
marking each of a plurality of pools to a not tried state, determining the pool load-balancing setting, selecting one of the plurality of pools that is marked to an initialization state, marking the selected one of the plurality of pools to a tried state, attempting to obtain an answer using the determined pool load-balancing on the selected one of the plurality of pools, and determining if the answer was obtained.
-
Specification