IP Library › Granted Patent US 8,704,710
Granted Patent B2
US 8,704,710 · App. 13/289,896 · Granted Apr 22, 2014

Location watching

Inventors: Guo Bin Shen (Beijing, CN); Zheng Zhang (Beijing, CN)
Assignee: Microsoft Corporation
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 8,704,710
App. No.
13/289,896
Granted
Apr 22, 2014
Kind
B2
Abstract

Techniques for watching a location of a device with respect to a destination target include obtaining a current location of a device from a localization operation, calculating an interval, and performing a next localization operation after the interval has expired. The interval may be calculated based on a velocity and a distance from the current location to a destination target. The techniques may also include calculating a displacement distance from the current location and adjusting the interval based on the displacement distance to thereby adjust a time for performing the next localization operation. The techniques may include performing state detection to determine a motion state of the device and performing the next localization operation based on the determined motion state.

Claims (77)

1. A method, comprising:

performing localization to determine a current location;

obtaining a first cell reading, the first cell reading including cell tower identification information of a first plurality of cell towers;

calculating a safe interval based on a distance from the current location to a destination target, the safe interval defining a sampling period for performing a next localization, the safe interval being calculated to be shorter in time than a time to travel from the current location to the destination target;

obtaining a second cell reading after the safe interval has expired, the second cell reading including cell tower identification information of a second plurality of cell towers;

determining a common cell tower based on the first and second cell readings;

adjusting the safe interval in response to the determination of the common cell tower, the safe interval being adjusted based on a displacement distance from the current location; and

performing localization after the adjusted safe interval has expired, the localization utilizing a global positioning system, cellular-based proximity location techniques, and/or wifi-based proximity location techniques.

2. A method implemented by a device, comprising:

obtaining, by the device, a current location and a destination target, the current location being obtained from a localization operation, the localization operation utilizing a global positioning system, cellular-based proximity localization, and/or wireless-based proximity localization;

calculating, by the device, an interval based on a velocity and a distance from the current location to the destination target, the interval defining a sampling period for performing a next localization operation; and

performing, by the device, the next localization operation after the interval has expired.

3. The method according to claim 2 , further comprising:

calculating, after the interval has expired, a displacement distance by estimating a displacement from the current location;

determining that the displacement distance is less than a displacement threshold; and

adjusting the interval in proportion to the displacement distance in response to the determination that the displacement distance is less than the displacement threshold to thereby adjust a time for performing the next localization operation.

4. The method according to claim 3 , further comprising:

comparing the adjusted interval to an adjusted-interval threshold;

determining that the adjusted interval is less than the adjusted-interval threshold; and

performing state detection in response to the determination that adjusted interval is less than the adjusted-interval threshold, the state detection being performed to determine a motion state of the device.

5. The method according to claim 3 , further comprising:

comparing the adjusted interval to an adjusted-interval threshold;

determining that the adjusted interval is greater than the adjusted-interval threshold; and

setting the device to a sleep or suspended mode in response to the determination that the adjusted interval is greater than the adjusted-interval threshold.

6. The method according to claim 2 , further comprising:

obtaining a first cell reading corresponding to a first plurality of cell towers, the first cell reading being obtained when the current location is obtained;

obtaining a second cell reading corresponding to a second plurality of cell towers;

comparing the first and second cell readings to determine whether the first plurality of cell towers and the second plurality of cell towers include any common cell towers; and

calculating a displacement distance based on the determination.

7. The method according to claim 6 , wherein the calculating the displacement distance includes calculating the displacement distance in proportion to the common cell towers, the displacement distance being a first distance when the common cell towers is a first number of common cell towers, the displacement distance being a second distance when the common cell towers is a second number of common cell towers, the first number of common cell towers being less than the second number of common cell towers, and the first distance being greater than the second distance.

8. The method according to claim 6 , further comprising:

determining that the displacement distance is less than a displacement threshold; and

extending the interval in response to the determination that the displacement distance is less than the displacement threshold.

9. The method according to claim 6 , further comprising:

determining that the displacement distance is greater than a displacement threshold,

wherein the performing the next localization operation includes performing the next localization operation in response to the determination that the displacement distance is greater than the displacement threshold.

10. The method according to claim 6 , wherein the first and second cell readings each include a location area code, cell identity data, mobile country code, mobile network code, and/or a signal-to-noise ratio value, and

the comparing includes comparing the location area code, the cell identity data, the mobile country code, the mobile network code, or the signal-to-noise ratio value of the first cell reading to the corresponding location area code, the cell identity data, the mobile country code, the mobile network code, or the signal-to-noise ratio value of the second cell reading.

11. The method according to claim 6 , wherein the calculating the displacement distance includes referencing cell tower coverage information indicating a coverage distance for the common cell towers, and calculating the displacement distance to be the coverage distance for the common cell towers.

12. The method according to claim 2 , further comprising:

obtaining first wireless access point data corresponding to a first plurality of wireless access points, the first wireless access point data being obtained when the current location is obtained;

obtaining second wireless access point data corresponding to a second plurality of wireless access points;

comparing the first and second wireless access point data to determine whether the first plurality of wireless access points and the second plurality of wireless access points include any common wireless access points; and

calculating a displacement distance based on the determination.

13. The method according to claim 2 , further comprising:

comparing the interval to an interval threshold;

determining that the interval is less than the interval threshold; and

performing state detection in response to the determination that the interval is less than the interval threshold, the state detection being performed to determine a motion state of the device.

14. The method according to claim 13 , wherein

the device is a mobile device having an accelerometer,

the performing state detection includes,

utilizing data obtained from the accelerometer to determine the motion state, and

determining that the mobile device is in a moving state, and

the performing the next localization operation includes performing the next localization operation in response to the determination that the mobile device is in the moving state.

15. The method according to claim 13 , wherein

the device is a mobile device having an accelerometer,

the performing state detection includes,

utilizing first data obtained from the accelerometer to determine a first motion state,

determining that the mobile device is in a still state, and

utilizing second data obtained from the accelerometer in response to the determination that the mobile device is in the still state, the second data being utilized to determine a second motion state of the mobile device, the second data being obtained after the first data was obtained.

16. The method according to claim 2 , further comprising:

comparing the interval to an interval threshold;

determining that the interval is greater than the interval threshold; and

setting the device to a sleep or suspended mode in response to the determination that the interval is greater than the interval threshold.

17. The method according to claim 2 , further comprising:

setting the device to a sleep or suspended mode for the period of the interval; and

waking the device from the sleep or suspended mode after the period has expired.

18. The method according to claim 2 , further comprising:

determining that the current location or a new current location is within a predetermined proximity to the destination target; and

notifying a user in response to the determination that the current location or new current location is within the predetermined proximity to the destination target.

19. The method according to claim 2 , wherein the velocity is an estimated velocity of the device in a direction from the current location to the destination target.

20. A system, comprising:

one or more processors; and

memory, communicatively coupled to the one or more processors, storing a component configured to:

obtain a current location and a destination target, the current location being obtained from a localization operation, the localization operation utilizing a global positioning system, cellular-based proximity localization, and/or wireless-based proximity localization,

calculate an interval based on a velocity and a distance from the current location to the destination target, the interval defining a sampling period for performing a next localization operation, and

perform the next localization operation after the interval has expired.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2012
From: SHEN, GUO BIN; ZHANG, ZHENG
To: MICROSOFT CORPORATION
Reel/Frame 028111/0339 →
Continuity (1)
Related Publication 20130113655A1 · May 9, 2013