IP Library Granted Patent US 11,487,830
Granted Patent B2
US 11,487,830 · App. 16/294,361 · Granted Nov 1, 2022

Indicating location status

Inventors: Daisuke Ikeda (Tokyo, JP); Ryoichi Imaizumi (Tokyo, JP); Kaleigh S. Smith (New York, NY); Keiji Maekawa (Tokyo, JP)
Assignee: GOOGLE LLC
G06F16/9535G06F16/248G06F16/24575G06F16/24578G06F16/29G06F16/9537
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 11,487,830
App. No.
16/294,361
Granted
Nov 1, 2022
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for indicating location status. A computing device can receive a query from a user device, a current time, and a location for the user device. The computing device identifies results responsive to the query, including one or more business results that are each associated with a business location and operating hours. The computing device can select a subset of the business results as open results based on the operating hours of the business results, the current time, and travel times from the device location to the respective business locations. Data can be provided for a search engine results page that designates the subset of the business results as open results.

Claims (79)

1. A method implemented by one or more processors, the method comprising:

processing, at one or more server devices, a user input that is initialized via a graphical user interface of a computing device, wherein the user input indicates that a user has opted to share location information corresponding to the computing device;

determining, subsequent to processing the user input that is initialized via the graphical user interface of the computing device, a stored travel itinerary of the user,

wherein the stored travel itinerary is determined using the shared location information and,

wherein the stored travel itinerary indicates a current location of the user and an expected location of the user;

subsequent to determining the stored travel itinerary of the user:

identifying an additional location corresponding to an additional input received at the one or more server devices,

wherein the additional input is received from an additional computing device of a separate user while the separate user is located at the additional location;

determining, based on identifying the additional location, a route between the current location of the user and the additional location, wherein the route is determined based on the current location of the user, the additional location, and map data that is accessible to the one or more server devices;

determining, based on the route between the current location of the user and the additional location, an estimated time of arrival of the user to the additional location; and

causing, at least partially based on determining the estimated time of arrival of the user to the additional location, the graphical user interface of the computing device to render an address corresponding to the additional location.

2. The method of claim 1 , wherein the address is based on data from the separate user that is located at the additional location and has opted to share GPS (Global Positioning System) coordinates while the separate user is at the additional location.

3. The method of claim 1 , wherein identifying the additional location includes:

accessing location data for multiple different computing devices and timestamps corresponding to the location data, and

selecting the additional location based on the location data and the timestamps.

4. The method of claim 3 , wherein identifying the additional location further includes:

determining whether the location data for the multiple different computing devices include overlapping data, wherein selecting the additional location is further based on whether the location data includes overlapping data.

5. The method of claim 1 , wherein determining the estimated time of arrival of the user to the additional location includes:

accessing traffic data characterizing current traffic conditions and/or expected traffic conditions associated with the route between the current location of the user and the additional location, wherein the estimated time of arrival is at least partially based on the traffic data.

6. The method of claim 1 ,

wherein identifying the additional location includes identifying multiple different locations based on the additional input, and

wherein determining the route between the current location of the user and the additional location includes determining routes between the current location and the multiple different locations.

7. The method of claim 6 , further comprising:

subsequent to determining the stored travel itinerary of the user:

comparing the routes to the stored travel itinerary of the user,

wherein causing the graphical user interface of the computing device to render the address corresponding to the additional location is based on comparing the routes to the stored travel itinerary of the user.

8. A non-transitory computer readable storage medium configured to store instructions that, when executed by one or more processors, cause the one or more processors to perform operations that include:

processing, at one or more server devices, a user input that is initialized via a graphical user interface of a computing device, wherein the user input indicates that a user has opted to share location information corresponding to the computing device;

determining, subsequent to processing the user input that is initialized via the graphical user interface of the computing device, a stored travel itinerary of the user,

wherein the stored travel itinerary is determined using the shared location information and,

wherein the stored travel itinerary indicates a current location of the user and an expected location of the user;

subsequent to determining the stored travel itinerary of the user:

identifying an additional location corresponding to additional input received at the one or more server devices,

wherein the additional input is received from an additional computing device of a separate user while the separate user is located at the additional location;

determining, based on identifying the additional location, a route between the current location of the user and the additional location, wherein the route is determined based on the current location of the user, the additional location, and map data that is accessible to the one or more server devices;

determining, based on the route between the current location of the user and the additional location, an estimated time of arrival of the user to the additional location; and

causing, at least partially based on determining the estimated time of arrival of the user to the additional location, the graphical user interface of the computing device to render an address corresponding to the additional location.

9. The non-transitory computer readable storage medium of claim 8 , wherein the address is based on data from the separate user that is located at the additional location and has opted to share GPS (Global Positioning System) coordinates while the separate user is at the additional location.

10. The non-transitory computer readable storage medium of claim 8 , wherein identifying the additional location includes:

accessing location data for multiple different computing devices and timestamps corresponding to the location data, and

selecting the additional location based on the location data and the timestamps.

11. The non-transitory computer readable storage medium of claim 10 , wherein identifying the additional location further includes:

determining whether the location data for the multiple different computing devices include overlapping data, wherein selecting the additional location is further based on whether the location data includes overlapping data.

12. The non-transitory computer readable storage medium of claim 8 , wherein determining the estimated time of arrival of the user to the ether additional location includes:

accessing traffic data characterizing current traffic conditions and/or expected traffic conditions associated with the route between the current location of the user and the additional location, wherein the estimated time of arrival is at least partially based on the traffic data.

13. The non-transitory computer readable storage medium of claim 8 ,

wherein identifying the additional location includes identifying multiple different locations based on the additional input, and

wherein determining the route between the current location of the user and the additional location includes determining routes between the current location and the multiple different locations.

14. The non-transitory computer readable storage medium of claim 13 , wherein the operations further include:

subsequent to determining the stored travel itinerary of the user:

comparing the routes to the stored travel itinerary of the user,

wherein causing the graphical user interface of the computing device to render the address corresponding to the additional location is based on comparing the routes to the stored travel itinerary of the user.

15. A system, comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations that include:

processing, at one or more server devices, a user input that is initialized via a graphical user interface of a computing device, wherein the user input indicates that a user has opted to share location information corresponding to the computing device;

determining, subsequent to processing the user input that is initialized via the graphical user interface of the computing device, a stored travel itinerary of the user,

wherein the stored travel itinerary is determined using the shared location information and,

wherein the stored travel itinerary indicates a current location of the user and an expected location of the user;

subsequent to determining the stored travel itinerary of the user:

identifying an additional location corresponding to an additional input received at the one or more server devices,

wherein the additional input is received from an additional computing device of a separate user while the separate user is located at the additional location;

determining, based on identifying the additional location, a route between the current location of the user and the additional location, wherein the route is determined based on the current location of the user, the additional location, and map data that is accessible to the one or more server devices;

determining, based on the route between the current location of the user and the additional location, an estimated time of arrival of the user to the ether additional location; and

causing, at least partially based on determining the estimated time of arrival of the user to the additional location, the graphical user interface of the computing device to render an address corresponding to the additional location.

16. The system of claim 15 , wherein identifying the additional location includes:

accessing location data for multiple different computing devices and timestamps corresponding to the location data, and

selecting the additional location based on the location data and the timestamps.

17. The system of claim 16 , wherein identifying the ether additional location further includes:

determining whether the location data for the multiple different computing devices include overlapping data, wherein selecting the additional location is further based on whether the location data includes overlapping data.

18. The system of claim 15 , wherein determining the estimated time of arrival of the user to the additional location includes:

accessing traffic data characterizing current traffic conditions and/or expected traffic conditions associated with the route between the current location of the user and the additional location, wherein the estimated time of arrival is at least partially based on the traffic data.

19. The system of claim 15 ,

wherein identifying the additional location includes identifying multiple different locations based on the additional input, and

wherein determining the route between the current location of the user and the additional location includes determining routes between the current location and the multiple different locations.

20. The system of claim 19 , wherein the operations further include:

subsequent to determining the stored travel itinerary of the user:

comparing the routes to the stored travel itinerary of the user,

wherein causing the graphical user interface of the computing device to render the address corresponding to the ether additional location is based on comparing the routes to the stored travel itinerary of the user.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2019
From: IKEDA, DAISUKE; IMAIZUMI, RYOICHI; MAEKAWA, KEIJI; SMITH, KALEIGH S.
To: GOOGLE INC.
Reel/Frame 048550/0243 →
CHANGE OF NAME Recorded Mar 8, 2019
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 048550/0349 →
Continuity (5)
Continuation 15631102 · Jun 23, 2017
Continuation 15254604 · Sep 1, 2016
Continuation 13658933 · Oct 24, 2012
Provisional Application 61551828 · Oct 26, 2011
Related Publication 20190205351A1 · Jul 4, 2019
Cited By (1)
US 12,332,957