# Patent

## Title
Geolocation

## Abstract

A method for determining information regarding a location of a target. A signal is sent from a first device to the target, and a total flight time delay is measured. Based on the total flight time delay, a distance of the target from the first device is determined thereby establishing a total possible area for the target location. A medial node with a known location is identified, and a flight time delay from the first device to the medial node is determined thereby permitting a determination of the distance of the target from the medial node and a reduced possible target area. Further reduced areas can be established with iterations of the medial node identification. Refinement can be achieved by automatically applying a probabilistic distribution with geographic regions of reduced confidence and geographic regions of elevated confidence as may be based on physical terrain, population density, and communication bandwidth.

## Background
RELATED APPLICATION
This application is a continuation-in-part of application Ser. No. 12/873,272, filed Aug. 31, 2010, issued as U.S. Pat. No. 9,112,667 on Aug. 18, 2015, which is incorporated herein by reference.


FIELD OF THE INVENTION
The present invention relates generally to electronic communication systems and methods. More particularly, disclosed and protected herein is a system and method for narrowing the area of possible physical location of a target by use of signal flight time to the target in combination with a known location of a medial node along a signal flight path. Further disclosed and protected herein is a method for establishing measures of confidence of the target being in one or more identified geographic regions of elevated confidence or not being in one or more identified geographic regions of reduced confidence.
BACKGROUND OF THE INVENTION
In a network of communicating devices, such as the Internet, or a communication network coupled thereto, such as an enterprise network, a wireless communication system, or any other type of computer network or communication system, devices are generally identified by a substantially unique name. Unique names include the 4-octet address associated with devices by the IP (Internet Protocol) protocol (version 4) and variants thereof. These substantially unique names are generally used by routing or switching devices within the network to direct messages using either circuit-based or packet-based techniques from their sources to their destinations.
The routing and switching devices, or at least the subnet thereof, sometimes referred to herein as “the network, are at least collectively aware of the network topology, such as which devices are coupled to which other devices, and the network topography, such as which connections between devices are relatively fast or slow, reliable or not, or exhibit other features relevant to network communication, such as for example a measure of quality of service, sometimes called “QoS”. While this information is generally available throughout the network for communication purposes, the physical locations of devices coupled to the network or using it for communication are not so freely available. Identifying physical location in response to network address information and possibly other information, such as metadata about the communicating device or its users' habits and practices is sometimes called geolocation. It is also sometimes called IP geolocation or other terms or phrases.
Relatively precise and reliable geolocation might be desired for a device coupled to such a network for a variety of reasons. For example, it may be desirable to direct advertisements or other communications to recipients in selected geographic regions, sometimes referred to herein as “geotargeting”, “IP geotargeting”, or other terms or phrases. It may also be desirable to determine a most probable set of locations for that device, such as to locate lost nodes or to rule out locations for lost nodes, such as in a search-and-rescue environment in a wireless environment distributed over a relatively large region, or to locate rogue nodes, or to rule out locations for rogue nodes, such as in a hostile electromagnetic environment as one might find due to criminal, espionage, or military activity. Still further, it may be desirable to determine an external boundary of a region or area within which that device, according to received data, must necessarily be located, such as in a search-and-rescue environment or a law enforcement environment, or similarly, providing sufficient evidence or proof that a designated device was or was not located within a designated region, or at a specific location, within a designated time period, such as in a legal proof environment or a network trouble-shooting environment.
Yet further, it may be desirable to locate failed nodes and communication paths within such a network, or at least locating a most probable set of such failed nodes and communication paths within such a network, such as in an environment in which nodes cannot be found for communication or such as in an environment in which communication with nodes is uncertain. It may be necessary or desirable to identify, with at least some degree of specificity, a physical, geographic path through which a designated set of messages flow through that network, such as in an environment in which the physical location of network traffic is deemed important, such as a network trouble-shooting environment, a search-and-rescue environment, particularly if communication with one or more rescue workers is lost or unreliable, or when communicating nodes in the network are moving, such as in an environment in which tracking the location of such nodes from time to time is desired, such as an air-traffic control or fleet management environment.
There are known methods for attempting to determine the physical location of a device in a computer network using triangulation on the surface of a sphere, which is the approximate shape of the Earth, in response to communication delay to-and-from the device from three or more known locations. See, for example, U.S. Pat. No. 6,947,978 B2. While these known methods can generally achieve their purpose of providing approximate physical locations of such devices, they are generally only able to designate an area of the Earth's surface as the possible locations of the device. These approximate physical locations have a margin of error which is often higher than desirable, and often provide insufficient accuracy, for many purposes. The granularity of these measurements is often higher than desirable, given the relatively rapid propagation of signals within the network, with the result that precision of measurement is extremely difficult to obtain. Often the location of the device can only be determined to within an area of several thousand square miles. This is often deemed inadequate for many uses of geolocation described herein. Moreover, these measurements serve only to designate a possible region for the geolocated element; they do not provide any substantial information about probability of location within that possible region.
Known methods include using statements by third parties about the location of the device. For example, the Internet “Whois” record for the domain name associated with the device shows a postal address for the party that administers the subnet where that device is found. See, for example, U.S. Pat. No. 6,684,250 B2. While these known methods can generally achieve their purpose of providing better physical locations of such devices than pure triangulation, they are subject to several drawbacks: (1) the Whois record shows a postal address for an administrator, which is no guarantee of the location of the actual device itself; (2) Whois records might be inaccurate or even deliberately false; (3) Whois records are often deemed inadequate information or insufficiently certain to provide useful geolocation information, e.g., for police or detective work, or for evidence in court. These problems appear inherent to information supplied about the device from a third party, or provided voluntarily, or provided by a human being, rather than directly obtained from interaction with the device, and are not specific to “Whois” records.
Known methods include determining a matrix of minimum communication times between (1) a set of multiple network stations, and (2) a set of endpoint nodes. Both the former and the latter are at known locations. A vector of communication times from the network stations to the target device is measured, and the target device is presumed to be at the same location as the endpoint whose vector of communication times (from the network stations) most closely matches the measured vector. See, for example, U.S. Pat. No. 6,947,978 B2. While these known methods can generally achieve their purpose of providing better physical locations of such devices than pure triangulation, they are subject to the drawback that an amount of communication effort diverted to geolocation is relatively large. Neither network traffic to the target device nor network traffic overall are minimized, with the effect that both the target device is burdened by the effort, and with the effect that geolocation efforts become relatively more difficult with network size.
Moreover, obtaining a vector of such communication times involves measuring one or more distances to endpoint nodes that are at known locations. It sometimes occurs that such known locations are not as prevalent as desirable. It often occurs that such known locations are not conveniently located, or even located anywhere reasonably near the target device, either locality within the connectivity of the network or locality within physical space. Preparing a set of known locations ahead of time involves significant network communication, as well as effort and time, and has a substantial chance of failing to find enough such known locations ahead of time for a target location that is unknown ahead of time.
Known methods generally suffer from the drawbacks that they do not significantly address questions regarding the network topology or network topography, such as whether the network has adequate connectivity, whether the network topology or network topography have changed significantly over time, what the communication limits are of the network, and other information related to trouble-shooting the subnet of communication and routing devices for the network. Moreover, known methods generally suffer from the drawbacks that they do not generally provide any convenient method for assigning priority to one or more determined locations or determined regions. For example, known methods generally provide only a set of points or regions where the geolocated target device might be found, without relative probability of one or more of those points, or one or more subsets of those regions, being factually accurate or useful for the purpose for which geolocation was used.
Methods of the prior art include the “Method and apparatus for estimating a geographic location of a networked entity” disclosed in U.S. Pat. No. 6,684,250 B2, issued Jan. 27, 2004, by Anderson, et al. Also disclosed is a “Method for geolocating logical network addresses” in U.S. Pat. No. 6,947,978 B2, issued Sep. 20, 2005, to Huffman, et al. and assigned to the United States as represented by the Director, National Security Agency. Despite these and further useful contributions to the art by skilled inventors, there remains a need for improved systems and methods for determining information regarding a physical location of a target and for establishing a measure of confidence of the target being in one or more identified geographic regions of elevated confidence.
SUMMARY OF THE INVENTION
With an awareness of the prior state of the art and the shortcomings thereof, the present inventor devised of the geolocation systems and techniques disclosed herein. The systems and techniques include, for example, methods, physical articles, and systems that provide information about current or past physical location of a target device. The target device may be a target or a target node in a communication network.
Information about physical location might express one or more of the following or some combination or conjunction thereof:
where the target device currently is, or was at specified times;
an area of a surface or a region in a space which provides a best estimate of the target device's location;
an area of a surface or a region in a space which provides a guarantee of the target device's location or equivalently, a guarantee of where the target device cannot be found, or could not have been found at specified past times;
a probability mass distribution of relative likelihoods, for example and without limitation, of particular points, areas, or regions for the target device;
a set of, potentially physically, nearest-neighbor nodes in the communication network or in a related communication network;
a likelihood that a target node at a known location is a rogue node or is otherwise improperly integrated into the network, such as, for example, if the target node can be geolocated with high probability at one or more locations, or one or more regions, under hostile control, or where legitimate nodes are otherwise unlikely to be; or
other information about or related to physical location, for example and without limitation, velocity, orientation, or otherwise.
After reading this application, those skilled in the art would recognize that combinations or conjunctions of such information might include, for example and without limitation, a probabilistic distribution expressed for point locations, an integral of such a probabilistic distribution of point locations in an area or region, a probabilistic distribution of nearest-neighbor nodes, and the like. As there are a number of possible types of such information described above, there are a corresponding number of possible combinations or conjunctions thereof.
Although this description is primarily directed to techniques relating to location on or near the surface of the Earth, there is no particular reason for any such limitation in the context of the invention. Thus, the prefix “geo-” in “geolocation”, and other terms, need not refer to the surface of the Earth. The same techniques described herein might be used, for example and without limitation, on other planetary bodies. In such instances, they might be called “lunalocation”, “lunarlocation”, or some other appropriate term, in substantially 3-dimensional environments, such as underwater, in broken terrain, in the air, in Earth's orbit or more distant locations, otherwise, or some combination or conjunction thereof. Similarly, the identifier “IP” in “IP geolocation”, and other terms, need not refer to use of the Internet Protocol, or variants thereof, or even to electromagnetic forms of communication. The same techniques described herein might be used, for example and without limitation, with other communication techniques and protocols. After reading this application, many such possibilities would be clear to those skilled in the art.
Probabilistic Sampling.
An effort devoted to determining geolocation might be relatively increased or decreased, for example and without limitation, by making multiple measurements m1 . . . j where a single measurement m is otherwise described or called-for. When measuring delays dt1 . . . j to the target node, the value of a lowest such observed delay dtlow has the effect of permitting a determination of a maximum possible distance dsmax of the target node from a probe location, as otherwise the signal from the probe location to the target node and back would imply that a maximum possible communication speed of the network was exceeded.
Absent violation of Einstein's theories of relativity, that possible communication speed is necessarily less than the vacuum speed of light, c. In some environments, the maximum possible communication speed might be substantially less. For a first set of examples and without limitation, a communication speed of electrical signals in conductive wiring, such as copper, or wireless electromagnetic signals in a noisy atmospheric environment, or a communication speed of optical signals in optical fiber or other optically transmissive media, is often substantially less than the vacuum speed of light. As noted below, a communication speed of optical signals in optical fiber is often only about 2⁄3 c. For a second set of examples and without limitation, a communication speed of sonar signals in sonar systems is generally less than or equal to a speed of sound in the relevant medium. While precision of speed is generally valuable for accurate measurement of distance, in some embodiments, it might be valuable to use a slower form of communication with the effect of obtaining better precision of location for relatively short time delays.
A statistically-significant sampling of possible such values would allow inference of a corresponding probabilistic measure of that distance. For example and without limitation, the probabilistic measure of that distance might be expressed as a log-normal distribution with a mean and variance equal to the best estimate derived from the set of such multiple data. Other and further distributions of probabilistic measure, such as for example a logistic distribution, are also workable and are within the scope and spirit of the invention. This has the effect of allowing the geolocation system to conclude (1) a maximum possible distance, (2) a most likely distance, and (3) a probabilistic distribution of most likely distances with that probabilistic distribution having a value of substantially zero probability at locations beyond the maximum possible distance. After reading this application, those skilled in the art will recognize that, in cases in which the maximum possible distance dsmax restricts the possible location of the target node, a set of such maximum possible distances ds from distinct probe locations s1 . . . j has the effect of allowing a geolocation system to deduce a substantially smaller possible area or region for the target node as the actual location must satisfy all such maximum possible distances smax, 1 . . . j.
Although this description is primarily directed to techniques in which such multiple measurements are made from more than one such probe device, there is no particular reason for any such limitation in the context of the invention. The same techniques described herein might be used, for example and without limitation, using a single such probe device at multiple places or times, using a single such probe device using multiple pathways to the target device, using signals having multiple distinct propagation techniques, or even using a single probe at a single place and time. While the latter would generally provide a substantially donut-shaped probability distribution, this is considered superior to lack of a known probability distribution. Similarly, the canonical or typical statistical distribution of distance from a probe device to a target device need not be log-normal. It might exhibit significant skew or excess kurtosis, or it might exhibit a distinct distribution, such as for example an ordinary Gaussian distribution, or a logistic distribution. After reading this application, those skilled in the art would recognize that empirical evidence might lead the geolocation system to conclude that the statistical distribution should be modeled as other than log-normal. Many such possibilities would be clear to those skilled in the art.
Domain Information.
A set of information relating to a likelihood of the target node being in a specified location, area, or region, can be used either independently or to modify the probabilistic conclusion drawn as described above. For example, the likelihood of the target node being in a specified location, area, or region might be further determined with reference to one or more of the following or some combination or conjunction thereof:
a set of data describing or allowing inference of population density, for example and without limitation, census data indicating an amount of population in each area, data indicating a number of businesses or families identified in a phone directory or other indicator of location, data indicating a frequency or number of citations of location or place name in a database of businesses or persons, such as for example those found in alumni listings from universities, those found in social networking sites, subscribers to databases available using a communication network, subscribers to mailing lists or syndication feeds, and otherwise;
a set of data describing or allowing inference of power usage, for example and without limitation, measures of economic development, measures of visible luminescence at night, such as night-time light emission, or measures of other luminescence during either day or night, such as for example infrared emission, such as might occur from waste heat, from electrical or heat co-generation systems, or other heat generation;
a set of data describing or allowing inference of building development, such as for example a measure of building height above a mean ground level or other relevant mean level, a measure of building concentration, such as for example a measure of land usage devoted to industrial or commercial use, versus residential or farm use, a measure of industrial development, such as for example a measure of pollutants from stationary sources, a measure of road development, a measure of traffic volume, such as for example a measure of air pollutants from mobile sources;
a set of data describing or allowing inference of communication bandwidth or other communication capability, for example and without limitation, distance from a cellular base station, density of cellular base stations in a specified neighborhood, a measure of a number of computing devices known to be located in or near a region, such as for example a number of computers sold in that region, a number of mobile handsets, “netbooks”, or other devices sold in that region, a measure of network requests originating from that region, such as for example HTTP requests, or otherwise; or
other information about or related to likelihood of the target device being in or having been in a specified location, area, or region.
After reading this application, those skilled in the art would recognize that combinations or conjunctions of such information might include, for example and without limitation, a probabilistic distribution expressed for point locations, an integral of such a probabilistic distribution of point locations in an area or region, a probabilistic distribution of nearest-neighbor nodes, and the like. As there are a number of possible types of such information described above, there are a corresponding number of possible combinations or conjunctions thereof.
Intermediate Routing Points.
A set of information relating to a route traced by a geolocation message, such as for example, a Ping request packet, can be used to more precisely determine the likelihood of the target node being in a specified location, area, or region. This information can be used either independently or to modify the probabilistic conclusion drawn as described above.
Certain non-limiting examples are as follows:
between the sender S and the receiver R of a geolocation signal, being able to identify a medial node M, and having the actual or approximate location of the medial node M allows the geolocation system to determine a distance to the receiver R as if it were originated at the medial node M, such as for example by subtracting a known distance S−M from the measured distance S−R;
on distinct paths taken by a geolocation signal between the sender S and the receiver R, being able to identify more than one such medial node M1 . . . j with at least one per path, allows a geolocation system to determine a distance to the receiver R as if it were originated at each of the medial nodes M1 . . . j; or
once a more precise determination of the geolocation of the target node is determined, a process of finding one or more such medial nodes M1 . . . j can be repeated, and the location of the target node determined more precisely with each iteration of the process.
After reading this application, those skilled in the art would recognize that combinations or conjunctions of such information might include, for example and without limitation, determining a restricted range from one medial node M, determining a probabilistic distribution from one or more such medial nodes M; or determining an intersection or probabilistic distribution given combined information from more than one such medial node M1 . . . j.
While this application describes cases in which there one medial node M for each distinct path from the sender S to the receiver R, there is no particular need for any such limitation in the context of the invention. For example and without limitation, it might be possible to determine a location or an approximate location of either some of the medial nodes M1 . . . j or the receiver S, in response to knowledge of the network topology, or in response to distances (known or approximate) between pairs of the medial nodes Mij, preferably when such pairs include two medial nodes Mi and Mj on distinct paths or subpaths to the receiver.
Probabilistic Geolocation.
As described above, a set of information relating to a probabilistic conclusion as described above can be determined, either in response to probabilistic sampling, or in response to domain information, or both. A probabilistic distribution can be estimated for a combination of parameters, some of which might be non-spatial and some of which might be spatial. For some examples and without limitation:
a probabilistic distribution might be estimated in response to (1) the actual location of a particular target spot, (2) a distance from a probe device to that particular target spot, (3) an observed time delay, and (4) a hop count for a path taken between the sender S and the receiver R of the geolocation signal;
a probabilistic distribution might be estimated in response to (1) a set or subset of possible spatial dimensions, such as for example, latitude, longitude, and height above the Earth's surface, (2) a set or subset of non-spatial dimensions, such as hop count as noted above, flight time versus switching time, precision of the estimated location of the sender S, precision of the estimated location of the receiver R, or other factors.
Countermeasures Against Uncooperative Devices.
Although this description is primarily directed to cases in which the target device is willing and able to cooperate with the geolocation system, there is no particular reason for any such limitation in the context of the invention. For example and without limitation, if the target refuses to respond to geolocation signals from the probe or if the target responds in such way that geolocation would be misdetermined, the probe might take countermeasures to obviate problems introduced by uncooperative targets. Some non-limiting examples follow.
If the target refuses to respond or is prevented from responding by a firewall device or another cause to a first type of geolocation signal, the probe might attempt to coax a response from the target using a second type of geolocation signal. For example, and without limitation, the probe might use a first type of geolocation signal including a Ping request. If the target does not respond to the Ping request, the probe might use a second type of geolocation signal including an unsolicited HTTP reply, not a request. Likely, the firewall will allow this second type of geolocation signal to reach the target, which will make an error response.
If the target does not respond to a second type of geolocation signal including an unsolicited HTTP reply, the probe might attempt to reach the target with a third type of geolocation signal, a fourth type of geolocation signal, and the like.
If the target does not respond to any geolocation signal from the probe, the probe might attempt to geolocate a firewall protecting the target in response to an assumption that the firewall is operated by the same entity as the target and is substantially co-located with the target. The firewall's location might serve as a sufficient proxy for the target's location even where geolocation of the firewall might not provide an exact location for the target.
Similarly, if the firewall refuses to respond or is prevented from responding by a security policy or another cause, the probe might attempt to coax a response from the firewall, potentially in a manner to coaxing a response from the target. If the firewall does not respond to any geolocation signal from the probe, the probe might attempt to geolocate a nearest-neighbor in the communication network or an identifiable router near the firewall, or the system may use some other proxy for the target's or the firewall's location.
One possible method for determining information regarding a physical location of a target according to the invention can thus include sending a signal from a first device in a network to the target. A total flight time delay in the network in response to the signal can be measured. Based on the total flight time delay, first information associated with the physical location of the target can be determined comprising a maximum distance of the physical location of the target from the first device based at least in part on the total flight time delay multiplied by an actual or presumed flight speed of the signal. With this, a total possible area for the physical location of the target is established as the area swept by the radius formed by the maximum distance of the physical location of the target from the first device. A medial node can be identified through which the signal propagated from the first device to the target. With the medial node having known location, a flight time delay from the first device to the medial node based can be determined based at least in part on the known location of the medial node and the actual or presumed flight speed. With that, based on the known location of the medial node and the total flight time delay, a maximum distance of the target from the medial node can be determined based on the total flight time delay less the flight time delay from the first device to the medial node to establish a medial node flight time delay and a reduced possible area for the physical location. As used herein, the term area shall include two-dimensional and three-dimensional spaces except as the invention might be expressly limited by the claims
Practices of the invention can further include identifying second and potentially further medial node through which the signal propagated from the first medial node to the target. Where the second medial node has a known location, the system and method can determine, based on the known location of the second medial node, the total flight time delay, and the medial node flight time delay, a distance of the target from the second medial node based on the total flight time delay less the flight time delay from the first device to the medial node and the medial node flight time delay to establish a second medial node flight time delay. With that, a further reduced possible area for the physical location of the target can be determined.
The step of measuring a total flight time delay can be responsive to an action by a probe, and the step of measuring a total flight time delay can include receiving a signal responsive to an action by a probe. The step of measuring a total flight time delay can include receiving a second signal from the target. The step of measuring a total flight time delay can be responsive to a time duration between sending the signal from the first device and receiving a signal from the target. That time duration can be responsive to a distance to the target. The time duration can be responsive to a communication with the target. Additionally or alternatively, the time duration can be responsive to a processing time by one or more devices in the network.
It is contemplated that the one or more devices could include the target. The one or more devices could include one or more devices other than the target.
Refinement of the method can further include applying a probabilistic distribution. The probabilistic distribution can comprise a measure of confidence that the target is less likely to be in one or more identified geographic regions of reduced confidence and a measure of confidence that the target is more likely to be in one or more other geographic regions of elevated confidence. The probabilistic distribution can be interpretable by a computing device, such as by being automatically determined by the computing device. The probabilistic distribution could be automatically determined based on one or more of physical terrain, population density, and communication bandwidth. Still further, the method could include identifying an attribute of the target comprising specifying one or more of a measure of bandwidth, a measure of network connectivity, a probability of a designated use, or a probability of authentication, associated with said target.
Embodiments of the system and method are contemplated wherein multiple signals are sent from the first device in the network to the target. The flight time delays in the network in response to the signals can be measured. The method can involve determining, based on the flight time delays, the maximum distance of the target from the first device, a most likely distance of the target from the first device, and a probabilistic distribution of most likely distances of the target from the first device. The probabilistic distribution could have a value of substantially zero probability at locations beyond the maximum possible distance.
The probabilistic distribution can be interpretable by a computing device to identify an area of a surface or a region in a space. The area of a surface or region in a space could, for instance, include one or more of a defined surface of possible locations, a defined volume of possible locations, a terrain surface, an at least partially built-up area, an underground environment, or an underwater environment. Further, the probabilistic distribution could be responsive to one or more of a measure of a density of cellular base stations, a measure of distance from a cellular base station, a measure of economic development, a measure of night luminescence, or a measure of population or population density. Still further, the probabilistic distribution could be responsive to one or more of census data, land-use data, one or more bodies of water, or topographic boundaries.
Combinations and Conjunctions of Multiple Methods.
Although this description is primarily directed to each technique described above individually, there is no particular reason for any such limitation in the context of the invention. Rather, multiple of these techniques can be combined or otherwise used, such as using a first technique and using a second technique to modify results derived from the first technique, or using a combination of the first technique and the second technique to each inform an estimate to be drawn in response to the other.
One will appreciate that the foregoing discussion broadly outlines the more important features of the invention merely to enable a better understanding of the detailed description that follows and to instill a better appreciation of the inventor's contribution to the art. Before embodiments of the invention are explained in further detail, it must be made clear that the following details and descriptions of inventive concepts are mere examples of the many possible manifestations of the invention.



BRIEF DESCRIPTION OF THE DRAWINGS
In the accompanying drawings:
FIG. 1 is a schematic depiction of a geolocation system according to the invention;
FIG. 2A is a chart and schematic depiction of probability density as a function of distance for a single probe;
FIG. 2B is a schematic depiction of probability density as a function of distance for a set of multiple probes;
FIG. 2C is a schematic depiction of probability density as a function of location for a probe;
FIG. 3 is a schematic depiction of a geolocation system pursuant to the invention in the location of intermediate nodes between a probe and a target;
FIG. 4A is a schematic depiction of geolocation under the prior art; and
FIG. 4B is a schematic depiction of geolocation pursuant to the present invention with the pinning a known intermediate location in combination with a determination of probability based on geography.



DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
The systems and methods disclosed herein are subject to varied embodiments, each within the scope of the invention. However, to ensure that one skilled in the art will be able to understand and, in appropriate cases, practice the present invention, certain preferred embodiments of the broader invention revealed herein are described below.
Generality of the Description.
This application should be read in the most general possible form. Without limitation, references to contemplated causes and effects for some implementations do not preclude other causes or effects that might occur in other implementations. References to particular reasons or to particular techniques do not preclude other reasons or techniques, even if completely contrary, where circumstances would indicate that the stated reasons or techniques are not as applicable. References to “preferred” techniques generally mean that the inventors contemplate using those techniques, and think they are best for the intended application. This does not exclude other techniques for the invention and does not mean that those techniques are necessarily essential or would be preferred in all circumstances. References to specific techniques include alternative and more general techniques, especially when discussing aspects of the invention, or how the invention might be made or used.
Generality of the Techniques.
Technologies shown or suggested by this description should also be thought of in their most general possible form. This includes, without limitation, the following indications.
The terms “constantly”, “continually”, “from time to time”, “occasionally”, “periodically”, and similar terms and phrases generally indicate any case in which a method or technique, or an apparatus or system, operates over a duration of time, including without limitation any case in which that operation occurs only part of that duration of time. For example and without limitation, these terms would include methods which review a status as frequently as feasible, on a periodic schedule, such as once per second or once per day, in response to an alarm or trigger such as a value reaching a threshold, in response to a request or an implication of a request, in response to operator intervention, otherwise, and to combinations and conjunctions thereof.
The terms “distribution”, “likelihood”, “probabilistic distribution”, “probability”, “probability density function”, “probability mass function”, “pseudo-probability”, and similar terms and phrases generally indicate any information describing a relative degree of prevalence, propensity, or statistical aspect, and are intended to cover the whole range of concepts sometimes indicated by those terms and phrases. In the context of the invention, concepts such as probability need not be continuous or discrete, need not be restricted to values between 0 and 1, need not obey mathematical rules sometimes ascribed to probability, and need not indicate a random, statistical, or stochastic process of any kind, and might represent a pseudoprobability or other proxy for likelihood.
The terms “effect”, “with the effect of”, and similar terms and phrases generally indicate any natural and probable consequence, whether or not assured, of a stated arrangement, cause, method, or technique, without any implication that an effect or a connection between cause and effect are intentional or purposive.
The terms “methods, physical articles, and systems”, “techniques”, and similar terms and phrases generally indicate any material suitable for description, including without limitation all such material within the scope of patentable subject matter, or having ever been considered within the scope of patentable subject matter, or which might colorably be within the scope of patentable subject matter, notwithstanding any precedent.
The terms “pseudo-random”, “random”, and similar terms and phrases generally indicate any technique of any kind in which information is generated or selected in a manner not predictable to the recipient. In the context of the invention, data, information, numbers, processes, or otherwise, referred to herein as “random”, need not be equidistributed over anything in particular.
The term “relatively” and similar terms and phrases generally indicates any relationship in which a comparison is possible, including without limitation “relatively less”, “relatively more”, and the like. In the context of the invention, where a measure or value is indicated to have a relationship “relatively”, that relationship need not be precise, need not be well-defined, need not be by comparison with any particular or specific other measure or value. For example and without limitation, in cases in which a measure or value is “relatively increased or “relatively more”, that comparison need not be with respect to any known measure or value, but might be with respect to a measure or value held by that measurement or value at another place or time.
The term “substantially” and similar terms and phrases generally indicates any case or circumstance in which a determination, measure, value, or otherwise, is equal, equivalent, nearly equal, nearly equivalent, or approximately, what the measure or value is recited. The terms “substantially all” and “substantially none” and similar terms and phrases generally indicate any case or circumstance in which all but a relatively minor amount or number for “substantially all” or none but a relatively minor amount or number for “substantially none” have the stated property. The terms “substantial effect” and similar terms and phrases generally indicate any case or circumstance in which an effect might be detected or determined. The terms “this application”, “this description” and similar terms and phrases generally indicate any material shown or suggested by any portions of this application, individually or collectively, including all documents incorporated by reference or to which a claim of priority can be made or is made, and include all reasonable conclusions that might be drawn by those skilled in the art when this application is reviewed, even if those conclusions would not have been apparent at the time this application is originally filed.
The invention is not in any way limited to the specifics of any particular examples disclosed herein. After reading this application, many other variations are possible which remain within the content, scope, and spirit of the invention. These variations would be clear to those skilled in the art without undue experiment or new invention.
Real-World Nature.
The invention includes techniques, including methods, physical articles, and systems, that receive real-world information dictated by real-world conditions, not mere inputs to a problem-solving technique. The techniques provided by the invention are transformative of the information received, at least in the sense that incoming timing data is collected and an estimated geolocation is provided in response thereto. This has the effect that a first type of information, such as for example timing data, is transformed into a second type of information, such as for example location data.
The invention includes techniques that are tied to a particular machine, at least in the sense that particular types of communication and computation, by particular types of devices, are performed in a communication network. While this description is primarily directed to that portion of the invention in which timing data is collected from routers and switches in a computer network, there is no particular requirement for any such limitation. For example and without limitation, the techniques described herein might be applied to QoS data, as measured between a sender S and a receiver R, to clarify or help determine one or more medial nodes M through which the geolocation signals are routed.
This description includes preferred embodiments of the invention with preferred process steps and data structures. Those skilled in the art would recognize after perusal of this application that embodiments of the invention can be implemented using general purpose switching processors or special purpose switching processors or other circuits adapted to particular process steps and data structures described herein and that implementation of the process steps and data structures described herein would not require undue experimentation or further invention.
DEFINITIONS
The following definitions are exemplary, and not intended to be limiting in any way:
The terms “communication network,” “network”, and similar terms and phrases generally indicate any set of devices operating with the effect of cooperating to couple information from one or more senders to one or more recipients, the set of senders and the set of recipients being free to overlap. In the context of the invention, a communication network need not be uniform or even compatible across the network in techniques used to send or receive information, need not be physically compact, connected, or continuous, might be dynamic, static, or otherwise, and need not indicate any particular intentional design.
The terms “device”, “node”, and similar terms and phrases generally indicate a device of any kind capable of performing either the particular communicating tasks or the particular computing tasks, or variants thereof, or maintaining the particular data structures, or variants thereof, as described herein. A device might include one or more general-purpose processors having access to data structures or program instructions with the effect of performing the communicating tasks, performing the computing tasks, or maintaining the data structures, as described herein, might alternatively or in addition include one or more special-purpose processors, and might alternatively or in addition include electronic circuitry or other particular or special-purpose hardware built to perform those functions or some combination or conjunction thereof.
The terms “geolocation”, “geotargeting”, “IP geolocation”, “IP geotargeting”, and similar terms and phrases generally indicate any technique of any kind in which information sufficient to describe or identify a physical location of a device coupled to a communication network is deduced, determined, generated or otherwise uncovered.
The terms “geolocation system”, “geotargeting system”, “IP geolocation system”, “IP geotargeting system”, and similar terms and phrases generally indicate any technique of any kind, including without limitation any device, machine, method, process, or otherwise, in which at least some information useful for geolocation is produced or used.
The terms “location”, “position”, and similar terms and phrases generally indicate information sufficient to describe or identify a physical location or position in the real world, might describe or identify other information about or related to physical location, for example and without limitation, velocity, orientation, or otherwise, and need not include information sufficient to describe or identify a conceptual, logical or topological or graph-theory position, such as connectivity associated with a node in a computer network, unless otherwise indicated.
The terms “message”, “packet”, “signal”, and similar terms and phrases generally indicate any encoding, propagation, or transmittal of any kind of information, capable of being sent from a device of any kind and received by one or more devices. A message might be analog or digital, might be encoded using any selected technique for impressing information, and need not be restricted to electromagnetic phenomena.
The terms “probe”, “target”, and similar terms and phrases generally refer to a relationship between devices or applications, not necessarily to a physical or logical division of capability or function. One “probe” or one “target” might comprise any one or more of the following: (a) a single physical device capable of executing software; (b) a portion of a physical device, such as a software process or set of software processes capable of executing on one hardware device; or (c) a plurality of physical devices, or portions thereof capable of cooperating to form a logical entity. An element that is a probe for a first purpose or at a first time might be a target for a second purpose or at a second time.
The terms “proxy”, “substitute”, and similar terms and phrases generally refer to any case or circumstance in which a first value might be used in place of, as a substitute for, or as an approximate or substantial measure of, of what is recited to be a proxy. For example and without limitation, to say that population density might be used as a proxy for network device density has the implication that use of population density in at least some circumstances, at least some of the time, would serve as a value as good as, or nearly as good as, network device density, for at least one or more purposes.
After reading this application, those skilled in the art would recognize that these definitions would be applicable to techniques, methods, physical elements, and systems that are not currently known or not currently known to be applicable by the techniques described herein including extensions thereof that would be inferred by those skilled in the art after reading this application, even if not obvious to those of ordinary skill in the art before reading this application.
Notations.
The following notations, forms, and symbols, are also exemplary, and not intended to be limiting in any way:
An otherwise-unspecified measurement may generally be represented with a term m. A set of multiple measurements may generally be represented with a subscripted term m1 . . . j, where the ellipses generally indicate a range of values. Unless otherwise specified, a set of multiple values of any time may generally be represented with a subscripted term x1 . . . j, where the ellipses generally indicate a range of values.
A time value may generally be represented with a term t. A set of multiple such time values may generally be represented with a subscripted term t1 . . . j. In such cases, a “time value” generally indicates an actual time, as measured in a particular physical reference frame, such as for example 9:01 a.m.
A time delay may generally be represented with a term dt. A set of multiple such time values may generally be represented with a subscripted term dt1 . . . j. In such cases, a “time delay” generally indicates a duration of time, as measured in a particular physical reference frame, such as for example 100 milliseconds.
A spatial position may generally be represented with a term s. A set of multiple such positions may generally be represented with a subscripted term s1 . . . j. In such cases, a “position” generally indicates an actual location, as measured in a particular physical reference frame, such as for example the corner of Wall Street and 5th Avenue in New York City. A spatial position may also be represented with a term <<x, y>>, where x and y represent coordinates, such as for example a latitude and longitude.
A spatial distance may generally be represented with a term ds. A set of multiple such distances may generally be represented with a subscripted term ds1 . . . j. In such cases, a “distance” generally indicates a physical separation between a first location and a second location, as measured in a particular physical reference frame, such as for example 1,001 meters.
A speed or velocity may generally be represented with a term v. A set of multiple such speeds or velocities may generally be represented with a subscripted term v1 . . . j. In such cases, a “speed” generally indicates a measurement having units of distance/duration, as measured in a particular physical reference frame, such as for example c, the vacuum speed of light.
A message sender may generally be represented with a term S, or a subscripted term Si. A pair of such message senders may also be represented with a subscripted term Sij. A message receiver may generally be represented with a term R, or a subscripted term A pair of such message receivers may also be represented with a subscripted term Rij. A medial node between a message sender S and a message receiver R may generally be represented with a term M, or a subscripted term Mi. A pair of such medial nodes may also be represented with a subscripted term Mij.
A probability may generally be represented with an operator prob (●). A probability density function may also be represented with an operator pdf (●).
After reading this application, those skilled in the art would recognize that these notations would be applicable to techniques, methods, physical elements, and systems that are not currently known, or not currently known to be applicable by the techniques described herein including extensions thereof that would be inferred by those skilled in the art after reading this application, even if not obvious to those of ordinary skill in the art before reading this application.
Figures and Text.
Where described as shown in a figure, an element might include other items shown in the figure in addition to, or operating in combination or conjunction with, that particular element or that particular element in combination or conjunction with other elements, whether shown or not shown in the figure, and whether described or not described with respect to the figure; other items not shown in the figure, but whose inclusion would be known to those skilled in the art, or which would be known after reasonable investigation, without further invention or undue experimentation; subparts of that element, whether shown or not shown in the figure, which might be convenient for operation of the element, but which are not necessarily required in the described context, or which might be necessary for operation of the element in the described context, but which are not necessary for description at a level understandable to those skilled in the art.
Looking more particularly to the drawings, FIG. 1 shows a conceptual drawing of a system 100, including elements shown in the figure, including at least a network 110, one or more devices 120 coupled to that network 110, one or more messages 130 sent from or received by one or more of those devices 120, and one or more physical locations 140 where devices 120 might be disposed, whether dynamically or statically.
One or more of those devices 120 includes a target 121, for which a physical location 140 might be determined with respect to a physical reference frame, and in response to information deduced, developed, or measured in response to the network 110. The target 121 may be generally capable of receiving, or receiving and the time of its receipt being determinable, a probe signal 131 included with a first message 130 in that network 110. The target 121 may provide a response signal 132 which might be included with a second message 130 in the network 110. As described herein, the response signal 132 may be emitted without substantial delay from receipt of the probe signal 131, such as might occur when the probe signal 131 includes an ICMP “Ping” request and the response signal 132 includes a protocol response thereto.
While this description is primarily directed to response signals 132 which are provided without substantial delay, in the context of the invention, there is no particular reason for any such limitation. For a first example, and without limitation, countermeasures as described herein might account for delay in returning the response signal 132 or even deliberate obfuscation thereof. For a second example, and without limitation, the system 100 might account for a known or predicted amount of processing delay associated with receiving the probe signal 131, parsing and recognizing it, determining a response thereto, and generating or providing the response signal 132.
One or more of those devices 120 includes a probe 122 for which a physical location 140 is generally known, but it need not necessarily be known, for example and without limitation, as a {latitude, longitude} pair. As noted herein, while this description is primarily directed to a 2D surface of the Earth, or a portion thereof, in the context of the invention, there is no particular reason for any such limitation. Also, while this description is primarily directed to a probe 122 whose physical location 140 is known, in the context of the invention, there is no particular reason for any such limitation. For example and without limitation, the physical location 140 of the probe 122 might be determined at another time or place, or the probe 122 might glean adequate information about the target 121 without knowing its own exact location.
The probe 122 generates or emits or causes to be generated or emitted the geolocation signal 131 directed at least in part at the target 121 and having the effect that the target 121 responds with the response signal 132, which the probe 122 can recognize, and which the probe 122 can recognize the time delay between signal or challenge and response. While this disclosure is primarily directed to probe signals 131 and response signals 132 that are unicast and that are directed to specific devices, in the context of the invention, there is no particular reason for any such limitation. For a first example and without limitation, the probe signals 131 might be multicast with the probe 122 identifying one or more response signals 132 associated therewith and preferably distinguishing among which particular targets 121 provided which particular response signals 132. For a second example and without limitation, the probe signals 131 might be speculative, at least in the sense that the probe 122 is not certain there actually is a target 121 or that the probe signal 131 will be received and responded to, with the effect that the probe 122 might determine information about the network 110 and about the target 121 using information which the probe 122 discovers by happenstance.
The probe 122 might be coupled directly to the target 121. The probe 122, perhaps more usually, might be coupled to the target 121 using one or more intermediate nodes 123, such as for example routers, switches, gateways, or firewall devices.
Flight-Time Measurement.
As described herein, the probe 122 might determine a sending time ttransmit for the probe signal 131 and a receipt time treceive for the response signal 132. A difference dt=treceive−ttransmit between these two time values represents a delay, which delay includes at least processing-time delay dtprocess and a flight-time delay dtflight, thus, dt=dtprocess+dtflight. While the processing-time delay dtprocess at the probe 122 can generally be determined with reasonable accuracy, this is not necessarily so for the processing-time delay dtprocess at the target 121.
Processing-time delay dtprocess at the target 121 must be between 0 and dt. In a substantially friendly environment, processing-time delay dtprocess at the target 121 might approximate processing-time delay dtprocess at the probe 122, but this not necessary. As the total delay dt includes both the processing-time delay dtprocess and the flight-time delay dtflight, the probe 122 can isolate the flight-time delay dtflight by subtracting: dtflight=dt−dtprocess, target−dtprocess, probe. The flight speed vflight of the probe signal 131 and the response signal 132 is generally known and can actually be or be presumed to be approximately 2⁄3 c for Internet message signals, where c is the vacuum speed of light. Therefore, the target 121 is within the distance dsmax=dtflight·vflight from the probe 122, at most.
More precise determinations involving distinct flight speeds vflight for the probe signal 131 and the response signal 132, or for distinct portions of the network 110, or where processing-time delay dtprocess has determinable stochastic properties at either the target 121 or the probe 122, are possible, and are within the scope and spirit of the invention, even though they are not further described in detail at this point. In one embodiment, the number and processing delay(s) dtprocess, if any, of intermediate nodes 123 are known, with the effect that these processing delay(s) dtprocess are subtracted to determine the flight-time delay(s) dtflight, thus dtflight=dt−dtprocess.
Probabilistic Sampling. As noted herein, the probe 122 might send a set of multiple probe messages 131 to the target 121, and the system 100 may receive a corresponding set of multiple response messages 132 from which it can measure a distinct delay dt incurred by each probe/response. Some of the delays dt might be substantially the same, but, in general, the set of delays dt1 . . . j should exhibit a statistical distribution from which can be determined a least delay dtmin, an expected or mean delay dtμ, and a standard deviation of delay dtσ. As described below, the statistical distribution of delays dt is presumed to be approximately log-normal, with a reasonably well-defined mode value near the mean delay dtμ, and a defined drop-off from the mode value, toward zero delay, and in another direction, toward infinite delay.
Since an actual zero delay should not be possible, although it might occur that after subtracting an estimated processing-time delay that the system 100 computes an actual negative flight-time delay, which would indicate that processing-time delay was overestimated, there should be an actual minimum possible flight-time delay dtmin, corresponding to a direct response over the communication medium without intermediaries, dsmax=dtmin·vflight. With a sufficient number of measurements, the set of delays dt1 . . . j will include a lowest value dtlow, which would asymptotically approach the minimum possible flight-time delay dtmin as the number of those measurements is increased:

dtlow=min(dt1 . . . j)

lim(n→∞)dtlow=dtmin, or alternatively, lim(n→∞)dtlow−dtmin=0,

where n is the number of measurements made, and

dtlow is the lowest observed value of those measurements,

noting that increased measurement effort n provides a more accurate and precise estimate of dtmin with the effect of providing a more accurate and precise estimate of distance dsmax.

The statistical distribution of measurements dt1 . . . j provides a probabilistic expression of likely actual distance. For example and without limitation, if the statistical distribution is deemed log normal, albeit possibly with substantial skew or excess kurtosis, a probability density function of distance might be derived.

prob(ds=x)=pdflog-normal(x,dtμdtσ), and prob(ds<dsmin)=0,

the latter expressing the determination that the target 121 is no more than dsmax distance from the probe 122. While this description is primarily directed to statistical distributions which are log normal, or substantially so, such as for example ordinarily Gaussian or logistic, other statistical distributions are certainly possible, and in some cases might be preferable. In the context of the invention, there is no particular reason for any such limitation.

Network Traffic Variance.
The system 100 might also perform timing measurements at distinct times, such as hours within a day, days within a week, or on or near holidays and under distinct conditions, such as light network traffic, heavy network traffic, or bursty load on the network, with the effect that time delays other than flight time can be more accurately determined and removed from the measured delay.
This has the effect that processing-time delay, both at the target 121 and at the probe 122, can be minimized or determined with a smaller variance. With a more accurate or more precise measure of delays other than flight-time delay, the probe 122 can more accurately or more precisely remove those delays from the measured delay, leaving the flight-time delay itself.
More accurate or more precise measure of flight-time delay would correspond to more accurate statistical distributions, such as for example more accurate measurement of dtμ, or tighter boundaries on dtσ. This would have the effect of concentrating the probability mass in the probability density function determined for each probe 122. In cases in which there are multiple probes 122, this would also have the effect of concentrating the probability mass in the combined probability density function determined as a product of the individual probability density functions.
A concentrated probability mass has the effect that the physical location 140 of the target 121 might be determined more accurately, and also importantly, the likelihood that the target 121 is located within a designated area can be determined with better confidence.
FIGS. 2A, 2B, and 2C provide three conceptual drawings of probability density functions of distance. FIG. 2A shows a probability density function of distance for a single probe 122. FIG. 2B shows a probability density function of distance for a set of multiple probes 122. FIG. 2C shows a probability density function of location for a probe 122 and in response to other information.
In the case of a single probe 122, there should be a maximal hump at a mean distance dtμ, a first drop-off toward ds=0, and a second drop-off toward ds=∞. One description of this shape might be that of a donut or a bundt cake.
Multiple Probes.
In the case of a set of multiple probes 122, each possible location is associated with a probability density equal to the product of the separate probability densities derived from each probe 122. Each such probability density function might, and likely will, have a distinct mean distance dsμ,i and a distinct minimum distance dslow,i. As the total for each probability density function equals 100%, i.e., the target 121 has to be somewhere, the product of those probability density functions associates, for each possible location, a relative likelihood of the target 121 being at that location.

prob(s=<<x,y>>)=Π(i)pdfi(ds<<x,y>>,probei),

where prob (●) is a combined probability density function, and

s=<<x,y>> is a particular location.

As the total relative likelihood might be less than one,

∫(<<x,y>>)prob(s=<<x,y>>)d<<x,y>>=prelative,

the actually associated probability should be adjusted by a factor of 1/prelative. As the probability density function associated with measurements from probe i, mi will be zero for places impossible for the target 121 to be located, the product over all such pdfi (●) will also be zero for any place deemed impossible by any one or more probes 122.

Domain Information.
The statistical likelihood determined as described with respect to FIG. 2 might be further improved by using secondary probability distribution functions that can also be associated with likelihood of the presence or absence of the target 121. The secondary probability distribution functions are obtained from other than flight-time measurements.
For example and without limitation, the system 100 might be configured to deem it unlikely that the target 121 is located underwater or at sea, as it is more common for Internet nodes to be located in land-based data centers. More generally, the system 100 might determine a secondary probability distribution function which associates the likelihood of the target 121 being in any particular location <<x, y>> independently of measurements of flight-time. Described below are possibilities that are intended to be exemplary, not exhaustive.
As noted herein, the system 100 might construct a secondary probability distribution function in response to physical terrain. Physical terrain should be an indicator of how many targets 121 are likely to be located in any particular area at a selected time, as physical terrain often places constraints on the possibility of placing, powering, and accessing, a target 121. Physical terrain might be assigned relative likelihoods for each type of terrain. For example, water areas may be associated with relatively low likelihoods, except possibly for known sea lanes where ships travel. Mountainous areas may be associated with relatively low likelihoods, except possibly for known landmarks, observatories, roads, and otherwise. Cities and other built-up areas may be associated with relatively high likelihoods, except possibly for parks and other oases of the urban jungle. Similarly, zoning requirements might be used as well as physical terrain, for instance, with areas zoned for industry or offices having relatively higher likelihood than areas zones for farming or parks.
The system 100 might construct a secondary probability distribution function in response to population density. Population density should be an indicator of how many persons are located in any particular area at a selected time. Presuming that targets 121 are likely to be located where their users are located, population density thus might be a proxy for likelihood of any particular target 121 being located in any particular location. Population density might be obtained from census data as might be presented in census tract data, from postal code data as might be presented by relative geographic size of any particular postal code, presuming that postal codes are allocated in such manner as to pairwise balance traffic between any two selected postal codes, from telephone area code data or exchange data as may be presented by relative geographic size of service areas for those telephone area codes or exchanges, presuming that area codes and exchanges are allocated in such manner as to pairwise balance traffic between any two selected area codes or any two selected exchanges, otherwise, or some combination or conjunction thereof.
The system 100 might construct a secondary probability distribution function in response to economic activity. Economic activity should be an indicator of how many computing devices are located in any particular area at a selected time. Presuming that targets 121 are likely to be located where computing devices are located, economic activity thus might be a proxy for likelihood of any particular target 121 being located in any particular location. Economic activity might be obtained from census data as may be presented in census tract data for median income, or otherwise and other indicators of population density, from power usage as might be obtained from power usage distribution maps used by a utility, from known economic centers, such as for example cities, their financial districts, their industrial districts, and otherwise, from measures of luminescence at night, such as for example obtained in response to aircraft or satellite photography, otherwise, or some combination or conjunction thereof.
The system 100 might construct a secondary probability distribution function in response to communication bandwidth or other measures of communication capability, such as for example, location of cellular base stations for cellular communication, location of central offices and telephone switching centers for wire-line communication, communication services offered in particular areas, such as whether there is cable access, whether there is IEEE 802.11 “wi-fi” access, whether there is DSL access, and to what level of service those communication services are available.
The system 100 might construct a secondary probability distribution function in response to any other information associated with likelihood of any particular target 121 being physically in a particular area or at a particular spot. For example, a higher probability may be assigned to location of a college campus or an enterprise campus within a city or town or a location of particular buildings within a college campus or enterprise campus.
As noted with reference to the FIG. 2B, one or more primary probability distribution functions might be combined with one or more secondary probability distribution functions, similarly to the multiplicative combination described with reference to FIG. 2B. As noted with reference to FIG. 2B, a multiplicative combination preserves findings that a particular target 121 cannot be located in an identified region and might involve renormalization if the integral of the multiplied probability distribution functions sums to less than 100%.
As noted herein, the secondary probability distribution functions might be substantially continuous in nature, ranging over a set of values from point to point, might be substantially discrete in natures, such as having discontinuous re-valuations at city and country borders, or some combination or conjunction thereof.
FIG. 3 provides a conceptual drawing of locating intermediate nodes 123 M between a particular probe 122 S and a particular target 121 R and of further restricting the scope of likely physical locations 140 for any particular target 121 in response thereto. A network 100 is depicted with one or more probes 122, one or more targets 121, and one or more medial nodes 123 M through which messages, such as for example one or more probe messages 131 or one or more response messages 132, are routed or switched. In one embodiment, an Internet “traceroute” utility, a router monitoring system (such as RMON), information from one or more routers' link-state tables, otherwise, or some combination or conjunction thereof, might provide information describing a sequence of those one or more medial nodes 123 M through which probe messages 131 and response messages 132 are routed or switched.
In cases in which the system 100 can identify those one or more medial nodes 123 M and can also determine the physical location 140 for one or more of those medial nodes 123 M, the system 100 might treat each medial node 123 M for which it can identify a physical location 140 even if only probabilistically as a proxy for the probe 122. This has the effect that the system 100 might be able to provide a primary probability distribution function in response to flight-time measurements from the medial node 123 M, in addition to, or in lieu of, flight-time measurements from the probe 122 S.
Example Medial Node.
For example and without limitation, if the target 121 is determined to be located definitely at least 300 kilometers from the probe 122 and most likely about 500 kilometers from the probe 122, the primary probability distribution function in response thereto provides information with respect to the physical location 140 of the target 121. If, for just one example, there is a medial node 123 M1 through which the probe message 131 and the response message 132 are known to be propagated, and that medial node 123 M1 is known to be present at a particular physical location 140 <<x, y>>m, and the flight-time time between that medial node 123 M1 and the target 121 indicate that the target 121 is definitely at least 1 kilometer from that medial node 123 M1, and most likely about 2 kilometers from that medial node 123 M1, the system 100 can provide a significantly more restricted primary probability distribution function in response to measured flight-time from the medial node 123 M1. This more restricted M-to-R probability distribution function should fit substantially within the S-to-R probability distribution function.
FIGS. 4A and 4B are illustrative of the concept. In FIG. 4A, a basic geolocation technique according to the prior art is depicted. There, an approximated maximum distance from the measurement origin of the probe and the unknown location of the geolocated entity can be determined based on flight time delay multiplied by the actual or presumed flight speed. With that broad information, the entity that is attempting to be located could be anywhere within the area swept by a radius of the approximated maximum distance, which is indicated by the shaded area in FIG. 4A. As a result, where one determines that the maximum distance of the target from the measurement origin is 5 units, for instance, the entity or target that is sought to be geolocated could be anywhere in an area of πr2 or (3.14159×25), which yields an area of approximately 79 square units.
With reference to FIG. 4B, the effect of the geolocation technique disclosed herein is illustrated. As disclosed, the system 100 effectively “pins”, such as one would on a map of a geographic area, a known location of a determined intermediate node. With that, the measured total signal distance can be divided into two portions, namely, a first portion between the measurement origin of the probe and the known location of the intermediate node and a second portion between the known location of the intermediate node and the target. With the distance of the first portion known, the second distance can be determined by subtracting the known first distance from the total maximum distance. With that, the possible area of the target location is limited to the area swept by the second distance from the known location of the intermediate node. In the depicted example, the first distance is 3 units, and the second distance is two units. As a result, the area of the target to be geolocated is limited to the area of π22 or approximately 13 square units. The possible area of the target can be further limited where additional intermediate nodes can be identified with the possible area of the location of the target thereby growing smaller and smaller as further “pinnings” eliminate areas too distant from the intermediate node where the target cannot be.
Moreover and particularly once the area of the possible location of the target is limited by the intermediate node “pinning” disclosed herein, the system 100 can apply a secondary probability distribution function in response to the probability that the target would be within a given geographic region based, for example, on physical terrain, population density, communication bandwidth, or any of the other factors described herein or that would be obvious after reading this disclosure. A measure of confidence of the target being in one or more identified geographic regions of elevated confidence within that already limited area, or perhaps volume, can be established by the secondary probability distribution. In the example of FIG. 4B, the probability of the target being in a mountainous area is relatively low as is the probability that the target will be in the ocean. However, the probability that the target will be within a city within the reduced target area can be considered to be high. There is a measure of confidence that the target is not in a mountain or at sea, and there is elevated confidence that the target is in a city location. Further iterations of intermediate node determination and probability distribution can potentially be applied thereby narrowing in on increasingly limited areas and increasingly likely locations.
Multiple Medial Nodes and Multiple Network Paths.
This process might be iterated, such as where the system 100 can find further medial nodes Mi that provide more information about the physical location 140 of the target 121. In a first example, each further medial node 123 Mi should be closer to the target 121, information about those further medial nodes 123 Mi being possibly obtained from further traceroute operations or otherwise. In a second example, more than one medial node 123 Mi, Mj might be used to determine information describing the physical location 140 of the target 121 with the Mi-to-R probability distribution function being combined with the Mj-to-R probability distribution function for possible better accuracy or precision.
Similarly, this process might be performed in parallel, so long as the system 100 can find further nodes, whether probes 122 or medial nodes 123, that individually or collectively provide more information about the physical location 140 of the target 121. In a first example, a system 100 might include more than one such probe 122, each operating in response to instructions from a defined collection device 124, which might itself also perform as a probe 122. From multiple such probes 122, flight-time distances from such probes 122 to the target 121 might be determined, probability distribution functions for the physical location 140 of the target 121 might be determined, and those probability distribution functions combined. From multiple such network pathways, each pairwise between one such probe 122 and the target 121, one or more medial nodes 123 might be determined, flight-time distances from such medial nodes 123 to the target 121 might be determined, more restrictive probability distribution functions for the physical location 140 of the target 121 might be determined, and those probability distribution functions combined.
Probabilistic Geolocation.
As described above, a set of information relating to a probabilistic conclusion might be expressed in a formula or table Sprob {●}, having parameters dtflight, hop-count, probability-value, and providing in response thereto a most likely position s, or a most likely distance ds from the probe 122. For example and without limitation, Sprob {30 milliseconds, 6 hops, 66% chance} might provide a most likely distance such as ds=450 kilometers.
In one embodiment, an entire subnet, including any arbitrary set of coupled nodes, not necessarily an IP subnet, might be geolocated. The system 100 might geolocate a selected set of nodes, such as a set of representative nodes, within that subnet, or might geolocate a sufficient set of nodes, such as a sufficient number of such nodes, within that subnet, with the effect that the system 100 would be able to determine a density distribution for that subnet, such as for example a probability density distribution or a histogram of density for selected physical regions spanned by that subnet. In alternative embodiments, the system 100 might geolocate boundaries of that subnet, such as for example by geolocating each boundary node, although knowledge of a set of such, for example, network topological boundary nodes might not provide adequate information about a set of geographic boundaries of that subnet. This has the effect that the system 100 might provide an approximate physical perimeter of a set of nodes with which the system 100 might provide a likelihood that a target 121 is within that subnet.
Countermeasures Against Uncooperative Devices.
Although this description is primarily directed to cases in which the target device is willing and able to cooperate with the geolocation system, in the context of the invention, there is no particular reason for any such limitation. For example and without limitation, if the target refuses to respond to geolocation signals from the probe, or if the target responds in such way that geolocation would be misdetermined, the probe might take countermeasures to obviate problems introduced by uncooperative targets.
Refusing to Respond to Geolocation Signal.
If the target refuses to respond or is prevented from responding by a firewall device or another cause to a first type of geolocation signal, the probe might attempt to coax a response from the target using a second type of geolocation signal. For example and without limitation, the probe might use a first type of geolocation signal including a Ping request. If the target does not respond to a Ping request, the probe might use a second type of geolocation signal including an unsolicited HTTP reply, not a request. It is likely that any firewall will allow this second type of geolocation signal to reach the target, which will make an error response.
While it is possible that the target might refuse to respond or be prevented from responding to a Ping request, the probe might use a second type of geolocation signal including an unsolicited HTTP reply message in response to the assumption that security policies are more likely to allow HTTP traffic to traverse the firewall unimpeded. An unsolicited HTTP reply will normally be determined by the target to be a result of a protocol error, with the effect that the target will normally respond with an error message. In response to the assumption that this error message will be generated without substantial processing, the error message has the effect of providing a response that is similar in usefulness in geolocation as an echo response to a Ping request.
Similarly, if the target does not respond to a second type of geolocation signal including an unsolicited HTTP reply, the probe might attempt to reach the target with a third type of geolocation signal, a fourth type of geolocation signal, and the like.
If the target does not respond to any geolocation signal from the probe, the probe might attempt to geolocate a firewall protecting the target in response to an assumption that the firewall is operated by the same entity as the target and is substantially co-located with the target. While geolocation of the firewall might not provide an exact location for the target, the firewall's location might serve as a sufficient proxy for the target's location.
Similarly, if the firewall refuses to respond or is prevented from responding by a security policy or another cause, the probe might attempt to coax a response from the firewall, similarly to coaxing a response from the target. If the firewall does not respond to any geolocation signal from the probe, the probe might attempt to geolocate a nearest-neighbor in the communication network, an identifiable router near the firewall, or use some other proxy for the target's or the firewall's location.
Attempting to Spoof the Response.
If the target attempts to fool the probe, such as if the target deliberately delays its response to the probe, which would tend to make the target seem farther than it really is, or if the target deliberately attempts to anticipate its response to the probe, which would tend to make the target seem closer than it really is, the probe might require authentication of the target's response to the geolocation signal.
If the target deliberately delays its response, this also has the effect of generally degrading the target's availability in the communication network. While the target might be willing to pay this price in exchange for being difficult to geolocate, the probe can make it difficult for the target to pay this price only for geolocation signals. If it is known or even suspected with sufficient reliability what types of traffic the target is expecting to receive and to respond to, the probe might send those specific types of traffic to the target as a form of geolocation signal. This would have the effect that the target would find it difficult to discern geolocation signals from traffic the target was expecting to receive and to respond to.
In alternative embodiments, the probe might use both a first type of geolocation signal and a second type of geolocation signal, mixed randomly or pseudo-randomly, so that the target cannot easily determine which type of signal should be delayed. One or more of the first type of geolocation signal and the second type of geolocation signal might be types of traffic the probe suspects the target is expecting to receive and to respond to. The target would be unable to select only geolocation signals for delayed response, with the effect that the target would be unable to mitigate the cost it pays for being difficult to geolocate. In cases where the probe does not know or does not know with sufficient certitude what type(s) of traffic the target is expecting to receive and to respond to, the probe might send a variety of geolocation signals of distinct types with the effect that at least some of those geolocation signals would be type(s) of traffic the target is expecting to receive and to respond to.
It is more easily obviated if the target attempts to anticipate its response to the probe. In such cases, the probe might include a random or pseudo-random authentication string in its geolocation signal, or it may direct its geolocation signal to a random or pseudo-random port number at the target with the effect that the target would have insufficient information to provide an authenticated response to the probe until the target actually receives the geolocation signal from the probe.
Alternative Embodiments
The invention has applicability and generality to other aspects of network control, management, and reporting, including at least substantial applicability in combination with or in conjunction with network management in a communication network including moving devices. The invention has substantial applicability in error-checking of routing techniques for use in a communication network. The system and method have further applicability in identifying geographic or temporal coincidences, particularly those coincidences which are otherwise unexpected, such as for example correlation between two or more otherwise seemingly-unrelated conditions, events, nodes, or problems, which might be related due in whole or in part from their geographic coincidence. Still further, the system and method have substantial applicability in identifying, preferably relatively quickly, those geographic portions of a network that are debilitated, degraded, or otherwise influenced by an problem or other unusual condition. There is also substantial applicability of the invention with diagnostics and with trouble-shooting techniques used in conjunction with a communication network, or with a distributed system. The system and method may be applied to other and further similar techniques as well as combinations and conjunctions thereof.
Accordingly, with certain details and embodiments of the present invention for a geolocation system and method disclosed, it will be appreciated by one skilled in the art that numerous changes and additions could be made thereto without deviating from the spirit or scope of the invention. This is particularly true when one bears in mind that the presently preferred embodiments merely exemplify the broader invention revealed herein. Accordingly, it will be clear that those with major features of the invention in mind could craft embodiments that incorporate those major features while not incorporating all of the features included in the preferred embodiments.
Therefore, the following claims shall define the scope of protection to be afforded to the inventor. Those claims shall be deemed to include equivalent constructions insofar as they do not depart from the spirit and scope of the invention. It must be further noted that a plurality of the following claims may express certain elements as means for performing a specific function, at times without the recital of structure or material. As the law demands, any such claims shall be construed to cover not only the corresponding structure and material expressly described in this specification but also all equivalents thereof.

## Claims

1. A method for determining information regarding a physical location of a target, the method comprising the steps of:
sending a signal from a first device in a network to the target;
measuring a total flight time delay in the network in response to the signal;
determining, based on the total flight time delay, first information associated with the physical location of the target comprising a maximum distance of the physical location of the target from the first device based at least in part on the total flight time delay multiplied by an actual or presumed flight speed of the signal whereby a total possible area for the physical location of the target is established;
identifying a medial node through which the signal propagated from the first device to the target wherein the medial node has a known location;
determining a flight time delay from the first device to the medial node based at least in part on the known location of the medial node and the actual or presumed flight speed;
determining, based on the known location of the medial node and the total flight time delay, a maximum distance of the target from the medial node based at least in part on the total flight time delay less the flight time delay from the first device to the medial node to establish a medial node flight time delay whereby a reduced possible area for the physical location of the target is established;
identifying a second medial node through which the signal propagated from the first medial node to the target wherein the second medial node has a known location; and
determining, based on the known location of the second medial node, the total flight time delay, and the medial node flight time delay, a distance of the target from the second medial node based on the total flight time delay less the flight time delay from the first device to the medial node and the medial node flight time delay to establish a second medial node flight time delay and a further reduced possible area for the physical location of the target.

2. The method of claim 1 wherein the step of measuring a total flight time delay is responsive to an action by a probe.

3. The method of claim 2 wherein the step of measuring a total flight time delay includes receiving a signal responsive to an action by a probe.

4. The method of claim 1 wherein the step of measuring a total flight time delay includes receiving a second signal from the target.

5. The method of claim 1 wherein the step of measuring a total flight time delay is responsive to a time duration between sending the signal from the first device and receiving a signal from the target.

6. The method of claim 5 wherein the time duration is responsive to a distance to the target.

7. The method of claim 5 wherein the time duration is responsive to a communication with the target.

8. The method of claim 5 wherein the time duration is responsive to a processing time by one or more devices in the network.

9. The method of claim 8 wherein the one or more devices include the target.

10. The method of claim 8 wherein the one or more devices include one or more devices other than the target.

11. The method of claim 1 further comprising the step of applying a probabilistic distribution comprising a measure of confidence that the target is less likely to be in one or more identified geographic regions of reduced confidence and a measure of confidence that the target is more likely to be in one or more other geographic regions of elevated confidence.

12. The method of claim 11 wherein the probabilistic distribution is interpretable by a computing device.

13. The method of claim 12 wherein the probabilistic distribution is automatically determined by the computing device.

14. The method of claim 13 wherein the probabilistic distribution is automatically determined based on one or more of physical terrain, population density, and communication bandwidth.

15. The method of claim 1 further comprising the step of identifying an attribute of the target comprising specifying one or more of a measure of bandwidth, a measure of network connectivity, a probability of a designated use, or a probability of authentication, associated with said target.

16. The method of claim 1 further comprising the steps of sending multiple signals from the first device in the network to the target, measuring flight time delays in the network in response to the signals, determining, based on the flight time delays, the maximum distance of the target from the first device, a most likely distance of the target from the first device, and a probabilistic distribution of most likely distances of the target from the first device, wherein the probabilistic distribution has a value of substantially zero probability at locations beyond the maximum possible distance.

17. The method of claim 1 further comprising the step of applying a probabilistic distribution comprising a measure of confidence that the target is less likely to be in one or more identified geographic regions of reduced confidence and a measure of confidence that the target is more likely to be in one or more other geographic regions of elevated confidence and wherein the probabilistic distribution is interpretable by a computing device to identify an area of a surface or a region in a space.

18. The method of claim 17 wherein the area of a surface or region in a space includes one or more of a defined surface of possible locations, a defined volume of possible locations, a terrain surface, an at least partially built-up area, an underground environment, or an underwater environment.

19. The method of claim 17 wherein the probabilistic distribution is responsive to one or more of a measure of a density of cellular base stations, a measure of distance from a cellular base station, a measure of economic development, a measure of night luminescence, or a measure of population or population density.

20. The method of claim 17 wherein the probabilistic distribution is responsive to one or more of census data, land-use data, one or more bodies of water, or topographic boundaries.