IP Library Granted Patent US 10,999,802
Granted Patent B2
US 10,999,802 · App. 16/420,273 · Granted May 4, 2021

Real-time location and presence using a push-location client and server

Inventor: Neeraj Chawla (Bothell, WA)
Assignee: MPANION, INC.
H04W52/0258G01S19/34G01S19/48H04W52/0251H04W52/0254H04W64/006H04W52/0274Y02D30/70
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 10,999,802
App. No.
16/420,273
Granted
May 4, 2021
Kind
B2
Abstract

A system for providing real-time always-on location is presented for maintaining the current location of a mobile device, while saving the battery by managing the GPS in a power-saving mode while the device is considered to be stationary. The system also provides a real-time location in an indoor environment where a GPS signal may not be available. Additionally, methods for driving detection are also presented.

Claims (65)

1. A method, comprising:

determining, by a client of a mobile device, whether a mobile device is considered to be driving or in transit based on a speed at which the mobile device is traveling;

when the client of the mobile device determines that the mobile device is driving or in transit:

sending, by the client, a transit message to a server, and

monitoring a current location and speed of the mobile device, by the client; and

when the client detects that the speed of the mobile device has fallen below a speed threshold, and the mobile device is considered to be at an end point of a street along the driving or transit, sending the current location, the speed, and a heading at a start point and the end point to the server, by the client.

2. The method of claim 1 , further comprising:

when the user is at the end point:

sending a sleep command to an embedded positioning system of the mobile device, and

initiating a power saving mode that reduces consumption of battery power by the mobile device.

3. The method of claim 1 , further comprising:

determining an address of the end point, by the client of the mobile device or the server, based on location coordinates.

4. The method of claim 1 , further comprising:

when the end point is a business or point of interest (POI) location, updating a location status of the mobile device with information corresponding to the business or the POI; and

when the end point is not at a business or a POI location, determining the location status based on geographical area level information or a sharing level status of a user.

5. The method of claim 1 , further comprising:

maintaining recently visited end point locations where the mobile device is determined to be stationary for a specified period of time.

6. The method of claim 1 , further comprising:

maintaining a profile of specified and/or pre-determined locations of the mobile device where the mobile device is stationary for a specified period of time.

7. The method of claim 6 , further comprising:

enabling a power saving mode when the mobile device is determined to be at one of the specified and/or pre-determined locations of the profile.

8. The method of claim 6 , further comprising:

assigning, by the mobile device, a privacy level of a plurality of privacy levels for sharing corresponding location information with each application specified by a user.

9. The method of claim 8 , wherein

at a first privacy level, no location information is shared,

at a second privacy level or two or more intermediate privacy levels, location information is shared based on privacy criteria, and

at a third or final privacy level, all location information is shared with selected users and/or applications at all times.

10. The method of claim 1 , further comprising:

determining a presence status of the mobile device based on a location profile, privacy settings of a plurality of users, and location updates received from a server; and

sharing the presence status with the plurality of users or one or more applications, wherein

the presence status for a given user is based on the privacy settings for that respective user.

11. The method of claim 1 , wherein the client only sends start and end points of the driving or transit to the server, thereby reducing server updates from the mobile device while driving or in transit, and thus, reducing network traffic and improving battery performance of the mobile device.

12. The method of claim 1 , further comprising:

determining, by the client, when a heading or the speed of the mobile device changes more than a heading threshold or a speed change threshold, respectively; and

sending a location update to the server, by the client, when the heading threshold or the speed change threshold are exceeded.

13. The method of claim 1 , further comprising:

determining, by the client, when street information has likely changed or the current location cannot be interpolated by the server; and

sending the current location to the server, by the client, when the street information has likely changed or the current location cannot be interpolated by the server.

14. A method, comprising:

determining, by a client of a mobile device, whether a mobile device is considered to be driving or in transit based on a speed at which the mobile device is traveling; and

when the client of the mobile device determines that the mobile device is driving or in transit:

monitoring a current location and speed of the mobile device, by the client,

when the client detects that the speed of the mobile device has fallen below a speed threshold, and the mobile device is considered to be at an end point of the driving or transit, sending the end point to the server, by the client, and

maintaining, by the client, recently visited end point locations where the mobile device is determined to be stationary for a specified period of time.

15. The method of claim 14 , further comprising:

maintaining a profile of specified and/or pre-determined locations of the mobile device where the mobile device is stationary for a specified period of time; and

enabling a power saving mode when the user is determined to be at one of the specified and/or pre-determined locations of the profile.

16. The method of claim 15 , further comprising:

assigning a privacy level of a plurality of privacy levels to each of the specified and/or pre-determined locations, wherein

at a first privacy level, no location information is shared, and

at a second privacy level or two or more intermediate privacy levels, location information is shared based on privacy criteria, and

at a third or final privacy level, all location information is shared with selected users and/or applications at all times.

17. The method of claim 14 , further comprising:

determining a presence status of the mobile device based on a location profile, privacy settings of a plurality of users, and location updates received from a server; and

sharing the presence status with the plurality of users, wherein

the presence status for a given user is based on the privacy settings for that respective user.

18. A method, comprising:

determining, by a client of a mobile device, whether a mobile device is considered to be driving or in transit based on a speed at which the mobile device is traveling; and

when the client of the mobile device determines that the mobile device is driving or in transit:

sending, by the client, a transit message to a server, and

monitoring a current location and speed of the mobile device, by the client, wherein

the client only sends start and end points of the driving or transit to the server, thereby reducing server updates from the mobile device while driving or in transit, and thus, reducing network traffic and improving battery performance of the mobile device.

19. The method of claim 18 , further comprising:

determining, by the client, when a heading or the speed of the mobile device changes more than a heading threshold or a speed change threshold, respectively; and

sending a location update to the server, by the client, when the heading threshold or the speed change threshold are exceeded.

Assignments (3)
SECURITY INTEREST Recorded Jun 17, 2026
From: MPANION LICENSING, LLC
To: MLOTUS LLC
Reel/Frame 074988/0978 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2026
From: MPANION, INC.
To: MPANION LICENSING, LLC
Reel/Frame 074997/0047 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2021
From: CHAWLA, NEERAJ
To: MPANION, INC.
Reel/Frame 055778/0279 →
Continuity (7)
Division 15956924 · Apr 19, 2018
Continuation 14619136 · Feb 11, 2015
Continuation 13923722 · Jun 21, 2013
Continuation 12728216 · Mar 20, 2010
Continuation In Part 11838876 · Aug 14, 2007
Provisional Application 61162263 · Mar 21, 2009
Related Publication 20190281553A1 · Sep 12, 2019