IP Library › Granted Patent US 11,606,756
Granted Patent B2
US 11,606,756 · App. 17/363,665 · Granted Mar 14, 2023

Scheduling requests for location data

Inventors: Piotr Gurgul (Hergiswil, CH); Lucas Rangit Magasweran (Berlin, DE)
Assignee: Snap Inc.
H04W52/0261G01S5/0063G01S5/0252G01S5/02685G06T11/00G06T13/00H04W64/003G01S19/48
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,606,756
App. No.
17/363,665
Granted
Mar 14, 2023
Kind
B2
Abstract

Systems, methods, and computer readable media that schedules requests for location data of a mobile device, where the methods include selecting a first positioning system based on a power requirement, a latency requirement, and an accuracy requirement, and determining whether a first condition is satisfied for querying the first positioning system. The method further comprises in response to a determination that the first condition is satisfied, querying the first positioning system for first position data. The method further comprises in response to a determination that the first condition is not satisfied, selecting a second positioning system based on the power requirement, the latency requirement, and the accuracy requirement, determining whether a second condition is satisfied for querying the second positioning system, and in response to a determination that the second condition is satisfied, querying the second positioning system for second position data.

Claims (72)

1. A method comprising:

selecting, using one or more processors of a mobile device, a first positioning system based on a power requirement, a latency requirement, and an accuracy requirement;

determining whether a first condition is satisfied for querying the first positioning system;

in response to a determination that the first condition is satisfied, querying the first positioning system for first position data;

in response to a determination that the first condition is not satisfied,

selecting a second positioning system based on the power requirement, the latency requirement, and the accuracy requirement,

determining whether a second condition is satisfied for querying the second positioning system, and

in response to a determination that the second condition is satisfied, querying the second positioning system for second position data;

querying a pedestrian dead reckoning (PDR) sensor for third position data;

accessing the third position data from the PDR sensor; and

in response to the third position data indicating the mobile device has not moved, refraining from selecting the first positioning system or the second positioning system.

2. The method of claim 1 further comprising:

in response to the determination that the first condition is not satisfied and the determination that the second condition is not satisfied,

determining, using dead reckoning, a new position of the mobile device based on a previous position of the mobile device and the third position data.

3. The method of claim 2 wherein the threshold period of time is based on the latency requirement.

4. The method of claim 1 further comprising:

in response to the first position data not being available within a threshold period of time after querying the first positioning system,

selecting the second positioning system based on the power requirement, the latency requirement, and the accuracy requirement,

determining whether the second condition is satisfied for querying the second positioning system, and

in response to the determination that the second condition is satisfied, querying the second positioning system for second position data.

5. The method of claim 1 further comprising:

accessing the first position data; and

fusing the first position data with a previous current position of the mobile device to generate a new current position of the mobile device.

6. The method of claim 5 further comprising:

storing the new position in a memory of the mobile device accessible to application programs.

7. The method of claim 5 further comprising:

determine a velocity based on the new current position, the previous current position, and an amount of time between a new timestamp associated with the first position data and a previous current timestamp associated with the previous current position.

8. The method of claim 1 wherein the first condition and the second condition are one of the following group: whether the mobile device is outdoors, whether the mobile device is paired with a host device via a wireless connection, whether a display of the mobile device is off, whether Global navigation satellite system (GNSS) support data is loaded into a memory of the mobile device, whether wireless access point location data is loaded into the memory the mobile device, whether an estimate of a movement of the mobile device from a pedestrian dead reckoning (PDR) of the mobile device transgresses a first threshold associated with the first positioning system, and whether the estimate of the movement of the mobile device from the PDR transgresses a second threshold associated with the second positioning system.

9. The method of claim 1 wherein the accuracy requirement is based on an accuracy of a current position of the mobile device and an accuracy request from an application module.

10. The method of claim 1 further comprising:

receiving a request for a current position of the mobile device, the request indicating a dimensionality of the requested current position, wherein the dimensionality is 2 dimensional or 3 dimensional.

11. The method of claim 10 wherein the request further indicates a requested latency and a requested accuracy.

12. The method of claim 1 further comprising:

in response to the determination that the first condition is not satisfied and the determination that the second condition is not satisfied,

selecting a third positioning system based on the power requirement, the latency requirement, and the accuracy requirement,

determining whether a third condition is satisfied for querying the third positioning system, and

in response to a determination that the third condition is satisfied, querying the second positioning system.

13. The method of claim 1 further comprising:

in response to the determination that the first condition is not satisfied and the determination that the second condition is not satisfied, changing the power requirement, the latency requirement, or the accuracy requirement to enable additional positioning systems to be selected.

14. The method of claim 1 wherein the first positioning system is selected based on a first accuracy associated with the first position data being less than the accuracy requirement, a first power usage associated with obtaining the first position data being less than the power requirement, and a first latency associated with obtaining the first position data being less than the latency requirement.

15. The method of claim 1 wherein the first positioning system and the second positioning system each comprise at least one of a module configured to access a global navigation satellite system (GNSS), a first wireless module configured to query a host device paired with the mobile device, a second wireless module configured to query wireless devices for location data, and a light module configured to transmit and receive light to determine location data.

16. A system comprising:

one or more computer processors; and

one or more computer-readable mediums coupled with the one or more processors, the one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the system to perform operations comprising:

selecting, using one or more processors of a mobile device, a first positioning system based on a power requirement, a latency requirement, and an accuracy requirement;

determining whether a first condition is satisfied for querying the first positioning system;

in response to a determination that the first condition is satisfied, querying the first positioning system for first position data;

in response to a determination that the first condition is not satisfied,

selecting a second positioning system based on the power requirement, the latency requirement, and the accuracy requirement,

determining whether a second condition is satisfied for querying the second positioning system, and

in response to a determination that the second condition is satisfied, querying the second positioning system for second position data;

querying a pedestrian dead reckoning (PDR) sensor for third position data;

accessing the third position data from the PDR sensor; and

in response to the third position data indicating the mobile device has not moved, refraining from selecting the first positioning system or the second positioning system.

17. The system of claim 16 wherein the operations further comprise:

in response to the determination that the first condition is not satisfied and the determination that the second condition is not satisfied,

determining, using dead reckoning, a new position of the mobile device based on a previous position of the mobile device and the third position data.

18. The non-transitory computer-readable storage medium of claim 16 wherein the threshold period of time is based on the latency requirement.

19. A non-transitory computer-readable storage medium including instructions that, when processed by a computer for a mobile device, configure the computer to perform operations comprising:

selecting, using one or more processors of a mobile device, a first positioning system based on a power requirement, a latency requirement, and an accuracy requirement;

determining whether a first condition is satisfied for querying the first positioning system;

in response to a determination that the first condition is satisfied, querying the first positioning system for first position data;

in response to a determination that the first condition is not satisfied,

selecting a second positioning system based on the power requirement, the latency requirement, and the accuracy requirement,

determining whether a second condition is satisfied for querying the second positioning system, and

in response to a determination that the second condition is satisfied, querying the second positioning system for second position data;

querying a pedestrian dead reckoning (PDR) sensor for third position data;

accessing the third position data from the PDR sensor; and

in response to the third position data indicating the mobile device has not moved, refraining from selecting the first positioning system or the second positioning system.

20. The non-transitory computer-readable storage medium of claim 19 wherein the operations further comprise:

in response to the determination that the first condition is not satisfied and the determination that the second condition is not satisfied,

determining, using dead reckoning, a new position of the mobile device based on a previous position of the mobile device and the third position data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2022
From: GURGUL, PIOTR; MAGASWERAN, LUCAS RANGIT
To: SNAP INC.
Reel/Frame 062011/0978 →
Continuity (2)
Provisional Application 63200789 · Mar 29, 2021
Related Publication 20220312332A1 · Sep 29, 2022
Cited By (3)
US 12,262,326 US 12,335,876 US 12,659,865