Clustering location data to determine locations of interest
First Claim
1. A system for determining locations visited by a mobile device, comprising:
- one or more computing devices;
a database storing a plurality of location points, wherein each location point is associated with the mobile device;
an updater, implemented on the one or more computing devices, configured to;
receive a location point from the mobile device; and
store the location point in the database;
a query manager, implemented on the one or more computing devices, configured to;
receive a query for a plurality of location points associated with the mobile device; and
retrieve the plurality of location points associated with the mobile device from the database based on the query;
an analyzer, implemented on the one or more computing devices, configured to;
send a query to the query manager for the plurality of location points;
receive the plurality of location points from the query manager;
identify a first location point from the plurality of location points;
construct a time block from the first location point and one or more of the plurality of location points, wherein the time block indicates a period of time when the mobile device is in a determined location, and wherein the analyzer is further configured to construct a time block by;
iterating chronologically through the plurality of location points from the first location point to identify a second location point, wherein the second location point is identified based on a calculated score above a first score threshold or below a second score threshold, and wherein the first score threshold is higher than the second score threshold; and
including the second location point and each iterated location point between the first and second location points in the time block when the calculated score is above the first score threshold; and
calculate an aggregate location for the time block based on the plurality of location points in the time block; and
a consolidator, implemented on the one or more computing devices, configured to apply a spatial clustering procedure to transform the aggregate locations of one or more time blocks into one or more locations of interest.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for determining locations visited by a mobile device. In an embodiment, a first location point is identified from a plurality of location points associated with the mobile device. The first location point may be combined with one or more of the plurality of location points to construct a time block. A time block may indicate a continuous period of time when the mobile device is in the same location. An aggregate location is calculated for the time block based on the plurality of points in the time block. One or more time blocks may be grouped based on the aggregate location of each time block, and a spatial clustering procedure is applied to transform the aggregate locations of time blocks in the group into one or more locations of interest.
39 Citations
24 Claims
-
1. A system for determining locations visited by a mobile device, comprising:
-
one or more computing devices; a database storing a plurality of location points, wherein each location point is associated with the mobile device; an updater, implemented on the one or more computing devices, configured to; receive a location point from the mobile device; and store the location point in the database; a query manager, implemented on the one or more computing devices, configured to; receive a query for a plurality of location points associated with the mobile device; and retrieve the plurality of location points associated with the mobile device from the database based on the query; an analyzer, implemented on the one or more computing devices, configured to; send a query to the query manager for the plurality of location points; receive the plurality of location points from the query manager; identify a first location point from the plurality of location points; construct a time block from the first location point and one or more of the plurality of location points, wherein the time block indicates a period of time when the mobile device is in a determined location, and wherein the analyzer is further configured to construct a time block by; iterating chronologically through the plurality of location points from the first location point to identify a second location point, wherein the second location point is identified based on a calculated score above a first score threshold or below a second score threshold, and wherein the first score threshold is higher than the second score threshold; and including the second location point and each iterated location point between the first and second location points in the time block when the calculated score is above the first score threshold; and calculate an aggregate location for the time block based on the plurality of location points in the time block; and a consolidator, implemented on the one or more computing devices, configured to apply a spatial clustering procedure to transform the aggregate locations of one or more time blocks into one or more locations of interest. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for determining locations visited by a mobile device, comprising:
-
identifying a first location point from a plurality of location points associated with the mobile device; constructing a time block from the first location point and one or more of the plurality of location points, wherein the time block indicates a period of time when the mobile device is in a determined location, and wherein constructing the time block further comprises; iterating chronologically through the plurality of location points from the first location point to identify a second location point, wherein the second location point is identified based on a calculated score above a first score threshold or below a second score threshold, and wherein the first score threshold is higher than the second score threshold; and including the second location point and each iterated location point between the first and second location points in the time block when the calculated score is above the first score threshold; calculating an aggregate location for the time block based on the plurality of location points in the time block; and applying a spatial clustering procedure to transform the aggregate locations of one or more time blocks into one or more locations of interest. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A non-transitory computer-readable storage device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:
-
identifying a first location point from a plurality of location points associated with a mobile device; constructing a time block from the first location point and one or more of the plurality of location points, wherein the time block indicates a period of time when the mobile device is in a determined location, and wherein constructing the time block further comprises; iterating chronologically through the plurality of location points from the first location point to identify a second location point, wherein the second location point is identified based on a calculated score above a first score threshold or below a second score threshold, and wherein the first score threshold is higher than the second score threshold; and including the second location point and each iterated location point between the first and second location points in the time block when the calculated score is above the first score threshold; calculating an aggregate location for the time block based on the plurality of location points in the time block; and applying a spatial clustering procedure to transform the aggregate locations of one or more time blocks into one or more locations of interest.
-
Specification