Phased learning approach to determining closest content serving sites
First Claim
1. A method for using a phased learning approach for determining closest of s multiple content serving sites to a client Domain Name System (DNS) server in a computer network in including:
- in a setup phase;
storing data as to the transit times of each of the content serving sites in a table;
in an execution phase;
determining a response time each of n fastest content serving sites and m other content serving sites, said n fastest content serving sites chosen by using said data and choosing the n content serving sites with the lowest transit times, said m other content serving sites chosen by selecting new content serving sites as well as randomly selecting old content serving sites, wherein n is less than s and greater than zero;
sending transit time requests to each of the n fastest content serving sites and m other content serving sites, timing said transit times requests so that they arrive at each of the n fastest content serving sites and m other content serving sites at the same time by using said response time for each of the n fastest content serving sites and m other content serving sites;
receiving data from said client DNS server as to the transit times of each of the n fastest content serving sites and m other content serving sites; and
storing said data in said table.
1 Assignment
0 Petitions
Accused Products
Abstract
In order to direct content requests to an appropriate content serving site in a computer network, a phased learning approach is utilized to ensure that, as best as possible, the request is made to content serving site with the shortest delay. In a setup phase, an indirect path return geographic sever load balancer times sends transit time requests to all of the individual content serving sites so that the transit requests all arrive at the content serving sites at the same time. Therefore, when the requesting fixed location receives communications from the content serving sites, it can easily tell which content serving site has the least delay by an established race condition. The winner of the race may then be relayed to the indirect path return geographic server load balancer for later usage. In an execution mode, only the m fastest content serving sites and n other sites (used to test random and new sites) are sent a transit time request when a DNS request arrives from the requesting fixed location. The particular m fastest content serving sites and n other sites may be dynamically updated so as to ensure the most reliable directing of requests. This solution provides a very efficient and effective means by which to determining closest content serving sites while keeping load balancer-created traffic at a minimum.
-
Citations
33 Claims
-
1. A method for using a phased learning approach for determining closest of s multiple content serving sites to a client Domain Name System (DNS) server in a computer network in including:
in a setup phase;
storing data as to the transit times of each of the content serving sites in a table;
in an execution phase;
determining a response time each of n fastest content serving sites and m other content serving sites, said n fastest content serving sites chosen by using said data and choosing the n content serving sites with the lowest transit times, said m other content serving sites chosen by selecting new content serving sites as well as randomly selecting old content serving sites, wherein n is less than s and greater than zero;
sending transit time requests to each of the n fastest content serving sites and m other content serving sites, timing said transit times requests so that they arrive at each of the n fastest content serving sites and m other content serving sites at the same time by using said response time for each of the n fastest content serving sites and m other content serving sites;
receiving data from said client DNS server as to the transit times of each of the n fastest content serving sites and m other content serving sites; and
storing said data in said table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
14. An apparatus for using a phased learning approach for determining closest of s multiple content serving sites to a client DNS server in a computer network including:
-
a Domain Name System (DNS) request receiver coupled to the client DNS server, a response time determiner coupled to said DNS request receiver and coupled to the content serving sites, said response time determiner configured to determine a response time for each of n fastest content serving sites and m other content serving sites, said n fasters content serving sites chosen by using transit times of each of the content serving sites and choosing the n content serving sites with lowest transit times, said m other content serving sites chosen by selecting new content serving sites as well as randomly selecting old content serving sites, wherein n is less than s and greater than zero;
a transit time request sender coupled to said response time determiner and coupled to the content serving sites;
a data receiver coupled to the client DNS server;
a memory coupled to said sender; and
a data storer coupled to said data receiver and coupled to said memory. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method for using a phased learning approach for determining closest of s multiple content serving sites to a client DNS server in a computer network, the method including:
in a setup phase;
storing data as to transit times of each of the content serving sites in a table;
in an execution phase;
determining a response time for each of n fastest content serving sites and m other content serving sites, said n fastest content serving sites chosen by using said data and choosing the n content serving sites with lowest transit times, said m other content serving sites chosen by selecting new content serving sites as well as randomly selecting old content serving sites, wherein n is less than s and greater than zero;
sending transit time requests to each of the n fastest content serving sites and m other content serving sites, timing said transit time requests so that they arrive at each of the n fastest content serving sites and m other content serving sites at the same time by using said response time for each of the n fastest content serving sites and m other content serving sites;
receiving data from said client DNS server as to the transit times of each of the n fastest content serving sites and m other content serving sites; and
storing said data in said table.
-
21. An apparatus for using a phased learning approach for determining closest of s multiple content serving sites to a client DNS server location in a computer network including:
-
means for storing data as to transit times of each of the content serving sites in a table in a setup phase;
means for determining a response time for each of n fastest content serving sites and m other content serving sites, said n fastest content serving sites chosen by using said data and choosing the n content serving sites with lowest transit times, said m other content serving sites chosen by selecting new content serving sites as well as randomly selecting old content serving sites in an execution phase, wherein n is less than s and greater than zero;
means for sending transit time requests to each of the n fastest content serving sites and m other content serving sites, timing said queries so that they arrive at each of the n fastest content serving sites and m other content serving sites at the same time by using said response time for each of the n fastest content serving sites and m other content serving sites in an execution phase;
means for receiving data from said client DNS server as to the transit times of each of the n fastest content serving sites and m other content serving sites in an execution phase; and
means for storing said data in said table in an execution phase. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
Specification