US20180003517A1 - Providing alternative routing options to a rider of a transportation management system - Google Patents

Providing alternative routing options to a rider of a transportation management system Download PDF

Info

Publication number
US20180003517A1
US20180003517A1 US15/197,518 US201615197518A US2018003517A1 US 20180003517 A1 US20180003517 A1 US 20180003517A1 US 201615197518 A US201615197518 A US 201615197518A US 2018003517 A1 US2018003517 A1 US 2018003517A1
Authority
US
United States
Prior art keywords
rider
trip
driver
routing
routing option
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US15/197,518
Other versions
US9857188B1 (en
Inventor
John Christopher O'Hare
Maya Paritosh Choksi
Evelyn Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Uber Technologies Inc
Original Assignee
Uber Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Uber Technologies Inc filed Critical Uber Technologies Inc
Priority to US15/197,518 priority Critical patent/US9857188B1/en
Assigned to UBER TECHNOLOGIES, INC. reassignment UBER TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KIM, Evelyn, CHOSKI, MAYA PARITOSH, O'HARE, JOHN CHRISTOPHER
Priority to US15/809,948 priority patent/US10466059B2/en
Application granted granted Critical
Publication of US9857188B1 publication Critical patent/US9857188B1/en
Publication of US20180003517A1 publication Critical patent/US20180003517A1/en
Assigned to CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT reassignment CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: UBER TECHNOLOGIES, INC.
Assigned to CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT reassignment CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBER PREVIOUSLY RECORDED AT REEL: 45853 FRAME: 418. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Assignors: UBER TECHNOLOGIES, INC.
Priority to US16/548,632 priority patent/US11162803B2/en
Assigned to MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT reassignment MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: UBER TECHNOLOGIES, INC.
Assigned to MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT reassignment MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: UBER TECHNOLOGIES, INC.
Assigned to UBER TECHNOLOGIES, INC. reassignment UBER TECHNOLOGIES, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3626Details of the output of route guidance instructions
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • G01C21/3676Overview of the route on the road map

Definitions

  • This disclosure generally relates to the field of transportation systems and, more particularly, to enabling a rider using a transportation management system to select a route to be used by a driver to transport the rider to a destination location.
  • Transportation management systems provide support for the logistical issues in managing the transportation of persons, cargo or the like.
  • a driver provides transportation services to a rider to a location selected by the rider; the particular instance of driver transporting a rider is called a trip.
  • the driver when transporting the rider to the selected location, the driver follows her personal preferences in selecting the route to the selected location or follows a route provided by a mapping service.
  • the rider In order to travel a route preferred by the rider, the rider, in such systems, would have to explicitly ask the driver to use the preferred route. This not only requires the rider to be aware of alternative routes and her preferences, but also engage in an undesirable interaction with the driver.
  • a transportation management system computes several routing options between the trip's origin location and destination location.
  • the routing options can include a default routing option and one or more alternative routing options.
  • the routing options may optimize for different parameters, such as cost to the rider, duration of the trip, and/or traffic congestion along the trip.
  • These routing options are provided via a rider client application to the rider prior to the trip commencing (or alternatively, in another example, after the trip commences and the rider is being transported), and the rider may select one of the alternative routing options as the preferred route between the origin location (or alternatively, the current location) and the destination location.
  • the transportation management system communicates data corresponding to the routing option selected by the rider to the driver via a driver client application. This enables the rider's preferred route to be communicated to the driver without requiring the rider to personally tell the driver of her preference and without requiring the driver to provide additional input on the driver client application. Further, the transportation management system monitors the actual route used or being followed by the driver during the trip and compares the actual route against the route selected by the rider and makes any necessary adjustments. A deviation from the rider-selected route causes the transportation management system to communicate a new routing option to the driver that is generated based on the rider-selected routing option and updates the driver's performance rating accordingly.
  • FIG. 1 illustrates the system environment for an example transportation management system.
  • FIG. 2 illustrates an interaction diagram for an algorithm for matching candidate drivers for a given trip request issued by a rider.
  • FIG. 3 illustrates an interaction diagram for an algorithm for providing a rider-selected routing option to a driver matched with the trip request.
  • FIG. 4A illustrates a user interface on the rider client application for displaying alternative routing options.
  • FIG. 4B illustrates a user interface on the driver client application for displaying a rider-selected routing option.
  • FIG. 5 illustrates physical components of a computer used as part or all of the transportation management system, the rider client device, and/or the driver client device.
  • FIG. 1 illustrates the system environment for an example transportation management system 130 .
  • Transportation management system 130 coordinates the transportation of persons and/or goods/items for a user (“rider”) by a travel provider (“driver”). The driver uses a vehicle to provide the transportation to the rider.
  • the transportation management system 130 includes, a trip management module 140 , a trip matching module 145 , a trip routing module 150 , a trip monitoring module 155 , and various data stores including a trip data store 180 , a rider data store 182 , a driver data store 184 , a driver inventory data store 186 , a message data store 188 , and a map data store 190 .
  • these modules and data stores are not native components of a generic computer system, and provide structures and functions beyond the generic functions of a computer system, as further described below.
  • a rider operates client device 100 that executes a rider client application 102 that communicates with transportation management system 130 .
  • the rider operates the client application 102 to make a trip request from the transportation management system 130 for a delivery or transport service (“a trip”) of the rider (and, optionally, additional persons) and/or items, for example cargo needing transport.
  • the rider client application 102 enables the rider to specify an origin location and, optionally, a destination location associated with the trip.
  • An origin location or a destination location may be a location inputted by the user or may correspond to the current location of the client device 100 as determined automatically by a location determination module (not shown) in the client device 100 , e.g., a GPS system, a wireless networking system, or a combination thereof.
  • the rider client application 102 transmits a trip request initiated by a user to the transportation management system 130 over the network(s) 120 .
  • the trip request identifies the rider and at least the origin location specified by the rider (e.g., and can also include other data, such as a user identifier, a mobile device identifier, a vehicle type, etc.).
  • the transportation management system 130 uses the trip request to match the rider with available drivers, one of whom will be selected to pick up the rider and transport the rider to the desired destination.
  • the rider client application 102 further enables a rider to provide a performance rating for a driver upon completion of a trip. In one embodiment, the rating is provided on a scale of one to five, five being the maximal (best) rating.
  • the driver operates a client device 110 executing a driver application 104 that communicates with the transportation management system 130 to provide information indicating whether the driver is available or unavailable to provide transportation services to riders.
  • the driver application 104 enables the driver to provide information regarding availability by logging into the transportation management system 130 and activating a setting that they are currently available to provide trips.
  • the driver application 104 also periodically provides the current location of the client device 110 to the transportation management system 130 .
  • the current location may be a location inputted by the driver or may correspond to the current location of the client device 110 as determined automatically by a location determination module (not shown) in the client device 110 , e.g., a GPS system, a wireless networking system, or a combination thereof.
  • the driver application 104 further allows a driver to receive, from the trip matching module 145 , an invitation to provide a transport service for a rider.
  • the trip matching module 145 can select a driver to provide a transportation service for the rider based on one or more criteria (e.g., the origin location of the rider, the destination location of the rider, the current location of the driver, the destination location of the driver, the status of the driver or driver application 104 , the vehicle type of the driver, etc.), and transmit an invitation to the client device 110 of the selected driver to provide the transportation service for the rider.
  • the driver can then accept or decline the invitation by providing input on the driver application 104 .
  • the driver can be assigned the trip and can be provided information to travel to the pickup location (or origin location) of the rider.
  • the driver application 104 receives routing information from trip routing module 150 to guide the driver from the current location (e.g., when the invitation was accepted) to the pickup location of the rider and subsequently, can also receive routing information from the pickup location to the destination location of the rider.
  • the routing information can correspond to a default location and/or a selected location provided by the rider.
  • the driver application 104 enables a driver to provide a rating for of rider upon completion of a trip. In one embodiment, the rating is provided on a scale of one to five, five being the maximal (best) rating.
  • the rider client device 100 and driver client device 110 are portable electronic devices such as smartphones, tablet devices, wearable computing devices (e.g. smartwatches) or similar devices. Examples of such devices include smartphones, executing an corresponding operating systems and running mobile applications, including the rider application 102 and/or the driver application 104 .
  • Client devices typically have one or more processors, memory, touch screen displays, wireless networking system (e.g., IEEE 802.11), cellular telephony support (e.g. LTE/GSM/UMTS/CDMA/HSDPA, etc.), and location determination capabilities.
  • the rider data store 182 stores account and usage information for each rider who is a user of the system. For each rider, the rider data store 182 stores one or more database records associated with the rider, including both master data and usage data.
  • master data for a rider includes the rider's name, address information, cell phone number, payment information (e.g., credit card number), sign up date, rider acquisition type (e.g., referral, promotional code, employee); device type (e.g., type of cell phone); platform type (e.g., iOS, Android), application ID, and/or application version for the rider application 102 .
  • Usage data includes variables that characterize the rider's usage over the trips that the rider has taken using the system. These variables include at least one or more of the following:
  • Rider Usage Variables Variable Name Description Number of trips Total number of trips made by the rider. Further variations of this variable include such as the number of rides in the past 24 hours, past seven days, past month, etc. Time Since Last Trip Amount of time since the last trip by the rider. Frequency of The percent of trip requests that the rider has canceled (e.g., number Cancelation by Rider of cancelations/number of requests). Frequency of Contact The percent of times that the rider has contacted the driver (either by with Driver text or by calling) prior to being picked up by the driver e.g. number of contacts/number of trips. Average Driver Rating The average of the performance ratings given by the rider to the drivers.
  • the average Rider Rating The average of the ratings given to the rider by the drivers of trips taken by the rider. Frequency of Non- The proportion of ratings given by the rider to drivers that are not Satisfactory Rating of satisfactory performance ratings. This is the number of times a non- the Driver satisfactory was given by the rider to a driver divided by the total number of ratings by the rider.
  • the threshold for satisfactory ratings is a parameter set in the transportation management system 130, and may be a maximal value (e.g., 5 on a 1-5 scale) or a non-maximal value (e.g., equal to or greater than 4.00 on a 5 scale). Frequency of Non- The proportion of ratings given by the drivers to the rider that are Satisfactory Rating of not satisfactory performance ratings.
  • the Rider would be the number of times non-satisfactory was given by drivers to the rider divided by the total number of ratings made by drivers. Number of Hours Since The number of hours that have passed since the last time the rider Last Non-Satisfactory gave a non-satisfactory rating to a driver. Rating of a Driver Routing Preferences Preference for highways, scenic routes, routes that minimize cost, routes that minimize time. These preferences may be explicitly provided by the rider or may be learned over the rider's usage over the trips that the rider has taken using the system.
  • the driver data store 184 stores account and operational information for each driver who participates in the transportation management system 130 .
  • the driver data store 184 stores one or more database records associated with the driver, including both master data and usage data.
  • master data for a driver includes the driver's name; driver's license information; insurance information; vehicle information (year, make, model, vehicle ID, license plate); address information; cell phone number, payment information (e.g. credit card number); sign up date; driver service type (regular luxury pool van etc.); device type (e.g. type of cell phone); platform type (e.g. iOS, Android); application ID; and/or application version for the driver application 104 .
  • Operational variables include variables that objectively characterize the driver's operation over the trips that the driver has provided using the system. These variables include at least one or more of the following:
  • Average Driver Rating The average of the ratings given by the driver to riders in trips provided by the driver. Frequency of Non- The proportion of ratings given to the driver by riders that are not Satisfactory Rating of satisfactory performance ratings. Thus, in this embodiment, it the Driver would be the number of times a rating of less than 5 was given to the driver to by a rider divided by the total number of ratings by the driver. Frequency of Non- The proportion of ratings given by the driver to the riders that are Satisfactory Rating of not satisfactory ratings. Thus, in this embodiment, it would be the the Rider number of times a rating of less than 5 was given by the driver divided by the total number of ratings made by the driver.
  • Additional variables may also be developed for either the rider or the driver, for example, the probability of the rider traveling during particular periods and the probability of a driver being available during such periods. Any of the foregoing variables may be weighted with respect to time so that more recent trips are weighted more heavily in any computation of the metric over older trips to provide a greater reflection of the rider's or driver's current behavior given that behavior and expectations can change over time.
  • the trip data store 180 maintains a record of each in-progress and completed trip coordinated by the transportation management system 130 . More specifically, each trip provided by a driver to a rider is characterized by a set of attributes (or variables), which together form a trip record that is stored in the trip data store 180 .
  • the attributes describe aspects of the driver, the rider, and the trip.
  • each trip record includes a trip identifier (ID), a rider ID, a driver ID, the origin location, the destination location, the duration of trip, the service type for the trip, estimated time of pick up, actual time of pickup, and driver rating by rider, rider rating by driver, fare information, market information, and/or other environmental variables as described below.
  • the variables for the trip record are thus drawn from multiple sources, including the rider's master and usage records in the rider data store 182 , the driver's master and operational records in the driver data store 184 , and specific variables captured and received during each trip.
  • a trip record in the trip data store 180 may optionally include additional variables that relate to the characteristics of the specific trip, the behavior of the driver, or experimental variables.
  • the trip record may include telematics information, for example maximal acceleration amounts by the vehicle, the number of times the driver deviated from a designated route by missing a turn or an exit, the number of times the driver stopped, the number of times the driver exceed a posted speed limit, and so forth.
  • the trip record may also include variables indicating messages that the driver or the rider received in connection with the trip as well as responses to questions presented to the rider or the driver.
  • the trip data store 180 contains one or more of the following variables for each trip:
  • Estimated Time of The estimated time of arrival is an estimate of the amount of time (in Arrival and seconds) that it should take for the driver to reach the rider's origin location given the current location of the driver at the time the driver selected the trip request for the rider.
  • Actual Time of Arrival The Actual Time of Arrival is the actual amount of time it, in fact, took as determined from either an input received from the driver application that the driver has picked up the rider or a comparison of the location of driver's vehicle to the origin location.
  • Trip Distance The actual distance of the completed trip.
  • Trip Duration The actual amount of time for the completed trip as measured from the time of rider pickup to the time the driver indicates that the trip is completed Trip Average Speed Trip distance divided by trip duration
  • Surge Pricing A multiplier (>1.0) applied during peak demand times Fare The amount charged for the trip.
  • Payment Credit An indicator as to whether the fare was paid for with promotional or other types of credits.
  • Estimated Trip An estimate of the amount of time for the trip.
  • Congestion Estimate An estimate of the excess time associated with traveling the selected route for the trip due to traffic impact. This value may be computed as the ratio (timeActual/timeOptimal) ⁇ 1. Number of Trip For the driver, the average number of times per trip that a supplied Reroutings route for the trip had to be rerouted as a result of the driving missing an expected turn or exit. Maximum Lateral Maximum readings of acceleration as measured by the driver's Acceleration device 110.
  • the performance rating of the driver by the rider can be Rating expressed in a scale (e.g., 1-5, where 5 is a maximal rating), positive/negative scale (e.g., “thumbs up/thumbs down”). Matching Trip Requests with Drivers
  • the trip management module 140 is configured as a communicative interface between the client application 102 , the driver application 104 , and the various modules and data stores in the transportation management system 130 , and is one means for performing this function.
  • the trip management module 140 is configured to receive driver availability status information and current location information from the driver client application 102 and update the driver inventory data store 186 with the availability status.
  • the trip management module 140 is also configured to receive trip requests from the rider client application 102 and creates corresponding trip records in the trip data store 180 .
  • a trip record corresponding to an unprocessed trip request has a trip ID, a rider ID, an origin location, a destination location, and a status indicating that the corresponding trip request has not been processed.
  • the trip matching module 145 processes a trip request by selecting a currently available driver to provide the transportation service associated with the trip request, and is one means for performing this function. In one embodiment, the matching or selecting is based in part on the current location (or origin location) of the rider and the current location of the driver in their vehicle, as provided by the location determination capabilities of their respective devices 100 and 110 .
  • FIG. 2 illustrates an interaction diagram for an algorithm for matching a currently available driver with a trip request received from the rider client application 102 .
  • the driver uses the driver application 104 to transmit a message the trip management module 140 indicating that the driver is available for transporting riders.
  • the trip management module 140 updates the status of the driver in the driver inventory data store 186 with a record indicating the driver is available for matching, and location of the driver (which gets updated periodically). This step occurs repeatedly over the pool of drivers.
  • the trip management module 140 separately receives a trip request from a rider using the rider client application 102 .
  • the trip request includes the rider's current location or specified pickup location (typically the origin location) and/or an intended destination location. In some examples, a destination location is not required.
  • the trip management module 140 processes the trip request (e.g., by authenticating the rider and/or retrieving the rider's attributes from the rider's master record in the rider data store 182 ) and, at 209 , creates a trip record in the trip data store 180 .
  • the status of the newly created record is set to “Pending” or another state indicating that the trip request has not yet been processed. Such a trip is referred to herein as a “pending trip.”
  • the trip matching module 145 receives the trip request and/or monitors the unprocessed trip request in the trip data store 180 , and determines, from the driver inventory data store 186 , which drivers are potential candidates to pick up the rider for the newly created trip. For example, for the pending trip, the trip matching module 145 identifies a set of candidate drivers who are within a configurable maximum distance or within a maximum estimated travel time from the origin location.
  • the trip matching module 145 selects a first driver from the set of candidate drivers to provide the transportation service associated with the trip request based on the driver's estimated time of arrival (and/or distance) to the rider's pickup location, i.e., the origin location (and/or other factors, in other examples).
  • the trip matching module 145 may select some number or percentage of the top-ranked candidate drivers (e.g. top 10%) and then select a driver from the top-ranked drivers. The percentage can be a function of the number of candidate drivers such that, as the number of candidate drivers increases, the top percentage for selection becomes smaller and thus only the top-ranked drivers are given notice of the pending trip request.
  • the trip management module 140 transmits, to the driver application 104 of the selected driver, a driver trip invitation to provide the transportation service for the rider.
  • the invitation can include information about the origin location and rider information (and/or destination location).
  • the driver may use his or her respective driver application 104 to accept the invitation.
  • the driver application 104 transmits a notification to the trip management module 140 indicating that the driver has accepted the trip.
  • the trip management module 140 updates the trip record associated with the selected trip in the trip data store 180 to indicate that pending trip request has been fulfilled and that the trip is now in progress.
  • the trip management module 140 removes the driver from the pool of available drivers in the driver inventory store 184 , and no longer includes the driver as a candidate for other pending requests (until after the driver completes the trip).
  • the trip management module 140 transmits trip information to the rider client application 102 for presentation to the rider.
  • the trip information includes information related to the driver who selected the trip and an estimated time of arrival of the driver to the origin location.
  • the driver travels to the origin location of the requesting rider and picks up the rider.
  • the driver client application 104 can periodically provide current location information to the trip management module 140 .
  • the trip management module 140 can update the rider client application 102 accordingly, so that the rider can view the status and location of the driver as the driver travels to the origin location.
  • the driver uses driver application 104 to signal, at 225 , to the trip management module 140 that the rider has been successfully picked up and/or to start the transportation service.
  • the driver uses driver application 104 to signal to the transportation management system 130 that the trip is completed and can subsequently provide a rating of the rider by the driver.
  • the transportation management system 130 calculates a total fare to be paid by the rider for the trip based on the time and/or the distance traveled by the driver (and other fees or tolls) and communicates this information to rider application 102 and may also process payments for the rider.
  • the transportation management system 130 marks the trip record as complete at this point and adds the driver back into the inventory of available drivers in driver inventory data store 186 .
  • the trip routing module 150 is configured to compute routing options from the rider's origin location to the destination location for a trip, and is one means for performing this function.
  • a routing option specifies the route a driver may take to transport the rider from the origin location to the destination location.
  • routing options can include routes from the driver's current location to the rider's origin location and/or from the driver's current location to the origin location and then to the destination location.
  • the trip routing module 150 can also reroute a trip based on location information received from the driver application 104 , indicating for example that the driver has deviated from the recommended or rider-specified route.
  • the trip routing module 150 accesses map data from a map data store 190 as well as short-term data to predict travel speed along the route and select a route for the trip.
  • the trip routing module 150 may use any suitable routing algorithm, such as Dijkstra's algorithm for calculating the route between the origin and destination.
  • the routing module 150 may also calculate the route from the location of the driver's vehicle to the origin location to assist the driver in picking up the rider. When the routing module 150 calculates the route, the routing module 150 may also calculate a distance or amount of time that the route will take.
  • the routing module 150 may also access event and other short-term data from the map data store 190 to account for variations in routing that may occur due to this short-term data.
  • the trip routing module 150 is also configured to compute several alternative routing options between a trip's origin location and destination location. These alternative routing options are provided via the rider client application 102 to the rider prior to the trip commencing, and the rider may select one of the alternative routing options as the preferred route between the origin location and the destination location.
  • the trip management module 140 is configured to communicate the routing option selected by the rider to the driver via the driver client application 104 . This allows for the rider's preferred route being communicated to the driver without requiring the rider to personally tell the driver of her preference.
  • the following discussion describes the operation of the trip management module 140 and the trip routing module 150 to provide alternative routing options to rider and communicating a rider-selected preferred routing option to the driver.
  • FIG. 3 illustrates an interaction diagram for an algorithm for providing a rider-selected routing option to a driver matched with the trip request.
  • the trip management module 140 transmits, to the trip routing module 150 , a request for alternative routing options between the origin location and the destination location associated with a trip request issued by a rider.
  • the trip management module 140 transmits the request to the trip routing module 150 when the status of a trip has been updated in the trip data store 180 to indicate that the trip is in progress.
  • the trip management module 140 provides, as a part of the request, the origin location and the destination location associated with the trip.
  • the trip management module 140 provides only the trip identifier associated with the trip to the trip routing module 150 , and the trip routing module 150 retrieves the origin and destination locations associated with the trip from the trip data store 180 .
  • the trip routing module 150 determines two or more alternative routing options between the origin location and the destination location that may be presented to the rider who issued the trip request (referred to herein as the “requesting rider”). Each alternative routing option determined by the trip routing module 150 is unique from every other routing option such that the path from the origin location to the destination location is unique to each routing option. To determine the alternative routing options, the trip routing module 150 computes different routes between the origin and destination locations that each optimizes for a different parameter or combination of parameters associated with the trip and/or a business goal of the transportation management system 130 .
  • Parameters associated with the trip include, but are not limited to, cost of the trip incurred by the rider, estimated time to reach the destination location, traffic congestion along the route, safety along the route, the type of road(s) (e.g., highway, toll road, city roads, scenic road, etc.) along the route, and time of day.
  • Parameters associated with a business goal include, but are not limited to, the quantity and type of data (e.g., traffic data, map data, and driver or rider habits/preferences) that can be collected during the trip, the amount of revenue that can be generated during the trip from various sources (e.g., advertising).
  • the trip routing module 150 is configured with different optimization functions that each, given the origin and destination locations, computes a routing option optimized for a different parameter or a combination of parameters (the “optimized parameters”).
  • Each optimization function is associated with a set of optimized parameters and assigns weights to the optimized parameters such that the routing option generated by the function optimizes for parameters having higher weights relative to parameters having lower weights. For example, an optimization function may assign a higher weight to the cost of the trip relative to the total distance traveled, and, therefore, the generated routing option is cheaper than the alternatives but traverses a larger distance.
  • the weights assigned to the optimized parameters of an optimization function are the same for all riders using the transportation management system 130 .
  • the optimization functions are rider-specific, such that a given a rider's preferences impact the weights assigned to the optimized parameters.
  • the rider's preferences may be learned over time, based on rider attributes stored in the rider data store 182 , or may be expressly provided by the rider via the rider client application 102 .
  • the weights assigned to the optimized parameters may be determined per trip for a given rider.
  • the trip routing module 150 determines a large number of alternative routing options for a given trip and, thus, selects only a subset of the determined routing options for presentation to the rider. To select the subset of routing options, the trip routing module 150 ranks the determined alternative routing options based on the rider's preferences and/or the business goals of the transportation management system 130 . The trip routing module 150 may also select the routing options to be presented based on route diversity such that the selected routing options traverse a diverse set of paths between the origin and destination locations.
  • the trip routing module 150 transmits the alternative routing options to the trip management module 140 .
  • the trip management module 140 transmits the alternative routing options to the rider client application 102 for presentation to the rider.
  • the trip management module 140 may optionally store the alternative routing options in the trip data store 180 in association with the trip for which the routing options are determined. Each routing option may be stored with a unique route ID.
  • the rider client application 102 presents the alternative routing options to the rider and provides the rider with the ability to select a routing option from presented routing options.
  • FIG. 4A illustrates a user interface 402 on the rider client application 102 for displaying alternative routing options.
  • the user interface 402 displays the origin location, the destination location, and routing options 404 and 406 .
  • the presentation of each of the routing options 404 and 406 includes information about the respective routing option, for example, the estimated time of arrival and the amount of traffic on the route, and a map, e.g. map 408 , that visually displays the route from the origin location to the destination location.
  • the routing options 404 and 406 are individually selectable such that the rider may manipulate the user interface 402 to select the preferred routing option.
  • the rider client application 102 transmits the rider-selected routing option to the trip management module 140 .
  • the rider client application 102 transmits the unique route ID associated with the routing option to the trip management module 140 , and the trip management module 140 retrieves the information associated with the selected routing option from the trip data store 180 .
  • the trip management module 140 transmits the rider-selected routing option to the driver client application 104 for presentation to the driver.
  • the driver client application 104 presents the rider-selected routing option to the driver in a manner that visually indicates to the driver that the rider selected the routing option.
  • the driver client application 104 may also display messages to the driver indicating the importance of using the rider-selected routing option when transporting the rider from the origin location to the destination location.
  • FIG. 4B illustrates a user interface 410 on the driver client application 104 for displaying a rider-selected routing option.
  • the user interface 410 includes
  • the trip management module 140 updates the trip record associated with the trip and stored in the trip data store 180 to reflect the rider-selected routing option as the preferred route for the trip.
  • the trip routing module 150 receives location information for the driver's vehicle during the trip.
  • the trip routing module 150 upon determining that the driver has deviated from the rider-selected routing option, determines an alternative route for the trip based on the rider-selected routing option.
  • the trip monitoring module 155 optionally receives information from the driver's client application 104 indicating the location of the driver's vehicle and telematics information (e.g. such indications of current speed acceleration/deceleration events stops and so forth).
  • the trip monitoring module 155 stores deviations from the rider-selected routing option in the trip record stored in the trip data store 180 . These deviations may factor into the driver's performance ratings over time.
  • the rider being transported from an origin location to a destination location is involved in the process of selecting the preferred route on the trip and can provide her preference to the driver with minimal friction or express interaction with the driver.
  • the driver's adherence to the rider-selected route is monitored and may factor into the driver's overall performance rating.
  • FIG. 5 is a high-level block diagram illustrating physical components of a computer 500 used as part or all of the transportation management system 130 , rider client device 100 , or driver client device 110 from FIG. 1 , according to one embodiment. Illustrated are at least one processor 502 coupled to a chipset 504 . Also coupled to the chipset 504 are a memory 506 , a storage device 508 , a graphics adapter 512 , and a network adapter 516 . A display 518 is coupled to the graphics adapter 512 . In one embodiment, the functionality of the chipset 504 is provided by a memory controller hub 520 and an I/O controller hub 522 . In another embodiment, the memory 506 is coupled directly to the processor 502 instead of the chipset 504 .
  • the storage device 508 is any non-transitory computer-readable storage medium, such as a hard drive, compact disk read-only memory (CD-ROM), DVD, or a solid-state memory device.
  • the memory 506 holds instructions and data used by the processor 502 .
  • the graphics adapter 512 displays images and other information on the display 518 .
  • the network adapter 516 couples the computer 500 to a local or wide area network.
  • a computer 500 can have different and/or other components than those shown in FIG. 5 .
  • the computer 500 can lack certain illustrated components.
  • a computer 500 such as a host or smartphone, may lack a graphics adapter 512 , and/or display 518 , as well as a keyboard or external pointing device.
  • the storage device 508 can be local and/or remote from the computer 500 (such as embodied within a storage area network (SAN)).
  • SAN storage area network
  • the computer 500 is adapted to execute computer program modules for providing functionality described herein.
  • module refers to computer program logic utilized to provide the specified functionality.
  • a module can be implemented in hardware, firmware, and/or software.
  • program modules are stored on the storage device 508 , loaded into the memory 506 , and executed by the processor 502 .
  • a software module is implemented with a computer program product comprising a computer-readable medium containing computer program code which can be executed by a computer processor for performing any or all of the steps operations or processes described.
  • Embodiments may also relate to an apparatus for performing the operations herein.
  • This apparatus may be specially constructed for the required purposes and/or it may comprise a general-purpose computing device selectively activated or reconfigured by a computer program stored in the computer.
  • a computer program may be stored in a non-transitory tangible computer readable storage medium or any type of media suitable for storing electronic instructions which may be coupled to a computer system bus.
  • any computing systems referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
  • Embodiments may also relate to a product that is produced by a computing process described herein.
  • a product may comprise information resulting from a computing process where the information is stored on a non-transitory tangible computer readable storage medium and may include any embodiment of a computer program product or other data combination described herein.

Abstract

A transportation management system coordinates the transportation of riders by drivers integrated with the system. To provide control to the rider of the route used during a trip provided by a given driver, the transportation management system computes several alternative routing options between the trip's origin location and destination location. These alternative routing options may be computed according to the rider's preferences and/or based on different optimization functions that optimize various trip parameters, for example, cost, time, traffic, and distance. The rider selects one of the alternative routing options as the preferred route between the origin location and the destination location. The transportation management system automatically communicates the routing option selected by the rider to the driver without requiring the rider to personally tell the driver of her preference.

Description

    TECHNICAL FIELD
  • This disclosure generally relates to the field of transportation systems and, more particularly, to enabling a rider using a transportation management system to select a route to be used by a driver to transport the rider to a destination location.
  • BACKGROUND
  • Transportation management systems provide support for the logistical issues in managing the transportation of persons, cargo or the like. In some transportation management systems, a driver provides transportation services to a rider to a location selected by the rider; the particular instance of driver transporting a rider is called a trip. In typical systems, when transporting the rider to the selected location, the driver follows her personal preferences in selecting the route to the selected location or follows a route provided by a mapping service. In order to travel a route preferred by the rider, the rider, in such systems, would have to explicitly ask the driver to use the preferred route. This not only requires the rider to be aware of alternative routes and her preferences, but also engage in an undesirable interaction with the driver.
  • SUMMARY OF INVENTION
  • To provide control to the rider of the route used during a trip provided by a given driver, a transportation management system computes several routing options between the trip's origin location and destination location. In some examples, the routing options can include a default routing option and one or more alternative routing options. The routing options may optimize for different parameters, such as cost to the rider, duration of the trip, and/or traffic congestion along the trip. These routing options are provided via a rider client application to the rider prior to the trip commencing (or alternatively, in another example, after the trip commences and the rider is being transported), and the rider may select one of the alternative routing options as the preferred route between the origin location (or alternatively, the current location) and the destination location. The transportation management system communicates data corresponding to the routing option selected by the rider to the driver via a driver client application. This enables the rider's preferred route to be communicated to the driver without requiring the rider to personally tell the driver of her preference and without requiring the driver to provide additional input on the driver client application. Further, the transportation management system monitors the actual route used or being followed by the driver during the trip and compares the actual route against the route selected by the rider and makes any necessary adjustments. A deviation from the rider-selected route causes the transportation management system to communicate a new routing option to the driver that is generated based on the rider-selected routing option and updates the driver's performance rating accordingly.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates the system environment for an example transportation management system.
  • FIG. 2 illustrates an interaction diagram for an algorithm for matching candidate drivers for a given trip request issued by a rider.
  • FIG. 3 illustrates an interaction diagram for an algorithm for providing a rider-selected routing option to a driver matched with the trip request.
  • FIG. 4A illustrates a user interface on the rider client application for displaying alternative routing options.
  • FIG. 4B illustrates a user interface on the driver client application for displaying a rider-selected routing option.
  • FIG. 5 illustrates physical components of a computer used as part or all of the transportation management system, the rider client device, and/or the driver client device.
  • DETAILED DESCRIPTION System Architecture
  • Turning now to the specifics of the system architecture, FIG. 1 illustrates the system environment for an example transportation management system 130. Transportation management system 130 coordinates the transportation of persons and/or goods/items for a user (“rider”) by a travel provider (“driver”). The driver uses a vehicle to provide the transportation to the rider. In this example embodiment, the transportation management system 130 includes, a trip management module 140, a trip matching module 145, a trip routing module 150, a trip monitoring module 155, and various data stores including a trip data store 180, a rider data store 182, a driver data store 184, a driver inventory data store 186, a message data store 188, and a map data store 190. According to some examples, these modules and data stores are not native components of a generic computer system, and provide structures and functions beyond the generic functions of a computer system, as further described below.
  • A rider operates client device 100 that executes a rider client application 102 that communicates with transportation management system 130. The rider operates the client application 102 to make a trip request from the transportation management system 130 for a delivery or transport service (“a trip”) of the rider (and, optionally, additional persons) and/or items, for example cargo needing transport. The rider client application 102 enables the rider to specify an origin location and, optionally, a destination location associated with the trip. An origin location or a destination location may be a location inputted by the user or may correspond to the current location of the client device 100 as determined automatically by a location determination module (not shown) in the client device 100, e.g., a GPS system, a wireless networking system, or a combination thereof.
  • The rider client application 102 transmits a trip request initiated by a user to the transportation management system 130 over the network(s) 120. The trip request identifies the rider and at least the origin location specified by the rider (e.g., and can also include other data, such as a user identifier, a mobile device identifier, a vehicle type, etc.). The transportation management system 130 uses the trip request to match the rider with available drivers, one of whom will be selected to pick up the rider and transport the rider to the desired destination. The rider client application 102 further enables a rider to provide a performance rating for a driver upon completion of a trip. In one embodiment, the rating is provided on a scale of one to five, five being the maximal (best) rating.
  • The driver operates a client device 110 executing a driver application 104 that communicates with the transportation management system 130 to provide information indicating whether the driver is available or unavailable to provide transportation services to riders. In one embodiment, the driver application 104 enables the driver to provide information regarding availability by logging into the transportation management system 130 and activating a setting that they are currently available to provide trips. The driver application 104 also periodically provides the current location of the client device 110 to the transportation management system 130. Depending on implementation, the current location may be a location inputted by the driver or may correspond to the current location of the client device 110 as determined automatically by a location determination module (not shown) in the client device 110, e.g., a GPS system, a wireless networking system, or a combination thereof. The driver application 104 further allows a driver to receive, from the trip matching module 145, an invitation to provide a transport service for a rider. For example, after the transportation management system 130 receives a trip request from a rider, the trip matching module 145 can select a driver to provide a transportation service for the rider based on one or more criteria (e.g., the origin location of the rider, the destination location of the rider, the current location of the driver, the destination location of the driver, the status of the driver or driver application 104, the vehicle type of the driver, etc.), and transmit an invitation to the client device 110 of the selected driver to provide the transportation service for the rider. The driver can then accept or decline the invitation by providing input on the driver application 104. If the driver accepts the invitation, the driver can be assigned the trip and can be provided information to travel to the pickup location (or origin location) of the rider. In one example, the driver application 104 receives routing information from trip routing module 150 to guide the driver from the current location (e.g., when the invitation was accepted) to the pickup location of the rider and subsequently, can also receive routing information from the pickup location to the destination location of the rider. Depending on implementation, the routing information can correspond to a default location and/or a selected location provided by the rider. The driver application 104 enables a driver to provide a rating for of rider upon completion of a trip. In one embodiment, the rating is provided on a scale of one to five, five being the maximal (best) rating.
  • The rider client device 100 and driver client device 110 are portable electronic devices such as smartphones, tablet devices, wearable computing devices (e.g. smartwatches) or similar devices. Examples of such devices include smartphones, executing an corresponding operating systems and running mobile applications, including the rider application 102 and/or the driver application 104. Client devices typically have one or more processors, memory, touch screen displays, wireless networking system (e.g., IEEE 802.11), cellular telephony support (e.g. LTE/GSM/UMTS/CDMA/HSDPA, etc.), and location determination capabilities.
  • Data Model for the Transportation Management System
  • The rider data store 182 stores account and usage information for each rider who is a user of the system. For each rider, the rider data store 182 stores one or more database records associated with the rider, including both master data and usage data. In some examples, master data for a rider includes the rider's name, address information, cell phone number, payment information (e.g., credit card number), sign up date, rider acquisition type (e.g., referral, promotional code, employee); device type (e.g., type of cell phone); platform type (e.g., iOS, Android), application ID, and/or application version for the rider application 102. Usage data includes variables that characterize the rider's usage over the trips that the rider has taken using the system. These variables include at least one or more of the following:
  • TABLE 1
    Rider Usage Variables
    Variable Name Description
    Number of trips Total number of trips made by the rider. Further variations of this
    variable include such as the number of rides in the past 24 hours,
    past seven days, past month, etc.
    Time Since Last Trip Amount of time since the last trip by the rider.
    Frequency of The percent of trip requests that the rider has canceled (e.g., number
    Cancelation by Rider of cancelations/number of requests).
    Frequency of Contact The percent of times that the rider has contacted the driver (either by
    with Driver text or by calling) prior to being picked up by the driver e.g. number
    of contacts/number of trips.
    Average Driver Rating The average of the performance ratings given by the rider to the
    drivers.
    Average Rider Rating The average of the ratings given to the rider by the drivers of trips
    taken by the rider.
    Frequency of Non- The proportion of ratings given by the rider to drivers that are not
    Satisfactory Rating of satisfactory performance ratings. This is the number of times a non-
    the Driver satisfactory was given by the rider to a driver divided by the total
    number of ratings by the rider. The threshold for satisfactory ratings
    is a parameter set in the transportation management system 130, and
    may be a maximal value (e.g., 5 on a 1-5 scale) or a non-maximal
    value (e.g., equal to or greater than 4.00 on a 5 scale).
    Frequency of Non- The proportion of ratings given by the drivers to the rider that are
    Satisfactory Rating of not satisfactory performance ratings. Thus, in this embodiment, it
    the Rider would be the number of times non-satisfactory was given by drivers
    to the rider divided by the total number of ratings made by drivers.
    Number of Hours Since The number of hours that have passed since the last time the rider
    Last Non-Satisfactory gave a non-satisfactory rating to a driver.
    Rating of a Driver
    Routing Preferences Preference for highways, scenic routes, routes that minimize cost,
    routes that minimize time. These preferences may be explicitly
    provided by the rider or may be learned over the rider's usage over
    the trips that the rider has taken using the system.
  • The driver data store 184 stores account and operational information for each driver who participates in the transportation management system 130. For each driver, the driver data store 184 stores one or more database records associated with the driver, including both master data and usage data. In some examples, master data for a driver includes the driver's name; driver's license information; insurance information; vehicle information (year, make, model, vehicle ID, license plate); address information; cell phone number, payment information (e.g. credit card number); sign up date; driver service type (regular luxury pool van etc.); device type (e.g. type of cell phone); platform type (e.g. iOS, Android); application ID; and/or application version for the driver application 104. Operational variables include variables that objectively characterize the driver's operation over the trips that the driver has provided using the system. These variables include at least one or more of the following:
  • TABLE 2
    Driver Operational Variables
    Variable Name Description
    Number of Trips by Total number of trips provided by the driver.
    Driver
    Number of Trips by Number of trips by made the driver in the past four hours. Other
    Driver 4 Hour variations include number of trips in past 24 hours past week past
    month etc.
    Time since shift start Number of hours that the driver has been active in this shift.
    Number of Hours Since The number of hours that have elapsed since the driver received a
    Last Non-Satisfactory non-satisfactory rating from a rider.
    Rating of the Driver
    Frequency of The percent of trip requests that the driver has canceled (e.g.,
    Cancelation by Driver number of cancelations/number of requests accepted by the driver.
    Average Driver Rating The average of the performance ratings given to the driver by riders.
    Average Driver Rating The average of the ratings given by the driver to riders in trips
    provided by the driver.
    Frequency of Non- The proportion of ratings given to the driver by riders that are not
    Satisfactory Rating of satisfactory performance ratings. Thus, in this embodiment, it
    the Driver would be the number of times a rating of less than 5 was given to the
    driver to by a rider divided by the total number of ratings by the
    driver.
    Frequency of Non- The proportion of ratings given by the driver to the riders that are
    Satisfactory Rating of not satisfactory ratings. Thus, in this embodiment, it would be the
    the Rider number of times a rating of less than 5 was given by the driver
    divided by the total number of ratings made by the driver.
    Number of Hours Since The number of hours that have passed since the last time the driver
    Last Non-Satisfactory give a non-satisfactory rating to a rider.
    Rating of a Rider
    Number of Complaints Number of complaints made by riders with respect to the driver.
    against Driver
  • Additional variables may also be developed for either the rider or the driver, for example, the probability of the rider traveling during particular periods and the probability of a driver being available during such periods. Any of the foregoing variables may be weighted with respect to time so that more recent trips are weighted more heavily in any computation of the metric over older trips to provide a greater reflection of the rider's or driver's current behavior given that behavior and expectations can change over time.
  • The trip data store 180 maintains a record of each in-progress and completed trip coordinated by the transportation management system 130. More specifically, each trip provided by a driver to a rider is characterized by a set of attributes (or variables), which together form a trip record that is stored in the trip data store 180. The attributes describe aspects of the driver, the rider, and the trip. In one embodiment, each trip record includes a trip identifier (ID), a rider ID, a driver ID, the origin location, the destination location, the duration of trip, the service type for the trip, estimated time of pick up, actual time of pickup, and driver rating by rider, rider rating by driver, fare information, market information, and/or other environmental variables as described below. The variables for the trip record are thus drawn from multiple sources, including the rider's master and usage records in the rider data store 182, the driver's master and operational records in the driver data store 184, and specific variables captured and received during each trip.
  • A trip record in the trip data store 180 may optionally include additional variables that relate to the characteristics of the specific trip, the behavior of the driver, or experimental variables. For example, the trip record may include telematics information, for example maximal acceleration amounts by the vehicle, the number of times the driver deviated from a designated route by missing a turn or an exit, the number of times the driver stopped, the number of times the driver exceed a posted speed limit, and so forth. The trip record may also include variables indicating messages that the driver or the rider received in connection with the trip as well as responses to questions presented to the rider or the driver.
  • In one embodiment, the trip data store 180 contains one or more of the following variables for each trip:
  • TABLE 3
    Trip Record Variables
    Variable Name Description
    Trip ID Identifier of the specific trip
    RiderID Identifier of the rider
    DriverID Identifier of the driver
    Status Current status of trip (pending, in-progress, completed, etc.)
    Vehicle Type Type of driver's vehicle (e.g. coupe, sedan, SUV, minivan, limo,
    etc.)
    Vehicle Age Age of driver's vehicle in years
    City City of service
    Date/time The date and time that the trip was requested.
    RiderEmployee? Whether the rider is an employee of the provider of the
    transportation management system 130.
    Service type The class of service provided by the driver such as standard, pool,
    luxury, van, and the like.
    Estimated Time of The estimated time of arrival is an estimate of the amount of time (in
    Arrival and seconds) that it should take for the driver to reach the rider's origin
    location given the current location of the driver at the time the driver
    selected the trip request for the rider.
    Actual Time of Arrival The Actual Time of Arrival is the actual amount of time it, in fact,
    took as determined from either an input received from the driver
    application that the driver has picked up the rider or a comparison of
    the location of driver's vehicle to the origin location.
    ExtraETATime The Extra ETA Time is a calculation of the extra time taken to reach
    the origin location relative to the estimate, e.g.:
    Extra ETA Time =
    (Actual Time of Arrival − Estimate Time of Arrival)/Estimated
    Time of Arrival.
    In this formulation larger positive values are indicative of increasing
    wait times for the rider; larger negative values are indicative of the
    driver arriving earlier than estimated.
    Trip Distance The actual distance of the completed trip.
    Trip Duration The actual amount of time for the completed trip as measured from
    the time of rider pickup to the time the driver indicates that the trip
    is completed
    Trip Average Speed Trip distance divided by trip duration
    Surge Pricing A multiplier (>1.0) applied during peak demand times
    Fare The amount charged for the trip.
    Payment Credit An indicator as to whether the fare was paid for with promotional or
    other types of credits.
    Estimated Trip An estimate of the amount of time for the trip.
    Duration
    Extra Trip Time The Extra Trip Time is a calculation of the extra time taken to reach
    the destination location relative to the estimated trip duration e.g.:
    Extra Trip Time =
    (Actual Trip Duration − Estimated Trip Duration)/Estimated Trip
    Duration.
    Congestion Estimate An estimate of the excess time associated with traveling the selected
    route for the trip due to traffic impact. This value may be computed
    as the ratio (timeActual/timeOptimal) − 1.
    Number of Trip For the driver, the average number of times per trip that a supplied
    Reroutings route for the trip had to be rerouted as a result of the driving missing
    an expected turn or exit.
    Maximum Lateral Maximum readings of acceleration as measured by the driver's
    Acceleration device 110.
    Maximum Deceleration Maximum reading of deceleration (braking) as measured by the
    driver's device 110.
    Waiting Time by Time between the driver's arrival at the origin location and the time
    Driver the trip started as indicated by the driver.
    DriverMessageList List of message IDs or other identifiers of messages provided to the
    driver's client application 104
    RiderMessageList List of message IDs or other identifiers of messages provided to the
    rider client application 102
    DriverResponseList List of responses (by ID or text values) received from the driver's
    client application 104 in response to question messages.
    RiderResponseList List of responses (by ID or text values) received from the rider's
    client application 102 in response to question messages.
    Rider Rating The rating of the rider by the driver.
    Driver Performance The performance rating of the driver by the rider. The rating can be
    Rating expressed in a scale (e.g., 1-5, where 5 is a maximal rating),
    positive/negative scale (e.g., “thumbs up/thumbs down”).

    Matching Trip Requests with Drivers
  • The trip management module 140 is configured as a communicative interface between the client application 102, the driver application 104, and the various modules and data stores in the transportation management system 130, and is one means for performing this function. The trip management module 140 is configured to receive driver availability status information and current location information from the driver client application 102 and update the driver inventory data store 186 with the availability status. The trip management module 140 is also configured to receive trip requests from the rider client application 102 and creates corresponding trip records in the trip data store 180. A trip record corresponding to an unprocessed trip request has a trip ID, a rider ID, an origin location, a destination location, and a status indicating that the corresponding trip request has not been processed.
  • The trip matching module 145 processes a trip request by selecting a currently available driver to provide the transportation service associated with the trip request, and is one means for performing this function. In one embodiment, the matching or selecting is based in part on the current location (or origin location) of the rider and the current location of the driver in their vehicle, as provided by the location determination capabilities of their respective devices 100 and 110.
  • FIG. 2 illustrates an interaction diagram for an algorithm for matching a currently available driver with a trip request received from the rider client application 102.
  • At 201, the driver uses the driver application 104 to transmit a message the trip management module 140 indicating that the driver is available for transporting riders. In response, at 203, the trip management module 140 updates the status of the driver in the driver inventory data store 186 with a record indicating the driver is available for matching, and location of the driver (which gets updated periodically). This step occurs repeatedly over the pool of drivers.
  • At 205, the trip management module 140 separately receives a trip request from a rider using the rider client application 102. The trip request includes the rider's current location or specified pickup location (typically the origin location) and/or an intended destination location. In some examples, a destination location is not required. In response, at 207, the trip management module 140 processes the trip request (e.g., by authenticating the rider and/or retrieving the rider's attributes from the rider's master record in the rider data store 182) and, at 209, creates a trip record in the trip data store 180. The status of the newly created record is set to “Pending” or another state indicating that the trip request has not yet been processed. Such a trip is referred to herein as a “pending trip.”
  • At 211, the trip matching module 145, in one example, receives the trip request and/or monitors the unprocessed trip request in the trip data store 180, and determines, from the driver inventory data store 186, which drivers are potential candidates to pick up the rider for the newly created trip. For example, for the pending trip, the trip matching module 145 identifies a set of candidate drivers who are within a configurable maximum distance or within a maximum estimated travel time from the origin location.
  • At 213, the trip matching module 145 selects a first driver from the set of candidate drivers to provide the transportation service associated with the trip request based on the driver's estimated time of arrival (and/or distance) to the rider's pickup location, i.e., the origin location (and/or other factors, in other examples). Alternatively, the trip matching module 145 may select some number or percentage of the top-ranked candidate drivers (e.g. top 10%) and then select a driver from the top-ranked drivers. The percentage can be a function of the number of candidate drivers such that, as the number of candidate drivers increases, the top percentage for selection becomes smaller and thus only the top-ranked drivers are given notice of the pending trip request.
  • At 215, the trip management module 140 transmits, to the driver application 104 of the selected driver, a driver trip invitation to provide the transportation service for the rider. The invitation can include information about the origin location and rider information (and/or destination location). At 217, the driver may use his or her respective driver application 104 to accept the invitation. The driver application 104 transmits a notification to the trip management module 140 indicating that the driver has accepted the trip.
  • At 219, the trip management module 140 updates the trip record associated with the selected trip in the trip data store 180 to indicate that pending trip request has been fulfilled and that the trip is now in progress. At 221, the trip management module 140 removes the driver from the pool of available drivers in the driver inventory store 184, and no longer includes the driver as a candidate for other pending requests (until after the driver completes the trip).
  • At 223, the trip management module 140 transmits trip information to the rider client application 102 for presentation to the rider. The trip information includes information related to the driver who selected the trip and an estimated time of arrival of the driver to the origin location.
  • The driver travels to the origin location of the requesting rider and picks up the rider. As the driver travels to the origin location (and as the driver travels from the origin location to the destination location), the driver client application 104 can periodically provide current location information to the trip management module 140. The trip management module 140 can update the rider client application 102 accordingly, so that the rider can view the status and location of the driver as the driver travels to the origin location. At the time the driver picks up a rider, the driver uses driver application 104 to signal, at 225, to the trip management module 140 that the rider has been successfully picked up and/or to start the transportation service. When the driver reaches the destination location, the driver uses driver application 104 to signal to the transportation management system 130 that the trip is completed and can subsequently provide a rating of the rider by the driver. The transportation management system 130 calculates a total fare to be paid by the rider for the trip based on the time and/or the distance traveled by the driver (and other fees or tolls) and communicates this information to rider application 102 and may also process payments for the rider. The transportation management system 130 marks the trip record as complete at this point and adds the driver back into the inventory of available drivers in driver inventory data store 186.
  • Providing Routing Options to Riders
  • The trip routing module 150 is configured to compute routing options from the rider's origin location to the destination location for a trip, and is one means for performing this function. A routing option specifies the route a driver may take to transport the rider from the origin location to the destination location. Although examples described herein refer to routing options as routes from the origin to the destination for purposes of simplicity, in other examples, routing options can include routes from the driver's current location to the rider's origin location and/or from the driver's current location to the origin location and then to the destination location. The trip routing module 150 can also reroute a trip based on location information received from the driver application 104, indicating for example that the driver has deviated from the recommended or rider-specified route. The trip routing module 150 accesses map data from a map data store 190 as well as short-term data to predict travel speed along the route and select a route for the trip. The trip routing module 150 may use any suitable routing algorithm, such as Dijkstra's algorithm for calculating the route between the origin and destination. The routing module 150 may also calculate the route from the location of the driver's vehicle to the origin location to assist the driver in picking up the rider. When the routing module 150 calculates the route, the routing module 150 may also calculate a distance or amount of time that the route will take. The routing module 150 may also access event and other short-term data from the map data store 190 to account for variations in routing that may occur due to this short-term data.
  • To provide control to the rider of the route used during a trip provided by a given driver, the trip routing module 150 is also configured to compute several alternative routing options between a trip's origin location and destination location. These alternative routing options are provided via the rider client application 102 to the rider prior to the trip commencing, and the rider may select one of the alternative routing options as the preferred route between the origin location and the destination location. The trip management module 140 is configured to communicate the routing option selected by the rider to the driver via the driver client application 104. This allows for the rider's preferred route being communicated to the driver without requiring the rider to personally tell the driver of her preference. The following discussion describes the operation of the trip management module 140 and the trip routing module 150 to provide alternative routing options to rider and communicating a rider-selected preferred routing option to the driver.
  • FIG. 3 illustrates an interaction diagram for an algorithm for providing a rider-selected routing option to a driver matched with the trip request.
  • At 301, the trip management module 140 transmits, to the trip routing module 150, a request for alternative routing options between the origin location and the destination location associated with a trip request issued by a rider. In one embodiment, the trip management module 140 transmits the request to the trip routing module 150 when the status of a trip has been updated in the trip data store 180 to indicate that the trip is in progress. In one embodiment, the trip management module 140 provides, as a part of the request, the origin location and the destination location associated with the trip. In an alternative embodiment, the trip management module 140 provides only the trip identifier associated with the trip to the trip routing module 150, and the trip routing module 150 retrieves the origin and destination locations associated with the trip from the trip data store 180.
  • At 303, the trip routing module 150 determines two or more alternative routing options between the origin location and the destination location that may be presented to the rider who issued the trip request (referred to herein as the “requesting rider”). Each alternative routing option determined by the trip routing module 150 is unique from every other routing option such that the path from the origin location to the destination location is unique to each routing option. To determine the alternative routing options, the trip routing module 150 computes different routes between the origin and destination locations that each optimizes for a different parameter or combination of parameters associated with the trip and/or a business goal of the transportation management system 130. Parameters associated with the trip include, but are not limited to, cost of the trip incurred by the rider, estimated time to reach the destination location, traffic congestion along the route, safety along the route, the type of road(s) (e.g., highway, toll road, city roads, scenic road, etc.) along the route, and time of day. Parameters associated with a business goal include, but are not limited to, the quantity and type of data (e.g., traffic data, map data, and driver or rider habits/preferences) that can be collected during the trip, the amount of revenue that can be generated during the trip from various sources (e.g., advertising).
  • In one embodiment, the trip routing module 150 is configured with different optimization functions that each, given the origin and destination locations, computes a routing option optimized for a different parameter or a combination of parameters (the “optimized parameters”). Each optimization function is associated with a set of optimized parameters and assigns weights to the optimized parameters such that the routing option generated by the function optimizes for parameters having higher weights relative to parameters having lower weights. For example, an optimization function may assign a higher weight to the cost of the trip relative to the total distance traveled, and, therefore, the generated routing option is cheaper than the alternatives but traverses a larger distance. In one embodiment, the weights assigned to the optimized parameters of an optimization function are the same for all riders using the transportation management system 130. In alternative embodiments, the optimization functions are rider-specific, such that a given a rider's preferences impact the weights assigned to the optimized parameters. The rider's preferences may be learned over time, based on rider attributes stored in the rider data store 182, or may be expressly provided by the rider via the rider client application 102. In one embodiment, the weights assigned to the optimized parameters may be determined per trip for a given rider.
  • In some cases, the trip routing module 150 determines a large number of alternative routing options for a given trip and, thus, selects only a subset of the determined routing options for presentation to the rider. To select the subset of routing options, the trip routing module 150 ranks the determined alternative routing options based on the rider's preferences and/or the business goals of the transportation management system 130. The trip routing module 150 may also select the routing options to be presented based on route diversity such that the selected routing options traverse a diverse set of paths between the origin and destination locations.
  • Referring again to FIG. 3, at 305, the trip routing module 150 transmits the alternative routing options to the trip management module 140. The trip management module 140, in turn, transmits the alternative routing options to the rider client application 102 for presentation to the rider. The trip management module 140 may optionally store the alternative routing options in the trip data store 180 in association with the trip for which the routing options are determined. Each routing option may be stored with a unique route ID.
  • The rider client application 102 presents the alternative routing options to the rider and provides the rider with the ability to select a routing option from presented routing options. FIG. 4A illustrates a user interface 402 on the rider client application 102 for displaying alternative routing options. In the illustration, the user interface 402 displays the origin location, the destination location, and routing options 404 and 406. The presentation of each of the routing options 404 and 406 includes information about the respective routing option, for example, the estimated time of arrival and the amount of traffic on the route, and a map, e.g. map 408, that visually displays the route from the origin location to the destination location. In one embodiment, the routing options 404 and 406 are individually selectable such that the rider may manipulate the user interface 402 to select the preferred routing option.
  • Referring back to FIG. 3, at 307, in response to the rider selecting a routing option, the rider client application 102 transmits the rider-selected routing option to the trip management module 140. In one embodiment, the rider client application 102 transmits the unique route ID associated with the routing option to the trip management module 140, and the trip management module 140 retrieves the information associated with the selected routing option from the trip data store 180.
  • At 309, the trip management module 140 transmits the rider-selected routing option to the driver client application 104 for presentation to the driver. In one embodiment, the driver client application 104 presents the rider-selected routing option to the driver in a manner that visually indicates to the driver that the rider selected the routing option. The driver client application 104 may also display messages to the driver indicating the importance of using the rider-selected routing option when transporting the rider from the origin location to the destination location. FIG. 4B illustrates a user interface 410 on the driver client application 104 for displaying a rider-selected routing option. In the illustration, the user interface 410 includes
  • At 311, the trip management module 140 updates the trip record associated with the trip and stored in the trip data store 180 to reflect the rider-selected routing option as the preferred route for the trip. At 313, the trip routing module 150 receives location information for the driver's vehicle during the trip. At 315, the trip routing module 150, upon determining that the driver has deviated from the rider-selected routing option, determines an alternative route for the trip based on the rider-selected routing option.
  • In one embodiment, during the trip, the trip monitoring module 155 optionally receives information from the driver's client application 104 indicating the location of the driver's vehicle and telematics information (e.g. such indications of current speed acceleration/deceleration events stops and so forth). The trip monitoring module 155 stores deviations from the rider-selected routing option in the trip record stored in the trip data store 180. These deviations may factor into the driver's performance ratings over time.
  • In such a manner, the rider being transported from an origin location to a destination location is involved in the process of selecting the preferred route on the trip and can provide her preference to the driver with minimal friction or express interaction with the driver. The driver's adherence to the rider-selected route is monitored and may factor into the driver's overall performance rating.
  • Hardware Diagrams
  • FIG. 5 is a high-level block diagram illustrating physical components of a computer 500 used as part or all of the transportation management system 130, rider client device 100, or driver client device 110 from FIG. 1, according to one embodiment. Illustrated are at least one processor 502 coupled to a chipset 504. Also coupled to the chipset 504 are a memory 506, a storage device 508, a graphics adapter 512, and a network adapter 516. A display 518 is coupled to the graphics adapter 512. In one embodiment, the functionality of the chipset 504 is provided by a memory controller hub 520 and an I/O controller hub 522. In another embodiment, the memory 506 is coupled directly to the processor 502 instead of the chipset 504.
  • The storage device 508 is any non-transitory computer-readable storage medium, such as a hard drive, compact disk read-only memory (CD-ROM), DVD, or a solid-state memory device. The memory 506 holds instructions and data used by the processor 502. The graphics adapter 512 displays images and other information on the display 518. The network adapter 516 couples the computer 500 to a local or wide area network.
  • As is known in the art, a computer 500 can have different and/or other components than those shown in FIG. 5. In addition, the computer 500 can lack certain illustrated components. In one embodiment, a computer 500, such as a host or smartphone, may lack a graphics adapter 512, and/or display 518, as well as a keyboard or external pointing device. Moreover, the storage device 508 can be local and/or remote from the computer 500 (such as embodied within a storage area network (SAN)).
  • As is known in the art, the computer 500 is adapted to execute computer program modules for providing functionality described herein. As used herein, the term “module” refers to computer program logic utilized to provide the specified functionality. Thus, a module can be implemented in hardware, firmware, and/or software. In one embodiment, program modules are stored on the storage device 508, loaded into the memory 506, and executed by the processor 502.
  • The foregoing description has been presented for the purpose of illustration; it is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Persons skilled in the relevant art can appreciate that many modifications and variations are possible in light of the above disclosure.
  • Some portions of this description describe embodiments in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations while described functionally computationally or logically are understood to be implemented by computer programs or equivalent electrical circuits microcode or the like. Furthermore it has also proven convenient at times to refer to these arrangements of operations as modules without loss of generality. The described operations and their associated modules may be embodied in software firmware hardware or any combinations thereof.
  • Any of the steps operations or processes described herein may be performed or implemented with one or more hardware or software modules alone or in combination with other devices. In one embodiment a software module is implemented with a computer program product comprising a computer-readable medium containing computer program code which can be executed by a computer processor for performing any or all of the steps operations or processes described.
  • Embodiments may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes and/or it may comprise a general-purpose computing device selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a non-transitory tangible computer readable storage medium or any type of media suitable for storing electronic instructions which may be coupled to a computer system bus. Furthermore any computing systems referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
  • Embodiments may also relate to a product that is produced by a computing process described herein. Such a product may comprise information resulting from a computing process where the information is stored on a non-transitory tangible computer readable storage medium and may include any embodiment of a computer program product or other data combination described herein.
  • Finally, the language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description but rather by any claims that issue on an application based hereon. Accordingly the disclosure of the embodiments of the invention is intended to be illustrative but not limiting of the scope of the invention which is set forth in the following claims.

Claims (22)

1. A method for providing rider-selected routing options to a driver using a transportation management system, the method comprising:
receiving a trip request for transporting a rider from an origin location to a destination location;
determining a plurality of different routing options associated with the trip request, each routing option optimized according to a different combination of trip parameters and specifying a unique path for traveling from the origin location to the destination location;
transmitting the plurality of routing options to a rider client device for display to the rider;
receiving from the rider client device a selection of a routing option in the plurality of routing options; and
transmitting the selected routing option to a driver client device associated with a driver selected to transport the rider from the origin location to the destination location, wherein transmitting the selected routing option comprises providing for display a visual indication that the selected routing option was selected by the rider.
2. The method of claim 1, wherein determining the plurality of routing options comprises computing each of the routing options based on a different optimization function that assigns weights to a combination of trip parameters associated with the optimization function.
3. The method of claim 2, wherein a weight assigned to a first trip parameter is set according to preferences of the rider identified based on previous trips taken by the rider using the transportation management system.
4. The method of claim 2, wherein a weight assigned to a first trip parameter is set according to preferences provided by the rider to the transportation management system.
5. The method of claim 1, wherein a trip parameter according to which a first routing option is optimized is selected from a group consisting of: an estimated cost to the rider, an estimated time to reach the destination location, an amount of traffic congestion along the first routing option, safety along the route along the first routing option, the type of road(s) along the first routing option, and a time of day associated with the trip request.
6. The method of claim 1, further comprising, responsive to determining that the driver has deviated from the selected routing option, determining based on the selected routing option an alternative route for transporting the rider to the destination location.
7. The method of claim 1, further comprising, responsive to determining that the driver has deviated from the selected routing option, updating a performance rating associated with the driver to indicate that the driver did not adhere to the selected routing option.
8. The method of claim 1, wherein transmitting the plurality of routing options to the rider client device comprises transmitting, for each routing option, the specified path for traveling from the origin location to the destination location and an estimated time of arrival at the destination location.
9. The method of claim 1, wherein transmitting the selected routing option to the driver client device comprises transmitting a notification to the driver client device indicating that the selected routing option was selected by the rider.
10. A non-transitory computer-readable storage medium having instructions executable by a processor, the instructions comprising:
instructions for receiving a trip request for transporting a rider from an origin location to a destination location;
instructions for determining a plurality of different routing options associated with the trip request, each routing option optimized according to a different combination of trip parameters and specifying a unique path for traveling from the origin location to the destination location;
instructions for transmitting the plurality of routing options to a rider client device for display to the rider;
instructions for receiving from the rider client device a selection of a routing option in the plurality of routing options; and
instructions for transmitting the selected routing option to a driver client device associated with a driver selected to transport the rider from the origin location to the destination location, wherein transmitting the selected routing option comprises providing for display a visual indication that the selected routing option was selected by the rider.
11. The non-transitory computer-readable storage medium of claim 10, wherein determining the plurality of routing options comprises computing each of the routing options based on a different optimization function that assigns weights to a combination of trip parameters associated with the optimization function.
12. The non-transitory computer-readable storage medium of claim 11, wherein a weight assigned to a first trip parameter is set according to preferences of the rider identified based on previous trips taken by the rider using the transportation management system.
13. The non-transitory computer-readable storage medium of claim 11, wherein a weight assigned to a first trip parameter is set according to preferences provided by the rider to the transportation management system.
14. The non-transitory computer-readable storage medium of claim 10, wherein a trip parameter according to which a first routing option is optimized is selected from a group consisting of: an estimated cost to the rider, an estimated time to reach the destination location, an amount of traffic congestion along the first routing option, safety along the route along the first routing option, the type of road(s) along the first routing option, and a time of day associated with the trip request.
15. The non-transitory computer-readable storage medium of claim 10, the instructions further comprising instructions for, responsive to determining that the driver has deviated from the selected routing option, determining based on the selected routing option an alternative route for transporting the rider to the destination location.
16. The non-transitory computer-readable storage medium of claim 10, the instructions further comprising instructions for, responsive to determining that the driver has deviated from the selected routing option, updating a performance rating associated with the driver to indicate that the driver did not adhere to the selected routing option.
17. (canceled)
18. (canceled)
19. A computer system comprising:
a computer processor; and
a non-transitory computer-readable storage medium storing instructions executable by the computer processor, the instructions comprising:
instructions for receiving a trip request for transporting a rider from an origin location to a destination location;
instructions for determining a plurality of different routing options associated with the trip request, each routing option optimized according to a different combination of trip parameters and specifying a unique path for traveling from the origin location to the destination location;
instructions for transmitting the plurality of routing options to a rider client device for display to the rider;
instructions for receiving from the rider client device a selection of a routing option in the plurality of routing options; and
instructions for transmitting the selected routing option to a driver client device associated with a driver selected to transport the rider from the origin location to the destination location, wherein transmitting the selected routing option comprises providing for display a visual indication that the selected routing option was selected by the rider.
20. The computer system of claim 19, wherein determining the plurality of routing options comprises computing each of the routing options based on a different optimization function that assigns weights to a combination of trip parameters associated with the optimization function.
21. The method of claim 1, wherein a trip parameter according to which a second routing option is optimized comprises a quantity and type of data that can be collected during the trip.
22. The method of claim 1, wherein a trip parameter according to which a second routing option is optimized comprises an amount of revenue that can be generated during the trip from various sources.
US15/197,518 2016-06-29 2016-06-29 Providing alternative routing options to a rider of a transportation management system Active US9857188B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/197,518 US9857188B1 (en) 2016-06-29 2016-06-29 Providing alternative routing options to a rider of a transportation management system
US15/809,948 US10466059B2 (en) 2016-06-29 2017-11-10 Providing alternative routing options to a rider of a transportation management system
US16/548,632 US11162803B2 (en) 2016-06-29 2019-08-22 Providing alternative routing options to a rider of a transportation management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US15/197,518 US9857188B1 (en) 2016-06-29 2016-06-29 Providing alternative routing options to a rider of a transportation management system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/809,948 Continuation US10466059B2 (en) 2016-06-29 2017-11-10 Providing alternative routing options to a rider of a transportation management system

Publications (2)

Publication Number Publication Date
US9857188B1 US9857188B1 (en) 2018-01-02
US20180003517A1 true US20180003517A1 (en) 2018-01-04

Family

ID=60788765

Family Applications (3)

Application Number Title Priority Date Filing Date
US15/197,518 Active US9857188B1 (en) 2016-06-29 2016-06-29 Providing alternative routing options to a rider of a transportation management system
US15/809,948 Active US10466059B2 (en) 2016-06-29 2017-11-10 Providing alternative routing options to a rider of a transportation management system
US16/548,632 Active 2037-01-14 US11162803B2 (en) 2016-06-29 2019-08-22 Providing alternative routing options to a rider of a transportation management system

Family Applications After (2)

Application Number Title Priority Date Filing Date
US15/809,948 Active US10466059B2 (en) 2016-06-29 2017-11-10 Providing alternative routing options to a rider of a transportation management system
US16/548,632 Active 2037-01-14 US11162803B2 (en) 2016-06-29 2019-08-22 Providing alternative routing options to a rider of a transportation management system

Country Status (1)

Country Link
US (3) US9857188B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11774256B2 (en) * 2019-01-30 2023-10-03 Uber Technologies, Inc. User control of alternate routes

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6510970B2 (en) * 2015-12-22 2019-05-08 本田技研工業株式会社 Route search system, route search program and route search method
US9857188B1 (en) 2016-06-29 2018-01-02 Uber Technologies, Inc. Providing alternative routing options to a rider of a transportation management system
US11182709B2 (en) 2016-08-16 2021-11-23 Teleport Mobility, Inc. Interactive real time system and real time method of use thereof in conveyance industry segments
US11176500B2 (en) 2016-08-16 2021-11-16 Teleport Mobility, Inc. Interactive real time system and real time method of use thereof in conveyance industry segments
US11087252B2 (en) 2016-08-16 2021-08-10 Teleport Mobility, Inc. Interactive real time system and real time method of use thereof in conveyance industry segments
US10024669B2 (en) * 2016-08-30 2018-07-17 Google Llc Rerouting in a navigation system based on updated information
US11288716B1 (en) * 2016-11-04 2022-03-29 Jpmorgan Chase Bank, N.A. Systems and methods for digital wallet transit payments
US10832368B2 (en) * 2017-04-20 2020-11-10 Lyft, Inc. Methods and systems for navigating drivers to passengers based on trustworthiness ratings
US20190228352A1 (en) 2018-01-19 2019-07-25 Walmart Apollo, Llc Systems and methods for combinatorial resource optimization
US11475395B2 (en) * 2018-01-19 2022-10-18 Walmart Apollo, Llc Systems and methods for combinatorial resource optimization
CN108537430A (en) * 2018-03-30 2018-09-14 京东方科技集团股份有限公司 Drive service evaluation method and device, equipment and storage medium
US11615368B2 (en) 2018-11-01 2023-03-28 Walmart Apollo, Llc Systems and methods for determining delivery time and route assignments
US20200311666A1 (en) 2019-03-28 2020-10-01 Ebay Inc. Encoding sensor data and responses in a distributed ledger
US20220020106A1 (en) * 2020-07-16 2022-01-20 Uber Technologies, Inc. Dynamic pickup point re-ranking system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928365B2 (en) * 2002-04-09 2005-08-09 Pioneer Corporation Navigation apparatus, navigation method, navigation program and recording medium storing the program
US20070276595A1 (en) * 2006-05-25 2007-11-29 Survey People Corp. Method of selective ride-sharing among multiple users along an optimized travel route
US20080275643A1 (en) * 2007-05-02 2008-11-06 Toshiba America Research, Inc. Optimum route planning for service vehicles
US20090326991A1 (en) * 2008-06-27 2009-12-31 E-Lantis Corporation Gps and wireless integrated fleet management system and method
US20110153629A1 (en) * 2009-12-21 2011-06-23 Sap Ag Computer implemented method for allocating drivers and passengers sharing a trip
US20110224898A1 (en) * 2010-03-11 2011-09-15 Scofield Christopher L Learning road navigation paths based on aggregate driver behavior
US8121780B2 (en) * 2008-05-18 2012-02-21 Volkswagen Of America, Inc. Method for offering a user reward based on a chosen navigation route
US20150323329A1 (en) * 2014-05-06 2015-11-12 Elwha LLC, a limited liability company of the State of Delaware Systems and methods for travel planning that calls for at least one transportation vehicle unit
US20160223347A1 (en) * 2012-03-14 2016-08-04 Autoconnect Holdings Llc Travel route alteration based on user profile and business

Family Cites Families (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5177685A (en) * 1990-08-09 1993-01-05 Massachusetts Institute Of Technology Automobile navigation system using real time spoken driving instructions
US5948040A (en) * 1994-06-24 1999-09-07 Delorme Publishing Co. Travel reservation information and planning system
EP0777206A1 (en) * 1995-11-30 1997-06-04 Aisin Aw Co., Ltd. Vehicular navigation apparatus
US5862509A (en) * 1996-12-20 1999-01-19 Zexel Corporation Vehicle navigation using timed turn and timed lane restrictions
US7421397B2 (en) * 2002-02-01 2008-09-02 Canadian National Railway Company System and method for providing a price quotation for a transportation service providing route selection capability
US20040158483A1 (en) * 2003-02-10 2004-08-12 Lecouturier Jacques M. Business and technological method for a flexible automobile sharing transit on demand
GB2444414A (en) * 2003-10-24 2008-06-04 Trafficmaster Plc Route Guidance System
EP1835259A4 (en) * 2005-01-07 2011-07-27 Navitime Japan Co Ltd Navigation system and portable terminal
US7561964B2 (en) * 2006-01-05 2009-07-14 Alpine Electronics, Inc. Off-route recalculation method and apparatus for navigation system
CA2554651A1 (en) * 2006-07-31 2008-01-31 Trapeze Software Inc. System and method for optimizing a transit network
US20080255754A1 (en) * 2007-04-12 2008-10-16 David Pinto Traffic incidents processing system and method for sharing real time traffic information
US20090248587A1 (en) * 2007-08-31 2009-10-01 Van Buskirk Peter C Selectively negotiated ridershare system comprising riders, drivers, and vehicles
US20090083111A1 (en) * 2007-09-21 2009-03-26 Bob Carr Systems and Methods for Coordinating Transportation Between Riders and Volunteer Drivers
US8489324B2 (en) * 2008-04-01 2013-07-16 Decarta Inc. Retrieval of vehicular traffic information optimized for wireless mobile environments
US20100185486A1 (en) * 2009-01-21 2010-07-22 Disney Enterprises, Inc. Determining demand associated with origin-destination pairs for bus ridership forecasting
US20100299177A1 (en) * 2009-05-22 2010-11-25 Disney Enterprises, Inc. Dynamic bus dispatching and labor assignment system
US8688532B2 (en) * 2009-12-11 2014-04-01 General Motors Llc Real-time ride share system
WO2011081159A1 (en) * 2009-12-28 2011-07-07 クラリオン株式会社 Navigation device, route guidance method, and program
US20110301997A1 (en) * 2010-06-04 2011-12-08 Ecology & Environment, Inc. System and method for managing fleet vehicles or employee owned vehicles
US20120078672A1 (en) * 2010-09-29 2012-03-29 IT Curves LLC Efficient Automated Ride Sharing System
US9395198B2 (en) * 2011-03-28 2016-07-19 International Business Machines Corporation Dynamic routing via intelligent mapping system
US20120323690A1 (en) * 2011-06-15 2012-12-20 Joseph Michael Systems and methods for monitoring, managing, and facilitating location- and/or other criteria-dependent targeted communications and/or transactions
US9958280B2 (en) * 2011-08-16 2018-05-01 Inrix, Inc. Assessing inter-modal passenger travel options
FR2980295B1 (en) * 2011-09-15 2014-08-08 Michelin Soc Tech METHOD AND SYSTEM FOR NAVIGATION WITH CENTRALIZED SERVER
US8775059B2 (en) * 2011-10-26 2014-07-08 Right There Ware LLC Method and system for fleet navigation, dispatching and multi-vehicle, multi-destination routing
JP5406952B2 (en) * 2012-02-06 2014-02-05 本田技研工業株式会社 Navigation server and navigation system
JP5704086B2 (en) * 2012-02-07 2015-04-22 株式会社デンソー Car navigation system
US20130278441A1 (en) * 2012-04-24 2013-10-24 Zetta Research and Development, LLC - ForC Series Vehicle proxying
US9638537B2 (en) * 2012-06-21 2017-05-02 Cellepathy Inc. Interface selection in navigation guidance systems
US9958272B2 (en) * 2012-08-10 2018-05-01 Telogis, Inc. Real-time computation of vehicle service routes
EP2972096B1 (en) * 2013-03-15 2019-01-09 Volkswagen Aktiengesellschaft Automatic driving route planning application
EP2973494A4 (en) * 2013-03-15 2016-11-23 Caliper Corp Lane-level vehicle navigation for vehicle routing and traffic management
US20150073695A1 (en) * 2013-09-12 2015-03-12 Rory Groves System for route scheduling, driver alerts, and corrective action based on weather guidance
US9151631B2 (en) * 2013-10-14 2015-10-06 Ford Global Technologies, Llc Vehicle fueling route planning
CA3194882A1 (en) * 2013-12-11 2015-06-18 Uber Technologies, Inc. Optimizing selection of drivers for transport requests
US20150254581A1 (en) * 2014-03-04 2015-09-10 iCarpool, Inc. Rideshare system and method to facilitate instant carpooling
US20150253144A1 (en) * 2014-03-10 2015-09-10 Sackett Solutions & Innovations Llc Methods and route planning systems for dynamic trip modifications and quick and easy alternative routes
US9755850B2 (en) * 2014-05-01 2017-09-05 Elizabeth B. Stolfus Providing dynamic routing alternatives based on determined traffic conditions
US20160042303A1 (en) * 2014-08-05 2016-02-11 Qtech Partners LLC Dispatch system and method of dispatching vehicles
US9689705B2 (en) * 2014-08-29 2017-06-27 Mapquest, Inc. Systems and methods for electronic display of various conditions along a navigation route
BR112017003958A2 (en) * 2014-09-05 2017-12-19 Uber Technologies Inc providing route information to devices during a shared transport service
US10101164B2 (en) * 2014-10-16 2018-10-16 Aayush Thakur Route optimization system and methods of use thereof
EP3967979B1 (en) * 2014-10-20 2023-03-29 TomTom Navigation B.V. Alternative routes
US9536210B2 (en) * 2014-12-11 2017-01-03 Xerox Corporation Origin-destination estimation system for a transportation system
US20180268359A1 (en) * 2015-02-07 2018-09-20 Sahoo SOUBHAGYA Method and system for providing multi-destination dynamic routing in logistics
US9494439B1 (en) * 2015-05-13 2016-11-15 Uber Technologies, Inc. Autonomous vehicle operated with guide assistance of human driven vehicles
US10345809B2 (en) * 2015-05-13 2019-07-09 Uber Technologies, Inc. Providing remote assistance to an autonomous vehicle
US9547309B2 (en) * 2015-05-13 2017-01-17 Uber Technologies, Inc. Selecting vehicle type for providing transport
US20160356615A1 (en) * 2015-06-05 2016-12-08 MuV Technologies, Inc. Scheduled and On-Demand Transportation Management Platform for Rideshare
US20160364823A1 (en) * 2015-06-11 2016-12-15 Raymond Cao Systems and methods for on-demand transportation
US20160364812A1 (en) * 2015-06-11 2016-12-15 Raymond Cao Systems and methods for on-demand transportation
US20160364679A1 (en) * 2015-06-11 2016-12-15 Raymond Cao Systems and methods for on-demand transportation
US9904900B2 (en) * 2015-06-11 2018-02-27 Bao Tran Systems and methods for on-demand transportation
US10139828B2 (en) * 2015-09-24 2018-11-27 Uber Technologies, Inc. Autonomous vehicle operated with safety augmentation
US9958864B2 (en) * 2015-11-04 2018-05-01 Zoox, Inc. Coordination of dispatching and maintaining fleet of autonomous vehicles
US9939279B2 (en) * 2015-11-16 2018-04-10 Uber Technologies, Inc. Method and system for shared transport
US20180356237A1 (en) * 2015-12-10 2018-12-13 Cellepathy Inc. Enhanced navigation instruction and user determination
JP6489003B2 (en) * 2015-12-14 2019-03-27 株式会社デンソー Route search device and vehicle automatic driving device
US10379533B2 (en) * 2016-01-04 2019-08-13 GM Global Technology Operations LLC System and method for autonomous vehicle fleet routing
US10802477B1 (en) * 2016-01-22 2020-10-13 State Farm Mutual Automobile Insurance Company Virtual testing of autonomous environment control system
US9945678B2 (en) * 2016-04-27 2018-04-17 Telenav, Inc. Navigation system with arrival time mechanism and method of operation thereof
US9857188B1 (en) * 2016-06-29 2018-01-02 Uber Technologies, Inc. Providing alternative routing options to a rider of a transportation management system
EP3555569A1 (en) * 2016-11-09 2019-10-23 Inventive Cogs (Campbell) Limited Vehicle route guidance
GB2556876A (en) * 2016-11-09 2018-06-13 Inventive Cogs Campbell Ltd Vehicle route guidance
GB2560487A (en) * 2016-11-09 2018-09-19 Inventive Cogs Campbell Ltd Vehicle route guidance
US10048086B2 (en) * 2016-11-14 2018-08-14 Qualcomm Incorporated Systems and methods for trip planning
JP6769892B2 (en) * 2017-02-22 2020-10-14 クラリオン株式会社 Navigation device, route search server, and route search method
CA3054776C (en) * 2017-02-27 2020-11-10 Uber Technologies, Inc. Dynamic display of route preview information
US10304329B2 (en) * 2017-06-28 2019-05-28 Zendrive, Inc. Method and system for determining traffic-related characteristics
US10429195B2 (en) * 2017-09-19 2019-10-01 Here Global B.V. Method, apparatus, and computer program product for generation of a route using time and space
US20190101401A1 (en) * 2017-10-04 2019-04-04 Ford Global Technologies, Llc Dynamic vehicle routing determinations
US20190378055A1 (en) * 2018-06-06 2019-12-12 Lyft, Inc. Systems and methods for determining allocation of personal mobility vehicles
US10915914B2 (en) * 2018-08-21 2021-02-09 Here Global B.V. Method, apparatus, and computer program product for incentivizing travel along road segments
DK201970121A1 (en) * 2018-10-30 2020-06-04 Aptiv Technologies Limited Generation of optimal trajectories for navigation of vehicles
EP3648021A1 (en) * 2018-10-30 2020-05-06 Aptiv Technologies Limited Generation of optimal trajectories for navigation of vehicles
US11092450B2 (en) * 2018-12-28 2021-08-17 Robert Bosch Gmbh System and method for crowdsourced decision support for improving public transit riding experience
US20210055120A1 (en) * 2019-08-20 2021-02-25 Delphi Technologies Ip Limited System and method for vehicle route selection

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928365B2 (en) * 2002-04-09 2005-08-09 Pioneer Corporation Navigation apparatus, navigation method, navigation program and recording medium storing the program
US20070276595A1 (en) * 2006-05-25 2007-11-29 Survey People Corp. Method of selective ride-sharing among multiple users along an optimized travel route
US20080275643A1 (en) * 2007-05-02 2008-11-06 Toshiba America Research, Inc. Optimum route planning for service vehicles
US7778773B2 (en) * 2007-05-02 2010-08-17 Toshiba America Research, Inc. Optimum route planning for service vehicles
US8121780B2 (en) * 2008-05-18 2012-02-21 Volkswagen Of America, Inc. Method for offering a user reward based on a chosen navigation route
US20090326991A1 (en) * 2008-06-27 2009-12-31 E-Lantis Corporation Gps and wireless integrated fleet management system and method
US20110153629A1 (en) * 2009-12-21 2011-06-23 Sap Ag Computer implemented method for allocating drivers and passengers sharing a trip
US20110224898A1 (en) * 2010-03-11 2011-09-15 Scofield Christopher L Learning road navigation paths based on aggregate driver behavior
US20160223347A1 (en) * 2012-03-14 2016-08-04 Autoconnect Holdings Llc Travel route alteration based on user profile and business
US20150323329A1 (en) * 2014-05-06 2015-11-12 Elwha LLC, a limited liability company of the State of Delaware Systems and methods for travel planning that calls for at least one transportation vehicle unit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11774256B2 (en) * 2019-01-30 2023-10-03 Uber Technologies, Inc. User control of alternate routes

Also Published As

Publication number Publication date
US10466059B2 (en) 2019-11-05
US9857188B1 (en) 2018-01-02
US20190376804A1 (en) 2019-12-12
US11162803B2 (en) 2021-11-02
US20180066947A1 (en) 2018-03-08

Similar Documents

Publication Publication Date Title
US11162803B2 (en) Providing alternative routing options to a rider of a transportation management system
US11386359B2 (en) Systems and methods for managing a vehicle sharing facility
US10628758B2 (en) Transportation service reservation method, transportation service reservation apparatus, and computer-readable storage medium
US20180225796A1 (en) Resource Allocation in a Network System
US11392861B2 (en) Systems and methods for managing a vehicle sharing facility
US11300416B2 (en) Dynamic route recommendation and progress monitoring for service providers
US20130246301A1 (en) Providing user feedback for transport services through use of mobile devices
US20180314998A1 (en) Resource Allocation in a Network System
US20110301985A1 (en) System and method for operating a service to arrange transport amongst parties through use of mobile devices
US10021243B2 (en) Telephone call placement
US11416792B2 (en) Network system capable of grouping multiple service requests
US20210073934A1 (en) Systems and methods for providing cost-sharing transportation services
US20210117874A1 (en) System for dispatching a driver
JP2019020787A (en) System, method and program for managing travel schedule of vehicles
US20110087524A1 (en) Determining travel routes by using fee-based location preferences
CN110832562B (en) System and method for providing cost-sharing transportation services
WO2018146622A1 (en) Dynamic selection of geo-based service options in a network system
US20180365597A1 (en) Service provider appointment booking system
AU2018262456B2 (en) Dynamic support information based on contextual information
US11514387B2 (en) Information processing apparatus, information processing method, and non-transitory storage medium
US11864057B2 (en) Location determination based on historical service data
US20240054583A1 (en) Sightseeing plan provision system and sightseeing plan provision method
US20220358615A1 (en) Systems and methods for plan determination

Legal Events

Date Code Title Description
AS Assignment

Owner name: UBER TECHNOLOGIES, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:O'HARE, JOHN CHRISTOPHER;CHOSKI, MAYA PARITOSH;KIM, EVELYN;SIGNING DATES FROM 20160713 TO 20160725;REEL/FRAME:039293/0868

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT, ILLINOIS

Free format text: SECURITY INTEREST;ASSIGNOR:UBER TECHNOLOGIES, INC.;REEL/FRAME:045853/0418

Effective date: 20180404

Owner name: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTR

Free format text: SECURITY INTEREST;ASSIGNOR:UBER TECHNOLOGIES, INC.;REEL/FRAME:045853/0418

Effective date: 20180404

CC Certificate of correction
AS Assignment

Owner name: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTR

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBER PREVIOUSLY RECORDED AT REEL: 45853 FRAME: 418. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:UBER TECHNOLOGIES, INC.;REEL/FRAME:049259/0064

Effective date: 20180404

Owner name: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT, ILLINOIS

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBER PREVIOUSLY RECORDED AT REEL: 45853 FRAME: 418. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:UBER TECHNOLOGIES, INC.;REEL/FRAME:049259/0064

Effective date: 20180404

AS Assignment

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRA

Free format text: SECURITY INTEREST;ASSIGNOR:UBER TECHNOLOGIES, INC.;REEL/FRAME:050767/0109

Effective date: 20191017

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRA

Free format text: SECURITY INTEREST;ASSIGNOR:UBER TECHNOLOGIES, INC.;REEL/FRAME:050767/0076

Effective date: 20191017

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT, MARYLAND

Free format text: SECURITY INTEREST;ASSIGNOR:UBER TECHNOLOGIES, INC.;REEL/FRAME:050767/0109

Effective date: 20191017

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT, MARYLAND

Free format text: SECURITY INTEREST;ASSIGNOR:UBER TECHNOLOGIES, INC.;REEL/FRAME:050767/0076

Effective date: 20191017

AS Assignment

Owner name: UBER TECHNOLOGIES, INC., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT;REEL/FRAME:055547/0404

Effective date: 20210225

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4