Dynamic duty-cycling of processor of mobile device based on operating condition of mobile device
In one embodiment, a geographic-positioning component records a first location of a mobile device. The geographic-positioning component determines on a periodic basis a current location of the mobile device. The geographic-positioning component determines whether the current location is outside a geographic region defined at least in part by the first location and a radius, the radius being adjusted from a pre-determined value based on a detected velocity of the mobile device; time of day information; a battery level of the mobile device; or an error of the first location measurement or the current location measurement. If the current location is outside the geographic region, the geographic-positioning component causes a client application of the mobile device to send the current location to a remote server.
1. A method comprising:
recording a first location of a mobile device;
determining, by one or more processors of a geographic-positioning component, on a periodic basis, a current location of the mobile device, wherein while the current location of the mobile device is determined, one or more other processors of the mobile device are in a sleep state;
detecting, in response to determining the current location of the mobile device, by the one or more processors of the geographic-positioning component, whether the current location is outside a geographic region, the geographic region being defined by the first location and a radius, wherein the radius is adjusted from a pre-determined value based on:
a detected velocity of the mobile device;
time of day information;
a battery level of the mobile device; or
an error of the first location measurement or the current location measurement; and
if the current location is outside the geographic region, then causing, by the one or more processors of the geographic-positioning component, a client application of the mobile device to send the current location to a remote server.
2. The method of claim 1 , further comprising:
receiving, in response to sending the current location to the remote server, information from the remote server that is relevant to the current location.
3. The method of claim 2 , wherein the information comprises:
references to points of interest near the current location; or
advertisements relevant to the current location.
4. The method of claim 1 , wherein sending the current location to the remote server comprises sending the current location to a remote data store of the remote server, wherein the current location is stored by the remote data store in association with a user identifier corresponding to the mobile device.
5. The method of claim 4 , wherein storing the current location at the remote data store enables automatic check-in of a user associated with the user identifier at a place near the current location.
6. The method of claim 4 , wherein storing the current location at the remote data store enables notifications to be sent to one or more contacts of a user associated with the user identifier, wherein the one or more contacts are near the current location.
7. The method of claim 1 , wherein the first location or the current location is determined at least in part on:
a global positioning system (GPS) signal;
a Wi-Fi signal; or
a cellular radio signal.
8. The method of claim 1 , wherein the first location or the current location is determined at least in part on user-submitted location data.
9. The method of claim 8 , wherein the user-submitted location data comprises social-networking information submitted by using social-networking functionality.
10. One or more computer-readable non-transitory storage media embodying software that is operable when executed by one or more processors to:
record a first location of a mobile device;
determine, on a periodic basis, a current location of the mobile device, wherein while the current location of the mobile device is determined, one or more other processors of the mobile device are in a sleep state;
detect, in response to determining the current location of the mobile device, whether the current location is outside a geographic region, the geographic region being defined by the first location and a radius, wherein the radius is adjusted from a pre-determined value based on:
a detected velocity of the mobile device;
time of day information;
a battery level of the mobile device; or
an error of the first location measurement or the current location measurement; and
if the current location is outside the geographic region, then cause a client application of the mobile device to send the current location to a remote server.
11. The media of claim 10 , further comprising:
receiving, in response to sending the current location to the remote server, information from the remote server that is relevant to the current location.
12. The media of claim 11 , wherein the information comprises:
references to points of interest near the current location; or
advertisements relevant to the current location.
13. The media of claim 10 , wherein sending the current location to the remote server comprises sending the current location to a remote data store of the remote server, wherein the current location is stored by the remote data store in association with a user identifier corresponding to the mobile device.
14. The media of claim 13 , wherein storing the current location at the remote data store enables automatic check-in of a user associated with the user identifier at a place near the current location.
15. The media of claim 13 , wherein storing the current location at the remote data store enables notifications to be sent to one or more contacts of a user associated with the user identifier, wherein the one or more contacts are near the current location.
16. The media of claim 10 , wherein the first location or the current location is determined at least in part on:
a global positioning system (GPS) signal;
a Wi-Fi signal; or
a cellular radio signal.
17. The media of claim 10 , wherein the first location or the current location is determined at least in part on user-submitted location data.
18. The media of claim 17 , wherein the user-submitted location data comprises social-networking information submitted by using social-networking functionality.
19. A mobile device comprising:
one or more processors; and
a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to:
record a first location of a mobile device;
determine, on a periodic basis, a current location of the mobile device, wherein while the current location of the mobile device is determined, one or more other processors of the mobile device are in a sleep state;
detect, in response to determining the current location of the mobile device, whether the current location is outside a geographic region, the geographic region being defined by the first location and a radius, wherein the radius is adjusted from a pre-determined value based on:
a detected velocity of the mobile device;
time of day information;
a battery level of the mobile device; or
an error of the first location measurement or the current location measurement; and
if the current location is outside the geographic region, then cause a client application of the mobile device to send the current location to a remote server.
20. The device of claim 19 , further comprising:
receiving, in response to sending the current location to the remote server, information from the remote server that is relevant to the current location.