Roadside service estimates based on wireless vehicle data

The disclosure includes implementations for providing a recommendation to a driver of a second DSRC-equipped vehicle. The recommendation may describe an estimate of how long it would take the second DSRC-equipped vehicle to receive a roadside service from a drive-through business. A method according to some implementations may include receiving, by the second DSRC-equipped vehicle, a Dedicated Short Range Communication message (“DSRC message”) that includes path history data. The path history data may describe a path of a first DSRC-equipped vehicle over a plurality of different times while the first DSRC-equipped vehicle is located in a queue of the drive-through business. The method may include determining delay time data for the second DSRC-equipped vehicle based on the path history data for the first DSRC-equipped vehicle. The delay time data may describe the estimate. The method may include providing the recommendation to the driver. The recommendation may include the estimate.

BACKGROUND

The specification relates to roadside service estimates based on wireless vehicle data. The roadside service estimates may be provided to a connected vehicle that is equipped with Dedicated Short Range Communication.

Research shows that wait times at drive-through businesses is an important problem that affects the satisfaction and spending habits of vehicle drivers. There are few modern technical innovations that are designed to address this problem.

SUMMARY

Described are implementations that include a system and method for providing an estimate of how long it will take for a driver of a vehicle to receive a roadside service (or the delay in receiving a roadside service) using wireless vehicle data included in a Dedicated Short Range Communication (“DSRC”) message.

In some implementations, the DSRC message may be a Basic Safety Message (“BSM”) that is transmitted via DSRC.

In some implementations, the roadside service may include any service provided by a roadside business that includes drive-through (e.g., fuel stations, vehicle dealers that service vehicles, oil change service, tire rotation service, fast food restaurants, banks, automatic teller machines (“ATMs”), car washes, parking lots, etc.).

In some implementations, a DSRC-equipped vehicle may include a vehicle that includes one or more of the following elements: a DSRC transceiver and any software or hardware necessary to encode and transmit a DSRC message; and a DSRC receiver and any software or hardware necessary to receive and decode a DSRC message.

In some implementations, devices other than vehicles may be DSRC-equipped. For example, a roadside unit (“RSU”) or any other communication device may be DSRC-equipped if it includes one or more of the following elements: a DSRC transceiver and any software or hardware necessary to encode and transmit a DSRC message; and a DSRC receiver and any software or hardware necessary to receive and decode a DSRC message.

One general aspect includes a method including: collecting, by a sensor set included in a first DSRC-equipped vehicle, sensor data that describes a plurality of locations of the first DSRC-equipped vehicle at a plurality of different times while the first DSRC-equipped vehicle is located in a queue of a drive-through business that provides a roadside service; building, by the first DSRC-equipped vehicle, path history data based on the sensor data, where the path history data describes a path of the first DSRC-equipped vehicle over the plurality of different times; wirelessly transmitting, by the first DSRC-equipped vehicle, a DSRC message that includes the path history data to a second DSRC-equipped vehicle; receiving the DSRC message by the second DSRC-equipped vehicle; determining, by the second DSRC-equipped vehicle, delay time data based on the path history data included in the DSRC message, where the delay time data describes an estimate of how long it would take the second DSRC-equipped vehicle to receive the roadside service from the drive-through business; and providing, by the second DSRC-equipped vehicle, a recommendation to a driver of the second DSRC-equipped vehicle, where the recommendation describes the estimate of how long it would take the second DSRC-equipped vehicle to receive the roadside service from the drive through business. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.

Implementations may include one or more of the following features. The method where the DSRC message is a basic safety message. The method where the sensor set includes a DSRC-compliant global positioning system (“GPS”) unit. The method where the DSRC message is a basic safety message. Implementations of the described techniques may include hardware, a method or process, or computer software on a computer-accessible medium.

One general aspect includes a method including: receiving, by a second DSRC-equipped vehicle, a DSRC message that includes path history data describing a path of a first DSRC-equipped vehicle over a plurality of different times while the first DSRC-equipped vehicle is located in a queue of a drive-through business that provides a roadside service; determining, by the second DSRC-equipped vehicle, delay time data based on the path history data included in the DSRC message, where the delay time data describes an estimate of how long it would take the second DSRC-equipped vehicle to receive the roadside service from the drive-through business; and providing, by the second DSRC-equipped vehicle, a recommendation to a driver of the second DSRC-equipped vehicle, where the recommendation describes the estimate of how long it would take the second DSRC-equipped vehicle to receive the roadside service from the drive through business. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.

Implementations may include one or more of the following features. The method where the DSRC message is a basic safety message. The method where the path history data describes a plurality of different locations of the first DSRC-equipped vehicle with a lane-level degree of precision. The method where the lane-level degree of precision is accurate to within substantially plus or minus 1.5 meters. The method where the DSRC message is transmitted by the first DSRC-equipped vehicle. The method where the DSRC message is transmitted by a stationary DSRC-enabled communication device. The method where the stationary DSRC-enabled communication device is installed within substantially 1,000 meters of a location of the first DSRC-equipped vehicle while the first DSRC-equipped vehicle is present in the queue so that the stationary DSRC-enabled communication device wirelessly receives the path history data from the first DSRC-equipped vehicle via DSRC communication between the stationary DSRC-enabled communication device and the first DSRC-equipped vehicle. The method where determining the delay time data based on the path history data included in the DSRC message further includes: determining how long the first DSRC-equipped vehicle has been waiting in the queue; determining how far the first DSRC-equipped vehicle has traveled while waiting in the queue; estimating how many vehicles are ahead of the first DSRC-equipped vehicle in the queue; estimating how many vehicles are behind the first DSRC-equipped vehicle in the queue; and determining how long it would take the second DSRC-equipped vehicle to receive the roadside service from the drive through business based on one or more of (1) how long the first DSRC-equipped vehicle has been waiting in the queue, (2) how far the first DSRC-equipped vehicle has traveled while waiting in the queue, (3) how many vehicles are ahead of the first DSRC-equipped vehicle in the queue and (4) how many vehicles are behind the first DSRC-equipped vehicle in the queue. The method where the path history data further describes (1) how long the first DSRC-equipped vehicle has been waiting in the queue, (2) how far the first DSRC-equipped vehicle has traveled while waiting in the queue, (3) a first estimate of how many vehicles are ahead of the first DSRC-equipped vehicle in the queue and (4) a second estimate of how many vehicles are behind the first DSRC-equipped vehicle in the queue. The method where the DSRC message includes the delay time data. The method where providing the recommendation includes cause a monitor to display a graphical user interface that graphically describes the recommendation. The method where providing the recommendation includes causing a speaker to generate audio that audibly describes the recommendation. Implementations of the described techniques may include hardware, a method or process, or computer software on a computer-accessible medium.

One general aspect includes a system including: a DSRC receiver of a second DSRC-equipped vehicle that is operable to receive a DSRC message that includes path history data describing a path of a first DSRC-equipped vehicle over a plurality of different times while the first DSRC-equipped vehicle is located in a queue of a drive-through business that provides a roadside service; an onboard vehicle computer system of the second DSRC-equipped vehicle that is communicatively coupled to the DSRC receiver to receive the path history data from the DSRC receiver, the onboard vehicle computer system including a non-transitory memory storing computer code which, when executed by the onboard vehicle computer system causes the onboard vehicle computer system to: determine delay time data based on the path history data, where the delay time data describes an estimate of how long it would take the second DSRC-equipped vehicle to receive the roadside service from the drive-through business; and provide a recommendation to a driver of the second DSRC-equipped vehicle, where the recommendation describes the estimate of how long it would take the second DSRC-equipped vehicle to receive the roadside service from the drive through business. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.

Implementations may include one or more of the following features. The system where the DSRC message is a basic safety message. The system where the path history data describes a plurality of different locations of the first DSRC-equipped vehicle with a lane-level degree of precision. The system where the lane-level degree of precision is accurate to within substantially plus or minus 1.5 meters. The system where the DSRC message is transmitted by the first DSRC-equipped vehicle. The system where the DSRC message is transmitted by a stationary DSRC-enabled communication device. The system where the stationary DSRC-enabled communication device is installed within substantially 1,000 meters of a location of the first DSRC-equipped vehicle while the first DSRC-equipped vehicle is present in the queue so that the stationary DSRC-enabled communication device wirelessly receives the path history data from the first DSRC-equipped vehicle via DSRC communication between the stationary DSRC-enabled communication device and the first DSRC-equipped vehicle. Implementations of the described techniques may include hardware, a method or process, or computer software on a computer-accessible medium.

DETAILED DESCRIPTION

Assume that a vehicle is traveling down a roadway. The driver of the vehicle may desire to stop at a roadside business to receive a service. For example, the driver may desire to stop at a drive-through restaurant to purchase a meal. However, the driver may be unsure about whether they should stop at this drive-through business. For example, they may have an appointment to keep and have uncertainty about whether stopping at this drive-through restaurant will cause them to be late for their meeting. Currently the driver must usually make a guess about whether they have time to stop at the drive-through restaurant. Research shows that most driver's will choose to skip stopping at the drive-through business in these situations.

Vehicles are increasingly equipped with Dedicated Short Range Communication (“DSRC”). A vehicle equipped with DSRC may be referred to as “DSRC-equipped.” A DSRC-equipped vehicle may include a DSRC antenna and any hardware of software necessary to send and receive DSRC messages, generate DSRC messages and read DSRC messages. For example, a DSRC-equipped vehicle may include any hardware or software necessary to receive a DSRC message, retrieve data included in the DSRC message and read the data included in the DSRC message.

In some implementations, the roadside service estimation system described herein may assist a driver of a DSRC-equipped vehicle to determine whether to stop at a drive-through business using information encoded in one or more DSRC messages.

There are many types of DSRC messages. One type of DSRC message is known as a Basic Safety Message (“BSM” if singular or “BSMs” if plural). DSRC-equipped vehicles broadcast a BSM at a regular interval. The interval may be user adjustable.

A BSM includes BSM data. The BSM data describes attributes of the vehicle that originally transmitted the BSM message. Vehicles equipped with DSRC may broadcast BSMs at an adjustable rate. In some implementations, the rate may be once every 0.10 seconds. The BSM includes BSM data that describes, among other things, one or more of the following: (1) the path history of the vehicle that transmits the BSM; (2) the speed of the vehicle that transmits the BSM; and (3) the global positioning system data (“GPS data”) describing a location of the vehicle that transmits the BSM.FIGS. 4A and 4Bdepict examples of BSM data according to some implementations.FIGS. 4A and 4Bare described below.

In some implementations, DSRC-equipped vehicles may probe other DSRC-equipped vehicles/devices along the roadway for information describing their current and future conditions, including their path history and future path. This information is described as “DSRC probe data.” DSRC probe data may include any data received via a DSRC probe or responsive to a DSRC probe.

A DSRC message may include DSRC-based data. The DSRC-based data may include BSM data or DSRC probe data. In some implementations, the DSRC-based data included in a DSRC message may include BSM data or DSRC probe data received from a plurality of DSRC-equipped vehicles (or other DSRC-equipped devices). This BSM data or DSRC probe data may include an identifier of its source and the location of the source or any traffic events described by the BSM data or DSRC probe data.

In some implementations, the DSRC-enabled vehicles will include a DSRC-compliant GPS unit. The BSM data or DSRC probe data may specify which lane a vehicle is traveling in as well as its speed of travel and path history. The lane may include a lane of a drive-through business.

Vehicles are also increasingly manufactured to include GPS-based navigation systems. A GPS-based navigation system may provide navigation routes to a driver that are based on GPS data and knowledge about queue lengths along roadways.

Described herein are implementations of a roadside service estimation system for providing an estimate of how long it will take for a driver of a vehicle to receive a roadside service (or the delay in receiving a roadside service) using wireless vehicle data that is included in a DSRC message.

In some implementations, the roadside service may include any service provided by a roadside business that includes drive-through (e.g., fuel stations, vehicle dealers that service vehicles, oil change service, tire rotation service, fast food restaurants, banks, ATMs, car washes, parking lots, etc.).

Research shows that wait times at drive-through businesses are an important problem that affects the satisfaction and spending habits of drivers. The roadside service estimation system described herein solves this problem using information included in a wireless message such as a DSRC message. The DSRC message may be a standard DSRC message, a DSRC probe or a BSM.

Example Path History Data

Assume a DSRC-equipped vehicle is waiting in line at a drive-through. The DSRC-equipped vehicle may record path history data describing a path history of the DSRC-equipped vehicle while waiting in line.

In some implementations, the path history data may describe one or more of the following: (1) how long the DSRC-equipped vehicle has been waiting in line; (2) how far the DSRC-equipped vehicle has traveled during the entire time period it has been waiting in line; (3) how far the DSRC-equipped vehicle has traveled in line during some fixed time period configured to capture recent changes in queue speed (e.g., 10 seconds, 11 seconds, etc.); (4) an estimate of how many vehicles are ahead of the DSRC-equipped vehicle in line (e.g., the DSRC-equipped vehicle may include cameras that can take external pictures of the vehicle environment that may be used to determine how many vehicles are ahead of the DSRC-equipped vehicle in line); (5) an estimate of how many vehicles are behind the DSRC-equipped vehicle in line (e.g., the DSRC-equipped vehicle may include cameras that can take external pictures of the vehicle environment that may be used to determine how many vehicles are behind the DSRC-equipped vehicle in line); (6) a unique identifier of the drive-through business (this may be determined by cross-reference GPS data received from a DSRC-compliant GPS unit and a local directory of the vehicle navigation system); and (7) data describing the trajectory of the DSRC-equipped vehicle over the most recent 300 meters (approximately) and the time at which the DSRC-equipped vehicle was at various points on that trajectory.

In some implementations, the path history data may include information that may be used by the roadside service estimation system to determine one or more of the following: (1) how long the DSRC-equipped vehicle has been waiting in line; (2) how far the DSRC-equipped vehicle has traveled during the entire time period it has been waiting in line; (3) how far the DSRC-equipped vehicle has traveled in line during some fixed time period configured to capture recent changes in queue speed (e.g., 10 seconds, 11 seconds, etc.); (4) an estimate of how many vehicles are ahead of the DSRC-equipped vehicle in line (e.g., the DSRC-equipped vehicle may include cameras that can take external pictures of the vehicle environment that may be used to determine how many vehicles are ahead of the DSRC-equipped vehicle in line); (5) an estimate of how many vehicles are behind the DSRC-equipped vehicle in line (e.g., the DSRC-equipped vehicle may include cameras that can take external pictures of the vehicle environment that may be used to determine how many vehicles are behind the DSRC-equipped vehicle in line); (6) a unique identifier of the drive-through business (this may be determined by cross-reference GPS data received from a DSRC-compliant GPS unit and a local directory of the vehicle navigation system); and (7) data describing the trajectory of the DSRC-equipped vehicle over the most recent 300 meters (approximately) and the time at which the DSRC-equipped vehicle was at various points on that trajectory.

In some implementations, the path history data may be an element of the BSM data described below with reference toFIGS. 4A and 4B. The BSM data may be included in a BSM. The BSM may be transmitted or broadcasted via DSRC.

In some implementations, one or more of the elements of the BSM data may be included in a DSRC message. For example, a DSRC message may include the path history data for a DSRC-equipped vehicle.

Example Overview

FIGS. 1A through 1Dare block diagrams illustrating example operating environments100,111,112,113for a roadside service estimation system199according to some implementations.

Referring toFIG. 1A, the operating environment100may include one or more of the following elements: a first DSRC-equipped vehicle123A; a second DSRC-equipped vehicle123B; a delay time estimation system198; and a delay time server103. These elements of the operating environment100may be communicatively coupled to a network105.

The first DSRC-equipped vehicle123A and the second DSRC-equipped vehicle123B may include the same or similar elements. The first DSRC-equipped vehicle123A and the second DSRC-equipped vehicle123B may be referred to collectively as “the DSRC-equipped vehicles123” or individually as “the DSRC-equipped vehicle123.”

The DSRC-equipped vehicle123may include a car, a truck, a sports utility vehicle, a bus, a semi-truck, a drone or any other roadway-based conveyance. In some implementations, the DSRC-equipped vehicle123may include an autonomous vehicle or a semi-autonomous vehicle.

The DSRC-equipped vehicle123may include one or more of the following elements: a roadside service estimation system199; a DSRC-compliant GPS unit170; a path history module180; and a DSRC module190. The DSRC-equipped vehicle123may further include a non-transitory memory (not pictured) that stores one or more of the following elements: DSRC data194; BSM data195; path history data196; delay time data197; the roadside service estimation system199; the DSRC-compliant GPS unit170; the path history module180; and the DSRC module190.

Although not pictured inFIG. 1A, in some implementations the DSRC-equipped vehicle123may include an onboard vehicle computer system that is communicatively coupled to the roadside service estimation system199and the non-transitory memory. The onboard vehicle computer system may be operable to cause or control the operation of the roadside service estimation system199. The onboard computer system may be operable to access and execute the data stored on the non-transitory memory. For example, the onboard computer system may be operable to access and execute one or more of the following: the roadside service estimation system199; the DSRC-compliant GPS unit170; the path history module180; the DSRC module190; the DSRC data194; the BSM data195; the path history data196; and the delay time data197.

The DSRC-equipped vehicle123may be on a roadway or waiting in a queue of a drive-through business. The functionality of the roadside service estimation system199may vary based on whether the DSRC-equipped vehicle123is present on a roadway or waiting in the queue of the drive-through business.

Assume the DSRC-equipped vehicle123is present in the queue of the drive-through business. In some implementations, the roadside service estimation system199may build a wireless message that includes any data that is needed for another DSRC-equipped vehicle123to provide a driver with a recommendation about whether they should stop at this drive-through business. For example, the roadside service estimation system199may include code and routines that are operable to build a wireless message that includes the path history data196. The wireless message may include a DSRC message, a DSRC probe or a BSM.

Assume the DSRC-equipped vehicle123is present on the roadway. The roadside service estimation system199may include code and routines that are operable to provide a recommendation based on path history data196included in a wireless message that is received by the DSRC-equipped vehicle123. The recommendation may describe an estimate of how long it would take to receive a service (which may include one or more goods) from a roadside business. The wireless message may include a DSRC message, a DSRC probe, a BSM or some other wireless message. The roadside service estimation system199may provide the recommendation to a driver of the DSRC-equipped vehicle123.

The roadside service estimation system199may determine the recommendation based on the path history data196included in the wireless message. For example, the roadside service estimation system199may generate the delay time data197based on the path history data196. The roadside service estimation system199may determine the recommendation based on the delay time data197.

In some implementations, the roadside service estimation system199may be implemented using hardware including a field-programmable gate array (“FPGA”) or an application-specific integrated circuit (“ASIC”). In some other implementations, the roadside service estimation system199may be implemented using a combination of hardware and software. The roadside service estimation system199may be stored in a combination of the devices (e.g., servers or other devices), or in one of the devices.

The roadside service estimation system199is described in more detail below with reference toFIG. 2.

The DSRC-compliant GPS unit170may include hardware that wirelessly communicates with a GPS satellite to retrieve GPS data that describes a location of the DSRC-equipped vehicle123. In some implementations, a DSRC-compliant GPS unit170is operable to provide GPS data that describes the location of the DSRC-equipped vehicle123to a lane-level degree of precision. The DSRC standard requires that GPS data be precise enough to infer if two vehicles (such as DSRC-equipped vehicle123and another vehicle on the same roadway as the DSRC-equipped vehicle123) are in the same lane. The lane may be a lane of a drive-through such as those depicted inFIGS. 1B, 1C and 1D. The DSRC-compliant GPS unit170may be operable to identify, monitor and track its two-dimensional position within 1.5 meters of its actual position 68% of the time under an open sky. Since lanes of a roadway (or a drive-through lane) are typically no less than 3 meters wide, whenever the two dimensional error of the GPS data is less than 1.5 meters the roadside service estimation system199may analyze the GPS data provided by the DSRC-compliant GPS unit170and determine what lane of the roadway (or drive-through) the DSRC-equipped vehicle123is traveling in based on the relative positions of vehicles on the roadway (or in the drive-through).

For example, referring now toFIG. 1B, the roadside service estimation system199may analyze the GPS data generated by the DSRC-compliant GPS unit170included in the first DSRC-equipped vehicle123A and determine that the first DSRC-equipped vehicle123A is traveling in the drive through of the drive-through business150based on the GPS data for the first DSRC-equipped vehicle123A. By comparison, a GPS unit which is not compliant with the DSRC standard is far less accurate than the DSRC-compliant GPS unit170and not capable of reliably providing lane-level accuracy, as is the DSRC-compliant GPS unit170. For example, a non-DSRC-compliant GPS unit may have an accuracy on the order of 10 meters, which is not sufficiently precise to provide the lane-level degree of precision provided by the DSRC-compliant GPS unit170. For example, since a lane may be as narrow as 3 meters wide, the DSRC standard may require a DSRC-compliant GPS unit170to have an accuracy on the order of 1.5 meters, which is significantly more precise than a non-DSRC-compliant GPS unit as described above. As a result, a non-DSRC-compliant GPS unit may not be able to provide GPS data that is accurate enough for the roadside service estimation system199to generate accurate path history data196for the first DSRC-equipped vehicle123A. The imprecision of a non-DSRC-compliant GPS unit may render the functionality of the roadside service estimation system199inoperable.

Referring now toFIG. 1A, in some implementations the GPS data retrieved by the DSRC-compliant GPS unit170may be an element of the path history data196, the DSRC data194or the BSM data195. Optionally, the GPS data may be stored as sensor data or some other data on the non-transitory memory of the DSRC-equipped vehicle123A.

In some implementations, the GPS data may be an independent element that is stored on the non-transitory memory of the DSRC-equipped vehicle123A (see, e.g., GPS data297depicted inFIG. 2).

Still referring toFIG. 1A, the path history module180may include code and routines that are operable to generate the path history data196. For example, the DSRC-equipped vehicle123A may include a sensor set182. The sensor set182may include one or more sensors. The sensor set182may collect sensor data (see, e.g., sensor data296depicted inFIG. 2). The sensor data may describe, for example, the position of the DSRC-equipped vehicle123A at a plurality of different times, how long the DSRC-equipped vehicle123A has been in a queue of a drive-through, how far the DSRC-equipped vehicle123A has traveled since entering the queue, how far the DSRC-equipped vehicle123A has moved during some time interval, how many vehicles are ahead of the DSRC-equipped vehicle123A in the queue or an estimate of the same, how many vehicles are behind the DSRC-equipped vehicle123A in the queue or an estimate of the same, the average speed of the DSRC-equipped vehicle123A while waiting in the queue, etc.

In some implementations, the path history module180may analyze one or more of the sensor data and the GPS data. The path history module180may generate the path history data196based on one or more of the sensor data and the GPS data. The GPS data may be an element of the sensor data. The GPS data may be time stamped. For example, the GPS data may describe the location of the DSRC-equipped vehicle at different points in time.

In some implementations, the path history data196may describe the location of the DSRC-equipped vehicle123A at different points in time. For example, the path history module180may analyze the GPS data that describes the location of the DSRC-equipped vehicle123A with lane-level precision at different points in time. The path history module180may generate the path history data196based in part on the GPS data.

In some implementations, the path history data196may include one or more entries. An entry may describe the location of the DSRC-equipped vehicle at a point in time.

In some implementations, each entry in the path history data196may include a data set formed from a location/time pair, i.e., (location, time). The location included in each data set may be the GPS coordinates of the DSRC-equipped vehicle123A at a given time. The time included in each data set may optionally be a Universal Time value (UT) that is common to all systems and subsystems that use the path history data196.

A first DSRC-equipped vehicle123A may be present on a roadway. The first DSRC-equipped vehicle123A may receive a wireless message such as a DSRC message, DSRC probe, BSM or some other wireless message. The wireless message may include path history data196for another device such as a second DSRC-equipped vehicle123B that is present in a drive-through of a drive-through business. The second DSRC-equipped vehicle123B may be waiting in a queue of the drive-through to receive a roadside service from the drive-through business. The path history data196may describe one or more locations of the second DSRC-equipped vehicle123B at one or more points in time. The roadside service estimation system199of the first DSRC-equipped vehicle123A may generate delay time data197based on the path history data196of the second DSRC-equipped vehicle123B. The delay time data197may describe an estimate of how long the delay will be if the first DSRC-equipped vehicle123A enters the same queue as the second DSRC-equipped vehicle123B. The roadside service estimation system199may provide a recommendation to a driver of the first DSRC-equipped vehicle123A based on the delay time data197. The recommendation may describe the estimate of how long the delay will be if the first DSRC-equipped vehicle123A enters the queue for the drive-through business.

The sensor set182may include one or more sensors that are operable to measure the physical environment outside of the DSRC-equipped vehicle123. For example, the sensor set182may record one or more physical characteristics of the physical environment that is proximate to the DSRC-equipped vehicle123.

In some implementations, the sensor set182may include one or more of the following vehicle sensors: a camera; a LIDAR sensor; a laser altimeter; a navigation sensor (e.g., a global positioning system sensor of the DSRC-compliant GPS unit170); an infrared detector; a motion detector; a thermostat; a sound detector, a carbon monoxide sensor; a carbon dioxide sensor; an oxygen sensor; a mass air flow sensor; an engine coolant temperature sensor; a throttle position sensor; a crank shaft position sensor; an automobile engine sensor; a valve timer; an air-fuel ratio meter; a blind spot meter; a curb feeler; a defect detector; a Hall effect sensor, a manifold absolute pressure sensor; a parking sensor; a radar gun; a speedometer; a speed sensor; a tire-pressure monitoring sensor; a torque sensor; a transmission fluid temperature sensor; a turbine speed sensor (TSS); a variable reluctance sensor; a vehicle speed sensor (VSS); a water sensor; a wheel speed sensor; and any other type of automotive sensor.

The sensor set182may be operable to record sensor data that describes one or more locations of the DSRC-equipped vehicle123A at one or more different times. An example of the sensor data is depicted inFIG. 2as sensor data296.

The DSRC module190may include a DSRC antenna. The DSRC antenna may include a DSRC transceiver and a DSRC receiver. The DSRC module190may be configured to broadcast a BSM at some fixed interval (every 10 to 15 seconds) that is user configurable.

In some implementations, the DSRC module190is an element of a communication unit245that is described in more detail below with reference toFIG. 2.

The DSRC data194may include any data that is included or encoded in a DSRC message or a DSRC probe. The DSRC data194may include one or more of the following: one or more elements of the BSM data195; the path history data196; and the delay time data197.

In some implementations, the DSRC data194may include BSM data195, path history data196or delay time data197that is received from other DSRC-equipped vehicles123. For example, the DSRC-equipped vehicle123A may receive DSRC messages from other DSRC-equipped vehicles123B that describes the path history data196of these other DSRC-equipped vehicles123B and this information may be aggregated for retransmission to other DSRC-equipped devices.

The BSM data195may include any data that is included or encoded in a BSM. The BSM data195is described in more detail below with reference toFIGS. 4A and 4B.

Although not depicted inFIG. 1A, in some implementations the DSRC-equipped vehicle123may include a full-duplex coordination system as described in U.S. patent application Ser. No. 14/471,387 filed on Aug. 28, 2014 and entitled “Full-Duplex Coordination System,” the entirety of which is herein incorporated by reference.

In some implementations, the full-duplex coordination system of the DSRC-equipped vehicle123may receive a full-duplex wireless message that includes path history data196. The roadside service estimation system199may determine delay time data197based on the path history data196.

The DSRC-equipped vehicle123A may be communicatively coupled to the network105.

The network105may be a conventional type, wired or wireless, and may have numerous different configurations including a star configuration, token ring configuration, or other configurations. Furthermore, the network105may include a local area network (LAN), a wide area network (WAN) (e.g., the Internet), or other interconnected data paths across which multiple devices and/or entities may communicate. In some implementations, the network105may include a peer-to-peer network. The network105may also be coupled to or may include portions of a telecommunications network for sending data in a variety of different communication protocols. In some implementations, the network105includes Bluetooth® communication networks or a cellular communications network for sending and receiving data including via short messaging service (SMS), multimedia messaging service (MMS), hypertext transfer protocol (HTTP), direct data connection, wireless application protocol (WAP), e-mail, DSRC, full-duplex wireless communication, etc. The network105may also include a mobile data network that may include third-generation (3G), fourth-generation (4G), long-term evolution (LTE), Voice-over-LTE (“VoLTE”) or any other mobile data network or combination of mobile data networks. Further, the network105may include one or more IEEE 802.11 wireless networks.

In some implementations, the network105may include one or more communication channels shared among the DSRC-equipped vehicle123and one or more other wireless communication devices (e.g., other vehicles123, an RSU, the delay time estimation system198, the delay time server103, etc.). The communication channel may include DSRC, full-duplex wireless communication or any other wireless communication protocol. For example, the network105may be used to transmit a DSRC message, DSRC probe or BSM to a DSRC-equipped vehicle123.

The delay time server103may include a hardware server. The delay time server103may be communicatively coupled to the network105. The delay time server103may include network communication capabilities. The delay time server103may be operable to send and receive messages via the network105.

In some implementations, the first DSRC-equipped vehicle123A may provide the path history data196to the delay time server103via the network105. For example, the DSRC-equipped vehicle123A may transmit a wireless message to the delay time server103via the network105. The wireless message may include the path history data196for the first DSRC-equipped vehicle123A, and possible other DSRC-equipped vehicles that have transmitted their path history data196to the first DSRC-equipped vehicle123A. One or more other DSRC-equipped vehicles may also transmit their path history data196to the delay time server103via the network105. The delay time server103may store and aggregate the path history data196received via the network105in a non-transitory memory to form the aggregated path history data131.

The aggregated path history data131may include one or more sets of path history data196for one or more

The aggregated path history data131may include one or more sets of path history data196. The delay time estimation system198may include code and routines that are operable to receive the aggregated path history data131and output one or more sets of delay time data133. The one or more sets of delay time data133may include a set of delay time data (similar to the delay time data197) for each set of path history data196included in the aggregated path history data131. The delay time server103may provide the one or more sets of delay time data (similar to the delay time data197) to one or more vehicles such as the DSRC-equipped vehicles123or one or more non-DSRC-equipped vehicles that include network communication capabilities so that they are operable to receive a set of delay time data133from the delay time server103via the network105.

In some implementations, the delay time data transmitted to the vehicles via the network105may be configured for the vehicle that receives the delay time data by the delay time estimation system198. For example, the delay time estimation system198may receive a request for delay time data from a vehicle. The request may include GPS data describing a location of the vehicle. The path history data196included in the aggregated path history data131may include GPS data that is within a predetermined range of the vehicle (e.g., 10 meters, 100 meters, half a mile, 1 mile, etc.). The delay time estimation system198may include code and routines that are operable to receive the request, determine the location of the vehicle based on the GPS data included in the request and identify one or more sets of path history data196in the aggregated path history data131that is relevant to the request based on the GPS data included in the aggregated path history data131. The delay time estimation system198may determine a set of delay time data133for the request based on the one or more sets of path history data196included in the aggregated path history data131that were determined to be relevant to the request. The delay time estimation system198may determine the set of delay time data133similar to how the roadside service estimation system199determines the delay time data197based on the path history data196. The delay time estimation system198may respond to the request by transmitting a message that includes the set of delay time data133that is responsive to the request. The vehicle may include a roadside service estimation system199. The roadside service estimation system199may provide the driver of the vehicle with a recommendation about whether to enter a drive through of a drive-through business based on the set of delay time data133received from the delay time server103via the network105. One or more implementations of this process are described in more detail below with reference toFIG. 1C.

In this way the delay time estimation system198may provide delay time data197for one or more vehicles. These vehicles may be DSRC-equipped or non-DSRC-equipped vehicles that include network communication capabilities and are operable to receive a wireless message that includes the set of delay time data133.

In some implementations the delay time estimation system198may be deployed as a static hardware device (e.g., a RSU) that is within DSRC range (e.g., substantially 1000 meters) of a DSRC-equipped vehicle123that is present in a drive through of a drive through business. In this way the delay time estimation system198may be deployed without the use of a delay time server103. One or more implementations of this process are described in more detail below with reference toFIG. 1D.

In some implementations, the second DSRC-equipped vehicle123B may include elements that are similar to the first DSRC-equipped vehicle123A, and so, those descriptions will not be repeated here. The operating environment may include a plurality of DSRC-equipped vehicles123that each include a roadside service estimation system199and other elements that are similar to those described above for the first DSRC-equipped vehicle123A. An example of an operating environment including a plurality of DSRC-equipped vehicles123that each include a roadside service estimation system199and other elements that are similar to those described above for the first DSRC-equipped vehicle123A is shown inFIG. 1B.

Referring now toFIG. 1B, depicted is a block diagram illustrating an example operating environment111for a plurality of DSRC-equipped vehicles123A,123B,123C including a roadside service estimation system199(e.g., a first roadside service estimation system199A, a second roadside service estimation system199B and a third roadside service estimation system199C, respectively, for each of the DSRC-equipped vehicles123A,123B,123C), according to some implementations. Each of the DSRC-equipped vehicles123A,123B,123C may include elements that are similar to those described above for the first DSRC-equipped vehicle123A, and so, those descriptions will not be repeated here.

In some implementations, the DSRC-equipped vehicles123A,123B,123C may be of the same make (e.g., Toyota) so that the functionality described herein is only available to DSRC-equipped vehicles123A,123B,123C of that make.

The operating environment111may also include a plurality of non-DSRC-equipped vehicles122A,122B and122C. These vehicles122A,122B,122C may include a car, bus, semi-truck, drone, or any other conveyance that is configured to operate on a roadway. These vehicles122A,122B,122C may be referred to collectively as “vehicles122” or individually as “a first vehicle122A,” “a second vehicle122B” and “a third vehicle122C.” The vehicles122do not include a DSRC module190or any capability to communicate via DSRC or full-duplex wireless communication.

The operating environment111may include a roadway. In the depicted implementation, the roadway is configured so that traffic using the roadway travels in a substantially north-bound heading or a substantially south-bound heading. In other implementations, the roadway may be configured so that traffic travels in other directions than those depicted inFIG. 1B.

The roadway may include a first lane set109and a second lane set107. The first lane set109may include one or more lanes of traffic that are configured so that traffic traveling in the first lane set109travel in a substantially north-bound heading.

The second lane set107may include one or more lanes of traffic that are configured so that traffic traveling in the second lane set107travel in a substantially south-bound heading.

In the depicted implementation, the roadway includes a drive-through business150including a drive-through entrance114accessible via one or more of the lanes included in the first lane set109. The drive-through business150may include one or more of the following: a fuel station; a vehicle dealer that services vehicles; an oil change service; a tire rotation service; a restaurant; a fast-food restaurant; a bank; an ATM; a car wash; a parking lot; and any other business that may include a drive-through191.

The drive-through191may include one or more lanes which are accessible by one or more DSRC-equipped vehicles123or one or more vehicles122that may form a line or a queue to wait for a roadside service from the drive-through business150. The roadside service may include a good (e.g., a hamburger), a service (e.g., banking service, a car was service, a parking space for a period of time) or a combination of goods and a service (e.g., an oil change provides a good in the form of new oil and a new oil filter as well as a service by removing used oil and a used oil filter and replacing them with the new oil and the new oil filter).

In the depicted implementation, the second lane set107may include a third DSRC-equipped vehicle123C and the first lane set109may include a second DSRC-equipped vehicle123B. The drive-through may include a queue that includes the first DSRC-equipped vehicle123A. A driver of the second DSRC-equipped vehicle123B may be interested in entering the queue of the drive-through191to receive the roadside service offered by the drive-through business150. Similarly, a driver of the third DSRC-equipped vehicle123C may also be interested in entering the queue of the drive-through191to receive the roadside service offered by the drive-through business150. The first DSRC-equipped vehicle123A may have been present in the queue for a period of time. The first DSRC-equipped vehicle123A may have generated path history data196that describes that period of time and the location of the first DSRC-equipped vehicle123A at different points in time during that time period.

In some implementations, the first DSRC-equipped vehicle123A may transmit a first wireless message120A to the second DSRC-equipped vehicle123B. The first wireless message120A include a BSM, DSRC message, DSRC probe or any other DSRC-based wireless message. In some implementations, the first wireless message120A may include a full-duplex wireless message. The first wireless message120A will be either a DSRC-based message (e.g., a BSM, DSRC message or a DSRC probe) or a full-duplex wireless message as described in U.S. patent application Ser. No. 14/471,387 filed on Aug. 28, 2014 and entitled “Full-Duplex Coordination System.”

The first wireless message120A may include the path history data196. For example, the first wireless message may include a BSM that includes the path history data196for the first DSRC-equipped vehicle123A.

The second DSRC-equipped vehicle123B may receive the first wireless message120A. In this way, the roadside service estimation system199of the second DSRC-equipped vehicle123B may receive the path history data196for the first DSRC-equipped vehicle123A and provide the driver of the second DSRC-equipped vehicle123B with a recommendation that describes an estimate of how long it will take the driver to receive the roadside service from the drive-through business150if the second DSRC-equipped vehicle123B enters the queue for the drive-through191that is accessible via the drive-through entrance114.

The second wireless message120B may include features similar to the first wireless message120A, and so, that description will not be repeated here. The third DSRC-equipped vehicle123C may receive the second wireless message120B. In this way, the roadside service estimation system199of the third DSRC-equipped vehicle123C may receive the path history data196for the first DSRC-equipped vehicle123A and provide the driver of the third DSRC-equipped vehicle123C with a recommendation that describes an estimate of how long it will take the driver to receive the roadside service from the drive-through business150if the third DSRC-equipped vehicle123C enters the queue for the drive-through191that is accessible via the drive-through entrance114.

The above-described process for transmitting the first wireless message120A and the second wireless message120B will now be described in more detail according to some implementations.

In some implementations, the first DSRC-equipped vehicle123A may collect sensor data. The sensor data may describe all the information needed to build the path history data196such as the location of the first DSRC-equipped vehicle123A in the lane of the drive-through191at a plurality of times. The first DSRC-equipped vehicle123A may include a first roadside service estimation system199A that builds the path history data196based on the sensor data. Optionally, the first roadside service estimation system199A may update the BSM data195of the first DSRC-equipped vehicle123A to include the path history data196. The first DSRC-equipped vehicle123A may transmit or broadcast a first wireless message120A and a second wireless message120B that includes the path history data196. The first wireless message120A and the second wireless message120B may be of different types. For example, the first wireless message120A may be a BSM that includes the path history data196while the second wireless message may include a full-duplex wireless message or a DSRC probe that includes the path history data196. The second DSRC-equipped vehicle123B may receive the first wireless message120A. The third DSRC-equipped vehicle123C may receive the second wireless message120B.

A second roadside service estimation system199B of the second DSRC-equipped vehicle123B may determine delay time data197based on the path history data196included in the first wireless message120A. The second roadside service estimation system199B may provide a recommendation to the driver of the second DSRC-equipped vehicle123B based on the delay time data197. The recommendation may describe an estimate of how long it will take the driver to receive the roadside service from the drive-through business150if the second DSRC-equipped vehicle123B enters the queue for the drive-through191that is accessible via the drive-through entrance114.

A third roadside service estimation system199C of the third DSRC-equipped vehicle123C may determine delay time data197based on the path history data196included in the second wireless message120B. The third roadside service estimation system199C may provide a recommendation to the driver of the third DSRC-equipped vehicle123C based on the delay time data197. The recommendation may describe an estimate of how long it will take the driver to receive the roadside service from the drive-through business150if the third DSRC-equipped vehicle123C enters the queue for the drive-through191that is accessible via the drive-through entrance114.

In some implementations, the first wireless message120A or the second wireless message120B may include the delay time data197. For example, the first DSRC-equipped vehicle123A may collect sensor data. The sensor data may describe all the information needed to build the path history data196such as the location of the first DSRC-equipped vehicle123A in the lane of the drive-through191at a plurality of times. The first roadside service estimation system199A of the first DSRC-equipped vehicle123A may build the path history data196based on the sensor data. The first roadside service estimation system199A may determine delay time data197based on the path history data197. The first DSRC-equipped vehicle123A may transmit or broadcast a first wireless message120A and a second wireless message120B that includes the delay time data197(and optionally the path history data196). The first wireless message120A and the second wireless message120B may be of different types. For example, the first wireless message120A may be a BSM that includes the delay time data197while the second wireless message may include a full-duplex wireless message or a DSRC probe that includes the delay time data197. The second DSRC-equipped vehicle123B may receive the first wireless message120A. The third DSRC-equipped vehicle123C may receive the second wireless message120B.

The second roadside service estimation system199B of the second DSRC-equipped vehicle123B may determine a recommendation for the driver based on the delay time data197included in the first wireless message120A. The third roadside service estimation system199C of the third DSRC-equipped vehicle123C may determine a recommendation for the driver of the third DSRC-equipped vehicle123C based on the delay time data197included in the second wireless message120B.

In some implementations, the second roadside service estimation system199B or the third roadside service estimation system199C may use confidence factors when determining their recommendation for the driver (or when generating their delay time data197). For example, inFIG. 2only one of the vehicles in the drive-through191includes DSRC, that is the first DSRC-equipped vehicle123A. However, in practice, more than one vehicle in the drive-through191may be DSRC-equipped. In these embodiments, the second roadside service estimation system199B or the third roadside service estimation system199C may determine confidence factors based on how many sets of delay time data197are received and how these sets of delay time data197compare with one another (where an increased number of sets of path history data196corresponds to a higher confidence or a greater degree of similarity among the sets of path history data196may correspond to a higher confidence). The confidence factors may indicate a likelihood that the estimate of delay time described by the delay time data197is correct. The confidence in the estimate may be higher when more DSRC-equipped vehicles123report similar path history data196as it relates to a rate of travel (e.g., feet per minute, feet per second, etc.) while waiting in the drive-through191.

In some implementations, the a DSRC-equipped vehicle123(such as the second DSRC-equipped vehicle123B or the third DSRC-equipped vehicle123C) may be considering entering the drive-through entrance114. The DSRC-equipped vehicle123may receive the wireless message120including the path history data196for the first DSRC-equipped vehicle123A. The path history data196may include a data structure that includes data that provides enough information for the roadside service estimation system199of the DSRC-equipped vehicle123present on the roadway to reconstruct a trajectory of the first DSRC-equipped vehicle123A over the most recent 300 meters (or substantially the most recent 300 meters) and the time at which the first DSRC-equipped vehicle123A was at various points on that trajectory. The time at which the first DSRC-equipped vehicle123A was present a given position may be described by the path history data196with a range of up to substantially 11 minutes (or approximately 660 seconds).

The drive-through191may be curved (as inFIG. 1B) or substantially straight. When the drive-through191is curved, as many are, there may be a rich set of path history points included in the path history data196, thereby providing the second roadside service estimation system199B with a fine granularity of detail that may be used to determine the delay time data197.

Frequently drive-through businesses150may be present on feeder roads that are located adjacent to a freeway. These feeder roads and drive-through businesses may be accessible by vehicles present on the freeway by accessing an exit ramp that leads to the feeder road. The roadway depicted inFIG. 1Bmay be a feeder road that includes the drive-through business150. In some implementations, the first wireless message120A or the second wireless message120B may include a BSM (or some other wireless message) that is received over a range of several hundred meters, so the delay time data197or the recommendation may arrive at the DSRC-equipped vehicle123while this vehicle is still present on the freeway. This may be a time that is before the driver of the DSRC-equipped vehicle123present on the freeway is committed to entering the drive-through191, possibly while the DSRC-equipped vehicle123present on the freeway is still traveling at a high speed on the freeway (e.g., before the DSRC-equipped vehicle123even exits the freeway to access the feeder road that includes the drive-through business150).

In some implementations, the recommendation made based on the delay time data197may be triggered by a prior choice of the driver to navigate to a drive-through business150.

Implementations that may include the operating environment111may beneficially require no servers such as the delay time server103, or the expense and delay associated with the same. These implementations may also require no new standardization since they may utilize any BSM data195from any DSRC-equipped vehicle123.

Referring now toFIG. 1C, depicted is a block diagram illustrating an example operating environment112for a plurality of network-equipped vehicles121A,121B,121C including a roadside service estimation system199(e.g., a first roadside service estimation system199A, a second roadside service estimation system199B and a third roadside service estimation system199C, respectively, for each of the network-equipped vehicles121A,121B,121C), according to some implementations.

The operating environment112depicted inFIG. 1Cincludes the following elements that are similar to those described above for the operating environment111ofFIG. 1B: a first lane set109; a second lane set107; a drive-through191; a drive-through entrance114; a drive-through business150; a first vehicle122A; a second vehicle122B; and a third vehicle122C. These elements were described above with reference toFIG. 1B, and so, those descriptions will not be repeated here.

The operating environment112also includes a network105and a delay time server103. These elements were described above with reference toFIG. 1A, and so, those descriptions will not be repeated here.

In some implementations, the operating environment112includes one or more of the following: a first network-equipped vehicle121A; a second network-equipped vehicle121B; a third network-equipped vehicle121C. These elements of the operating environment112may be collectively as the “network-equipped vehicles121” or individually as “the network-equipped vehicle121” or “the first network-equipped vehicle121A,” “the second network-equipped vehicle121B” and “the third network-equipped vehicle121C.”

A network-equipped vehicle121may include any vehicle that is capable of wirelessly communicating with the network105and includes a roadside service estimation system199. In some implementations, a network-equipped vehicle121may include any vehicle that includes a communication unit245as described below with reference toFIG. 2and a roadside service estimation system199as described herein. In some implementations, one or more of the network-equipped vehicles121may be DSRC-equipped or include a full-duplex coordination system as described in U.S. patent application Ser. No. 14/471,387 filed on Aug. 28, 2014 and entitled “Full-Duplex Coordination System.” In some implementations, the first network-equipped vehicle121A may include a first roadside service estimation system199A, the second network-equipped vehicle121B may include a second roadside service estimation system199B and a third network-equipped vehicle121C may include a third roadside service estimation system199C.

The operating environment112may include one or more implementations of the roadside service estimation system199that may be operable by a vehicle without the vehicle also being required to be DSRC-equipped. In some implementations, one or more of the network-equipped vehicles121may be DSRC-equipped or include a full-duplex coordination system as described in U.S. patent application Ser. No. 14/471,387 filed on Aug. 28, 2014 and entitled “Full-Duplex Coordination System” while other network-equipped vehicles121are not DSRC-equipped and do not include a full-duplex coordination system.

The first network-equipped vehicle121A may transmit a wireless message to the delay time server103via the network105. The wireless message may include the path history data196for the first network-equipped vehicle121A. The delay time server103may then determine the delay time data133. The delay time server103may transmit delay time data133to the second network-equipped vehicle121B or the third network-equipped vehicle121C via the network105.

In some implementations, first network-equipped vehicle121A may collect sensor data. The first network-equipped vehicle121A may build path history data196based on sensor data.

The first network-equipped vehicle121A may transmit the path history data196to the delay time server103via any wireless network (e.g., 3G, 4G, LTE, WiFi connection to the network105via a wireless router of the drive-through business150, etc.).

In some implementations, the delay time server103may receive the path history data196. The delay time server103may determine the delay time data133for the drive-through business150based on the path history data196. The delay time data133may be valid for the drive-through business150for a predetermined period of time. The delay time server103may wirelessly transmit the delay time data133to the second network-equipped vehicle121B or the third network-equipped vehicle121C via the network105.

The second roadside service estimation system199B of the second network-equipped vehicle121B may receive the delay time data133via the network105. The second roadside service estimation system199B may provide a recommendation to the driver of the second network-equipped vehicle121B based on the delay time data133received via the network105. The recommendation may describe how long it will take the driver to receive a roadside service from the drive-through business150should the driver choose to enter the drive-through191.

The third roadside service estimation system199C of the third network-equipped vehicle121C may receive the delay time data133via the network105. The second roadside service estimation system199B may provide a recommendation to the driver of the third network-equipped vehicle121C based on the delay time data133received via the network105. The recommendation may describe how long it will take the driver to receive a roadside service from the drive-through business150should the driver choose to enter the drive-through191.

In some implementations, the network-equipped vehicles121may be of the same make so that only network-equipped vehicles121of this make may benefit from the functionality of the roadside service estimation system199or the delay time server103.

In some implementations, one or more of the network-equipped vehicles121may include a navigation system. The driver of the network-equipped vehicle121may request navigation options for one or more drive-through businesses150. For example, the driver may request options for one or more drive-through businesses150and the navigation system may retrieve options. For each option, the navigation system may cause a display of the network-equipped vehicle121to display one or more of the following: a name of the drive-through business150; a distance from a current location of the network-equipped vehicle121to a location of the drive-through business150; and a recommendation that describes an estimate of a delay time for waiting in the drive-through of the drive-through business150. The navigation system may provide the driver with a list (or some other data structure) that describes this information. The recommendation may be based on the path history data196of one or more network-equipped vehicles121or DSRC-equipped vehicles123that are present at these drive-through businesses150. In this way, the driver may beneficially select an option (i.e., which drive-through business150they want to navigate to) with knowledge of how long their wait time might be based on the path history data196of actual network-equipped vehicles121or DSRC-equipped vehicles123that are or have been present at the selected drive-through business150. The navigation system may then provide navigation instructions to the selected drive-through business150and, optionally, updates about that describe the estimated wait time for the selected drive-through business that are received while navigating to that drive-through business150.

Referring now toFIG. 1D, depicted is a block diagram illustrating an example operating environment113for a plurality of DSRC-equipped vehicles123A,123B,123C including a roadside service estimation system199(e.g., a first roadside service estimation system199A, a second roadside service estimation system199B and a third roadside service estimation system199C, respectively, for each of the DSRC-equipped vehicles123A,123B,123C), according to some implementations.

The delay time estimation system198may include a DSRC-equipped RSU that implements the delay time estimation system198. The delay time estimation system198may be owned, managed or operated by the drive-through business150as a service to potential customers so that they may know an estimate of the wait time in the drive-through191.

The first DSRC-equipped vehicle123A may transmit a wireless message to the delay time estimation system198that includes the path history data196for the first DSRC-equipped vehicle123A.

In some implementations, the delay time estimation system198may transmit a wireless message to the second DSRC-equipped vehicle123B or the third DSRC-equipped vehicle123C that includes one or more of the path history data131or the delay time data133. Optionally, this wireless message may also include data that describes an advertisement for the drive-through business150. For example, the advertisement may include data that describes the menu of services provided by the drive-through business. The advertisement may also describe an offer for the drive-through business150. The offer may be triggered by path history data131or delay time data133that corresponds to a longer wait time. For example, the offer may be configured to encourage drivers to enter the drive-through191even though the estimated wait time for receiving a service is longer than usual or longer than the drive-through business150thinks the customer is ordinarily willing to accept.

In some implementations, the wireless message may be communicated via DSRC, 3G, 4G, LTE, WiFi™, full-duplex wireless messaging, etc. For example, the delay time estimation system198and one or more of the second DSRC-equipped vehicle123B or the third DSRC-equipped vehicle123C may include a full-duplex coordination system.

Referring now toFIG. 2, depicted is a block diagram illustrating an example computer system200including a roadside service estimation system199according to some implementations.

In some implementations, the computer system200may include a special-purpose computer system that is programmed to perform one or more steps of a method300or a method399described below with reference toFIGS. 3A and 3B.

In some implementations, the computer system200may include a DSRC-equipped vehicle123, a network-equipped vehicle121or any vehicle that includes the roadside service estimation system199.

In some implementations, the computer system200may include an onboard vehicle computer of the DSRC-equipped vehicle123. In some implementations, the computer system200may include an engine control unit, head unit or some other processor-based computing device of the DSRC-equipped vehicle123.

The computer system200may include one or more of the following elements according to some examples: the roadside service estimation system199; a processor225; a communication unit245; the DSRC module190; the sensor set182; the DSRC-compliant GPS unit170; a storage241; and a memory227. The components of the computer system200are communicatively coupled by a bus220.

In the illustrated implementation, the processor225is communicatively coupled to the bus220via a signal line238. The communication unit245is communicatively coupled to the bus220via a signal line246. The DSRC module190is communicatively coupled to the bus220via a signal line247. The sensor set182is communicatively coupled to the bus220via a signal line248. A DSRC-compliant GPS unit170is communicatively coupled to the bus220via a signal line249. The storage241is communicatively coupled to the bus220via a signal line242. The memory227is communicatively coupled to the bus220via a signal line244.

The DSRC module190, the sensor set182and the DSRC-compliant GPS unit170were described above with reference toFIG. 1A, and so, those descriptions will not be repeated here.

The processor225includes an arithmetic logic unit, a microprocessor, a general purpose controller, or some other processor array to perform computations and provide electronic display signals to a display device. The processor225processes data signals and may include various computing architectures including a complex instruction set computer (CISC) architecture, a reduced instruction set computer (RISC) architecture, or an architecture implementing a combination of instruction sets. AlthoughFIG. 2includes a single processor225, multiple processors may be included. Other processors, operating systems, sensors, displays, and physical configurations may be possible.

The memory227stores instructions or data that may be executed by the processor225. The instructions or data may include code for performing the techniques described herein. The memory227may be a dynamic random access memory (DRAM) device, a static random access memory (SRAM) device, flash memory, or some other memory device. In some implementations, the memory227also includes a non-volatile memory or similar permanent storage device and media including a hard disk drive, a floppy disk drive, a CD-ROM device, a DVD-ROM device, a DVD-RAM device, a DVD-RW device, a flash memory device, or some other mass storage device for storing information on a more permanent basis.

As illustrated inFIG. 2, the memory227stores one or more of the following elements: the DSRC data194; the BSM data195; the path history data196; the delay time data197; sensor data296; and GPS data297. The following elements of the memory227are described above with reference toFIGS. 1A-1D, and so, these descriptions will not be repeated here: the DSRC data194; the BSM data195; the path history data196; and the delay time data197.

The sensor data296may include data describing one or more physical measurements collected by one or more sensors of the sensor set182.

The GPS data297may include location data received, generated or provided by the DSRC-compliant GPS unit170.

The network105or the communication channel may include one or more of the following: a DSRC communication channel; a Wi-Fi™ network; a mobile network (3G, 4G, LTE, 5G); a full-duplex communication channel; or any other wireless network or communication channel. The communication unit245transmits and receives data to and from a network105or to another communication channel. The DSRC module190may be an element of the communication unit245. For example, the communication unit245may include a DSRC transceiver, a DSRC receiver and other hardware or software necessary to make the computer system200a DSRC-enabled device.

In some implementations, the communication unit245includes a port for direct physical connection to the network105or to another communication channel. For example, the communication unit245includes a USB, SD, CAT-5, or similar port for wired communication with the network105. In some implementations, the communication unit245includes a wireless transceiver for exchanging data with the network105or other communication channels using one or more wireless communication methods, including: IEEE 802.11; IEEE 802.16, BLUETOOTH®; EN ISO 14906:2004 Electronic Fee Collection—Application interface EN 12253:2004 Dedicated Short-Range Communication—Physical layer using microwave at 5.8 GHz (review); EN 12795:2002 Dedicated Short-Range Communication (DSRC)—DSRC Data link layer: Medium Access and Logical Link Control (review); EN 12834:2002 Dedicated Short-Range Communication—Application layer (review); EN 13372:2004 Dedicated Short-Range Communication (DSRC)—DSRC profiles for RTTT applications (review); the communication method described in U.S. patent application Ser. No. 14/471,387 filed on Aug. 28, 2014 and entitled “Full-Duplex Coordination System”; or another suitable wireless communication method.

In some implementations, the communication unit245includes a cellular communications transceiver for sending and receiving data over a cellular communications network including via short messaging service (SMS), multimedia messaging service (MMS), hypertext transfer protocol (HTTP), direct data connection, WAP, e-mail, or another suitable type of electronic communication. In some implementations, the communication unit245includes a wired port and a wireless transceiver. The communication unit245also provides other conventional connections to the network105for distribution of files or media objects using standard network protocols including TCP/IP, HTTP, HTTPS, and SMTP, millimeter wave, DSRC, etc.

The storage241can be a non-transitory storage medium that stores data for providing the functionality described herein. The storage241may be a dynamic random access memory (DRAM) device, a static random access memory (SRAM) device, flash memory, or some other memory devices. In some implementations, the storage241also includes a non-volatile memory or similar permanent storage device and media including a hard disk drive, a floppy disk drive, a CD-ROM device, a DVD-ROM device, a DVD-RAM device, a DVD-RW device, a flash memory device, or some other mass storage device for storing information on a more permanent basis.

In the illustrated implementation shown inFIG. 2, the roadside service estimation system199includes a communication module202, a sensor module204, the path history module180and a recommendation module206. These components of the roadside service estimation system199are communicatively coupled to each other via the bus220. In some implementations, components of the roadside service estimation system199can be stored in a single server or device. In some other implementations, components of the roadside service estimation system199can be distributed and stored across multiple servers or devices.

The communication module202can be software including routines for handling communications between the roadside service estimation system199and other components of the computer system200. In some implementations, the communication module202can be a set of instructions executable by the processor225to provide the functionality described below for handling communications between the roadside service estimation system199and other components of the computer system200. In some implementations, the communication module202can be stored in the memory227of the computer system200and can be accessible and executable by the processor225. The communication module202may be adapted for cooperation and communication with the processor225and other components of the computer system200via signal line222.

The communication module202sends and receives data, via the communication unit245, to and from one or more elements of the computer system200or the network105. For example, the communication module202receives, via the communication unit245, one or more of the following: the DSRC data194; the BSM data195; the path history data196; the delay time data197; the sensor data296; and the GPS data297.

In some implementations, the communication module202receives data from components of the roadside service estimation system199(or one or more of the example operating environments101,111,112,113) and stores the data in one or more of the storage241and the memory227. For example, the communication module202receives the path history data196from the path history module180and stores the path history data196in the memory227. In another example, the communication module202may receive the GPS data297from the DSRC-compliant GPS unit170and store the GPS data297in the memory227.

In some implementations, the communication module202may handle communications between components of the roadside service estimation system199. For example, the communications module202may handle communications between the sensor module204and the path history module180.

The sensor module204can be software including routines for using one or more of the sensors included in the sensor set182to generate the sensor data296. For example, the sensor module204may include code and routines that, when executed by the processor225, cause the processor225to operate one or more of the sensors included in the sensor set182to record measurements of the physical environment proximate to the computer system200(e.g., a DSRC-equipped vehicle123, a network-equipped vehicle121or any vehicle that includes the roadside service estimation system199) and identify a path history or trajectory of the computer system200.

In some implementations, the sensor module204may generate sensor data296describing the measurements of the sensor set182. The sensor module204may cause the sensor data296to be stored in the memory227. In some implementations, the sensor module204can be stored in the memory227of the computer system200and can be accessible and executable by the processor225. The sensor module204may be adapted for cooperation and communication with the processor225and other components of the computer system200via the signal line224.

The path history module180was described above with reference toFIGS. 1A through 1D, and so, this description will not be repeated here. The path history module180may analyze the sensor data296to determine a path or trajectory of the computer system200. The path history module180may track the location of the computer system200in a drive-through over a period of time to determine a rate of travel of the computer system200in the drive-through. For example, the path history module180may determine how far the computer system200has traveled in a drive-through over a known period of time. The path history module180may generate the path history data196based on the sensor data296.

In some implementations, the path history module180may determine how long the drive-through is based on satellite data that may be retrieved from the network105or the DSRC-compliant GPS unit170. The satellite data may include images or other information that describes a length of the drive through. The path history module180may use the length of the drive-through and the rate of travel for the computer system200in the drive-through to determine an estimate of how many vehicles are in front of the computer system200in the drive-through or an estimate of how many vehicles are behind the computer system200in the drive-through. In some implementations, the sensor data296may include images that are used by the path history module180to determine one or more of the length of the drive-through, the estimate of how many vehicles are in front of the computer system200in the drive-through, and the estimate of how many vehicles are behind the computer system200in the drive-through. This data may be stored in the memory227.

In some implementations, the path history module180may build a wireless message that includes the path history data196. The path history module180may cause the communication unit245or the DSRC module190to transmit or broadcast the wireless message.

In some implementations, the path history module180can be stored in the memory227of the computer system200and can be accessible and executable by the processor225. The path history module180may be adapted for cooperation and communication with the processor225and other components of the computer system200via signal line280.

The recommendation module206can be software including routines for generating the delay time data197based on the path history data196.

In some implementations, the recommendation module206may generate a recommendation that describes an estimate of how long it will take a user of the computer system200(e.g., a driver of a DSRC-equipped vehicle123or a network-equipped vehicle121) to receive a roadside service from a drive-through business150. The recommendation may be displayed as a graphical user interface on a monitor or provided as an audio that is provided to the user via one or more speakers. In some implementations, the recommendation module206can be stored in the memory227of the computer system200and can be accessible and executable by the processor225. The recommendation module206may be adapted for cooperation and communication with the processor225and other components of the computer system200via signal line226.

FIG. 3Ais a flowchart of an example method300for providing a recommendation including a roadside service estimate according to some implementations. One or more of the steps described herein for the method300may be executed by one or more roadside service estimation systems.

At step301, a first DSRC-equipped vehicle may collect sensor data. The sensor data may describe all the information needed to build the path history data for the first DSRC-equipped vehicle. The sensor data may describe the location of the DSRC-equipped vehicle at one or more times.

At step303, the first DSRC-equipped vehicle may build the path history data based on the sensor data.

At step305, the first DSRC-equipped vehicle may update BSM data to include the path history data.

At step307, the first DSRC-equipped vehicle may transmit or broadcast a wireless message that includes the path history data. The wireless message may be transmitted or broadcasted to one or more of a second DSRC-equipped vehicle and a third-DSRC-equipped vehicle.

At step309, the second DSRC-equipped vehicle or the third-DSRC-equipped vehicle may determine delay time data based on the path history data for the first DSRC-equipped vehicle.

At step311, the second DSRC-equipped vehicle or the third-DSRC-equipped vehicle provides a recommendation to their driver. The recommendation may describe how long it will take the driver to receive a roadside service from a drive-through business associated with the first DSRC-equipped vehicle. The first DSRC-equipped vehicle may be present in a drive-through of the drive-through business at the present time or some earlier time.

FIG. 3Bis a flowchart of an example method399for providing a recommendation including a roadside service estimate according to some implementations. One or more of the steps described herein for the method300may be executed by one or more roadside service estimation systems.

At step313, a first DSRC-equipped vehicle may collect sensor data. The sensor data may describe all the information needed to build the path history data for the first DSRC-equipped vehicle. The sensor data may describe the location of the DSRC-equipped vehicle at one or more times. The first DSRC-equipped vehicle may be present in a drive-through of a drive-through business.

At step315, the first DSRC-equipped vehicle may build the path history data based on the sensor data.

At step317, the first DSRC-equipped vehicle may determine delay time data associated with the drive-through business based on the path history data.

At step319, the first DSRC-equipped vehicle may update BSM data to include the path history data or the delay time data.

At step321, the first DSRC-equipped vehicle may transmit or broadcast a wireless message that includes the path history data or the delay time data. The wireless message may be transmitted or broadcasted to one or more of a second DSRC-equipped vehicle and a third-DSRC-equipped vehicle.

At step323, the second DSRC-equipped vehicle or the third-DSRC-equipped vehicle may receive the determine delay time data or the path history data for the first DSRC-equipped vehicle.

At step325, the second DSRC-equipped vehicle or the third-DSRC-equipped vehicle provides a recommendation to their driver. The recommendation may describe how long it will take the driver to receive a roadside service from a drive-through business associated with the first DSRC-equipped vehicle. The first DSRC-equipped vehicle may be present in a drive-through of the drive-through business at the present time or some earlier time.

Referring now toFIG. 4A, depicted is a block diagram illustrating an example of the BSM data195according to some implementations.

The regular interval for transmitting BSMs may be user configurable. In some implementations, a default setting for this interval may be transmitting the BSM every 0.10 seconds or substantially every 0.10 seconds.

A BSM may be broadcasted over the 5.9 GHz DSRC band. DSRC range may be substantially 1,000 meters. In some implementations, DSRC range may include a range of substantially 100 meters to substantially 1,000 meters.

Referring now toFIG. 4B, depicted is a block diagram illustrating an example of BSM data195according to some implementations.

A BSM may include two parts. These two parts may include different BSM data195as shown inFIG. 4B.

Part 1 of the BSM data195may describe one or more of the following: vehicle position; vehicle heading; vehicle speed; vehicle acceleration; vehicle steering wheel angle; and vehicle size.

Part 2 of the BSM data195may include a variable set of data elements drawn from a list of optional elements. Some of the BSM data195included in Part 2 of the BSM are selected based on event triggers, e.g., anti-locking brake system (“ABS”) being activated may trigger BSM data195relevant to the ABS system of the vehicle.

In some implementations, some of the elements of Part 2 are transmitted less frequently in order to conserve bandwidth.

In some implementations, the BSM data195included in a BSM includes current snapshots of a vehicle traveling along a roadway system.

In some implementations, some or all of the information described above for the BSM data195may be included in the DSRC data194.

One or more of the following devices may be a communication device: a DSRC-equipped vehicle123; a network-equipped vehicle121; a delay time server103; and a delay time estimation system198. Regarding U.S. patent application Ser. No. 14/471,387 filed on Aug. 28, 2014 and entitled “Full-Duplex Coordination System,” in a half-duplex communication system, a first communication device currently transmitting data to a second communication device is not capable of simultaneously receiving data from the second communication device. If the second communication device has data to transmit to the first communication device, the second communication device needs to wait until the first communication device completes its data transmission. Only one communication device is allowed to transmit data at one time in the half-duplex communication system.

In a standard IEEE 802.11 Wireless Local Area Network (WLAN), communication devices may compete for access to a wireless channel based on the Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) Medium Access Control (MAC) protocol. The IEEE 802.11 MAC protocol requires that only one communication device may use the wireless channel to transmit data at one time. If two or more communication devices transmit data over the wireless channel at the same time, a collision occurs. As a result, only the communication device that currently gains access to the wireless channel may use the wireless channel to transmit data. Other communication devices having data to transmit need to monitor the wireless channel and may compete for access to the wireless channel when the wireless channel becomes idle again.

According to one innovative aspect of the subject matter described in this disclosure, the DSRC-equipped vehicle123(and other communication devices such as the network-equipped vehicle121, delay time server103or delay time estimation system198) may include a full duplex coordination system for implementing full-duplex wireless communications. The full duplex coordination system may include a processor and a memory storing instructions that, when executed, cause the full duplex coordination system to: create, at a first communication device (such as a first DSRC-equipped vehicle123A, a first network-equipped vehicle121A, etc.), first data (such as any combination of the data stored on the memory227) to transmit to a second communication device (such as a second DSRC-equipped vehicle123B, a second network-equipped vehicle121B, a delay time estimation system198, etc.); switch a half-duplex operation mode of the first communication device to a full-duplex operation mode to activate the full-duplex operation mode of the first communication device; transmit a first portion of the first data from the first communication device to the second communication device using a wireless channel; and transmit, in the full-duplex operation mode of the first communication device, a remaining portion of the first data to the second communication device while simultaneously receiving second data (such as any combination of the data stored on the memory227) from the second communication device using the wireless channel.

According to another innovative aspect of the subject matter described in this disclosure, a full duplex coordination system for implementing full-duplex wireless communications includes a processor and a memory storing instructions that, when executed, cause the full duplex coordination system to: receive a first portion of first data (such as any combination of the data stored on the memory227) from a first communication device via a wireless channel; determine that a second communication device is a single destination of the first data based on the first portion of the first data; determine that the second communication device has second data (such as any combination of the data stored on the memory227) to transmit to the first communication device; determine that the first communication device has full-duplex communication capability; switch a half-duplex operation mode of the second communication device to a full-duplex operation mode to activate the full-duplex operation mode of the second communication device; and transmit, in the full-duplex operation mode of the second communication device, the second data to the first communication device while simultaneously receiving a remaining portion of the first data from the first communication device using the wireless channel.

In general, another innovative aspect of the subject matter described in this disclosure may be embodied in methods that include: creating, at a first communication device, first data to transmit to a second communication device; switching a half-duplex operation mode of the first communication device to a full-duplex operation mode to activate the full-duplex operation mode of the first communication device; transmitting a first portion of the first data from the first communication device to the second communication device using a wireless channel; and transmitting, in the full-duplex operation mode of the first communication device, a remaining portion of the first data to the second communication device while simultaneously receiving second data from the second communication device using the wireless channel.

Yet another innovative aspect of the subject matter described in this disclosure may be embodied in methods that include: receiving a first portion of first data from a first communication device via a wireless channel; determining that a second communication device is a single destination of the first data based on the first portion of the first data; determining that the second communication device has second data to transmit to the first communication device; determining that the first communication device has full-duplex communication capability; switching a half-duplex operation mode of the second communication device to a full-duplex operation mode to activate the full-duplex operation mode of the second communication device; and transmitting, in the full-duplex operation mode of the second communication device, the second data to the first communication device while simultaneously receiving a remaining portion of the first data from the first communication device using the wireless channel.

Another innovative aspect of the subject matter described in this disclosure may be embodied in methods that include: determining first data to transmit from a first communication device to a second communication device; and transmitting, from the first communication device that operates in a full-duplex operation mode, the first data to the second communication device while simultaneously receiving second data from the second communication device using a common wireless channel.

Another innovative aspect of the subject matter described in this disclosure may be embodied in methods that include: receiving, from a first communication device, first data at a second communication device via a wireless channel; determining second data to transmit from the second communication device to the first communication device responsive to receiving at least a portion of the first data; and transmitting, from the second communication device that operates in a full-duplex operation mode, the second data to the first communication device using the wireless channel while simultaneously receiving the first data from the first communication device.

Another innovative aspect of the subject matter described in this disclosure may be embodied in methods that include: determining, at a first communication device, first data to transmit to a second communication device; switching the first communication device from a half-duplex operation mode to a full-duplex operation mode; transmitting, in the full-duplex operation mode of the first communication device, the first data to the second communication device while simultaneously receiving second data from the second communication device using the wireless channel; and switching the full-duplex operation mode of the first communication device to the half-duplex operation mode responsive to a determination that transmission of the first data completes.

Another innovative aspect of the subject matter described in this disclosure may be embodied in methods that include: receiving, from a first communication device, first data at a second communication device via a wireless channel; determining that the second communication device has second data to transmit to the first communication device; switching the second communication device from a half-duplex operation mode to a full-duplex operation mode; transmitting, in the full-duplex operation mode of the second communication device, the second data to the first communication device while simultaneously receiving the first data from the first communication device using the wireless channel; and switching the full-duplex operation mode of the second communication device to the half-duplex operation mode responsive to a determination that transmission of the second data completes.

Other aspects include corresponding methods, systems, apparatus, and computer program products for these and other innovative aspects.

These and other implementations may each optionally include one or more of the following operations and features. For instance, the features include: the first data including a first packet and the first portion of the first data including a header portion of the first packet; the remaining portion of the first data including a payload portion and a trailer portion of the first packet; determining that the second communication device is a single destination of the first data; activating the full-duplex operation mode of the first communication device responsive to the second communication device being the single destination of the first data; the first communication device and the second communication device being communication devices in a wireless local area network; determining that the first communication device operates in a regulated spectrum where full-duplex communication capability is required; receiving device registry data associated with the first communication device; determining that the first communication device has full-duplex communication capability based on the device registry data; and determining that the first communication device has full-duplex communication capability based on a capability indication field in the first portion of the first data, the capability indication field including data describing whether the first communication device has full-duplex communication capability.

For instance, the operations include: determining that the wireless channel is idle; and accessing the wireless channel for data communication between the first communication device and the second communication device based on a channel access rule.

The disclosure is particularly advantageous in a number of respects. For example, the system described herein is capable of achieving a higher throughput and a faster communication speed using full-duplex communication technologies rather than using half-duplex communication technologies. The full-duplex communication may be implemented between vehicles (e.g., communication systems installed in DSRC-equipped vehicles123or network-equipped vehicles121such as those depicted inFIG. 1A, 1B, 1C or 1D) or other communication devices that have full-duplex communication capability. In another example, the system coordinates communication between communication devices in a distributed way without using a central coordinator. The system determines a pair of communication devices and coordinates simultaneous transmission of data between the pair of communication devices so that the pair of communication devices may transmit data to each other simultaneously using the same wireless channel. Meanwhile, other communication devices may not transmit data over the wireless channel to avoid collision. The advantages of the system described herein are provided by way of example, and the system may have numerous other advantages.

The disclosure includes a system and method for implementing full-duplex wireless communications between communication devices. A full-duplex coordination system may include a processor and a memory storing instructions that, when executed, cause the full-duplex coordination system to: create, at a first communication device, first data to transmit to a second communication device; switch a half-duplex operation mode of the first communication device to a full-duplex operation mode to activate the full-duplex operation mode of the first communication device; transmit a first portion of the first data from the first communication device to the second communication device using a wireless channel; and transmit, in the full-duplex operation mode of the first communication device, a remaining portion of the first data to the second communication device while simultaneously receiving second data from the second communication device using the wireless channel.

Reference in the specification to “some implementations” or “some instances” means that a particular feature, structure, or characteristic described in connection with the implementations or instances can be included in at least one implementation of the description. The appearances of the phrase “in some implementations” in various places in the specification are not necessarily all referring to the same implementations.

The specification can take the form of some entirely hardware implementations, some entirely software implementations or some implementations containing both hardware and software elements. In some preferred implementations, the specification is implemented in software, which includes, but is not limited to, firmware, resident software, microcode, etc.