Patent ID: 12217554

The figures depict various embodiment for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein.

DETAILED DESCRIPTION

The figures and the following description relate to various embodiments by way of illustration only. It should be noted that from the following discussion, alternative embodiments of the structures and methods disclosed herein will be readily recognized as viable alternatives that may be employed without departing from the principles of what is claimed.

I. System Environment

Network systems facilitate service coordination between two parties operating client devices within a system environment. For example, a network system may be used to coordinate a transportation service between a service requestor (e.g., a user operating a client device) and a service provider (e.g., a user operating a client device) via a network.

Service providers and network systems can be configured to utilize capabilities of service providers and their transportation vehicles to provide additional services and functionality. For example, in a system environment where a service provider operates a transportation vehicle including a communication port that can access vehicle datasets describing the operational state of the transportation vehicle, a network system can leverage the vehicle datasets to enhance the services provided by service provider.

II. Service Coordination

FIG.1is an example system environment100that illustrates a network system120, client devices110, and a transportation vehicle130that enable service coordination via a network140, according to one embodiment.FIG.2gives a more detailed view of modules within network system120,FIG.3gives a more detailed view of modules within a client device110(e.g., service requestor client device110A and service provider client device110B), andFIG.4gives a more detailed view of modules within a transportation vehicle130, according to some example embodiments. Some embodiments of network system120, client devices110, and transportation vehicle130have different modules than those described herein. Similarly, the functions can be distributed among the modules in a different manner than is described herein.

Network system120enables service coordination in the environment100between client devices110. Users of network system120may include providers that provide a service to other users. In an example use case, a provider operates a transportation vehicle130to transport a user from a first location (e.g., pickup location) to a second location (e.g., a destination location). In some cases the transportation vehicle130may be autonomous. Other types of service include, for example, delivery of goods (e.g., mail, packages, or consumable items) or services. Although the embodiments herein for facilitating service coordination are described with respect to a transport service, the embodiments herein can be applied to any type of service that requires a service coordination via a network system120.

As an example, network system120enables coordinating transport service between users of client devices110within the environment100. In the context of the description, an operator of a transportation vehicle130(i.e., the service provider) provides the service of transporting a person (i.e., the service requestor) to a destination requested by the person. In one embodiment, transportation vehicle130includes all vehicles such as cars and motorcycles, as well as public transportation vehicles130such as trains, light rail, buses, etc. In some cases, the transportation vehicle130can be outfitted with a sensor suite that allows the user of client device110to obtain information about the road network, the environment100, and the operational state of the transportation vehicle130as the transportation vehicle130traverses the road network.

Further, a client device110can correspond to a mobile computing device, such as a smartphone. In some cases, a client device110corresponds to an onboard computing system of an autonomous transportation vehicle130. Network system120can also correspond to a set of servers and can operate with or as part of another system that implements network services. Network system120and client devices110comprise a number of “modules,” which refers to hardware components and/or computational logic for providing the specified functionality. That is, a module can be implemented in hardware, firmware, and/or software (e.g., a hardware server comprising computational logic), other embodiments can include additional modules, can distribute functionality between modules, can attribute functionality to more or fewer modules, can be implemented as a standalone program or as part of a network of programs, and can be loaded into memory executable by processors.

In one embodiment, the transportation of a person from a pickup location to a destination location is referred to as a trip or a transport service. Referring toFIG.2, routing module210of network system120calculates a route from the pickup location to the destination location along a set of road segments within the environment100based on a historical map of the road segments within the environment100. In some cases routing module210can calculate a route from the current location of a service provider to a pickup location.

Generally, routing module210calculates transaction costs for transport services and coordinates those transport services. A transaction cost is a monetary payment from a service requestor to a service provider in exchange for the service provider transporting the service requestor to a destination location. Routing module210may calculate the transaction cost for a transport service based on the distance traveled along the route during the trip (and/or based on a duration of the trip, any applicable tolls, fees, etc.). Routing module210determines the distance traveled during the transport service using geographic information (e.g., telematics data) received from client devices (e.g., such as after completion of the transport service). In some example, other modules within the environment100can determine the distance traveled during the transport service. Further, other modules information from other modules may be used in determining transaction costs for a transport service.

Network system120receives (e.g., periodically) geographic information from a client device110included in a transportation vehicle130as the transportation vehicle130moves its position. The geographic information includes geographic points that describe a trip of the transportation vehicle130. In one embodiment, the geographic information is global positioning system (GPS) information. Throughout the description, geographic information is referred to as telematics data, but the description herein can be applied to any other type of geographic coordinate system.

As shown inFIG.1, network system120is in communication with a service provider client device110B and the service requestor device110A via a network(s)140. In one embodiment, the network140is the Internet or any combination of a LAN, a MAN, a WAN, a mobile, wired or wireless network, a private network, or a virtual private network. While only a single client device110A and a single service requestor device110A are shown inFIG.1, any number of client devices110can be in communication with network system120via the network140. Further, while described as a service requestor device110A and a service provider client device110B, any client device110within the environment100can include functionality for being a service requestor or a service provider.

FIG.3illustrates a client device110, according to one example embodiment. A client device110is an electronic device (e.g., a smartphone) that can interact with network system120over the network140. As described herein, client devices110for service requestors and service providers are largely similar in that they can include an application310that facilitates transport service. The application310includes a telematics module320and a service enhancement module330to facilitate an enhanced transport service. The client device110may also include a device datastore340for storing any relevant information that can facilitate providing an enhanced transport service.

When the client device110is a service requestor device110A, the service requestor device110A is used by a person to request a transport service from a pickup location to a destination location via a client application310included in the service requestor device110A. Application310allows the user of the service requestor device110A to submit a transport service request, which network system120then processes in order to select an operator of a transportation vehicle130as a transport service provider.

According to examples, the transport service request may include (i) a user identifier (ID), (ii) a pickup location (e.g., a location identifier specified by the user or a location identifier of the current position of the service requestor device110A as determined by a telematics module320included in the service requestor device110A, (iii) a destination location, and/or (iv) a vehicle type. For example, the telematics module320uses sensors (e.g., a GPS receiver) included in the service requestor device110A to determine the position of the service requestor device110A at various instances in time. In one embodiment, the current position of the service requestor device110A is represented by a location identifier such as latitude and longitude coordinates. The current position of the service requestor device110A is also associated with a time stamp indicating the time and the date in which the telematics module320measured the current position of the service requestor device110A. Alternatively, the pickup location of the service requestor device110A may be manually inputted into the service requestor device110A by the user of the device, such as by selecting a location on a map or in the form of an address including at least a street number and street name.

The coordination service, which is implemented by network system120and/or other servers or systems, can receive the transport service request over the network140and can select a service provider for the requestor. In one example, the coordination service can (i) identify a pool of service providers that are available to provide the requested service and satisfy one or more conditions (e.g., have the specified vehicle type, have sensor system, have a preferred route to the pickup location, and/or are within a predetermined distance or estimated travel time away from the pickup location), (ii) select a service provider from the pool of service providers, and (iii) transmit an assignment request to a service provider client device110B. The invitation can include the pickup location so that the selected service provider can navigate to the pickup location for initiating the transport service for the requestor. If the selected service provider accepts the assignment request by providing input on the service provider client device110B, application310transmits an assignment acceptance to network system120. Accepting the assignment can associate the service provider and the service requestor for transport service and network system120can notify the service requestor device110A accordingly.

When the client device is a service provider client device, it is, generally, an electronic device (e.g., a smartphone) operated by a service provider and located within the transportation vehicle130used to complete trips. The service provider client device110B includes a client application310. The client application310displays, on the service provider client device110B, information about a trip that the service provider has agreed to provide, such as the pickup location, and/or navigation and/or mapping information instructing the service provider to travel to the pickup location. As referred to herein, the pickup location may be the location of the service requestor device110A or a location specified by the user of the service requestor device110A. The destination location may be the location the service provider ends transport service, or a location specified by the user of the service requestor device110A. The client application310may also display, on the service provider client device110B, the destination for the assigned trip if provided by the user of the service requestor device.

Client devices110include a telematics module320. Telematics module320uses one or more sensors of client device110to identify telematics data from the service provider client device110B and the service requestor device110A. When client application310is a transport service coordination application, telematics module320can identify GPS data from the transportation vehicle130as the transportation vehicle130moves along one or more road segments and nodes to complete a trip. The GPS data of the transportation vehicle130(or client device110) represents the transportation vehicle130's position at different instances in time during a trip. For example, at time T1, client device110can be at a particular GPS location, identified by a location identifier (e.g., latitude and longitude coordinates) and a time stamp indicative of the time and date when client device110measured its current position. If the transportation vehicle130is moving, at time T2client device110can be at a different GPS location. In this manner, client device110periodically measures the current position of the transportation vehicle130(e.g., every three seconds, every four seconds, etc.) and periodically provides GPS data that is representative of the position of the transportation vehicle130over time to network system120. Alternatively, client device110may provide GPS data whenever new or updated measurements of the current position of the transportation vehicle130are taken or are available.

FIG.4illustrates a transportation vehicle130that service providers may use to provide transport service in system environment100, according to one example embodiment. Transportation vehicle130includes a processor that facilitates determining (and/or changing) operational states of transportation vehicle130. An operational state of transportation vehicle is any information regarding the transportation vehicle that can be diagnosed via sensors included in transportation vehicle130. In some cases, an operational state of transportation vehicle can be changed by the processor. That is, transportation vehicle130is capable taking self-diagnostics about its operational state and taking actions to change the operational state.

Operational states may be communicated to connected devices using an industry standard digital communication port410. Communication port410may communicate operational states via a standardized set of diagnostic codes to connected devices which identify operational states of transportation vehicle130. For example, transportation vehicle130senses that the air pressure in a tire is too low, generates a diagnostic code for low tire pressure, and communication port410transmits the diagnostic code to a connected device.

Similarly, communication port410can be used to change transportation vehicle130operational states. For example, communication port410can receive an operational state from a connected device and implement that operational state using the processor of transportation vehicle130. In some cases, changing an operational state can be used to correct a diagnosed malfunction, but could be used to change operational states in any number of other circumstances. For example, communication port410may receive an operational state to correct an engine timing and implement that operational state in the engine of transportation vehicle130. In another example, communication port410may receive an operational state for a radio (e.g., a radio station) of transportation vehicle130and implement the operational state on the radio in response.

FIG.4also illustrates an interface device430connected to transportation vehicle130. Interface device430allows client device110and network system120to communicate with transportation vehicle130via network140. However, in some examples, client device110and network system120can communicate directly with transportation vehicle130without interface device430. In one example, the interface device430is a Bluetooth transmitter/receiver connected to communication port410, but could be any other type of standardized transmitter/receiver.

FIG.5illustrates a table500that provides example operational states of a transportation vehicle130that can be communicated via communication port410(“vehicle datasets” in aggregate). Vehicle datasets may be sent or received by any devices connected to a transportation vehicle130via communication port410using a signaling protocol. As one example, the communication port410is an OBD-II port and vehicle datasets are communicated using the ISO 14230 KWP2000 signaling protocol, but communication port410may be any other communication port410and use any other signaling protocol for vehicle datasets. Some vehicle datasets may be accessed from, or stored on, a vehicle datastore420.

Referring again toFIG.3, a client device includes a service enhancement module330D. Service enhancement module330D regulates communication between a client device110and communication port410. That is, service enhancement module allows communication of vehicle datasets between a transportation vehicle130and a requestor (e.g., client device110) via a network. In some examples, service enhancement module330regulates communication between interface device430connected to communication port410. For example, interface device430may be a Bluetooth transmitter connected to the communication port410and service enhancement module330may regulate communication of vehicle datasets with transportation vehicle130via a Bluetooth connection. In other examples, service enhancement module330communicates vehicle datasets directly with transportation vehicle130via network140without an interface device430. For example, transportation vehicle130may include a local wireless network. In this case, communication port410manages vehicle dataset communication with connected client devices110across network140(e.g., as a Wi-Fi radio).

Application310can also relay vehicle datasets received from communication port410to network system120via network140. For example, service enhancement module330receives vehicle datasets from a Bluetooth transmitter connected to communication port410via a Bluetooth connection. In response, service enhancement module330D communicates the vehicle datasets to network system120via a cellular data network. In other examples, communication port410can directly communicate vehicle datasets to network system120via network140. For example, communication port410can communicate vehicle datasets to network system120via a cellular data network.

Turning toFIG.2, a network system can also include service enhancement module230. Service enhancement module230also facilitates enhance travel service. However, in this case, the service enhancement module230uses resources located on the network system120to facilitate transport service rather than resources located on client device110. For example, service enhancement module230may leverage vehicle datasets from all of transportation vehicles130providing transport service in environment100to enhance transport service. Additionally, in some configuration, service enhancement module230can directly receive vehicle datasets from a transportation vehicle via a network. That is, the transportation vehicle130need not interface with client device110to transmit a vehicle dataset to network system120via network140.

Herein, for convenience, when functionality of service enhancement module230of network system120and functionality of service enhancement module330of client device110is similar, for convenience, service enhancement module230and service enhancement module330may be referred to in aggregate as service enhancement module230/330.

Service enhancement module230/330leverages vehicle datasets to enhance transport service between service providers and service requestors by communicating vehicle datasets between elements in environment100. The following description provides several examples of how a service enhancement module230/330facilitates enhanced transport service by communicating vehicle datasets between client device110, network system120, and transportation vehicle130.

III. Methods for Enhancing Transport Service with Vehicle Datasets

FIG.6is an illustration of a process flow for a method600for enhancing a transport service by communicating vehicle datasets in an environment100, according to one example embodiment. In various embodiments, method600can include additional or fewer steps or the steps may be accomplished in other orders. Further, in various embodiments, method600can repeat any of the steps, or any series of steps, at any time.

To begin, a service provider initializes610application310on a service provider client device110B to coordinate transport service in an environment100. The service provider is operating a transportation vehicle130capable of generating and receiving vehicle datasets via a communication port410. The service provider client device110B includes an application310with a service enhancement module330that communicates vehicle datasets with the transportation vehicle130using communication port410. The network system includes a service enhancement module230. The service requestor transmits a transport service request to network system120.

Service enhancement module230/330enhances620transport service using vehicle datasets. Enhancing transport service at step620is described in detail below.

Network system120transmits an assignment for the transport service to the service provider client device110B. The service provider receives630and accepts the assignment for the transport service. Here, the assignment is to provide transport service to the service requestor from a pickup location to a destination location along a route. The service provider operates transportation vehicle130to move towards the pickup location.

Service enhancement module230/330enhances transport service using vehicle datasets. Enhancing transport service at step640is described in detail below.

Transportation vehicle130arrives at the pickup location and the service requestor enters the transportation vehicle130. The service provider provides650transport service to the service requestor from the pickup location to the destination location along the route.

Service enhancement module230/330enhances transport service using vehicle datasets. Enhancing transport service at step660is described in detail below.

The service provider concludes670transport service when the transportation vehicle130arrives at the destination location and the service requestor exits the transportation vehicle130. At this point the service enhancement module330can again enhance transport service.

In method600, enhancing transport service can use service enhancement module330of client device110or service enhancement module230of network system120. Further the method600may enhance transport service using vehicle datasets at any of steps620,640, and/or660. In some examples, service enhancement module330may enhance transport service at other times or multiple times. Alternatively or additionally, service enhancement module330may enhance transport service at one step while not enhancing transport service at another step.

III. A Example Pre-Assignment Transport Service Enhancements

In some examples, service enhancement module230/330can enhance620transport service after a service provider initializes transport service and before a service provider receives a transport service request, i.e., a pre-assignment transport service enhancement.

FIG.7is an interaction diagram700illustrating a pre-assignment transport service enhancement between a service provider, a service requestor, and a network system120as they execute method600. In this example, William and Erin are each operating a client device110with application310configured to coordinate transport service between service providers and service requestors. Here, William is a service requestor and uses his service requestor client device110A to request transport service from service providers. Erin is a service provider and uses her service provider client device110B to coordinate providing transport service to service requestors using transportation vehicle130. Erin's transportation vehicle130is configured to communicate vehicle datasets via a communication port410. In this example, Erin couples an interface device430(e.g., a Bluetooth transmitter/receiver) to communication port410such that her client device110can communicate vehicle datasets with transportation vehicle130when providing transport service.

Erin initializes application310on her client device and begins providing transport service in an area. Service enhancement module330of Erin's client device110B requests702a vehicle dataset from interface device430. In response, interface device430accesses704a vehicle dataset from transportation vehicle130. In this case, the vehicle dataset includes information regarding the amount of gas stored in the gas tank of Erin's transportation vehicle130. Interface device430provides706the vehicle dataset to Erin's service provider client device110B and Erin's service provider client device110B provides708the vehicle dataset to network system120. Other service providers in the area provide similar vehicle datasets to network system120.

William initializes application310and requests710transport service from network system120using his service requestor client device110A. The transport service request includes a pickup location and a destination location.

Network system120receives the transport service request and determines a set of providers that can provide transport service to William using the vehicle datasets received from the service providers. In this example, William's transport service covers a long distance and would require a large amount of gas. Service enhancement module230of network system120determines, based on the vehicle dataset, that Erin's transportation vehicle130has enough gas to travel to the pickup location from her current location and provide transport service for William from the pickup location to the destination location without having to stop for additional fuel. As such, network system120selects Erin as the service provider for William.

Network system120transmits712a transport service assignment to Erin's service provider client device110and Erin accepts the assignment. The assignment indicates that Erin provide transport service to William from the pickup location to the destination location. The assignment, in one embodiment, also provides a route for Erin to travel from her current location to the pickup location and from the pickup location to the destination location.

After receiving the transport service assignment, Erin travels from her current location to the pickup location along the route. Once arriving at the pickup location, William enters Erin's transportation vehicle130. Erin then provides714transport service for William from the pickup location to the destination location along the route. After arriving at the destination location, William exits the transportation vehicle130and Erin concludes the transport service. Erin's service provider client device again requests702a vehicle dataset from interface device430, receives a vehicle dataset from the transportation vehicle130in response, and transmits the vehicle dataset to network system120. In this manner network system120is continually informed of the amount of gas in Erin's transportation vehicle130and network system120may not assign her a transport service that requires more gas than is available in her transportation vehicle130.

The aforementioned pre-assignment transport service enhancement is only an example. In various other configurations, service enhancement module230/330may use any information included in a vehicle dataset to enhance a transport service after a service requestor requests transport service and before a service provider receives a transport service assignment. The following examples illustrate other instances of a pre-assignment transport service enhancements. Each example includes a name of the enhancement, possible information included in the vehicle dataset, a device on which device the transport service enhancement can occur, and a brief description of the transport service enhancement. These examples are not intended to be an exhaustive list of pre-assignment transport service enhancements. Generally, a pre-assignment transport service is any transport service that is enhanced using a vehicle dataset obtained from a transportation vehicle130before a service provider accepts a transport service assignment.

Example A1: Appropriate Vehicle Size

Vehicle Dataset Information: Vehicle make, vehicle model, passengers presentDevice: Network system120Description: Network system120receives a transport service request from a service requestor for a transport service. The service request includes a number of passengers that require a seat in the transportation vehicle130for the transport service. In this example, service enhancement module230accesses vehicle datasets including the vehicle make, vehicle model, and passengers present for transportation vehicles130operating in the environment100. Service enhancement module230determines a transportation vehicle130with a sufficient number of available passenger spaces to provide transport service to the service requestor based on information in the vehicle datasets. Network system120assigns the service provider operating the determined transportation vehicle the transport service. This example can also function in a “transport service sharing” mode in which a single transportation vehicle130can provide transport service to multiple service requestors simultaneously. In this case, a service provider is only assigned additional service requestors when the transportation vehicle130includes sufficient passenger seating.

Example A2: Appropriate Storage Space

Vehicle Dataset Information: Vehicle make, vehicle modelDevice: Network system120Description: Network system120receives a transport service request from a service requestor for a transportation vehicle130. The transport service request includes a number of items of luggage to be transported. In this example, service enhancement module230accesses vehicle datasets including the vehicle make and vehicle model. Each vehicle make and model has an associated amount of storage space for items of luggage. Service enhancement module230determines a transportation vehicle130with a sufficient amount of storage space for items of luggage to provide transport service to the service requestor based on the information in the vehicle dataset. Network system120assigns the service requestor operating the determined transportation vehicle the transport service. This example can also function in a “transport service sharing mode” in which a single transportation vehicle130can provide transport to multiple service requestors simultaneously. In this case, a service provider will only be assigned additional service requestors when the transportation vehicle130includes sufficient storage space for any additional luggage.

Example A3: Maintenance Notifications

Vehicle Dataset Information: Oil life, oil pressure, fuel level, tire pressure, battery voltage, etc.Device: Client device110Description: A service provider initializes the transport service application310to begin providing transport service to service requestors. The service provider's client device110B accesses a vehicle dataset from transportation vehicle130. In this example, the vehicle dataset includes information indicating that the operational state of transportation vehicle130is not suitable for providing a high-level transport service. For example, the transportation vehicle130may have low tire pressure, poor oil life, a low fuel level, etc. In response, service enhancement module330displays a notification on the service provider client device110B indicating that improvements to the transportation vehicle130are necessary to provide transport service. In some examples, service enhancement module330can access network system120to obtain recommended sites in close proximity to improve the operational states of transportation vehicle130(e.g., mechanics, gas stations, etc.).

Example A4: Vehicle Confirmation

Vehicle Dataset Information: Vehicle identification number, vehicle make, vehicle modelDevice: Network system120Description: A service provider initializes application310to begin providing transport service to service requestors. In this example, network system120associates each service provider with any of a vehicle identification number of a particular transportation vehicle130, a vehicle make, and a vehicle model. Service provider client device110B accesses a vehicle dataset from transportation vehicle130. Here, the vehicle dataset includes information including a vehicle identification number, a vehicle make, and a vehicle model. Service provider client device110B transmits the vehicle dataset to network system120. In response, service enhance module230of network system120determines if the transportation vehicle130that the service provider is operating is the transportation vehicle130associated with the service provider. For example, a transportation vehicle130associated with a particular service provider is a Honda Fit. However, the received vehicle dataset indicates that the transportation vehicle130the service provider is operating is a Nissan Altima. In response, network system120does not assign the service provider transport service requests. Further, network system120transmits a notification to service provider client device110B that they will be unable to provide transport service in their current transportation vehicle130.

Example A5: Usage Threshold

Vehicle Dataset Information: Vehicle speed, true odometer, engine loadDevice: Network system120, client device110Description: A service provider initializes transport service application310to begin providing transport service to service requestors. The service provider client device110B accesses a vehicle dataset from transportation vehicle130. In this example, the vehicle dataset includes information including vehicle speed, true odometer, and engine load. In particular, the vehicle dataset includes information that the vehicle has been operated substantially continuously for the past 15 hours. Service enhancement module230/330determines that the service provider may be operating transportation vehicle130while in need of rest based on the vehicle dataset. In response, service provider client device110B displays a notification encouraging the service provider to take a break from providing transport service. In other examples, if the vehicle dataset indicates that the transportation vehicle130has been operating substantially continuously for more than a threshold amount of time, network system may not assign the service provider to provide transport service to service requestors until the service provider takes a break.

Example A6: Efficient Assignments

Vehicle Dataset Information: Fuel economyDevice: Network system120Description: Service requestor client device110A transmits a transport service request to network system120. Network system120receives vehicle datasets from a number of service provider client devices110B operating in the area. The vehicle datasets include information regarding how efficiently a transportation vehicle130is operating. Service enhancement module230determines an efficiency score for each of the service providers capable of providing the transport service using the vehicle datasets. The efficiency score is a quantification of how efficient a transportation vehicle130can be when travelling from their current location to the pickup location (or destination location) of the transport service. For example, a first service provider may have to travel up a steep incline for four miles to reach the pickup location while a second service provider may have to travel down an incline for three miles to reach the pickup location. In this case, the service enhancement module230determines that the first service provider has a higher efficiency score than the second service provider despite being further away and at a lower elevation. Service enhancement module230determines a higher efficiency score for the first service provider because the first service provider operates a transportation vehicle130that achieves a higher fuel efficiency than the transportation vehicle operated by the second service provider. As such, network system120assigns the transport service to the first service provider. In some cases, service enhancement module330may determine an efficiency score for a transportation vehicle130and transmit the efficiency score to network system120.

In some examples, an efficiency score can be based on the transaction cost of the transport service. For example, if a provider has a highly fuel-efficient transportation vehicle, but the route for that provider would cause a much larger transaction cost, the efficiency score may be low. In some alternative example, a transaction cost can be based on the determined efficiency score. For example, a transaction cost may be adjusted higher or lower based on how efficiently a provider is able to provide transport service. Further service enhancement module330can determine and suggest operational states for a transportation vehicle based on an efficiency score.

III.B Example In-Route Transport Service Enhancements

In some examples, service enhancement module330can enhance640transport service after a service provider accepts an assignment and before a service provider begins transport service, i.e., an in-route transport service enhancement.

FIG.8is an interaction diagram800illustrating an in-route transport service enhancement between a service provider, a service requestor, and network system120as they execute method600. In this example, William and Erin are again acting as service requestor and service provider, respectively. Here, Erin's service provider client device110B communicates with transportation vehicle130via a local wireless network140and communication port410regulates those communications.

Erin initializes application310on her service provider client device110B and begins providing transport service in an area. William initializes application310on his service requestor client device110A and requests802transport service from network system120. The transport service request includes a pickup location and a destination location. In this example, William's transport service request also provides804a vehicle dataset that includes a set of preferred operational states (“rider vehicle dataset”). The set of preferred operational states are operational states that William prefers when using a transport service such as, for example, a temperature of the transportation vehicle130interior, a radio station, a reclining position of a seat, a retraction level of a window, etc. Similarly, Erin's service provider client device110B includes a vehicle dataset that includes a set of preferred operational states (“provider vehicle dataset”) for Erin that are stored on device datastore340. When not providing a transport service to a service requestor, transportation vehicle130implements the provider vehicle dataset unless otherwise instructed. Additionally or alternatively, transportation vehicle130may implement the provider vehicle dataset when the provider preferences conflict with the requestor preferences.

Network system120transmits806a transport service assignment to Erin's service provider client device110B indicating that Erin provide transport service to William from the pickup location to the destination location using transportation vehicle130. The transport service assignment also provides a route for Erin to travel from her current location to the pickup location and from the pickup location to the destination location.

As Erin approaches the pickup location in transportation vehicle130, network system120transmits808the rider vehicle dataset to Erin's service provider client device110B. Erin's service provider client device110B transmits810the rider vehicle dataset to the transportation vehicle130via the communication port410regulating the local wireless network140. In some examples, the rider vehicle dataset can be transmitted directly from network system120to transportation vehicle130without Erin's service provider client device110B relaying the information. In other examples, William's service requestor client device110A can transmit the rider vehicle dataset to the local wireless network140when Erin's transportation vehicle130approaches the pickup location.

Transportation vehicle130implements the rider vehicle dataset before William enters the transportation vehicle130and Erin begins the transport service. For example, the transportation vehicle130may change the radio station from a National Public Radio station to a light rock station and change the temperature from 76° F. to 74° F. according to William's preferred operational states. Similarly, the transportation vehicle130may implement the rider vehicle dataset after William enters the transportation vehicle130and the transport service begins.

Erin then provides812transport service for William from the pickup location to the destination location along the route using transportation vehicle130. After arriving at the destination location, William exits transportation vehicle130and Erin concludes the transport service.

After concluding the transport service, Erin's service provider client device110B transmits814a provider vehicle dataset to the transportation vehicle130via communication port410regulating the local wireless network140. In response, the transportation vehicle130implements Erin's preferred operational states. In some cases, rather than transmitting a provider vehicle dataset to transportation vehicle130, Erin's service provider client device110B can indicate to transportation vehicle130to implement vehicle settings stored on vehicle datastore420.

Again, the aforementioned in-route transport service enhancement is only an example. In various other configurations, a service enhancement module330may use any information included in a vehicle dataset to enhance a transport service after a service requestor accepts an assignment and before a service provider provides transport service. Similar to Section III.A, some example in-route transport service enhancements are provided.

Example B1: Trip-Estimates

Vehicle Dataset Information: True odometer, fuel economy, accelerometer, vehicle speed, etc.Device: Client device110, network system120Description: While moving towards a starting point for a trip, a service provider client device accesses a vehicle dataset from transportation vehicle130. The vehicle dataset includes information regarding operational states of transportation vehicle that can be used to estimate the profitability of an assigned transport service for a service provider. For example, the vehicle dataset can include the odometer information, fuel economy, vehicle speed, and accelerometer. Service enhancement module230/330determines an expected profitability for a transport service based on the received route and information included in vehicle dataset. For example, a trip for a transport service is five miles long and significant portions of the route that are uphill and include stop-lights. As such, service enhancement module230/330predicts that the expected profitability for the trip is $15.43 based on the fuel economy of the transportation vehicle and the expected transaction cost for the transport service. Service enhancement module230/330can also predict that the expected profitability of the trip is more or less than other service providers providing a transport service along a similar route. In this case, service enhancement module230/330can generate notifications for display on service provider client device110B on methods to improve profitability for the trip (e.g., speeds, acceleration profiles, etc.).

Example B2: Transportation Vehicle Verification

Vehicle Dataset Information: Vehicle make, vehicle model, vehicle identification number, interior lights, etc.Device: Client device110, network system120Description: While driving towards a starting point for a trip, service enhancement module230of network system120provides a vehicle dataset to a service requestor waiting at the starting point. The vehicle dataset includes operational states that allows a service requestor to verify that they are approaching a transportation vehicle130operated by a service provider that has been assigned to them. For example, the provided vehicle dataset can include a vehicle identification number, an interior light setting, and a credential for communication port410. In this example, once a transportation vehicle130that has been assigned to a service requestor arrives at the pickup location, the service requestor approaches the transportation vehicle. The service requestor interacts with their service requestor client device110A and service enhancement module330transmits the received vehicle dataset to transportation vehicle130. In response to receiving the vehicle dataset, transportation vehicle130changes the color of the interior lighting (e.g., green) to indicate to the service requestor that they are approaching the correct transportation vehicle. In some cases, communication port410can verify that the received vehicle dataset is intended for transportation vehicle130based on the vehicle identification number included in the vehicle dataset. In a counter example, if the service requestor approaches an incorrect transportation vehicle130, transportation vehicle130can change the color of the interior lighting (e.g., red) to indicate to the service requestor that they approaching an incorrect transportation vehicle130.

Example B3: Ingress Facilitation

Vehicle Dataset Information: Vehicle make, vehicle model, vehicle identification number, remote door locks, remote trunk locksDevice: Client device110, network system120Description: Network system120assigns a service provider to provide transport service to a service requestor from a pickup location to a destination location along a route using transportation vehicle130. When transportation vehicle130approaches the pickup location, service enhancement module230/330provides a vehicle dataset to transportation vehicle130. The vehicle dataset causes transportation vehicle130to automatically unlock the doors of transportation vehicle130such that the service provider can easily enter transportation vehicle130. In some examples, the vehicle dataset that unlocks doors is received from the service requestor client device110A waiting at the pickup location as transportation vehicle130approaches. In some cases, service enhancement module330can determine which door(s) to unlock based on the location of transportation vehicle130and the location of the service requestor. In still other examples, the vehicle dataset can unlock the trunk if the service requestor indicates that they have a piece of luggage for the transport service. Similarly, vehicle datasets can be used to facilitate egress from transportation vehicle130in a similar manner.
III.C Example On-Trip Transport Service Enhancements

In some examples, service enhancement module330can enhance660transport service after a service provider begins providing transport service to a service requestor and before a service provider concludes providing transport service to a service requestor, i.e., an on-trip transport service enhancement.

FIG.9is an interaction diagram900illustrating an on-trip transport service enhancement between a service provider, a service requestor, and a network system120as they execute method600. In this example, William and Erin are again acting as a service requestor and service provider, respectively. Erin's service provider client device110B is directly connected to communication port410to communicate vehicle datasets. Again, Erin has a provider vehicle dataset and William has a rider vehicle dataset. William's rider vehicle dataset is stored on system datastore220. In particular, the rider vehicle dataset includes a threshold over-velocity. That is, William has indicated a threshold velocity over the speed limit he is comfortable travelling. In this example, William is not comfortable travelling over the speed limit at any point during transport service.

Erin initializes application310on her service provider client device110B and begins providing transport service in an area. William initializes application310on his service requestor client device110A and requests902transport service from network system120. The transport service request includes a pickup location and a destination location. Network system120transmits904a transport service assignment to Erin to provide transport service to William from the pickup location to the destination location. Network system120also transmits906William's rider vehicle dataset. The transport service assignment also provides a route for Erin to travel from her current location to the pickup location and from the pickup location to the destination location.

Erin uses transportation vehicle130to travel from her current location to the pickup location. Once Erin arrives at the pickup location, William enters the transportation vehicle130, and Erin begins to provide908transport service to William.

As Erin provides908transport service for William from the pickup location to the destination location along the route, Erin's client service provider client device110B requests910a vehicle dataset via communication port410. In response, communication port410accesses912a vehicle dataset from transportation vehicle130and provides914the vehicle dataset to Erin's service provider client device110B. In this example, the vehicle dataset includes operational states regarding Erin's driving characteristics (e.g., braking characteristics, speed characteristics, etc.). Service enhancement module330of Erin's service provider client device110B analyzes the vehicle dataset and determines that Erin is driving faster than the speed limit along the route contrary to the information included in William's rider vehicle dataset. In response, service enhancement module330encourages Erin to reduce her speed to enhance Williams transport service experience. In some examples, service enhancement module330may also communicate a vehicle dataset to transportation vehicle130to automatically reduce (or limit) the velocity of transportation vehicle130according to information included in the rider vehicle dataset. Service enhancement module230of the network system120can provide similar functionality.

Erin arrives at the destination location, William exits the transportation vehicle130, and Erin concludes the transport service.

As a more specific example, the route from the pickup location to the destination location includes a road segment along a highway with a speed limit of 65 mph. When moving with the flow of traffic, the speed of transportation vehicle130reaches 68 mph. Erin's service provider client device110B accesses a vehicle dataset including the transportation vehicle130's current velocity. Service enhancement module330determines that Erin is travelling faster than the speed limit of the highway, contrary to the information provided in the rider vehicle dataset. In response, service enhancement module330displays an on-screen indication on Erin's service provider client device110B to reduce her speed to enhance William's transport service experience.

Again, the aforementioned on-trip transport service enhancement is only an example. In various other configurations, a service enhancement module330may use any information included in a vehicle dataset to enhance a transport service while a service provider provides transport service to a service provider. Similar to section III.A, some example on-trip transport service enhancements are provided.

Example C1: On-Trip Enhancement Notifications

Vehicle Dataset Information: True odometer, accelerator pressure, brake pressure, fuel economy, tire pressure, accelerometer, vehicle speed, etc.Device: Client device110Description: While on a trip, a service provider client device accesses a vehicle dataset from transportation vehicle130. The vehicle dataset includes information regarding operational states of transportation vehicle that can be monitored and improved to enhance travel service. In one example, the vehicle dataset includes brake pressure and fuel economy of transportation vehicle130. Service enhancement module330determines that transportation vehicle130is not operating in a fuel-efficient manner and that the brake pressure is too high, too often. That is, a service provider is hard-breaking too often while providing transport service. Service enhancement module330determines that reducing the amount of hard-breaking while providing transport service would increase the fuel efficiency of transportation vehicle130. As such, service enhancement module330displays a notification on a service provider client device110B encouraging the service provider operating transportation vehicle130to modify her driving characteristics. In another example, the vehicle dataset includes information regarding seatbelts and whether or not passengers are present in each seat. Here, service enhancement module330determines that a seat including a passenger does not have a buckled seatbelt. In response, service enhancement module330displays a notification on the service provider client device110B as to which passengers do not have buckled seatbelts. The service provider asks the passengers indicated by the notification to buckle their seatbelts.

Example C2: Rider Vehicle Modifications

Vehicle Dataset Information: Radio station, air condition, seat position, window position, etc.Device: Client device110Description: While on a trip, network system120provides an authentication key for communication port410to a service requestor being transported by a service provider in transportation vehicle130. The authentication key allows the service requestor client device110A to communicate vehicle datasets with transportation vehicle130while on the trip. In this example, application310is configured to allow a service requestor to control operational states of transportation vehicle130by providing vehicle datasets to transportation vehicle130. For example, a service requestor may provide a vehicle dataset that changes the position of their seat, changes the air conditioner setting, or changes the radio station, etc. Further, application310of a service requestor client device110A is configured to display settings that can be controlled by the service requestor while on a trip. So, for example, application310can display a radio tuner that allows a service requestor to input a radio station setting. Service enhancement module330generates and transmits a vehicle dataset to transportation vehicle130that tunes the radio station of transportation vehicle130to the radio station selected by the service requestor.

Example C3: Automated Emergency Dispatch

Vehicle Dataset Information: Velocity, accelerometer, air bags, etc.Device: Client device110Description: While on a trip, a service provider operating transportation vehicle130is rear-ended by another driver. Service provider client device110B accesses a vehicle dataset including information indicating that transportation vehicle130has been in an accident. For example, the vehicle dataset can include information regarding a sudden change in velocity, or that an airbag has been deployed. As such, service enhancement module330determines that transportation vehicle130has been in an accident and automatically contacts emergency services using network140.
III.D Example Post-Trip Transport Service Enhancements

In some examples, service enhancement module230/330can enhance transport service after a service provider concludes transport service and before a service provider accepts a new transport service assignment, i.e., a post-trip transport service enhancement. Post-trip transport service enhancements can function similarly to the interaction diagram ofFIG.7, but may be used to enhance a transport service in a different manner. As such, a thorough example will not be explicitly described. However, several examples of a service enhancement module330providing post-trip transport service enhancement are provided.

Example D1: Odometer Verification

Vehicle Dataset Information: Velocity, odometer, etc.Device: Network system120Description: In some cases, network system120may inaccurately determine a number of miles travelled by a service provider when providing a transport service. For example, in a large city with tall buildings, telematics data can be prone to error because of the buildings interfering with GPS signals. After concluding transport service, transportation vehicle130generates a vehicle dataset including operational states that can be used to validate telematics data for the trip. For example, the vehicle dataset can include odometer information such that service enhancement module230can determine that the miles travelled as indicated by the telematics data matches the miles travelled as indicated by the vehicle dataset. Verifying the miles travelled allows network system120to more accurately determine the transaction cost for the provided transport service. Similarly, verifying the miles travelled allows network system120to prevent service providers from spoofing GPS information to unfairly inflate transaction costs.

Example D2: True Cost Transaction Costs

Vehicle Dataset Information: Velocity, odometer, fuel efficiency, brake pressure, ambient temperature, etc.Device: Network system120Description: In some cases, a number of miles travelled on a trip or an amount of time travelled on a trip may not accurately reflect the true cost of the trip for the service provider (e.g., engine wear, decreased fuel efficiency, etc.). Service enhancement module230can leverage vehicle datasets to determine a true cost of a transport service for a service provider. For example, after concluding transport service, transportation vehicle generates a vehicle dataset including information that can more accurately indicate the true cost of providing the transport service. The vehicle dataset may indicate that a trip was up a substantial incline, in stop-and-go traffic, or in harsh weather conditions. As such, service enhancement module230may determine an adjusted transaction cost based on the received vehicle dataset that more accurately reflects the cost of the trip to the service provider. For example, if the fuel efficiency for a trip was very low because the ambient temperature outside transportation vehicle was very low, service enhancement module330may increase the transaction cost for the service requestor accordingly.
III.E Other Example Transport Service Enhancements

Service enhancement module330can enhance transport service at any time during method600. Further, any process described in any enhancing transport service can be used at any time and in any combination.

Example E1: Service Provider Verification

Vehicle Dataset Information: Velocity, accelerometer, brake pressure, etc.Device: Network system120Description: Network system120stores a service provider profile in system datastore220. Each service provider profile includes a set of service provider driving characteristics that describe how the service provider operates a transportation vehicle130associated with the service provider client device110B. For example, the service provider profile may include average velocity, average hard braking, acceleration profiles, etc. of a service provider while they provide transport service to a service requestor using transportation vehicle130. As such, vehicle datasets received from transportation vehicle130can be used to verify that the operator of transportation vehicle130is the service provider associated with transportation vehicle130. For example, the driving characteristics included in a vehicle dataset received from a service provider client device110B providing transport service using transportation vehicle130are dissimilar from the normal driving characteristics included in vehicle datasets received from the service provider client device110B. In this case, service enhancement module230determines that the current operator of transportation vehicle130is likely not the service provider associated with transportation vehicle130and service provider client device110B. Service enhancement module330stops assigning transport service to service provider client device110B until the driving characteristics in vehicle datasets are similar to the driving characteristics in the service provider profile. This example can also be used to determine if a service provider is overly tired, intoxicated, or in some other way impaired from providing a high-quality transport service

Example E2: Verified Service Providers

Vehicle Dataset Information: Velocity, accelerometer, brake pressure, etc.Device: Network system120Description: Network system120stores a service provider profile in system datastore220. Each service provider profile includes an indication as to whether or not a service provider has been verified. A driver becomes verified once service enhancement module230receives vehicle datasets with sufficient information indicating that the service provider is a safe driver. The information can include velocity, acceleration, mechanical information, etc. For example, a service provider operating a transportation vehicle has a service provider profile indicating that they are a verified driver. However, transportation vehicle130operated by the service provider generates and transmits a vehicle dataset to network system120indicating that the tire pressure of transportation vehicle130is too low. In response, network system120changes the service provider profile from verified to unverified until a vehicle dataset is received indicating the tire pressure is at an adequate level. Network system120may use the verified or unverified status of a service provider when determining which service provider to assign a transport service. For example, network system120may not assign a transport service to unverified service providers. In another example, a service provider may become verified successfully completing safe transport service (e.g., under speed limit, limited hard breaking, etc.) a threshold number of times. In this case, network system120may preferentially assign a transport service to verified service providers.

Example E3: Earnings Display

Vehicle Dataset Information: Fuel efficiency, maintenance notifications, brake pressure, etc.Device: Client device110Description: Application310on a service provider client device110A can include a display showing the earnings for the service provider when providing transport service. For example, the service provider client device can show the average per-trip earnings of a service provider or the aggregate earnings of the service provider when providing transport service. In this example, service enhancement module330can access information included in a vehicle dataset to more accurately determine the earnings of a service provider. For example, vehicle datasets can include information describing the fuel efficiency and maintenance notifications of a transportation vehicle130while providing transport service. In this case, service enhancement module330may determine adjusted earnings that more accurately reflect the earnings of a service provider operating transportation vehicle130. For example, an unadjusted earnings may not reflect the fuel efficiency of a transportation vehicle while the adjusted earning do reflect the fuel efficiency of a transportation vehicle.

Example E4: Tax Preparation

Vehicle Dataset Information: OdometerDevice: Network system120Description: In some cases, the distance travelled by a service provider in a transportation vehicle130while providing transport service can be used as a tax benefit. In this case, service enhancement module230can access a vehicle dataset, or aggregate vehicle datasets, to determine the number of miles travelled by a service provider in a given amount of time. Service enhancement module can provide the number of miles travelled to the service provider to use for tax purposes.
IV. Example Computer System

FIG.10is a block diagram illustrating components of an example machine for reading and executing instructions from a machine-readable medium. Specifically,FIG.1shows a diagrammatic representation of network system120and client device110in the example form of a computer system1000. The computer system1000can be used to execute instructions1024(e.g., program code or software) for causing the machine to perform any one or more of the methodologies (or processes) described herein. In alternative embodiments, the machine operates as a standalone device or a connected (e.g., networked) device that connects to other machines. In a networked deployment, the machine may operate in the capacity of a server machine or a client machine in a server-client system environment100, or as a peer machine in a peer-to-peer (or distributed) system environment100.

The machine may be a server computer, a client computer, a personal computer (PC), a tablet PC, a set-top box (STB), a smartphone, an internet of things (IoT) appliance, a network router, switch or bridge, or any machine capable of executing instructions1024(sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute instructions1024to perform any one or more of the methodologies discussed herein.

The example computer system1000includes one or more processing units (generally processor1002). The processor1002is, for example, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), a controller, a state machine, one or more application specific integrated circuits (ASICs), one or more radio-frequency integrated circuits (RFICs), or any combination of these. The computer system1000also includes a main memory1004. The computer system may include a storage unit1016. The processor1002, memory1004, and the storage unit1016communicate via a bus1008.

In addition, the computer system1000can include a static memory1006, a graphics display1010(e.g., to drive a plasma display panel (PDP), a liquid crystal display (LCD), or a projector). The computer system1000may also include alphanumeric input device1012(e.g., a keyboard), a cursor control device1014(e.g., a mouse, a trackball, a joystick, a motion sensor, or other pointing instrument), a signal generation device1018(e.g., a speaker), and a network interface device1020, which also are configured to communicate via the bus1008.

The storage unit1016includes a machine-readable medium1022on which is stored instructions1024(e.g., software) embodying any one or more of the methodologies or functions described herein. For example, the instructions1024may include the functionalities of modules of the system120described inFIG.1. The instructions1024may also reside, completely or at least partially, within the main memory1004or within the processor1002(e.g., within a processor's cache memory) during execution thereof by the computer system1000, the main memory1004and the processor1002also constituting machine-readable media. The instructions1024may be transmitted or received over a network1026(e.g., network140) via the network interface device1020.

While machine-readable medium1022is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) able to store the instructions1024. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing instructions1024for execution by the machine and that cause the machine to perform any one or more of the methodologies disclosed herein. The term “machine-readable medium” includes, but not be limited to, data repositories in the form of solid-state memories, optical media, and magnetic media.

V. Additional Configurations

The foregoing description of the embodiments of the invention has been presented for the purpose of illustration; it is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Persons skilled in the relevant art can appreciate that many modifications and variations are possible in light of the above disclosure.

Some portions of this description describe the embodiments of the invention in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs or equivalent electrical circuits, microcode, or the like. Furthermore, it has also proven convenient at times, to refer to these arrangements of operations as modules, without loss of generality. The described operations and their associated modules may be embodied in software, firmware, hardware, or any combinations thereof.

Any of the steps, operations, or processes described herein may be performed or implemented with one or more hardware or software modules, alone or in combination with other devices. In one embodiment, a software module is implemented with a computer program product including a computer-readable non-transitory medium containing computer program code, which can be executed by a computer processor for performing any or all of the steps, operations, or processes described.

Embodiments of the invention may also relate to a product that is produced by a computing process described herein. Such a product may include information resulting from a computing process, where the information is stored on a non-transitory, tangible computer readable storage medium and may include any embodiment of a computer program product or other data combination described herein.

Finally, the language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based hereon. Accordingly, the disclosure of the embodiments of the invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.