Global load balancing across mirrored data centers
First Claim
Patent Images
1. 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;
identifying a set of proxy points, wherein each proxy point is identified by directing a trace route from each of a set of mirror sites toward a given 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 latency and packet loss data;
generating a score for each mirror site based on the latency and packet loss data generated by probing the proxy points, wherein the score is a function of a time-weighted average of latency modified by a penalty factor that is a function of a time-weighted average of packet loss;
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, receiving a 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 an IP address identifying a preferred mirror site at which the request may be serviced.
5 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.
153 Citations
8 Claims
-
1. 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; identifying a set of proxy points, wherein each proxy point is identified by directing a trace route from each of a set of mirror sites toward a given 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 latency and packet loss data; generating a score for each mirror site based on the latency and packet loss data generated by probing the proxy points, wherein the score is a function of a time-weighted average of latency modified by a penalty factor that is a function of a time-weighted average of packet loss; 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, receiving a 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 an IP address identifying a preferred mirror site at which the request may be serviced. - View Dependent Claims (2, 3, 4, 7, 8)
-
-
5. A method of directing a request to a domain that is replicated at a set of mirror sites, comprising:
-
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 latency and packet loss data; generating a score for each mirror site based on at least the latency data generated by probing the proxy points, wherein the score is a function of a time-weighted average of latency modified by a penalty factor, wherein the penalty factor is a function of the packet loss data; and identifying a mirror site as being a preferred mirror site based on the scores; associating a given name server IP address with the preferred mirror site to generate the network map; receiving the request to the domain; using the network map to return an IP address identifying the preferred mirror site at which the request may be serviced.
-
-
6. A method of directing a request to a domain that is replicated at a set of mirror sites, comprising:
-
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; collecting latency and packet loss data generated by probing the proxy points; using the latency and packet loss data to compute exponentially time-weighted average of latency and a time-weighted average of loss; for each mirror site, generating a score that is a function of the time-weighted average of latency modified by a penalty factor that is a function of the time-weighted average of loss; using the scores to identify a mirror site as being a preferred mirror site; associating a given name server IP address with the preferred mirror site to generate a network map; receiving the request to the domain; using the network map to return an IP address identifying the preferred mirror site at which the request may be serviced.
-
Specification