Method and apparatus for determining latency between multiple servers and a client
First Claim
1. A process for determining latency between multiple servers and a client across a network in a computer environment, comprising the steps of:
- receiving a request for a content server address from said client;
sending a latency metric request from a server to an appropriate probe server;
receiving a request for latency metrics on a probe server;
wherein said latency metric request specifies a particular client;
wherein a latency management table initially comprises a list of IP addresses along with corresponding Border Gateway Protocol (BGP) hop counts;
looking up the latency metric for said client in said latency management table;
sending said latency metric to the requesting server;
receiving latency metric data from said probe server at the requesting server;
determining an optimal content server for said client using said latency metric data;
sending said optimal content server'"'"'s address to said client;
wherein only the BGP hop count for said client in said latency management table is used for said latency metric upon an initial request for said client; and
wherein the probe server determines a dynamic hop count and Round Trip Time (RTT) data for said client after the initial request enters the dynamic hop count and RTT information into said latency management table, and uses the dynamic hop count and RTT information for said latency metric for subsequent requests for said client.
7 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for determining latency between multiple servers and a client receives requests for content server addresses from local domain names servers (LDNS). POPs that can serve the content are determined and sent latency metric requests. The content server receives the request for latency metrics and looks up the latency metric for the requesting client. Periodic latency probes are sent to the IP addresses in a Latency Management Table. The IP addresses of clients are masked so the latency probes are sent to higher level servers to reduce traffic across the network. The hop count and latency data in the packets sent in response to the latency probes are stored in the Latency Management Table and is used to determine the latency metric from the resident POP to the requesting client before sending the latency metric to the requesting server. The BGP hop count in the Latency Management Table is used for the latency metric upon the first request for an IP address. The latency metric is calculated for subsequent requests of IP addresses using the hop count and RTT data in the Latency Management Table. Latency metrics from POPs are collected and the inverse relationship of the hop counts in a weighted combination with the RTT are used to determine which latency metric indicates the optimal POP. The address of the optimal POP is then sent to the requesting LDNS.
467 Citations
12 Claims
-
1. A process for determining latency between multiple servers and a client across a network in a computer environment, comprising the steps of:
-
receiving a request for a content server address from said client; sending a latency metric request from a server to an appropriate probe server; receiving a request for latency metrics on a probe server; wherein said latency metric request specifies a particular client; wherein a latency management table initially comprises a list of IP addresses along with corresponding Border Gateway Protocol (BGP) hop counts; looking up the latency metric for said client in said latency management table; sending said latency metric to the requesting server; receiving latency metric data from said probe server at the requesting server; determining an optimal content server for said client using said latency metric data; sending said optimal content server'"'"'s address to said client; wherein only the BGP hop count for said client in said latency management table is used for said latency metric upon an initial request for said client; and wherein the probe server determines a dynamic hop count and Round Trip Time (RTT) data for said client after the initial request enters the dynamic hop count and RTT information into said latency management table, and uses the dynamic hop count and RTT information for said latency metric for subsequent requests for said client. - View Dependent Claims (2, 3, 4)
-
-
5. An apparatus for determining latency between multiple servers and a client across a network in a computer environment, comprising:
-
a module for receiving a request for a content server address from said client; a module for sending a latency metric request from a server to an appropriate probe server; a module for receiving a request for latency metrics on a probe server; wherein said latency metric request specifies a particular client; a latency management table; wherein said latency management table initially comprises a list of IP addresses along with corresponding Border Gateway Protocol (BGP) hop counts; a module for looking up the latency metric for said client in said latency management table; a module for sending said latency metric to the requesting server; a module for receiving latency metric data from said probe server at the requesting server; a module for determining an optimal content server for said client using said latency metric data; a module for sending said optimal content server'"'"'s address to said client; wherein only the BGP hop count for said client in said latency management table is used for said latency metric upon an initial request for said client; and wherein the probe server determines a dynamic hop count and Round Trip Time (RTT) data for said client after the initial request, enters the dynamic hop count and RTT information into said latency management table, and uses the dynamic hop count and RTT information for said latency metric for subsequent requests for said client. - View Dependent Claims (6, 7, 8)
-
-
9. A program storage medium readable by a computer, tangibly embodying a program of instructions executable by the computer to perform method steps for determining latency between multiple servers and a client across a network in a computer environment, comprising the steps of:
-
receiving a request for a content server address from said client; sending a latency metric request from a server to an appropriate probe server; receiving a request for latency metrics on a probe server; wherein said latency metric request specifies a particular client; wherein a latency management table initially comprises a list of IP addresses along with corresponding Border Gateway Protocol (BGP) hop counts; looking up the latency metric for said client in said latency management table; sending said latency metric to the requesting server; receiving latency metric data from said probe server at the requesting server; determining an optimal content server for said client using said latency metric data; sending said optimal content server'"'"'s address to said client; wherein only the BGP hop count for said client in said latency management table is used for said latency metric upon an initial request for said client; and wherein the probe server determines a dynamic hop count and Round Trip Time (RTT) data for said client after the initial request enters the dynamic hop count and RTT information into said latency management table, and uses the dynamic hop count and RTT information for said latency metric for subsequent requests for said client. - View Dependent Claims (10, 11, 12)
-
Specification