IP Library Granted Patent US 10,002,140
Granted Patent B2
US 10,002,140 · App. 15/393,171 · Granted Jun 19, 2018

Geographical location search using multiple data sources

Inventors: Srihari Reddy (Sunnyvale, CA); Brent Hamby (Oakland, CA); Aditya Sarawgi (San Francisco, CA); Govind Kabra (Sunnyvale, CA); Manik Gupta (Los Altos, CA); Jennie Nguyen (Foster City, CA)
Assignee: UBER TECHNOLOGIES, INC.
G06F17/30241G06F17/3087G06F17/30554
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,002,140
App. No.
15/393,171
Granted
Jun 19, 2018
Kind
B2
Abstract

A service arrangement system coordinates service providers who provide geographical location-based services to users. The location-based services may include transportation of users. For example, a service provider operates a vehicle to transport a user from an origin location to a destination location. To provide an engaging user experience and encourage users to continue using the services, the service arrangement system accurately and expediently determines the origin location and the destination location based on querying available data sources. The service arrangement system can use selection rules for multiplexing, fallback logic, or load-balancing to select a high quality data source from the available data sources.

Claims (67)

1. A method comprising:

receiving a geographical search request from a client device of a user of a service arrangement system corresponding to a target geographical location;

identifying a geographical region based on the geographical search request;

identifying a selection rule of a plurality of selection rules indicative of allocations of geographical search requests to a plurality of map data sources associated with the geographical region;

using one or more processors, selecting a first map data source of a plurality of map data sources based on the selection rule, each of the plurality of map data sources associated with the geographical region;

receiving a first set of candidate geographical locations for the target geographical location from the first map data source based on the geographical search request;

using one or more processors, determining a quality level of the first set of candidate geographical locations;

using the one or more processors, selecting a second map data source of the plurality of map data sources in response to determining that the quality level is below a first threshold value, the second map data source selected based on the selection rule;

receiving a second set of candidate geographical locations for the target geographical location from the second map data source based on the geographical search request; and

providing one or more candidate geographical locations of the second set of candidate geographical locations to the client device for display.

2. The method of claim 1 , further comprising receiving information indicative of a likelihood that at least one candidate geographical location of the first set corresponds to the target geographical location, wherein the quality level is based on the likelihood.

3. The method of claim 1 , further comprising determining another quality level of the second set of candidate geographical locations, wherein providing the second set of candidate geographical locations to the client device is in response to determining that the another quality level is greater than the first threshold value.

4. The method of claim 1 , wherein the geographical search request includes a sequence of characters input by the user, the quality level is based on whether the number of characters in the sequence of characters is greater than a second threshold value.

5. The method of claim 1 , further comprising:

receiving feedback in response to providing the one or more candidate geographical locations; and

modifying at least one of the plurality of selection rules based on the feedback.

6. The method of claim 1 , wherein the plurality of selection rules indicate, for each map data source of the plurality of map data sources, a proportion of geographical search requests from client devices of users of the service arrangement system to allocate to the corresponding map data source.

7. The method of claim 1 , further comprising:

receiving a subsequent geographical search request;

identifying the geographical region based on the subsequent geographical search request;

selecting the second map data source from a subset of the plurality of map data sources, the subset not including the first map data source; and

receiving a third set of candidate geographical locations for the target geographical location from the second map data source.

8. The method of claim 1 , further comprising:

receiving map data source information associated with a target map data source;

modifying the plurality of selection rules to indicate an allocation of geographical search requests to the target map data source;

determining that the target map data source provides map data associated with a target geographical region; and

modifying a plurality of map data sources associated with the target geographical region to include the target map data source.

9. The method of claim 1 , wherein the quality level is based on a latency of receiving the first set of candidate geographical locations from the first map data source being below a second threshold value.

10. The method of claim 1 , wherein the second map data source associated with a second geographical region larger than the geographical region and including the geographical region.

11. The method of claim 10 , wherein the target geographical location is located within a predetermined distance outside of the geographical region, and further comprising:

providing at least one candidate geographical location of the first set along with the second set to the client device for display.

12. A method comprising:

receiving a geographical search request from a client device of a user of a service arrangement system corresponding to a target geographical location;

identifying a selection rule of a plurality of selection rules indicative of allocations of geographical search requests to a plurality of map data sources;

receiving a first set of candidate geographical locations for the target geographical location from a first map data source of the plurality of map data sources based on the geographical search request;

using one or more processors, determining a first quality level of the first set of candidate geographical locations;

using the one or more processors, selecting a second map data source of the plurality of map data sources in response to determining that the first quality level is below a threshold value, the second map data source selected based on the selection rule;

receiving a second set of candidate geographical locations for the target geographical location from the second map data source based on the geographical search request;

using the one or more processors, determining a second quality level of the first set of candidate geographical locations; and

providing one or more candidate geographical locations of the second set of candidate geographical locations to the client device for display in response to determining that the second quality level is greater than the threshold value.

13. The method of claim 12 , wherein the quality level is based on a latency of receiving the first set of candidate geographical locations from the first map data source being below a second threshold value.

14. A computer program product comprising a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by one or more processors, cause the one or more processors to:

receive a geographical search request from a client device of a user of a service arrangement system corresponding to a target geographical location;

identify a geographical region based on the geographical search request;

identify a selection rule of a plurality of selection rules indicative of allocations of geographical search requests to a plurality of map data sources associated with the geographical region

select a first map data source of a plurality of map data sources based on the selection rule, each of the plurality of map data sources associated with the geographical region;

receive a first set of candidate geographical locations for the target geographical location from the first map data source based on the geographical search request;

using one or more processors, determine a quality level of the first set of candidate geographical locations;

select a second map data source of the plurality of map data sources in response to determining that the quality level is below a first threshold value, the second map data source selected based on the selection rule;

receive a second set of candidate geographical locations for the target geographical location from the second map data source based on the geographical search request; and

provide one or more candidate geographical locations of the second set of candidate geographical locations to the client device for display.

15. The non-transitory computer readable storage medium of claim 14 , having further instructions that when executed by the one or more processors cause the one or more processors to determine another quality level of the second set of candidate geographical locations, wherein providing the second set of candidate geographical locations to the client device is in response to determining that the another quality level is greater than the first threshold value.

16. The non-transitory computer readable storage medium of claim 14 , wherein the geographical search request includes a sequence of characters input by the user, the quality level is based on whether the number of characters in the sequence of characters is greater than a second threshold value.

17. The non-transitory computer readable storage medium of claim 14 , having further instructions that when executed by the one or more processors cause the one or more processors to:

receive feedback in response to providing the one or more candidate geographical locations; and

modify at least one of the plurality of selection rules based on the feedback.

18. The non-transitory computer readable storage medium of claim 14 , having further instructions that when executed by the one or more processors cause the one or more processors to:

receive a subsequent geographical search request;

identify the geographical region based on the subsequent geographical search request;

select the second map data source from a subset of the plurality of map data sources, the subset not including the first map data source; and

receive a third set of candidate geographical locations for the target geographical location from the second map data source.

19. The non-transitory computer readable storage medium of claim 14 , wherein the plurality of selection rules indicate, for each map data source of the plurality of map data sources, a proportion of geographical search requests from client devices of users of the service arrangement system to allocate to the corresponding map data source.

20. The non-transitory computer readable storage medium of claim 14 , having further instructions that when executed by the one or more processors cause the one or more processors to:

receive map data source information associated with a target map data source;

modify the plurality of selection rules to indicate an allocation of geographical search requests to the target map data source;

determine that the target map data source provides map data associated with a target geographical region; and

modify a plurality of map data sources associated with the target geographical region to include the target map data source.

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 Feb 2, 2017
From: REDDY, SRIHARI; HAMBY, BRENT; SARAWGI, ADITYA; KABRA, GOVIND; GUPTA, MANIK; NGUYEN, JENNIE
To: UBER TECHNOLOGIES, INC.
Reel/Frame 041157/0702 →
Continuity (3)
Continuation 15392010 · Dec 28, 2016
Provisional Application 62399906 · Sep 26, 2016
Related Publication 20180089227A1 · Mar 29, 2018