IP Library Granted Patent US 11,690,017
Granted Patent B2
US 11,690,017 · App. 17/235,257 · Granted Jun 27, 2023

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

Inventor: Neeraj Chawla (Bothell, WA)
Assignee: mPanion, Inc.
H04W52/0258G01S5/017G01S5/019G01S19/34H04W52/0251H04W52/0254H04W64/006G01S19/48H04W52/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 11,690,017
App. No.
17/235,257
Granted
Jun 27, 2023
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 (68)

1. An apparatus, comprising:

memory storing computer program instructions for a mobile operating system; and

a processor configured to execute the computer program instructions, wherein the instructions are configured to cause the processor to:

determine whether an activity is detected, and

when the activity is detected:

send a first event trigger to an application that determines a current or real-time continuous location,

receive a request from the application to provide the current location of the apparatus, and

when the apparatus or the application is determined to be inactive:

send a second event trigger to the application, and

responsive to the second event trigger, receive from the application a request to the mobile operating system to put the mobile positioning system in a power saving mode.

2. The apparatus of claim 1 , wherein the computer program instructions are further configured to cause the processor to:

put the mobile positioning system into the power-saving mode responsive to receiving the request to put the mobile positioning system in the power saving mode from the application.

3. The apparatus of claim 2 , wherein the mobile positioning system is or comprises a global positioning system (GPS).

4. The apparatus of claim 1 , wherein

the application is configured to manage the mobile positioning system,

the application is a module of the mobile operating system, and

one or more other applications that require the current location of the apparatus receive location updates from the application within the mobile operating system.

5. The apparatus of claim 4 , wherein the one or more other applications that require the current location of the apparatus receive updates when the mobile positioning system is put in a power saving mode or restarted and start receiving location updates.

6. The apparatus of claim 1 , wherein the computer program instructions are further configured to cause the processor to:

determine when a motion of the apparatus changes from a stationary state to a moving state;

when the state changes, send a motion event trigger to the application;

after the application receives the motion event trigger, receive from the application a request to the mobile positioning system to provide a current location of the apparatus; and

when the apparatus is determined to be stationary:

send a stationary event trigger to the application, and

responsive to the stationary event trigger, receive from the application a request to put the mobile positioning system in the power saving mode.

7. The apparatus of claim 1 , wherein when the activity is detected, the computer program instructions are further configured to cause the processor to:

wake up the mobile positioning system.

8. An apparatus, comprising:

memory storing computer program instructions for a mobile operating system; and

a processor configured to execute the computer program instructions, wherein the instructions are configured to cause the processor to:

determine when a motion of the apparatus changes from a stationary state to a moving state,

when the state changes, send a motion event trigger to an application, the application determining a current or real-time continuous location of the apparatus,

after the application receives the motion event trigger, receive a request to the mobile positioning system to provide a current location of the apparatus, and

when the apparatus is determined to be stationary:

send a stationary event trigger to the application, and

responsive to the stationary event trigger, receive from the application a request to put the mobile positioning system in a power saving mode.

9. The apparatus of claim 8 , wherein the computer program instructions are further configured to cause the processor to:

put the mobile positioning system into the power-saving mode responsive to receiving the request to put the mobile positioning system in the power saving mode from the application.

10. The apparatus of claim 9 , wherein the mobile positioning system is or comprises a global positioning system (GPS).

11. The apparatus of claim 8 , wherein

the application is configured to manage the mobile positioning system,

the application is a module of the mobile operating system, and

one or more other applications that require the current location of the apparatus receive location updates from the application within the mobile operating system.

12. The apparatus of claim 11 , wherein the one or more other applications that require the current location of the apparatus receive updates when the mobile positioning system is put in a power saving mode or restarted and start receiving location updates.

13. The apparatus of claim 8 , wherein the instructions are further configured to cause the processor to:

send a request to an accelerometer of the apparatus;

receive measurements from the accelerometer; and

use the measurements from the accelerometer to determine whether the state changed from the stationary state to the moving state.

14. The apparatus of claim 8 , wherein when the state changes from the stationary state to the moving state, the computer program instructions are further configured to cause the processor to:

wake up the mobile positioning system.

15. The apparatus of claim 8 , wherein the inactive state comprises when the apparatus is turned off by the mobile operating system due to inactivity for a period of time.

16. A method, comprising:

determining, by a mobile operating system of a mobile device, when a motion of the mobile device or an activity of the mobile device changes from a stationary state to a moving state or from an inactive state to an active state;

when the state changes, sending, by the mobile operating system, a motion or activity event trigger to an application, the application determining a current or real-time continuous location of the mobile device;

when the application receives the motion or activity event trigger, sending, by the application, a request to a mobile positioning system of the mobile device to provide a current location of the mobile device; and

when the mobile device or the application is determined to be stationary or inactive by the mobile operating system:

sending a stationary or inactive event trigger to the application, by the mobile operating system, and

responsive to the stationary or inactive event trigger, receiving from the application, by the mobile operating system, a request to put the mobile positioning system in a power saving mode.

17. The method of claim 16 , further comprising:

putting the mobile positioning system into the power-saving mode, by the mobile operating system, responsive to receiving the request to put the mobile positioning system in the power saving mode from the application.

18. The method of claim 16 , wherein

the application is configured to manage the mobile positioning system,

the application is a module of the mobile operating system, and

one or more other applications that require the current location of the mobile device receive location updates from the application within the mobile operating system.

19. The method of claim 18 , wherein the one or more other applications that require the current location of the mobile device receive updates when the mobile positioning system is put in a power saving mode or restarted and start receiving location updates.

20. The method of claim 16 , wherein when the state changes from the stationary or inactive state to the moving or active state, the method further comprises:

waking up the mobile positioning system, by the mobile operating system.

21. The method of claim 16 , wherein the inactive state comprises when the mobile device is turned off by the mobile operating system due to inactivity for a period of time.

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 May 24, 2021
From: CHAWLA, NEERAJ
To: MPANION, INC.
Reel/Frame 056323/0859 →
Continuity (8)
Continuation 16420273 · May 23, 2019
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 20210243697A1 · Aug 5, 2021