IP Library › Granted Patent US 9,451,035
Granted Patent B2
US 9,451,035 · App. 14/585,499 · Granted Sep 20, 2016

Push-based location update

Inventors: Richard Williamson (Los Gatos, CA); Christopher Blumenberg (San Francisco, CA); Seejo Pylappan (Cupertino, CA); James Howard (Mountain View, CA)
Assignee: Apple Inc.
H04L67/18H04L63/107H04W4/02H04W4/028H04W60/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,451,035
App. No.
14/585,499
Granted
Sep 20, 2016
Kind
B2
Abstract

Methods, systems, and computer-readable media for a location information server to gather location updates by sending location-update-requests through a push notification service to a mobile device are disclosed. The mobile device provides location updates in response to the push-based location-update-requests received through the push notification service. The mobile device can switch from a self-initiated location update mode to a push-based location update mode depending on the current state of the mobile device. The mobile device can also choose an appropriate positioning system for self-locating based on the information embedded in the location-update-request received through the push notification service. The information embedded in the pushed location-update-request can be a precision requirement or context information that can be used to determine a precision requirement for the location update.

Claims (69)

1. A non-transitory computer-readable medium storing instructions executable by one or more processors to perform operations comprising:

maintaining a persistent connection of a mobile device to a push notification service;

entering a sleep mode of the mobile device;

while in the sleep mode, receiving a first location-update-request for a location update from a location information server through the push notification service;

in response to receiving the first location-update-request, waking up the mobile device from the sleep mode;

obtaining a location of the mobile device by implementing a self-location function;

sending the location as a location update to the location information server in response to receiving the first location-update-request;

storing the location obtained by implementing the self-location function;

receiving a second location-update-request after receiving the first location-update-request;

determining that a time interval between obtaining the location in response to the first location-update-request and receiving the second location-update-request is less than a threshold time interval;

in response to determining that the time interval is less than the threshold time interval, sending the stored location in response to receiving the second location-update-request; and

returning the mobile device to the sleep mode after sending the location update.

2. The medium of claim 1 , wherein the first location-update-request specifies a location precision requirement for the location update, and wherein obtaining the location of the mobile device by implementing the self-location function comprises selecting an appropriate positioning system to activate based on the location precision requirement and one or more predetermined criteria.

3. The medium of claim 2 , wherein the one or more predetermined criteria can specify a low power consumption preference for the positioning system to be selected.

4. The medium of claim 2 , wherein the first location-update-request is sent in response to a location-information-request for location information made by a friend device of the mobile device.

5. The medium of claim 4 , wherein the first location-update-request includes context information related to the location-information-request and wherein the one or more predetermined criteria specify a location precision preference for the positioning system to be selected based on the context information.

6. The medium of claim 1 , wherein the operations further comprise:

receiving a third location-update-request after receiving the first location-update-request;

determining that a time interval between obtaining the location in response to the first location-update-request and receiving the third location-update-request is greater than a threshold time interval;

in response to determining that the time interval is greater than the threshold time interval, implementing the self-location function to obtain a location; and

sending the location in response to receiving the third location-update-request.

7. A system comprising:

one or more processors; and

a non-transitory computer-readable medium storing instructions executable by the one or more processors to perform operations comprising:

maintaining a persistent connection of a mobile device to a push notification service;

receiving a first location-update-request for a location update from a location information server through the push notification service;

in response to receiving the first location-update-request, obtaining a location of the mobile device by implementing a self-location function;

sending the location as a location update to the location information server in response to receiving the first location-update-request;

storing the location obtained by implementing the self-location function;

receiving a second location-update-request after receiving the first location-update-request;

determining that a time interval between obtaining the location in response to the first location-update-request and receiving the second location-update-request is less than a threshold time interval; and

in response to determining that the time interval is less than the threshold time interval, sending the stored location in response to receiving the second location-update-request.

8. The system of claim 7 , wherein the first location-update-request specifies a location precision requirement for the location update, and wherein obtaining the location of the mobile device by implementing the self-location function comprises selecting an appropriate positioning system to activate based on the location precision requirement and one or more predetermined criteria.

9. The system of claim 8 , wherein the one or more predetermined criteria can specify a low power consumption preference for the positioning system to be selected.

10. The system of claim 8 , wherein the first location-update-request is sent in response to a location-information-request for location information made by a friend device of the mobile device.

11. The system of claim 10 , wherein the first location-update-request includes context information related to the location-information-request and wherein the one or more predetermined criteria specify a location precision preference for the positioning system to be selected based on the context information.

12. The system of claim 7 , wherein the operations further comprise:

receiving a third location-update-request after receiving the first location-update-request;

determining that a time interval between obtaining the location in response to the first location-update-request and receiving the third location-update-request is greater than a threshold time interval;

in response to determining that the time interval is greater than the threshold time interval, implementing the self-location function to obtain a location; and

sending the location in response to receiving the third location-update-request.

13. A method comprising:

maintaining, by one or more processors, a persistent connection of a mobile device to a push notification service;

entering, by the one or more processors, a sleep mode of the mobile device;

while in the sleep mode, receiving, by the one or more processors, a first location-update-request for a location update from a location information server through the push notification service;

in response to receiving the first location-update-request, waking up, by the one or more processors, the mobile device from the sleep mode;

obtaining, by the one or more processors, a location of the mobile device by implementing a self-location function;

sending, by the one or more processors, the location as a location update to the location information server in response to receiving the first location-update-request;

storing, by the one or more processors, the location obtained by implementing the self-location function;

receiving, by the one or more processors, a second location-update-request after receiving the first location-update-request;

determining, by the one or more processors, that a time interval between obtaining the location in response to the first location-update-request and receiving the second location-update-request is less than a threshold time interval; and

in response to determining that the time interval is less than the threshold time interval, sending, by the one or more processors, the stored location in response to receiving the second location-update-request; and

returning, by the one or more processors, the mobile device to the sleep mode after sending the location update.

14. The method of claim 13 , wherein the first location-update-request specifies a location precision requirement for the location update, and wherein obtaining the location of the mobile device by implementing the self-location function comprises selecting an appropriate positioning system to activate based on the location precision requirement and one or more predetermined criteria.

15. The method of claim 14 , wherein the one or more predetermined criteria can specify a low power consumption preference for the positioning system to be selected.

16. The method of claim 14 , wherein the first location-update-request is sent in response to a location-information-request for location information made by a friend device of the mobile device, wherein the first location-update-request includes context information related to the location-information-request and wherein the one or more predetermined criteria specify a location precision preference for the positioning system to be selected based on the context information.

17. The method of claim 13 , further comprising:

receiving a second location-update-request after receiving the first location-update-request;

determining that a time interval between obtaining the location in response to the first location-update-request and receiving the second location-update-request is greater than a threshold time interval;

in response to determining that the time interval is greater than the threshold time interval, implementing the self-location function to obtain a location; and

sending the location in response to receiving the second location-update-request.

18. The medium of claim 1 , wherein the operations comprise:

determining that the time interval is not less than the threshold time interval;

in response to determining that the time interval is not less than the threshold time interval, implementing the self-location function to obtain a current location; and

sending the current location in response to receiving the second location-update-request.

19. The system of claim 7 , wherein the operations comprise:

before receiving the first location-update-request, entering the mobile device into a sleep mode, wherein the first location-update-request is received while in the sleep mode;

waking up the mobile device from the sleep mode in response to receiving the first location-update-request; and

returning the mobile device to the sleep mode after sending the location update.

Continuity (2)
Continuation 12486532 · Jun 17, 2009
Related Publication 20150120873A1 · Apr 30, 2015