IP Library Granted Patent US 10,685,416
Granted Patent B2
US 10,685,416 · App. 15/228,732 · Granted Jun 16, 2020

Suggested pickup location for ride services

Inventors: Brian Tolkin (San Francisco, CA); Qing Xu (Milpitas, CA); Sami Aref (San Francisco, CA); Peter Ng (San Francisco, CA); Yuhki Brent Yamashita (San Francisco, CA); Siddharth Kar (San Francisco, CA); Nikhil Goel (San Francisco, CA)
Assignee: Uber Technologies, Inc.
G06Q50/30G06Q10/06311G08G1/202
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,685,416
App. No.
15/228,732
Granted
Jun 16, 2020
Kind
B2
Abstract

A travel coordination system coordinates travel between a client and a provider to a destination. The client and provider meet at a pickup location and the provider transports the client (or an item or object from the client) to the destination. The travel coordination system automatically suggests a pickup location for the trip by determining location data points corresponding to prior trips of clients. Location data points near the client's location are determined by distance or by region and scored to determine a pickup location that improves the estimated pickup time and/or estimated time to arrive at the destination.

Claims (57)

1. A method of implementing an on-demand transport service, the method being performed by one or more processors and comprising:

communicating, over one or more networks, with (i) computing devices of clients of the on-demand transport service, and (ii) computing devices of transport providers servicing the on-demand transport service;

receiving, over the one or more networks, a trip request for a carpool trip from the computing device of a respective client of the clients, the trip request indicating a destination;

receiving, over the one or more networks, real-time location data from a positioning system of the computing device of the respective client, the real-time location data indicating a current location of the respective client;

determining a set of eligible pickup locations proximate to the current location of the respective client, each pickup location in the set of eligible pickup locations comprising a location at which prior trips of the on-demand transport service have been initiated;

monitoring, over the one or more networks, real-time in-progress trip data of a plurality of the transport providers, the real-time in-progress trip data comprising (i) real-time location data, from positioning systems of the computing devices of the plurality of transport providers, indicating a current route of each transport provider of the plurality of transport providers, and (ii) an existing client currently being transported by each transport provider of the plurality of transport providers;

for each respective pickup location in the set of eligible pickup locations and for each transport provider of the plurality of transport providers, determining a total trip time for the transport provider to service the trip request, the total trip time comprising (i) an estimated time of arrival (ETA) for the transport provider to arrive at the respective pickup location, and (ii) an estimated time to destination (ETD) for the transport provider to transport the respective client from the respective pickup location to the destination;

for each respective pickup location of the set of eligible pickup locations and for each transport provider of the plurality of transport providers, (i) determining an amount of reduced time for utilizing the respective pickup location as opposed to the current location of the respective client or a pickup location specified by the respective client, and (ii) determining an expected increase in cost to reach a destination of the existing client based on picking up the respective client at the respective pickup location;

based on (i) the total trip time, (ii) the amount of reduced time, and (iii) the expected increase in cost for each respective pickup location and for each transport provider of the plurality of transport providers, selecting a transport provider from the plurality of transport providers and a trip pickup location from the set of eligible pickup locations to initiate the trip request;

transmitting, over the one or more networks, match data indicating the trip pickup location to the computing device of the selected transport provider and the computing device of the respective client to initiate the trip request; and

monitoring, over the one or more networks, the current location of the selected transport provider for a duration that includes a pickup time when the trip request initiates and a drop-off time when the trip request is completed.

2. The method of claim 1 , further comprising:

identifying a plurality of regions, each specified region of the plurality of regions corresponding to a geographical area and being associated with one or more eligible pickup locations; and

identifying a region from the plurality of regions based on the current location of the respective client;

wherein the set of eligible pickup locations for the respective client are associated with the identified region.

3. The method of claim 2 , further comprising:

determining a condition affecting the set of eligible pickup locations of the identified region; and

based on the condition affecting the set of eligible pickup locations of the identified region, adding the one or more eligible pickup locations associated with a second region of the plurality of regions to the set of eligible pickup locations of the identified region.

4. The method of claim 3 , wherein the condition comprises a short-term condition corresponding to at least one of traffic or construction.

5. The method of claim 3 , wherein the identified region is a geographic subset of the second region.

6. The method of claim 2 , wherein the one or more processors identify the plurality of regions based on a clustering of locations from which trips for the on-demand transport service have been requested.

7. The method of claim 2 , wherein the one or more processors identify the one or more eligible pickup locations for each specific region in the plurality of regions based on location points from which trips have been initiated in the specific region.

8. A non-transitory computer-readable medium comprising instructions which, when executed by one or more processors of a network computer system, cause the network computer system to perform operations comprising:

communicating, over one or more networks, with (i) computing devices of clients of an on-demand transport service, and (ii) computing devices of transport providers servicing the on-demand transport service;

receiving, over the one or more networks, a transport request for a carpool trip from the computing device of a respective client of the clients, the trip request indicating a destination;

receiving, over the one or more networks, real-time location data from a positioning system of the computing device of the respective client, the real-time location data indicating a current location of the respective client;

determining a set of eligible pickup locations proximate to the current location of the respective client, each pickup location in the set of eligible pickup locations comprising a location at which prior trips of the on-demand transport service have been initiated;

monitoring, over the one or more networks, real-time in-progress trip data of a plurality of the transport providers, the real-time in-progress trip data comprising (i) real-time location data, from positioning systems of the computing devices of the plurality of transport providers, indicating a current route of each transport provider of the plurality of transport providers, and (ii) an existing client currently being transported by each transport provider of the plurality of transport providers;

for each respective pickup location in the set of eligible pickup locations and for each transport provider of the plurality of transport providers, determining a total trip time for the transport provider to service the trip request, the total trip time comprising (i) an estimated time of arrival (ETA) for the transport provider to arrive at the respective pickup location, and (ii) an estimated time to destination (ETD) for the transport provider to transport the respective client from the respective pickup location to the destination;

for each respective pickup location of the set of eligible pickup locations and for each transport provider of the plurality of transport providers, (i) determining an amount of reduced time for utilizing the respective pickup location as opposed to the current location of the respective client or a pickup location specified by the respective client, and (ii) determining an expected increase in cost to reach a destination of the existing client based on picking up the respective client at the respective pickup location;

based on (i) the total trip time, (ii) the amount of reduced time, and (iii) the expected increase in cost for each respective pickup location and for each transport provider of the plurality of transport providers, selecting a transport provider from the plurality of transport providers and a trip pickup location from the set of eligible pickup locations to initiate the trip request;

transmitting, over the one or more networks, match data indicating the trip pickup location to the computing device of the selected transport provider and the computing device of the respective client to initiate the trip request; and

monitoring, over the one or more networks, the current location of the selected transport provider for a duration that includes a pickup time when the trip initiates and a drop-off time when the trip is completed.

9. The non-transitory computer-readable medium of claim 8 , wherein the executed instructions cause the network computer system to perform further operations comprising:

identifying a plurality of regions, each specified region of the plurality of regions corresponding to a geographical area and being associated with one or more eligible pickup locations; and

identifying a region from the plurality of regions based on the current location of the respective client;

wherein the set of eligible pickup locations for the respective client are associated with the identified region.

10. The non-transitory computer-readable medium of claim 9 , wherein the executed instructions cause the network computer system to perform further operations comprising:

determining a condition affecting the set of eligible pickup locations of the identified region; and

based on the condition affecting the set of eligible pickup locations of the identified region, adding the one or more pickup locations associated with a second region of the plurality of regions to the set of eligible pickup locations of the identified region.

11. The non-transitory computer-readable medium of claim 10 , wherein the condition comprises a short-term condition corresponding to at least one of traffic or construction.

12. The non-transitory computer-readable medium of claim 10 , wherein the identified region is a geographic subset of the second region.

13. The non-transitory computer-readable medium of claim 9 , wherein the executed instructions cause the network computer system to identify the plurality of regions based on a clustering of locations from which trips for the on-demand transport service have been requested.

14. The non-transitory computer-readable medium of claim 9 , wherein the executed instructions cause the network computer system to determine the one or more eligible pickup locations for each specific region in the plurality of regions based on location points from which trips have been initiated in the specific region.

15. A network computer system comprising:

a network communication interface to communicate, over one or more networks, with (i) computing devices of clients of an on-demand transport service, and (ii) computing devices of transport providers servicing the on-demand transport service;

one or more processors; and

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

receive, over the one or more networks, a trip request for a carpool trip from the computing device of a respective client of the clients, the trip request indicating a destination;

receive, over the one or more networks, real-time location data from a positioning system of the computing device of the respective client, the real-time location data indicating a current location of the respective client;

determine a set of eligible pickup locations proximate to the current location of the respective client, each pickup location in the set of eligible pickup locations comprising a location at which prior trips of the on-demand transport service have been initiated;

monitor, over the one or more networks, real-time in-progress trip data of a plurality of the transport providers, the real-time in-progress trip data comprising (i) real-time location data, from positioning system of the computing device of the plurality of transport providers, indicating a current route of each transport provider of the plurality of transport providers, and (ii) an existing client currently being transported by each transport provider of the plurality of transport providers;

for each respective pickup location in the set of eligible pickup locations and for each transport provider of the plurality of transport providers, determine a total trip time for the transport provider to service the trip request, the total trip time comprising (i) an estimated time of arrival (ETA) for the transport provider to arrive at the respective pickup location, and (ii) an estimated time to destination (ETD) for the transport provider to transport the respective client from the respective pickup location to the destination;

for each respective pickup location of the set of eligible pickup locations and for each transport provider of the plurality of transport providers, (i) determine an amount of reduced time for utilizing the respective pickup location as opposed to the current location of the respective client or a pickup location specified by the respective client, and (ii) determine an expected increase in cost to reach a destination of the existing client based on picking up the respective client at the respective pickup location;

based on (i) the total trip time for each respective pickup location, (ii) the amount of reduced time for each respective pickup location, and (iii) the expected increase in cost for each respective pickup location and for each transport provider of the plurality of transport providers, select a transport provider from the plurality of transport providers and a trip pickup location from the set of eligible pickup locations to initiate the trip request;

transmit, over the one or more networks, match data indicating the trip pickup location to the computing device of the selected transport provider and the computing device of the respective client to initiate the trip request; and

monitor, over the one or more networks, the current location of the selected transport provider for a duration that includes a pickup time when the trip request initiates and a drop-off time when the trip request is completed.

Assignments (8)
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 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0076 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0109 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBER PREVIOUSLY RECORDED AT REEL: 45853 FRAME: 418. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 26, 2018
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 049259/0064 →
SECURITY INTEREST Recorded Apr 6, 2018
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 045853/0418 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2016
From: TOLKIN, BRIAN; XU, QING; AREF, SAMI; NG, PETER; YAMASHITA, YUHKI; KAR, SIDDHARTH; GOEL, NIKHIL
To: UBER TECHNOLOGIES, INC.
Reel/Frame 039950/0035 →
Cited By (3)
US 12,366,461 US 12,409,862 US 12,475,795