US20240022884A1 - Rules-Based Ride Security - Google Patents
Rules-Based Ride Security Download PDFInfo
- Publication number
- US20240022884A1 US20240022884A1 US18/104,406 US202318104406A US2024022884A1 US 20240022884 A1 US20240022884 A1 US 20240022884A1 US 202318104406 A US202318104406 A US 202318104406A US 2024022884 A1 US2024022884 A1 US 2024022884A1
- Authority
- US
- United States
- Prior art keywords
- driver
- rider
- data
- user
- audio
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 50
- 238000012795 verification Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 8
- 230000009471 action Effects 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 7
- 230000000007 visual effect Effects 0.000 description 25
- 238000004891 communication Methods 0.000 description 19
- 230000006399 behavior Effects 0.000 description 17
- 238000012544 monitoring process Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 4
- 230000009429 distress Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000006378 damage Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003292 diminished effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/117—Identification of persons
- A61B5/1171—Identification of persons based on the shapes or appearances of their bodies or parts thereof
- A61B5/1172—Identification of persons based on the shapes or appearances of their bodies or parts thereof using fingerprinting
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/3438—Rendez-vous, i.e. searching a destination where several users can meet, and the routes to this destination for these users; Ride sharing, i.e. searching a route such that at least two users can share a vehicle for at least part of the route
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/20—Monitoring the location of vehicles belonging to a group, e.g. fleet of vehicles, countable or determined number of vehicles
- G08G1/202—Dispatching vehicles on the basis of a location, e.g. taxi dispatching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/61—Time-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/63—Location-dependent; Proximity-dependent
- H04W12/64—Location-dependent; Proximity-dependent using geofenced areas
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
Definitions
- On-demand mobility is a trend in transportation services today.
- On-demand mobility relates to moving people, goods, or services with the assistance of a computer, such as an application operable on a mobile computing device, that allows for ease of scheduling and payment.
- On-demand mobility services can bring convenience to user's lives. In some cases, the security and privacy of users can be diminished with this convenience.
- a method includes receiving, through the user interface of a user device of a user, a request for a ride from the user; assigning a driver to provide the ride for the user; according to one or more application rules associated with the request for the ride, providing the driver with access to information uniquely identifying the user or a rider.
- Embodiments can include one or more of the following features.
- Providing the driver with access to the information includes providing the driver with access based on a location of the driver, in which the application rules define the location at which the driver is to be provided with access.
- the method includes providing the driver with access to the information at a pick-up location for the ride.
- Providing the driver with access to the information includes providing the driver with access for a limited period of time, the limited period of time being specified by one or more of the application rules.
- the method includes causing destruction of the information according to one or more of the application rules.
- the method includes causing destruction of the information after the driver has accessed the information.
- the method includes receiving, from a mobile device operated by the driver, a current fingerprint of the user; and in which providing the driver with access to the information includes providing the driver with information indicative of results of a comparison between the current fingerprint of the user or rider and a stored fingerprint of the user or rider.
- the method includes providing the driver with access to one or more instructions associated with the ride according to one or more of the application rules.
- the instructions include one or more of audio instructions, video instructions, image instructions, and text instructions.
- a method includes receiving, through the user interface of a user device of a user, a request for a ride from the user; assigning a driver to provide the ride for the user; according to one or more application rules associated with the request for the ride, providing the user with access to information uniquely identifying the driver.
- Embodiments can include one or more of the following features.
- the information uniquely identifying the driver includes a visual code.
- the visual code includes a pattern of colors.
- the method includes providing the visual code to a mobile device associated with the driver.
- the visual code is randomly generated based on the one or more application rules and in which the randomly generated visual code is synchronized between the mobile device associated with the driver and a mobile device associated with the user.
- the visual code provided to the mobile device is configured to be displayed with one or more lights mounted on a vehicle operated by the driver.
- the method includes receiving, from a mobile device operated by the user, a current fingerprint of the driver; and in which providing the driver with access to the information includes providing the driver with information indicative of results of a comparison between the current fingerprint of the driver and a stored fingerprint of the driver.
- a method includes during transportation of a rider by a driver in a ride arranged by a computer-implemented driver assignment platform, implementing one or more rules to enable an image of the rider to be transmitted to one or more of an operator of the computer-implemented driver assignment platform and a supervisor of the rider.
- Embodiments can include one or more of the following features.
- Enabling an image of the rider to be transmitted includes streaming a live video of the rider.
- the method includes adjusting the bandwidth of the streaming video by upscaling or downscaling of video during live video streaming.
- Enabling an image of the rider to be transmitted includes capturing pictures or bursts of pictures of the rider and the car and transmitting the pictures or the bursts of pictures.
- the method includes enabling transmission of a map depicting a predicted route of the ride and a current approximate location of the rider on the map.
- the method includes preventing one or more functions of a device of the driver from being operational during the ride.
- the method includes enabling the rider to generate a panic alert, using a rider device, responsive to a distress situation occurring during the ride.
- a method includes during transportation of a user by a driver in a ride arranged by a computer-implemented driver assignment platform, receiving information indicative of a location of the ride; implementing one or more application rules to compare the received information indicative of a location of the ride with information indicative of an allowed boundary of the ride; and generating an alert when the location of the ride deviates from the allowed boundary of the ride.
- Embodiments can include one or more of the following features.
- the method includes establishing a geo-fence for the ride defining an area around the expected path of the ride, the geo-fence being based on the one or more application rules associated with the rider; and generating the alarm when the ride leaves the area defined by the geo-fence.
- FIG. 1 is a diagram of an on-demand and scheduling service system.
- FIG. 2 is a diagram of an on-demand scheduling service system.
- FIGS. 3 - 21 are diagrams of user interfaces.
- FIGS. 22 and 23 are flow charts.
- FIG. 24 is a diagram of a computing system.
- a service provider e.g., a driver
- a service receiver e.g., a rider
- the approaches described here enable users and drivers to securely identify each other to ensure that a requested ride is provided by the intended driver to the intended driver.
- the approaches described here also enable monitoring of the status or behavior of the driver and/or the rider during the ride, e.g., via streaming video, images, or audio.
- the approaches described here also enable monitoring of the location of the driver's vehicle during the ride.
- an on-demand and scheduling service system 150 receives a request 156 for a ride from a user 152 .
- the user 152 requests the ride for himself; in some examples, the user 152 requests the ride on behalf of a rider 154 .
- the request for a ride can include schedule information, such as the date and time of the ride; geographic information, such as a start location, a waypoint, and an end location; special requests, such as a request for a vehicle that can accommodate luggage; and/or other types of information.
- Multiple drivers 160 are enrolled with the on-demand and scheduling service system 150 . Responsive to receiving the user's request 156 for a ride, the on-demand and scheduling service system 150 selects a particular driver 160 a from among the multiple drivers 160 and assigns that driver 160 a to provide the ride for the user 152 or the rider 154 . The on-demand and scheduling service system 150 can select the particular driver 160 a from among the multiple drivers 160 based on an indication of the trust that the user 152 has for each of one or more of the drivers 160 .
- the particular driver 160 a selected by the on-demand and scheduling service system 150 for the user 152 can be the driver who is the most trusted by the user 152 , based on one or more metrics of trust, such as based on a circle of trust for the user and/or based on a trust barometer value for the driver.
- the on-demand and scheduling service system 150 can determine an indication of the trust that the user 152 has for each of the one or more drivers 160 upon receipt of the user's request 156 for a ride.
- the indication of trust can be pre-determined and stored in a data storage associated with the on-demand and scheduling service system. Further description of trust-based selection of drivers can be found in U.S. application No. [Attorney Docket No. 42480-0002001], the entire contents of which are incorporated here by reference.
- One or more measures can be implemented by the on-demand and scheduling service system 150 to maintain the safety and security of the rider 154 during the ride.
- the driver 160 can be subject to one or more background checks 170 .
- the system 150 can enable identity verification 172 to ensure that the driver 160 picks up the intended rider 154 and that the rider 154 accepts a ride with the intended driver 160 .
- the driver 160 can be provided with information to verify the identity of the user 152 or the rider 154 at pick-up, or the user 152 can be provided with information to verify the identity of the driver 160 at pick-up.
- the system 150 can facilitate the transmission of images or video of the rider 154 in real time 174 to the user 152 or to another third party during the ride to allow the user or third party to monitor the status of the rider 154 .
- the system 150 can monitor the ride 176 , such as the location of the driver's vehicle, and transmit an alert to the user 152 or to another third party if an unexpected action is taken, such as if the driver 160 deviates from an expected route for the ride.
- the drivers 160 can be verified and background checked, e.g., upon registration with the system, periodically, or at random intervals. For instance, during a driver's registration with the on-demand and scheduling service system 150 , each driver completes a screening process. One or more activities can be performed in this screening process to verify the driver, such as collection and verification of the driver's personal information and documentation, interviews, trainings, mentoring by a coach, background checks, Department of Motor Vehicles (DMV) checks, reference checks, or other activities. Particulars of the driver's license, vehicle insurance, motor vehicle records, social security number, federal, county, or multi-state criminal records can also be verified.
- DMV Department of Motor Vehicles
- the user 152 can be provided with information to verify the identity of the driver, for instance, to verify that the driver 160 who has arrived to pick up the rider 154 is the same driver that was assigned to the user's requested ride 156 .
- the information can include personal information, such as a name, photograph, demographic information, or other personal information.
- the information can include information about the driver's vehicle, such a description of the vehicle (e.g., a make and model of the vehicle), a photograph of the vehicle, the vehicle's license plate, or other information about the vehicle.
- fingerprints of a driver can be taken, such as at the time of registration.
- the fingerprints can be taken through the driver's computing device or at a central facility, such as a registration facility, and stored in a database of the on-demand and scheduling service system 150 .
- the user 152 can obtain the driver's fingerprints, e.g., via the user's mobile device, and the system 150 can compare the obtained fingerprints with the stored fingerprints of the driver who is scheduled for the ride. If the fingerprints match, the driver 160 is verified as the correct driver.
- the on-demand and scheduling service system 150 can provide the driver 160 and the user 152 with a code 178 that uniquely identifies the driver 160 .
- the driver 160 and the user 152 can compare their codes at pick-up to ensure that the driver 160 is picking up the correct rider 154 and that the rider 154 is accepting a ride with the correct driver 160 .
- the code 178 can be a visual code, such as a pattern of colors.
- the code can be a static code or a dynamic code, e.g., a pattern of changing colors.
- the code can be displayed on the user interface of a mobile device operated by each of the driver 160 and the user 152 .
- the driver's vehicle can be equipped with one or more lights that light up or flash to display the code on the driver's vehicle, thus helping the user 152 to identify the driver's vehicle even at a crowded pick-up location.
- the driver 160 , the rider 154 , or both can be monitored during the ride by the on-demand and scheduling service system 150 , and information obtained by the monitoring can be provided to the user 152 or to a third party, such as a system administrator of the system 150 .
- the monitoring can include capturing video and/or still images of the driver 160 , the rider 154 , or both, continuously throughout the ride or at regular or random intervals, and providing the captured video and/or images to the user 152 or third party.
- the monitoring can include monitoring driver behavior, such as speed, acceleration, use of mobile devices, or other behavior.
- the monitoring can include monitoring the route of the driver's vehicle during the ride. In some examples, if the driver's vehicle deviates from an expected route, an alert can be provided to the user 152 or to a third party.
- FIG. 2 shows a diagram of an example of the on-demand and scheduling service system 150 .
- the on-demand and scheduling service system 150 includes a client device 54 .
- the client device 54 can be one or more of a user's device, driver's device, rider's device, third-party user's device, and so forth.
- the user is the rider.
- the user is the third-party user, such as a requestor of the ride that is neither the rider nor the driver.
- the on-demand and scheduling service system 150 includes an on-demand and scheduling service system server 35 .
- the server 35 can be a remote computing device for storing data, performing calculations, managing rulesets associated with each user, rider, and driver of the system 150 , and other similar functions.
- Determinations of the system can be performed either client-side, server-side, or both.
- Each of the server 35 and the client device 54 communicate over a wireless network 38 , such as a cellular network, the Internet, and so forth.
- Each of the server 35 and the client device 54 of the system 150 can include an application logic device 16 , 17 , a communication module 28 , 29 , a data access controller 41 , and a data handling module 44 , 45 .
- the communication module 28 can send the instructions for processing server-side by the application logic 17 of the server 35 , or the instructions can be parsed and processed by the application logic 16 of the client device 54 .
- Each of the server 35 and the client device 54 of the system 150 include application logic devices 16 , 17 .
- the application logic devices 16 , 17 include data processors for managing instructions of the application, determining the application state, processing inputs to the application from the user, and fetching or obtaining application rules for determining functionality of the application of the system 150 .
- the application of the system 150 is a program running on the client device 54 and/or the server 35 for performing the functions described herein.
- the application logic module 16 , 17 includes an app state manager 18 , 19 , a user notification rules module 20 , 21 , and the application rules module 22 , 23 .
- the app state manager 18 , 19 monitors and controls the state of the application, which can determine content of a response sent by the application in response to input by the user or data received by the application.
- the user notification rules module 20 , 21 determines when notifications, such as alerts, SMS messages, emails, alarms, push notifications, etc. are sent to the user.
- the application rules module determines which rules are applied during operation of the application as described in further detail below.
- the application rules engine includes rulesets that are both static, such as static rules 24 , 25 , and configurable by a user, such as configurable rules 26 , 27 .
- the application rules engine communicates with the internal communication interface 36 , 37 .
- the internal communication interface 36 , 37 manages requests and responses from various modules of the server 35 or client device 54 of the system 150 . For example, when data is requested from the functional database 48 , 49 , the internal communication interface 37 , 38 can send a request for the data, receive the data in response, and route the data to the appropriate requesting module.
- the communications module 28 , 29 includes either a client communication module 31 or a sever communication module 30 for the server 35 and client device 54 , respectively.
- the client communication module 31 includes a client request manager 33 for handling (e.g., queueing, parsing, etc.) requests from the client device 54 .
- the server communication module 30 includes a server request manager 32 for handling (e.g., queueing, parsing, etc.) requests from the server 35 .
- Video broadcasting managers 110 , 111 use the data retriever components 50 , 51 of the data access controller 40 , 41 to broadcast the live video of rider according to application rules 22 , 23 .
- Data creator components 42 , 43 are used to store this video data in the functional database 48 of the on-demand and scheduling service system 150 .
- Data update modules 112 , 113 and data delete modules 55 , 56 can be used for managing, updating, deleting, and maintaining data of the data module 44 , 45 , such as according to application rules 22 , 23 .
- the data module 44 , 45 stores and organizes data of the server 35 and client device 54 as required by the application rules 22 , 23 .
- data for users can be stored in the function database 48 , 49 , such as demographic data of users, riders, etc.
- User preferences can be stored, such as preferred routes, no-go zones, geo-fences, a trusted driver list for that user, an image of the user, saved pickup instructions, and so forth.
- the data module 44 , 45 also handles file system data 52 , 53 required for running the application, such as system files and the like.
- the client device 54 includes a user interface 10 .
- the user interface 10 can be a touch screen, display, monitor, and so forth.
- the user can input commands via the user interface and otherwise interact with the application of the system 150 using the user interface 10 .
- the user interaction manager 12 and user interface manager 14 are described in greater detail below.
- a user refers to an individual who makes a service request to the on-demand and scheduling service system 150 .
- the service provider can be an individual or entity that can provide the service requested by user.
- the service receiver can be an individual to whom the requested services are provided.
- a user or customer, using a customer device can request an on-demand or scheduling service which can be a transport service, a telegram service, food delivery service, or a messenger service.
- the on-demand and scheduling service system 150 can communicate with the service providers using the provider devices and arrange for them to provide the requested service.
- User inputs making up the request for a ride are converted into data by a client device 54 and sent to the on-demand and scheduling service system 150 .
- the client device 54 includes a mobile computing device, such as a smart phone, tablet, smart watch, and so forth.
- a user's device, a driver's device, a rider's device, etc. can be a client device 54 .
- a portion of the data that is sent to the system is relies on user input, and other information might be fetched from the client device 54 that the user is using. In some examples, more information might be fetched from the functional database 48 .
- the request can be sent out of the device through a network 38 interface of the client-end computing device 54 .
- the inputs given by the user in the client device 54 can be received by a user interaction manager 12 that is a component of a user interface 10 .
- the user interaction manager 12 forwards the user's request to an internal communication interface 34 for sending it to the on-demand and scheduling service system 150 according to application rules 22 (e.g., data processing rule), discussed below.
- the application rules 22 can either be static 24 or configurable 26 .
- data related to the request For example, in addition to the data sent by the client device 54 there is some data that are already present in the on-demand and scheduling service system 150 . There are also data present in a functional database 48 which can include the trust-related data of a user for one or more drivers.
- Some data can be directly collected from the driver when the driver registers with the service, and some data can be updated after registration. For instance, data can be updated by the driver or based on actions taken or reviews received by the driver.
- the trust-related data is stored in the database of the on-demand and scheduling service system 150 .
- the on-demand and scheduling service system 150 After receiving the request sent by the client device 54 , the on-demand and scheduling service system 150 verifies one or more components of the request, such as for whom the ride request is made, pick-up or drop-off locations, time of pick-up (such as whether the ride is requested for now or scheduled for a later time), that only one ride is requested for a rider at one time, or other components of the request.
- the on demand and scheduling service system 150 can forward the user's request to the driver who is most trusted by the user and/or to one or more drivers having trust of the user for acceptance or the request. Forwarding can be done using the data that was sent to the on-demand and scheduling service system 150 by the client device 54 of the user, and the data that is already present in the functional database 48 .
- the on-demand and scheduling service system 150 can notify the user that a response is requested from the user's trusted driver to accept the user's ride request.
- the on-demand and scheduling service system 150 can maintain photographs of riders, users, drivers, and/or other people. For instance, the user can take a photograph of a rider (e.g., a child) using the camera component of the user's client device 54 or can use a previously taken photograph. The picture can be sent to the on-demand and scheduling service system 150 through the network 38 interface of the client device 54 of the user, e.g., upon registration of the user or rider or upon the user requesting the ride. A data retriever 50 component of the data can access the controller 40 from the on-demand and scheduling service system 150 through the server request manager 32 .
- a rider e.g., a child
- the picture can be sent to the on-demand and scheduling service system 150 through the network 38 interface of the client device 54 of the user, e.g., upon registration of the user or rider or upon the user requesting the ride.
- a data retriever 50 component of the data can access the controller 40 from the on-demand and scheduling service system 150 through the server request
- the user interface manager 14 of the client device 54 of the driver can be used to display the rider's picture to the driver according to application rules 22 .
- video instructions or permissions can be recorded, e.g., using the camera hardware component of the user's device.
- the on-demand and scheduling service system 150 can send these instructions to the client device 54 of the driver through the network 38 interface of the device according to the application rules 22 .
- Capabilities of the on-demand and scheduling service system 150 can be accessible to the user, the driver, or both through an interface of an application executed on a mobile device.
- the user can provide instructions, confirm the identity of the driver, monitor the progress of a ride, or take other actions.
- the driver can view the user's instructions, confirm the identity of the user or rider, or take other actions.
- information about the user or rider can be provided to the driver prior to the beginning of the ride, e.g., when the driver is selected to provide a ride to the user.
- a driver who has been selected to provide a requested ride for a user can view information about the ride and instructions from the user via a user interface 59 .
- the user can provide information such as pick-up location 60 , drop off location 62 , pick-up time 58 and date, or other information. This information provided by the user can be displayed in the driver's user interface 59 .
- the distance 130 , duration 140 of the trip, estimated cost 150 , and other such information about the trip can be estimated by the system and displayed in the driver's user interface 59 .
- a map 61 of one or more of the route, destination, the current location of the user or rider, or the current location of the driver can be provided in the user interface 59 .
- a name 65 of the user and/or rider and the user's relationship to the rider can be provided.
- other information about the user or the rider can be provided, such as an image of the user or rider, a rating 63 of the user or rider (indicating, for example, a reliability of the user, a behavior of the rider, etc.), or other information about the user or the rider.
- the user can assign and provide information relating to a supervisor who is expected to or who has permission to hand over the rider to the driver at the time of pick-up. If the information about the requested ride is acceptable to the driver, the driver can accept the ride via the user interface 59 . Referring to FIG. 4 , once accepted, a confirmation interface 64 showing the details of the ride is displayed and the driver is given another opportunity to accept or reject the requested ride via controls 66 , 68 .
- information about the driver assigned to provide a ride for a user can be provided to the user prior to the beginning of the ride.
- the user views a user interface that includes information about the ride and an indicator 70 that a response from the driver is needed.
- the user receives a notification interface 72 including information about the assigned driver, such as the driver's name 76 , profile picture 142 , driver identification number, driver rating or feedback or reviews, and/or other information.
- the user is also shown information about the driver's vehicle, such as a description of the vehicle 144 (e.g., make and model of the car, car color, or other description), a photograph of the vehicle 80 , the vehicle's license plate number 78 , and/or other information.
- the user can be provided with an estimate 74 of when the driver is expected to arrive at the pick-up location.
- the real time location of the driver can be tracked on a map so that the user can monitor the driver's progress.
- a status interface indicating that the driver is en route.
- a penalty can be assessed if the user cancels the ride request after a certain point, such as after the driver has started driving, after the driver has been driving for a certain amount of time, after the driver has arrived at the pick-up location, or at another point.
- a notification 82 is displayed when the driver arrives at the pick-up location. While the driver is en route, the user is given the option to call or chat with the driver.
- the driver can be provided with information and instructions relevant to the requested ride.
- the information and instructions can help the driver to identify the user and/or the rider.
- the information and instructions can be provided to the driver as images, video, audio, or text, or in another form.
- the information and instructions are provided to the driver according to one or more rules, e.g., default rules or rules established by the user.
- the rules can govern when the driver can have access to the information and instructions, how many times the driver can access the information and instructions, what happens to the information and instructions after having been accessed by the driver, and so forth.
- the user can be provided with information to verify the identity of the driver, e.g., to ensure that the rider accepts a ride from the driver who has been assigned for that rider.
- the information can help the user to identify the driver and/or the driver's vehicle.
- the information can include information about the assigned driver, such as the driver's name or picture and/or other information.
- the information can include information about the driver's vehicle, such as a description of the vehicle (e.g., make and model of the car, car color, or other description), a photograph of the vehicle, the vehicle's license plate number, and/or other information.
- the information can include fingerprints of the driver.
- the information can include a visual identifier, such as a visual code to be displayed on the driver's mobile device or vehicle that can be matched to a visual code displayed on the user's mobile device.
- the information to verify the identity of the driver can be provided according to one or more rules, e.g., default rules or rules established by the user. For instance, a user who is less concerned about security can set rules such that identity verification of the driver is performed only by confirming the license plate number of the driver's car. A user who is more concerned about security can set rules such that identity verification of the driver is performed by a combination of license plate verification, fingerprint verification, and verification of a visual code displayed on the driver's vehicle.
- a pickup interface 84 provides the driver with information and instructions relevant to the requested ride.
- the user can set up instructions or permissions, e.g., to help ensure that the driver picks up the proper rider or that a child rider is released into the care of an allowed adult at the pick-up location, to provide any special instructions related to the care of the rider, or other instructions or permissions. Identity verification can be done at the time of pickup.
- the instructions or permissions can include audio, video, text and/or pictures.
- the pickup interface 84 for a driver can include information 86 identifying the rider and information 88 identifying a supervisor of the rider, such as the user who requested the ride, a person supervising the rider at the pick-up site, a person who will receive the rider at the drop-off site, or another supervisor.
- the information 86 , 88 can include the name of the rider and/or supervisor, phone number of the supervisor, photographs of the rider and/or supervisor, information regarding the relationship between the rider and the supervisor, and so forth.
- the driver can verify the identity of the rider by scanning the rider's fingerprints, as discussed below.
- Verification of the rider's identity helps ensure that the driver is picking up the rider for whom the ride is intended, and that the rider remains in the care of an appropriate person. For instance, a photograph of the rider can help the driver to recognize the rider, e.g., if the pick-up location is crowded, and also serves as verification of the identity of the rider and helps to ensure that the driver picks up the proper rider.
- the interface 84 can include controls 90 , 92 , 94 for viewing video, audio, or text instructions, respectively, provided by the user with the request for the ride. Pictures of instructions can also be provided and accessed by a control. Example instructions can include requests for photographs, videos, audio, text messages, or other types of information to be sent to the user or another third party upon pick-up, during the ride, and/or at drop-off.
- the instructions or permissions for a ride can be date- and time-stamped such that a driver knows that he is viewing up-to-date instructions or permissions.
- the instructions or permissions have access limitations, e.g., the instructions or permissions can be accessed by the driver only at certain times, such as once the driver accepts the ride, once the driver arrives at the pick-up location, or at other times.
- the instructions or permissions can self-destruct, e.g., after access by the driver, after a certain amount of time, or at a certain point in the ride (e.g., after pick-up of the rider or after drop-off of the rider).
- the time for destruction of the pictures, video, or other information can be set by default or can be specified by the user.
- Self-destruction helps to ensure that the instructions or permissions are not shared or misused.
- self-destruction of instructions helps to ensure that instructions are not erroneously used for a subsequent ride, e.g., a ride provided by the driver to another user or to the same user.
- the driver can be shown a photograph of the rider only once the driver arrives at the pick-up location.
- the rider's photograph can self-destruct once the driver indicates that the rider has been picked up.
- FIGS. 9 - 11 show example instruction interfaces for the driver to access video, audio, and text instructions, respectively.
- a control for starting the video or audio instructions can be provided.
- the video or audio instructions can start automatically when accessed by the driver.
- the instructions can be configured to play or be seen a single time, or during a specific time period, such as when the driver accepts the ride, immediately after the driver has arrived at the pickup location, or at another time.
- the instruction might be active for only one minute after the driver arrives such that a third party cannot see the instructions or so that a supervisor of the rider can be sure that the driver is properly verified.
- the instructions can include a date and time of composition.
- Fingerprint verification can be performed by scanning one or more fingerprints scanner component of a device, such as the user's device or the driver's device.
- the user can scan the driver's fingerprints to verify the driver's identity; in some examples, the driver can scan the rider's fingerprints to verify the rider's identity or can scan the fingerprints of a person receiving the rider at the drop-off location to verify that the receiving person is authorized to have custody of the rider.
- the scanned fingerprints can be matched with one or more original fingerprints of the driver stored in a database of the on-demand and scheduling service system 150 , such as the functional database 48 .
- a database of the on-demand and scheduling service system 150 such as the functional database 48 .
- the server request manager 32 can retrieve the driver's original fingerprints from the functional database 48 using the data retriever 50 component of the data access controller 40 . If the scanned fingerprints match the stored fingerprints, the user can allow the driver to pick up the rider.
- an example fingerprint interface 184 on a user's device displays an indication that the driver's scanned fingerprint has matched the stored fingerprint for the driver. With fingerprint verification, the user can feel confident that the driver who has arrived at the pick-up location is the driver assigned to the ride by the on-demand scheduling and service system.
- a similar interface can be provided for the driver to scan and verify the fingerprints of the rider, a person supervising the rider at the pick-up location, a person receiving the rider at the drop-off location, or another person associated with the rider.
- the system can generate a unique visual code and provide the code to both the driver and the user. Matching of the driver's code to the user's code can help the user to confirm that the driver is the driver assigned to the user's ride and can help the driver to confirm that the rider is the person to whom the driver is assigned.
- the visual code can be a pattern of colors that can be compared visually, e.g., by the driver, the user, or the rider.
- the visual code can be a scannable code, such as a bar code or a QR code, that can be scanned by a device (e.g., the driver's device) and matched by an automated determination.
- the visual code can be displayed as a one-dimensional pattern 182 of colored dots on the user interface of the user's mobile device.
- the same pattern of colored dots can be displayed on the user interface of the driver's mobile device, and a match between the driver's pattern and the user's pattern can act as a verification of the identity of both the driver and the user.
- multiple lights such as light emitting diodes (LEDs) can be installed in or on the driver's vehicle, such as on the roof or the front or rear windshield or elsewhere on the vehicle.
- LEDs light emitting diodes
- the lights installed on the driver's car can be lit in the same pattern as the pattern 182 of colored dots displayed on the user's user interface, enabling the user to identify the driver's vehicle. Displaying the visual code in lights on the driver's vehicle can also help the user to find the driver if the pick-up location is crowded or dark.
- the visual code can be a static code that does not change. In some examples, the visual code can be a dynamic code that changes with time. The changes in the visual code can occur concurrently in the pattern 182 on the user's user interface and in the pattern displayed on the driver's user interface or the driver's vehicle. The visual code and/or the changes to a dynamic visual code can be randomly generated by the on-demand scheduling and service system 150 .
- the lights on the driver's vehicle can be solar powered or battery powered.
- the lights can have a communication component, such as a BluetoothTM or a wireless sensor installed which can connect the lights with a program or application that is stored and operated on the driver's mobile device to receive the visual code.
- a communication component such as a BluetoothTM or a wireless sensor installed which can connect the lights with a program or application that is stored and operated on the driver's mobile device to receive the visual code.
- ZigBee, Z-Wave or other such communication protocols can be used to connect the lights with the driver's device.
- a notification 100 can be sent to the user or to a supervisor of the rider.
- the driver's route can be tracked in real time on the user's mobile device.
- the user can be provided with the ability to call or chat with the driver.
- the driver's behavior can be monitored during the ride. Monitoring the driver's behavior can include monitoring driving behavior such as speed or acceleration (e.g., sudden acceleration or braking), monitoring the driver's use of his mobile device (e.g., whether the driver makes or takes calls, sends text messages, browses the internet, or other activities), or monitoring other types of data. Data indicative of the driver's behavior can be stored in a database of the on-demand scheduling and service system 150 . The data indicative of the driver's behavior can be analyzed and used to determine a rating of the driver, such as a trustworthiness of the driver, that can be used, e.g., in determining the driver's trust barometer value.
- a rating of the driver such as a trustworthiness of the driver
- the driver's behavior can be controlled during the ride. Controlling the driver's behavior can include controlling the driver's driving behavior, such as preventing the driver from driving above a certain speed, preventing the driver from using sudden acceleration or braking, or preventing the driver from taking other actions. Controlling the driver's behavior can include controlling the driver's use of his mobile device, such as preventing the driver from making or taking calls, sending text messages, browsing the internet, or taking other actions. In some examples, the driver's behavior can be controlled according to default rules. In some examples, the user can define rules to be used to control the driver's behavior. For instance, a user may want to allow the driver to accept phone calls so that the user can call the driver to discuss the status of the rider, but may want to prevent the driver from using his mobile device in any other way.
- the status or behavior of the driver, the rider, or both can be monitoring by video and/or still images of the rider and/or driver.
- the video and/or still images can be transmitted in real-time or near real-time to the user or to another person.
- the route of the ride can be tracked in real-time or near real-time and the tracking information transmitted to the user or to another person.
- the on-demand and scheduling service system 150 begins capturing live video of the rider, e.g., through a camera hardware component of the driver s device or through a freestanding camera mounted in the driver's vehicle.
- the on-demand scheduling and service system facilitates broadcasting of the live video to the user or to another party, such as to an operations center of the on-demand and scheduling service system 150 and/or any to other individual designated by the user to watch the video streaming of the ride.
- the on-demand and scheduling service subsystem can implement one or more interfaces, e.g., a Web interface 128 , a mobile application interface 102 , or another type of interface, to broadcast live video of the ride and to enable tracking the route of the ride on a map 108 .
- interfaces e.g., a Web interface 128 , a mobile application interface 102 , or another type of interface
- One or more of these interfaces can be made available to the user, to a customer support center, and/or to other individuals selected by the user to enable monitor his/her rider by watching live video streaming.
- Video data of the ride is processed through an internal communication interface 34 according to application rules 22 and sent to the on-demand and scheduling service system 150 through a network interface 38 of the client device 54 of the driver.
- a data creator component 42 can be operated to store the video data in the functional database 48 of the on-demand and scheduling service system 150 .
- a video broadcasting manager 110 uses the data retriever 50 component of the data access controller 40 to broadcast the live video of rider according to application rules 22 .
- a user interaction manager 12 enables the user and/or other individuals designated by the user to watch live video streaming of rider in one or more client devices 54 .
- the video of the rider recorded during the ride can be stored in the functional database 48 of the on-demand and scheduling service system 150 and can be utilized in situations like accidents and other emergencies, or can be streamed but not stored, or both.
- an example interface 102 shows streaming live video of the rider during a ride.
- a map 104 inset into the video screen displays the predicted route and the current location of the driver's vehicle.
- the interface 102 can include controls for contacting the driver.
- the map 104 is the primary display and a smaller video 106 showing a live stream of the rider during the ride is displayed as an inset into the map 104 .
- the driver can enable live video streaming using a control 122 .
- the status or behavior of the rider and/or the driver can be monitored through one or more still images 124 .
- a picture or bursts of multiple pictures of the rider during the ride can be captured at various points during the ride, such as at regular or random intervals.
- the pictures can be taken by an operating program or application on the client device 54 of the driver or can be taken by a separate camera, e.g., a camera installed in the driver's vehicle.
- the pictures or bursts of pictures can be streamed to the on-demand and scheduling service system 150 which can then stream the pictures or bursts of picture to the user or to other individuals designated by the user.
- the quality of pictures or streaming video can be controlled through resolution and can be upscaled and/or downscaled manually or automatically by the system, e.g., responsive to data storage, bandwidth, or data transmission limitations.
- a low resolution e.g., 240p bit rate
- the on-demand and scheduling service system 150 can allow the user or the rider or both to choose a person, such as a friend or a family member, to monitor their ride in real time by watching the live video streaming, viewing the broadcasted pictures, tracking the ride on map, or monitoring in another way. Users have full control over who can watch and track the ride.
- a user When a user generates a ride request, one or more service options can be displayed by the on-demand and scheduling service system 150 so that the user can choose from service options and designate a person (e.g., someone they trust) to share the ride details with and to allow them to watch the live video of their ride.
- the on-demand and scheduling service system 150 can send a notification to the designated individual, such as to the designated individual's mobile computing device. The designated individual can start tracking the rider on a map and monitoring video streaming of the rider from the pickup location to the drop off location for on demand rides, scheduled rides, or both.
- the on-demand and scheduling service system 150 can provide functionality to enable the rider to generate a panic alert if a distress situation occurs.
- the on-demand and scheduling service system 150 enables a user (e.g., an adult user) to create a family password by using a program or application that is operated on his/her mobile computing device and share the family password within his/her family.
- This family password is stored in the on-demand and scheduling service system 150 and can be visible to the support team of the system.
- the rider can send a panic alert to a customer support team by pressing a button displayed in the program or application that is operated on the rider's mobile computing device.
- the support team Upon receipt of a panic alert, the support team can call the rider and ask for the family password. If it is wrong, the support team may determine that the rider is in distress and inform a law enforcement agency.
- the on-demand and scheduling service system 150 can provide geo-fencing functionality that generates an alert if the driver deviates from a prescribed route for a ride.
- a suggested route 200 between a pick-up location 202 and a drop-off location 204 is shown.
- a configurable geo-fence can be created around the suggested route 200 . If the driver crosses the geo-fence, e.g., by deviating too much from the suggested route 200 , e.g., as shown by a deviation 208 , an alert 126 is displayed to the user or to a third party monitoring the ride.
- the threshold deviation beyond which an alert is generated can be adjusted according to one or more rules, e.g., specified by the user. For instance, rules can be defined to accommodate tolerance for longer routes, traffic, construction, or other occurrences likely to be encountered by a driver.
- the alert can be a visual alert (e.g., using color coding), an audio alert, or another type of alert.
- a support team administering the on-demand scheduling and service system 150 can be alerted and can call the rider and/or the driver to request an explanation for the deviation. If the deviation from declared path is not legitimate, the support team can inform a law enforcement agency and provide the exact location of the vehicle.
- FIG. 20 shows an alternative view of a deviation from a suggested route and provides controls by which the user can contact the driver.
- a notification 110 can be provided to the user.
- the notification can include the time and image of the rider.
- the notification can be initiated only after the rider has exited the driver's vehicle as confirmed by images, video, input from the rider, or other types of confirmation.
- a request for a ride is received from a user ( 180 ).
- a driver is assigned to provide the ride for the user ( 182 ), e.g., based on a trust the user has for the driver.
- the driver is provided with access to information uniquely identifying the user or a rider according to one or more application rules associated with the request for the ride ( 184 ). For instance, the driver can be provided with access to the information based on the location of the driver and/or for a limited period of time.
- the information can be destroyed according to one or more of the application rules ( 186 ).
- a request for a ride is received from a user ( 190 ).
- a driver is assigned to provide the ride for the user ( 192 ), e.g., based on a trust the user has for the driver.
- the user is provided with access to information uniquely identifying the driver according to one or more application rules associated with the request for the ride ( 194 ). For instance, the user can be provided with a visual code that can be matched with a visual code displayed on the driver's vehicle or mobile device.
- Application rules 22 are a component of data processing logic of a program or application which controls the overall flow of data processing through the program or application.
- Application rules 22 are a formal expression of application functionality for a state of the application, and the application rules 22 determine how data can be created, stored, changed, accessed or displayed through an application or program in response to one or more inputs.
- An example of an application rule can include the process for selecting a driver responsive to a user's request for ride. For instance, when the user sends a request for ride, the on-demand and scheduling service system 150 selects and assigns a trusted driver and forwards the user request to that driver. The selection of driver and the forwarding of the user's request to the selected driver is performed according to configurable application rules, such as rules specifying a threshold distance from the pick-up within which drivers available to be selected by the on-demand and scheduling service system 150 should be currently located. For instance, the on-demand and scheduling service system 150 may consider only those drivers currently located within a 3 mile radius of the pick-up location for selection.
- An example of an application rule relates a process for enabling a driver to accept a user's request for ride.
- configurable application rules can specify a time threshold within which a selected driver is to accept the user's request for ride. For instance, when the system forwards the user's request for ride to a selected driver, the driver can accept this request according to configurable application rules. For example, the driver can only accept the request within 15 seconds after receiving it.
- An example of an application rule relates to notifications to a user about a driver's estimated arrival time.
- a driver accepts the user's request for ride and leaves for the pick-up location, the user is notified about the driver's estimate arrival time.
- These notifications are sent according to configurable application rules.
- the on-demand and scheduling service system 150 notifies the user when the driver is estimated to be 10 minutes away and again when the driver is estimated to be 5 minutes away.
- An example of an application rule relates to instructions or permissions.
- the user can provide secure text, audio, video instructions/permissions for pick-up.
- Configurable application rules can specify criteria for these instructions or permissions, such as maximum file sizes, maximum durations, a maximum number of separate instructions, or other criteria.
- audio or video instructions can be recorded according to one or more configurable application rules specifying that the audio or video length can be no more than, e.g., 10, 15, or 20 seconds.
- An example of an application rule relates to driver viewing of instructions or permissions.
- Configurable application rules can specify criteria related to where the driver is allowed to view the instructions or permissions, the number of times the driver is allowed to view the instructions or permissions, the amount of time the driver is allowed to spend viewing the instructions or permissions, or other criteria.
- an application rule may specify that the driver can only view the instruction or permissions after reaching the pick-up location.
- the application rule may specify that the driver can view the instructions only once and for a maximum interaction time of 20 seconds.
- FIG. 24 is a block diagram of an example computer system 1700 that may be used in implementing the technology described in this document.
- General-purpose computers, network appliances, mobile devices, or other electronic systems associated with the users may also include at least portions of the system 1700 .
- the system 1700 includes a processor 1710 , a memory 1720 , a storage device 1730 , and an input/output device 1740 .
- Each of the components 1710 , 1720 , 1730 , and 1740 may be interconnected, for example, using a system bus 1750 .
- the processor 1710 is capable of processing instructions for execution within the system 1700 .
- the processor 1710 is a single-threaded processor.
- the processor 1710 is a multi-threaded processor.
- the processor 1710 is capable of processing instructions stored in the memory 1720 or on the storage device 1730 .
- the memory 1720 stores information within the system 1700 .
- the memory 1720 is a non-transitory computer-readable medium.
- the memory 1720 is a volatile memory unit.
- the memory 1720 is a non-volatile memory unit.
- the storage device 1730 is capable of providing mass storage for the system 1700 .
- the storage device 1730 is a non-transitory computer-readable medium.
- the storage device 1730 may include, for example, a hard disk device, an optical disk device, a solid-date drive, a flash drive, or some other large capacity storage device.
- the input/output device 1740 provides input/output operations for the system 1700 .
- the input/output device 1740 may include one or more of a network interface devices, e.g., an Ethernet card, a serial communication device, e.g., an RS-232 port, and/or a wireless interface device, e.g., an 802.11 card, a 3G wireless modem, or a 4G wireless modem.
- the input/output device may include driver devices configured to receive input data and send output data to other input/output devices, e.g., keyboard, printer and display devices 1760 .
- mobile computing devices, mobile communication devices, and other devices may be used.
- At least a portion on-demand and scheduling service system 150 can be realized by instructions that upon execution cause one or more processing devices to carry out the processes and functions described above.
- Such instructions may include, for example, interpreted instructions such as script instructions, or executable code, or other instructions stored in a non-transitory computer readable medium.
- the storage device 1730 may be implemented in a distributed way over a network, such as a server farm or a set of widely distributed servers, or may be implemented in a single computing device.
- examples of the subject matter and the functional operations described above may be implemented in other types of digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them.
- Examples of the subject matter described in this specification may be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a tangible program carrier, for example a non-transitory computer-readable medium, for execution by, or to control the operation of, a processing system.
- the non-transitory computer readable medium may be a machine readable storage device, a machine readable storage substrate, a memory device, a composition of matter effecting a machine readable propagated signal, or a combination of one or more of them.
- system may encompass all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers.
- a processing system may include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
- a computer program (also known as a program, software, software application, script, executable logic, or code) may be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
- a computer program does not necessarily correspond to a file in a file system.
- a program may be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code).
- a computer program may be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
- Computer readable media suitable for storing computer program instructions and data include all forms of non-volatile or volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD ROM disks.
- semiconductor memory devices e.g., EPROM, EEPROM, and flash memory devices
- magnetic disks e.g., internal hard disks or removable disks
- magneto optical disks e.g., CD ROM and DVD ROM disks.
- the processor and the memory may be supplemented by, or incorporated in, special purpose logic circuitry.
- Computers used in the system may be general purpose computers including mobile devices, custom-tailored special purpose electronic devices, or combinations of the two.
- Examples may include a back end component, e.g., a data server, or a middleware component, e.g., an application server, or a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user may interact with an example of the subject matter described is this specification, or any combination of one or more such back end, middleware, or front end components.
- the components of the system may be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
- LAN local area network
- WAN wide area network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Public Health (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Surgery (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Heart & Thoracic Surgery (AREA)
- Veterinary Medicine (AREA)
- Pathology (AREA)
- Biophysics (AREA)
- Automation & Control Theory (AREA)
- Traffic Control Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
A method includes receiving, through the user interface of a user device of a user, a request for a ride from the user; assigning a driver to provide the ride for the user; according to one or more application rules associated with the request for the ride, providing the driver with access to information uniquely identifying the user or a rider.
Description
- This application is a continuation and claims the benefit of priority under 35 USC § 120 of U.S. application Ser. No. 17/222,179, filed on Apr. 5, 2021, which is a continuation of U.S. application Ser. No. 15/337,808, filed on Oct. 28, 2016 (now U.S. Pat. No. 10,972,884), which claims priority under 35 USC § 119(e) to U.S. Application Ser. No. 62/248,687, filed on Oct. 30, 2015, the entire contents of which are hereby incorporated by reference.
- On-demand mobility is a trend in transportation services today. On-demand mobility relates to moving people, goods, or services with the assistance of a computer, such as an application operable on a mobile computing device, that allows for ease of scheduling and payment. On-demand mobility services can bring convenience to user's lives. In some cases, the security and privacy of users can be diminished with this convenience.
- In a general aspect, a method includes receiving, through the user interface of a user device of a user, a request for a ride from the user; assigning a driver to provide the ride for the user; according to one or more application rules associated with the request for the ride, providing the driver with access to information uniquely identifying the user or a rider.
- Embodiments can include one or more of the following features.
- Providing the driver with access to the information includes providing the driver with access based on a location of the driver, in which the application rules define the location at which the driver is to be provided with access.
- The method includes providing the driver with access to the information at a pick-up location for the ride.
- Providing the driver with access to the information includes providing the driver with access for a limited period of time, the limited period of time being specified by one or more of the application rules.
- The method includes causing destruction of the information according to one or more of the application rules.
- The method includes causing destruction of the information after the driver has accessed the information.
- The method includes receiving, from a mobile device operated by the driver, a current fingerprint of the user; and in which providing the driver with access to the information includes providing the driver with information indicative of results of a comparison between the current fingerprint of the user or rider and a stored fingerprint of the user or rider.
- The method includes providing the driver with access to one or more instructions associated with the ride according to one or more of the application rules.
- The instructions include one or more of audio instructions, video instructions, image instructions, and text instructions.
- In an aspect, a method includes receiving, through the user interface of a user device of a user, a request for a ride from the user; assigning a driver to provide the ride for the user; according to one or more application rules associated with the request for the ride, providing the user with access to information uniquely identifying the driver.
- Embodiments can include one or more of the following features.
- The information uniquely identifying the driver includes a visual code.
- The visual code includes a pattern of colors.
- The method includes providing the visual code to a mobile device associated with the driver.
- The visual code is randomly generated based on the one or more application rules and in which the randomly generated visual code is synchronized between the mobile device associated with the driver and a mobile device associated with the user.
- The visual code provided to the mobile device is configured to be displayed with one or more lights mounted on a vehicle operated by the driver.
- The method includes receiving, from a mobile device operated by the user, a current fingerprint of the driver; and in which providing the driver with access to the information includes providing the driver with information indicative of results of a comparison between the current fingerprint of the driver and a stored fingerprint of the driver.
- In an aspect, a method includes during transportation of a rider by a driver in a ride arranged by a computer-implemented driver assignment platform, implementing one or more rules to enable an image of the rider to be transmitted to one or more of an operator of the computer-implemented driver assignment platform and a supervisor of the rider.
- Embodiments can include one or more of the following features.
- Enabling an image of the rider to be transmitted includes streaming a live video of the rider.
- The method includes adjusting the bandwidth of the streaming video by upscaling or downscaling of video during live video streaming.
- Enabling an image of the rider to be transmitted includes capturing pictures or bursts of pictures of the rider and the car and transmitting the pictures or the bursts of pictures.
- The method includes enabling transmission of a map depicting a predicted route of the ride and a current approximate location of the rider on the map.
- The method includes preventing one or more functions of a device of the driver from being operational during the ride.
- The method includes enabling the rider to generate a panic alert, using a rider device, responsive to a distress situation occurring during the ride.
- In an aspect, a method includes during transportation of a user by a driver in a ride arranged by a computer-implemented driver assignment platform, receiving information indicative of a location of the ride; implementing one or more application rules to compare the received information indicative of a location of the ride with information indicative of an allowed boundary of the ride; and generating an alert when the location of the ride deviates from the allowed boundary of the ride.
- Embodiments can include one or more of the following features.
- The method includes establishing a geo-fence for the ride defining an area around the expected path of the ride, the geo-fence being based on the one or more application rules associated with the rider; and generating the alarm when the ride leaves the area defined by the geo-fence.
-
FIG. 1 is a diagram of an on-demand and scheduling service system. -
FIG. 2 is a diagram of an on-demand scheduling service system. -
FIGS. 3-21 are diagrams of user interfaces. -
FIGS. 22 and 23 are flow charts. -
FIG. 24 is a diagram of a computing system. - In on-demand transportation services, in which a service provider (e.g., a driver) takes a service receiver (e.g., a rider) from one point to another in a private vehicle, the security of users and riders are important. The approaches described here enable users and drivers to securely identify each other to ensure that a requested ride is provided by the intended driver to the intended driver. The approaches described here also enable monitoring of the status or behavior of the driver and/or the rider during the ride, e.g., via streaming video, images, or audio. The approaches described here also enable monitoring of the location of the driver's vehicle during the ride.
- Referring to
FIG. 1 , an on-demand and schedulingservice system 150 receives arequest 156 for a ride from auser 152. In some examples, theuser 152 requests the ride for himself; in some examples, theuser 152 requests the ride on behalf of arider 154. The request for a ride can include schedule information, such as the date and time of the ride; geographic information, such as a start location, a waypoint, and an end location; special requests, such as a request for a vehicle that can accommodate luggage; and/or other types of information. -
Multiple drivers 160 are enrolled with the on-demand and schedulingservice system 150. Responsive to receiving the user'srequest 156 for a ride, the on-demand and schedulingservice system 150 selects aparticular driver 160 a from among themultiple drivers 160 and assigns thatdriver 160 a to provide the ride for theuser 152 or therider 154. The on-demand and schedulingservice system 150 can select theparticular driver 160 a from among themultiple drivers 160 based on an indication of the trust that theuser 152 has for each of one or more of thedrivers 160. For instance, theparticular driver 160 a selected by the on-demand andscheduling service system 150 for theuser 152 can be the driver who is the most trusted by theuser 152, based on one or more metrics of trust, such as based on a circle of trust for the user and/or based on a trust barometer value for the driver. In some examples, the on-demand and schedulingservice system 150 can determine an indication of the trust that theuser 152 has for each of the one ormore drivers 160 upon receipt of the user'srequest 156 for a ride. In some examples, the indication of trust can be pre-determined and stored in a data storage associated with the on-demand and scheduling service system. Further description of trust-based selection of drivers can be found in U.S. application No. [Attorney Docket No. 42480-0002001], the entire contents of which are incorporated here by reference. - One or more measures can be implemented by the on-demand and scheduling
service system 150 to maintain the safety and security of therider 154 during the ride. In some examples, thedriver 160 can be subject to one or more background checks 170. In some examples, thesystem 150 can enable identity verification 172 to ensure that thedriver 160 picks up the intendedrider 154 and that therider 154 accepts a ride with the intendeddriver 160. For instance, thedriver 160 can be provided with information to verify the identity of theuser 152 or therider 154 at pick-up, or theuser 152 can be provided with information to verify the identity of thedriver 160 at pick-up. Thesystem 150 can facilitate the transmission of images or video of therider 154 in real time 174 to theuser 152 or to another third party during the ride to allow the user or third party to monitor the status of therider 154. Thesystem 150 can monitor the ride 176, such as the location of the driver's vehicle, and transmit an alert to theuser 152 or to another third party if an unexpected action is taken, such as if thedriver 160 deviates from an expected route for the ride. - In some examples, to maintain the safety and security of riders using the on-demand and
scheduling service system 150, thedrivers 160 can be verified and background checked, e.g., upon registration with the system, periodically, or at random intervals. For instance, during a driver's registration with the on-demand andscheduling service system 150, each driver completes a screening process. One or more activities can be performed in this screening process to verify the driver, such as collection and verification of the driver's personal information and documentation, interviews, trainings, mentoring by a coach, background checks, Department of Motor Vehicles (DMV) checks, reference checks, or other activities. Particulars of the driver's license, vehicle insurance, motor vehicle records, social security number, federal, county, or multi-state criminal records can also be verified. - In some examples, the
user 152 can be provided with information to verify the identity of the driver, for instance, to verify that thedriver 160 who has arrived to pick up therider 154 is the same driver that was assigned to the user's requestedride 156. The information can include personal information, such as a name, photograph, demographic information, or other personal information. The information can include information about the driver's vehicle, such a description of the vehicle (e.g., a make and model of the vehicle), a photograph of the vehicle, the vehicle's license plate, or other information about the vehicle. - In some examples, fingerprints of a driver can be taken, such as at the time of registration. The fingerprints can be taken through the driver's computing device or at a central facility, such as a registration facility, and stored in a database of the on-demand and
scheduling service system 150. When thedriver 160 arrives to pick up therider 154, theuser 152 can obtain the driver's fingerprints, e.g., via the user's mobile device, and thesystem 150 can compare the obtained fingerprints with the stored fingerprints of the driver who is scheduled for the ride. If the fingerprints match, thedriver 160 is verified as the correct driver. - In some examples, the on-demand and
scheduling service system 150 can provide thedriver 160 and theuser 152 with a code 178 that uniquely identifies thedriver 160. Thedriver 160 and theuser 152 can compare their codes at pick-up to ensure that thedriver 160 is picking up thecorrect rider 154 and that therider 154 is accepting a ride with thecorrect driver 160. The code 178 can be a visual code, such as a pattern of colors. The code can be a static code or a dynamic code, e.g., a pattern of changing colors. In some examples, the code can be displayed on the user interface of a mobile device operated by each of thedriver 160 and theuser 152. In some examples, the driver's vehicle can be equipped with one or more lights that light up or flash to display the code on the driver's vehicle, thus helping theuser 152 to identify the driver's vehicle even at a crowded pick-up location. - In some examples, the
driver 160, therider 154, or both can be monitored during the ride by the on-demand andscheduling service system 150, and information obtained by the monitoring can be provided to theuser 152 or to a third party, such as a system administrator of thesystem 150. The monitoring can include capturing video and/or still images of thedriver 160, therider 154, or both, continuously throughout the ride or at regular or random intervals, and providing the captured video and/or images to theuser 152 or third party. The monitoring can include monitoring driver behavior, such as speed, acceleration, use of mobile devices, or other behavior. The monitoring can include monitoring the route of the driver's vehicle during the ride. In some examples, if the driver's vehicle deviates from an expected route, an alert can be provided to theuser 152 or to a third party. -
FIG. 2 shows a diagram of an example of the on-demand andscheduling service system 150. The on-demand andscheduling service system 150 includes aclient device 54. Theclient device 54 can be one or more of a user's device, driver's device, rider's device, third-party user's device, and so forth. In some examples, the user is the rider. In some examples, the user is the third-party user, such as a requestor of the ride that is neither the rider nor the driver. The on-demand andscheduling service system 150 includes an on-demand and scheduling service system server 35. The server 35 can be a remote computing device for storing data, performing calculations, managing rulesets associated with each user, rider, and driver of thesystem 150, and other similar functions. Determinations of the system, such as those made by theapplication logic 16, can be performed either client-side, server-side, or both. Each of the server 35 and theclient device 54 communicate over awireless network 38, such as a cellular network, the Internet, and so forth. - Each of the server 35 and the
client device 54 of thesystem 150 can include anapplication logic device 16, 17, acommunication module 28, 29, a data access controller 41, and adata handling module 44, 45. For example, when theclient device 54 receives input though auser interface 10 of theclient device 54, thecommunication module 28 can send the instructions for processing server-side by the application logic 17 of the server 35, or the instructions can be parsed and processed by theapplication logic 16 of theclient device 54. - Each of the server 35 and the
client device 54 of thesystem 150 includeapplication logic devices 16, 17. Theapplication logic devices 16, 17 include data processors for managing instructions of the application, determining the application state, processing inputs to the application from the user, and fetching or obtaining application rules for determining functionality of the application of thesystem 150. In some examples, the application of thesystem 150 is a program running on theclient device 54 and/or the server 35 for performing the functions described herein. - The
application logic module 16, 17 includes anapp state manager 18, 19, a usernotification rules module 20, 21, and theapplication rules module 22, 23. Theapp state manager 18, 19 monitors and controls the state of the application, which can determine content of a response sent by the application in response to input by the user or data received by the application. The usernotification rules module 20, 21 determines when notifications, such as alerts, SMS messages, emails, alarms, push notifications, etc. are sent to the user. The application rules module determines which rules are applied during operation of the application as described in further detail below. The application rules engine includes rulesets that are both static, such asstatic rules 24, 25, and configurable by a user, such asconfigurable rules 26, 27. - The application rules engine communicates with the internal communication interface 36, 37. The internal communication interface 36, 37 manages requests and responses from various modules of the server 35 or
client device 54 of thesystem 150. For example, when data is requested from thefunctional database 48, 49, theinternal communication interface 37, 38 can send a request for the data, receive the data in response, and route the data to the appropriate requesting module. - The
communications module 28, 29 includes either a client communication module 31 or a severcommunication module 30 for the server 35 andclient device 54, respectively. The client communication module 31 includes a client request manager 33 for handling (e.g., queueing, parsing, etc.) requests from theclient device 54. Theserver communication module 30 includes aserver request manager 32 for handling (e.g., queueing, parsing, etc.) requests from the server 35. -
Video broadcasting managers 110, 111 use thedata retriever components 50, 51 of thedata access controller 40, 41 to broadcast the live video of rider according to application rules 22, 23.Data creator components 42, 43 are used to store this video data in thefunctional database 48 of the on-demand andscheduling service system 150.Data update modules 112, 113 and data deletemodules 55, 56, can be used for managing, updating, deleting, and maintaining data of thedata module 44, 45, such as according to application rules 22, 23. - The
data module 44, 45 stores and organizes data of the server 35 andclient device 54 as required by the application rules 22, 23. For example, data for users can be stored in thefunction database 48, 49, such as demographic data of users, riders, etc. User preferences can be stored, such as preferred routes, no-go zones, geo-fences, a trusted driver list for that user, an image of the user, saved pickup instructions, and so forth. Thedata module 44, 45 also handlesfile system data 52, 53 required for running the application, such as system files and the like. - The
client device 54 includes auser interface 10. Theuser interface 10 can be a touch screen, display, monitor, and so forth. The user can input commands via the user interface and otherwise interact with the application of thesystem 150 using theuser interface 10. Theuser interaction manager 12 anduser interface manager 14 are described in greater detail below. - A user (e.g., a customer or requestor) as described here refers to an individual who makes a service request to the on-demand and
scheduling service system 150. The service provider can be an individual or entity that can provide the service requested by user. The service receiver can be an individual to whom the requested services are provided. A user or customer, using a customer device, can request an on-demand or scheduling service which can be a transport service, a telegram service, food delivery service, or a messenger service. The on-demand andscheduling service system 150 can communicate with the service providers using the provider devices and arrange for them to provide the requested service. - User inputs making up the request for a ride are converted into data by a
client device 54 and sent to the on-demand andscheduling service system 150. In some examples, theclient device 54 includes a mobile computing device, such as a smart phone, tablet, smart watch, and so forth. In some examples, a user's device, a driver's device, a rider's device, etc. can be aclient device 54. In some examples a portion of the data that is sent to the system is relies on user input, and other information might be fetched from theclient device 54 that the user is using. In some examples, more information might be fetched from thefunctional database 48. The request can be sent out of the device through anetwork 38 interface of the client-end computing device 54. - The inputs given by the user in the
client device 54 can be received by auser interaction manager 12 that is a component of auser interface 10. In some examples, theuser interaction manager 12 forwards the user's request to aninternal communication interface 34 for sending it to the on-demand andscheduling service system 150 according to application rules 22 (e.g., data processing rule), discussed below. The application rules 22 can either be static 24 or configurable 26. Along with this request there can be data related to the request. For example, in addition to the data sent by theclient device 54 there is some data that are already present in the on-demand andscheduling service system 150. There are also data present in afunctional database 48 which can include the trust-related data of a user for one or more drivers. Some data can be directly collected from the driver when the driver registers with the service, and some data can be updated after registration. For instance, data can be updated by the driver or based on actions taken or reviews received by the driver. The trust-related data is stored in the database of the on-demand andscheduling service system 150. After receiving the request sent by theclient device 54, the on-demand andscheduling service system 150 verifies one or more components of the request, such as for whom the ride request is made, pick-up or drop-off locations, time of pick-up (such as whether the ride is requested for now or scheduled for a later time), that only one ride is requested for a rider at one time, or other components of the request. In one example, the on demand andscheduling service system 150 can forward the user's request to the driver who is most trusted by the user and/or to one or more drivers having trust of the user for acceptance or the request. Forwarding can be done using the data that was sent to the on-demand andscheduling service system 150 by theclient device 54 of the user, and the data that is already present in thefunctional database 48. The on-demand andscheduling service system 150 can notify the user that a response is requested from the user's trusted driver to accept the user's ride request. - In some examples, the on-demand and
scheduling service system 150 can maintain photographs of riders, users, drivers, and/or other people. For instance, the user can take a photograph of a rider (e.g., a child) using the camera component of the user'sclient device 54 or can use a previously taken photograph. The picture can be sent to the on-demand andscheduling service system 150 through thenetwork 38 interface of theclient device 54 of the user, e.g., upon registration of the user or rider or upon the user requesting the ride. Adata retriever 50 component of the data can access thecontroller 40 from the on-demand andscheduling service system 150 through theserver request manager 32. Theuser interface manager 14 of theclient device 54 of the driver can be used to display the rider's picture to the driver according to application rules 22. In some examples, video instructions or permissions (discussed below) can be recorded, e.g., using the camera hardware component of the user's device. The on-demand andscheduling service system 150 can send these instructions to theclient device 54 of the driver through thenetwork 38 interface of the device according to the application rules 22. - Capabilities of the on-demand and
scheduling service system 150 can be accessible to the user, the driver, or both through an interface of an application executed on a mobile device. Through the interface, the user can provide instructions, confirm the identity of the driver, monitor the progress of a ride, or take other actions. Through the interface, the driver can view the user's instructions, confirm the identity of the user or rider, or take other actions. - In some examples, information about the user or rider can be provided to the driver prior to the beginning of the ride, e.g., when the driver is selected to provide a ride to the user. Referring to
FIG. 3 , a driver who has been selected to provide a requested ride for a user can view information about the ride and instructions from the user via auser interface 59. For instance, when a user makes a request for a ride, the user can provide information such as pick-uplocation 60, drop offlocation 62, pick-uptime 58 and date, or other information. This information provided by the user can be displayed in the driver'suser interface 59. Thedistance 130,duration 140 of the trip, estimatedcost 150, and other such information about the trip can be estimated by the system and displayed in the driver'suser interface 59. In some examples, amap 61 of one or more of the route, destination, the current location of the user or rider, or the current location of the driver can be provided in theuser interface 59. Aname 65 of the user and/or rider and the user's relationship to the rider can be provided. In some examples, other information about the user or the rider can be provided, such as an image of the user or rider, arating 63 of the user or rider (indicating, for example, a reliability of the user, a behavior of the rider, etc.), or other information about the user or the rider. If the rider is a child or other person who may need supervision, the user can assign and provide information relating to a supervisor who is expected to or who has permission to hand over the rider to the driver at the time of pick-up. If the information about the requested ride is acceptable to the driver, the driver can accept the ride via theuser interface 59. Referring toFIG. 4 , once accepted, aconfirmation interface 64 showing the details of the ride is displayed and the driver is given another opportunity to accept or reject the requested ride viacontrols - In some examples, information about the driver assigned to provide a ride for a user can be provided to the user prior to the beginning of the ride. Referring to
FIG. 5 , while the user waits for the driver to accept and confirm the ride, the user views a user interface that includes information about the ride and anindicator 70 that a response from the driver is needed. Referring toFIG. 6 , when the driver accepts and confirms the ride, the user receives anotification interface 72 including information about the assigned driver, such as the driver'sname 76,profile picture 142, driver identification number, driver rating or feedback or reviews, and/or other information. The user is also shown information about the driver's vehicle, such as a description of the vehicle 144 (e.g., make and model of the car, car color, or other description), a photograph of thevehicle 80, the vehicle'slicense plate number 78, and/or other information. The user can be provided with anestimate 74 of when the driver is expected to arrive at the pick-up location. In some examples, the real time location of the driver can be tracked on a map so that the user can monitor the driver's progress. - Referring to
FIG. 7 , once the driver has started driving toward the pick-up location, the user is shown a status interface indicating that the driver is en route. In some examples, a penalty can be assessed if the user cancels the ride request after a certain point, such as after the driver has started driving, after the driver has been driving for a certain amount of time, after the driver has arrived at the pick-up location, or at another point. Anotification 82 is displayed when the driver arrives at the pick-up location. While the driver is en route, the user is given the option to call or chat with the driver. - In some examples, the driver can be provided with information and instructions relevant to the requested ride. For instance, the information and instructions can help the driver to identify the user and/or the rider. The information and instructions can be provided to the driver as images, video, audio, or text, or in another form. In some examples, the information and instructions are provided to the driver according to one or more rules, e.g., default rules or rules established by the user. For instance, the rules can govern when the driver can have access to the information and instructions, how many times the driver can access the information and instructions, what happens to the information and instructions after having been accessed by the driver, and so forth.
- In some examples, the user can be provided with information to verify the identity of the driver, e.g., to ensure that the rider accepts a ride from the driver who has been assigned for that rider. The information can help the user to identify the driver and/or the driver's vehicle. The information can include information about the assigned driver, such as the driver's name or picture and/or other information. The information can include information about the driver's vehicle, such as a description of the vehicle (e.g., make and model of the car, car color, or other description), a photograph of the vehicle, the vehicle's license plate number, and/or other information. The information can include fingerprints of the driver. The information can include a visual identifier, such as a visual code to be displayed on the driver's mobile device or vehicle that can be matched to a visual code displayed on the user's mobile device. In some examples, the information to verify the identity of the driver can be provided according to one or more rules, e.g., default rules or rules established by the user. For instance, a user who is less concerned about security can set rules such that identity verification of the driver is performed only by confirming the license plate number of the driver's car. A user who is more concerned about security can set rules such that identity verification of the driver is performed by a combination of license plate verification, fingerprint verification, and verification of a visual code displayed on the driver's vehicle.
- Referring to
FIG. 8 , apickup interface 84 provides the driver with information and instructions relevant to the requested ride. When requesting the ride, the user can set up instructions or permissions, e.g., to help ensure that the driver picks up the proper rider or that a child rider is released into the care of an allowed adult at the pick-up location, to provide any special instructions related to the care of the rider, or other instructions or permissions. Identity verification can be done at the time of pickup. The instructions or permissions can include audio, video, text and/or pictures. - In some examples, the
pickup interface 84 for a driver can includeinformation 86 identifying the rider andinformation 88 identifying a supervisor of the rider, such as the user who requested the ride, a person supervising the rider at the pick-up site, a person who will receive the rider at the drop-off site, or another supervisor. Theinformation - The
interface 84 can includecontrols - In some examples, the instructions or permissions for a ride can be date- and time-stamped such that a driver knows that he is viewing up-to-date instructions or permissions. In some examples, the instructions or permissions have access limitations, e.g., the instructions or permissions can be accessed by the driver only at certain times, such as once the driver accepts the ride, once the driver arrives at the pick-up location, or at other times. In some examples, the instructions or permissions can self-destruct, e.g., after access by the driver, after a certain amount of time, or at a certain point in the ride (e.g., after pick-up of the rider or after drop-off of the rider). The time for destruction of the pictures, video, or other information can be set by default or can be specified by the user. Self-destruction helps to ensure that the instructions or permissions are not shared or misused. In addition, self-destruction of instructions helps to ensure that instructions are not erroneously used for a subsequent ride, e.g., a ride provided by the driver to another user or to the same user. In an example, the driver can be shown a photograph of the rider only once the driver arrives at the pick-up location. The rider's photograph can self-destruct once the driver indicates that the rider has been picked up. These access permissions and self-destruction provide the driver with enough time to find the rider at the pick-up location but do not allow the driver any time to otherwise handle the photograph.
-
FIGS. 9-11 show example instruction interfaces for the driver to access video, audio, and text instructions, respectively. In some examples, a control for starting the video or audio instructions can be provided. In some examples, the video or audio instructions can start automatically when accessed by the driver. The instructions can be configured to play or be seen a single time, or during a specific time period, such as when the driver accepts the ride, immediately after the driver has arrived at the pickup location, or at another time. For example, the instruction might be active for only one minute after the driver arrives such that a third party cannot see the instructions or so that a supervisor of the rider can be sure that the driver is properly verified. The instructions can include a date and time of composition. - Fingerprint verification can be performed by scanning one or more fingerprints scanner component of a device, such as the user's device or the driver's device. In some examples, the user can scan the driver's fingerprints to verify the driver's identity; in some examples, the driver can scan the rider's fingerprints to verify the rider's identity or can scan the fingerprints of a person receiving the rider at the drop-off location to verify that the receiving person is authorized to have custody of the rider.
- The scanned fingerprints can be matched with one or more original fingerprints of the driver stored in a database of the on-demand and
scheduling service system 150, such as thefunctional database 48. For instance, when the driver's fingerprints are scanned through user's device at pick-up, theserver request manager 32 can retrieve the driver's original fingerprints from thefunctional database 48 using thedata retriever 50 component of thedata access controller 40. If the scanned fingerprints match the stored fingerprints, the user can allow the driver to pick up the rider. - Referring to
FIG. 12 , anexample fingerprint interface 184 on a user's device displays an indication that the driver's scanned fingerprint has matched the stored fingerprint for the driver. With fingerprint verification, the user can feel confident that the driver who has arrived at the pick-up location is the driver assigned to the ride by the on-demand scheduling and service system. A similar interface can be provided for the driver to scan and verify the fingerprints of the rider, a person supervising the rider at the pick-up location, a person receiving the rider at the drop-off location, or another person associated with the rider. - In some examples, the system can generate a unique visual code and provide the code to both the driver and the user. Matching of the driver's code to the user's code can help the user to confirm that the driver is the driver assigned to the user's ride and can help the driver to confirm that the rider is the person to whom the driver is assigned. In some examples, the visual code can be a pattern of colors that can be compared visually, e.g., by the driver, the user, or the rider. In some examples, the visual code can be a scannable code, such as a bar code or a QR code, that can be scanned by a device (e.g., the driver's device) and matched by an automated determination.
- Referring to
FIG. 13 , in an example, the visual code can be displayed as a one-dimensional pattern 182 of colored dots on the user interface of the user's mobile device. In some examples, the same pattern of colored dots can be displayed on the user interface of the driver's mobile device, and a match between the driver's pattern and the user's pattern can act as a verification of the identity of both the driver and the user. In some examples, multiple lights, such as light emitting diodes (LEDs) can be installed in or on the driver's vehicle, such as on the roof or the front or rear windshield or elsewhere on the vehicle. The lights installed on the driver's car can be lit in the same pattern as thepattern 182 of colored dots displayed on the user's user interface, enabling the user to identify the driver's vehicle. Displaying the visual code in lights on the driver's vehicle can also help the user to find the driver if the pick-up location is crowded or dark. - In some examples, the visual code can be a static code that does not change. In some examples, the visual code can be a dynamic code that changes with time. The changes in the visual code can occur concurrently in the
pattern 182 on the user's user interface and in the pattern displayed on the driver's user interface or the driver's vehicle. The visual code and/or the changes to a dynamic visual code can be randomly generated by the on-demand scheduling andservice system 150. - The lights on the driver's vehicle can be solar powered or battery powered. The lights can have a communication component, such as a Bluetooth™ or a wireless sensor installed which can connect the lights with a program or application that is stored and operated on the driver's mobile device to receive the visual code. In some examples, ZigBee, Z-Wave or other such communication protocols can be used to connect the lights with the driver's device.
- Referring to
FIG. 14 , once the driver has picked up the rider, anotification 100 can be sent to the user or to a supervisor of the rider. The driver's route can be tracked in real time on the user's mobile device. The user can be provided with the ability to call or chat with the driver. - In some examples, the driver's behavior can be monitored during the ride. Monitoring the driver's behavior can include monitoring driving behavior such as speed or acceleration (e.g., sudden acceleration or braking), monitoring the driver's use of his mobile device (e.g., whether the driver makes or takes calls, sends text messages, browses the internet, or other activities), or monitoring other types of data. Data indicative of the driver's behavior can be stored in a database of the on-demand scheduling and
service system 150. The data indicative of the driver's behavior can be analyzed and used to determine a rating of the driver, such as a trustworthiness of the driver, that can be used, e.g., in determining the driver's trust barometer value. - In some examples, the driver's behavior can be controlled during the ride. Controlling the driver's behavior can include controlling the driver's driving behavior, such as preventing the driver from driving above a certain speed, preventing the driver from using sudden acceleration or braking, or preventing the driver from taking other actions. Controlling the driver's behavior can include controlling the driver's use of his mobile device, such as preventing the driver from making or taking calls, sending text messages, browsing the internet, or taking other actions. In some examples, the driver's behavior can be controlled according to default rules. In some examples, the user can define rules to be used to control the driver's behavior. For instance, a user may want to allow the driver to accept phone calls so that the user can call the driver to discuss the status of the rider, but may want to prevent the driver from using his mobile device in any other way.
- In some examples, the status or behavior of the driver, the rider, or both can be monitoring by video and/or still images of the rider and/or driver. The video and/or still images can be transmitted in real-time or near real-time to the user or to another person. In some examples, the route of the ride can be tracked in real-time or near real-time and the tracking information transmitted to the user or to another person.
- In some examples, when the ride begins, the on-demand and
scheduling service system 150 begins capturing live video of the rider, e.g., through a camera hardware component of the driver s device or through a freestanding camera mounted in the driver's vehicle. The on-demand scheduling and service system facilitates broadcasting of the live video to the user or to another party, such as to an operations center of the on-demand andscheduling service system 150 and/or any to other individual designated by the user to watch the video streaming of the ride. For instance, the on-demand and scheduling service subsystem can implement one or more interfaces, e.g., aWeb interface 128, amobile application interface 102, or another type of interface, to broadcast live video of the ride and to enable tracking the route of the ride on amap 108. One or more of these interfaces can be made available to the user, to a customer support center, and/or to other individuals selected by the user to enable monitor his/her rider by watching live video streaming. Video data of the ride is processed through aninternal communication interface 34 according to application rules 22 and sent to the on-demand andscheduling service system 150 through anetwork interface 38 of theclient device 54 of the driver. Adata creator component 42 can be operated to store the video data in thefunctional database 48 of the on-demand andscheduling service system 150. Avideo broadcasting manager 110 uses thedata retriever 50 component of thedata access controller 40 to broadcast the live video of rider according to application rules 22. Auser interaction manager 12 enables the user and/or other individuals designated by the user to watch live video streaming of rider in one ormore client devices 54. The video of the rider recorded during the ride can be stored in thefunctional database 48 of the on-demand andscheduling service system 150 and can be utilized in situations like accidents and other emergencies, or can be streamed but not stored, or both. - Referring to
FIG. 15 , anexample interface 102 shows streaming live video of the rider during a ride. Amap 104 inset into the video screen displays the predicted route and the current location of the driver's vehicle. Theinterface 102 can include controls for contacting the driver. Referring toFIG. 16 , in anotherexample interface 104, themap 104 is the primary display and asmaller video 106 showing a live stream of the rider during the ride is displayed as an inset into themap 104. Referring toFIG. 17 , in some examples, the driver can enable live video streaming using acontrol 122. - Referring to
FIG. 18 , in some examples, the status or behavior of the rider and/or the driver can be monitored through one or more stillimages 124. For instance, a picture or bursts of multiple pictures of the rider during the ride can be captured at various points during the ride, such as at regular or random intervals. The pictures can be taken by an operating program or application on theclient device 54 of the driver or can be taken by a separate camera, e.g., a camera installed in the driver's vehicle. The pictures or bursts of pictures can be streamed to the on-demand andscheduling service system 150 which can then stream the pictures or bursts of picture to the user or to other individuals designated by the user. The quality of pictures or streaming video can be controlled through resolution and can be upscaled and/or downscaled manually or automatically by the system, e.g., responsive to data storage, bandwidth, or data transmission limitations. A low resolution (e.g., 240p bit rate) can be used to provide sufficient view of the ride while using less data storage and consuming less bandwidth, thus making the broadcasting more cost effective and efficient. - In some examples, the on-demand and
scheduling service system 150 can allow the user or the rider or both to choose a person, such as a friend or a family member, to monitor their ride in real time by watching the live video streaming, viewing the broadcasted pictures, tracking the ride on map, or monitoring in another way. Users have full control over who can watch and track the ride. When a user generates a ride request, one or more service options can be displayed by the on-demand andscheduling service system 150 so that the user can choose from service options and designate a person (e.g., someone they trust) to share the ride details with and to allow them to watch the live video of their ride. The on-demand andscheduling service system 150 can send a notification to the designated individual, such as to the designated individual's mobile computing device. The designated individual can start tracking the rider on a map and monitoring video streaming of the rider from the pickup location to the drop off location for on demand rides, scheduled rides, or both. - In some examples, the on-demand and
scheduling service system 150 can provide functionality to enable the rider to generate a panic alert if a distress situation occurs. For instance, the on-demand andscheduling service system 150 enables a user (e.g., an adult user) to create a family password by using a program or application that is operated on his/her mobile computing device and share the family password within his/her family. This family password is stored in the on-demand andscheduling service system 150 and can be visible to the support team of the system. During the ride if any kind of distress situation occurs the rider can send a panic alert to a customer support team by pressing a button displayed in the program or application that is operated on the rider's mobile computing device. Upon receipt of a panic alert, the support team can call the rider and ask for the family password. If it is wrong, the support team may determine that the rider is in distress and inform a law enforcement agency. - In some examples, the on-demand and
scheduling service system 150 can provide geo-fencing functionality that generates an alert if the driver deviates from a prescribed route for a ride. Referring toFIG. 19 , a suggestedroute 200 between a pick-uplocation 202 and a drop-off location 204 is shown. A configurable geo-fence can be created around the suggestedroute 200. If the driver crosses the geo-fence, e.g., by deviating too much from the suggestedroute 200, e.g., as shown by adeviation 208, an alert 126 is displayed to the user or to a third party monitoring the ride. The threshold deviation beyond which an alert is generated (e.g., the shape or radius of the geo-fence) can be adjusted according to one or more rules, e.g., specified by the user. For instance, rules can be defined to accommodate tolerance for longer routes, traffic, construction, or other occurrences likely to be encountered by a driver. - The alert can be a visual alert (e.g., using color coding), an audio alert, or another type of alert. A support team administering the on-demand scheduling and
service system 150 can be alerted and can call the rider and/or the driver to request an explanation for the deviation. If the deviation from declared path is not legitimate, the support team can inform a law enforcement agency and provide the exact location of the vehicle. -
FIG. 20 shows an alternative view of a deviation from a suggested route and provides controls by which the user can contact the driver. - Referring to
FIG. 21 , when the rider is dropped off, anotification 110 can be provided to the user. The notification can include the time and image of the rider. In some examples, the notification can be initiated only after the rider has exited the driver's vehicle as confirmed by images, video, input from the rider, or other types of confirmation. - Referring to
FIG. 22 , in an example process, a request for a ride is received from a user (180). A driver is assigned to provide the ride for the user (182), e.g., based on a trust the user has for the driver. The driver is provided with access to information uniquely identifying the user or a rider according to one or more application rules associated with the request for the ride (184). For instance, the driver can be provided with access to the information based on the location of the driver and/or for a limited period of time. The information can be destroyed according to one or more of the application rules (186). - Referring to
FIG. 23 , in an example process, a request for a ride is received from a user (190). A driver is assigned to provide the ride for the user (192), e.g., based on a trust the user has for the driver. The user is provided with access to information uniquely identifying the driver according to one or more application rules associated with the request for the ride (194). For instance, the user can be provided with a visual code that can be matched with a visual code displayed on the driver's vehicle or mobile device. - Application rules 22 are a component of data processing logic of a program or application which controls the overall flow of data processing through the program or application. Application rules 22 are a formal expression of application functionality for a state of the application, and the application rules 22 determine how data can be created, stored, changed, accessed or displayed through an application or program in response to one or more inputs.
- An example of an application rule can include the process for selecting a driver responsive to a user's request for ride. For instance, when the user sends a request for ride, the on-demand and
scheduling service system 150 selects and assigns a trusted driver and forwards the user request to that driver. The selection of driver and the forwarding of the user's request to the selected driver is performed according to configurable application rules, such as rules specifying a threshold distance from the pick-up within which drivers available to be selected by the on-demand andscheduling service system 150 should be currently located. For instance, the on-demand andscheduling service system 150 may consider only those drivers currently located within a 3 mile radius of the pick-up location for selection. - An example of an application rule relates a process for enabling a driver to accept a user's request for ride. For instance, configurable application rules can specify a time threshold within which a selected driver is to accept the user's request for ride. For instance, when the system forwards the user's request for ride to a selected driver, the driver can accept this request according to configurable application rules. For example, the driver can only accept the request within 15 seconds after receiving it.
- An example of an application rule relates to notifications to a user about a driver's estimated arrival time. When a driver accepts the user's request for ride and leaves for the pick-up location, the user is notified about the driver's estimate arrival time. These notifications are sent according to configurable application rules. For example, the on-demand and
scheduling service system 150 notifies the user when the driver is estimated to be 10 minutes away and again when the driver is estimated to be 5 minutes away. - An example of an application rule relates to instructions or permissions. When a user requests a ride, the user can provide secure text, audio, video instructions/permissions for pick-up. Configurable application rules can specify criteria for these instructions or permissions, such as maximum file sizes, maximum durations, a maximum number of separate instructions, or other criteria. For instance, audio or video instructions can be recorded according to one or more configurable application rules specifying that the audio or video length can be no more than, e.g., 10, 15, or 20 seconds.
- An example of an application rule relates to driver viewing of instructions or permissions. Configurable application rules can specify criteria related to where the driver is allowed to view the instructions or permissions, the number of times the driver is allowed to view the instructions or permissions, the amount of time the driver is allowed to spend viewing the instructions or permissions, or other criteria. For instance, an application rule may specify that the driver can only view the instruction or permissions after reaching the pick-up location. For instance, the application rule may specify that the driver can view the instructions only once and for a maximum interaction time of 20 seconds.
-
FIG. 24 is a block diagram of anexample computer system 1700 that may be used in implementing the technology described in this document. General-purpose computers, network appliances, mobile devices, or other electronic systems associated with the users may also include at least portions of thesystem 1700. Thesystem 1700 includes aprocessor 1710, amemory 1720, astorage device 1730, and an input/output device 1740. Each of thecomponents system bus 1750. Theprocessor 1710 is capable of processing instructions for execution within thesystem 1700. In some examples, theprocessor 1710 is a single-threaded processor. In some examples, theprocessor 1710 is a multi-threaded processor. Theprocessor 1710 is capable of processing instructions stored in thememory 1720 or on thestorage device 1730. - The
memory 1720 stores information within thesystem 1700. In some examples, thememory 1720 is a non-transitory computer-readable medium. In some examples, thememory 1720 is a volatile memory unit. In some examples, thememory 1720 is a non-volatile memory unit. - The
storage device 1730 is capable of providing mass storage for thesystem 1700. In some examples, thestorage device 1730 is a non-transitory computer-readable medium. In various different examples, thestorage device 1730 may include, for example, a hard disk device, an optical disk device, a solid-date drive, a flash drive, or some other large capacity storage device. The input/output device 1740 provides input/output operations for thesystem 1700. In some examples, the input/output device 1740 may include one or more of a network interface devices, e.g., an Ethernet card, a serial communication device, e.g., an RS-232 port, and/or a wireless interface device, e.g., an 802.11 card, a 3G wireless modem, or a 4G wireless modem. In some examples, the input/output device may include driver devices configured to receive input data and send output data to other input/output devices, e.g., keyboard, printer anddisplay devices 1760. In some examples, mobile computing devices, mobile communication devices, and other devices may be used. - In some examples, at least a portion on-demand and
scheduling service system 150 can be realized by instructions that upon execution cause one or more processing devices to carry out the processes and functions described above. Such instructions may include, for example, interpreted instructions such as script instructions, or executable code, or other instructions stored in a non-transitory computer readable medium. Thestorage device 1730 may be implemented in a distributed way over a network, such as a server farm or a set of widely distributed servers, or may be implemented in a single computing device. - Although an example processing system has been described in
FIG. 21 , examples of the subject matter and the functional operations described above may be implemented in other types of digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Examples of the subject matter described in this specification may be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a tangible program carrier, for example a non-transitory computer-readable medium, for execution by, or to control the operation of, a processing system. The non-transitory computer readable medium may be a machine readable storage device, a machine readable storage substrate, a memory device, a composition of matter effecting a machine readable propagated signal, or a combination of one or more of them. - The term “system” may encompass all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. A processing system may include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
- A computer program (also known as a program, software, software application, script, executable logic, or code) may be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program may be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program may be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
- Computer readable media suitable for storing computer program instructions and data include all forms of non-volatile or volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD ROM disks. The processor and the memory may be supplemented by, or incorporated in, special purpose logic circuitry. Computers used in the system may be general purpose computers including mobile devices, custom-tailored special purpose electronic devices, or combinations of the two.
- Examples may include a back end component, e.g., a data server, or a middleware component, e.g., an application server, or a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user may interact with an example of the subject matter described is this specification, or any combination of one or more such back end, middleware, or front end components. The components of the system may be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
- Certain features that are described above in the context of separate examples may also be implemented in combination in a single example. Conversely, features that are described in the context of a single example may be implemented in multiple examples separately or in any sub-combinations.
- The order in which operations are performed as described above may be altered. In certain circumstances, multitasking and parallel processing may be advantageous. The separation of system components in the examples described above should not be understood as requiring such separation.
- It is contemplated for embodiments described herein to extend to individual elements and concepts described herein, independently of other concepts, ideas or system, as well as for embodiments to include combinations of elements recited anywhere in this application. Present embodiments are described here in detail with reference to the accompanying drawings, and the on-demand and
scheduling service system 150 is not limited to these particular embodiments. The on-demand andscheduling service system 150 has been described in terms of particular embodiments and applications, and preceding description contains significant details. It should not be interpreted as limiting the scope of the on-demand andscheduling service system 150 but rather as providing illustrations of the preferred embodiments of the on-demand andscheduling service system 150, and it will be understood that many substitutions, changes and variations in the described embodiments, applications and details of the method and system illustrated herein and of their operation can be made by those skilled in the art without departing from the spirit of this description. - Other implementations are also within the scope of the following claims.
Claims (26)
1-25. (canceled)
26. A method comprising:
receiving a request for assignment, by a computer-implemented driver assignment platform, of a driver for providing a rider a ride in a vehicle;
assigning the driver to provide the ride for the rider based on a trust level associated with the driver for the rider;
controlling a first microphone associated with the rider or a second microphone associated with the driver to record audio in the vehicle during transportation of the rider by the driver in the vehicle; and
storing, on a computing device, audio data representing the recorded audio in the vehicle during transportation of the rider in the vehicle.
27. The method of claim 26 , further comprising:
controlling a first camera associated with the rider or a second camera associated with the driver to record a video in the vehicle during transportation of the rider by the driver in the vehicle for generating video data.
28. The method of claim 27 , wherein the audio data, the video data, or both the audio data and the video data are transmitted to a remote database accessed by the computing device through a network.
29. The method of claim 28 , wherein the audio data, the video data, or both the audio data and the video data are encrypted.
30. The method of claim 28 , wherein the audio data, the video data, or both the audio data and the video data are accessible at the remote database based on providing a password to the computer-implemented driver assignment platform.
31. The method of claim 27 , further comprising:
determining a data storage limitation or a data transmission limitation associated with the computing device; and
controlling, based on the determining, a quality of the audio data, the video data, or both the audio data and the video data by upscaling or downscaling a resolution of the audio data, the video data, or both the audio data and the video data.
32. The method of claim 31 , wherein determining the data storage limitation or the data transmission limitation comprises:
receiving metadata associated with the audio data, the video data, or both the audio data and the video data, the metadata comprising at least one of a bit rate, a resolution parameter, a file size parameter, and a file length parameter; and
determining, based on the metadata, the quality of the audio data, the video data, or both the audio data and the video data.
33. The method of claim 28 , further comprising transmitting the audio data, the video data, or both the audio data and the video data in segments in accordance with a predefined maximum duration or a predefined maximum file size.
34. The method of claim 27 , wherein the audio data, the video data, or both the audio data and the video data are associated with location data specifying a location of the vehicle during transportation of the rider by the driver in the vehicle.
35. The method of claim 27 , further comprising:
obtaining one or more application rules associated with the computer-implemented driver assignment platform specifying a time for deleting the audio data, the video data, or both the audio data and the video data; and
automatically deleting the audio data, the video data, or both the audio data and the video data based on the one or more application rules.
36. The method of claim 26 , further comprising:
receiving, from the rider, a selection of a trusted supervisor; and
causing live streaming of the audio of the rider, the driver, or both the rider and the driver to a device of the trusted supervisor.
37. The method of claim 26 , wherein the computing device comprises a cloud-based computing device.
38. The method of claim 26 , wherein the computing device comprises computing device of the rider or the driver.
39. A method comprising:
receiving a request for assignment, by a computer-implemented driver assignment platform, of a driver for providing a rider a ride in a vehicle;
receiving data specifying a supervisor for supervising the rider during the ride, a computing device of the supervisor being associated with the computer-implemented driver assignment platform;
controlling a first microphone associated with the rider or a second microphone associated with the driver to capture audio in the vehicle during transportation of the rider by the driver in the vehicle; and
permitting the computing device of the supervisor to receive the audio of the rider, the driver, or both the rider and the driver during transportation of the rider in the vehicle.
40. The method of claim 39 , wherein permitting the computing device of the supervisor to receive the audio of the rider, the driver, or both the rider and the driver comprises controlling a microphone in the vehicle to capture the audio and causing transmission of the audio to the computing device of the supervisor.
41. The method of claim 39 , further comprising:
in response to receiving data specifying the supervisor, sending identification data representing an identity of the supervisor to a computing device associated with the driver; and
receiving verification data from the computing device associated with the driver verifying the identity of the supervisor;
wherein the data identifying the supervisor comprises an image of the supervisor, a name of the supervisor, a phone number of the supervisor, fingerprint data associated with the supervisor, a representation of a relationship of the supervisor to the rider, or a combination thereof.
42. The method of claim 39 , further comprising:
enabling transmission of alert data, from the computing device associated with the driver to the computing device associated with the supervisor of the rider, the alert data comprising an alert that the driver has deviated from a predicted route or crossed a geo-fence, the alert comprising a control for contacting the driver or the rider.
43. The method of claim 39 , further comprising:
enabling transmission of alert data, from the computing device associated with the driver to the computing device associated with the supervisor of the rider, the alert data comprising an alert that the driver has performed an unexpected action, the alert comprising a control for contacting the driver or the rider.
44. The method of claim 39 , further comprising:
controlling a first camera associated with the rider or a second camera associated with the driver to capture video in the vehicle during transportation of the rider by the driver in the vehicle; and
permitting the computing device of the supervisor to receive video of the rider, the driver, or both the rider and the driver during transportation of the rider in the vehicle.
45. The method of claim 39 , further comprising:
controlling a quality of the audio or a video of the rider by upscaling or downscaling a resolution of the audio or the video responsive to a data storage limitation or a data transmission limitation.
46. The method of claim 39 , further comprising:
receiving data specifying that the rider is a child or person needing supervision; and
based on receiving the data specifying that the rider is the child or the person needing supervision, requiring the supervisor for supervising the rider during the ride in the vehicle.
47. The method of claim 39 , further comprising:
receiving data specifying that the rider is a child or person needing supervision; and
based on receiving the data specifying that the rider is the child or the person needing supervision, restricting drivers that are not trusted drivers associated with the rider from providing the ride in the vehicle.
48. The method of claim 39 , wherein the request by the rider comprises video instructions, audio instructions, or a combination of video and audio instructions for the driver to pick up the rider.
49. The method of claim 39 , further comprising:
controlling a quality of the audio or a video of the rider by upscaling or downscaling a resolution of the audio or the video responsive to a data storage limitation, or a data transmission limitation.
50. The method of claim 39 , wherein the driver is assigned based on a trust level of the driver, the trust level being based on one or more metrics of trust including a trust tier of the driver for the rider.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/104,406 US20240022884A1 (en) | 2015-10-30 | 2023-02-01 | Rules-Based Ride Security |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562248687P | 2015-10-30 | 2015-10-30 | |
US15/337,808 US10972884B2 (en) | 2015-10-30 | 2016-10-28 | Rules-based ride security |
US17/222,179 US20210289332A1 (en) | 2015-10-30 | 2021-04-05 | Rules-Based Ride Security |
US18/104,406 US20240022884A1 (en) | 2015-10-30 | 2023-02-01 | Rules-Based Ride Security |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/222,179 Continuation US20210289332A1 (en) | 2015-10-30 | 2021-04-05 | Rules-Based Ride Security |
Publications (1)
Publication Number | Publication Date |
---|---|
US20240022884A1 true US20240022884A1 (en) | 2024-01-18 |
Family
ID=58631942
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/337,808 Active US10972884B2 (en) | 2015-10-30 | 2016-10-28 | Rules-based ride security |
US17/222,179 Abandoned US20210289332A1 (en) | 2015-10-30 | 2021-04-05 | Rules-Based Ride Security |
US18/104,406 Pending US20240022884A1 (en) | 2015-10-30 | 2023-02-01 | Rules-Based Ride Security |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/337,808 Active US10972884B2 (en) | 2015-10-30 | 2016-10-28 | Rules-based ride security |
US17/222,179 Abandoned US20210289332A1 (en) | 2015-10-30 | 2021-04-05 | Rules-Based Ride Security |
Country Status (3)
Country | Link |
---|---|
US (3) | US10972884B2 (en) |
EP (1) | EP3368860A4 (en) |
WO (1) | WO2017075457A1 (en) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017058942A1 (en) * | 2015-10-02 | 2017-04-06 | United States Postal Service | System and method of entering item into distribution network or service |
US10325228B2 (en) | 2015-10-30 | 2019-06-18 | Zemcar, Inc. | Rules based driver selection |
US9867021B1 (en) * | 2015-12-02 | 2018-01-09 | Hopgrade, Inc. | Specially programmed computing devices being continuously configured to allow unfamiliar individuals to have instantaneous real-time meetings to create a new marketplace for goods and/or services |
US10635994B2 (en) * | 2015-12-11 | 2020-04-28 | Lyft, Inc. | System for navigating driver to passenger for ride authorized by another user of transportation service |
EP3409034B1 (en) * | 2016-01-26 | 2024-04-03 | Beijing Didi Infinity Technology and Development Co., Ltd. | Systems and methods for monitoring on-route transportations |
WO2017156588A1 (en) * | 2016-03-17 | 2017-09-21 | The Hug App Pty Ltd | Systems and methods for coordinating services in a private online network |
CN106534132B (en) * | 2016-11-17 | 2021-05-18 | 京东方科技集团股份有限公司 | Video processing method, device, server and system based on taxi taking order |
US11087286B2 (en) * | 2017-01-20 | 2021-08-10 | Zum Services, Inc. | Method and system for scheduling a ride service for one or more third parties |
US11023991B2 (en) * | 2017-01-20 | 2021-06-01 | Zum Services, Inc. | System for transporting a vulnerable population to a desired destination by one or more drivers in a set of trusted drivers |
US10055996B2 (en) * | 2017-01-20 | 2018-08-21 | Zum Services, Inc. | Method and system for scheduling a driver service provider for one or more third parties |
SG11201811283PA (en) * | 2017-04-18 | 2019-01-30 | Beijing Didi Infinity Technology & Development Co Ltd | System and method for determining safety score of driver |
US11244252B2 (en) * | 2017-06-21 | 2022-02-08 | Chian Chiu Li | Autonomous driving under user instructions and hailing methods |
US20190005460A1 (en) * | 2017-06-29 | 2019-01-03 | Salesforce.Com, Inc. | Service Appointment System |
JP7032882B2 (en) * | 2017-07-28 | 2022-03-09 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | Vehicle certification method and program |
JP6941031B2 (en) * | 2017-11-08 | 2021-09-29 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Authentication method, program, server and vehicle allocation system |
WO2019136066A1 (en) * | 2018-01-02 | 2019-07-11 | Owl Cameras, Inc. | Camera enhanced ride sharing |
US10303181B1 (en) | 2018-11-29 | 2019-05-28 | Eric John Wengreen | Self-driving vehicle systems and methods |
US10274950B1 (en) * | 2018-01-06 | 2019-04-30 | Drivent Technologies Inc. | Self-driving vehicle systems and methods |
US11073838B2 (en) | 2018-01-06 | 2021-07-27 | Drivent Llc | Self-driving vehicle systems and methods |
US20190228352A1 (en) | 2018-01-19 | 2019-07-25 | Walmart Apollo, Llc | Systems and methods for combinatorial resource optimization |
CA3087506A1 (en) * | 2018-01-31 | 2019-08-08 | Xirgo Technologies, Llc | Enhanced vehicle sharing system |
US10479319B1 (en) | 2019-03-21 | 2019-11-19 | Drivent Llc | Self-driving vehicle systems and methods |
US10493952B1 (en) | 2019-03-21 | 2019-12-03 | Drivent Llc | Self-driving vehicle systems and methods |
US10282625B1 (en) | 2018-10-01 | 2019-05-07 | Eric John Wengreen | Self-driving vehicle systems and methods |
US10471804B1 (en) | 2018-09-18 | 2019-11-12 | Drivent Llc | Self-driving vehicle systems and methods |
US10832569B2 (en) | 2019-04-02 | 2020-11-10 | Drivent Llc | Vehicle detection systems |
US10900792B2 (en) | 2018-10-22 | 2021-01-26 | Drivent Llc | Self-driving vehicle systems and methods |
US11644833B2 (en) | 2018-10-01 | 2023-05-09 | Drivent Llc | Self-driving vehicle systems and methods |
US11221622B2 (en) | 2019-03-21 | 2022-01-11 | Drivent Llc | Self-driving vehicle systems and methods |
US10794714B2 (en) | 2018-10-01 | 2020-10-06 | Drivent Llc | Self-driving vehicle systems and methods |
US11615368B2 (en) * | 2018-11-01 | 2023-03-28 | Walmart Apollo, Llc | Systems and methods for determining delivery time and route assignments |
US10481606B1 (en) | 2018-11-01 | 2019-11-19 | Drivent Llc | Self-driving vehicle systems and methods |
US11853931B2 (en) * | 2018-12-17 | 2023-12-26 | Premium Transport Staffing, Inc. | Method for staffing a commercial vehicle with a driver |
US10377342B1 (en) | 2019-02-04 | 2019-08-13 | Drivent Technologies Inc. | Self-driving vehicle systems and methods |
US10744976B1 (en) | 2019-02-04 | 2020-08-18 | Drivent Llc | Self-driving vehicle systems and methods |
US11756237B2 (en) * | 2019-03-15 | 2023-09-12 | Google Llc | Vehicle, pickup and dropoff location identification for ridesharing and delivery via augmented reality |
US11615499B2 (en) * | 2019-04-26 | 2023-03-28 | Toyota Motor North America, Inc. | Managing transport occupants during transport events |
US11716616B2 (en) * | 2019-05-06 | 2023-08-01 | Pointr Limited | Systems and methods for location enabled search and secure authentication |
WO2020234812A1 (en) | 2019-05-20 | 2020-11-26 | Elreich Ahmad Abu | Method for vehicle identification and communication between transportation network company (tnc) service users |
US11443272B2 (en) * | 2019-08-28 | 2022-09-13 | Verizon Patent And Licensing Inc. | Expedited order pickup systems and methods |
US11595486B2 (en) * | 2019-09-18 | 2023-02-28 | Pluribus Inc. | Cloud-based, geospatially-enabled data recording, notification, and rendering system and method |
US11281794B2 (en) * | 2019-09-26 | 2022-03-22 | Microsoft Technology Licensing, Llc | Fine grained access control on procedural language for databases based on accessed resources |
CN115191003A (en) * | 2019-12-07 | 2022-10-14 | 罗翰·提拉克·利亚纳拉奇 | Personal safety system and method |
CA3161609A1 (en) * | 2019-12-12 | 2021-06-17 | Dereje DEMISSE | Vehicle identification system and method |
US11246005B2 (en) * | 2019-12-20 | 2022-02-08 | Beijing Didi Infinity Technology And Development Co., Ltd. | Safety geofence zone deployment |
US11522957B2 (en) * | 2020-01-14 | 2022-12-06 | Qualcomm Incorporated | Vehicle to everything application messaging |
JP7351235B2 (en) * | 2020-02-17 | 2023-09-27 | トヨタ自動車株式会社 | Control device, control system, program, and control method |
US20210337244A1 (en) * | 2020-04-22 | 2021-10-28 | WalkSafer LLC | Mobile physical harm deterrent system |
US20230360163A1 (en) * | 2020-09-29 | 2023-11-09 | Robert Bosch Gmbh | Methods for Supervised Ride Hailing Experiences |
US20220258773A1 (en) * | 2021-02-15 | 2022-08-18 | Ford Global Technologies, Llc | Autonomous Vehicle Rider Authentication, Boarding, And Drop Off Confirmation |
US20220270022A1 (en) * | 2021-02-22 | 2022-08-25 | Charlotte Lewis | Security services application |
US20240112101A1 (en) * | 2022-10-03 | 2024-04-04 | Ford Global Technologies, Llc | Dynamic advisor access and scheduling |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7369685B2 (en) * | 2002-04-05 | 2008-05-06 | Identix Corporation | Vision-based operating method and system |
US7565155B2 (en) * | 2002-04-10 | 2009-07-21 | Networks In Motion | Method and system for dynamic estimation and predictive route generation |
US7627422B2 (en) | 2003-06-24 | 2009-12-01 | At&T Intellectual Property I, Lp | Methods, systems and computer program products for ride matching based on selection criteria and drive characteristic information |
ATE424599T1 (en) * | 2004-03-11 | 2009-03-15 | Ultrawaves Design Holding B V | TRANSMITTER AND RECEIVER FOR A MONITORING SYSTEM |
HK1066442A2 (en) * | 2004-09-14 | 2005-02-04 | Multivision Intelligent Survei | Surveillance system for application in taxis. |
US20080270019A1 (en) * | 2006-12-29 | 2008-10-30 | High Regard Software, Inc. | Systems and methods for enhancing private transportation |
US7840427B2 (en) | 2007-02-12 | 2010-11-23 | O'sullivan Sean | Shared transport system and service network |
US7756633B2 (en) * | 2007-05-11 | 2010-07-13 | Palo Alto Research Center Incorporated | System and method for security enhanced rideshare |
US7999670B2 (en) * | 2007-07-02 | 2011-08-16 | Inthinc Technology Solutions, Inc. | System and method for defining areas of interest and modifying asset monitoring in relation thereto |
US20100279627A1 (en) * | 2009-04-29 | 2010-11-04 | Boulder Cellular Labs, Inc. | System for limiting mobile device functionality in designated environments |
US9230292B2 (en) | 2012-11-08 | 2016-01-05 | Uber Technologies, Inc. | Providing on-demand services through use of portable computing devices |
US20130246301A1 (en) | 2009-12-04 | 2013-09-19 | Uber Technologies, Inc. | Providing user feedback for transport services through use of mobile devices |
KR20120090445A (en) | 2011-02-08 | 2012-08-17 | 삼성전자주식회사 | Method and apparatus for providing safety taxi service |
FI20115464A0 (en) | 2011-05-13 | 2011-05-13 | Raeisaenen Sami | Arrangement and method of joint transport |
US9100453B2 (en) | 2011-10-08 | 2015-08-04 | Broadcom Corporation | Social device security in a social network |
TWI545517B (en) * | 2011-11-28 | 2016-08-11 | 事必達科技股份有限公司 | A combining taxi service with participating an activity method |
US20140309863A1 (en) * | 2013-04-15 | 2014-10-16 | Flextronics Ap, Llc | Parental control over vehicle features and child alert system |
US20130246207A1 (en) | 2012-03-19 | 2013-09-19 | Uber Technologies, Inc. | System and method for dynamically adjusting prices for services |
US20140082069A1 (en) * | 2012-09-17 | 2014-03-20 | Apple Inc. | Automated coordination of ride sharing between members of social group |
US20140129302A1 (en) * | 2012-11-08 | 2014-05-08 | Uber Technologies, Inc. | Providing a confirmation interface for on-demand services through use of portable computing devices |
US20150024705A1 (en) * | 2013-05-01 | 2015-01-22 | Habib Rashidi | Recording and reporting device, method, and application |
US9392099B2 (en) * | 2013-06-24 | 2016-07-12 | Cellco Partnership | Mobile surveillance system |
CN104468679B (en) * | 2013-09-24 | 2018-03-02 | 腾讯科技(深圳)有限公司 | Share the method, terminal and system in geographical position |
AU2014362392A1 (en) * | 2013-12-11 | 2016-06-23 | Uber Technologies, Inc. | Intelligent queuing for user selection in providing on-demand services |
CA2932828C (en) * | 2013-12-11 | 2023-12-05 | Uber Technologies, Inc. | Optimizing selection of drivers for transport requests |
US20150204684A1 (en) | 2014-01-21 | 2015-07-23 | Abtin Rostamian | Methods and systems of multi-dimensional automated ride-sharing optimization |
US20150356703A1 (en) | 2014-06-10 | 2015-12-10 | Uber Technologies, Inc. | Arranging a transport service based on computed vectors associated with service providers |
US20160110836A1 (en) | 2014-10-21 | 2016-04-21 | Uber Technologies, Inc. | Arranging on-demand services based on one or more predefined rules |
US20160283994A1 (en) | 2015-03-25 | 2016-09-29 | International Business Machines Corporation | Trust calculator for peer-to-peer transactions |
US20160300242A1 (en) | 2015-04-10 | 2016-10-13 | Uber Technologies, Inc. | Driver verification system for transport services |
SG11201708033UA (en) | 2015-04-13 | 2017-10-30 | Uber Technologies Inc | Fare determination system for on-demand transport arrangement service |
US9551586B2 (en) | 2015-06-12 | 2017-01-24 | Uber Technologies, Inc. | System and method for providing contextual information for a location |
US10325228B2 (en) | 2015-10-30 | 2019-06-18 | Zemcar, Inc. | Rules based driver selection |
-
2016
- 2016-10-28 WO PCT/US2016/059474 patent/WO2017075457A1/en active Application Filing
- 2016-10-28 US US15/337,808 patent/US10972884B2/en active Active
- 2016-10-28 EP EP16860945.1A patent/EP3368860A4/en not_active Withdrawn
-
2021
- 2021-04-05 US US17/222,179 patent/US20210289332A1/en not_active Abandoned
-
2023
- 2023-02-01 US US18/104,406 patent/US20240022884A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210289332A1 (en) | 2021-09-16 |
US10972884B2 (en) | 2021-04-06 |
US20170127215A1 (en) | 2017-05-04 |
EP3368860A4 (en) | 2019-11-27 |
WO2017075457A1 (en) | 2017-05-04 |
EP3368860A1 (en) | 2018-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240022884A1 (en) | Rules-Based Ride Security | |
US20210406556A1 (en) | Total Property Intelligence System | |
US11337063B2 (en) | Security and public safety application for mobile device | |
US11205145B2 (en) | Rules based driver selection | |
JP6975416B2 (en) | Video-based data acquisition, image capture and analysis configuration | |
US11562374B2 (en) | Rideshare verification | |
US9154740B2 (en) | System and method for real time video streaming from a mobile device or other sources through a server to a designated group and to enable responses from those recipients | |
US20200082188A1 (en) | Methods and systems for real-time monitoring of vehicles | |
US20170086050A1 (en) | Security and Public Safety Application for a Mobile Device with Enhanced Incident Reporting Capabilities | |
US20150381536A1 (en) | Method and system for prompt video-data message transfer to personal devices | |
CA3068846A1 (en) | Mobile phone as a police body camera over a cellular network | |
US20080294774A1 (en) | Controlling Access to Digital Images Based on Device Proximity | |
US20110087559A1 (en) | Compliance Assurance System | |
US20230274012A1 (en) | Data sharing and storage control system and method | |
US9461898B2 (en) | Determining duration of idleness or abandonment of resources and property | |
CA3086381C (en) | Method for detecting the possible taking of screenshots | |
US20210358233A1 (en) | Ride monitoring system | |
CN111757825A (en) | Co-ride safety system | |
US10492053B2 (en) | System for a monitored and reconstructible personal rendezvous session | |
US20240188188A1 (en) | System and method to facilitate a public safety incident investigation | |
US10861495B1 (en) | Methods and systems for capturing and transmitting media | |
EP3769504A1 (en) | Method for managing assistance to a person in response to the emission of an alarm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |