System and method for determining the geographic location of internet hosts
First Claim
Patent Images
1. A computer implemented method of determining the location of an Internet host using a computer system, comprising the following computer executable acts:
- obtaining route information relating to one or more network paths between a host IP address associated with the Internet host and the computer system, wherein the network paths comprise the computer system, the Internet host, and at least one intermediate network node, and wherein the route information comprises a plurality of router labels associated with the host IP address and the at least one intermediate network node;
extracting one or more location codes from the route information corresponding to a router label associated with one of the Internet host and one or more intermediate network nodes proximate the Internet host;
consulting a data store comprising at least one data set having location codes and corresponding location information;
obtaining location information from the data store corresponding to the one or more location codes associated with the one of the Internet host and the one or more intermediate network nodes proximate the Internet host;
providing a location estimate of the location of the Internet host according to the location information from the data store corresponding to the location code;
determining a dispersion metric representative of the accuracy of the location estimate of the location of the Internet host and selectively providing the location estimate; and
selectively correcting the location estimate according to the dispersion metric.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and methodologies are disclosed for determining the geographic location of an Internet host. A first method infers host location based on the DNS names of the host of interest or other nearby network nodes. A second method employs network delay measurements from geographically distributed locations to triangulate the coordinates of the host. A third method couples partial host-to-location mapping information obtained from one or more sources with BGP or other routing information in order to infer location of the host of interest.
-
Citations
41 Claims
-
1. A computer implemented method of determining the location of an Internet host using a computer system, comprising the following computer executable acts:
-
obtaining route information relating to one or more network paths between a host IP address associated with the Internet host and the computer system, wherein the network paths comprise the computer system, the Internet host, and at least one intermediate network node, and wherein the route information comprises a plurality of router labels associated with the host IP address and the at least one intermediate network node; extracting one or more location codes from the route information corresponding to a router label associated with one of the Internet host and one or more intermediate network nodes proximate the Internet host; consulting a data store comprising at least one data set having location codes and corresponding location information; obtaining location information from the data store corresponding to the one or more location codes associated with the one of the Internet host and the one or more intermediate network nodes proximate the Internet host; providing a location estimate of the location of the Internet host according to the location information from the data store corresponding to the location code; determining a dispersion metric representative of the accuracy of the location estimate of the location of the Internet host and selectively providing the location estimate; and selectively correcting the location estimate according to the dispersion metric. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A software tool stored on a computer readable storage medium for determining the location of an Internet host using a computer system, comprising the following computer executable components:
-
a route trace component that obtains route information relating to one or more network paths between a host IP address associated with the Internet host and the computer system, wherein first network paths comprises the computer system, the Internet host, and at least one intermediate network node, and wherein the route information comprises a plurality of router labels associated with the host IP address and the at least one intermediate network node; an extraction component that extracts one or more location codes from the route information corresponding to one or more router labels associated with one of the Internet host and the at least one intermediate network node proximate the Internet host; a data store comprising at least one data set having location codes and corresponding location information; an estimation component that obtains location information from the data store corresponding to the location codes associated with the one of the Internet host and the at least one intermediate network node proximate the Internet host, and to provide a location estimate of the location of the Internet host according to the location information from the data store corresponding to the location code; a correction component that determines a dispersion metric representative of the accuracy of the location estimate of the location of the Internet host and selectively correcting the location estimate according to the dispersion metric, wherein the location estimate is at least one of stored on a computer readable storage medium or displayed on an display device.
-
-
8. A computer-readable medium having computer-executable instructions for:
-
obtaining route information relating to one or more network paths between a host IP address associated with an Internet host and a computer system, wherein the network paths comprise the computer system, the Internet host, and at least one intermediate network node, and wherein the route information comprises a plurality of router labels associated with the host IP address and the at least one intermediate network node; extracting one or more location codes from the route information corresponding to a router label associated with one of the Internet host and one or more intermediate network nodes proximate the Internet host; consulting a data store comprising at least one data set having location codes and corresponding location information; obtaining location information from the data store corresponding to the location codes associated with the one of the Internet host and the one or more intermediate network nodes proximate the Internet host; providing a location estimate of the location of the Internet host according to the location information from the data store corresponding to the location code; determining a dispersion metric representative of the accuracy of the location estimate of the location of the Internet host; and selectively correcting the location estimate according to the dispersion metric.
-
-
9. A system executing on one or more processors for determining the location of an Internet host, comprising the following computer executable components:
-
a first component operating in a computer system that obtains route information relating to one or more network paths between a host IP address associated with the Internet host and the computer system, wherein the network paths comprises the computer system, the Internet host, and at least one intermediate network node, and wherein the route information comprises a plurality of router labels associated with the host IP address and the at least one intermediate network node; a second component operating in the computer system that extracts one or more location codes from the route information corresponding to a router label associated with one of the Internet host and one or more intermediate network nodes proximate the Internet host; a third component operating in the computer system that consults a data store comprising at least one data set having location codes and corresponding location information; a fourth component operating in the computer system to obtain location information from the data store corresponding to the location codes associated with the one of the Internet host and the one or more intermediate network nodes proximate the Internet host; a fifth component operating in the computer system that determines a location estimate of the location of the Internet host according to the location information from the data store corresponding to the location code; and a sixth component operating in the computer system that determines a dispersion metric representative of the accuracy of the location estimate of the location of the internet host and selectively provide the location estimate according to dispersion metric.
-
-
10. Geographical location estimate data associated with an Internet host, the estimate data resulting from a process executing on a computer system, comprising the following computer executable acts:
-
obtaining route information relating to one or more network paths between a host IP address associated with the Internet host and a computer system, wherein the network paths comprise the computer system, the Internet host, and at least one intermediate network node, and wherein the route information comprises a plurality of router labels associated with the host IP address and the at least one intermediate network node; extracting one or more location codes from the route information corresponding to a router label associated with one of the Internet host and one or more intermediate network nodes proximate the Internet host; consulting a data store comprising at least one data set having location codes and corresponding location information; obtaining location information from the data store corresponding to the one or more location codes associated with the one of the Internet host and the one or more intermediate network nodes proximate the Internet host; and providing a location estimate of the location of the Internet host according to the location information from the data store corresponding to the location code; determining a dispersion metric representative of the accuracy of the location estimate of the location of the Internet host; and selectively correcting the location estimate according to the dispersion metric, wherein the location estimate is at least one of stored on a computer readable storage medium or displayed on an display device.
-
-
11. A computer implemented method of determining the location of an Internet host using multiple computer systems, comprising the following computer executable acts:
-
obtaining route information relating to a plurality of network paths between a host IP address associated with the Internet host and a corresponding plurality of computer systems, respectively, wherein the plurality of network paths individually comprise a corresponding computer system, the Internet host, and at least one intermediate network node, and wherein the route information comprises a plurality of router labels associated with the host IP address and an intermediate network node; extracting one or more location codes from the route information corresponding to a router label associated with one of the Internet host and one or more intermediate network nodes proximate the Internet host; consulting a data store comprising at least one data set having location codes and corresponding location information; obtaining location information from the data store corresponding to the one or more location codes associated with the one of the Internet host and the one or more intermediate network nodes proximate the Internet host; providing a location estimate of the location of the Internet host according to the location information; determining a dispersion metric representative of the accuracy of the location estimate of the location of the Internet host; and selectively correcting the location estimate according to the dispersion metric.
-
-
12. A computer implemented method of determining the location of an Internet host using a first computer system, comprising the following computer executable acts:
-
measuring a first delay time relating to a transmission from the first computer system to receipt of the transmission at the Internet host along a first network path between a host IP address associated with the Internet host and the first computer system; measuring a second delay time relating to a transmission from a second computer system to receipt of the transmission at the Internet host along a second network path between the host IP address and the second computer system; measuring a third delay time relating to a transmission from a third computer system to receipt of the transmission at the Internet host along a third network path between the host IP address and the third computer system, at least one of the first, second, and third network paths containing at least one intermediate node; correlating the first, second, and third delay times; and providing a location estimate of the location of the Internet host according to the correlation of the first, second, and third delay times; and computing a dispersion metric representative of the accuracy of the location estimate of the location of the Internet host and selectively providing the location estimate based upon the dispersion metric, wherein the location estimate is at least one of stored on a computer readable storage medium or displayed on an display device. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A software tool stored on a computer readable storage medium for determining the location of an Internet host using a first computer system, comprising the following computer executable components:
-
a first delay component that measures a first delay time relating to a transmission from the first computer system to receipt of the transmission at the Internet host along a first network path between a host IP address associated with the Internet host and the first computer system; a second delay component that measures a second delay time relating to a transmission from a second computer system to receipt of the transmission at the Internet host along a second network path between the host IP address and the second computer system; a third delay component that measures a third delay time relating to a transmission from a third computer system to receipt of the transmission at the Internet host along a third network path between the host IP address and the third computer system, at least one of the first, second, and third network paths containing at least one intermediate node; a correlation component that correlates the first, second, and third delay times; an estimation component that provides a location estimate of the location of the Internet host according to the correlation of the first, second, and third delay times; and a correction component that computes a dispersion metric representative of the accuracy of the location estimate of the location of the Internet host and selectively provides the location estimate based upon the dispersion metric, wherein the location estimate is at least one of stored on a computer readable storage medium or displayed on an display device.
-
-
24. A computer-readable medium having computer-executable instructions for:
-
measuring a first delay time relating to a transmission from a first computer system to receipt of the transmission at an Internet host along a first network path between a host IP address associated with the Internet host and the first computer system; measuring a second delay time relating to a transmission from a second computer system to receipt of the transmission at the Internet host along a second network path between the host IP address and the second computer system; measuring a third delay time relating to a transmission from the Internet host to receipt of the transmission at a third computer system along a third network path between the host IP address associated with the Internet host and a third computer system, at least one of the first, second, and third network paths containing at least one intermediate node; correlating the first, second, and third delay times; providing a location estimate of the location of the Internet host according to the correlation of the first, second, and third delay times; and computing a dispersion metric representative of the accuracy of the location estimate of the location of the Internet host and selectively providing the location estimate based upon the dispersion metric, wherein the location estimate is at least one of stored on a computer readable storage medium or displayed on an display device.
-
-
25. A computer implemented system for determining the location of an Internet host, comprising the following computer executable components:
-
a first component operating in a first computer system to measure a first delay time relating to a transmission from the first computer system to receipt of the transmission at the Internet host along a first network path between a host IP address associated with the Internet host and the first computer system; a second component operating to measure a second delay time relating to a transmission from a second computer system to receipt of the transmission at the Internet host along a second network path between the host IP address and the second computer system; a third component operating to measure a third delay time relating to a transmission from a third computer system to receipt of the transmission at the Internet host along a third network path between the host IP address and the third computer system, at least one of the first, second, and third network paths containing at least one intermediate node; a fourth component operating to correlate the first, second, and third delay times; and a fifth component operating in a first computer system to provide a location estimate of the location of the Internet host according to the correlation of the first, second, and third delay times; and a sixth component that computes a dispersion metric representative of the accuracy of the location estimate of the location of the Internet host and selectively provides the location estimate based upon the dispersion metric, wherein the location estimate is at least one of stored on a computer readable storage medium or displayed on an display device.
-
-
26. Geographical location estimate data associated with an Internet host, the estimate data resulting from a process executing on a computer system, comprising the following computer executable acts:
-
measuring a first delay time relating to a transmission from a first computer system to receipt of the transmission at the Internet host along a first network path between a host IP address associated with the Internet host and the first computer system; measuring a second delay time relating to a transmission from a second computer system to receipt of the transmission at the Internet host along a second network path between the host IP address and the second computer system; measuring a third delay time relating to a transmission from a third computer system to receipt of the transmission at the Internet host along a third network path between the host IP address and the third computer system, at least one of the first, second, and third network paths containing at least one intermediate node; correlating the first, second, and third delay times; providing a location estimate of the location of the Internet host according to the correlation of the first, second, and third delay times; and computing a dispersion metric representative of the accuracy of the location estimate of the location of the Internet host and selectively providing the location estimate based upon the dispersion metric, wherein the location estimate is at least one of stored on a computer readable storage medium or displayed on an display device.
-
-
27. A method of determining the location of an Internet host using a first computer system, comprising the following computer executable acts:
-
obtaining partial IP-to-location mapping information from a data source;
obtaining network routing information;clustering together IP addresses corresponding to hosts in the same geographic location according to network routing information to obtain cluster information; correlating the partial IP-to-location information with the cluster information; providing a location estimate of the location of the Internet host according to the correlation of the partial IP-to-location information and the cluster information; and computing a dispersion metric representative of the accuracy of the location estimate of the location of the Internet host and selectively providing the location estimate based upon the dispersion metric. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. A software tool stored on a computer readable storage medium for determining the location of an Internet host using a first computer system, comprising the following computer executable components:
-
a first component that obtains partial IP-to-location mapping information from a data source; a routing protocol component that obtains network routing information; a clustering component that clusters together IP addresses corresponding to hosts in the same geographic location according to network routing information to obtain cluster information; a correlation component that correlates the partial IP-to-location information with the cluster information; an estimation component that provides a location estimate of the location of the Internet host according to the correlation of the partial IP-to-location information and the cluster information; and a correction component that computes a dispersion metric representative of the accuracy of the location estimate of the location of the Internet host and selectively provides the location estimate based upon the dispersion metric, wherein the location estimate is at least one of stored on a computer readable storage medium or displayed on an display device.
-
-
39. A computer-readable medium having computer-executable instructions for:
-
obtaining partial IP-to-location mapping information from a data source;
obtaining network routing information;clustering together IP addresses corresponding to hosts in the same geographic location according to network routing information to obtain cluster information; correlating the partial IP-to-location information with the cluster information; providing a location estimate of the location of the Internet host according to the correlation of the partial IP-to-location information and the cluster information; and calculating a dispersion metric representative of the accuracy of the location estimate of the location of the Internet host and selectively providing the location estimate based upon the dispersion metric.
-
-
40. A system executing on one or more processors for determining the location of an Internet host, comprising the following computer executable components:
-
a first component that obtains partial IP-to-location mapping information from a data source; a second component that obtains network routing information; a third component that clusters together IP addresses corresponding to hosts in the same geographic location according to network routing information to obtain cluster information; a fourth component operating that correlates the partial IP-to-location information with the cluster information; a fifth component that provides a location estimate of the location of the Internet host according to the correlation of the partial IP-to-location information and the cluster information; and a sixth component operating to that calculates a dispersion metric representative of the accuracy of the location estimate of the location of the Internet host and selectively providing the location estimate based upon the dispersion metric.
-
-
41. Geographical location estimate data associated with an Internet host, the estimate data resulting from a process executing on a computer system, comprising the following computer executable acts:
-
obtaining partial IP-to-location mapping information from a data source; obtaining network routing information; clustering together IP addresses corresponding to hosts in the same geographic location according to network routing information to obtain cluster information; correlating the partial IP-to-location information with the cluster information;
providing a location estimate of the location of the Internet host according to the correlation of the partial IP-to-location information and the cluster information; and
computing a dispersion metric representative of the accuracy of the location estimate of the location of the Internet host and selectively providing the location estimate based upon the dispersion metric, wherein the location estimate is at least one of stored on a computer readable storage medium or displayed on an display device.
-
Specification