IP Library › Granted Patent US 11,788,858
Granted Patent B2
US 11,788,858 · App. 18/065,239 · Granted Oct 17, 2023

Labeling a significant location based on contextual data

Inventors: Michael P. Dal Santo (San Francisco, CA); Hyo Jeong Shin (Santa Clara, CA); Krishna M. Behara (Santa Clara, CA); Marcos R. Vescovi (Capitola, CA); Patrick Thomas Dillon (Mountain View, CA); Richard B. Warren (Redwood City, CA); Ronald K. Huang (San Jose, CA); Xufeng Han (Cupertino, CA)
Assignee: Apple Inc.
G01C21/3682G01C21/005G06F16/24578G06F16/29G06F16/9537H04L67/52H04W4/021H04W4/023H04W4/14H04W4/025
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,788,858
App. No.
18/065,239
Granted
Oct 17, 2023
Kind
B2
Abstract

Computer-implemented methods, computer-readable storage media storing instructions and computer systems for labeling significant locations based on contextual data can be implemented to perform operations that include determining a location of a computing device, and determining a label for the determined location based on contextual data associated with the significant location. The location can be a significant location that has meaning to a user of the device.

Claims (62)

1. A method implemented by a computing device, the method comprising:

receiving, from a location subsystem, location information at a geographic location for the computing device;

determining, by the computing device, that the geographic location of the computing device is associated with a significant location in a set of significant locations accessible on the computing device, wherein the significant location is a location having position coordinates inferred from clusters of position coordinates previously gathered by the computing device in response to a determination that the computing device dwelled at the location for a threshold amount of time;

determining, by the computing device, a label for the significant location based on analysis of contextual data for the significant location, the contextual data comprising a movement pattern for the computing device; and

displaying, on a graphical interface of the computing device, the label for the significant location.

2. The method of claim 1 , wherein the movement pattern of the computing device comprises movement of the computing device between a plurality of significant locations, and

wherein determining, by the computing device, the label for the determined significant location based on contextual data associated with the significant location comprises determining that the computing device has a dwell time at the determined significant location that is greater than a threshold dwell time.

3. The method of claim 1 , further comprising:

determining, based on the movement pattern, a physical activity performed by a user of the computing device at the significant location, wherein determining, by the computing device, the label for the determined significant location based on contextual data associated with the significant location comprises determining the label based on the physical activity.

4. The method of claim 1 , further comprising:

determining, by a pattern analyzer of the computing device, at least one of a daily, weekly, a monthly, or an annual movement pattern of computing device using sensor data of the computing device and a state model.

5. The method of claim 1 , further comprising:

receiving, by the location subsystem on the computing device, from an application executed by the computing device, a request for data associated with the significant location; and

in response to the request, providing the data associated with the significant location, wherein the data associated with the significant location includes the label for the significant location; and

displaying, by a map engine associated with the location subsystem, on behalf of the application and on the graphical interface displayed on the computing device, the label for the significant location at a location on the graphical interface.

6. The method of claim 1 , wherein determining the significant location of the computing device comprises:

obtaining, by the computing device, location information associated with the computing device; and

receiving, by the computing device, a plurality of points of interest associated with the location information, wherein each point of interest represents an entity at a location near the geographic location of the computing device, the geographic location included in the location information.

7. The method of claim 6 , wherein determining the label for the determined significant location based on contextual data associated with the significant location comprises:

determining, by the computing device and based on the contextual data associated with the points of interests, that one of the plurality of points of interest is the determined significant location; and

determining a label associated with the one of the plurality of points of interest as the label for the determined significant location.

8. A data processing system on a computing device, the system comprising:

a memory device;

one or more processors to execute instructions stored on the memory device, wherein the instructions cause the one or more processors to:

receive, from a location subsystem, location information at a geographic location for the computing device;

determine, by the computing device, that the geographic location of the computing device is associated with a significant location in a set of significant locations accessible on the computing device, wherein the significant location is a location having position coordinates inferred from clusters of position coordinates previously gathered by the computing device in response to a determination that the computing device dwelled at the location for a threshold amount of time;

determine, by the computing device, a label for the significant location based on analysis of contextual data for the significant location, the contextual data comprising a movement pattern for the computing device; and

display, on a graphical interface of the computing device, the label for the significant location.

9. The data processing system of claim 8 , wherein the movement pattern of the computing device comprises movement of the computing device between a plurality of significant locations, and

wherein to determine, by the computing device, the label for the determined significant location based on contextual data associated with the significant location comprises determining that the computing device has a dwell time at the determined significant location that is greater than a threshold dwell time.

10. The data processing system of claim 8 , wherein the instructions further cause the one or more processors to:

determine, based on the movement pattern, a physical activity performed by a user of the computing device at the significant location, wherein determining, by the computing device, the label for the determined significant location based on contextual data associated with the significant location comprises determining the label based on the physical activity.

11. The data processing system of claim 8 , wherein the instructions further cause the one or more processors to:

determine, by a pattern analyzer of the computing device, at least one of a daily, weekly, a monthly, or an annual movement pattern of computing device using sensor data of the computing device and a state model.

12. The data processing system of claim 8 , wherein the instructions further cause the one or more processors to:

receive, by the location subsystem on the computing device, from an application executed by the computing device, a request for data associated with the significant location; and

in response to the request, provide the data associated with the significant location, wherein the data associated with the significant location includes the label for the significant location; and

display, by a map engine associated with the location subsystem, on behalf of the application and on the graphical interface displayed on the computing device, the label for the significant location at a location on the graphical interface.

13. The data processing system of claim 8 , wherein the instructions further cause the one or more processors to:

obtain, by the computing device, location information associated with the computing device; and

receive, by the computing device, a plurality of points of interest associated with the location information, wherein each point of interest represents an entity at a location near the geographic location of the computing device, the geographic location included in the location information.

14. The data processing system of claim 13 , wherein to determine the label for the determined significant location based on contextual data associated with the significant location comprises:

determining, by the computing device and based on the contextual data associated with the points of interests, that one of the plurality of points of interest is the determined significant location; and

determining a label associated with the one of the plurality of points of interest as the label for the determined significant location.

15. A non-transitory machine-readable medium storing instructions which, when executed by one or more processors of a computing device, cause the one or more processors to perform operations comprising:

receiving, from a location subsystem, location information at a geographic location for the computing device;

determining, by the computing device, that the geographic location of the computing device is associated with a significant location in a set of significant locations accessible on the computing device, wherein the significant location is a location having position coordinates inferred from clusters of position coordinates previously gathered by the computing device in response to a determination that the computing device dwelled at the location for a threshold amount of time;

determining, by the computing device, a label for the significant location based on analysis of contextual data for the significant location, the contextual data comprising a movement pattern for the computing device; and

displaying, on a graphical interface of the computing device, the label for the significant location.

16. The non-transitory machine-readable medium of claim 15 , wherein the movement pattern of the computing device comprises movement of the computing device between a plurality of significant locations, and

wherein determining, by the computing device, the label for the determined significant location based on contextual data associated with the significant location comprises determining that the computing device has a dwell time at the determined significant location that is greater than a threshold dwell time.

17. The non-transitory machine-readable medium of claim 15 , the operations further comprising:

determining, based on the movement pattern, a physical activity performed by a user of the computing device at the significant location, wherein determining, by the computing device, the label for the determined significant location based on contextual data associated with the significant location comprises determining the label based on the physical activity.

18. The non-transitory machine-readable medium of claim 15 , the operations further comprising:

determining, by a pattern analyzer of the computing device, at least one of a daily, weekly, a monthly, or an annual movement pattern of computing device using sensor data of the computing device and a state model.

19. The non-transitory machine-readable medium of claim 15 , the operations further comprising:

receiving, by the location subsystem on the computing device, from an application executed by the computing device, a request for data associated with the significant location; and

in response to the request, providing the data associated with the significant location, wherein the data associated with the significant location includes the label for the significant location; and

displaying, by a map engine associated with the location subsystem, on behalf of the application and on a graphical interface displayed on the computing device, the label for the significant location at a location on the graphical interface.

20. The non-transitory machine-readable medium of claim 15 , the operations further comprising:

obtaining, by the computing device, location information associated with the computing device; and

receiving, by the computing device, a plurality of points of interest associated with the location information, wherein each point of interest represents an entity at a location near the geographic location of the computing device, the geographic location included in the location information.

Continuity (4)
Division 16989757 · Aug 10, 2020
Division 15272282 · Sep 21, 2016
Provisional Application 62348586 · Jun 10, 2016
Related Publication 20230110498A1 · Apr 13, 2023