Systems and methods of the present disclosure provide a way to pinpoint where a target device associated with an IP address is physically located within a geographical region. Network-communication delays between landmark devices and the target device are determined and used to generate sequences capturing relative delay relationships between the landmark devices and the target device. The sequences are used to determine a ranking via a sequence-matching approach. For each pair of landmark devices, a geographical boundary that divides the geographical region into a target partition and a second partition is determined. The target partition includes a first landmark device of the pair and the second partition includes a second landmark device of the pair. The target device is located where the target partitions for the pairs overlap. Network tomography can be applied to increase accuracy.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for determining a geographical location of a target device associated with a network address used for communicating within a computer network, the method comprising: determining, for each landmark device in a set of landmark devices, a corresponding network-communication delay between the landmark device and the target device; generating a first sequence of the set of landmark devices, wherein each landmark device is positioned in the first sequence according to the corresponding network-communication delay between the landmark device and the target device; determining, for each landmark device in the set of landmark devices, a respective network-communication delay between the landmark device and each other landmark device in the set of landmark devices; generating, for each landmark device in the set of landmark devices, a respective sequence of the other landmark devices in the set of landmark devices, wherein each other landmark device is positioned in the respective sequence according to the respective network-communication delay between the landmark device and the other landmark device; generating, based on the first sequence and based on each respective sequence, a ranking of the landmark devices relative to the target device; identifying a plurality of pairs of landmark devices in the set of landmark devices; for each pair of landmark devices and based on the ranking, determining a boundary that divides the geographical region into a target partition and a second partition, wherein the target partition includes a first landmark device of the pair and the second partition includes a second landmark device of the pair; and determining a first mutual-overlap area that overlaps with the target partition of each pair, wherein the first mutual-overlap area encompasses the geographical location of the target device.
2. The method of claim 1 , further comprising: determining, based on the first mutual-overlap area, a subset of the landmark devices to use for locating the target device within a geographical region in which the landmark devices are located; performing network tomography to determine an actual data-transmission path from each landmark device in the subset to the target device.
3. The method of claim 2 , further comprising: determining a direct travel distance from each landmark device in the subset to the target device based on the actual data-transmission path from the landmark device to the target device.
4. The method of claim 3 , further comprising: determining, for each landmark device in the subset, a geographical bounding circle, wherein the bounding circle is centered at the landmark device and a radius of the bounding circle substantially equals the direct travel distance from the landmark device to the target device; and determining a second mutual-overlap area that overlaps with the bounding circle of each landmark device in the subset, wherein the first mutual-overlap area encompasses at least part of the second mutual-overlap area and the second mutual-overlap area encompasses the geographical location of the target device.
5. The method of claim 1 , further comprising: identifying at least one mobile device connected to the network, wherein the mobile device includes a global positioning system (GPS); and determining, based on measurements associated with the GPS, a rate of movement associated with the mobile device; comparing the rate of movement to a threshold rate; and determining whether to include the at least one mobile device in the set of landmark devices based on the comparison.
6. The method of claim 1 , wherein generating the ranking includes applying a maximum a posteriori (MAP) sequence-matching method to the first sequence and each respective sequence.
7. The method of claim 1 , wherein: the boundary that divides the geographical region into the target partition and the second partition for each pair of landmark devices is a line; the first partition includes each landmark device that the ranking indicates is closer to the first landmark device of the pair; and the second partition includes each landmark device that the ranking indicates is closer to the second landmark device of the pair.
8. A non-transitory computer-readable storage medium containing instructions that, when executed by one or more processors, perform an operation for determining a geographical location of a target device associated with a network address used for communicating within a computer network, the operation comprising: determining, for each landmark device in a set of landmark devices, a corresponding network-communication delay between the landmark device and the target device; generating a first sequence of the set of landmark devices, wherein each landmark device is positioned in the first sequence according to the corresponding network-communication delay between the landmark device and the target device; determining, for each landmark device in the set of landmark devices, a respective network-communication delay between the landmark device and each other landmark device in the set of landmark devices; generating, for each landmark device in the set of landmark devices, a respective sequence of the other landmark devices in the set of landmark devices, wherein each other landmark device is positioned in the respective sequence according to the respective network-communication delay between the landmark device and the other landmark device; generating, based on the first sequence and based on each respective sequence, a ranking of the landmark devices relative to the target device; identifying a plurality of pairs of landmark devices in the set of landmark devices; for each pair of landmark devices and based on the ranking, determining a boundary that divides the geographical region into a target partition and a second partition, wherein the target partition includes a first landmark device of the pair and the second partition includes a second landmark device of the pair; and determining a first mutual-overlap area that overlaps with the target partition of each pair, wherein the first mutual-overlap area encompasses the geographical location of the target device.
9. The non-transitory computer-readable storage medium of claim 8 , wherein the operation further comprises: determining, based on the first mutual-overlap area, a subset of the landmark devices to use for locating the target device within a geographical region in which the landmark devices are located; performing network tomography to determine an actual data-transmission path from each landmark device in the subset to the target device.
10. The non-transitory computer-readable storage medium of claim 9 , wherein the operation further comprises: determining a direct travel distance from each landmark device in the subset to the target device based on the actual data-transmission path from the landmark device to the target device.
11. The non-transitory computer-readable storage medium of claim 10 , wherein the operation further comprises: determining, for each landmark device in the subset, a geographical bounding circle, wherein the bounding circle is centered at the landmark device and a radius of the bounding circle substantially equals the direct travel distance from the landmark device to the target device; and determining a second mutual-overlap area that overlaps with the bounding circle of each landmark device in the subset, wherein the first mutual-overlap area encompasses at least part of the second mutual-overlap area and the second mutual-overlap area encompasses the geographical location of the target device.
12. The non-transitory computer-readable storage medium of claim 8 , wherein the operation further comprises: identifying at least one mobile device connected to the network, wherein the mobile device includes a global positioning system (GPS); and determining, based on measurements associated with the GPS, a rate of movement associated with the mobile device; comparing the rate of movement to a threshold rate; and determining whether to include the at least one mobile device in the set of landmark devices based on the comparison.
13. The non-transitory computer-readable storage medium of claim 8 , wherein: the boundary that divides the geographical region into the target partition and the second partition for each pair of landmark devices is a line; the first partition includes each landmark device that the ranking indicates is closer to the first landmark device of the pair; and the second partition includes each landmark device that the ranking indicates is closer to the second landmark device of the pair.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
April 19, 2017
August 27, 2019
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.