IP Library Granted Patent US 12669568
Granted Patent B2
US 12669568 · App. 18/304,104 · Granted Jun 30, 2026

Rhythmic collection of positioning information

Inventors: Christina Selle (Los Altos, CA); Bharath Narasimha Rao (San Mateo, CA); Saurabh Godha (San Jose, CA); Andrew J. Kerns (Sunnyvale, CA); Adam M. Driscoll (Atherton, CA); Gunes Dervisoglu (Santa Clara, CA); Archana Belvadi (Cupertino, CA); Jong-Ki Lee (San Jose, CA); Girish Joshi (Cupertino, CA); Halil Ibrahim Basturk (San Jose, CA); Seyyedeh Mahsa Mirzargar (Los Altos, CA); Jonathan M. Beard (San Jose, CA); Richard Najarian (Palos Verdes Estates, CA)
Assignee: APPLE INC.
G01S5/02521H04L5/0048H04W52/0229H04W64/003
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 12669568
App. No.
18/304,104
Filed
Apr 20, 2023
Granted
Jun 30, 2026
Kind
B2
Art Unit
2631
USPC
455/456.1
Abstract

Methods, non-transitory machine-readable mediums, and system to provide location services are described. In an embodiment, a method provides receiving at least two position fixes for a trajectory of an electronic device, where the at least two position fixes are obtained intermittently, matching the at least two position fixes to points on a path indicated in map data, and computing a distance for the trajectory using distance information using the map data.

Claims (70)

1 . A method comprising:

receiving at least two position fixes for a trajectory of an electronic device, wherein the at least two position fixes are obtained intermittently in an extended mode of the electronic device and based on determining whether to send requests for position information for the at least two position fixes during a duty cycling period;

matching the at least two position fixes to points on a path indicated in map data; and

computing a distance for the trajectory using distance information using the map data.

2 . The method of claim 1 , wherein

determining whether to send a request for positioning information determining comprises:

determining whether positioning information received from another location services application is stale;

sending a request for positioning information if the positioning information is stale; and

obtaining the position fixes from another location services application if the positioning information is not stale.

3 . The method of claim 1 , wherein

determining whether to send a request for positioning information comprises:

deferring a request for positioning information until an application processor is woken by another application executing on the electronic device.

4 . The method of claim 1 , wherein

determining whether to send a request for positioning information comprises:

deferring a request for positioning information until a radio processor is woken by another application executing on the electronic device.

5 . The method of claim 1 , wherein the duty cycling period comprises an N minute period.

6 . The method of claim 1 , wherein the intermittently received position fixes are continuously requested and received for varying durations of time during the duty cycling period.

7 . The method of claim 1 , wherein the map data is cached on the electronic device.

8 . A method comprising:

receiving at least two position fixes for a trajectory of an electronic device, wherein the at least two position fixes are obtained intermittently in an extended mode of the electronic device, the extended mode comprising intermittently requesting position information during duty cycling periods;

computing a straightness metric for the trajectory using heading information obtained from sensor data as the electronic device traveled between the at least two position fixes;

training a machine learning model to compute a distance between position fixes using a plurality of features, wherein the plurality of features includes a straightness metric computation; and

receiving a distance computation for the trajectory from the machine learning model using the straightness metric and the at least two position fixes.

9 . The method of claim 8 , wherein the plurality of features further comprises at least one of:

a distance calculated every N minutes, an absolute height change determined every N minutes, an absolute course change every N minutes, an accumulated step counts provided every N minutes, or a current speed determined every N minutes.

10 . The method of claim 8 , wherein the machine learning model uses a multiple regression algorithm.

11 . The method of claim 8 , wherein the straightness metric is computed between the at least two position fixes using the sensor data by comparing a distance for a reconstructed path traveled between two position fixes to the distance between the at least two position fixes.

12 . The method of claim 8 , further comprising:

duty cycling of requests for positioning information to obtain intermittent position fixes.

13 . The method of claim 8 , wherein the machine learning model reconstructs a path from user accessible data and estimates a distance for the path taken with the electronic device.

14 . A method comprising:

analyzing user context data to determine a set of conditions are met for proactively obtaining positioning data in an extended mode of an electronic device;

initiating the extended mode based on the analysis of the user context data, wherein the extended mode comprises duty cycling position information requests to obtain intermittent position fixes based on determining whether to send the requests for position information for the intermittent position fixes during a duty cycling period; and

performing at least one mitigation using the intermittently obtained position fixes to determine a trajectory and a distance traveled along the trajectory.

15 . The method of claim 14 , wherein performing the at least one mitigation comprises:

receiving at least two intermittently obtained position fixes for the trajectory of an electronic device;

matching the at least two intermittently obtained position fixes to points on a path indicated in map data to determine the trajectory; and

computing the distance for the trajectory using distance information using the map data.

16 . The method of claim 14 , wherein performing the at least one mitigation comprises:

receiving at least two intermittently obtained position fixes for a trajectory of an electronic device;

computing a straightness metric for the trajectory using heading information obtained from sensor data as the electronic device traveled between the at least two intermittently obtained position fixes;

training a machine learning model to compute a distance between position fixes using a plurality of features, wherein the plurality of features includes a straightness metric computation; and

receiving a distance computation for the trajectory from the machine learning model using the straightness metric and at least two intermittently obtained position fixes.

17 . The method of claim 16 , wherein the set of conditions comprises at least one of a motion classification, a comparison result between a time span of the electronic device without network access and a threshold period of time without network access, a sparse density environment classification, or a comparison result between a distance to a frequented location and a threshold distance from a frequented location.

18 . The method of claim 14 , wherein

determining whether to send a request for positioning information comprises:

determining whether positioning information received from another location services application is stale;

sending a request for positioning information if the positioning information is stale; and

obtaining the position fix from another location services application if the positioning information is not stale.

19 . The method of claim 14 , wherein

determining whether to send a request for positioning information comprises:

deferring a request for positioning information until an application processor or a radio processor is woken by another application executing on an electronic device.

20 . The method of claim 14 , further comprising:

altering functionality of the electronic device; and

prioritizing execution of services on the electronic device.

21 . A non-transitory machine-readable medium storing computer-executable instructions that, when executed by one or more processors of an electronic device, cause the electronic device to perform operations comprising:

analyzing user context data to determine a set of conditions are met for proactively obtaining positioning data in an extended mode of the electronic device;

initiating the extended mode based on the analysis of the user context data, wherein the extended mode comprises duty cycling position information requests to obtain intermittent position fixes based on determining whether to send the requests for position information for the intermittent position fixes during a duty cycling period; and

performing at least one mitigation using the intermittently obtained position fixes to determine a trajectory and a distance traveled along the trajectory.

22 . The non-transitory machine-readable medium of claim 21 , wherein performing the at least one mitigation comprises:

receiving at least two intermittently obtained position fixes for the trajectory of the electronic device;

matching the at least two intermittently obtained position fixes to points on a path indicated in map data to determine the trajectory; and

computing the distance for the trajectory using distance information using the map data.

23 . The non-transitory machine-readable medium of claim 21 , wherein performing the at least one mitigation comprises:

receiving at least two intermittently obtained position fixes for a trajectory of the electronic device;

computing a straightness metric for the trajectory using heading information obtained from sensor data as the electronic device traveled between the at least two intermittently obtained position fixes;

training a machine learning model to compute a distance between position fixes using a plurality of features, wherein the plurality of features includes a straightness metric computation; and

receiving a distance computation for the trajectory from the machine learning model using the straightness metric and at least two intermittently obtained position fixes.

24 . The non-transitory machine-readable medium of claim 21 , wherein determining whether to send a request for positioning information comprises:

deferring a request for positioning information until an application processor or a radio processor is woken by another application executing on the electronic device.