Within the field of computing, many scenarios involve devices that inform and assist a user within a vehicle, e.g., by autonomously navigating the vehicle, and/or presenting transit-related information to a driver of the vehicle. In such scenarios, transit events may arise that relate to a current location and/or a current route of the vehicle, such as a traffic accident; developing traffic congestion; road obstructions, such as debris or wildlife present in a lane of the road; and weather-related conditions, such as ice or flooding. Various techniques may be utilized to notify the user and/or adjust the autonomous control of the vehicle in response to such transit events.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key factors or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Many techniques may be utilized to exchange messages about transit events, such as events that may be related to or have an impact on a roadway network of a city. As a first such example, a notification of a transit event may be broadcast over a localized broadcast channel, such as a radiofrequency that encodes a voice message that can be played for the user of the message, or a digital signal that encodes a message for the device of the vehicle. As a second such example, vehicles may locally communicate with one another using a wireless communication channel, such as localized Wi-Fi or Dedicated Short-Range Communication (DSRC) message broadcast. As a third such example, a centralized service may communicate with vehicles over a long-distance channel, such as the internet, and may coordinate the delivery of notifications, such as a weather service that monitors the transit of enrolled vehicles and transmits transit-related weather information to the vehicles.
While many such techniques may be devised, several considerations of such techniques may limit the utility of such techniques. As a first such example, localized broadcast channels are often subject to interference, crosstalk, jamming, spoofing, and interception by unintended third parties. As a second such example, vehicle-to-vehicle communication may be limited by range broadcast restrictions, and may have difficulty scaling to accommodate messaging among a large number of vehicles. As a third such example, communication mediated by a remote server may exhibit a large amount of latency, which may be problematic for the timely delivery of urgent transit event notifications; e.g., it may be difficult to provide a remote server that is capable of scaling to handle potentially millions of vehicles, and also capable of exchanging transit event notifications among such vehicles in a low-latency manner
Presented herein are techniques for exchanging notifications of transit events among vehicle using a transit service. Such techniques involve an architecture where the transit service maintains a set of vehicle area groups, each identifying the vehicles that are associated with each location. When a vehicle reports a particular location (e.g., a set of global positioning service (GPS) coordinates), the transit service may add the vehicle to the vehicle area group for the location (e.g., a vehicle area group for a portion of a geographic region that includes the reported GPS coordinate). The locations may be defined statically, e.g., as a set of GPS coordinates defining a boundary of a region, or dynamically, e.g., as the site of an event that impacts transit, or an area of traffic congestion. When the transit service receives a notification of a transit event from a vehicle within a particular location, the transit service may identify a current or a dynamically predicted vehicle area group of the vehicle, or may create such a vehicle area group for the vehicle if one does not exist. The transit service may also identify the other vehicles of the vehicle area group; and may broadcast the notification to the other vehicles of the vehicle area group. As one such example, the server may utilize a websockets architecture, wherein the devices of the respective vehicles connect to the transit service via a websocket that is maintained open and alive without having to exchange keepalive or “ping” messages. The server may receive transit events about a location from a vehicle of the vehicle area group for the location, and may transmit notifications of such transit events to the other vehicles of the vehicle area group via the websockets allocated for each such vehicle. In this manner, the transit service may efficiently and rapidly exchange transit event notifications among the vehicles of the location in accordance with the techniques presented herein.
To the accomplishment of the foregoing and related ends, the following description and annexed drawings set forth certain illustrative aspects and implementations. These are indicative of but a few of the various ways in which one or more aspects may be employed. Other aspects, advantages, and novel features of the disclosure will become apparent from the following detailed description when considered in conjunction with the annexed drawings.
The claimed subject matter is now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the claimed subject matter. It may be evident, however, that the claimed subject matter may be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to facilitate describing the claimed subject matter.
A. Introduction
It may be desirable to transmit a notification of the transit events 110 to the user 102 and the other drivers 106 of such vehicles 104, as such notification may alert them to the transit event 110 as a safety precaution, and/or enable the user 102 and other drivers 106 to choose an alternate route that avoids the area 108. Many techniques may be devised to distribute such notification of transit events 110, some of which are illustrated in the example scenario 100 of
As a first such example 122, information about the transit event 110 may be broadcast by a regional broadcast tower 112 using a local broadcast messaging channel, such as a selected radiofrequency over which messages may be encoded and broadcast at high power to reach a large region. Such messages may be distributed, e.g., as human-perceivable audio messages that are received by a radio within each vehicle 104; encoded text messages that are received by a device with a text display for presentation to the user 102 and drivers 106 of the vehicles 104; and/or encoded signals to be received and interpreted by an autonomous control system of the vehicle 104. For example, a regional broadcast service may transmit notifications 114 over a traffic message channel (TMS) of all transit events 110 occurring throughout the region including the area 108, such as construction, vehicular accidents, and/or traffic congestion.
As a second such example 124, a first vehicle 104 may include a sensor that detects a transit event 110 such as a vehicular accident, and a vehicle-to-vehicle communication device comprising a transmitter 116 that detects the transit event 110 and transmits a notification 114 to a receiver 120 on board the vehicle 104 of the user 102 through a localized messaging channel, such as a low-broadcast radiofrequency (RF) channel, using a protocol such as Wi-Fi. The transmitter 120 may receive the notification 114 and utilize it in various ways, such as notifying the user 102 or adjusting an autonomous control system (e.g., reducing a cruise control speed, or engaging emergency braking). In this manner, various techniques may be utilized to exchange notifications 114 of transit events 110 to the drivers 106 of vehicles 104 and users 102 on board vehicles 104 in the area 108.
However, some disadvantages may arise within such techniques that affect the distribution of such notifications 114.
As a first such example, a regional broadcast tower 112 may broadcast a set of notifications 114 applicable throughout the region, but such broadcasting may be nonspecific, and may include information that is not applicable to some, and possibly a large proportion, of the receivers including the user 102 and other drivers 106. For example, in the first example 122 of
As a second such example, the localized vehicle-to-vehicle transmission as illustrated in the second example 124 may be more localized and selective than the regional broadcast tower 112, but its utility may be limited by a variety of factors. For example, broadcast restrictions on localized broadcast messaging channels (e.g., federal regulations on the maximum power of unlicensed radiofrequency transmissions) may reduce the power and range with which the transmitter 116 may transmit the notification 114, causing vehicles 104 that are outside of the range of the low-powered transmitter 116 not to receive the notification 114. For example, in a high-speed environment such as a highway, it may be desirable to transmit the notification 114 to vehicles 104 over a hundred meters away, but the transmitter 116 may have a restricted range of twenty meters. Moreover, low-power localized broadcast messaging channels may be unreliable due to a variety of factors, such as interference, crosstalk with other applications, jamming, spoofing, and/or interception by unintended individuals. For example a vehicle-to-vehicle communication system is unlikely to be effective for exchanging a large number of messages 114 among a large population of transmitters 116 (e.g., traffic congestion may feature hundreds of vehicles 104 that are attempting to transmit notifications 114 concurrently to hundreds of other vehicles 104, and the continuous exchange of notifications 114 over the same range of localized broadcast messaging channels may severely limit the successful delivery of such notifications 114).
Due to these difficulties with localized exchange of notifications 114, other techniques may be utilized. For example, a remote server may receive notifications 114 of transit events 110, and may rebroadcast such notifications 114 to vehicles 114 within a particular area 108. However, the architecture of such centralized services may affect the capabilities of such broadcast notification systems. In particular, a remote server may be tasked with exchanging messages 114 among millions of vehicles 104, and may therefore incur latency in achieving such delivery, e.g, while figuring out the subset of the millions of vehicles 104 is to receive the notification 114. Such latency may not be a significant issue with other scenarios, such as email messages and text messages, where latency of several seconds may be acceptable and not even noticeable; however, in the context of exchanging potentially urgent messages among vehicles 104, latency may significantly reduce the value of the transit service. These and other complications may arise within various techniques for distributing notifications 114 among the vehicles 104 of a location 102.
B. Presented Techniques
In this example scenario 200, a transit service 202 is provided that is in communication with devices aboard the vehicles 104 traveling in the area 108, and may participate in the exchange of notifications of transit events 110 in the area 108 that affect such vehicles 104. In particular, the transit service 202 associates the respective vehicles 104 within the area 108 with a particular location 204, such as a defined span of a highway (e.g., between specified kilometer markers). For the respective locations 204, the transit service 202 may create a vehicle area group 206 identifying the vehicles 104 that are in transit within the location 204. For example, the respective vehicles 104 may report to the transit service 202 a current location of the vehicle 104, such as a global positioning system (GPS) coordinate, and the transit service 202 may determine the location 204 encompassing the current location of the vehicle 104, and then add the vehicle 104 to the vehicle area group 206 for the location 204. A transit event 110 may arise that is detected by a device on board a vehicle 104, which transmits a notification 208 of the transit event 110 to the transit service 202. The transit service 202 may identify the vehicle area group 206 of the vehicle 106 reporting the transit event 110, and the other vehicles 104 of the vehicle area group 206. The transit service 202 may then broadcast a notification 210 of the transit event 110 to the other vehicles 104 within the vehicle area group 206 for the location 204. For example, in the example scenario 200 of
C. Technical Effects
The techniques presented herein may provide a variety of technical effects in the scenarios provided herein.
As a first such example, the techniques provided herein may enable a more reliable transmission of notifications 210 of transit events 110 to the vehicles 104 with the location 204 affected by the transit event 110 than localized broadcast message channels, which may be limited by such factors as range restrictions and interference. For example, the techniques presented herein may utilize an internet connection of a mobile device for the exchange of notifications 210, and internet connectivity may be both more well-developed and more ubiquitous than specialized equipment and support for a localized broadcast message channel such as traffic messaging systems (TMS).
As a second such example, the techniques provided herein may enable greater selectivity of the transmission of notifications 210, i.e., limiting the transmission of notifications 210 to the vehicles 104 that are affected by the transit event 110. Such selectivity may raise the signal-to-noise ratio of the notification system; may conserve the computational and messaging resources utilized in such delivery; and/or may enable faster delivery of such notifications 210 (e.g., by avoiding circumstances where the transmission of a first notification 210 that is relevant to the vehicles 104 in a particular location 204 is delayed by the transmission of a second notification 210 that does not apply to the vehicles 104 or the location 204).
As a third such example, the techniques provided herein may scale to support a large number of vehicles 104 and/or transit events 106, without incurring scalability penalties such as latency. A transit service 202 that receives a notification 208 and may utilize readily-available vehicle area groups 206 to determine the other vehicles 104 that are to receive the broadcast notification 210 may achieve such delivery faster than a transit service 202 that, ad-hoc, identifies the vehicles 104 to receive the broadcast notification 210 among a potentially large set of millions of vehicles 104. Many such technical effects may arise from the broadcasting of notifications 210 of transit events 110 in accordance with the techniques presented herein.
D. Example Embodiments
The example method 300 begins at 302 and involves executing 304 the instructions on the processor. Specifically, the instructions cause the device to detect 306 a location 204 of the vehicle 104. The instructions also cause the device to transmit the location 204 to the transit service 202 to add the vehicle 104 to a vehicle area group 206 for the location 204. The instructions also cause the device to, upon detecting a transit event 110 in the location 204 of the vehicle 104, transmit 310 the transit event 110 to the transit service 202 for broadcasting to other vehicles 104 of the vehicle area group 206. The instructions also cause the device to, upon receiving from the transit service 202 a notification 210 of a transit event 110 for the vehicle area group 206, utilize 312 the notification 210 in the transit of the vehicle 104. In this manner, the example method 300 enables the vehicle 104 to participate in the exchange of notifications 210 about the transit events 110 arising within the area 108 through interaction with a travel service 202 provided in accordance with the techniques presented herein, and so ends at 314.
The example system 410 comprises a vehicle area group manager 412, which, upon receiving a location 204 of a vehicle 104, adds the vehicle 104 to a vehicle area group 210 for the location 204. The system 410 also comprises a transit event broadcaster 414, which, upon receiving, from a vehicle 104, a notification 208 of a transit event 110 for the location 204, identifies at least one other vehicle 104 of the vehicle area group 206, and broadcasts to the at least one other vehicle 104 of the vehicle area group 206 a notification 210 of the transit event 110. In this manner, the example system 410 provides a travel service 202 that facilitates the exchange of notifications 210 about the transit events 110 of the location 204 in accordance with the techniques presented herein.
The example system 514 comprises a transit service interface, which transmits the location 204 of the vehicle 104, via the transit service communicator 508, to the transit service 202 in order to add the vehicle 104 to a vehicle area group 206 for the location 204, and also transmits to the transit servicer 202, via the transit service communicator 508, a notification 208 of the transit event 110 for broadcasting to other vehicles 104 of the vehicle area group 206. The example system 514 also comprises a local event notifier 518, which, upon receiving from the transit service 202 a notification 210 of a transit event 110 for the vehicle area group 206, utilizes the notification 210 in the transit of the vehicle 104 (e.g., by presenting the notification 210 to the user 102; by adjusting an autonomous control system of the vehicle 104; and/or by adjusting a route selected by the user 102 to reach a destination). In this manner, the example system 514 may enable the vehicle device 502 to exchange notifications 210 about the transit events 110 arising within the location 204 in accordance with the techniques presented herein.
Still another embodiment involves a computer-readable medium comprising processor-executable instructions configured to apply the techniques presented herein. Such computer-readable media may include, e.g., computer-readable storage media involving a tangible device, such as a memory semiconductor (e.g., a semiconductor utilizing static random access memory (SRAM), dynamic random access memory (DRAM), and/or synchronous dynamic random access memory (SDRAM) technologies), a platter of a hard disk drive, a flash memory device, or a magnetic or optical disc (such as a CD-R, DVD-R, or floppy disc), encoding a set of computer-readable instructions that, when executed by a processor of a device, cause the device to implement the techniques presented herein. Such computer-readable media may also include (as a class of technologies that are distinct from computer-readable storage media) various types of communications media, such as a signal that may be propagated through various physical phenomena (e.g., an electromagnetic signal, a sound wave signal, or an optical signal) and in various wired scenarios (e.g., via an Ethernet or fiber optic cable) and/or wireless scenarios (e.g., a wireless local area network (WLAN) such as WiFi, a personal area network (PAN) such as Bluetooth, or a cellular or radio network), and which encodes a set of computer-readable instructions that, when executed by a processor of a device, cause the device to implement the techniques presented herein.
An example computer-readable medium that may be devised in these ways is illustrated in
E. Variable Aspects
The techniques discussed herein may be devised with variations in many aspects, and some variations may present additional advantages and/or reduce disadvantages with respect to other variations of these and other techniques. Moreover, some variations may be implemented in combination, and some combinations may feature additional advantages and/or reduced disadvantages through synergistic cooperation. The variations may be incorporated in various embodiments (e.g., the example method 300 of
E1. Scenarios
A first aspect that may vary among embodiments of these techniques relates to the scenarios wherein such techniques may be utilized.
As a first variation of this first aspect, the techniques presented herein may be used with many types of vehicles 104, including automobiles, motorcycles, trucks, trains, buses, watercraft, aircraft, drones, and spacecraft. Such vehicles may be controlled by one or more humans, may be autonomous, or may involve a combination thereof, such as an autonomous automobile that can also be controlled by a human.
As a second variation of this first aspect, the techniques presented herein may be utilized to provide advise users 102 of events occurring in many types of areas 108 and/or locations 202, such as a roadway, highway, sidewalk, dirt or grass path, waterway, and airspace. Such areas 108 may also be defined statically, e.g., as the boundary of a municipality or a set of global positioning system (GPS) coordinates that define the boundaries of an area 108, may be defined dynamically, e.g., as an area 108 where an event such as a convention is occurring, or an area 108 where traffic congestion has been detected.
As a third variation of this first aspect, the techniques presented herein may be utilized to exchange notifications 210 about many types of transit events 110 occurring in an area 108, such as vehicular accidents; the formation of traffic congestion, such as due to high vehicle volume or construction; an obstruction, such as debris or wildlife; a hazardous condition in the location 204, such as a fire; and weather events, such as the formation of ice or flooding. Many such variations may arise within the set of scenarios in which the techniques presented herein may be utilized.
E2. Transit Event Detection
A second aspect that may vary among embodiments of these techniques involves the detection of the occurrence of the transit event 110, including information about the transit event 110 that may advise the other vehicles 104 as to how to respond to the transit event 110.
As a first variation of this second aspect, a vehicle device may receive a report of a transit event 110 directly from the user 102 within the vehicle 104. For example, the user 102 may initiate a voice report of an observed transit event 110, and the vehicle device may transmit the voice report of the user 102 to the transit service 202.
As a second variation of this second aspect, a vehicle device may evaluate telemetry of the vehicle 104 to detect a transit event 110. For example, telemetry indicating that the user 102 has engaged windshield wipers or fog lamps may indicate the presence of transit-affecting weather conditions in the location 204, and telemetry indicating an engagement of an anti-lock braking system in a particular location 204 (coupled with weather data indicating freezing weather) may indicate a transit event 110 involving the formation of ice on a road surface of in the location 204
E3. Exchange Protocol
A third aspect that may vary among embodiments of the techniques presented herein involves the manner of exchanging notifications 210 of transit events 110 among the vehicles 104 and the transit service 202.
As a first variation of this third aspect, vehicle devices and travel service 202 may communicate through a wide range of communication channels, such as electromagnetic wave transmissions at various frequencies. Such communication channels may also be utilized to exchange notifications 210 encoded in various ways, such as a human-receivable voice or tone; a human-readable message, such as text, images, and/or video; encoded data that describes the transit event 110, such as an extensible markup language (XML) providing fields that identify properties of the transit event 110 such as its precise location, type, and severity; and/or encoded data that provides instructions for autonomous control of a vehicle navigation system, such as instructions to engage a braking system to slow or halt the vehicle 104, and/or instructions to re-route the transit of the vehicle 104 through an alternative area. Many such communications protocols may be utilized to deliver such notifications 210 over the selected messaging channels, such as messages exchanged using a variant of the hypertext transport protocol (HTTP), including a websockets interface. As one such example, a vehicle communicator 406 of a server 402 providing the travel service 202 may comprise an internet connection that communicates with vehicle devices through the internet using a websocket protocol. A vehicle area group manager 412 may, in addition to adding a vehicle 104 to a vehicle area group 206, allocate a websocket to communicate with the vehicle 104 through the internet using the websocket protocol; and the transit event broadcaster 414 may broadcast the notification of the transit event 110 to the respective vehicles 104 through the respective websockets. Similarly, the transit service communicator 508 of a vehicle 104 may further comprise an internet connection through which the transit service communicator 508 communicates with the transit service 202 using a websocket protocol, and the local event notifier 518 may receive the notification 210 of the transit event 110 from the transit service 202 through a websocket of the websocket protocol that has been allocated to communicate with the transit service 202. The selection of a protocol such as websockets may enable further advantages, such as a reduced reliance on ping or keepalive messages to maintain the communication channel; as a result, the communication resources (e.g., radiofrequency bandwidth) may be conserved for the actual exchange of notifications 210 of transit events 110, which may also reduce the latency in the delivery of such notifications 210, and the scalability to support broadcasting to a large number of vehicles 104 in a particular location 204 with reduced interference. Websockets may also be advantageous due to the greater incidence of interruption of connectivity of vehicles 104 in transit, since ephemeral lapses in connectivity may not necessitate the exchange of network communication, but may be tolerated as part of the transit service 202.
As a second variation of this third aspect, many mechanisms may be utilized to associated vehicles 104 with vehicle area groups 206. As one such example, a transit service 202 may, upon receiving from the vehicle a first location 204, determine whether a vehicle area group 206 exists for the first location 204, and upon determining that a vehicle area group 206 does not exist for the first location 204, create a vehicle area group 206 for the first location 204. The transit service 202 may also, upon receiving from the vehicle 104 a second location 204 of the vehicle 204 (e.g., an updated global positioning service (GPS) coordinate), determine whether the second location 204 is also associated with the vehicle area group 206; and upon determining that the second location 204 is not associated with the vehicle area group 206, remove the vehicle 104 from the vehicle area group 206 for the first location 204 (e.g., transferring the association of the vehicle 104 from the first vehicle area group 206 for the first location 204 to a second vehicle area group 206 for the second location 204).
As a first such example, a vehicle device 706 may further comprise a local transit event rebroadcaster that locally rebroadcasts the notification 206 of the transit event 110 over a localized broadcast messaging channel. For example, after detecting a transit event 210 and transmitting the notification 208, and/or after receiving a notification 210 from the transit service 202, a vehicle device 2706 may utilize a transmitter 116 broadcast the notification 208 using a local broadcast messaging channel, such as a local, low-power radiofrequency (RF) broadcast, or a directed vehicle-to-vehicle communication channel. A receiver 120 within a second vehicle 104 that is not enrolled in the transit service 202, and/or that is enrolled but that is not in communication with the transit service 202 due to a temporary communication interruption, may therefore receive the local broadcast.
As a second such example, a localized broadcast channel monitor may be utilized to monitor a localized broadcast messaging channel, such as broadcasts by a regional broadcast tower 112 (e.g., a traffic message channel (TMS) broadcaster), and may retransmit notifications 210 of transit events 110 received through such a localized broadcast messaging channel to the transit service 202 for rebroadcasting to the other vehicles 104 of the vehicle area group 206 for the location 204 involved in the transit event 110. As another such variation, the transit service may remotely monitor sources of information about transit events 110, such as traffic message channel (TMS) information provided over the internet, and may broadcast notifications 210 of transit events 110 according to the vehicle area groups 206 for the locations 204 involved in the transit events 110. Such broadcasting may enable delivery of the localized broadcast message to other vehicles 104 that are not monitoring the localized broadcast messaging channel, but that are in communication with the transit service 202. Conversely, the transit service 202 and/or the vehicle device 706 may also provide information to other services for transmission via localized broadcast messaging channels. For example, upon receiving a notification 208 from a vehicle 104 in a location 204 of a transit event 110, the transit service 202 may, in addition to broadcasting a notification 210 to the vehicles 104 of the vehicle area group 206, transmit the notification 210 to the regional broadcast tower 112 for regional rebroadcast. Alternatively, the vehicle device 706 may transmit the notification 208 to the to the regional broadcast tower 112 for regional rebroadcast. Such rebroadcasting techniques may coordinate the exchange of notifications 210 among the vehicles 104 enrolled in the transit service 202 with the exchange of notifications 210 among other vehicles 104 that are not enrolled in the transit service 202, and/or that have lost communication with the transit service 202.
As a fourth variation of this third aspect presented in
As a fifth variation of this third aspect, the notification 210 may be updated to reflect a recommendation to the vehicles 104, including the user 104 and the other drivers 106, as to how to respond to the transit event 110. For example, the second location 204 features a detour option 1002 for avoiding the location of the transit event 110, such as an exit ramp, an alternate route, or a second lane of a road that is not affected by the transit event 110 that impacts a first lane of the road. The transit service 220 may therefore add, to the notification 210 broadcast to the vehicles 104 of the vehicle area group 206, a recommendation 1004 to take the detour option 1002 to avoid the location 204 of the transit event 110.
As a sixth variation of this third aspect presented in
As a seventh variation of this third aspect, the transit service 202 may comprise a transit event verifier that endeavors to verify the transit events 110 reported by respective vehicles 104. For example, a transit event 110 involving a sudden braking incident by a vehicle 104 may indicate a transit event 110 such as an accident or ice, for which a notification 210 of the transit event 110 is to broadcast. However, the sudden braking may also indicate a transient event, such as a brief encounter with wildlife, or a vehicle or driver error, such as accidentally activating the brakes or misperceiving the presence of a vehicle in a nearby lane. Before broadcasting the notification 210, the transit service 202 may endeavor to verify the transit event 110 by identifying a second vehicle 104 of the vehicle area group 206 that is capable of verifying the transit event 110, and transmitting to the second vehicle 104 a request to verify the transit event 110 (e.g., by asking the driver 106 of the second vehicle 104 to confirm or refute the transit event 110, and/or by utilizing sensors of the second vehicle 104). The broadcasting of the notification 210 may be contingent upon first receiving a verification of the transit event 110 from the second vehicle 104.
As an eighth variation of this third aspect, before broadcasting a notification 210 to other vehicles 104 of a vehicle area group 206, the transit service 202 may utilize various techniques to anonymize the vehicle 104 that transmitted the notification 208 of the the transit event 110. For example, the transit service 202 may extrapolate the GPS coordinate transmitted by the vehicle 104 to the GPS coordinate of the transit event 110, and may include the latter GPS coordinate but not the former GPS coordinate that identifies which vehicle 104 transmitted the transit event 110. As another such example, where the notification 210 includes an image or voice recording of the transit event 110 captured by the vehicle 104 and/or the user 102, such as the user's name or a vehicle identifier of the vehicle 104 (e.g., the license plate), the transit service 202 may remove identifying features of such media before broadcast to the other vehicles 104 of the vehicle area group 206. Many such techniques may be included in the exchange of notifications 210 of transit events 110 in accordance with the techniques presented herein.
E4. Utilizing Transit Event Notification
A fifth aspect that may vary among embodiments of the techniques presented herein involves the manner of utilizing a transit event during the transit of the vehicle 104, such as advising a user 102 of the occurrence and details of a transit event 110.
As a first variation of this fourth aspect, information about the transit event 110 may be described to the user 102 in a variety of ways. As a first such example, the transit event 110 may be described in absolute terms (e.g., “warning: accident at northbound 14 kilometer mark”) or in relative terms (e.g., “warning: accident one kilometer ahead”), and may include a recommendation to the use 102 to adjust the control of the vehicle 104 (e.g., “reduce speed by 10 kph” or “engage fog lamps”). As a second such example, the device 202 may or may not explain the basis of a recommendation responsive to the transit event 110, e.g., why the user 102 is advised to choose an alternate route or lane of a road. Moreover, if the transit event 110 does not result in a recommendation to the user 102 to do anything else (e.g., if the safest path past a vehicular accident is the lane that the vehicle 104 currently occupies), a vehicle device 708 may either present the recommendation (e.g., “recommendation: maintain current lane”), or may defer such recommendation until detecting that the user 102 is considering transitioning to a different lane (e.g., upon detecting the user's activation of a turn signal). As still another example, the transit of the vehicle 104 may be controlled by a vehicle control system according to a driving behavior profile, and the transit event 110 may prompt the vehicle 104 to the driving behavior profile of the vehicle control system in response to the transit event 110 (e.g., reducing a cruise-control speed of the vehicle 104, engaging a braking system, and/or adjusting a route for the transit of the vehicle 104 to choose an alternative route that avoids the transit event 110).
F. Computing Environment
Although not required, embodiments are described in the general context of “computer readable instructions” being executed by one or more computing devices. Computer readable instructions may be distributed via computer readable media (discussed below). Computer readable instructions may be implemented as program modules, such as functions, objects, Application Programming Interfaces (APIs), data structures, and the like, that perform particular tasks or implement particular abstract data types. Typically, the functionality of the computer readable instructions may be combined or distributed as desired in various environments.
In other embodiments, device 1202 may include additional features and/or functionality. For example, device 1202 may also include additional storage (e.g., removable and/or non-removable) including, but not limited to, magnetic storage, optical storage, and the like. Such additional storage is illustrated in
The term “computer readable media” as used herein includes computer storage media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions or other data. Memory 1208 and storage 1210 are examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by device 1202. Any such computer storage media may be part of device 1202.
Device 1202 may also include communication connection(s) 1216 that allows device 1202 to communicate with other devices. Communication connection(s) 1216 may include, but is not limited to, a modem, a Network Interface Card (NIC), an integrated network interface, a radio frequency transmitter/receiver, an infrared port, a USB connection, or other interfaces for connecting computing device 1202 to other computing devices. Communication connection(s) 1216 may include a wired connection or a wireless connection. Communication connection(s) 1216 may transmit and/or receive communication media.
The term “computer readable media” may include communication media. Communication media typically embodies computer readable instructions or other data in a “modulated data signal” such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” may include a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
Device 1202 may include input device(s) 1214 such as keyboard, mouse, pen, voice input device, touch input device, infrared cameras, video input devices, and/or any other input device. Output device(s) 1212 such as one or more displays, speakers, printers, and/or any other output device may also be included in device 1202. Input device(s) 1214 and output device(s) 1212 may be connected to device 1202 via a wired connection, wireless connection, or any combination thereof. In one embodiment, an input device or an output device from another computing device may be used as input device(s) 1214 or output device(s) 1212 for computing device 1202.
Components of computing device 1202 may be connected by various interconnects, such as a bus. Such interconnects may include a Peripheral Component Interconnect (PCI), such as PCI Express, a Universal Serial Bus (USB), firewire (IEEE 1394), an optical bus structure, and the like. In another embodiment, components of computing device 1202 may be interconnected by a network. For example, memory 1208 may be comprised of multiple physical memory units located in different physical locations interconnected by a network.
Those skilled in the art will realize that storage devices utilized to store computer readable instructions may be distributed across a network. For example, a computing device 1220 accessible via network 1218 may store computer readable instructions to implement one or more embodiments provided herein. Computing device 1202 may access computing device 1220 and download a part or all of the computer readable instructions for execution. Alternatively, computing device 1202 may download pieces of the computer readable instructions, as needed, or some instructions may be executed at computing device 1202 and some at computing device 1220.
G. Usage of Terms
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
As used in this application, the terms “component,” “module,” “system”, “interface”, and the like are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a controller and the controller can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
Furthermore, the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
Various operations of embodiments are provided herein. In one embodiment, one or more of the operations described may constitute computer readable instructions stored on one or more computer readable media, which if executed by a computing device, will cause the computing device to perform the operations described. The order in which some or all of the operations are described should not be construed as to imply that these operations are necessarily order dependent. Alternative ordering will be appreciated by one skilled in the art having the benefit of this description. Further, it will be understood that not all operations are necessarily present in each embodiment provided herein.
Moreover, the word “example” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “example” is not necessarily to be construed as advantageous over other aspects or designs. Rather, use of the word example is intended to present concepts in a concrete fashion. As used in this application, the term “or ” is intended to mean an inclusive “or ” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an ” as used in this application and the appended claims may generally be construed to mean one or more unless specified otherwise or clear from context to be directed to a singular form.
Also, although the disclosure has been shown and described with respect to one or more implementations, equivalent alterations and modifications will occur to others skilled in the art based upon a reading and understanding of this specification and the annexed drawings. The disclosure includes all such modifications and alterations and is limited only by the scope of the following claims. In particular regard to the various functions performed by the above described components (e.g., elements, resources, etc.), the terms used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., that is functionally equivalent), even though not structurally equivalent to the disclosed structure which performs the function in the herein illustrated example implementations of the disclosure. In addition, while a particular feature of the disclosure may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application. Furthermore, to the extent that the terms “includes”, “having”, “has”, “with”, or variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising.”
The present application claims priority under 35 U.S.C. §119(e) to U.S. Patent Application No. 61/946,962, filed on Mar. 3, 2014, the entirety of which is incorporated by reference as if fully rewritten herein.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US15/18458 | 3/3/2015 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
61946962 | Mar 2014 | US |