Global load balancing across mirrored data centers
First Claim
Patent Images
1. A method of determining which of a set of content provider mirror sites should receive an end user'"'"'s initial request, comprising:
- generating a network map during a map generation process according to the following sub-steps;
dynamically determining a set of proxy points, wherein each proxy point of the set of proxy points is determined by directing a trace route from each of a set of content provider mirror sites toward a given local name server and determining a given point in the Internet where the trace routes from each of the set of content provider mirror sites intersect;
probing each of the proxy points from each of the set of content provider mirror sites to generate given data;
generating a download predictor score for each content provider mirror site based on the given data generated by probing the proxy points;
identifying which mirror site provides a best download performance based on the download predictor score; and
associating a given name server IP address with the identified mirror site to generate the network map; and
upon completion of the map generation process, in response to an end user'"'"'s initial request to a given local name server, returning an IP address of the identified mirror site based on information in the network map.
6 Assignments
0 Petitions
Accused Products
Abstract
The invention is an intelligent traffic redirection system that does global load balancing. It can be used in any situation where an end-user requires access to a replicated resource. The method directs end-users to the appropriate replica so that the route to the replica is good from a network standpoint and the replica is not overloaded. The technique preferably uses a Domain Name Service (DNS) to provide IP addresses for the appropriate replica. The most common use is to direct traffic to a mirrored web site.
198 Citations
12 Claims
-
1. A method of determining which of a set of content provider mirror sites should receive an end user'"'"'s initial request, comprising:
-
generating a network map during a map generation process according to the following sub-steps; dynamically determining a set of proxy points, wherein each proxy point of the set of proxy points is determined by directing a trace route from each of a set of content provider mirror sites toward a given local name server and determining a given point in the Internet where the trace routes from each of the set of content provider mirror sites intersect; probing each of the proxy points from each of the set of content provider mirror sites to generate given data; generating a download predictor score for each content provider mirror site based on the given data generated by probing the proxy points; identifying which mirror site provides a best download performance based on the download predictor score; and associating a given name server IP address with the identified mirror site to generate the network map; and upon completion of the map generation process, in response to an end user'"'"'s initial request to a given local name server, returning an IP address of the identified mirror site based on information in the network map.
-
-
2. A method, operated by a server provider, for managing global traffic redirection for a set of content providers operating mirrored sites, wherein the service provider is distinct from the set of content providers operating the mirrored sites, comprising:
-
for each content provider in the set of content providers, generating a network map during a map generation process according to the following sub-steps; dynamically determining a set of proxy points, wherein each proxy paint of the set of proxy points is determined by directing a trace route from each of a set of data centers that host mirrored sites for the content provider toward a given local name server and determining a given point in the Internet where the trace routes from each or the set of data centers intersect; from each of set of data centers that host mirrored sites for the content provider, executing a given network test against each of the set of proxy points; generating a time-weighted average of a given network performance metric based on data generated by executing the given network test; generating a score for each data center per proxy point; generating a set of candidate data centers for each of a set of name servers; associating a candidate data center to each of a set of IP address space blocks to generate the network map; providing the network map to a name server; and using the network maps generated for the set of content providers to direct end user requests to a mirrored site to a given data center. - View Dependent Claims (3, 4, 5, 6)
-
-
7. A method of determining which of a set of mirror sites should receive a request to a domain that is replicated at the set of mirror sites, comprising:
-
generating a network map during a map generation process according to the following sub-steps; dynamically determining a set of proxy points, wherein each proxy point of the set of proxy points is determined by directing a trace route from each of a set of mirror sites toward a given local name server and determining a given point in the Internet where the trace routes from each of the set of mirror sites intersect; probing each of the proxy points from each of the set of mirror sites to generate given data; generating a score for each mirror site based on the given data generated by probing the proxy points; identifying which mirror site provides a best performance based on the score; and associating a given name server IP address with the identified mirror site to generate the network map; and upon completion of the map generation process, and responsive to a local name server making a request associated with the domain, receiving the request at a name server associated with the network map; and having the name server associated with the network map use the network map to return to the local name server an IP address identifying a preferred mirror site at which the request may be serviced. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification