IP Library Granted Patent US 10,395,333
Granted Patent B2
US 10,395,333 · App. 15/615,754 · Granted Aug 27, 2019

Hierarchical selection process

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,395,333
App. No.
15/615,754
Granted
Aug 27, 2019
Kind
B2
Abstract

A network system can communicate with a user device and receive a set of request data for a scheduled request at a scheduled date and a scheduled time. The set of request data indicates a start location and a destination location for the scheduled request. The network system can record the scheduled request in a scheduling log, and implement a hierarchical selection process to fulfill the scheduled request.

Claims (78)

1. A network computer system implementing a transport service, comprising:

a network communication interface communicating, over one or more networks, with (i) computing devices of users of multiple users of the transport service, and (ii) computing devices of a plurality of transport providers of the transport service;

one or more processors; and

one or more memory resources storing (i) profile information of each transport provider of the plurality of transport providers, the profile information including a preselected location of each transport provider, and (ii) instructions that, when executed by the one or more processors, cause the network computer system to:

transmit, over the one or more networks, display data to the computing device of a respective user of the multiple users, the display data causing a designated application executing on the computing device of the respective user to generate a plurality of selection features on a user interface, each of the plurality of selection features corresponding to one of a plurality of transport service options of the transport service;

receive, over the one or more networks, a scheduled transport request from the computing device of the respective user, the scheduled transport request indicating (i) a pick-up location, (ii) a destination location, (iii) a scheduled date and a scheduled time to transport the respective user from the pick-up location to the destination location, and (iv) a selected transport service option from the plurality of transport service options; and

implement a hierarchical selection process to fulfill the scheduled transport request, wherein implementing the hierarchical selection process includes implementing a first selection process and a second selection process, the first selection process comprising:

determining a set of candidate transport providers of the plurality of transport providers to transport the respective user from the pick-up location to the destination location at the scheduled date and the scheduled time based, at least in part, on the preselected location of each candidate transport provider of the set of candidate transport providers;

transmitting a notification, over the one or more networks, to the computing device of each candidate transport provider;

receiving a confirmation message, over the one or more networks, from the computing device of an accepting transport provider of the set of candidate transport providers;

in response to receiving the confirmation message, associating the accepting transport provider with the scheduled transport request in a record database;

receiving, over the one or more networks, state data from the computing device of the accepting transport provider, the state data indicating that the accepting transport provider is unable to fulfill the scheduled transport request at the scheduled time; and

upon determining that the accepting transport provider is unable to fulfill the scheduled transport request at the scheduled time, disassociating the accepting transport provider with the scheduled transport request in the record database;

at a specified time prior to the scheduled time, automatically implement the second selection process based on disassociating the accepting transport provider with the scheduled transport request, the second selection process comprising:

receiving, over the one or more networks, location data indicating current locations of a set of proximate transport providers, of the plurality of transport providers, that are proximate to the pick-up location, the location data being received from a location-based resource of the computing device of each of the set of proximate transport providers;

determining an estimated time of arrival (ETA) to the pick-up location for each of the set of proximate transport providers based at least on the location data;

selecting a backup transport provider from the set of proximate transport providers based, at least in part, on the ETA of each of the set of proximate transport providers, and the scheduled time; and

transmitting a transport invitation, over the one or more networks, to the computing device of the backup transport provider to enable the backup transport provider to fulfill the scheduled transport request at the scheduled time.

2. The network computer system of claim 1 , wherein the executed instructions further cause the one or more processors to:

compile historical pricing data for individual transport services executed throughout a given region;

in response to receiving the scheduled transport request, utilize the historical pricing data to determine an upfront price for the scheduled transport request, the upfront price being based at least in part on the scheduled date, the scheduled time, the pick-up location, and the destination location; and

input the scheduled transport request in a scheduling log in response to the respective user accepting the upfront price.

3. The network computer system of claim 2 , wherein the executed instructions further cause the one or more processors to determine the upfront price by (i) accessing a weather resource to determine likely weather conditions for the scheduled date and the scheduled time, and (ii) filtering the historical pricing data based on the likely weather conditions.

4. The network computer system of claim 2 , wherein the executed instructions further cause the one or more processors to determine the upfront price by (i) accessing event schedules for the given region to determine whether a particular event will coincide with the scheduled transport request, and (ii) filtering the historical pricing data based on the event schedules.

5. The network computer system of claim 4 , wherein the executed instructions further cause the one or more processors to:

input blackout periods in the scheduling log for certain areas of the given region based on the event schedules for the given region.

6. The network computer system of claim 1 , wherein the notification includes an invitation message transmitted to the computing device of the accepting transport provider upon a determination that the accepting transport provider has a state indicating availability at the scheduled time, the invitation message indicating the pick-up location and the destination location of the scheduled transport request.

7. The network computer system of claim 1 , wherein the executed instructions cause the one or more processors to further execute the second selection process by:

determining that the pick-up location is within an area of a given region that is correlated to low transport supply;

transmitting an incentive message to the computing devices of each of the set of proximate transport providers to travel to the pick-up location to fulfill the scheduled transport request; and

associating the scheduled transport request to the backup transport provider based on the backup transport provider accepting an incentive associated with the incentive message.

8. The network computer system of claim 1 , wherein the executed instructions cause the one or more processors to further execute the second selection process by:

transmitting respective notifications for the scheduled transport request to each of the computing devices of the set of proximate transport providers; and

after not receiving an acceptance message for any of the respective notifications from the computing devices of any of the set of proximate transport providers, failing over to a second transport service option by transmitting a failover transport invitation for the scheduled transport request to e the computing device of a failover transport provider of the plurality of transport providers.

9. The network computer system of claim 8 , wherein the plurality of transport service options comprises two or more of a peer-to-peer transport service option, a shared multiple-user service option, a luxury transport service option, a large vehicle transport service option, or a professional transport service option.

10. The network computer system of claim 1 , wherein executed instructions cause the one or more processors to determine the specified time dynamically based on a transport provider network density within a certain proximity of the pick-up location.

11. The network computer system of claim 1 , wherein the preselected location is a home location.

12. A non-transitory computer readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:

communicate, over one or more networks, with (i) computing devices of users of multiple users of a transport service, and (ii) computing devices of a plurality of transport providers of the transport service;

transmit, over the one or more networks, display data to the computing device of a respective user of the multiple users, the display data causing a designated application executing on the computing device of the respective user to generate a plurality of selection features on a user interface, each of the plurality of selection features corresponding to one of a plurality of transport service options of the transport service;

receive, over the one or more networks, a scheduled transport request from the computing device of the respective user, the scheduled transport request indicating (i) pick-up location, (ii) a destination location, (iii) a scheduled date and a scheduled time to transport the respective user from the pick-up location to the destination location, and (iv) a selected transport service option from the plurality of transport service options;

implement a hierarchical selection process to fulfill the scheduled transport request, wherein implementing the hierarchical selection process includes implementing a first selection process and a second selection process, the first selection process comprising:

determining a set of candidate transport providers of the plurality of transport providers to transport the respective user from the pick-up location to the destination location at the scheduled date and the scheduled time based, at least in part, on the preselected location of each candidate transport provider of the set of candidate transport providers;

transmitting a notification, over the one or more networks, to the computing device of each candidate transport provider;

receiving a confirmation message, over the one or more networks, from the computing device of an accepting transport provider of the set of candidate transport providers;

in response to receiving the confirmation message, associating the accepting transport provider with the scheduled transport request in a record database;

receiving, over the one or more networks, state data from the computing device of the accepting transport provider, the state data indicating that the accepting transport provider is unable to fulfill the scheduled transport request at the scheduled time;

upon determining that the accepting transport provider is unable to fulfill the scheduled transport request at the scheduled time, disassociating the accepting transport provider with the scheduled transport request in the record database; and

at a specified time prior to the scheduled time, automatically implement the second selection process based on disassociating the accepting transport provider with the scheduled transport request, the second selection process comprising:

receiving, over the one or more networks, location data indicating current locations of a set of proximate transport providers, of the plurality of transport providers, that are proximate to the pick-up location, the location data being received from a location-based resource of the computing device of each of the set of proximate transport providers;

determining an estimated time of arrival (ETA) to the pick-up location for each of the set of proximate transport providers based at least on the location data;

selecting a backup transport provider from the set of proximate transport providers based, at least in part, on the ETA of each of the set of proximate transport providers, and the scheduled time; and

transmitting a transport invitation, over the one or more networks, to the computing device of the backup transport provider to enable the backup transport provider to fulfill the scheduled transport request at the scheduled time.

13. The non-transitory computer readable medium of claim 12 , wherein the executed instructions further cause the one or more processors to:

compile historical pricing data for individual transport services executed throughout a given region;

in response to receiving the scheduled transport request, utilize the historical pricing data to determine an upfront price for the scheduled transport request, the upfront price being based at least in part on the scheduled date, the scheduled time, the pick-up location, and the destination location; and

input the scheduled transport request in a scheduling log in response to the respective user accepting the upfront price.

14. The non-transitory computer readable medium of claim 13 , wherein the executed instructions further cause the one or more processors to determine the upfront price by (i) accessing a weather resource to determine likely weather conditions for the scheduled date and the scheduled time, and (ii) filtering the historical pricing data based on the likely weather conditions.

15. The non-transitory computer readable medium of claim 14 , wherein the executed instructions further cause the one or more processors to determine the upfront price by (i) accessing event schedules for the given region to determine whether a particular event will coincide with the scheduled transport request, and (ii) filtering the historical pricing data based on the event schedules.

16. The non-transitory computer readable medium of claim 15 , wherein the executed instructions further cause the one or more processors to:

input blackout periods in the scheduling log for certain areas of the given region based on the event schedules for the given region.

17. The non-transitory computer readable medium of claim 10 , wherein the preselected location is a home location.

18. A computer-implemented method for implementing a transport service, the method being performed by one or more processors and comprising:

communicating, over one or more networks, with (i) computing devices of users of multiple users of the transport service, and (ii) computing devices of a plurality of transport providers of the transport service;

transmitting, over the one or more networks, display data to the computing device of a respective user of the multiple users, the display data causing a designated application executing on the computing device of the respective user to generate a plurality of selection features on a user interface, each of the plurality of selection features corresponding to one of a plurality of transport service options of the transport service;

receiving, over the one or more networks, a scheduled transport request from the computing device of the respective user, the scheduled transport request indicating (i) a pick-up location, (ii) a destination location, (iii) a scheduled date and a scheduled time to transport the respective user from the pick-up location to the destination location, (iv) a selected transport service option from the plurality of transport service options; and

implementing a hierarchical selection process to fulfill the scheduled transport request, wherein implementing the hierarchical selection process includes implementing a first selection process and a second selection process comprising:

determining a set of candidate transport providers of the plurality of transport providers to transport the respective user from the pick-up location to the destination location at the scheduled date and the scheduled time based, at least in part, on the preselected location of each candidate transport provider of the set of candidate transport providers;

transmitting a notification, over the one or more networks, to the computing device of each candidate transport provider;

receiving a confirmation message, over the one or more networks, from the computing device of an accepting transport provider of the set of candidate transport providers;

in response to receiving the confirmation message, associating the accepting transport provider with the scheduled transport request in a record database;

receiving, over the one or more networks, state data from the computing device of the accepting transport provider, the state data indicating that the accepting transport provider is unable to fulfill the scheduled transport request at the scheduled time; and

upon determining that the accepting transport provider is unable to fulfill the scheduled transport request at the scheduled time, disassociating the accepting transport provider with the scheduled transport request in the record database;

at a specified time prior to the scheduled time, automatically executing the second selection process based on disassociating the accepting transport provider with the scheduled transport request, the second selection process comprising:

receiving, over the one or more networks, location data indicating current locations of a set of proximate transport providers, of the plurality of transport providers, that are proximate to the pick-up location, the location data being received from a location-based resource of the computing device of each of the set of proximate transport providers;

determining an estimated time of arrival (ETA) for each of the set of proximate transport providers based at least on the location data;

selecting a backup transport provider from the set of proximate transport providers based, at least in part, on the ETA of each of the set of proximate transport providers, and the scheduled time; and

transmitting a transport invitation, over the one or more networks, to the computing device of the backup transport provider to enable the backup transport provider to fulfill the scheduled transport request at the scheduled time.

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/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 Jun 10, 2019
From: DICKER, RUSSELL; FANG, QINMING; YATES, VINCENT; FALLOWS, THOMAS; POTTIER, MARC; RECKHOW, MICHAEL
To: UBER TECHNOLOGIES, INC.
Reel/Frame 049420/0816 →
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 →