IP Library Granted Patent US 10,565,279
Granted Patent B2
US 10,565,279 · App. 15/286,553 · Granted Feb 18, 2020

Contextual search for location services

Inventors: Srihari Reddy (Sunnyvale, CA); Paul Mahon (Alameda, CA); Brent Hamby (Oakland, CA); Brandon Iles (Milpitas, CA); Aditya Sarawgi (San Francisco, CA); Will Salisbury (San Francisco, CA); Zach Song (San Ramon, CA); Juthika Dabholkar (San Francisco, CA)
Assignee: Uber Technologies, Inc.
G06F16/9537G06F16/2246G06F16/24575G06F16/24578G06F16/29G06F16/9535
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 10,565,279
App. No.
15/286,553
Granted
Feb 18, 2020
Kind
B2
Abstract

A travel coordination system identifies geographic locations responsive to a location search request. The geographic locations are organized into a plurality of hierarchical geohash levels, each geohash level mapping the geographic location into a geohash of a different area. The locations search request designates a search context for the search, such as whether the user is searching for an origin of a trip or a destination. The context of the search can be used to determine a geohash level for selecting candidate search results. The candidate search results may be scored based on the context using prior user selections and trips scheduled with the trip coordination system. A geohash and context associated with the user's request may be used to modify a scoring function of the candidate search results based on prior trips.

Claims (29)

1. A method comprising:

receiving a location search request from a client device specifying a search query;

identifying, for a search context and at each search level, a percentage of locations historically selected by users within a historical geohash corresponding to a historical request location at the geohash level;

selecting a geohash level from a plurality of hierarchical geohash levels, the selection being based on the percentage for that geohash level and the search context describing one or more parameters of the location search request, each level of the plurality of hierarchical geohash levels being associated with a different area size and a set of geohashes, each geohash being associated with geographic locations within a geographic area having the area size of the geohash level, the geographic locations indexed with respect to indices at multiple geohash levels;

identifying a set of candidate locations for the search query based on a first geohash for a location of the client device at the selected geohash level, the set of candidate locations determined from an index of the selected geohash level and the identified percentage of locations; and

providing the set of candidate locations to the client device.

2. The method of claim 1 , wherein a first geohash level associated with a first area size is selected when the search context indicates the location search request is for an origin of a trip, and a second geohash level associated with a second area size is selected when the search context indicates the location search request is for a destination of a trip, wherein the first area size is smaller than the second area size.

3. The method of claim 1 , wherein the geohash level is selected that has at least 90% of locations historically selected by users.

4. The method of claim 1 , wherein each geohash is associated with a search shingle identifying locations within the geohash and additional locations within a threshold distance of the geohash; and wherein the set of candidate locations are identified from the search shingle associated with the first geohash.

5. The method of claim 4 , wherein the threshold distance is a percentage of the area size of the geohash.

6. The method of claim 5 , wherein the percentage is 50%.

7. A method comprising:

receiving a location search request from a client device specifying a search query;

identifying a search context for the client device describing one or more parameters of the location search request;

identifying a user geohash corresponding to a location of the client device from a set of geohashes, each geohash being associated with geographic locations within a geographic area;

identifying a set of candidate locations for the search query;

determining a scoring function that assesses the probability of the user selecting a candidate location based at least in part on the distance of the user geohash to the candidate location, wherein the scoring function is based on a distribution of trip distances, the distribution selected based on the search context at the user geohash;

scoring each candidate location from the set of candidate locations using the scoring function; and

providing the set of candidate locations to the client device.

8. The method of claim 7 , wherein the scoring function scores a candidate location based on a geohash associated with the candidate location.

9. The method of claim 8 , wherein the scoring function scores the probability of a user selecting a location in a destination geohash from the user geohash, wherein the destination geohash is the geohash associated with the set of candidate locations.

10. The method of claim 7 , wherein each geohash of the set of geohashes is associated with a scoring function.

11. The method of claim 7 , wherein:

each geohash of the plurality of geohashes is associated with a plurality of scoring functions, each associated with a search context; and

the scoring function is selected from among the plurality of scoring functions for the user geohash by matching the search context for the client device with a search context of the plurality of scoring functions.

12. The method of claim 7 , wherein one of the search context parameters specifies whether the location search request is for an origin or a destination of a trip request.

13. The method of claim 12 , wherein one of the search context parameters specifies a time of day for the search.

14. The method of claim 7 , wherein the scoring function specifies a set of weights for scoring a location.

15. The method of claim 7 , wherein distribution of trip distance is associated with a destination geohash of the candidate location, wherein the destination geohash is the geohash associated with the set of candidate locations.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Oct 3, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069110/0508 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT (TERM LOAN) AT REEL 050767, FRAME 0076 Recorded Sep 11, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069133/0167 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2021
From: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 055547/0404 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Oct 24, 2019
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC
Reel/Frame 050817/0600 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0109 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0076 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2016
From: REDDY, SRIHARI; MAHON, PAUL; HAMBY, BRENT; ILES, BRANDON; SARAWGI, ADITYA; SALISBURY, WILL; SONG, ZACH; DABHOLKAR, JUTHIKA
To: UBER TECHNOLOGIES, INC.
Reel/Frame 040488/0100 →
Continuity (1)
Related Publication 20180095977A1 · Apr 5, 2018
Cited By (3)
US 12,591,820 US 12,602,385 US 12,650,762