Systems and methods for offline and online vehicle usage for volume-based metrics
The disclosed system may include a non-transitory memory and one or more hardware processors configured to execute instructions from the non-transitory memory to perform operations including determining online data and offline data from a mobile application, wherein the online data is determined based on the mobile application being online and the offline data is determined based on the mobile application being offline, determining travel distance data from a remote device associated with the vehicle, aggregating at least a portion of the online data, at least a portion of the offline data, and at least a portion of the travel distance data, generating data associated with the aggregation of the portion of the online data, the portion of the offline data, and the portion of the travel distance data, and causing the mobile application to display the generated data. Other methods, systems, and computer-readable media are disclosed.
Latest Lyft, Inc. Patents:
- Systems and methods for effecting map layer updates based on collected sensor data
- Apparatus, systems, and methods for requesting transportation via a transportation key
- Flexible API framework
- Illuminated communication unit for a vehicle within a transportation network
- Display screen or portion thereof with a graphical user interface
The present application is a continuation of U.S. application Ser. No. 16/580,224, filed on Sep. 24, 2019, which claims the benefit of and priority to U.S. application Ser. No. 62/881,190, filed Jul. 31, 2019. The aforementioned applications are hereby incorporated by reference in their entirety.
BRIEF DESCRIPTION OF THE DRAWINGSThe accompanying drawings illustrate a number of exemplary embodiments and are a part of the specification. Together with the following description, these drawings demonstrate and explain various principles of the instant disclosure.
Throughout the drawings, identical reference characters and descriptions indicate similar, but not necessarily identical, elements. While the exemplary embodiments described herein are susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will be described in detail herein. However, the exemplary embodiments described herein are not intended to be limited to the particular forms disclosed. Rather, the instant disclosure covers all modifications, equivalents, and alternatives falling within the scope of the appended claims.
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTSThe present disclosure is generally directed to methods and systems for accurately determining miles driven by transportation provider vehicles while their respective transportation provider application (“apps”) are offline (e.g., when the apps lose network connectivity, the mobile phones with the apps lose battery power, and/or the apps receive instructions to go offline, among other examples). Dynamic transportation network systems may be improved with added capabilities to determine online miles while the transportation provider app is online and offline miles while the transportation provide app is offline. For example, some transportation provider vehicles may incur additional wear and tear while their respective apps are offline, such that the system may impose higher costs, in comparison to other vehicles that remain online. In particular, some vehicles may engage in higher ratios of “offline” (or P0 miles) to network-participation driving miles (“online” or P1, P2, or P3 miles). The ability to distinguish between offline and online miles may help to preserve transportation provider vehicles from extensive vehicle wear and tear.
To improve data models for transportation provider vehicles, and thereby further improve transportation provider vehicles performing dynamic transportation network services, these services may leverage insights from at least two sources of information: (1) telematics information from a telematics unit disposed within a corresponding transportation provider vehicle and (2) telemetry information from a mobile device application, such as the transportation provider app, provided by the corresponding transportation network service. The transportation network services may optionally reference a combination of these two sources of information to update the data model for transportation provider vehicles. In some cases, one of the sources of information may be used to check, correct, or supplement the other source of information, and vice versa. In additional scenarios, one of the sources of information may compensate for one or more periods of time during which the other source of information is unavailable.
As will be explained in greater detail below, determining offline and online miles using the systems methods disclosed herein may provide benefits to the operation of a transportation management system. Accordingly, as may be appreciated, the systems and methods described herein may improve the functioning of a computer that implements transportation matching. For example, these systems and methods may improve the functioning of the computer by improving transportation matching results. Additionally or alternatively, these systems and methods may improve the functioning of the computer by reducing the computing resources consumed to identify appropriate transportation matchings (and, e.g., thereby freeing computing resources for other tasks, such as those directly and/or indirectly involved in transportation matching).
Furthermore, for the reasons mentioned above, the systems and methods described herein may provide advantages to the field of transportation management and/or the field of transportation. In addition, these systems and methods may provide advantages to vehicles (whether piloted by a human, semi-autonomous, or autonomous) that operate as a part of a transportation management system. For example, the vehicles may complete transportation tasks more quickly, more efficiently (e.g., in terms of fuel consumption, vehicle wear, etc.), and/or more safely (e.g., by driving, on average, shorter distances to complete the same transportation objective).
While the transportation provider application is in online states P1, P2, or P3, the dynamic transportation network may receive travel distance data (e.g., odometer reading) from a remote device (e.g., telematics device) in the vehicle associated with the online distances traveled by the vehicle. The dynamic transportation network may assign a first value for use of the vehicle for the online distances traveled by the vehicle from location 104 to 106, 106 to 108, 108 to 110, and 110 to 112 while the transportation provider app is online and performing the transportation task (or while the transportation provider app is online and waiting for a transportation match). The dynamic transportation network may assign a second value for use of the vehicle for the offline distances traveled by the vehicle while the transportation provider application is offline in state P0 (e.g., not in one of online states P1, P2, or P3). The functionality of providing travel distance data (e.g., offline data) may be turned off based on transportation provider and/or transportation requestor preferences. In some examples, the transportation provider application may request permissions to collect and/or provide travel distance data. Travel distance data (e.g., offline data) may be erased rather than stored indefinitely. For example, the travel distance data may be erased after use and/or may be erased periodically (e.g., hourly or daily). In some examples, the transportation provider may choose to opt-out of providing offline data (or, in some examples, may opt-in to providing offline data) while the transportation provider app is offline (e.g., in offline state P0).
In some examples, the transportation provider app may transition from offline state P0 202 to online state P1 204. The transportation provider app may generate online data when transitioning from offline state P0 202 to online state P1 204 by sending transportation task information from a computing device (e.g., a smartphone) within the vehicle running the transportation provider application. While in online state P1 204, the transportation provider app may be waiting for a transportation match to provide transportation services to a transportation requestor. In state P1 204, the transportation provider app may be matched to a transportation requestor and start a transportation task, thereby transitioning to state P2 206. In some examples, a transportation provider app may transition from offline state P0 202 to online state P1 204, and the transportation provider may continue to operate the vehicle. In the case in which the transportation provider app transitions from offline state P0 202 to online state P1 204 and the transportation provider continues to operate the vehicle, the dynamic transportation network may transition the transportation provider app back to offline state P0 202. While in online state P1 204, a transportation provider app may be required to accept a threshold number of transportation matches and/or perform a threshold number of transportation tasks in order to remain in the online state P1 204.
The threshold number of transportation matches required to remain in online state P1 204 may be a set threshold (e.g., a default threshold) and/or may vary based on factors including, without limitation, a time of day, a day of a week, a geographic area, a level of demand for transportation services in a geographic area, or a combination thereof. While in online state P1 204, a transportation provider app may provide instructions to operate the vehicle within a defined geographic area (e.g., a geofenced area) in order to remain in the online state P1 204. In some examples, a transportation provider app may enter a destination mode in which the transportation provider app is matched with transportation tasks that include a travel route along a transportation provider's destination route. A transportation provider may be allowed to remain in the destination mode for a threshold number of transportation tasks while in online state P1 204 in order to remain in online state P1 204. Additionally or alternatively, a transportation provider may be allowed to remain in destination mode for a threshold period of time while in online state P1 204.
In state P2 206, the transportation provider vehicle may travel to a transportation requestor pickup location. In some examples, the transportation provider app may be in state P2 206 and the requested transportation task may be canceled, thereby transitioning the transportation provider app to state P1 204 to wait for another transportation match. When the transportation requestor is picked up, the transportation provider app may transition to state P3 208 and the transportation provider vehicle may travel from the transportation requestor pickup location to the transportation requestor drop-off location. While in online state P3, the transportation provider vehicle may be performing a transportation task of transporting the transportation requestor(s) from the transportation requestor pickup location to the transportation requestor drop-off location. In some examples, the transportation provider app may be in state P3 208 during the trip, and when the transportation requestor is dropped off, the transportation provider app may then return to state P2 206 to perform a different transportation task. In some examples, the transportation provider app may be in state P3 208 when the transportation requestor is dropped off and the transportation provider app may transition to state P1 204 to wait for another transportation match. The transportation provider app may generate offline data by transitioning from online state P1 204 to offline state P0 202 after completing a transportation task shift by sending transportation task information from a computing device (e.g., a smartphone) within the vehicle running a transportation provider application.
While the transportation provider app is in states P0, P1, P2, or P3, the dynamic transportation network may determine travel distance data (e.g., an odometer reading) from a remote device (e.g., telematics device) in the vehicle for the distances traveled by the vehicle in each of states P0, P1, P2, and P3. The dynamic transportation network may aggregate the online data, the offline data, and the travel distance data to generate data, including a distance traveled by the vehicle while the transportation provider app is online (i.e., an online travel distance) and/or a distance traveled by the vehicle while the transportation provider app is offline (i.e., an offline travel distance).
The transportation provider application running on the computing device (e.g., smartphone) may display the generated data. For example, the transportation provider application may display the offline travel distance during a time period and/or the online travel distance during a time period as described below with respect to
The dynamic transportation network may assign a first value for use of the vehicle for the distances traveled by the vehicle while the transportation provider app is online in states P1, P2, or P3 and may assign a second value for use of the vehicle for the distances traveled by the vehicle while the transportation provider app is offline in state P0.
Transportation provider shift data 302 may indicate whether the transportation provider app is online or offline. Transportation provider shift data 302 may include online data and offline data. Transportation provider shift data 302 may indicate the transportation provider app is in online state P2. While in online state P2, the transportation provider app may be matched to a transportation requestor and start a transportation task. In online state P2, the transportation provider vehicle may travel to a transportation requestor pickup location. Transportation provider shift data 302 may indicate that the transportation provider app is in online state P3. When the transportation requestor is picked up, the transportation provider app may transition from online state P2 to online state P3 and the transportation provider vehicle may travel from the transportation requestor pickup location to the transportation requestor drop-off location. After completing the transportation task, transportation provider shift data 302 may indicate the transportation provider app has transitioned to online state P1 (e.g., waiting for another transportation match) or offline state P0. Transportation provider shift data 302 may be received from a computing device (e.g., smartphone) within the vehicle running a transportation provider application associated with the dynamic matching system.
API 306 may provide transportation provider shift data 302 to mileage calculator 310. Mileage calculator 310 may determine the number of online miles and the number of offline miles driven by the transportation provider vehicle based on transportation provider shift data 302 and travel distance data 304. Mileage calculator 310 may receive travel distance data (e.g., odometer readings) from travel distance data 304. Mileage calculator 310 may also determine the number of online miles driven by the transportation provider vehicle by aggregating the number of online miles accumulated while the mobile application is in online states P1, P2, or P3. Mileage calculator 310 may determine the number of offline miles driven by the transportation provider vehicle by determining the number of offline miles accumulated while the mobile application is in offline state P0. Mileage calculator 310 may aggregate the travel distance data 304 and the transportation provider shift data 302, determine an online distance traveled and an offline distance traveled based on the correlation of the travel distance data 304 and the transportation provider shift data 302. The online distance traveled may be determined based on the mobile application being online and the offline distance traveled may be determined based on the mobile application being offline. Mileage calculator 310 may generate data associated with at least one of the online distance traveled and the offline distance traveled and store the generated data in mileage storage 312. Mileage storage 312 may provide the generated data to mileage updated events publisher 320. Mileage updated events publisher 320 may determine which portions of the generated data to be published and provide the generated data to be published to federation APIs 322. Federation APIs 322 may provide the generated data to pusher 324. Pusher 324 may send the generated data (e.g., number of offline miles driven during a time period, number of online miles driven during a time period) to provider device 326. In some examples, provider device 326 may display the generated data in a transportation provider application (e.g., mobile application). As described below with respect to
In some examples, telematics events worker 308 may periodically poll a telematics service to download travel distance (e.g., mileage) data. Telematics events worker 308 may download mileage data for all vehicles in the dynamic transportation network and produce suitable analytics events on a periodic basis (e.g., every 30 seconds). The mileage data may include vehicle odometer readings and may be stored in odometer storage 314.
In some examples, remote device 410 may be any device capable of determining and sending travel distance data 401 to telematics server 404. Remote device 410 may determine travel distance data 401 using any suitable method. For example, remote device 410 may be an electronic device that plugs into the OBDII (On-Board Diagnostic System) port of vehicle 412 and provides telematics data remotely. Remote device 410 may include a GPS receiver or other location-based service such as cellular triangulation or WiFi positioning that determines and records date, time, and vehicle 412 location on a periodic basis. Remote device 410 may send the date, time, and vehicle 412 location to telematics server 404. Remote device 410 may receive travel distance data 401 from vehicle control module 414. Vehicle control module 414 may be an electronic module within vehicle 412 that determines and stores various parameters associated with the vehicle including, without limitation, travel distance data (e.g., odometer reading), vehicle speed, roadway speed limit, linear acceleration/deceleration rate, angular acceleration/deceleration rate, engine speed, throttle position, and braking pressure.
In some examples, dynamic transportation management system 406 may receive transportation provider shift data 409 from transportation provider computing device 416 over network 408. Transportation provider shift data 409 may be entered into a transportation provider application running on computing device 416 by the transportation provider (e.g., executing an entry on the transportation provider application running on computing device 416). Transportation provider shift data 409 may include, without limitation, online data, offline data, transitioning from offline to online, transitioning from online to offline, accepting a transportation task, pickup of a transportation requestor, and drop off of a transportation requestor.
Additionally or alternatively, dynamic transportation management system 406 may receive travel distance data 401 from transportation provider computing device 416. Computing device 416 may determine travel distance data 401 using GPS data, map data, or other travel distance measuring methods. Computing device 416 may send travel distance data 401 to dynamic transportation management system 406 when remote device 410 is unable to send travel distance data 401 (e.g., when network 402 is unavailable). Additionally or alternatively, transportation management system 406 may receive travel distance data 401 from both remote device 410 and computing device 416.
A dynamic transportation management system may determine a distance traveled by a vehicle while the transportation provider app is in offline state P0 using any suitable method. In some examples, a dynamic transportation management system may accrue errors in determining offline distance traveled caused by delays in updating telematics events (e.g., delays in receiving data from remote device 410 and/or computing device 416). In some examples, an odometer reading may be received from vehicle control module 414 in vehicle 412 by remote device 410. Remote device 410 may upload the odometer reading to telematics server 404 over network 402. At certain times, remote device 410 may be unable to send the odometer readings to telematics server 404 due to lack of communications over network 402 (e.g., vehicle out of cell coverage range) and/or computing device 416 may be unable to send travel distance data. The lack of odometer readings may cause accumulated errors in the travel distance determination. In some examples, when storing odometer readings for the start and end of all transportation provider shifts, an error for each shift may accrue over time, thereby resulting in an unacceptable error magnitude. To determine an accurate offline distance traveled (e.g., number of offline miles) and overcome accruing an unacceptable error magnitude, the number of total miles driven may be determined for a time period (e.g., one week) and the number of online miles (e.g., P1+P2+P3) may be subtracted from the total miles to determine offline distance traveled.
In one example, a computer-implemented method may include determining online data and offline data from a mobile application operating in association with a vehicle of a dynamic matching system. The online data may be determined based on the mobile application being online and the offline data may be determined based on the mobile application being offline. The method may include determining travel distance data from a remote device associated with the vehicle. The method may include aggregating at least a portion of the online data, at least a portion of the offline data, and at least a portion of the travel distance data. The method may include generating data associated with the aggregation of the portion of the online data, the portion of the offline data, and the portion of the travel distance data. The method may include causing the transportation provider application to display the generated data.
In some examples, the data associated with the aggregation of the portion of the online data, the portion of the offline data, and the portion of the travel distance data may include an online travel distance associated with the vehicle and an offline travel distance associated with the vehicle.
In some examples, at least one of the online travel distance and the offline travel distance may include an odometer reading received periodically from the remote device associated with the vehicle.
In some examples, at least one of the online travel distance and the offline travel distance may include distance data received from a computing device that hosts the mobile application within the vehicle.
In some examples, the method may further include assigning a first value for use of the vehicle based on the online travel distance and assigning a second value for use of the vehicle based on the offline travel distance.
In some examples, the method may further include displaying at least one of the first value for use of the vehicle and the second value for use of the vehicle on the computing device that hosts the mobile application within the vehicle.
In some examples, the method may further include determining the offline travel distance over a time period, assigning a third value for use of the vehicle in response to the offline travel distance over the time period exceeding a threshold, and displaying the third value on the computing device that hosts the mobile application within the vehicle.
In some examples, the online travel distance may include at least one of a distance traveled by the vehicle while the mobile application is waiting to receive a transportation match, a distance traveled by the vehicle to a transportation requestor pickup location, and a distance traveled by the vehicle to a transportation requestor drop-off location.
In some examples, if the odometer reading from the remote device associated with the vehicle is not received for a portion of a time period, a distance error may be accumulated over the time period, and the distance error may be associated with at least one of the online travel distance and the offline travel distance.
In some examples, the method may further include correcting the distance error associated with the at least one of the online travel distance and the offline travel distance.
In one example, a system may include a non-transitory memory and one or more hardware processors configured to execute instructions from the non-transitory memory to perform operations including determining online data and offline data from a mobile application operating in association with a vehicle of a dynamic matching system. The online data may be determined based on the mobile application being online and the offline data may be determined based on the mobile application being offline, determining travel distance data from a remote device associated with the vehicle, aggregating at least a portion of the online data, at least a portion of the offline data, and at least a portion of the travel distance data, generating data associated with the aggregation of the portion of the online data, the portion of the offline data, and the portion of the travel distance data, and causing the mobile application to display the generated data.
In some examples, the data associated with the aggregation of the portion of the online data, the portion of the offline data, and the portion of the travel distance data may include an online travel distance associated with the vehicle and an offline travel distance associated with the vehicle.
In some examples, at least one of the online travel distance and the offline travel distance may include an odometer reading received periodically from the remote device associated with the vehicle.
In some examples, at least one of the online travel distance and the offline travel distance includes distance data received from a computing device that hosts the mobile application within the vehicle.
In some examples, the operations may further include assigning a first value for use of the vehicle based on the online travel distance and assigning a second value for use of the vehicle based on the offline travel distance.
In some examples, the operations may further include displaying at least one of the first value for use of the vehicle and the second value for use of the vehicle on the computing device that hosts the mobile application within the vehicle.
In some examples, the operations may further include determining the offline travel distance over a time period, assigning a third value for use of the vehicle in response to the offline travel distance over the time period exceeding a threshold, and displaying the third value on the computing device that hosts the mobile application within the vehicle.
In some examples, the online travel distance may include at least one of a distance traveled by the vehicle while the mobile application is waiting to receive a transportation match, a distance traveled by the vehicle to a transportation requestor pickup location, and a distance traveled by the vehicle to a transportation requestor drop-off location.
In some examples, if the odometer reading from the remote device associated with the vehicle is not received for a portion of a time period, a distance error may be accumulated over the time period, and the distance error may be associated with at least one of the online travel distance and the offline travel distance.
In some examples, the operations may further include correcting the distance error associated with the at least one of the online travel distance and the offline travel distance.
In one example, a non-transitory computer-readable storage medium may include computer-readable instructions that, when executed by at least one processor of a computing device, cause the computing device to determine online data and offline data from a mobile application operating in association with a vehicle of a dynamic matching system. The online data may be determined based on the mobile application being online and the offline data may be determined based on the mobile application being offline, determine travel distance data from a remote device associated with the vehicle, aggregate at least a portion of the online data, at least a portion of the offline data, and at least a portion of the travel distance data, generate data associated with the aggregation of the portion of the online data, the portion of the offline data, and the portion of the travel distance data, and cause the mobile application to display the generated data.
As mentioned above, dynamic transportation matching system 810 may communicate with computing devices in each of vehicles 820. The computing devices may be any suitable type of computing device. In some examples, one or more of the computing devices may be integrated into the respective vehicles 820. In some examples, one or more of the computing devices may be mobile devices. For example, one or more of the computing devices may be smartphones. Additionally or alternatively, one or more of the computing devices may be tablet computers, personal digital assistants, or any other type or form of mobile computing device. According to some examples, one or more of the computing devices may include wearable computing devices (e.g., a driver-wearable computing device), such as smart glasses, smart watches, etc. In some examples, one or more of the computing devices may be devices suitable for temporarily mounting in a vehicle (e.g., for use by a requestor and/or provider for a transportation matching application, a navigation application, and/or any other application suited for the use of requestors and/or providers). Additionally or alternatively, one or more of the computing devices may be devices suitable for installing in a vehicle and/or may be a vehicle's computer that has a transportation management system application installed on the computer in order to provide transportation services to transportation requestors and/or communicate with dynamic transportation matching system 810.
As shown in
Additionally, as shown in
Embodiments of the instant disclosure may include or be implemented in conjunction with a dynamic transportation matching system. A transportation matching system may arrange transportation on an on-demand and/or ad-hoc basis by, e.g., matching one or more transportation requestors with one or more transportation providers. For example, a transportation matching system may provide one or more transportation matching services for a networked transportation service, a ridesourcing service, a taxicab service, a car-booking service, an autonomous vehicle service, a personal mobility vehicle service, or some combination and/or derivative thereof. The transportation matching system may include and/or interface with any of a variety of subsystems that may implement, support, and/or improve a transportation matching service. For example, the transportation matching system may include a matching system (e.g., that matches requestors to ride opportunities and/or that arranges for requestors and/or providers to meet), a mapping system, a navigation system (e.g., to help a provider reach a requestor, to help a requestor reach a provider, and/or to help a provider reach a destination), a reputation system (e.g., to rate and/or gauge the trustworthiness of a requestor and/or a provider), a payment system, and/or an autonomous or semi-autonomous driving system. The transportation matching system may be implemented on various platforms, including a requestor-owned mobile device, a computing system installed in a vehicle, a requestor-owned mobile device, a server computer system, or any other hardware platform capable of providing transportation matching services to one or more requestors and/or providers. While various examples provided herein relate to transportation, embodiments of the instant disclosure may include or be implemented in conjunction with a dynamic matching system applied to one or more services instead of and/or in addition to transportation services. For example, embodiments described herein may be used to match service providers with service requestors for any service.
In some embodiments, identity management services 904 may be configured to perform authorization services for requestors and providers and/or manage their interactions and/or data with transportation management system 902. This may include, e.g., authenticating the identity of providers and determining that they are authorized to provide services through transportation management system 902. Similarly, requestors' identities may be authenticated to determine whether they are authorized to receive the requested services through transportation management system 902. Identity management services 904 may also manage and/or control access to provider and/or requestor data maintained by transportation management system 902, such as driving and/or ride histories, vehicle data, personal data, preferences, usage patterns as a ride provider and/or as a ride requestor, profile pictures, linked third-party accounts (e.g., credentials for music and/or entertainment services, social-networking systems, calendar systems, task-management systems, etc.) and any other associated information. Transportation management system 902 may also manage and/or control access to provider and/or requestor data stored with and/or obtained from third-party systems. For example, a requester or provider may grant transportation management system 902 access to a third-party email, calendar, or task management system (e.g., via the user's credentials). As another example, a requestor or provider may grant, through a mobile device (e.g., 916, 920, 922, or 924), a transportation application associated with transportation management system 902 access to data provided by other applications installed on the mobile device. In some examples, such data may be processed on the client and/or uploaded to transportation management system 902 for processing.
In some embodiments, transportation management system 902 may provide ride services 908, which may include ride matching and/or management services to connect a requestor to a provider. For example, after identity management services module 904 has authenticated the identity a ride requestor, ride services module 908 may attempt to match the requestor with one or more ride providers. In some embodiments, ride services module 908 may identify an appropriate provider using location data obtained from location services module 906. Ride services module 908 may use the location data to identify providers who are geographically close to the requestor (e.g., within a certain threshold distance or travel time) and/or who are otherwise a good match with the requestor. Ride services module 908 may implement matching algorithms that score providers based on, e.g., preferences of providers and requestors; vehicle features, amenities, condition, and/or status; providers' preferred general travel direction and/or route, range of travel, and/or availability; requestors' origination and destination locations, time constraints, and/or vehicle feature needs; and any other pertinent information for matching requestors with providers. In some embodiments, ride services module 908 may use rule-based algorithms and/or machine-learning models for matching requestors and providers.
Transportation management system 902 may communicatively connect to various devices through networks 910 and/or 912. Networks 910 and 912 may include any combination of interconnected networks configured to send and/or receive data communications using various communication protocols and transmission technologies. In some embodiments, networks 910 and/or 912 may include local area networks (LANs), wide-area networks (WANs), and/or the Internet, and may support communication protocols such as transmission control protocol/Internet protocol (TCP/IP), Internet packet exchange (IPX), systems network architecture (SNA), and/or any other suitable network protocols. In some embodiments, data may be transmitted through networks 910 and/or 912 using a mobile network (such as a mobile telephone network, cellular network, satellite network, or other mobile network), a public switched telephone network (PSTN), wired communication protocols (e.g., Universal Serial Bus (USB), Controller Area Network (CAN)), and/or wireless communication protocols (e.g., wireless LAN (WLAN) technologies implementing the IEEE 802.12 family of standards, Bluetooth, Bluetooth Low Energy, Near Field Communication (NFC), Z-Wave, and ZigBee). In various embodiments, networks 910 and/or 912 may include any combination of networks described herein or any other type of network capable of facilitating communication across networks 910 and/or 912.
In some embodiments, transportation management vehicle device 918 may include a provider communication device configured to communicate with users, such as drivers, passengers, pedestrians, and/or other users. In some embodiments, transportation management vehicle device 918 may communicate directly with transportation management system 902 or through another provider computing device, such as provider computing device 916. In some embodiments, a requestor computing device (e.g., device 924) may communicate via a connection 926 directly with transportation management vehicle device 918 via a communication channel and/or connection, such as a peer-to-peer connection, Bluetooth connection, NFC connection, ad hoc wireless network, and/or any other communication channel or connection. Although
In some embodiments, devices within a vehicle may be interconnected. For example, any combination of the following may be communicatively connected: vehicle 914, provider computing device 916, provider tablet 920, transportation management vehicle device 918, requestor computing device 924, requestor tablet 922, and any other device (e.g., smart watch, smart tags, etc.). For example, transportation management vehicle device 918 may be communicatively connected to provider computing device 916 and/or requestor computing device 924. Transportation management vehicle device 918 may establish communicative connections, such as connections 926 and 928, to those devices via any suitable communication technology, including, e.g., WLAN technologies implementing the IEEE 802.12 family of standards, Bluetooth, Bluetooth Low Energy, NFC, Z-Wave, ZigBee, and any other suitable short-range wireless communication technology.
In some embodiments, users may utilize and interface with one or more services provided by the transportation management system 902 using applications executing on their respective computing devices (e.g., 916, 918, 920, and/or a computing device integrated within vehicle 914), which may include mobile devices (e.g., an iPhone®, an iPad®, mobile telephone, tablet computer, a personal digital assistant (PDA)), laptops, wearable devices (e.g., smart watch, smart glasses, head mounted displays, etc.), thin client devices, gaming consoles, and any other computing devices. In some embodiments, vehicle 914 may include a vehicle-integrated computing device, such as a vehicle navigation system, or other computing device integrated with the vehicle itself, such as the management system of an autonomous vehicle. The computing device may run on any suitable operating systems, such as Android®, iOS®, macOS®, Windows®, Linux®, UNIX®, or UNIX®-based or Linux®-based operating systems, or other operating systems. The computing device may further be configured to send and receive data over the Internet, short message service (SMS), email, and various other messaging applications and/or communication protocols. In some embodiments, one or more software applications may be installed on the computing device of a provider or requestor, including an application associated with transportation management system 902. The transportation application may, for example, be distributed by an entity associated with the transportation management system via any distribution channel, such as an online source from which applications may be downloaded. Additional third-party applications unassociated with the transportation management system may also be installed on the computing device. In some embodiments, the transportation application may communicate or share data and resources with one or more of the installed third-party applications.
As shown in
As shown in
While various embodiments of the present disclosure are described in terms of a networked transportation system in which the ride providers are human drivers operating their own vehicles, in other embodiments, the techniques described herein may also be used in environments in which ride requests are fulfilled using autonomous or semi-autonomous vehicles. For example, a transportation management system of a networked transportation service may facilitate the fulfillment of ride requests using both human drivers and autonomous vehicles. Additionally or alternatively, without limitation to transportation services, a matching system for any service may facilitate the fulfillment of requests using both human drivers and autonomous vehicles.
As detailed above, the computing devices and systems described and/or illustrated herein broadly represent any type or form of computing device or system capable of executing computer-readable instructions, such as those contained within the modules described herein. In their most basic configuration, these computing device(s) may each include at least one memory device and at least one physical processor.
In some examples, the term “memory device” generally refers to any type or form of volatile or non-volatile storage device or medium capable of storing data and/or computer-readable instructions. In one example, a memory device may store, load, and/or maintain one or more of the modules described herein. Examples of memory devices include, without limitation, Random Access Memory (RAM), Read Only Memory (ROM), flash memory, Hard Disk Drives (HDDs), Solid-State Drives (SSDs), optical disk drives, caches, variations or combinations of one or more of the same, or any other suitable storage memory.
In some examples, the term “physical processor” generally refers to any type or form of hardware-implemented processing unit capable of interpreting and/or executing computer-readable instructions. In one example, a physical processor may access and/or modify one or more modules stored in the above-described memory device. Examples of physical processors include, without limitation, microprocessors, microcontrollers, Central Processing Units (CPUs), Field-Programmable Gate Arrays (FPGAs) that implement softcore processors, Application-Specific Integrated Circuits (ASICs), portions of one or more of the same, variations or combinations of one or more of the same, or any other suitable physical processor.
Although illustrated as separate elements, the modules described and/or illustrated herein may represent portions of a single module or application. In addition, in certain embodiments one or more of these modules may represent one or more software applications or programs that, when executed by a computing device, may cause the computing device to perform one or more tasks. For example, one or more of the modules described and/or illustrated herein may represent modules stored and configured to run on one or more of the computing devices or systems described and/or illustrated herein. One or more of these modules may also represent all or portions of one or more special-purpose computers configured to perform one or more tasks.
In addition, one or more of the modules described herein may transform data, physical devices, and/or representations of physical devices from one form to another. Additionally or alternatively, one or more of the modules recited herein may transform a processor, volatile memory, non-volatile memory, and/or any other portion of a physical computing device from one form to another by executing on the computing device, storing data on the computing device, and/or otherwise interacting with the computing device.
In some embodiments, the term “computer-readable medium” generally refers to any form of device, carrier, or medium capable of storing or carrying computer-readable instructions. Examples of computer-readable media include, without limitation, transmission-type media, such as carrier waves, and non-transitory-type media, such as magnetic-storage media (e.g., hard disk drives, tape drives, and floppy disks), optical-storage media (e.g., Compact Disks (CDs), Digital Video Disks (DVDs), and BLU-RAY disks), electronic-storage media (e.g., solid-state drives and flash media), and other distribution systems.
The process parameters and sequence of the steps described and/or illustrated herein are given by way of example only and can be varied as desired. For example, while the steps illustrated and/or described herein may be shown or discussed in a particular order, these steps do not necessarily need to be performed in the order illustrated or discussed. The various exemplary methods described and/or illustrated herein may also omit one or more of the steps described or illustrated herein or include additional steps in addition to those disclosed.
The preceding description has been provided to enable others skilled in the art to best utilize various aspects of the exemplary embodiments disclosed herein. This exemplary description is not intended to be exhaustive or to be limited to any precise form disclosed. Many modifications and variations are possible without departing from the spirit and scope of the instant disclosure. The embodiments disclosed herein should be considered in all respects illustrative and not restrictive. Reference should be made to the appended claims and their equivalents in determining the scope of the instant disclosure.
Unless otherwise noted, the terms “connected to” and “coupled to” (and their derivatives), as used in the specification and claims, are to be construed as permitting both direct and indirect (i.e., via other elements or components) connection. In addition, the terms “a” or “an,” as used in the specification and claims, are to be construed as meaning “at least one of.” Finally, for ease of use, the terms “including” and “having” (and their derivatives), as used in the specification and claims, are interchangeable with and have the same meaning as the word “comprising.”
Claims
1. A computer-implemented method comprising:
- determining, via an electronic device operating in association with a vehicle in communication with a dynamic matching system, online data for the vehicle based on the electronic device indicating an online status associated with communicating with the dynamic matching system;
- determining offline data for the vehicle based on the electronic device indicating an offline status associated with a lack of communication with the dynamic matching system;
- determining an online travel distance and an offline travel distance associated with the vehicle based on the online data and the offline data;
- determining, utilizing telemetry information corresponding to the vehicle, a total distance traveled by the vehicle;
- generating a corrected travel distance that corrects a distance error in the online travel distance or the offline travel distance by:
- comparing the total distance travelled and at least one of the online travel distance or the offline travel distance to determine a distance difference; and
- determining the corrected travel distance based on the distance difference and the online travel distance or the offline travel distance; and
- providing, for display via a provider application of a provider computing device associated with the vehicle, the offline travel distance or the online travel distance corrected for the distance error.
2. The computer-implemented method of claim 1, further comprising:
- determining the online data from the provider computing device; and
- determining the offline data from an additional electronic device different from the provider computing device.
3. The computer-implemented method of claim 2, wherein determining the offline data from the additional electronic device comprises receiving the offline data f rom a telematics unit disposed within the vehicle when information from the provider computing device is unavailable.
4. The computer-implemented method of claim 3, wherein determining the online data comprises:
- receiving a first set of online data from the provider computing device and a second set of online data from the telematics unit; and
- determining the online data by comparing the first set of online data and the second set of online data.
5. The computer-implemented method of claim 1, further comprising determining the corrected travel distance by determining a corrected offline travel distance based on a difference between the total distance travelled and the online travel distance.
6. The computer-implemented method of claim 1, wherein providing, for display via the provider application of the provider computing device associated with the vehicle, the offline travel distance or the online travel distance corrected for the distance error further comprises providing, for display via the provider application, a cost metric based on the corrected travel distance.
7. The computer-implemented method of claim 1, wherein determining the online travel distance comprises monitoring the electronic device to determine at least one of a distance traveled by the vehicle while waiting to receive a transportation match, a distance traveled by the vehicle to a transportation requestor pickup location, or a distance traveled by the vehicle to a transportation requestor drop-off location.
8. A system comprising:
- at least one processor; and
- a non-transitory computer readable storage medium comprising instructions that, when executed by the at least one processor, cause the system to:
- determine, via an electronic device operating in association with a vehicle in communication with a dynamic matching system, online data for the vehicle based on the electronic device indicating an online status associated with communicating with the dynamic matching system;
- determine offline data for the vehicle based on the electronic device indicating an offline status associated with a lack of communication with the dynamic matching system;
- determine an online travel distance and an offline travel distance associated with the vehicle based on the online data and the offline data;
- determine, utilizing telemetry information corresponding to the vehicle, a total distance traveled by the vehicle;
- generate a corrected travel distance that corrects a distance error in the online travel distance or the offline travel distance by:
- comparing the total distance travelled and at least one of the online travel distance or the offline travel distance to determine a distance difference; and
- determining the corrected travel distance based on the distance difference and the online travel distance or the offline travel distance; and
- provide, for display via a provider application of a provider computing device associated with the vehicle, the offline travel distance or the online travel distance corrected for the distance error.
9. The system of claim 8, further comprising instructions that, when executed by the at least one processor, cause the system to:
- determine the online data from the provider computing device; and
- determine the offline data from an additional electronic device different from the provider computing device.
10. The system of claim 9, further comprising instructions that, when executed by the at least one processor, cause the system to determine the offline data from the additional electronic device by receiving the offline data f rom a telematics unit disposed within the vehicle when information from the provider computing device is unavailable.
11. The system of claim 10, further comprising instructions that, when executed by the at least one processor, cause the system to determine the online data by:
- receiving a first set of online data from the provider computing device and a second set of online data from the telematics unit; and
- determining the online data by comparing the first set of online data and the second set of online data.
12. The system of claim 8, further comprising instructions that, when executed by the at least one processor, cause the system to determine the corrected travel distance by determining a corrected offline travel distance based on a difference between the total distance travelled and the online travel distance.
13. The system of claim 8, further comprising instructions that, when executed by the at least one processor, cause the system to provide, for display via the provider application of the provider computing device associated with the vehicle, the offline travel distance or the online travel distance corrected for the distance error by providing, for display via the provider application, a cost metric based on the corrected travel distance.
14. The system of claim 8, further comprising instructions that, when executed by the at least one processor, cause the system to determine the online travel distance by monitoring the electronic device to determine at least one of a distance traveled by the vehicle while waiting to receive a transportation match, a distance traveled by the vehicle to a transportation requestor pickup location, or a distance traveled by the vehicle to a transportation requestor drop-off location.
15. A non-transitory computer-readable medium comprising instructions that, when executed by at least one processor of a server device, cause the server device to:
- determine, via an electronic device operating in association with a vehicle in communication with a dynamic matching system, online data for the vehicle based on the electronic device indicating an online status associated with communicating with the dynamic matching system;
- determine offline data for the vehicle based on the electronic device indicating an offline status associated with a lack of communication with the dynamic matching system;
- determine an online travel distance and an offline travel distance associated with the vehicle based on the online data and the offline data;
- determine, utilizing telemetry information corresponding to the vehicle, a total distance traveled by the vehicle;
- generate a corrected travel distance that corrects a distance error in the online travel distance or the offline travel distance by:
- comparing the total distance travelled and at least one of the online travel distance or the offline travel distance to determine a distance difference; and
- determining the corrected travel distance based on the distance difference and the online travel distance or the offline travel distance; and
- provide, for display via a provider application of a provider computing device associated with the vehicle, the offline travel distance or the online travel distance corrected for the distance error.
16. The non-transitory computer-readable medium of claim 15, further comprising instructions that, when executed by the at least one processor, cause the server device to:
- determine the online data from the provider computing device; and
- determine the offline data from an additional electronic device different from the provider computing device.
17. The non-transitory computer-readable medium of claim 16, further comprising instructions that, when executed by the at least one processor, cause the server device to determine the offline data f rom the additional electronic device by receiving the offline data from a telematics unit disposed within the vehicle when information from the provider computing device is unavailable.
18. The non-transitory computer-readable medium of claim 17, further comprising instructions that, when executed by the at least one processor, cause the server device to determine the online data by:
- receiving a first set of online data from the provider computing device and a second set of online data from the telematics unit; and
- determining the online data by comparing the first set of online data and the second set of online data.
19. The non-transitory computer-readable medium of claim 15, further comprising instructions that, when executed by the at least one processor, cause the server device to determine the corrected travel distance by determining a corrected offline travel distance based on a difference between the total distance travelled and the online travel distance.
20. The non-transitory computer-readable medium of claim 15, further comprising instructions that, when executed by the at least one processor, cause the server device to provide, for display via the provider application of the provider computing device associated with the vehicle, the offline travel distance or the online travel distance corrected for the distance error by providing, for display via the provider application, a cost metric based on the corrected travel distance.
10733672 | August 4, 2020 | Bernstein |
10946862 | March 16, 2021 | Bischoff |
11443351 | September 13, 2022 | Blaisdell |
20190007511 | January 3, 2019 | Rodriguez et al. |
20200062274 | February 27, 2020 | Kowal |
20210080269 | March 18, 2021 | Sharma |
20210090067 | March 25, 2021 | Shah et al. |
20210241369 | August 5, 2021 | Gaudin et al. |
106231110 | December 2016 | CN |
3157923 | April 2001 | JP |
- “How does Uber handle lost of signal”, Posted by u/afterlyfeix Sun, Mar. 22, 2018, 11;48:07 Eastern Daylight Time, reddit.com, 1 page; (Year: 2018).
- Trivedi, Nilesh, “Building movement-aware applications, part 3: real-time tracking-Movement part 3—Real-time”, Mar. 22, 2018, hypertrack.com, 13 pages (Year: 2018).
- Keshavdas M, “School Bus GPS Tracking System: The Best Guide 2020”, Mar. 25, 2019, 68 pages. (Year: 2019).
- “How does Uber handle lost of signal”, Posted by u/afterlyfeix Sun, Mar. 22, 2018, 11;48:07 Eastern Daylight Time, reddit.com, 2 pages (Year: 2018).
- Trivedi, Nilesh, “Building movement-aware applications, part 3: real-time tracking-Movement part 3—Real-time”, Mar. 22, 2018, hypertrack.com, 13 pages, discloses establishing connection from server to device in real-time for the collection and transmitting movement data by using a heartbeat signal. (Year: 2018).
- “Mileage Tracker by MileK) 1.30.1.6098”, uploaded Oct. 5, 2018, apkmorror.com (Year: 2018).
- MyFirmsApp Introduces Its Most Powerful New Mileage Tracker Yet, Posted by MyFirmsApp, Sep. 18, 2018, 9 pages (Year: 2018).
- “AutoSwitch: Autopilot to Switch between Uber/Lyft”, Jan. 11, 2018, 3 pages (Year: 2018).
- U.S. Appl. No. 16/580,224, filed Oct. 4, 2021, Office Action.
- U.S. Appl. No. 16/580,224, filed Aug. 1, 2022, Notice of Allowance.
Type: Grant
Filed: Nov 28, 2022
Date of Patent: Aug 27, 2024
Assignee: Lyft, Inc. (San Francisco, CA)
Inventors: Deanna Ettidale Alwafai (San Francisco, CA), Aastha Bhargava (San Francisco, CA), Erin Catherine Maryak Gray (San Francisco, CA), Yeshwanth Kumaraswamy (San Francisco, CA), Adrian Paul McLean (San Francisco, CA), Londa Fiorella Overbeck (San Francisco, CA)
Primary Examiner: Shannon S Campbell
Assistant Examiner: Freda A Nelson
Application Number: 18/059,096
International Classification: G06Q 10/02 (20120101); G01C 21/34 (20060101); G06Q 10/047 (20230101); G06Q 10/063 (20230101); G06Q 30/0283 (20230101); G06Q 50/40 (20240101);