In one embodiment, a method includes accessing a log associated with a user. The log includes a number of entries that each indicate a geo-location of the user at a point in time. The log spans a period of time and some of the entries are based on a geo-location determined and reported by a mobile computing device of the user without manual user input. The method also includes determining a pattern among the geo-locations of the user at the points in time; and determining for some of the geo-locations of the user at the points in time, a place corresponding to the geo-location; and inferring by the computing device a routine of the user based at least in part the pattern and the places.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: by a computing device, accessing a log associated with a user, the log comprising a plurality of entries that each indicate a geo-location of the user at a particular time of day of a particular day of a week, each of at least some of the data points being based on a geo-location determined and reported by a mobile computing device of the user without manual user input; by the computing device, determining one or more geo-location centroids based on a distance between the respective geo-location centroid and each of the geo-location data points, wherein each geo-location centroid is representative of the plurality of geo-location data points obtained during the particular time of day of the particular day of a week; by the computing device, determining a place corresponding to each of the geo-location centroids, wherein the place corresponds to one or more particular activities; by the computing device, updating a social graph associated with the user with information associated with the activities; by the computing device, determining a spatial center of a plurality of geo-location centroids based on a distance between each geo-location centroid and its respective spatial center, each spatial center representing one or more of the plurality of 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 spatial 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 spatial centers of a plurality of times of the day of the particular day of the week; and by the computing device, determining a probability that the user will be at a particular spatial center at the particular time of day of the particular day of the week based at least in part on the number of geo-location centroids being represented by the particular spatial center.
2. The method of claim 1 , the method further comprising inferring by the computing device the user is employed at a particular business based at least in part on a number of entries corresponding to a geo-location of the particular business at past points of time corresponding to working hours.
3. The method of claim 1 , wherein the place comprises a residence, grocery store, restaurant, supermarket, sporting venue, landmark, freeway, movie theater, or place of employment.
4. The method of claim 3 , wherein the activity comprises working, patronizing, residing, attending an event, or visiting.
5. The method of claim 1 , wherein: the social graph comprises a plurality of nodes and edges connecting the nodes; and at least one node in the graph corresponding to the user.
6. One or more computer-readable non-transitory storage media storing computer-readable instructions which when executed by a processor device, cause to processor device to: access a log associated with a user, the log comprising a plurality of entries that each indicate a geo-location of the user at a particular time of day of a particular day of a week, each of at least some of the data points being based on a geo-location determined and reported by a mobile computing device of the user without manual user input; determine one or more geo-location centroids based on a distance between the respective geo-location centroid and each of the geo-location data points, wherein each geo-location centroid is representative of the plurality of geo-location data points obtained during the particular time of day of the particular day of a week: determine a place corresponding to each of the geo-location centroids, wherein the place corresponds to one or more particular activities; update a social graph associated with the user with information associated with the activities; determine a spatial center of a plurality of geo-location centroids based on a distance between each geo-location centroid and its respective spatial center, each spatial center representing one or more of the plurality of 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 spatial 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 spatial centers of a plurality of times of the day of the particular day of the week; and determine a probability that the user will be at a particular spatial center at the particular time of day of the particular day of the week based at least in part on the number of geo-location centroids being represented by the particular spatial center.
7. The media of claim 6 , comprising instructions to infer the user is employed at a particular business based at least in part on a number of entries corresponding to a geo-location of the particular business at past points of time corresponding to working hours.
8. The media of claim 6 , wherein the place comprises a residence, grocery store, restaurant, supermarket, sporting venue, landmark, freeway, movie theater, or place of employment.
9. The media of claim 8 , wherein the activity comprises working, patronizing, residing, attending an event, or visiting.
10. The media of claim 6 , wherein the social graph comprises a plurality of nodes and edges connecting the nodes; and at least one node in the graph corresponding to the user.
11. 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: access a log associated with a user, the log comprising a plurality of entries that each indicate a geo-location of the user at a particular time of day of a particular day of a week, each of at least some of the data points being based on a geo-location determined and reported by a mobile computing device of the user without manual user input; determine one or more geo-location centroids based on a distance between the respective geo-location centroid and each of the geo-location data points, wherein each geo-location centroid is representative of the plurality of geo-location data points obtained during the particular time of day of the particular day of a week; determine a place corresponding to each of the geo-location centroids, wherein the place corresponds to one or more particular activities; update a social graph associated with the user with information associated with the activities; determine a spatial center of a plurality of geo-location centroids based on a distance between each geo-location centroid and its respective spatial center, each spatial center representing one or more of the plurality of 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 spatial 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 spatial centers of a plurality of times of the day of the particular day of the week; and determine a probability that the user will be at a particular spatial center at the particular time of day of the particular day of the week based at least in part on the number of geo-location centroids being represented by the particular spatial center.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
February 6, 2013
August 9, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.