IP Library Patent Application 14060357
Patent Application
App. No. 14/060,357

POINT-OF-INTEREST LATENCY PREDICTION USING MOBILE DEVICE LOCATION HISTORY

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 None
App. No.
14/060,357
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.

Claims (45)

1 . A computer-implemented method for generating a shopping route, comprising:

receiving, by one or more computing devices, a shopping list from a first user computing device, wherein the shopping list comprises a plurality of products;

determining, by the one or more computing devices, a location of the first user computing device relative to a location of a plurality of merchants offering the plurality of products for sale;

receiving, by the one or more computing devices, fine-grained location data from a plurality of second user devices, wherein the fine-grained location data comprises information indicating geographical locations of the second user devices at particular times;

determining, by the one or more computing devices and based on the received fine-grained location data, a first geographical location and a second geographical location for at least a portion of the second user devices, wherein the first geographical location corresponds to a first time when a particular second user device arrives at a queue associated with a particular merchant and the second geographical location corresponds to a second time when the particular second user devices leaves the queue associated with the particular merchant;

determining, by the one or more computing devices and for two or more merchant locations offering the products for sale, a latency period, wherein the latency period for each particular merchant location is a function of the amount of time that elapses between the determined first time when the particular second user device arrives at the queue associated with a particular merchant and the determined second time when the particular second user devices leaves the queue associated with the particular merchant;

in response to determining the latency period for the two or more merchant locations offering the products for sale, comparing, by the one or more computing devices, the determined latency periods, wherein the comparison results in the identification of one or more merchant locations with shorter in-queue wait times; and

determining, by the one or more computing devices and based on the determined latency period for each of the two or more determined merchant locations, a shopping route for the first user to obtain the products on the shopping list, wherein the shopping route includes at least a portion of the identified merchant locations with shorter in-queue wait times and results in a shortened total time period for the user to obtain the plurality of products on the shopping list from the merchant locations offering the products for sale.

2 . The method of claim 1 , further comprising providing, by the one or more computing devices, the shopping route to the first user computing device.

3 . The method of claim 1 , wherein determining the location of the first user computing device relative to the location of a plurality of merchants offering the plurality of products for sale comprises determining, by the one or more computing devices, merchant locations that are near the user device.

4 . The method of claim 3 , wherein merchant locations that are near the first user computing device comprise merchant locations that are within a defined radius encompassing the user first computing device.

5 . The method of claim 3 , wherein one or more of the merchant locations near the first user computer device are identified by the first user.

6 . The method of claim 1 , further comprising determining, by the one or more computing devices, a departure time for the first user to begin the shopping route.

7 . The method of claim 1 , wherein determining a shopping route for the first user to obtain the products on the shopping list comprises determining, by the one or more computing devices, a travel time associated with each of the merchant locations identified in the shopping route.

8 . The method of claim 7 , wherein the shortened total time period for the first user to obtain the plurality of products on the shopping list is determined based on the travel time associated with each of the merchant locations and the latency period for each of the identified merchant locations of the shopping route.

9 . The method of claim 1 , further comprising receiving, by the one or more computing devices, an indication that the first user has purchased one or more of the products on the shopping list.

10 . A system for generating a shopping route, 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 a shopping list from a first user computing device, wherein the shopping list comprises a plurality of products;

receive an origination location from the first user computing device, wherein the origination location corresponds to a location for beginning the shopping route;

determine a location of a plurality of merchants offering the plurality of products for sale relative to the origination location;

receive fine-grained location data from a plurality of second user devices, wherein the fine-grained location data comprises information indicating geographical locations of the second user devices at particular times;

determine, based on the received fine-grained location data, a first geographical location and a second geographical location for at least a portion of the second user devices, wherein the first geographical location corresponds to a first time when a particular second user device arrives at a queue associated with a particular merchant and the second geographical location corresponds to a second time when the particular second user devices leaves the queue associated with the particular merchant;

determine, for two or more merchant locations offering the products for sale, a latency period, wherein the latency period for each particular merchant location is a function of the amount of time that elapses between the determined first time when the particular second user device arrives at the queue associated with a particular merchant and the determined second time when the particular second user devices leaves the queue associated with the particular merchant;

compare, in response to determining the latency period for the two or more determined merchant locations offering the products for sale, the determined latency periods, wherein the comparison results in the identification of one or more merchant locations with shorter in-queue wait times; and

determine, based on the determined latency period for each of the two or more determined merchant locations, a shopping route for the first user to obtain the products on the shopping list, wherein the shopping route includes at least a portion of the identified merchant locations with shorter in-queue wait times and results in a shortened total time period for the first user to obtain the plurality of products on the shopping list from the merchant locations offering the products for sale.

11 . The system of claim 10 , wherein determining a location of a plurality of merchants offering the plurality of products for sale relative to the origination location comprises determining, by the one or more computing devices, merchant locations that are near the origination location.

12 . The system of claim 11 , wherein merchant locations that are near the origination location comprise merchant locations that are within a defined radius encompassing the origination location.

13 . The system of claim 11 , wherein one or more of the merchant locations near the origination location are identified by the first user.

14 . The system of claim 10 , further comprising determining, by the one or more computing devices, a departure time for the first user to begin the shopping route.

15 . The system of claim 10 , wherein determining a shopping route for the first user to obtain the products on the shopping list comprises determining, by the one or more computing devices, the travel time associated with each of the merchant locations identified in the shopping route.

16 . A computer program product, comprising:

a non-transitory computer-readable storage device having computer-executable program instructions embodied thereon that when executed by a computer cause the computer to determine a shopping route, the computer-executable program instructions comprising:

computer-executable program instructions to receive a shopping list from a first user computing device of a first user, wherein the shopping list comprises a plurality of products;

computer-executable program instructions to determine a location of the first user computing device relative to a location of a plurality of merchants offering the plurality of products for sale;

computer-executable program instructions to receive fine-grained location data from a plurality of second user devices wherein the fine-grained location data comprises information indicating geographical locations of the second user devices at particular times;

computer-executable program instructions to determine, based on the received fine-grained location data, a first geographical location and a second geographical location for at least a portion of the second user devices, wherein the first geographical location corresponds to a first time when a particular second user device arrives at a queue associated with a particular merchant and the second geographical location corresponds to a second time when the particular second user devices leaves the queue associated with the particular merchant;

determine, for two or more merchant locations offering the products for sale, a latency period, wherein the latency period for each particular merchant location is a function of the amount of time that elapses between the determined first time when the particular second user device arrives at the queue associated with a particular merchant and the determined second time when the particular second user devices leaves the queue associated with the particular merchant;

computer-executable program instructions to compare, in response to determining the latency period for the two or more determined merchant locations offering the products for sale, the determined latency periods, wherein the comparison results in the identification of one or more merchant locations with shorter in-queue wait times;

computer-executable program instructions to determine, based on the determined latency period for each of the two or more determined merchant locations, a shopping route for the first user to obtain the products on the shopping list, wherein the shopping route includes at least a portion of the identified merchant locations with shorter in-queue wait times and results in a shortened total time period for the first user to obtain the plurality of products on the shopping list from the merchant locations offering the products for sale.

17 . The computer program product of claim 16 , wherein determining the location of the first user computing device relative to the location of a plurality of merchants offering the plurality of products for sale comprises determining, by the one or more computing devices, merchant locations that are near the first user device.

18 . The computer program product of claim 16 , wherein determining a shopping route for the first user to obtain the products on the shopping list comprises determining the travel time associated with each of the merchant locations identified in the shopping route.

19 . The computer program product of claim 18 , wherein the shortened total time period for the first user to obtain the plurality of products on the shopping list is determined based on the travel time associated with each of the merchant locations and the latency period for each of the identified merchant locations of the shopping route.

20 . The computer program product of claim 16 , further comprising receiving a preferred mode of transportation from the first user computing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2013
From: JACKSON, DEAN KENNETH; KLEIN, DANIEL VICTOR
To: GOOGLE INC.
Reel/Frame 031463/0293 →