Information plane for determining performance metrics of paths between arbitrary end-hosts on the internet
First Claim
1. A method for automatically predicting performance metrics for communication between any two arbitrary end-hosts on a network in response to a query, comprising the steps of:
- (a) initiating measurements of the network from a plurality of geographically distributed vantage points, each vantage point comprising a computing device that is coupled to the network;
(b) using traceroute data obtained for links between a plurality of destination points on the network and the plurality of vantage points, automatically inferring information defining a structure of the network;
(c) using the traceroute data, automatically determining routing policies applied by routers on the network during communication between the plurality of vantage points and the plurality of destination points;
(d) using a central computing device that is also coupled to the network, for coordinating the determination of the performance metrics for communications between the vantage points and selected destination points, the central computing device automatically determining the performance metrics for each link identified by the traceroute data;
(e) upon receiving a query that specifies a source and a destination of a communication link over the network, employing the information defining the structure, and the routing policies to predict a path between the source and the destination that were specified in the query; and
(f) in response to the query, determining and returning the performance metrics for links between the source and the destination comprising the predicted path in the network, the step of determining the performance metrics further including the step of growing a frontier rooted at each vantage point, each vantage point measuring only links within the frontier rooted at the vantage point, the central computing device performing in parallel a breadth-first-search of traceroute paths originating at each vantage point, the central computing device assigning links to the vantage point found in the breadth-first-search that are not yet assigned to another vantage point, and the central computing device continuing the breadth-first-search and link assignment process until all link measurements have been assigned to a vantage point.
3 Assignments
0 Petitions
Accused Products
Abstract
Performance metrics between any two arbitrary end-hosts are predicted based upon previous measurements on the Internet between a plurality of geographically dispersed vantage points and clusters of end-hosts. Each cluster comprises end-hosts that are related based upon their IP address prefixes. In response to a central agent that stores the measured data for each of a plurality of predicted paths on the Internet, the vantage points use traceroute software to measure and periodically update performance metrics such as latency, bottleneck capacity, bandwidth, and packet loss rate for links comprising the predicted paths between the vantage points and one (or more) destination points associated with each cluster, and gather such data using distributed application systems. A user or client application can subsequently request predicted performance metrics for communication between specific end-hosts, based upon the previous measurement data.
32 Citations
25 Claims
-
1. A method for automatically predicting performance metrics for communication between any two arbitrary end-hosts on a network in response to a query, comprising the steps of:
-
(a) initiating measurements of the network from a plurality of geographically distributed vantage points, each vantage point comprising a computing device that is coupled to the network; (b) using traceroute data obtained for links between a plurality of destination points on the network and the plurality of vantage points, automatically inferring information defining a structure of the network; (c) using the traceroute data, automatically determining routing policies applied by routers on the network during communication between the plurality of vantage points and the plurality of destination points; (d) using a central computing device that is also coupled to the network, for coordinating the determination of the performance metrics for communications between the vantage points and selected destination points, the central computing device automatically determining the performance metrics for each link identified by the traceroute data; (e) upon receiving a query that specifies a source and a destination of a communication link over the network, employing the information defining the structure, and the routing policies to predict a path between the source and the destination that were specified in the query; and (f) in response to the query, determining and returning the performance metrics for links between the source and the destination comprising the predicted path in the network, the step of determining the performance metrics further including the step of growing a frontier rooted at each vantage point, each vantage point measuring only links within the frontier rooted at the vantage point, the central computing device performing in parallel a breadth-first-search of traceroute paths originating at each vantage point, the central computing device assigning links to the vantage point found in the breadth-first-search that are not yet assigned to another vantage point, and the central computing device continuing the breadth-first-search and link assignment process until all link measurements have been assigned to a vantage point. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for automatically predicting performance metrics for communication between any two arbitrary end-hosts on a network in response to a query, comprising:
-
(a) a memory in which machine instructions and data are stored; (b) a network interface for communicating over the network; and (c) a processor that is coupled to the memory and the network interface, the processor executing the machine instructions to carry out a plurality of functions, including; (i) initiating measurements of the network from a plurality of geographically distributed vantage points, each vantage point comprising a computing device that is coupled to the network, the processor communicating with the computing device at each vantage point over the network through the network interface; (ii) using traceroute data obtained over the network for links between a plurality of destination points on the network and the plurality of vantage points, automatically inferring information defining a structure of the network; (iii) using the traceroute data, automatically determining routing policies applied by routers on the network during communication between the plurality of vantage points and the plurality of destination points; (iv) automatically determining the performance metrics for each link identified by the traceroute data; (v) upon receiving a query that specifies a source and a destination of a communication link over the network, employing the information defining the structure, and the routing policies to predict a path between the source and the destination that were specified in the query; and (vi) in response to the query, determining and returning the performance metrics for the link between the source and the destination comprising the predicted path in the network, the processor automatically determining the performance metrics for each link identified by the traceroute by growing a frontier rooted at each vantage point, each vantage point measuring only links within the frontier rooted at the vantage point, and performing in parallel a breadth-first-search of traceroute paths originating at each vantage point, assigning links to the vantage point found in the breadth-first-search that are not yet assigned to another vantage point, and continuing the breadth-first-search and link assignment process until all link measurements have been assigned to a vantage point. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A memory medium on which are stored machine readable and executable instructions, which when executed by a processor, cause the processor to carry out a plurality of functions used for automatically predicting performance metrics for communication between any two arbitrary end-hosts on a network in response to a query, the functions including:
-
(a) initiating measurements of the network from a plurality of geographically distributed vantage points, each vantage point comprising a computing device that is coupled to the network; (b) using traceroute data obtained for links between a plurality of destination points on the network and the plurality of vantage points, automatically inferring information defining a structure of the network; (c) using the traceroute data, automatically determining routing policies applied by routers on the network during communication between the plurality of vantage points and the plurality of destination points; (d) at a central computing device that is executing the machine readable and executable instructions, coordinating the determination of the performance metrics for communications between the vantage points, to automatically determine the performance metrics for each link identified by the traceroute data; (e) upon receipt of a query that specifies a source and a destination of a communication link over the network, employing the information defining the structure, and the routing policies to predict a path between the source and the destination that were specified in the query; and (f) in response to the query, determining and returning the performance metrics for the link between the source and the destination comprising the predicted path in the network, wherein to determine the performance metrics, the machine instructions cause the central computing device to grow a frontier rooted at each vantage point, each vantage point measuring only links within the frontier rooted at the vantage point, the central computing device performing in parallel a breadth-first-search of traceroute paths originating at each vantage point, the central computing device assigning links to the vantage point found in the breadth-first-search that are not yet assigned to another vantage point, and the central computing device continuing the breadth-first-search and link assignment process until all link measurements have been assigned to a vantage point. - View Dependent Claims (23, 24, 25)
-
Specification