Point-of-interest latency prediction using mobile device location history
First Claim
1. A computer-implemented method for latency determination for points-of-interest, comprising:
- receiving, by one or more computing devices, location history for a plurality of user computing devices, wherein the location history comprises information identifying a plurality of locations for each of the plurality of user computing devices and a time corresponding to when each of the plurality of user computing devices was at each location;
identifying, by the one or more computing devices, a location of a queue associated with a first point-of-interest from the location history received from the plurality of user computing devices based on a match of the location for at least a portion of the plurality of the user computing devices, wherein the location of the queue comprises a particular area at a location of the first point-of-interest;
determining, by the one or more computing devices and for one or more of the plurality of the user computing devices having a location corresponding to the location of the first point-of-interest, a first time associated with the user computing device arriving at the location of the queue associated with the first point-of-interest and a second time associated with the user computing device leaving the location of the queue associated with the first point-of-interest, wherein the arriving at the location of the queue and the leaving the location of the queue is determined based on fine-grain location data for the one or more of the plurality of the user computing devices having a location corresponding to the location of the first point-of-interest;
comparing, by the one or more computing devices and for one or more of the user computing devices arriving at the location of the queue associated with the first point-of-interest and leaving the location of the queue associated with the first point-of-interest, the determined first time to the determined second time to determine a latency interval at the first point-of-interest;
determining, by the one or more computing devices, a latency period for the first point-of-interest, wherein the latency period is a function of a plurality of latency intervals for the first point-of-interest;
receiving, by the one or more computing devices, a request from a particular user computing device for a route comprising a plurality of points-of-interest;
determining, by the one or more computing devices, one or more routes comprising at least two points of interest, wherein at least one of the one or more routes comprises the first point-of-interest and one or more second points of interest;
selecting, by the one or more computing devices, a particular route having a shortest time of the one or more routes, wherein the shortest time is based at least in part on the latency period of the first point-of-interest, and wherein the selected route comprises the first point-of-interest and one or more second points of interest; and
communicating, by the one or more computing devices, a response to the particular user computing device, wherein the response includes displaying the selected route on the particular user computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
A latency analysis system determines a latency period, such as a wait time, at a user destination. To determine the latency period, the latency analysis system receives location history from multiple user devices. With the location histories, the latency analysis system identifies points-of-interest that users have visited and determines the amount of time the user devices were at a point-of-interest. For example, the latency analysis system determines when a user device entered and exited a point-of-interest. Based on the elapsed time between entry and exit, the latency analysis system determines how long the user device was inside the point-of-interest. By averaging elapsed times for multiple user devices, the latency analysis system determines a latency period for the point-of-interest. The latency analysis system then uses the latency period to provide latency-based recommendations to a user. For example, the latency analysis system may determine a shopping route for a user.
27 Citations
19 Claims
-
1. A computer-implemented method for latency determination for points-of-interest, comprising:
-
receiving, by one or more computing devices, location history for a plurality of user computing devices, wherein the location history comprises information identifying a plurality of locations for each of the plurality of user computing devices and a time corresponding to when each of the plurality of user computing devices was at each location; identifying, by the one or more computing devices, a location of a queue associated with a first point-of-interest from the location history received from the plurality of user computing devices based on a match of the location for at least a portion of the plurality of the user computing devices, wherein the location of the queue comprises a particular area at a location of the first point-of-interest; determining, by the one or more computing devices and for one or more of the plurality of the user computing devices having a location corresponding to the location of the first point-of-interest, a first time associated with the user computing device arriving at the location of the queue associated with the first point-of-interest and a second time associated with the user computing device leaving the location of the queue associated with the first point-of-interest, wherein the arriving at the location of the queue and the leaving the location of the queue is determined based on fine-grain location data for the one or more of the plurality of the user computing devices having a location corresponding to the location of the first point-of-interest; comparing, by the one or more computing devices and for one or more of the user computing devices arriving at the location of the queue associated with the first point-of-interest and leaving the location of the queue associated with the first point-of-interest, the determined first time to the determined second time to determine a latency interval at the first point-of-interest; determining, by the one or more computing devices, a latency period for the first point-of-interest, wherein the latency period is a function of a plurality of latency intervals for the first point-of-interest; receiving, by the one or more computing devices, a request from a particular user computing device for a route comprising a plurality of points-of-interest; determining, by the one or more computing devices, one or more routes comprising at least two points of interest, wherein at least one of the one or more routes comprises the first point-of-interest and one or more second points of interest; selecting, by the one or more computing devices, a particular route having a shortest time of the one or more routes, wherein the shortest time is based at least in part on the latency period of the first point-of-interest, and wherein the selected route comprises the first point-of-interest and one or more second points of interest; and communicating, by the one or more computing devices, a response to the particular user computing device, wherein the response includes displaying the selected route on the particular user computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for latency period determination, comprising:
-
a storage device; a processor communicatively coupled to the storage device, wherein the processor executes application code instructions that are stored in the storage device to cause the system to; receive location history for a plurality of user computing devices, wherein the location history comprises information identifying a plurality of locations for each of the plurality of user computing devices and a time corresponding to when each of the plurality of user computing devices was at each location; identify a location of a queue associated with a first point-of-interest from the location history received from the plurality of user computing devices based on a match of the location for at least a portion of the plurality of the user computing devices, wherein the location of the queue comprises a particular area at a location of a first point-of-interest; determine, for one or more of the plurality of the user computing devices having a location corresponding to the location of the first point-of-interest, a first time associated with the user computing device arriving at the location of the queue associated with the first point-of-interest and a second time associated with the user computing device leaving the location of the queue associated with the first point-of-interest, wherein the arriving at the location of the queue and the leaving the location of the queue is determined based on fine-grain location data for the one or more of the plurality of the user computing devices having a location corresponding to the location of the first point-of-interest; and compare, for one or more of the user computing devices arriving at the location of the queue associated with the first point-of-interest and leaving the location of the queue associated with the first point-of-interest, the determined first time to the determined second time to determine a latency interval at the first point-of-interest; and determine, by the one or more of the user computing devices, a latency period for the first point-of-interest, wherein the latency period is a function of a plurality of latency intervals for the first point-of-interest; receive, by the one or more of the user computing devices, a request from a particular user computing device for a route comprising a plurality of points-of-interest; determine, by the one or more of the user computing devices, one or more routes comprising at least two points of interest, wherein at least one of the one or more routes comprises the first point-of-interest and one or more second points of interest; select, by the one or more user computing devices, a particular route having a shortest time of the one or more routes, wherein the shortest time is based at least in part on the latency period of the first point-of-interest, and wherein the selected route comprises the first point-of-interest and one or more second points of interest; and communicate, by the one or more user computing devices, a response to the particular user computing device, wherein the response includes displaying the selected route on the particular user computing device. - View Dependent Claims (12, 13, 14)
-
-
15. A non-transitory computer-readable storage medium having computer-executable program instructions embodied thereon that when executed by a computer cause the computer to determine a latency period for points-of-interest, the computer-executable program instructions comprising:
-
computer-executable program instructions to receive location history for a plurality of user computing devices, wherein the location history comprises information identifying a plurality of locations for each of the plurality of user computing devices and a time corresponding to when each of the plurality of user computing devices was at each location; computer-executable program instructions to identify a location of a queue associated with a first point-of-interest from the location history received from the plurality of user computing devices based on a match of the location for at least a portion of the plurality of the user computing devices, wherein the location of the queue comprises a particular area at a location of the first point-of-interest; computer-executable program instructions to determine, for one or more of the plurality of the user computing devices having a location corresponding to the location of the first point-of-interest, a first time associated with the user computing device arriving at the location of the queue associated with the first point-of-interest and a second time associated with the user computing device leaving the location of the queue associated with the first point-of-interest, wherein the arriving at the location of the queue and the leaving the location of the queue is determined based on fine-grain location data for the one or more of the plurality of the user computing devices having a location corresponding to the location of the first point-of-interest; computer-executable program instructions to compare, for one or more of the user computing devices arriving at the location of the queue associated with the first point-of-interest and leaving the location of the queue associated with the first point-of-interest, the determined first time to the determined second time to determine a latency interval at the first point-of-interest; computer-executable program instructions to determine a latency period for the first point-of-interest, wherein the latency period is a function of a plurality of latency intervals for the first point-of-interest; and computer-executable program instructions to receive, by the one or more of the plurality of the user computing devices, a request from a particular user computing device for a route comprising a plurality of points-of-interest; computer-executable program instructions to determine, by the one or more of the plurality of the user computing devices, one or more routes comprising at least two points of interest, wherein at least one of the one or more routes comprises the first point-of-interest and one or more second points of interest; computer-executable program instructions to select, by the one or more of the plurality of the user computing devices, a particular route having a shortest time of the one or more routes, wherein the shortest time is based at least in part on the latency period of the first point-of-interest, and wherein the selected route comprises the first point-of-interest and one or more second points of interest; and computer-executable program instructions to communicate by the one or more of the plurality of the user computing devices, a response to the particular user computing device, wherein the response includes displaying the selected route on the particular user computing device, wherein the response includes displaying the selected route on the particular user computing device. - View Dependent Claims (16, 17, 18, 19)
-
Specification