IP Library Granted Patent US 9,094,795
Granted Patent B2
US 9,094,795 · App. 13/760,852 · Granted Jul 28, 2015

Routine estimation

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,094,795
App. No.
13/760,852
Granted
Jul 28, 2015
Kind
B2
Abstract

In one embodiment, a method includes determining a geo-location centroid of each of one or more geo-location clusters. The geo-location centroid corresponds to one or more geo-location data points within its geo-location cluster. The geo-location data points represent one or more location readings from a mobile computing device associated with a user. The geo-location centroids are based at least in part on location readings obtained during a particular time of day of a particular day of a week. The method also includes grouping one or more geo-location centroids into one or more groups; and determining a time-based routine based at least in part on a number of geo-location centroids within each group.

Claims (35)

1. A method comprising:

by a computing device, determining a geo-location centroid of each of one or more geo-location clusters based on a distance between the geo-location centroid and each of one or more geo-location data points within each geo-location cluster, the geo-location centroid representing a center of the one or more-geo-location data points within its geo-location cluster, the geo-location data points representing one or more location readings from a mobile computing device associated with a user, the geo-location centroids being based at least in part on location readings obtained during a particular time of day of a particular day of a week;

by the computing device, determining a routine center of one or more geo-location centroids based on a distance between each geo-location centroid and each routine center, each routine center representing a center of one or more geo-location centroids of the particular time of the particular day of the week;

by the computing device, determining a time-based routine of the particular day of the week based at least in part on a number of routine centers of each particular time of day of the particular day of the week, the time-based routine comprising a pattern of a plurality of routine centers of a plurality of times of the day of the particular day of the week; and

by the computing device, adjusting a frequency of polling of location readings from the mobile device based on the determined time-based routine.

2. The method claim 1 , wherein the grouping of the geo-location centroids comprises:

by the computing device, updating a geo-location of the routine center of each group to a center of the geo-location centroids within its group; and

by the computing device, re-grouping the geo-location centroids based at least in part on the updated geo-location of each routine center.

3. The method of claim 2 , further comprising by the computing device, performing the updating of the geo-location of the routine center and the regrouping of the geo-location centroids a pre-determined number of times.

4. The method of claim 1 , wherein the determination of the time-based routine comprises by the computing device, determining a most probable routine center based at least in part on determining a group having a highest number of geo-location centroids, the most probable routine center being associated with a particular time of day of a pre-determined day of the week.

5. The method of claim 4 , wherein the determination of the time-based routine comprises by the computing device, overlaying a plurality of most probable routine centers.

6. The method of claim 1 , further comprising by the computing device, adding a subsequent geo-location centroid to a particular group in response to a distance between the subsequent geo-location centroid and the routine center of the particular group being less than a pre-determined threshold value.

7. The method of claim 1 , wherein grouping the geo-location centroids comprises by the computing device, placing each geo-location centroid with a particular group based at least in part on a distance between each geo-location centroid and the routine center of the particular group being less than a pre-determined threshold value.

8. The method of claim 1 , wherein grouping the geo-location centroids is performed on location readings obtained over a pre-determined period of time.

9. One or more computer-readable non-transitory storage media embodying software configured when executed to:

determine a geo-location centroid of each of one or more geo-location clusters based on a distance between the geo-location centroid and each of one or more geo-location data points within each geo-location cluster, the geo-location centroid representing a center of the one or more-geo-location data points within its geo-location cluster, the geo-location data points representing one or more location readings from a mobile computing device associated with a user, the geo-location centroids being based at least in part on location readings obtained during a particular time of day of a particular day of a week;

determine a routine center of one or more geo-location centroids based on a distance between each geo-location centroid and each routine center, each routine center representing a center of one or more geo-location centroids of the particular time of the particular day of the week;

determine a time-based routine of the particular day of the week based at least in part on a number of routine centers of each particular time of day of the particular day of the week, the time-based routine comprising a pattern of a plurality of routine centers of a plurality of times of the day of the particular day of the week; and

adjust a frequency of polling of location readings from the mobile device based on the determined time-based routine.

10. The media of claim 9 , wherein the software is further configured to:

update a geo-location of the routine center of each group to a center of the geo-location centroids within its group; and

re-group the geo-location centroids based at least in part on the updated geo-location of each routine center.

11. The media of claim 10 , wherein the software is further configured perform the updating of the geo-location of the routine center and the regrouping of the geo-location centroids a pre-determined number of times.

12. The media of claim 9 , wherein the software is further configured to determine a most probable routine center based at least in part on determining a group having a highest number of geo-location centroids, the most probable routine center being associated with a particular time of day of a pre-determined day of the week.

13. The media of claim 12 , wherein the software is further configured to overlay a plurality of most probable routine centers.

14. The media of claim 9 , wherein the software is further configured to add a subsequent geo-location centroid to a particular group in response to a distance between the subsequent geo-location centroid and the routine center of the particular group being less than a pre-determined threshold value.

15. The media of claim 9 , wherein the software is further configured to place each geo-location centroid with a particular group based at least in part on a distance between each geo-location centroid and the routine center of the particular group being less than a pre-determined threshold value.

16. The media of claim 9 , wherein the geo-location centroids are based at least in part on location readings obtained over a pre-determined period of time.

17. A device comprising:

one or more processors; and

one or more computer-readable non-transitory storage media coupled to the processors and embodying software configured when executed to:

determine a geo-location centroid of each of one or more geo-location clusters based on a distance between the geo-location centroid and each of one or more geo-location data points within each geo-location cluster, the geo-location centroid representing a center of the one or more-geo-location data points within its geo-location cluster, the geo-location data points representing one or more location readings from a mobile computing device associated with a user, the geo-location centroids being based at least in part on location readings obtained during a particular time of day of a particular day of a week;

determine a routine center of one or more geo-location centroids based on a distance between each geo-location centroid and each routine center, each routine center representing a center of one or more geo-location centroids of the particular time of the particular day of the week;

determine a time-based routine of the particular day of the week based at least in part on a number of routine centers of each particular time of day of the particular day of the week, the time-based routine comprising a pattern of a plurality of routine centers of a plurality of times of the day of the particular day of the week; and

adjust a frequency of polling of location readings from the mobile device based on the determined time-based routine.

Assignments (1)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →