The present invention relates generally to wireless communications systems and relates in particular to methods and systems for alerting a mobile device user to the proximity of a target party.
The concept of “geo-fencing” is well known. In the most common implementation of this concept, a “virtual” boundary is established around a fixed point or region by establishing a set of geographic coordinates defining the boundary. In this manner, a region of arbitrary shape can be established. Once established, a portable device with self-location capability (e.g., GPS receiver) can monitor when it is within the region bounded by the geo-fence and, if necessary and if equipped with a communication transceiver, report the status to a party responsible for monitoring the position of the device. Such solutions are commonly used in tracking of high-value assets, and are increasingly used in monitoring people, or even pets.
Conventional geo-fencing techniques, however, are typically intended to restrict a person or physical asset to a fixed area, perhaps surrounding a home or school, or to exclude someone (e.g. a criminal offender) from a fixed area. In some cases, it may be desirable to monitor a person's proximity to another person, while both persons are mobile. This need may arise for security reasons—a crime victim may wish to be notified if the paroled offender comes within a certain distance of the crime victim's current location, for instance. However, other applications for such notification are also possible. For example, a person may wish to be informed when any of her personal friends comes within a certain distance of her current location, or when any of her children travel farther away than a certain distance. Conventional geo-fencing techniques, because they are tied to a fixed location, cannot meet these needs.
Methods and apparatus are disclosed for alerting a mobile device user of the proximity of a target party. In an exemplary method, an electronic location information message corresponding to the target party is received, the electronic location information message including target location data. In response to the receipt of the location information message, a target location estimate is determined, based on the target location data. The target location estimate is compared to a bounded region surrounding a current position estimate for the mobile device, and an alert is selectively generated based on the proximity of the target location estimate to the bounded region.
In one or more embodiments, the determined target location estimate comprises a target location envelope based on the target location data and one or more uncertainty parameters associated with an originating source of the location information message. In some embodiments, the target location envelope may be further based on a previously determined target estimate. In several embodiments, an alert is generated when the target location envelope encroaches upon the bounded region surrounding the mobile device of the user. In some embodiments, the alert may include map data corresponding to the mobile device's current position, as well as indications of the mobile device's current position and/or the target party's estimated location.
An application processor, configured to implement one or more methods for alerting the user of a mobile device of the proximity of a target party, is also disclosed. Various embodiments of the disclosed application processor may be used in an application server operatively connected to the mobile device through a communications network, or in the mobile device itself.
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will be described in detail below. It should be understood, however, that there is no intent to limit the invention to the particular forms described in detail. Those skilled in the art will recognize various alternatives to the illustrated embodiments falling within the scope of the claims.
Signals from Global Positioning System (GPS) satellite 140 may be used by a mobile device 110 to determine its position. (Those skilled in the art will appreciate that satellite-based positioning technologies in addition to GPS, such as Russia's GLONASS system, the European Union's Galileo system, and India's IRNSS system, may also be used.) Methods for determining the position of a mobile device 110 using conventional satellite-based navigation system receivers are well known, and are not described in detail herein. In addition, various techniques are known for determining the location of a mobile device 110 using several cellular radio signals. These techniques include the use of the well-known Time-Difference-of-Arrival (TDOA) or Enhanced-Observed-Time-Difference (E-OTD) measurement schemes. Hybrid positioning schemes, involving the use of cellular signals as well as satellite positioning signals, are also known. Furthermore, technologies for enhancing the performance of GPS receivers in mobile devices, commonly known as Assisted-GPS, have been deployed.
The user of mobile device 110, “User A”, may wish to be notified any time that a particular person comes within a certain range of her current location. In
Other sources of location information for target party 150 may also be used, instead of or in addition to GPS-based positioning devices. For instance, location information may be derived from the target party's use of an identification card or other authorization device. Presenting an identification badge to a work-place security gate, for example, might generate a location record. Similarly, electronic toll-collection transactions, such as those utilizing radio frequency transponders or bar codes, generate records that might be used as location information for target party 150. Further sources include first-hand reports from individuals. For instance, when User A's desire to track target party 150 is well known, then Users B and C in
Location information corresponding to target party 150 may be collected at application server 135 through its connection to network 130, using conventional techniques. Location information from a mobile device 110 carried by target party 150, from an ankle bracelet worn by target party 150, or from personal sighting reports from mobile device users may all be routed to and collected at application server 135, which may be addressable, for instance, by an IP address, a Uniform Resource Locator (URL), or other electronic network address. Location reports triggered by various electronic transactions, such as the security gate transactions or toll transactions mentioned above, might also be routed to and collected at application server 135.
In some applications, the location information corresponding to target party 150 may be voluntarily provided by target party 150. For instance, target party 150 may authorize periodic updates to application server 135 of his location, perhaps using a positioning technology in a mobile device 110. That authorization may be general, allowing its unrestricted use, or may be limited to services pertaining to one or several specific authorized users. In other applications, the location information may be compulsorily provided, such as by court order. In still others, the only location information available may be that voluntarily provided by third parties, such as the personal reports mentioned above.
Location information corresponding to the system user, User A in
In contrast, location estimates for the target party 150 may in some cases be sporadic and uncertain. Although data from multiple sources may be combined in order to obtain more frequent estimates, data from various originating sources will differ in accuracy and reliability. For instance, certain data from official or quasi-official sources, such as data from security check-ins or toll-collection points, will generally be very accurate and, particularly in the case of the security-related data, very reliable in that the location estimate very likely corresponds to the correct target party 150. If the data is also timely, then the location estimate for target party 150 may be regarded as highly certain. On the other hand, data from a GPS-based positioning source, or based on cellular-based triangulation techniques, may be somewhat less accurate (to tens or perhaps hundreds of meters), and may be more or less reliable, depending on the exact source. For instance, a court-mandated ankle bracelet, attached to the target party with tamper-resistant security measures, will yield location estimates that are highly reliable in the sense that they are almost certain to correspond to the target party 150. Location estimates received from a mobile phone, on the other hand, are likely to be reasonably accurate, but somewhat less reliable, as the target party 150 may not actually be carrying the device when the location measurement is obtained.
Location estimates obtained from personal sighting reports, in contrast, may be quite precise, but may be less reliable, as the correspondence of the location data to the correct target is less certain. On the other hand, certain personal sighting reports may be less precise, perhaps only indicating a location descriptor (e.g. “Times Square”, or “downtown Raleigh”). This location descriptor may be used in some embodiments of the present invention to retrieve corresponding geographic coordinates. The precision of a location estimate derived from such a location descriptor is clearly a function of the precision of the descriptor itself—a descriptor such as “Radio City Music Hall” is clearly more precise than “Times Square.”
In order to ensure that User A is warned quickly enough, then, the uncertainty inherent in a location estimate for target party 150 should be accounted for.
Target party 150 is also illustrated in
The size of the target location envelope 260 may be determined as a function of the source or sources of the target location estimate 250. As discussed above, some sources will be more accurate and/or more reliable than others; the target location envelope 260 size accounts for that variability. The size of target location envelope 260 may also be a function of the timeliness of the data used to construct the target location estimate. As the data ages, the location envelope 260 must grow in order to account for possible movement of target party 150 in the intervening time. The target location envelope 260 shape may also account for known movement—a GPS-based positioning report, for example, may include a velocity component indicating a direction and speed of travel. This information may be used to shape the target location envelope 260, since the target party's actual location at some slightly later time is more likely to be in the direction of last known motion.
Those skilled in the art will appreciate that data from multiple sources and multiple times may be combined to form a target location estimate. The data may be weighted to correspond to the corresponding source's reliability and/or accuracy, and to account for aging.
In any event, once a target location estimate is determined, it can be compared to the bounded region 225 surrounding User A to determine whether User A should be alerted of the target party's proximity. In
An exemplary method for alerting a user of a mobile device 110 of the proximity of a target party 150 is illustrated in
At block 320, the target location data is used to determine a target location estimate. As explained above, the target location data may be combined with other data to determine a target location estimate. The target location data may be analyzed in view of the source of the data to determine an uncertainty associated with the target location data. In some embodiments, the most recently received target location data may be combined with a previously determined target location estimate to obtain an updated target location estimate. In these embodiments, the target location data and the previous target location estimate may be weighted and summed to obtain an updated target location estimate. In some embodiments, the weighting may be a function of the age and/or the reliability of the newest target location data and/or the previous target location estimate.
At block 330, a bounded region surrounding a current position estimate for mobile device 110 is determined. In some embodiments, the bounded region is determined by simply applying a pre-determined separation distance, or range, to the current position estimate for the mobile device 110. In these embodiments, the bounded region will thus comprise a circular region centered on the current position estimate. In some embodiments, the range, which defines the radius of the circular bounded region, may be adjusted to account for uncertainty in the accuracy of the current position estimate for the mobile device 110. For instance, if the current position estimate is associated with an uncertainty of +/−100 meters (this uncertainty metric will often be accompanies by a probability, such as 95%, that the actual position falls within the range specified by the uncertainty), then the bounded region may be adjusted outwards by 100 meters to compensate for this uncertainty. Those skilled in the art will appreciate, however, that this adjustment becomes less significant as the size of the bounded region increases relative to the measurement uncertainty.
The current position estimate used to determine the bounded region may be obtained from another server, over network 130, or may be retrieved directly from mobile device 110. In one or more embodiments of the invention, the receipt of new target location data for target party 150 triggers a request for an updated position estimate for User A's mobile device 110. If the mobile device 110 supports autonomous position determination, this request may be sent directly to mobile device 110. Otherwise, the request may be sent to a location server, which may be operated by User A's cellular service provider. (The location server may track User A's location using any or several of a number of technologies, including those previously discussed. For instance, the location server may employ Assisted GPS technology, triangulation techniques such as E-OTD or TDOA, or may simply associate User A's location with the location of the serving base station.) In other embodiments, no request may be necessary, as current position estimates may be periodically sent to application server 135.
At blocks 340 and 350, the target location estimate is compared to the bounded region to determine whether the target location estimate encroaches upon the bounded region. If it does, then an alert message is generated to notify the user of mobile device 110 that the target party 150 is within (or is likely within) the proximity defined by the bounded region. Application server 135 may be configured to send the alert message to User A's mobile device 110, over network 130. The alert message may be sent, for example, using a Short Message Service (SMS) message, a Multimedia Messaging Service (MMS) message, an e-mail message, or the like. Referring back to
In any case, at least one uncertainty parameter corresponding to the source is determined at block 420. In some cases, determining the uncertainty parameter comprises receiving an uncertainty metric along with or as part of the received location data. For instance, a location data report from a GPS receiver in the target party's mobile device 110 may specify a geographic location, generally using latitude and longitude coefficients, as well as an uncertainty parameter associated with the measurement. Cellular network-based measurements may also include an explicitly defined uncertainty parameter. For other sources, however, the uncertainty parameter corresponding to a particular report or source may not be explicitly defined. In these cases, determining an uncertainty parameter for a data source may comprise consulting a look-up table to retrieve a pre-determined parameter to use for a particular data source. A report received from a court-ordered monitoring device, for example, may be associated with one or more uncertainty parameters indicating a very low expected error as well as a high level of reliability. Similarly, a report received from a toll-collection point may correspond to uncertainty parameters indicating high accuracy, but only moderate reliability.
At block 430, the most recently received target location data is weighted, based on the uncertainty parameter or parameters. At block 440, a previously-determined target location estimate is weighted, based on a corresponding previously-determined uncertainty parameter. Finally, at block 450, the target location envelope is determined, based on the weighted target location data and the weighted previously-determined target location estimate. Those skilled in the art will recognize that various algorithms for determining the target location envelope are possible; the selection of the most appropriate will depend on the particular application and the available data sources. In a typical implementation, the weights for the new location data and for the previously-determined target location estimate are inversely proportional to the corresponding uncertainty parameters. Thus, location estimates with a lower uncertainty are weighted more heavily than those with greater uncertainty. A reference point for the target location envelope may be computed as the weighted average of the new target location data and the previously-determined target location estimate.
As an example, suppose that the previously determined location indicates location coordinates of x1, y1 with a corresponding uncertainty of 200 meters. In this example, the location coordinates x1, y1 identify a position relative to some local reference frame with an origin at a particular latitude and longitude. Those skilled in the art will appreciate that a variety of reference frames may be used to specify locations, including three-dimensional reference frames. In many cases, latitude and longitude may be used, although distance calculations are more complicated than with a linear reference frame. In some embodiments, an altitude measure may also be used. In any event, suppose further that a new location report is received, indicating a location of x2, y2, with an uncertainty of 500 meters. In an exemplary algorithm, the previously determined location is assigned a weight of 1000 times the inverse of the uncertainty, or 1000/200=5. Similarly, the new location report is assigned a weight of 1000/500=2. A new target location estimate is calculated as: (xnew, ynew)=(5x1+2x2/(5+2), 5y1+2y2/(5+2)). This example, of course, is simplified; much more complex weighting algorithms are possible. For instance, the weights may take into account more than just a measurement accuracy uncertainty; the weights may include factors corresponding to the source reliability and/or to the age of the data. Furthermore, the weighting calculations need not be the same for the x and y directions.
Indeed, the shape of the target envelope may vary with direction. For instance, if the target party 150 is known to be moving, the shape of the target location envelope may vary according to the estimated motion. In particular, the target location envelope may be elongated in the direction of the estimated motion, as shown in
As noted above, the bounded region surrounding the user's mobile device 110 need not be circular. Indeed, the bounded region need not have a regular shape at all. In some embodiments, the bounded region may be determined from a set of predetermined boundary-definition parameters and map data corresponding to the current location of mobile device 110. For instance, the boundary-definition parameters may specify that the boundary of the bounded region be at least 1000 meters from the mobile device position, but that the bounded region should be adjusted outward to encompass the nearest streets in each direction. Other boundary-definition parameters may specify that the bounded region extend further in a direction corresponding to a direction of motion estimated for mobile device 110.
In each of these cases, the bounded region may be defined with reference to map data for the current location of the mobile device 110.
At block 710, a target location envelope is determined, using any or several of the methods described above. At block 720, a current position estimate for the user's mobile device 110 is received. At block 730, boundary-definition parameters corresponding to the user's mobile device 110 are retrieved. In an exemplary embodiment, these boundary-definition parameters are retrieved from a look-up table stored in memory and indexed by a mobile device identifier. In any case, the current position estimate is used to retrieve map data corresponding to the area surrounding the current position estimate at block 740, and the boundary-definition parameters are used to determine a bounded region based on the current position estimate and the map data, at block 750. As noted above, the boundary-definition parameters may indicate, for example, that the bounded region be adjusted outwards from the current position estimate to encompass neighboring streets, or that the bounded region include the entire territory of the municipality in which the mobile device 110 is presently located.
At block 760, the target location envelope is compared to the bounded region to determine whether the target party is approaching the mobile device user. If the target location envelope encroaches on the bounded region, then an alert message is generated at block 770. In the exemplary flow of
In several embodiments of the current invention, one or more of the methods described herein are implemented at the application server 135 pictured in
In other embodiments, all or a portion of a method for alerting a user to the proximity of a target party may be implemented on a mobile device carried by the user. Whether implemented at an application server 135 or at a mobile device, various method steps may be carried out using an application processor. An exemplary application processor 830 is thus pictured in
The mobile device 800 of
Application processor 830, which in the exemplary configuration of
In the exemplary configuration of
The alert message triggered when the target location envelope encroaches on the bounded region may comprise an audio alert, a text alert, a graphical alert, or any combination. In some embodiments, map data corresponding to the mobile device's current location may be available, in which case the alert message may comprise a visual map output indicating the current location of the mobile device 800 and the target party 150. A suggested action, or a suggested direction of travel to minimize the chance of encountering the target party 150, may also be included. In some embodiments, the alert message might also include an estimate of the time until the target party 150 is encountered if no change in direction is made.
While most of the above discussion assumes that the target party is someone that a mobile device user wishes to avoid, those skilled in the art will appreciate that the techniques described may be used to alert a user to the proximity of a friend or colleague as well. Thus, in one embodiment, the above techniques are practiced with respect to each person on a pre-determined list of friends, so that the mobile device user is alerted to the proximity of any one of those friends. Similarly, although the alert messages described above are generated when a target location envelope first encroaches upon a bounded region, other applications may specify that an alert message is generated when a target location envelope leaves a bounded region.
Those skilled in the art will also recognize that several of the functional elements of the application server 135 or the mobile device 800 described above, including, but not limited to the several functions of the applications processor 830, may be implemented on one or more microcontrollers or microprocessors, and may be implemented together or separately, with appropriate applications program interfaces between them. One or more of these elements may be implemented on a processor embedded in the wireless transceiver 810, for example. Alternatively, several of the functional elements of mobile device 800 described above may be provided through the use of dedicated hardware, as well as hardware capable of executing software in association with appropriate software or firmware. Furthermore, the term “processor” or “controller” does not exclusively refer to hardware capable of executing software and may implicitly include, without limitation, digital signal processor (DSP) hardware, read-only memory (ROM) for storing software, random-access memory for storing software and/or program or application data, and non-volatile memory. Other hardware, conventional and/or custom, may also be included. Those skilled in the art will appreciate the cost, performance, and maintenance tradeoffs inherent in these design choices.
The present invention may, of course, be carried out in other specific ways than those herein set forth without departing from the scope and essential characteristics of the invention. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive, and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.