IP Library Granted Patent US 9,344,852
Granted Patent B2
US 9,344,852 · App. 14/281,406 · Granted May 17, 2016

Labeling visited locations based on contact information

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 9,344,852
App. No.
14/281,406
Granted
May 17, 2016
Kind
B2
Abstract

The systems and techniques disclosed herein provide the ability to determine locations visited by a user and associate relevant location labels with the locations visited based on contact information. In some examples, a location label can be applied based on a match between a location visited and information stored in a user's contact list. In other examples, a user can efficiently designate a contact and location label to be associated with a location visited. In still other examples, if a location visited by a user is not listed in the user's contact list, but is otherwise known to the system, the location visited can be appropriately labeled and the corresponding contact in the user's contact list can be updated to include the location visited.

Claims (53)

1. A method comprising:

collecting, by a computing device, location history data associated with a user;

determining, by the computing device, based at least in part on the location history data, a geographic position visited by the user;

determining, by the computing device, whether the geographic position visited by the user corresponds to a location included in a contact list entry included in a contact list associated with the user;

retrieving, by the computing device, an indication of a contact name included in the contact list entry and a location label included in the contract list entry; and

associating, by the computing device, the geographic position visited by the user, the contact name included in the contact list entry, and the location label included in the contact list entry.

2. The method of claim 1 , wherein the location label comprises additional context for the geographic position visited by the user.

3. The method of claim 1 , wherein collecting, by the computing device, location history data associated with the user comprises receiving, from each of one or more mobile computing devices associated with the user, respective portions of the location history data associated with the user.

4. The method of claim 1 , wherein determining the geographic position visited by the user comprises calculating, by the computing device, a geographic center for a cluster of location history data points from the location history data and an accuracy radius for the geographic center.

5. The method of claim 4 , wherein determining whether the geographic position visited by the user corresponds to the location included in the contact list associated with the user comprises determining whether the location included in the contact list associate with the user lies within the accuracy radius.

6. The method of claim 5 , wherein

determining whether the geographic position visited by the user corresponds to the location included in the contact list associated with the user comprises determining that the geographic position visited by the user corresponds to more than one location included in the contact list associated with the user, and

further comprising:

outputting, by the computing device, the more than one location included in the contact list to prompt the user to select a correct contact list entry for the geographic location visited by the user; and

receiving, by the computing device, an indication of the correct contact list entry, and

wherein

associating the geographic position visited by the user, the contact name included in the contact list entry, and the location label included in the contact list entry comprises associating the geographic position visited by the user, the contact name included the correct contact list entry, and the location label included in the correct contact list entry.

7. The method of claim 1 , wherein

the location included in the contact list comprises at least one street address, and

determining whether the geographic position visited by the user corresponds to the location included in the contact list associated with the user comprises detecting an at least partial match between at least one street address and the geographic position visited by the user.

8. The method of claim 1 , wherein

the location history data comprises a plurality of location history data points, each location history data point specifying a respective geographic point, a respective time associated with the respective geographic point, and a respective date associated with the respective geographic point; and

determining the geographic position visited by the user comprises:

filtering, by the computing device, the plurality of location history data points based at least in part on the respective times and the respective dates specified by each respective location history data point from the plurality of location history data points to generate filtered location history data comprising a cluster of location history data points; and

calculating, by the computing device, a geographic center and an accuracy radius for the cluster of location history data points from the filtered location history data, wherein the geographic center and the accuracy radius together define a geographic position visited by the user.

9. The method of claim 8 , wherein determining whether the geographic position visited by the user corresponds to the location included in the contact list associated with the user comprises determining whether the location included in the contact list associate with the user lies within the accuracy radius.

10. The method of claim 1 , further comprising outputting, by the computing device, an indication of the contact list entry including the location label.

11. A system comprising:

one or more processors configured to:

collect location history data associated with a user;

determine, based at least in part on the location history data, a geographic position visited by the user;

determine whether the geographic position visited by the user corresponds to a location included in a contact list entry included in a contact list associated with the user;

retrieve an indication of a contact name included in the contact list entry and a location label included in the contact list entry; and

associate the geographic position visited by the user, the contact name included in the contact list entry, and the location label included in the contact list entry.

12. The system of claim 11 , wherein the location label comprises additional context for the geographic position visited by the user.

13. The system of claim 11 , wherein the one or more processors are configured to collect respective portions of the location history data associated with the user from each of one or more mobile computing devices associated with the user.

14. The system of claim 11 , wherein the one or more processors are configured to determine the geographic position visited by the user by at least calculating a geographic center for a cluster of location history data points from the location history data and an accuracy radius for the geographic center.

15. The system of claim 14 , wherein the one or more processors are configured to determine whether the geographic position visited by the user corresponds to the location included in the contact list associated with the user by at least determining whether the location included in the contact list associate with the user lies within the accuracy radius.

16. The system of claim 15 , wherein the one or more processors are configured to

determine whether the geographic position visited by the user corresponds to the location included in the contact list associated with the user by at least determining that the geographic position visited by the user corresponds to more than one location included in the contact list associated with the user, and

output the more than one location included in the contact list to prompt the user to select a correct contact list entry for the geographic position visited by the user;

receive an indication of the correct contact list entry; and

associate the geographic position visited by the user, the contact name included in the contact list entry, and the location label included in the contact list entry by at least associating the geographic position visited by the user, the contact name included in the correct contact list entry, and the location label included in the correct contact list entry.

17. The system of claim 11 , wherein

the location included in the contact list comprises at least one street address, and

the one or more processors are configured to determine whether the geographic position visited by the user corresponds to the location included in the contact list associated with the user by at least detecting an at least partial match between the at least one street address and the geographic position visited by the user.

18. The system of claim 11 , wherein

the location history data comprises a plurality of location history data points, each location history data point specifying a respective geographic point, a respective time associated with the respective geographic point, and a respective date associated with the respective geographic point; and

the one or more processors are configured to determine the geographic position visited by the user by at least:

filtering, by the computing device, the plurality of location history data points based at least in part on the respective times and the respective dates specified by each respective location history data point from the plurality of location history data points to generate filtered location history data comprising a cluster of location history data points; and

calculating, by the computing device, a geographic center and an accuracy radius for the cluster of location history data points from the filtered location history data, wherein the geographic center and the accuracy radius together define a geographic position visited by the user.

19. The system of claim 18 , wherein the one or more processor are configured to determine whether the geographic position visited by the user corresponds to the location included in the contact list associated with the user by at least determining whether the location included in the contact list associate with the user lies within the accuracy radius.

20. The system of claim 11 , wherein the one or more processors are further configured to output an indication of the contact list entry including the location label.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2016
From: HAWKINS, DALE; STAMM, THOMAS C.; KIRMSE, ANDREW; UDESHI, TUSHAR
To: GOOGLE INC.
Reel/Frame 037598/0846 →