Facilitating direct rendezvous for a network service

Information

  • Patent Grant
  • 12125335
  • Patent Number
    12,125,335
  • Date Filed
    Friday, May 12, 2023
    a year ago
  • Date Issued
    Tuesday, October 22, 2024
    a month ago
Abstract
A computing system can receive a request for the service from a client device of a user. In response to receiving the request, the system can generate a unique identifier for the request to facilitate a rendezvous between the user and a service provider.
Description
BACKGROUND

On-demand transportation services accommodate riders in various situations where public transportation is unavailable, overcrowded, too sparse, or otherwise subjectively undesirable. For example, taxi queues are a common occurrence at mass egress locations such as concert venues, sporting stadiums and arenas, large airports, and other mass gathering locations. These locations can experience significant egress constriction when transportation infrastructure and/or taxi queues are insufficient in handling such events. This can leave patrons and users of these mass gathering locations stranded and waiting for transportation for aggravating periods of time.





BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure herein is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements, and in which:



FIG. 1 is a block diagram illustrating an example transport facilitation system in communication with rider and driver devices, in accordance with examples described herein;



FIG. 2 is a block diagram illustrating an example rider device executing a designated rider application for a transport arrangement service, as described herein;



FIG. 3 is a block diagram illustrating an example driver device executing a designated driver application for a transport arrangement service, as described herein;



FIGS. 4A through 4D illustrate example user interfaces on a rider device, according to examples described herein;



FIGS. 5A through 5E illustrate example user interfaces on a driver device, according to examples described herein;



FIG. 6 is a flow chart describing an example method of providing direct binding between riders and driver in connection with an on-demand transportation service, as described herein;



FIG. 7 is a flow chart describing another example method of providing direct binding between riders and driver in connection with an on-demand transportation service, as described herein; and



FIG. 8 is a block diagram illustrating a computer system upon which examples described herein may be implemented.





DETAILED DESCRIPTION

A transport facilitation system is described herein that manages on-demand transportation services linking available drivers and/or autonomous vehicles (AVs) with requesting riders throughout a given region (e.g., a metroplex such as the San Francisco Bay Area). In doing so, the transport facilitation system (or “transport system”) can receive user requests for transportation from requesting users via a designated rider application executing on the users' computing devices. In normal or default operation/mode, the transport system can receive a pick-up request and identify a number of proximate available vehicles relative to the user. The transport system may then select an available driver to service the pick-up request based, at least in part, on a determined or inputted pick-up location by the requesting user.


However, pairing requesting users and available drivers using the default operation/mode can become complex, inefficient, or unworkable in mass egress situations (e.g., where a mass number of users wait in a small area or lot, a mass number of drivers wait in a small area or lot, etc.). For example, grouping or queuing users at a particular mass egress location can result in unorganized pairings based on non-sequential requests. A requesting user near the back of a queue may submit a pick-up request prior to a user at the front of the queue, and may be matched to an available driver ready to make pick-up. In another example, when users are matched with drivers at the egress location, the users have to find and identify the appropriate vehicle from a mass number of vehicles in a lot or area. Compounding the scenario to hundreds or thousands of requesting users and disorganized matches with available drivers creates unfortunate confusion and chaos in facilitating the mass egress.


According to examples provided herein, under certain detected conditions, the transport system can initiate a late-binding state or alternative operation for direct pairing between requesting users and available drivers at mass egress locations. In one example, the transport system can include a code generator that, upon identifying that a requesting user is within a mass egress area (e.g., within a geo-fence corresponding to the mass egress area), can provide the user with a unique match code via the executing rider application on the user's device (e.g., a three or five digit personal identifier number (PIN)). In some aspects, the unique match code can be displayed on the user's device, and can be shown to any available driver associated with the on-demand transportation service managed by the transport system. The driver application running on a driver's device can operate in a late-binding state (e.g., in response to driver input, or automatically upon identifying that the driver's location is in a geo-fence corresponding to the mass egress area or a separate nearby lot). When operating in the late-binding state, the driver device can receive an input of the unique match code inputted by the available driver, which can be transmitted to the transport system. The transport system may then log or record the rider-driver pairing (e.g., associate the user's identifier and driver's identifier in a trip record or ride log for the requested trip) in a ride management database (e.g., trip database) indicating that the requesting user has been matched with the paired driver. The driver can then be classified as being unavailable (e.g., the driver is in an “en route” state until the trip begins for the user, which then changes to “on trip” state) in a driver database. In this manner, the transport system can continue to further facilitate the mass egress.


In certain implementations, the transport system can determine location and timing information corresponding to mass egress events. Such events can correspond to a sporting event, concert, festival, or any such event in which a relatively large amount of people (e.g., a hundred, greater than one hundred, etc.) will depart from a relatively compact area within a brief timeframe. Based on this location and timing information, the transport system can establish a geo-fence around the mass egress area corresponding to the event or at an area nearby the event venue. As described herein, a geofence can be a perimeter defined by a set of points (or a circle) that corresponds to a particular geographic area. Examples described herein recognize that multiple events may occur at the same time within a particular region managed by the transport system. Accordingly, the transport system can set a geo-fence for each particular event location. The geo-fence can correspond to a state trigger on the rider and/or driver application, causing the application to initiate a late-binding state to enable direct pairing. Thus, as opposed to a pick-up request, which is received from a user device within the geo-fence, triggering the backend transport to select an available driver as in the default operation, the pick-up request can trigger the transport system to generate and transmit a unique match code for the requesting user to enable the user to pair with any available driver associated with the on-demand transportation service.


In variations, the rider application and/or driver application can include a state switching feature that enables the rider and/or driver to switch from a normal state—in which the backend transport system identifies proximate drivers and selects an optimal driver to service pick-up request—to a late-binding state in which the unique match code is provided for direct pairing. Accordingly, in certain aspects, when a would-be rider sees a number of available drivers in a waiting area (e.g., multiple driver queued in a designated airport waiting area), instead of going through a default process in which the transport system selects a driver for the rider, the rider can proactively pair with an available driver by setting the late-binding state manually.


In some examples, the transport system can facilitate in moving driver supply to a particular mass egress location. For example, prior to the mass egress event, the transport system can transmit a notification to drivers within certain proximity of the mass egress location, and optionally provide incentives to the drivers. Example incentives can include a bonus payment, an indication of a price multiplier or surge price for the mass egress location, and the like. The transport system can further designate one or more predetermined pairing location(s) in which requesting users and drivers can directly pair in the late-binding state. Along these lines, the transport system can comprise a mapping engine that configures map content to provide driving directions for drivers, and walking directions for users, to a nearest or most optimal pairing location.


Furthermore, the unique match code can be generated as a unique PIN, a quick response (QR) code, a ultrasonic signature (e.g., an ultrasonic sound pattern), an inductive pairing signature, or any other form of digital signature suitable for unique device pairing and identification. Still further, example described herein recognize that on-demand transportation service can offer multiple service types, including any combination of a ride-pooling service, a standard ride sharing service, a luxury vehicle service, a high-capacity vehicle service, a professional driver service, or a self-driving vehicle transport service. It is contemplated for certain implementations of the transport system to enable the requesting user to select a desired service type prior to submitting a pick-up request, and provide a unique match code dedicated for the selected service type, which the requesting user can utilize to pair with a particular driver offering the selected service type. To facilitate such arrangements, the transport system can, for example, allocate individual late-binding areas within the mass egress area for specified ride service types, or provide notifications including identifying information for the user of drivers that qualify for the selected service type.


In various implementations provided herein, the transport system can manage on-demand transportation services for a given area in at least two distinct simultaneous states. The first state can comprise a normal state external to mass egress locations (or corresponding geo-fenced areas defining such locations). In the normal state, the transport system can receive pick-up requests, identify candidate drivers within proximity of the requesting user, select an optimal driver to service the pick-up request, and transmit a transport invitation to the optimal driver to service the pick-up request. Thereafter, the transport system can monitor the trip progress of the user-driver pairing in transporting the user to the user's destination. The second state can comprise a late-binding state within mass egress areas (e.g., defined by geo-fences specific to mass egress events). In the late-binding state, the transport system can identify all available drivers and requesting users within the mass egress area, and facilitate direct pairing via utilization of unique match codes (e.g., unique PINs, QR codes, ultrasonic signatures, magnetic signatures, etc.).


Among other benefits, the examples described herein achieve a technical effect of improving mass egress fluidity from large-capacity locations, such as concert venues, sporting venues, and or mass-gathering areas. By facilitating direct binding between riders and drivers, the on-demand transportation service removes a major constraint to more typical organized backend pairings.


As used herein, a computing device refers to devices corresponding to desktop computers, cellular devices or smartphones, personal digital assistants (PDAs), laptop computers, virtual reality (VR) or augmented reality (AR) headsets, tablet devices, television (IP Television), etc., that can provide network connectivity and processing resources for communicating with the system over a network. A computing device can also correspond to custom hardware, in-vehicle devices, or on-board computers, etc. The computing device can also operate a designated application configured to communicate with the network service.


One or more examples described herein provide that methods, techniques, and actions performed by a computing device are performed programmatically, or as a computer-implemented method. Programmatically, as used herein, means through the use of code or computer-executable instructions. These instructions can be stored in one or more memory resources of the computing device. A programmatically performed step may or may not be automatic.


One or more examples described herein can be implemented using programmatic modules, engines, or components. A programmatic module, engine, or component can include a program, a sub-routine, a portion of a program, or a software component or a hardware component capable of performing one or more stated tasks or functions. As used herein, a module or component can exist on a hardware component independently of other modules or components. Alternatively, a module or component can be a shared element or process of other modules, programs or machines.


Some examples described herein can generally require the use of computing devices, including processing and memory resources. For example, one or more examples described herein may be implemented, in whole or in part, on computing devices such as servers, desktop computers, cellular or smartphones, personal digital assistants (e.g., PDAs), laptop computers, VR or AR devices, printers, digital picture frames, network equipment (e.g., routers) and tablet devices. Memory, processing, and network resources may all be used in connection with the establishment, use, or performance of any example described herein (including with the performance of any method or with the implementation of any system).


Furthermore, one or more examples described herein may be implemented through the use of instructions that are executable by one or more processors. These instructions may be carried on a computer-readable medium. Machines shown or described with figures below provide examples of processing resources and computer-readable mediums on which instructions for implementing examples disclosed herein can be carried and/or executed. In particular, the numerous machines shown with examples of the invention include processors and various forms of memory for holding data and instructions. Examples of computer-readable mediums include permanent memory storage devices, such as hard drives on personal computers or servers. Other examples of computer storage mediums include portable storage units, such as CD or DVD units, flash memory (such as carried on smartphones, multifunctional devices or tablets), and magnetic memory. Computers, terminals, network enabled devices (e.g., mobile devices, such as cell phones) are all examples of machines and devices that utilize processors, memory, and instructions stored on computer-readable mediums. Additionally, examples may be implemented in the form of computer-programs, or a computer usable carrier medium capable of carrying such a program.


Some examples are referenced herein in context of an autonomous vehicle (AV) or self-driving vehicle (SDV). AVs or SDVs refer to vehicles that operate or can be operated in a state of automation with respect to steering, propulsion, and/or braking. Some vehicles may include human-based controls (e.g., a steering wheel, gear shifter, brake pedal, and accelerator pedal), and can be switched between a fully autonomous mode, partial autonomous mode, and/or a manual control mode. In fully autonomous mode, AVs or SDVs can operate on public roads without any human assistance utilizing a sensor suite and data processing systems to provide an awareness of the AV's or SDV's situational environment. In processing sensor data from the sensor suite—which can comprise a number of sensor systems such as LIDAR, monocular camera, stereoscopic camera, infrared proximity-based, sonar, or radar systems—the AV or SDV can operate its control mechanisms to safely control and maneuver through various road and traffic infrastructures typical of both urban and rural transportation environments.


System Description



FIG. 1 is a block diagram illustrating an example transport system in communication with user and driver devices, in accordance with examples described herein. The transport system 100 can manage a transportation arrangement service that connects requesting users or riders 174 with drivers 184 that are available to service the users' 174 pick-up requests 171. The transportation arrangement service can provide a platform that enables ride sharing services between requesting users 174 and available drivers 184 by way of a rider application 175 executing on the rider devices 170, and a driver application 185 executing on the driver devices 180. As used herein, a rider device 170 and a driver device 180 can comprise computing devices with functionality to execute a designated application corresponding to the on-demand transportation arrangement service managed by the transport system 100. In many examples, the rider device 170 and the driver device 180 can comprise mobile computing devices, such as smartphones, tablet computers, VR or AR headsets, on-board computing systems of vehicles, personal computers, laptops, wearable computing devices, and the like. Example transportation arrangement services implementing a ride sharing platform include those provided by UBER Technologies, Inc. of San Francisco, California.


The transport system 100 can include a rider interface 125 to communicate with rider devices 170 over one or more networks 160 via the rider application 175. According to examples, a requesting user 174 wishing to utilize the transportation arrangement service can launch the rider application 175 and transmit a pick-up request 171 over the network 160 to the transport system 100. In certain implementations, the requesting rider 174 can view multiple different service types managed by the transport system 100, such as ride-pooling, a standard ride share service type, a luxury vehicle service type, a high-capacity van or large vehicle service type, a professional driver service (e.g., where the driver is certified), a self-driving vehicle transport service, other specialized ride services, and the like. In some examples, the transport system 100 can utilize the driver locations 113 to provide the rider devices 170 with estimate time of arrival (ETA) data of proximate drivers for each respective service type. For example, the rider application 175 can enable the user 174 to view information corresponding to each service type, and provide map content 153 indicating visual representations of available drivers proximate to the user's current location 172.


In a normal operating state, the requesting user 174 can utilize the user interface 177 of the rider application 175 to configure and transmit a pick-up request 171 to the transport system 100. In this state, the pick-up request 171 can be processed by a selection engine 110 of the transport system 100. In various examples, the selection engine 110 can receive data indicating driver locations 113 of the drivers 184 operating throughout the given region. For example, the selection engine 110 can access the location-based resources (e.g., GPS module) of driver devices 180 via the driver application 185 to determine the driver locations, or receive a periodic location ping from the driver devices 180 indicating their current locations 113. The selection engine 110 can process the pick-up request 171 to identify a pick-up location inputted by the requesting user 174, or can determine a pick-up location based on the requesting user's current location 172 (e.g., via location-based resources of the rider devices 170).


Accordingly, in the normal state, the selection engine 110 can identify a plurality of candidate drivers within a certain proximity of the requesting user's current location 172, and select an optimal driver from the candidate set to service the pick-up request 171. The optimal driver may be a driver that is closest to the requesting user 174 or pick-up location in terms of distance and/or time, or may be more optimal for other reasons (e.g., value-based calculations, location driver supply conditions, etc.). The selection engine 110 can then generate and transmit a transport invitation 111 to the optimal driver, which the driver can either accept or decline. Upon accepting the transport invitation 111, the selection engine can generate and transmit a confirmation 112 to the rider device 170 of the requesting user 174 indicating that the optimal driver is en route to the pick-up location. In various implementations, the selection engine 110 may then transmit data indicating the pairing 119 to a ride management engine 130, which can log a ride update 138 in a set of ride logs 144 to indicate that the requesting user 174 and the optimal driver are currently on trip to the destination.


While such a selection system ensures an exceptional level of robustness in typical driver supply and rider demand conditions, complications quickly arise when the combination of localization and time compression of rider demand increases above a certain threshold (e.g., on the order of hundreds of pick-up requests 171 from a single block area within a few minutes). In such scenarios, the robustness of the transport system's normal state (utilizing the selection engine 110) can rapidly diminish, and can even contribute to the chaos amongst requesting users 174 and drivers 184. For example, the selection engine 110 may operate on a first-request-first-pairing basis in which pick-up requests 171 are treated as a queue and limited by the granularity of location resources (e.g., GPS). Accordingly, when large groups of requesting users 174 are simultaneously submitting pick-up requests 171, the transport system 100 may be unable to discern which particular users 174 are at the front of a queue. The same may go for large groups of drivers 184 within a confined space (e.g., a pick-up area or parking lot).


According to examples described herein, the transport system 100 can include a geo-fence generator 135 and a database 140 to store data indicating the locations 146 and times 148 of mass egress events 142. The mass egress event data 142 can further indicate a projected ride demand for the event, which can indicate an estimated number of ride requests from the event. In one aspect, the transport system 100 can receive the mass egress event data 142 via human input. Additionally or alternatively, the transport system 100 can link with event resources for the given region, such as sporting calendars and venue schedules for mass gathering events. In certain implementations, the transport system 100 can compile historical data indicating when such scheduled events may occur, or can identify impromptu events based on any number of factors (e.g., a holiday schedule, trendy locations, tourism data, weather data, protest triggers, real-time news data, etc.).


Utilizing the mass egress event data 142, the geo-fence generator 135 can determine or otherwise estimate timing information for a particular mass egress event, and set a geo-fence area 137 encompassing the event location or area corresponding to the mass egress event at a predetermined time prior to the mass egress. According to examples provided herein, the geo-fence area 137 can inform the ride management engine 130 and a mapping engine 150 of the transport system 100 that any requesting user 174 or available driver 184 within the geo-fence area 137 is to be treated in accordance with a late-binding state to enable direct pairing.


In some aspects, upon or during execution of the rider application 175 on a rider device 170, the mapping engine 150 can identify the rider location 172 as being within a geo-fence area 137, and generate an app state update 152 to cause the rider application 175 to initiate a late-binding state. Likewise, an available driver 184 may operate throughout the given region and can cross into the geo-fence area 137, which can trigger the mapping engine 150 to generate an app state update 133 for the driver application 185. This app state update 133 can also cause the driver application 185 to initiate the late-binding state. In certain implementations, initiation of the late-binding state on the rider and driver applications 175, 185 can cause the mapping engine 150 to generate and provide map content 153, 157 indicating a pick-up area for the mass egress event.


Example described herein recognize that the term “geo-fence” may be used for a variety of purposes throughout various technologies and industries. As used herein, a “geo-fence area 137” corresponds to an area encompassing a mass egress location or venue. Thus, requesting users 174 and available drivers 184 within a geo-fence area 137, as described herein, are provided with a respective app state update 152, 133 triggered by the transport system 100 identifying their respective locations within the geo-fence area 137. As provided herein, the app state update 152, 133 can cause the rider application 175 and driver application 185 to enable a direct pairing experience, and bypass the normal selection-pairing process performed by the selection engine 110 of the transport system 100.


Furthermore, in certain implementations, the rider waiting area can comprise one geo-fence and the driver waiting area can comprise a second geo-fence. Accordingly, when the transport system 100 detects the rider 174 and the driver 184 in their respective geo-fence areas, the transport system 100 can transmit the app state updates 133, 153 to cause each of the rider device 170 and the driver device 180 to execute the late-binding state. In further variations, the rider application 175 can include a selectable state feature that enables the ride 174 to select the late-binding state in order to receive a match code 124 and present the match code 124 to any available driver 184 (e.g., in a predetermined waiting area).


The map content 153 for display on the user interface 177 of the rider application 175 can provide walking directions or a straight line indicator from either the user's current location 172 within the geo-fence area 137, or a general central location of the mass egress venue, to the designated pick-up area. Likewise, the map content 157 for display on the driver device 180 via the driver application 185 can provide driving directions to the pick-up area, or an indication of the relative location of the pick-up area in relation to a map of the mass egress venue.


As described herein, the transport system 100 can facilitate any number of ride service types, such as a carpooling service type, a regular ride-sharing service type, a professional ride service type (e.g., a qualified professional driver), a large-capacity vehicle service type (e.g., for more than three passengers), a luxurious ride service type, a black car service type, and the like. Accordingly, the transport system 100 may divide a particular pick-up area within the geo-fence area 137 based on service type, or when applicable, may provide different locations within the geo-fence area 137 for each service type, or cluster service types together in multiple pick-up areas. For example, a luxury ride service, black car service, and professional driver service may be grouped together in a separate pick-up area. Furthermore, the transport system 100 can store driver profiles (not shown) indicating the service types for which each of the available drivers 184 are qualified. Thus, the map content 157 provided to the drivers 184 can indicate directions to the specified pick-up area for the particular service type of the driver 184.


In certain examples, the map content 153 provided to the rider device 170 can be triggered by receiving a pick-up request 171 from the rider device 170. The pick-up request 171 can be received by the rider interface 125 while the rider device 170 is in the late-binding state, and the rider interface 125 can submit the pick-up request 171 to a match code generator 120 of the transport system 100. The match code generator 120 can then generate a unique match code 124 (e.g., a three to five digit PIN), and transmit the unique match code 124 to the rider device 170. In some aspects, the pick-up request 171 can further indicate a desired ride service type 121. The match code generator 120 can provide data indicating the desired ride service type 121 to the mapping engine 150, which can generate and provide updated map content 153—indicating walking directions to the pick-up area specific to the desired ride service type 121—to the rider device 170.


In some situations, high network latency may prevent ideal operation of the rider application 175 and the driver application 185. Examples provided herein can utilize text messaging services to provide the match code 124 to the rider device 170, as opposed to provide the match code 124 directly through the rider application 175. For example, the transport system 100 may receive the pick-up request 171 as a text message from a rider device 170. The text message can include a unique identifier indicating the requesting user 174, and a request for a ride from within a mass egress area. The match code generator 120 can respond to the request text message by generating a response text message that includes the match code 124 for transmission to the rider device 170 via a text messaging application. Thereafter, the requesting user 174 can provide the match code 124 to an available driver 184. As provided herein, the transport system 100 may also receive the match code entry 186 via text message from the driver device 180, and correlate the rider 174 and driver 184 in the ride logs 144 accordingly.


The database 140 can store code logs 149 that enable the match code generator 120 to maintain an updated account of unique match codes 124 generated, and the state of those codes 124 to provide robustness and organization for the ride management engine 130. According to various examples, pick-up requests 171 received by the match code generator 120 can include a unique identifier of the requesting user 174, which the match code generator 120 can utilize to correlate with the unique match code 124 provided to that requesting user 174. The match code generator 120 may then log the correlation as a code log update 128 in the code logs 149, indicating that the requesting user 174 has been provided with the unique match code 124.


Upon receiving the unique match code 124, the requesting user 174 can view the match code 124 or otherwise receive an indication that the match code 124 has been received. The requesting user 174 may then present or otherwise transmit the match code 124 to any available driver 184. For unique PIN implementations, the available driver 184 can view the unique PIN on a display the rider device 170 and perform a manual match code entry 186 on an entry screen displayed on the driver device 180. The match code entry 186 may then be submitted to the transport system 100 to indicate that the pairing has been made. However, examples described herein are not limited to manual match code entries 186 of unique match codes 124 by the driver 184. The match code generator 120 can provide any type of unique digital signature to the rider device 170 upon receiving the request 171, which the requesting user 174 can provide to the driver 184 or driver device 180 in a variety of manners. Example unique match codes 124 generated by the match code generator 120 can include unique PINs, QR codes, ultrasonic signatures, magnetic signatures, and the like.


For QR code implementations, the QR code can be displayed on the rider device 170 and presented to the driver 184. The driver 184 may then utilize an image capturing resource of the driver device 180 to scan or otherwise capture the QR code to complete the pairing. For ultrasonic implementations, upon meeting an available driver 184, the rider can cause the speaker or other output device of the rider device 170 to output the ultrasonic signature (e.g., via a selectable feature on the user interface 177), which can be detected by a microphone of the driver device 180 to complete the pairing. Alternatively, the rider device 170 can output the ultrasonic signature in response to (i) receiving a signal from the transport system, (ii) receiving an input from the rider to make a pick-up request when the rider is within the mass egress area, or (iii) detecting that the rider device 170 has entered the mass egress area. In further variations, once the rider 174 and driver 184 meet within the mass egress area, the rider 174 and driver 184 can respectively perform an ultrasonic handshake in which the rider 174 causes the rider device 170 to output the ultrasonic signature (e.g., via an input on a selectable feature of the rider application 175), and the driver 184 causes the driver device 180 to “listen” for the signature (e.g., via an input on a selectable feature of the driver application 185). For magnetic or inductive signatures, the rider device 170 may be placed in inductive contact with the driver device 180 to complete the pairing. Thus, as shown in FIG. 1, the match code entry 186 can comprise a manual entry of a unique PIN, or data indicating that the driver device 180 has received the unique match code 124 in the designated form provided herein.


As described herein, the ride management engine 130 can maintain organization of ride states of the users 174 and drivers 184 in ride logs 144 (e.g., ride request state for riders 174, on trip state for both riders 174 and drivers 184, driver available state for drivers 184). Upon receiving the match code entry 186 via the driver interface 115, the ride management engine 130 can perform a lookup in the code logs 149 to identify the appropriate code log entry 129 indicating the correlation between the unique match code 124 corresponding to the match code entry 186, and the requesting user 174 associated with the match code 124.


The match code entry 186 can include a unique identifier of the paired driver 184, which the ride management engine 130 can utilize to log a ride update 138 indicating the pairing between the requesting user 174 and the paired driver 184. Thus, instead of receiving the pairing data 119 from the selection engine 110, in the late-binding state, the ride management engine 130 can cross-reference the code log entry 129 (including the unique identifier of the requesting user 174 and the unique match code 124 provided) with the match code entry 186 by the driver 184. The ride management engine 130 may then log a ride update 138 indicating the pairing between the requesting user 174 and the available driver 184 in the ride logs 144, and provide an app state update 152, 133 to both the rider device 170 and the driver device 180 indicating an on-trip status of both the requesting user 174 and the paired driver 184. This on-trip status can persist until the trip terminates at the destination of the requesting user 174. Accordingly, an “en route” state—in which the driver 184 travels to a pick-up location to rendezvous with the user—is bypassed.


In certain scenarios, driver supply at mass egress events may be limited, so moving supply towards the event location 146 prior to the mass egress event (e.g., the end of a concert or sporting event) may provide relief to such supply constrained scenarios. According to examples provided herein, the ride management engine 130 can facilitate in proactively moving driver supply to a given geo-fence area 137 by utilizing the driver locations 113 of the drivers 184 operating throughout the given region. The ride management engine 130 can further identify the event time 148 and location 146 corresponding to a given mass egress event to generate a demand notification 136 for the drivers 184. In one aspect, the transport system 100 can transmit the demand notification 136 to the drivers 184 within a predetermined time prior to the estimate time of the mass egress event (e.g., one hour prior to the estimated end time of a concert). The demand notification 136 can indicate the event, the estimated time of the mass egress, and the event location 146. In further implementations, the transport system 100 can include incentives in the demand notification 136 to attract available drivers 184 to the event location 146 to ensure adequate driver supply.


Rider Device



FIG. 2 is a block diagram illustrating an example rider device executing a designated rider application for a transport arrangement service, as described herein. In many implementations, the rider device 200 can comprise a mobile computing device, such as a smartphone, tablet computer, laptop computer, VR or AR headset device, and the like. As such, the rider device 200 can include typical telephony features such as a microphone 245, a camera 250, and a communication interface 210 to communicate with external entities using any type of wireless communication protocol. In certain aspects, the rider device 200 can store a designated application (e.g., a rider app 232) in a local memory 230.


In response to a user input 218, the rider app 232 can be executed by one or more processors 240, which can cause an app interface 242 to be generated on a display screen 220 of the rider device 200. The app interface 242 can enable the user to, for example, check current price levels and availability for various ride service types of the on-demand transportation arrangement service. In various implementations, the app interface 242 can further enable the user to view information corresponding to the multiple ride service types, and select from the multiple ride service types, such as a carpooling service type, a regular ride-sharing service type, a professional ride service type, a van transport service type, a luxurious ride service type, and the like. Example services that may be browsed and requested can comprise those services provided by UBER Technologies, Inc. of San Francisco, California.


The user can generate a pick-up request 267 via user inputs 218 provided on the app interface 242. According to examples described herein, the user can provide user inputs 218 on the app interface 242, which can be processed by the processor(s) 240 and/or the transport facilitation system 290 over the network(s) 280 to provide content updates 244, as described herein. In doing so, the rider application 232 can enable a communication link with a transport system 290 over the network 280, such as the transport system 100 as shown and described with respect to FIG. 1. In a normal state, to request transportation, the user can input a destination and/or pick-up location, select a ride service type, and submit a pick-up request 267 to the transport system 290.


In a normal state, once the ride service type is selected and the user wishes to request a ride, the processor(s) 240 can transmit the pick-up request 267 via the communications interface 210 to the backend transport facilitation system 290 over a network 280. In response, the rider device 200 can receive a confirmation 269 from the transport facilitation system 290 indicating the selected driver and vehicle that will service the pick-up request 267 and rendezvous with the user at the pick-up location. In various examples, the rider device 200 can further include a GPS module 260, which can provide location data 262 indicating the current location of the requesting user to the transport system 290 to, for example, establish the pick-up location and/or select an optimal driver or autonomous vehicle to service the pick-up request 267.


According to examples, execution of the rider app 232 can cause the rider device 200 to transmit location data 262 to the transport system 290. (e.g., via a GPS module 260 of the rider device 200). As described herein, the transport system 290 can utilize the location data 262 to determine whether the user is within a geo-fenced area corresponding to a mass egress event. If the rider device 200 is within the geo-fenced area, the transport system 290 can transmit an app state update 297 to the rider device 200, which can cause the rider application 232 to initiate a late-binding state. In the late binding state, the app interface 242 can update the manner in which the user interacts with the transport service. In particular, a pick-up request 267 transmitted by the rider device 200 in the late-binding state can cause the transport system 290 to transmit a match code 296 to the rider device 200. Thus, the requesting user can be instructed to present or otherwise transmit the match code 296 to an available driver directly, to perform the direct pairing.


Driver Device



FIG. 3 is a block diagram illustrating an example driver device executing a designated driver application for a transport arrangement service, as described herein. In many implementations, the driver device 300 can comprise a mobile computing device, such as a smartphone, tablet computer, laptop computer, VR or AR headset device, and the like. As such, the driver device 300 can include typical telephony features such as a microphone 345, a camera 350, and a communication interface 310 to communicate with external entities using any type of wireless communication protocol. In certain aspects, the driver device 300 can store a designated application (e.g., a driver app 332) in a local memory 330.


In response to a user input 318, the driver app 332 can be executed by one or more processors 340, which can cause an app interface 342 to be generated on a display screen 320 of the driver device 300. The app interface 342 can enable the driver to initiate an “on-call” or “available” sub-state (of the normal application state), linking the driver device 300 to the backend transport system 390 that facilitates the on-demand transportation services. Execution of the driver application 332 can also cause a location resource (e.g., GPS module 360) to transmit location data 362 to the transport system 390 to indicate the current location of the driver with the given region.


In the normal state, the driver can receive transport invitations 392 from the transport system 390, where the transport invitations 392 indicate a particular pick-up location to service a pick-up request. The driver can provide confirmations 322 back the transport system 390 indicating that the driver will service the pick-up requests, or, in some aspects, decline the transport invitation 392 and await a subsequent opportunity. Upon submitting a confirmation 322, the driver application 332 can place the driver device 300 in an en route sub-state while the driver drives to the pick-up location to rendezvous with the requesting user. Thereafter, the driver application 332 can initiate an on-trip sub-state (e.g., provide map directions to the requester's destination) while the driver transports the requesting user to the destination.


According to examples described herein, when the location data 362 indicates that the driver has entered a geo-fence area, the transport system 390 can transmit an app state update 397 to initiate a late-binding state on the driver device 300. In the late-binding state, the driver can await a rider, who can present the unique match code to the driver for entry (or can otherwise transmit the unique match code to the driver device 300). In various implementations, the driver can perform a match code entry 366 on the app interface 342, and submit the match code entry 366 to the transport system 390. Submission of the match code entry 366 can cause the driver application 332 to automatically initiate an on-trip sub-state, indicating that the driver has been paired with a rider. In certain implementations, the on-trip sub-state can cause map content to the generated on the application interface 342, providing driving directions to the rider's destination.


User Interface Examples



FIGS. 4A through 4D illustrate example user interfaces on a rider device, according to examples described herein. In the below description of FIGS. 4A through 4D, reference may be made to reference characters representing like features as shown and described with respect to FIGS. 1 and 2. Referring to FIG. 4A, when the rider is within a geo-fence area, execution of the rider application 232 on the rider device 200 can cause a rider app interface 400 to be generated on the display screen 220. The rider app interface 400 can include a late-binding state notification 402 indicating the direct pairing process to request a rider.


Referring to FIG. 4B, the app interface 400 can show the mass egress location 412 at which the user is located, and a geo-fence area 414 corresponding to the late-binding state on the rider application. The rider app interface 400 can further include a service type selection feature 416 enabling the user to select from any number of listed service types. Referring to FIG. 4C, the rider app interface 400 can further include a destination input feature 424 that enables the user to input a desired destination. The interface 400 can further include walking directions 426 or a straight line indicator directing the user to the pick-up area to pair with a driver. In many aspects, upon entry of the destination 424, the rider app interface 400 can display a ride price 428, which can comprise an estimated or upfront guaranteed price to transport the user to the destination 424. If the user is satisfied with the ride price 428, the user can select a request feature 429 on the interface. Referring to FIG. 4D, selection of the request feature 429 can cause the backend transport system 290 to generate and transmit a match code 434 to the rider device 200 for display on the app interface 400. The rider can present this match code 434 to any available driver at the rendezvous location to initiate the ride to the destination 424.



FIGS. 5A through 5E illustrate example user interfaces on a driver device, according to examples described herein. In the below discussion of FIGS. 5A through 5E, reference may be made to reference characters representing like features shown and described with respect to FIGS. 1 and 3. Referring to FIG. 5A, upon crossing into a geo-fence area 506, the driver device 300 can display a late-binding state interface 500. In variations, the interface 500 can include a state selection feature 502 enabling the driver to switch between the late-binding state and the normal state, as described herein. The late-binding state interface 500 can display map content indicating the geo-fence area 506 corresponding to a mass egress event, a rendezvous area 508 where the driver can await a requesting user, and a current location of the driver 509. When a requesting user approaches with a match code, the driver can select a code entry selection feature 504, which can trigger a code entry feature 512, as shown in FIG. 5B. the code entry feature 512 enables the driver to perform a code entry 522 of the match code displayed on the rider device, as shown in FIG. 5C.


Referring to FIG. 5D, upon entering the match code, the state interface 500 can display a trip initiation screen that provides a code confirmation 534 and a trip start feature 532 that triggers an on-trip status for both the rider and the driver. Upon selection of the trips start feature 532, the state interface 500 can display an on-trip screen indicating the destination 544, and map content 542 which can include a route 546 to the destination 544 and the current location of the driver 548, as shown in FIG. 5E. Upon dropping of the rider, the driver device 300 can update the driver's status accordingly.


Methodology



FIG. 6 is a flow chart describing an example method of providing direct binding between riders and driver in connection with an on-demand transportation service, as described herein. In the below discussions of FIG. 6, reference may be made to reference characters representing like features as shown and described with respect to FIG. 1. Furthermore, the process described with respect to FIG. 6 below may be performed by an example transport system 100, 290, 390 as shown and described in connection with FIGS. 1 through 3. Referring to FIG. 6, the transport system 100 can identify a mass egress area or event 142 within a given region in which the transport system 100 manages on-demand transportation services (600). The transport system 100 may receive a pick-up request 171 from within the mass egress area from a rider device 170 (605). In response to receiving the pick-up request 171, the transport system 100 can transmit a match code 124 to the rider device to enable the rider 174 to directly pair with an available driver 184 (610).


Thereafter, the transport system 100 can receive an indication of a match code entry 186 of the match code 124 from a driver device (615). As described herein, the match code entry 186 can indicate that the rider 174 has shown or otherwise provided the match code 124 to the driver 184. Based on the pairing, the transport system 100 can record an on-trip state for both the rider 174 and the driver 184 to indicate that the pairing has been made and a trip has initiated (620). By recording the status change, the transport system 100 can continue to manage its user base in facilitating the mass egress from the mass egress venue.



FIG. 7 is a flow chart describing another example method of providing direct binding between riders and driver in connection with an on-demand transportation service, as described herein. In the below discussions of FIG. 7, reference may be made to reference characters representing like features as shown and described with respect to FIG. 1. Furthermore, the process described with respect to FIG. 7 below may be performed by an example transport system 100, 290, 390 as shown and described in connection with FIGS. 1 through 3. Referring to FIG. 7, the transport system 100 can compile data indicating mass egress events 142, such as the event locations 146 and times 148, throughout a given region in which the transport system 100 manages on-demand transportation services (700). Such mass egress events can include, for example, sporting events (702), concerts (703), and impromptu events (704). In some aspects, the impromptu events can be determined by the transport system 100 by combing current alerts, notifications, and news sources for the given region. Such sources can indicate ride demand spikes at specified locations, such as a local airport, train station, or bus station (e.g., during weather delays or other anomalous scenarios), protest or parade locations, and the like.


According to examples, the transport system 100 can identify an upcoming mass egress event at a particular venue or location (e.g., a sporting stadium, concert venue, etc.) (705). In addition to identifying the mass egress event, the transport system 100 can determine whether driver supply in proximity of the event is sufficient to handle a projected ride demand from the event. In various examples, the transport system 10 can transmit demand notifications 136 to drivers 184 operating within a certain proximity of the event location (710). In addition, the demand notifications 136 can include incentives to attract driver supply to the event location 146, such as a bonus payment, or surge pricing factor indication.


In various implementations, the transport system 100 can establish a geo-fence to encompass or surround the mass egress location or venue for trigger late-binding states on rider and driver devices 170, 180 (715). Accordingly, the transport system 100 can receive driver locations 113 and detect when drivers 184 enter the geo-fence area 137 (720). In response to detecting a driver 184 entering the geo-fence area 137, the transport system can update the driver application 185 to initiate a late-binding state on the driver device 180 to enable direct pairing with a rider 174 (725).


In some aspects, the transport system 100 can further one or more divide rendezvous areas within the geo-fence area 137 based on ride service type (730), as described herein. Thus, the transport system 100 can perform a lookup in a profile of the driver 184 to determine the service type(s) for which the driver 184 is qualified (735), and provide map content 157 to the driver device 180 to direct the driver 184 to the appropriate rendezvous area based on the service type (740).


The transport system 100 may also identify rider application 175 launch indications from rider devices 170 within the geo-fence area 137 (745). In response to these indications, the transport system 100 can update the rider application 175 to initiate a late-binding state on the rider devices 170 (750). Thereafter, the transport system 100 can receive ride requests 171 from rider devices 170 within the geo-fence area 137 (755). In certain aspects, the transport system 100 can provide map content 153 to the rider devices 170 indicating the rendezvous location or area at which the rider 174 will meet the available drivers 184 (760). As provided herein, the map content 153 can indicate a general rendezvous area for direct pairing (762) or a specified rendezvous location based on a selected service type by the rider 174 (764).


In response to receive a ride request 171, the transport system 100 can generate and transmit a match code 124 to the rider device 170 (760). The match code 124 can comprise a PIN (762), a QR code (763), an ultrasonic code (764), or any other suitable digital signature. The transport system 100 may then log the match code 124 in a code log 149 to correlate the match code 124 with an identifier of the requesting user 174 (765). The transport system can receive a match code entry 186 corresponding to a driver 184 entering or otherwise receiving the match code 124 on the driver device 180 (770). As discussed, this match code entry 186 can indicate that the rider 174 has paired with a driver 184. Upon receiving the match code entry 186, the transport system 100 can update a ride log 144 to indicate an on-trip status for both the rider 174 and the driver 184 (775). Thus, examples provided herein can remove the rider 174 and driver 184 from the mass egress pool, provide organization for the transport system 100 to facilitate the mass egress, and improve the flow of people away from mass gatherings.


Hardware Diagram



FIG. 8 is a block diagram that illustrates a computer system upon which examples described herein may be implemented. A computer system 800 can be implemented on, for example, a server or combination of servers. For example, the computer system 800 may be implemented as part of a network service for providing transportation services. In the context of FIG. 1, the transport system 100 may be implemented using a computer system 800 such as described by FIG. 8. The transport system 100 may also be implemented using a combination of multiple computer systems as described in connection with FIG. 8.


In one implementation, the computer system 800 includes processing resources 810, a main memory 820, a read-only memory (ROM) 830, a storage device 840, and a communication interface 850. The computer system 800 includes at least one processor 810 for processing information stored in the main memory 820, such as provided by a random access memory (RAM) or other dynamic storage device, for storing information and instructions which are executable by the processor 810. The main memory 820 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by the processor 810. The computer system 800 may also include the ROM 830 or other static storage device for storing static information and instructions for the processor 810. A storage device 840, such as a magnetic disk or optical disk, is provided for storing information and instructions.


The communication interface 850 enables the computer system 800 to communicate with one or more networks 880 (e.g., cellular network) through use of the network link (wireless or wired). Using the network link, the computer system 800 can communicate with one or more computing devices, one or more servers, and/or one or more self-driving vehicles. In accordance with examples, the computer system 800 receives pick-up requests 882 from mobile computing devices of individual users. The executable instructions stored in the memory 830 can include selection instructions 822, which the processor 810 executes to select an optimal driver to service the pick-up request 882 in a normal mode. In doing so, the computer system can receive driver locations 884 of drivers operating throughout the given region, and the processor can execute the selection instructions 822 to select an optimal driver from a set of available drivers, and transmit a transport invitation 852 to enable the driver to accept or decline the ride service offer.


The executable instructions stored in the memory 820 can also include match code instructions 824 for a late-binding mode in mass egress scenarios. The match code instructions 824 enable the computer system 800 to respond to pick-up requests 882 within an establish geo-fence area by generating and transmitting match codes 854 to the rider devices in order to enable the riders to directly pair with drivers. Utilizing both the selection instructions 822 and the match code instructions 824, the computer system 800 can manage on-demand transportation services for the given region in normal conditions and mass egress conditions simultaneously. As described herein, the computer system 800 can do so by managing code and ride logs 826 indicating status information for riders and drivers throughout the given region.


By way of example, the instructions and data stored in the memory 820 can be executed by the processor 810 to implement an example transport system 100 of FIG. 1. In performing the operations, the processor 810 can receive pick-up requests 882 and driver locations 884, and submit transport invitations 852 and match codes 854 to facilitate the servicing of the requests 882. The processor 810 is configured with software and/or other logic to perform one or more processes, steps and other functions described with implementations, such as described by FIGS. 1-7, and elsewhere in the present application.


Examples described herein are related to the use of the computer system 800 for implementing the techniques described herein. According to one example, those techniques are performed by the computer system 800 in response to the processor 810 executing one or more sequences of one or more instructions contained in the main memory 820. Such instructions may be read into the main memory 820 from another machine-readable medium, such as the storage device 840. Execution of the sequences of instructions contained in the main memory 820 causes the processor 810 to perform the process steps described herein. In alternative implementations, hard-wired circuitry may be used in place of or in combination with software instructions to implement examples described herein. Thus, the examples described are not limited to any specific combination of hardware circuitry and software.


It is contemplated for examples described herein to extend to individual elements and concepts described herein, independently of other concepts, ideas or systems, as well as for examples to include combinations of elements recited anywhere in this application. Although examples are described in detail herein with reference to the accompanying drawings, it is to be understood that the concepts are not limited to those precise examples. As such, many modifications and variations will be apparent to practitioners skilled in this art. Accordingly, it is intended that the scope of the concepts be defined by the following claims and their equivalents. Furthermore, it is contemplated that a particular feature described either individually or as part of an example can be combined with other individually described features, or parts of other examples, even if the other features and examples make no mentioned of the particular feature. Thus, the absence of describing combinations should not preclude claiming rights to such combinations.

Claims
  • 1. A computing system implementing a service for a given region, the computing system comprising: a network communication interface to communicate, over one or more networks, with client devices of users and service providers of the service;one or more processors; andone or more memory resources storing instructions that, when executed by the one or more processors, cause the computing system to: receive, over the one or more networks, a request for the service from a client device of a user;in response to receiving the request, generate a match code for the request to facilitate a rendezvous between the user and a service provider;transmit, over the one or more networks, the match code to the client device of the user;receive, over the one or more networks, data corresponding to the match code from a provider application executing on a client device of the service provider; andbased on receiving the data corresponding to the match code from the client device of the service provider, update, in a record, an app state associated with the service provider, the app state indicating that the service provider has rendezvoused with the user.
  • 2. The computing system of claim 1, wherein the match code comprises a unique number displayed on a display screen of the client device of the user, and wherein receiving the data from the client device of the service provider corresponds to the service provider inputting the unique number on the client device of the service provider.
  • 3. The computing system of claim 1, wherein the match code comprises a QR code, and wherein receiving the data corresponding to the match code from the provider application executing on the client device of the service provider corresponds to the service provider scanning the QR code on the client device of the user.
  • 4. The computing system of claim 1, wherein the executed instructions further cause the computing system to: transmit, over the one or more networks, trigger data to the provider application executing on the client device of the service provider, the trigger data causing the provider application to enable input of the match code on the client device of the service provider.
  • 5. The computing system of claim 1, wherein the executed instructions further cause the computing system to: generate, via a user interface displayed on the client device of the user, rendezvous information providing a location or area at which the user can communicate the match code to the service provider.
  • 6. The computing system of claim 1, wherein the executed instructions further cause the computing system to: generate, via a user application executing on the client device of the user, map data causing map content to be displayed on a display screen of the client device of the user, the map content providing navigation directions to rendezvous with the service provider.
  • 7. The computing system of claim 1, wherein the executed instructions further cause the computing system to: generate, via the provider application executing on the client device of the service provider, map data causing map content to be displayed on a display screen of the client device of the service provider, the map content providing navigation directions to rendezvous with the user.
  • 8. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a computing system, cause the computing system to: communicate, over one or more networks, with client devices of users and service providers of a service implemented by the computing system for a given region;receive, over the one or more networks, a request for the service from a client device of a user;in response to receiving the request, generate a match code for the request to facilitate a rendezvous between the user and a service provider;transmit, over the one or more networks, the match code to the client device of the user;receive, over the one or more networks, data corresponding to the match code from a provider application executing on a client device of the service provider; andbased on receiving the data corresponding to the match code from the client device of the service provider, update, in a record, an app state associated with the service provider, the app state indicating that the service provider has rendezvoused with the user.
  • 9. The non-transitory computer-readable medium of claim 8, wherein the match code comprises a unique number displayed on a display screen of the client device of the user, and wherein receiving the data from the client device of the service provider corresponds to the service provider inputting the unique number on the client device of the service provider.
  • 10. The non-transitory computer-readable medium of claim 8, wherein the match code comprises a QR code, and wherein receiving the data corresponding to the match code from the provider application executing on the client device of the service provider corresponds to the service provider scanning the QR code on the client device of the user.
  • 11. The non-transitory computer-readable medium of claim 8, wherein the executed instructions further cause the computing system to: transmit, over the one or more networks, trigger data to the provider application executing on the client device of the service provider, the trigger data causing the provider application to enable input of the match code on the client device of the service provider.
  • 12. The non-transitory computer-readable medium of claim 8, wherein the executed instructions further cause the computing system to: generate, via a user interface displayed on the client device of the user, rendezvous information providing a location or area at which the user can communicate the match code to the service provider.
  • 13. The non-transitory computer-readable medium of claim 8, wherein the executed instructions further cause the computing system to: generate, via a user application executing on the client device of the user, map data causing map content to be displayed on a display screen of the client device of the user, the map content providing navigation directions to rendezvous with the service provider.
  • 14. The non-transitory computer-readable medium of claim 8, wherein the executed instructions further cause the computing system to: generate, via the provider application executing on the client device of the service provider, map data causing map content to be displayed on a display screen of the client device of the service provider, the map content providing navigation directions to rendezvous with the user.
  • 15. A computer-implemented method of facilitating direct pairings in connection with a service, the method being performed by one or more processors of a computing system and comprising: communicating, over one or more networks, with client devices of users and service providers of the service;receiving, over the one or more networks, a request for the service from a client device of a user;in response to receiving the request, generate a match code for the request to facilitate a rendezvous between the user and a service provider;transmitting, over the one or more networks, the match code to the client device of the user;receiving, over the one or more networks, data corresponding to the match code from a provider application executing on a client device of the service provider; andbased on receiving the data corresponding to the match code from the client device of the service provider, updating, in a record, an app state associated with the service provider, the app state indicating that the service provider has rendezvoused with the user.
  • 16. The method of claim 15, wherein the match code comprises a unique number displayed on a display screen of the client device of the user, and wherein receiving the data from the client device of the service provider corresponds to the service provider inputting the unique number on the client device of the service provider.
  • 17. The method of claim 15, wherein the match code comprises a QR code, and wherein receiving the data corresponding to the match code from the provider application executing on the client device of the service provider corresponds to the service provider scanning the QR code on the client device of the user.
  • 18. The method of claim 15, further comprising: transmitting, over the one or more networks, trigger data to the provider application executing on the client device of the service provider, the trigger data causing the provider application to enable input of the match code on the client device of the service provider.
  • 19. The method of claim 15, further comprising: generating, via a user interface displayed on the client device of the user, rendezvous information providing a location or area at which the user can communicate the match code to the service provider.
  • 20. The method of claim 15, further comprising: generating, via a user application executing on the client device of the user, map data causing map content to be displayed on a display screen of the client device of the user, the map content providing navigation directions to rendezvous with the service provider.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of U.S. patent application Ser. No. 17/307,741, filed on May 4, 2021; which is a Continuation of U.S. patent application Ser. No. 16/864,477, filed on May 1, 2020 (now U.S. Pat. No. 11,030,843); which is a Continuation of U.S. patent application Ser. No. 16/360,858, filed on Mar. 21, 2019 (now U.S. Pat. No. 10,706,659); which is a Continuation of U.S. patent application Ser. No. 16/148,895, filed on Oct. 1, 2018 (now U.S. Pat. No. 10,304,277), which is a Continuation of U.S. patent application Ser. No. 15/350,905, filed on Nov. 14, 2016 (now U.S. Pat. No. 10,192,387), which is a Continuation of U.S. patent application Ser. No. 15/292,055, filed on Oct. 12, 2016 (now U.S. Pat. No. 10,325,442); the aforementioned applications being hereby incorporated by reference in their respective entireties.

US Referenced Citations (277)
Number Name Date Kind
4550304 Saitta Oct 1985 A
5168451 Bolger Dec 1992 A
5212645 Wildes et al. May 1993 A
5604676 Penzias Feb 1997 A
5945919 Trask Aug 1999 A
6028537 Suman Feb 2000 A
6212393 Suarez Apr 2001 B1
6356838 Paul Mar 2002 B1
6618593 Drutman Sep 2003 B1
6756913 Ayed Jun 2004 B1
6874037 Abram Mar 2005 B1
6925381 Adamcyzk Aug 2005 B2
6950745 Agnew Sep 2005 B2
6989765 Gueziec Jan 2006 B2
7062376 Oesterling Jun 2006 B2
7080019 Hurzeler Jul 2006 B1
7610145 Kantarjiev Oct 2009 B2
7822426 Wuersch Oct 2010 B1
7886019 Srinivasachar Feb 2011 B2
8140256 dos-Santos Mar 2012 B1
8285571 Demirdjian Oct 2012 B2
8362894 Shah Jan 2013 B2
8489119 Fraccaroli Jul 2013 B1
8554608 O'Connor Oct 2013 B1
8646194 Podd Feb 2014 B2
8799038 Chen et al. Aug 2014 B2
8909256 Fraccaroli Dec 2014 B2
9299255 Yarnold Mar 2016 B2
9483744 Lord Nov 2016 B2
9488484 Lord Nov 2016 B2
9552559 Lord Jan 2017 B2
9558469 Lord Jan 2017 B2
9569740 Lord Feb 2017 B2
9599481 Lord Mar 2017 B2
9631933 Aula Apr 2017 B1
9671239 Lord Jun 2017 B2
9689694 Lord Jun 2017 B2
9715667 Lord Jul 2017 B2
9892637 Demisse Feb 2018 B2
9965960 McDavitt-Van Fleet May 2018 B1
9978282 Lambert May 2018 B2
10088328 Ledet Oct 2018 B1
10111043 Cirit Oct 2018 B1
10192387 Brinig Jan 2019 B2
10215574 Le Cun Feb 2019 B2
10304227 Brinig May 2019 B2
10341819 Cirit Jul 2019 B2
10467561 Haparnas Nov 2019 B2
10706659 Brinig Jul 2020 B2
10728708 Cirit Jul 2020 B2
11041732 Le Cun Jun 2021 B2
11092456 Mangal Aug 2021 B2
11099019 Nickels Aug 2021 B2
11153395 Sweeney Oct 2021 B2
11175150 Mishra Nov 2021 B2
11277209 Cirit Mar 2022 B2
11622018 Sweeney Apr 2023 B2
11671184 Cirit Jun 2023 B2
11747154 Nickels Sep 2023 B2
20010037174 Dickerson Nov 2001 A1
20010056363 Gantz Dec 2001 A1
20020009978 Dukach Jan 2002 A1
20020044186 Tochihara et al. Apr 2002 A1
20020125839 Yen Sep 2002 A1
20020143587 Champernown Oct 2002 A1
20030030666 Najmi Feb 2003 A1
20040024789 Ditcharo et al. Feb 2004 A1
20040049424 Murray Mar 2004 A1
20040107110 Gottlieb et al. Jun 2004 A1
20050153707 Ledyard Jul 2005 A1
20050227704 Ferra Oct 2005 A1
20060004590 Khoo Jan 2006 A1
20060034201 Umeda et al. Feb 2006 A1
20060059023 Mashinsky Mar 2006 A1
20060200306 Adamcyzk Sep 2006 A1
20060224437 Gupta Oct 2006 A1
20060242154 Rawat Oct 2006 A1
20070011324 Mehr Jan 2007 A1
20070150375 Yang Jun 2007 A1
20070183156 Shan Aug 2007 A1
20070224939 Jung Sep 2007 A1
20070255627 Hallowell Nov 2007 A1
20070265974 Chang Nov 2007 A1
20070276595 Lewinson Nov 2007 A1
20070279241 Jung Dec 2007 A1
20080055049 Weill Mar 2008 A1
20080091342 Assael Apr 2008 A1
20080114629 Pavlov May 2008 A1
20080195428 O'Sullivan Aug 2008 A1
20080228854 Grimault et al. Sep 2008 A1
20080270204 Poykko Oct 2008 A1
20080277183 Huang Nov 2008 A1
20080298058 Kan Dec 2008 A1
20090049119 Marcinkiewicz et al. Feb 2009 A1
20090083111 Carr Mar 2009 A1
20090143965 Chang et al. Jun 2009 A1
20090172009 Schmith Jul 2009 A1
20090176508 Lubeck et al. Jul 2009 A1
20090192851 Bishop Jul 2009 A1
20090216600 Hill Aug 2009 A1
20090281844 Probst Nov 2009 A1
20090313077 Wheeler, IV Dec 2009 A1
20090326991 Wei Dec 2009 A1
20100042549 Adamcyzk Feb 2010 A1
20100198428 Sultan et al. Aug 2010 A1
20100205017 Sichelman et al. Aug 2010 A1
20100207812 Demirdjian Aug 2010 A1
20100211425 Govindarajan Aug 2010 A1
20100260350 Chutorash Oct 2010 A1
20100280852 Huang Nov 2010 A1
20100292914 Vepsalinen Nov 2010 A1
20100332133 Harris Dec 2010 A1
20110000747 Wu Jan 2011 A1
20110009098 Kong Jan 2011 A1
20110099040 Felt Apr 2011 A1
20110102165 Rahamim May 2011 A1
20110118981 Chamlou May 2011 A1
20110145089 Khunger Jun 2011 A1
20110153629 Lehmann et al. Jun 2011 A1
20110161227 Santo, Jr. Jun 2011 A1
20110225269 Yap et al. Sep 2011 A1
20110258623 Wagner Oct 2011 A1
20110301985 Camp Dec 2011 A1
20110301997 Gale et al. Dec 2011 A1
20110320230 Podgumy Dec 2011 A1
20120041675 Juliver Feb 2012 A1
20120059693 Colodny et al. Mar 2012 A1
20120078671 Mohebbi Mar 2012 A1
20120078672 Mohebbi Mar 2012 A1
20120092194 Crucs Apr 2012 A1
20120131170 Spat May 2012 A1
20120137256 Lalancette May 2012 A1
20120171963 Tsfaty Jul 2012 A1
20120203599 Choi Aug 2012 A1
20120232943 Myr Sep 2012 A1
20130024249 Zohar Jan 2013 A1
20130024308 Ramaswamy Jan 2013 A1
20130054139 Bodin Feb 2013 A1
20130054281 Thakkar Feb 2013 A1
20130073327 Edelberg Mar 2013 A1
20130074111 Hyde et al. Mar 2013 A1
20130090963 Sharma Apr 2013 A1
20130102333 Dam Apr 2013 A1
20130132140 Amin May 2013 A1
20130144831 Atlas Jun 2013 A1
20130150004 Rosen Jun 2013 A1
20130171930 Anand Jul 2013 A1
20130179205 Slinin Jul 2013 A1
20130179215 Slinin Jul 2013 A1
20130290200 Singhal Oct 2013 A1
20130295963 Sen Nov 2013 A1
20130316727 Edge Nov 2013 A1
20130332527 Du Dec 2013 A1
20140011522 Lin Jan 2014 A1
20140051465 Ruys et al. Feb 2014 A1
20140067488 James Mar 2014 A1
20140081764 James Mar 2014 A1
20140082069 Varoglu et al. Mar 2014 A1
20140087697 Johnston Mar 2014 A1
20140129135 Holden et al. May 2014 A1
20140129951 Amin May 2014 A1
20140130387 Pod May 2014 A1
20140149544 Le Nerriec May 2014 A1
20140156556 Lavian Jun 2014 A1
20140164559 Demeniuk Jun 2014 A1
20140172727 Abhyanker Jun 2014 A1
20140223787 Richmond Aug 2014 A1
20150032484 Mermelstein Jan 2015 A1
20150324945 Lord Jan 2015 A1
20150046080 Wesselius Feb 2015 A1
20150081362 Chadwick Mar 2015 A1
20150127439 Campos De Figueiredo Faceira May 2015 A1
20150154810 Tew Jun 2015 A1
20150161564 Sweeney Jun 2015 A1
20150161752 Barreto Jun 2015 A1
20150195133 Sheets Jul 2015 A1
20150204684 Rostamian Jul 2015 A1
20150219464 Beaurepaire Aug 2015 A1
20150228000 Bijor Aug 2015 A1
20150248689 Paul Sep 2015 A1
20150262430 Farrelly Sep 2015 A1
20150279217 Chen Oct 2015 A1
20150310868 Mallik Oct 2015 A1
20150317568 Grasso Nov 2015 A1
20150323327 Lord Nov 2015 A1
20150323329 Lord Nov 2015 A1
20150323330 Lord Nov 2015 A1
20150323331 Lord Nov 2015 A1
20150324334 Lord Nov 2015 A1
20150324717 Lord Nov 2015 A1
20150324734 Lord Nov 2015 A1
20150325158 Lord Nov 2015 A1
20150332425 Kalanick Nov 2015 A1
20150339923 Konig Nov 2015 A1
20150345743 Trincia Dec 2015 A1
20150345951 Dutta Dec 2015 A1
20150356803 Ellis Dec 2015 A1
20160019728 Petrie Jan 2016 A1
20160026935 Botea Jan 2016 A1
20160026936 Richardson Jan 2016 A1
20160027306 Lambert Jan 2016 A1
20160034828 Sarawgi Feb 2016 A1
20160034845 Hayama Feb 2016 A1
20160042303 Medina Feb 2016 A1
20160117610 Ikeda Apr 2016 A1
20160131490 Kimes May 2016 A1
20160132792 Rosnow May 2016 A1
20160138928 Guo May 2016 A1
20160180346 Cheng Jun 2016 A1
20160198319 Huang Jul 2016 A1
20160300318 Godil Oct 2016 A1
20160334232 Zhuang Nov 2016 A1
20160356615 Arata Dec 2016 A1
20160364678 Cao Dec 2016 A1
20160364812 Cao Dec 2016 A1
20160364824 Bryant Dec 2016 A1
20160377445 Rodoni Dec 2016 A1
20160378303 Crilley Dec 2016 A1
20170011324 Truong Jan 2017 A1
20170017374 Herz Jan 2017 A1
20170038948 Le Cun Feb 2017 A1
20170059347 Flier Mar 2017 A1
20170072844 Kalanick Mar 2017 A1
20170126810 Kentley May 2017 A1
20170132540 Haparnas May 2017 A1
20170138749 Pan May 2017 A1
20170186126 Marco Jun 2017 A1
20170193404 Yoo Jul 2017 A1
20170213160 Yerli Jul 2017 A1
20170267166 Kalanick Sep 2017 A1
20170300848 Shoval Oct 2017 A1
20180003843 Hori Jan 2018 A1
20180012151 Wang Jan 2018 A1
20180071634 Carvallo Mar 2018 A1
20180081496 Bhardwaj Mar 2018 A1
20180091603 Nickels Mar 2018 A1
20180101925 Brinig Apr 2018 A1
20180102017 Brinig Apr 2018 A1
20180178717 Kalanick Jun 2018 A1
20180180426 Pan Jun 2018 A1
20180198535 Cirit Jul 2018 A1
20180232789 Bijor Aug 2018 A1
20180238694 Bellotti Aug 2018 A1
20180293521 Akselrod Oct 2018 A1
20180310135 Cirit Oct 2018 A1
20190014445 Cirit Jan 2019 A1
20190035202 Brinig Jan 2019 A1
20190051174 Haque Feb 2019 A1
20190052728 Cheng Feb 2019 A1
20190087754 Farrelly Mar 2019 A1
20190095849 Sweeney Mar 2019 A1
20190109910 Sweeney Apr 2019 A1
20190152382 Kalanick May 2019 A1
20190205812 Afzal Jul 2019 A1
20190206009 Gibson Jul 2019 A1
20190221069 Brinig Jul 2019 A1
20190244318 Rajcok Aug 2019 A1
20190274010 Cirit Sep 2019 A1
20190320043 Goldstein Oct 2019 A1
20190327003 Cirit Oct 2019 A1
20200013020 Yang Jan 2020 A1
20200145503 Sweeney May 2020 A1
20200173979 Nickels Jun 2020 A1
20200258344 Brinig Aug 2020 A1
20200269750 Kalanick Aug 2020 A1
20200374650 Jung Nov 2020 A1
20210223051 Hochberg Jul 2021 A1
20210227049 Demiralp Jul 2021 A1
20210256794 Brinig Aug 2021 A1
20210262810 Le Cun Aug 2021 A1
20210364302 Nickels Nov 2021 A1
20220006870 Sweeney Jan 2022 A1
20220118904 Kalanick Apr 2022 A1
20230120345 Demiralp Apr 2023 A1
20230254049 Cirit Aug 2023 A1
20230343167 Brinig Oct 2023 A1
20230358552 Nickels Nov 2023 A1
Foreign Referenced Citations (55)
Number Date Country
2019261826 Dec 2019 AU
2018259218 Mar 2021 AU
112019013757 Jan 2020 BR
2889853 May 2014 CA
3059762 Apr 2018 CA
3048145 Jul 2018 CA
3061281 Nov 2018 CA
3038490 Dec 2019 CA
201918124 Aug 2011 CN
202213529 May 2012 CN
102934393 Feb 2013 CN
104463509 Mar 2015 CN
104885386 Sep 2015 CN
105871903 Aug 2016 CN
106170795 Nov 2016 CN
106209876 Dec 2016 CN
109120497 Jan 2019 CN
110301106 Oct 2019 CN
111601241 Aug 2020 CN
111832788 Oct 2020 CN
3566338 Nov 2019 EP
3616063 Oct 2020 EP
2473831 Mar 2011 GB
1992027220 May 1990 JP
2000082199 Mar 2000 JP
2002-133592 May 2002 JP
2003-531505 Oct 2003 JP
2004-302941 Oct 2004 JP
2004-362271 Dec 2004 JP
2005-107942 Apr 2005 JP
2006-227672 Aug 2006 JP
2006-339810 Dec 2006 JP
3934985 Jun 2007 JP
2012088925 May 2012 JP
2014-130552 Jun 2014 JP
2014-238831 Dec 2014 JP
2004-073639 May 2015 JP
6218057 Oct 2017 JP
2016157395 Feb 2018 JP
6836651 Mar 2021 JP
2021100251 Jul 2021 JP
10-2010-0053717 May 2010 KR
10-2012-0090480 Aug 2012 KR
10-2014-0124137 Oct 2014 KR
10-2015-0045962 Apr 2015 KR
WO 1999044186 Feb 1999 WO
WO 2005013588 Feb 2005 WO
WO 2003040972 May 2005 WO
WO-2009023295 Feb 2009 WO
WO 2011067741 Jun 2011 WO
WO 2011069170 Jun 2011 WO
WO-20110069170 Jun 2011 WO
WO 2014106617 Jul 2014 WO
WO 2018128781 Jul 2018 WO
WO 2018197962 Nov 2018 WO
Non-Patent Literature Citations (68)
Entry
Grimm, Nicholas Justin. “A Low-Cost Contactless Micro-Payment Framework.” University of Johannesburg (South Africa), pp. 1-234, 2014 (Year: 2014).
International Search Report in PCT/US2015/014406 dated May 13, 2015.
Office Action dated Feb. 8, 2017 in Canadian App. No. 2,948,472.
Office Action dated Mar. 3, 2017 in Australian App. No. 2015259802.
Examination Report dated Oct. 12, 2017 in Australian App. No. 2017206210.
Office Action dated Dec. 19, 2017 in Chinese Application No. 201508831578.6.
Office Action dated Feb. 15, 2018 in Australian Application No. 2017265095.
Office Action dated Apr. 17, 2018 in Japanese Application No. 2016567642.
Office Action dated Apr. 16, 2018 in Australian Application No. 2017206210.
Office Action dated Jul. 3, 2018 in EP 15792139.6.
Office Action dated Oct. 10, 2018 in AU 2017206210.
Office Action dated Nov. 8, 2018 in CN 201580031578.6.
Office Action dated Dec. 4, 2018 in EP 15792139.6.
Office Action dated Feb. 6, 2019 in AU 2017265095.
International Search Report in PCT/US2015/014743 dated May 13, 2015.
International Prelimniary Report on Patentability in PCT/US2015/014743 dated Aug. 18, 2016.
EESR in EP 15745931.4 dated May 30, 2017.
Branscombe, M.; Use your phone to control your car using MirrorLink (Aug. 1, 2012; Tech Radar, pp. 1-2, http: // www.techradar. Com/news/car-tech/use-your-phone-to-control-your-car-sing-mirrorlink-1090628 (Year: 2012).
Dillow, C.: “Without Smarts, New York's 'Taxi of Tomorrow' is Really the Taxi of Yesterday” (Apr. 10, 2012); Popular Science, https: //www.popsci. Com/cars/article/2012-04/without-connectivity-new-yorks-new-taxi-tomorrow-really-taxi-yesterday (Year: 2012).
Office Action in EP15745931.4 dated Mar. 2, 2018.
Office Action in CN 2015800072642 dated Nov. 26, 2018.
Hai Yang et al. “Equilibria of bilateral taxi-customer searching and meeting on networks”, Transportation Research Part B., 2010, vol. 44, pp. 1067-1083.
International Search Report in PCT/US2015/034831 dated Sep. 24, 2015.
International Search Report in PCT/US2015/043654 dated Nov. 26, 2015.
International Search report in PCT/US2016/016858 dated May 19, 2016.
IPRP in PCT/US2014/069602 dated Jun. 14, 2016.
Alfred Round, et al.: Future Ride: Adapting New Technologies to Paratransit in the United States, UC Transportation Center Berkeley, CA, UCTC No. 306 (1996).
Kikuchi, et al., “Advanced Traveler Aid Systems for Public Transportation”, US Department of Transportation, Sep. 1994.
Fu, et al., “On-Line and Off-Line Routing and Scheduling of Dial-a-Ride Paratransit Vehicles”, Computer-Aided Civil and Infrastructure Engineering 14 (1999).
International Search Report and Written Opinion issued in PCT/US2016/062344 dated Jan. 31, 2017.
Extended Search Report issued in EP 14869805.3 dated May 10, 2017.
Extended Search Report issued in EP 15826507.1 dated Nov. 10, 2017.
International Search Report in PCT/US2017/053065 dated Sep. 22, 2017.
Written Opinion issued in SG 11201700669R dated Dec. 5, 2017.
Robert Kuhlthau and Ira D. Jacobson, The Development of a Model for Predicting Passenger Acceptance of Short Haul Air Transportation Systems, NASA, Sep. 1977.
Xing Wang, Optimizing Ride Matches for Dynamic Ride Sharing Systems, GIT, May 2013.
International Search Report issued in PCT/US2017/053065 dated Dec. 13, 2017.
First Examination Report in EP 14869806.3 dated May 4, 2018.
Aloizio P. Silva, A Mobile Location-Based Vehicle Fleet Management Service Application, 0-7803-78482/03 2003, IEEE.
Andersson, Magnus, Peer-to-Peer Service Sharing Platforms: Driving Share and Share Alike on a Mass-Scale, Thirty Fourth International Conference on Information Systems, Milan 2013, pp. 1-15 (2013).
Examination Reported in AU 2017342747 dated Apr. 8, 2019.
IPRP in PCT/US2017/053065 dated Apr. 25, 2019.
Office Action in CN 2015800072642 dated May 8, 2019.
ISR and Written Opinion issued in PCT/US2017/066859 on Mar. 15, 2018.
ISR and Written Opinion issued in PCT/US2019/025659 dated Jul. 15, 2019.
Office Action in AU 2017390194 dated Jul. 26, 2019.
Office Action in CA 3048145 dated Jul. 29, 2019.
Exam Report No. 2 in AU 2017/342747 dated Aug. 27, 2019.
Exam Report No. 1 in AU2015214049 dated Nov. 5, 2019.
Office Action in KR 10-2019-7022998 dated Sep. 2, 2019.
First Office Action in CN 201780086102.1 dated Dec. 30, 2019.
Notice of Allowance in KR 10-2019-7022998 dated Jan. 2, 2020.
Office Action in JP 2019-534853 dated Feb. 5, 2020.
Exam Report No. 1 in AU 2019200957 dated Apr. 15, 2020.
OA in EP 17859424.8 dated Apr. 28, 2020.
M.E.T. Horn, “Multimodal and demand-responsive passenger transport systems: a modeling framework with embedded control systems”, Transportation Research Part A 36, 167-188 (2002) Year: 2000.
Exam Report in IN 201647031195 dated Oct. 30, 2019.
Exam Report No. 1 in AU 2014386266 dated Feb. 14, 2020.
Office Action in JP 2019-91274 dated Sep. 2, 2020.
Summons to attend oral hearing in EP 17859424.8 dated Dec. 7, 2020.
Office Action in IN 201647042936 dated Dec. 23, 2020.
Decision in EP 17859424.8 dated Aug. 4, 2021.
Grimm, Nicholas “A low-cost contactless micro-payment framework”, University of Johannesburg (South Africa), pp. 1-234, 2014.
How to request multiple Uber vehicles, Aug. 15, 2013 (https://www.wikihow.com/ Request-Multiple-Uber-Vehicles.
How to book two cabs at the same time in Uber, Jun. 30, 2017 (https://fastandclean.org/ book-two-cabs-time-uber).
Is it possible to order 2 Ubers at the same time, Jul. 13, 2015 (https://web.archive.org/web/20150801000000*/https://android. Stackexchange.com/questions/114027/is-it- possible-to-order-2-ubers-at-the-same-time.
Rosenblat, Alex, “Algorithmic labor and information asymmetries: A case study of Uber's drivers”, International journal of communication 10: Jul. 2016.
Constine, John, “Uber is Now Testing ‘Suggested Pickup Points’”, https://techcrunch.com/2015/07/08/ uber-suggested-pickup-points/ (Jul. 8, 2015).
Related Publications (1)
Number Date Country
20230343167 A1 Oct 2023 US
Continuations (6)
Number Date Country
Parent 17307741 May 2021 US
Child 18196615 US
Parent 16864477 May 2020 US
Child 17307741 US
Parent 16360858 Mar 2019 US
Child 16864477 US
Parent 16148895 Oct 2018 US
Child 16360858 US
Parent 15350905 Nov 2016 US
Child 16148895 US
Parent 15292055 Oct 2016 US
Child 15350905 US