Mobile communication devices such as smart phones generally include Global Positioning System (GPS) hardware and other systems for determining device location. Location requests from an application on a mobile communication device may require significant electric power from a location determining system on the device decreasing battery life and affecting the device usability. It would be desirable to minimize a number of location requests by an application to conserve device resources and battery power. However, less frequent location requests may have an undesirable effect on the user experience by requiring an application to use location data too old to provide proper functionality.
This Summary introduces simplified concepts that are further described below in the Detailed Description of Illustrative Embodiments. This Summary is not intended to identify key features or essential features of the claimed subject matter and is not intended to be used to limit the scope of the claimed subject matter.
Described are a system and methods for minimizing location requests on a mobile device such as GPS location requests. Location requests are minimized by predicting based on acceleration measurements when the device has moved sufficient distance to require a location measurement. If sufficient movement has not been predicted no location request is made to a mobile device's location determining system, thereby minimizing location requests.
A method is provided for determining when to initiate radio signal measurements to determine mobile device location. The method includes determining a plurality of locations of one or more mobile devices based on radio signal measurements. Acceleration of the one or more mobile devices between the plurality of locations is determined based on sensor measurements. A first location of a particular mobile device is determined and acceleration is measured by the particular mobile device. It is determined when to initiate radio signal measurements by the particular mobile device to determine a second location of the particular mobile device based on the measured acceleration of the particular mobile device, the determined plurality of locations of the one or more mobile devices, and the determined acceleration of the one or more mobile devices. Radio signal measurements are initiated by the particular mobile device to determine the second location of the particular mobile device.
Another method for determining when to initiate radio signal measurements to determine mobile device location is provided. The method includes determining a first location of a mobile device, measuring acceleration by the mobile device, and determining when to initiate radio signal measurements by the mobile device to determine a second location of the mobile device based at least on the measured acceleration of the mobile device. Radio signal measurements are initiated by the mobile device to determine the second location of the particular mobile device.
A mobile device is provided comprising at least one non-transitory computer readable storage medium having encoded thereon instructions that, when executed by one or more processors of the device, cause the device to perform a process comprising determining a first location of the mobile device and measuring acceleration by the mobile device. The process further includes determining when to initiate radio signal measurements by the mobile device to determine a second location of the mobile device based at least on the measured acceleration of the mobile device, and initiating radio signal measurements by the mobile device to determine the second location of the mobile device.
A more detailed understanding may be had from the following description, given by way of example with the accompanying drawings. The Figures in the drawings and the detailed description are examples. The Figures and the detailed description are not to be considered limiting and other examples are possible. Like reference numerals in the Figures indicate like elements wherein:
Embodiments of the invention are described below with reference to the drawing figures wherein like numerals represent like elements throughout.
Referring to
The mobile devices 12 can include for example a smartphone or other cellular enabled mobile device preferably configured to operate on a wireless telecommunication network via suitable hardware and software components. In addition to components enabling wireless communication, the mobile device 12 has one or more location determination systems (LDS) 15, including for example global positioning system (GPS) hardware or hardware used for cell tower triangulation, such that accurate location of the mobile device 12 can be derived. An accelerometer 17 is provided from which a monitoring/control agent 13 (“control agent 13”) gathers data used for predicting distance traveled by the mobile device 12. The mobile device 12 can include additional sensors such as a proximity sensor, luxmeter, magnetometer, and gyroscope.
The classifier manager 20 enables a control application program interface (“API”) 24, a classifier database 26, a training engine 34, a mapping database 36, and a user database 38. The classifier manager 20 can be implemented on one or more network connectable computing systems in communication via the communications network 40 with mobile devices 12 which execute the control agent 13. Alternatively, the classifier manager 20 or one or more components thereof can be executed on a mobile device 12 or other system or a plurality of systems.
Software and/or hardware residing on a mobile device 12 enables the control agent 13 to control requests for location to the LDS 15 from an application or system based at least on acceleration data from the accelerometer 17. The control agent 13 can take as input accelerometer readings from the accelerometer 17 and derive velocity over a particular time interval, for example 1 second, through application of a motion classifier 50. If an earlier determined location from the LDS 15 exists, and if between the time corresponding to that location determination and a current time it is determined through periodic motion classification assessments by applying the mobile device motion classifier 50 that the net movement of the mobile device 12 is small enough, then it is not necessary to make a subsequent location request, and the earlier determined location is considered still valid. If the determined net movement exceeds a particular threshold a new location request to the LDS 15 is triggered. Classifying acceleration measurements can be used in conjunction with other such methods, for example detecting changes in what wireless base stations are closest to the mobile device 12, which may be indicative of a substantive change in location, to determine if a location request is required.
A motion classifier classification result denotes an approximate velocity of the mobile device 12 at the time period over which readings from the accelerometer 17 were gathered. This result can be an approximation of the actual velocity, for example 0 miles/hour (stationary), 7 miles/hour, or 34 miles/hour. The classification result can also include a confidence level, reflecting the accuracy of the result. Alternatively, the classification result can specify a range say 0-5 miles/hour or 10-20 miles/hour, wherein there is a supposition that there is a high likelihood that the directed velocity is within the range of the result.
A motion classifier 50 can be trained by the classifier manager 20 via the training engine 34. Data for training the motion classifier 50 can be received from a mobile device 12 through the control API 24 via the control agent 13 or other suitable source. Alternatively, the motion classifier 50 can be trained by the control agent 13 on the mobile device 12.
Referring to
An example motion classifier includes a decision tree trained on a vertical mean, vertical standard deviation, horizontal mean, or horizontal standard deviation derived from the accelerometer readings. A Hidden Markov Model (“HMM”) can be used to post-process the decision tree output, to increase the predictive validity of the motion classifier classification results.
Measured geographic locations (e.g., GPS determined locations) can be used to condition classifier results. For example, if a large number of GPS samples correspond to substantially the same particular geographic location over a period of time, and it is the case that actual velocity at the particular geographic location (e.g., an office building) is typically slow, then classifier results can be conditioned to correspond to a decreased likelihood that motion has occurred.
Map data from the mapping database 36 or the mobile device 12 used in training can also be used to condition the results of a classifier 50. For example, if the GPS readings used in the training data for the classifier are correlated with map data, it can be determined that a GPS reading corresponds to a location on a road, which can bias classifier results to be more likely that the GPS location has changed, or it can be determined that a GPS reading corresponds to a shopping mall, which can bias classifier results to be less likely that GPS location has changed. Road history can be maintained in the mapping database 36 with respect to traffic conditions occurring at time of day, day of week, or day of year to further condition the likelihood of the degree of relative motion that has occurred. The increased accuracy of classifier predictions due to the consideration of the map and date/time data are incorporated into the resulting classifier model.
Referring to
The control agent 13 can download a trained classifier 50 from the classifier manager 20 via the control API 24 and install the classifier 50 on the mobile device 12. Referring to
In a step 402, a variable representing a predicted distance traveled between location measurements (“locates”) is set to zero (0). In a step 404 a locate is performed by the LDS 15 (e.g., a GPS locate), for example at the direction of the control agent 13 responsive to a requirement of an app 19. In a step 406, at a particular fixed interval of time (“sample time interval”) for example five (5) minutes, a partition of accelerometer measurements is collected over another particular time interval (“accelerometer time interval”), for example one (1) minute. Alternatively, accelerometer measurements can be collected substantially continuously such that the partition of accelerometer measurements extends the duration of the sample time interval. The partition of accelerometer measurements is fed into the motion classifier 50 by the control agent 13 which produces a result defining a predicted velocity of the mobile device over the accelerometer time interval. In the case where the accelerometer time interval and the sample time interval follow sequentially in series (i.e., the accelerometer time interval starts when the sample time interval ends), in the step 410 the predicted velocity is multiplied by the sum of the accelerometer time interval and the sample time interval to determine a predicted distance traveled over the intervals, and this determined predicted distance is added to the total predicted distance determined subsequent to any zeroing occurring in step 402 to determine the total predicted distance since the last locate. Alternatively, if the sample time interval and the acceleration time interval run at the same time in parallel (i.e., the sample time interval restarts when a new acceleration time interval begins), the predicted velocity is multiplied by the sample time interval to determine the predicted distance traveled over the sample time interval, and this determined predicted distance is added to the total predicted distance determined subsequent to any zeroing occurring in step 402 to determine the total predicted distance since the last locate. As indicated above, map and date/time data are used to condition classifier results and development of the classifier model. Accordingly, in addition to acceleration, the velocity predicted by the classifier 50 and the resulting determined distance traveled can be further based on the location of the mobile device 12 with respect to roads or other geographic features, the time of day, day of week, or day of year.
It is determined in step 412 whether the total predicted distance exceeds a particular threshold (“Distance Traveled Threshold”). If the particular threshold is not exceeded the process returns to step 406 to collect an additional partition of acceleration measurements and calculate a new total predicted distance. When it is determined in step 412 that the total predicted distance determined in step 410 exceeds the particular threshold, a new location request to the LDS 15 is executed (step 414) producing a new measured location (e.g., a GPS locate).
Further, a distance (“measured distance”) between the new measured location and the immediately prior measured location is determined (step 416). It is determined if the difference between the predicted distance and the measured distance (“DistΔ”) exceeds a particular threshold (“DistΔ Threshold”). If so, the classifier is retrained based on the input data to the classifier 50 (step 420). For example, if the motion classifier 50 is a decision tree classifier, the decision nodes on the tree can be modified to account for the new data. In step 422 the predicted distance is set to zero (0), and then the process returns to step 406 where an additional partition of acceleration measurements is collected after the end of the current sample time interval, which measurements are used to determine new velocity and distance predictions, as described above.
Retraining of a classifier can be performed by the classifier manager 20 via the training engine 34 or by the control agent 13. Retraining can occur on the mobile device 12, or the mobile device can download a new classifier, which has been trained outside of the phone on a training server, for example a server executing the classifier manager 20 with the training engine 34. Optionally, accelerometer data that is tagged with velocity, which has been collected by the mobile device 12, can be sent to a training server, where a classifier model created on the training server can incorporate this new data. If map and date/time data are used in training of the classifier, such inputs can be used in the classifier retraining process insofar as they improve the accuracy of the resulting model.
Further responsive to the difference between the predicted distance and the measured distance (“DistΔ”) exceeding the DistΔ Threshold, the Distance Traveled Threshold can be decreased by a particular value, say 1-10%, causing more frequent location measurements thus improving ground truth validation and the motion classifier 50 retraining process. Alternatively, if the DistΔ is below a particular threshold, the DistΔ Threshold can be increased by a particular value, say 1-10%, resulting in less frequent location measurements and a conservation of power and processing resources on the mobile device 12.
Although features and elements are described above in particular combinations, one of ordinary skill in the art will appreciate that each feature or element can be used alone or in any combination with the other features and elements. Methods described herein may be implemented in a computer program, software, or firmware incorporated in a computer-readable medium for execution by a computer or processor.
While embodiments have been described in detail above, these embodiments are non-limiting and should be considered as merely exemplary. Modifications and extensions may be developed, and all such modifications are deemed to be within the scope defined by the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5223844 | Mansell et al. | Jun 1993 | A |
5278539 | Lauterbach et al. | Jan 1994 | A |
5604787 | Kotzin et al. | Feb 1997 | A |
5628050 | McGraw et al. | May 1997 | A |
5724243 | Westerlage et al. | Mar 1998 | A |
5732383 | Foladare et al. | Mar 1998 | A |
5815802 | Loechner, II | Sep 1998 | A |
5907293 | Tognazzini | May 1999 | A |
5948040 | Delorme et al. | Sep 1999 | A |
5959577 | Fan et al. | Sep 1999 | A |
5959945 | Kleiman | Sep 1999 | A |
6031455 | Grube et al. | Feb 2000 | A |
6052574 | Smith | Apr 2000 | A |
6052598 | Agrawal et al. | Apr 2000 | A |
6091956 | Hollenberg | Jul 2000 | A |
6115611 | Kimoto et al. | Sep 2000 | A |
6134454 | Foladare et al. | Oct 2000 | A |
6236933 | Lang | May 2001 | B1 |
6240284 | Bugnon et al. | May 2001 | B1 |
6256577 | Graunke | Jul 2001 | B1 |
6278375 | Hucker | Aug 2001 | B1 |
6351221 | Phillips et al. | Feb 2002 | B1 |
6381465 | Chern et al. | Apr 2002 | B1 |
6400956 | Richton | Jun 2002 | B1 |
6480783 | Myr | Nov 2002 | B1 |
6501947 | Hunzinger et al. | Dec 2002 | B1 |
6519465 | Stilp et al. | Feb 2003 | B2 |
6615130 | Myr | Sep 2003 | B2 |
6631267 | Clarkson et al. | Oct 2003 | B1 |
6647257 | Owensby | Nov 2003 | B2 |
6647269 | Hendrey et al. | Nov 2003 | B2 |
6690940 | Brown et al. | Feb 2004 | B1 |
6731238 | Johnson | May 2004 | B2 |
6731940 | Nagendran | May 2004 | B1 |
6745021 | Stevens | Jun 2004 | B1 |
6772213 | Glorikian | Aug 2004 | B2 |
6795710 | Creemer | Sep 2004 | B1 |
6834195 | Brandenberg et al. | Dec 2004 | B2 |
6914525 | Rao et al. | Jul 2005 | B2 |
6941126 | Jordan, Jr. | Sep 2005 | B1 |
6947835 | Kaplan et al. | Sep 2005 | B2 |
7039387 | Macolly et al. | May 2006 | B2 |
7046962 | Belcea | May 2006 | B1 |
7054612 | Patel | May 2006 | B2 |
7096115 | Groth et al. | Aug 2006 | B1 |
7106843 | Gainsboro et al. | Sep 2006 | B1 |
7123926 | Himmelstein | Oct 2006 | B2 |
7184744 | Schnabel | Feb 2007 | B1 |
7194249 | Phillips et al. | Mar 2007 | B2 |
7202814 | Caspi et al. | Apr 2007 | B2 |
7260378 | Holland et al. | Aug 2007 | B2 |
7301450 | Carrino | Nov 2007 | B2 |
7313383 | Fuji | Dec 2007 | B2 |
7463890 | Herz et al. | Dec 2008 | B2 |
7525484 | Dupray et al. | Apr 2009 | B2 |
7643834 | Ioppe et al. | Jan 2010 | B2 |
7653218 | Maltz et al. | Jan 2010 | B1 |
7688731 | Haumont et al. | Mar 2010 | B2 |
7705726 | Graves et al. | Apr 2010 | B2 |
7764946 | Sennett et al. | Jul 2010 | B1 |
7805131 | Cholkar et al. | Sep 2010 | B2 |
7813326 | Kelm et al. | Oct 2010 | B1 |
7864073 | Lee et al. | Jan 2011 | B2 |
7876704 | Bims et al. | Jan 2011 | B1 |
7941161 | Ioppe et al. | May 2011 | B2 |
7941162 | Ioppe et al. | May 2011 | B2 |
7957355 | Helfering et al. | Jun 2011 | B1 |
8010102 | Glick et al. | Aug 2011 | B2 |
8060017 | Schlicht et al. | Nov 2011 | B2 |
8095175 | Todd et al. | Jan 2012 | B2 |
8107432 | Seo | Jan 2012 | B2 |
8200248 | Ioppe et al. | Jun 2012 | B2 |
8204514 | Ioppe et al. | Jun 2012 | B2 |
8249627 | Olincy et al. | Aug 2012 | B2 |
8255393 | Yu et al. | Aug 2012 | B1 |
8315597 | Olincy et al. | Nov 2012 | B2 |
8351408 | Daigle | Jan 2013 | B2 |
8369838 | Mallavarapu et al. | Feb 2013 | B2 |
8503994 | Sanjeev | Aug 2013 | B1 |
8594065 | Polito et al. | Nov 2013 | B2 |
8606302 | Ioppe et al. | Dec 2013 | B2 |
8725174 | Grossman et al. | May 2014 | B2 |
8750243 | Aghvami et al. | Jun 2014 | B2 |
8768286 | Naboulsi | Jul 2014 | B2 |
20010022558 | Karr, Jr. et al. | Sep 2001 | A1 |
20010029425 | Myr | Oct 2001 | A1 |
20010044310 | Lincke | Nov 2001 | A1 |
20020128768 | Nakano et al. | Sep 2002 | A1 |
20030016770 | Trans et al. | Jan 2003 | A1 |
20030078055 | Smith et al. | Apr 2003 | A1 |
20030086515 | Trans et al. | May 2003 | A1 |
20030104821 | Gerner | Jun 2003 | A1 |
20030156543 | Sahinoglu et al. | Aug 2003 | A1 |
20030216138 | Higuchi et al. | Nov 2003 | A1 |
20040064565 | Batra et al. | Apr 2004 | A1 |
20040146007 | Saadawi et al. | Jul 2004 | A1 |
20050122259 | Sairo et al. | Jun 2005 | A1 |
20060025158 | Leblanc et al. | Feb 2006 | A1 |
20060050820 | Kawada et al. | Mar 2006 | A1 |
20060058036 | Watanabe et al. | Mar 2006 | A1 |
20060079245 | Moed | Apr 2006 | A1 |
20060089136 | Rajkotia | Apr 2006 | A1 |
20060111089 | Winter et al. | May 2006 | A1 |
20060223494 | Chmaytelli et al. | Oct 2006 | A1 |
20060253526 | Welch et al. | Nov 2006 | A1 |
20070072583 | Barbeau et al. | Mar 2007 | A1 |
20070149214 | Walsh et al. | Jun 2007 | A1 |
20070189154 | Hourtane et al. | Aug 2007 | A1 |
20070270132 | Poosala | Nov 2007 | A1 |
20070293240 | Drennan | Dec 2007 | A1 |
20080169920 | Spencer | Jul 2008 | A1 |
20080242373 | Lu et al. | Oct 2008 | A1 |
20090002147 | Bloebaum et al. | Jan 2009 | A1 |
20090067324 | Licardie et al. | Mar 2009 | A1 |
20090156161 | Strahs | Jun 2009 | A1 |
20090175238 | Jetcheva et al. | Jul 2009 | A1 |
20090245118 | McCormick | Oct 2009 | A1 |
20100120429 | Kazmi et al. | May 2010 | A1 |
20100190513 | Andreasson | Jul 2010 | A1 |
20100210254 | Kelly et al. | Aug 2010 | A1 |
20100272268 | Sambhwani et al. | Oct 2010 | A1 |
20100279626 | Bradley et al. | Nov 2010 | A1 |
20100285815 | Treu et al. | Nov 2010 | A1 |
20100291950 | Lin et al. | Nov 2010 | A1 |
20100323659 | Wehling | Dec 2010 | A1 |
20110034183 | Haag et al. | Feb 2011 | A1 |
20110093161 | Zhou et al. | Apr 2011 | A1 |
20110117878 | Barash et al. | May 2011 | A1 |
20110151830 | Blanda et al. | Jun 2011 | A1 |
20110164527 | Mishra et al. | Jul 2011 | A1 |
20110228753 | Polito | Sep 2011 | A1 |
20110230201 | Hotes et al. | Sep 2011 | A1 |
20110250871 | Huang et al. | Oct 2011 | A1 |
20110257883 | Kuznetsov | Oct 2011 | A1 |
20110267981 | Davies | Nov 2011 | A1 |
20110268022 | Xu | Nov 2011 | A1 |
20110275321 | Zhou et al. | Nov 2011 | A1 |
20110294520 | Zhou et al. | Dec 2011 | A1 |
20120001548 | Recker et al. | Jan 2012 | A1 |
20120009890 | Curcio et al. | Jan 2012 | A1 |
20120081500 | Border et al. | Apr 2012 | A1 |
20120083287 | Casto et al. | Apr 2012 | A1 |
20120100866 | Grossman et al. | Apr 2012 | A1 |
20120158422 | Burnham | Jun 2012 | A1 |
20120188163 | Xiao | Jul 2012 | A1 |
20120223861 | Kupfer | Sep 2012 | A1 |
20120243460 | Muto et al. | Sep 2012 | A1 |
20120244883 | Tibbits et al. | Sep 2012 | A1 |
20120289252 | Hotes et al. | Nov 2012 | A1 |
20120295622 | Kazmi et al. | Nov 2012 | A1 |
20120315880 | Peitrow et al. | Dec 2012 | A1 |
20130084847 | Tibbitts et al. | Apr 2013 | A1 |
20130158860 | Gum | Jun 2013 | A1 |
20130211706 | Macnaughtan et al. | Aug 2013 | A1 |
20130217331 | Manente | Aug 2013 | A1 |
20130303106 | Martin | Nov 2013 | A1 |
20130344891 | Hotes et al. | Dec 2013 | A1 |
20140247126 | Grossman et al. | Sep 2014 | A1 |
20150065163 | Murakami | Mar 2015 | A1 |
20150087332 | Pijl | Mar 2015 | A1 |
20160080909 | Grossman et al. | Mar 2016 | A1 |
Number | Date | Country |
---|---|---|
0781067 | Jun 1997 | EP |
1081974 | Mar 2001 | EP |
WO 2009080105 | Jul 2009 | IT |
11346380 | Dec 1999 | JP |
WO 2010090558 | Aug 2010 | SE |
Entry |
---|
International Search Report dated Nov. 3, 2011 for PCTAU02011001038. |
Digital cellular telecommunications system (Phase 2+) (GSM):Universal Mobile Telecommunications System (UMTS); Location Services (LCS); Service description, Stage 1 (3GPP TS 22.871 version 4.3.0 Release 4); ETSI TS 122 071 V4.3.0 (Mar. 2001) ETSI TS 122 071 V4.3.0, XX, XX, Apr. 25, 2001, pp. 1-41, XP002222160. |
Number | Date | Country | |
---|---|---|---|
20150296343 A1 | Oct 2015 | US |