Vehicle Data Extraction Service

The vehicle information extraction service addresses the challenge of accessing proprietary vehicle data by deploying software to decode and extract data remotely, enhancing vehicle health monitoring and troubleshooting efficiency.

JP7610717B2Active Publication Date: 2025-01-08AMAZON TECH INC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2023544278
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-01-27
Filing Date
2022-01-26
Publication Date
2025-01-08
Estimated Expiration
2042-01-26

AI Technical Summary

Technical Problem

Modern vehicles generate large amounts of data but lack efficient methods for accessing and analyzing this data due to proprietary encoding formats and limited access to vehicle bus systems, making it difficult for suppliers and component manufacturers to monitor vehicle health and troubleshoot issues without physical intervention.

Method used

A vehicle information extraction service that deploys software packages to vehicles, using proprietary dictionaries and access credentials to decode and extract vehicle data, allowing remote monitoring and configuration of data extraction based on trigger conditions, and storing data in a secure, accessible manner.

Benefits of technology

Enables remote, secure, and efficient extraction of vehicle data, facilitating vehicle health monitoring and troubleshooting, reducing service costs, and improving customer satisfaction by providing near real-time insights and proactive issue detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007610717000001
    Figure 0007610717000001
  • Figure 0007610717000002
    Figure 0007610717000002
  • Figure 0007610717000003
    Figure 0007610717000003
Patent Text Reader

Abstract

A system comprising one or more computing devices implements a vehicle information extraction service that allows a customer to provide access to a proprietary encoding protocol used by the customer to communicate over a vehicle bus, the proprietary protocol being used by the vehicle information extraction service to perform vehicle information monitoring, while at the same time protecting confidentiality of the proprietary protocol from being accessed by third parties. The vehicle information extraction service also enables streaming of relevant vehicle information corresponding to customer-defined event criteria, without requiring streaming of unrelated vehicle information, which would consume significant network resources.
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001] Modern vehicles, such as cars, trucks, and motorcycles, are often manufactured with electronic sensors and contain computer systems programmed with control algorithms that take input from such electronic sensors and determine various control actions to be taken on the vehicle or systems implemented in the vehicle. Some vehicles may contain as many as 70 such electronic control units (ECUs) and 20-30 or more sensor modalities. These components communicate with each other over one or more buses in the vehicle and use proprietary encoding formats and protocols to format the data being communicated. Also, access credentials may be required to access the data flows on such buses.

[0002] In addition, modern vehicles increasingly include sensors that generate more data than previous vehicles. For example, an autonomous, semi-autonomous, or self-driving vehicle may include multiple cameras, radar, LIDAR sensors, audio microphones, etc. Such sensors may generate large amounts of data, for example, 5-10 terabytes per hour or more.

[0003] Typically, vehicles have only limited capabilities to store data such that most, if not all, of the data generated by such sensors and / or communicated over the vehicle's buses is not stored in a manner that would allow the data to be accessed at a later time for analysis or troubleshooting. Also, to the extent that data is stored, it is often stored in a form that is not identifiable without access to a dedicated tool provided by the vehicle manufacturer to interpret the proprietary encoding format and protocol, such as a fault code reader / diagnostic tool that connects to the vehicle's on-board diagnostic connector. Furthermore, such dedicated tools may only allow for a limited view of a subset of the vehicle information communicated over the vehicle's buses. [Brief description of the drawings]

[0004] [Figure 1] Illustrates a vehicle information extraction service, according to some embodiments, that receives access credentials and a dictionary having a proprietary encoding format used by a vehicle supplier or component part supplier to format vehicle information communicated over a vehicle bus, where the vehicle information extraction service maintains confidentiality of the proprietary access credentials and encoding format while deploying a software package to the vehicle to monitor vehicle information encoded using the proprietary encoding format and requesting the proprietary access credentials for extraction when one or more trigger conditions are met. [Diagram 2] 1 illustrates a more detailed view of the designer canvas and management console of the service user interface for a vehicle information extraction service, according to some embodiments. [Diagram 3] FIG. 1 illustrates a more detailed diagram of a network stack of protocols used at different levels to communicate vehicle information over a vehicle bus, and the access credentials required at different levels to access such vehicle information, according to some embodiments. [Figure 4] 1 illustrates an example vehicle, including multiple different buses, that may be monitored for data extraction by a software application deployed by a vehicle information extraction service, according to some embodiments. [Diagram 5] 1 illustrates a more detailed view of a storage buffer that may be used by an application deployed by a vehicle information extraction service according to some embodiments, the storage buffer stores data from one or more previous time points that are eligible for extraction when one or more trigger criteria are met. [Figure 6] 1 illustrates an exemplary provider network including a vehicle information extraction service and other cloud services offered by the provider network, according to some embodiments. [Figure 7A]1 illustrates an example user interface page used to define and enable data extraction from a vehicle or fleet of vehicles, according to some embodiments. [Figure 7B] 1 illustrates an example user interface page used to define and enable data extraction from a vehicle or fleet of vehicles, according to some embodiments. [Figure 7C] 1 illustrates an example user interface page used to define and enable data extraction from a vehicle or fleet of vehicles, according to some embodiments. [Figure 7D] 1 illustrates an example user interface page used to define and enable data extraction from a vehicle or fleet of vehicles, according to some embodiments. [Figure 7E] 1 illustrates an example user interface page used to define and enable data extraction from a vehicle or fleet of vehicles, according to some embodiments. [Figure 7F] 1 illustrates an example user interface page used to define and enable data extraction from a vehicle or fleet of vehicles, according to some embodiments. [Figure 8] 1 illustrates a flowchart of operations performed by a vehicle information extraction service to deploy a data monitoring and extraction software package to a vehicle, according to some embodiments, and also illustrates operations performed by the vehicle information extraction service in response to requested vehicle information being extracted from the vehicle. [Figure 9] 1 illustrates a flowchart of operations performed by a software application deployed to a vehicle from a vehicle information extraction service, according to some embodiments, where the software application monitors vehicle bus traffic and extracts vehicle information that is sent to the vehicle information extraction service when one or more trigger criteria are met. [Figure 10]1 is a block diagram illustrating an example computer system for implementing some or all of the techniques described herein, according to some embodiments.

[0005] Although the embodiments are described herein by way of example in some embodiments and illustrative drawings, those skilled in the art will recognize that the embodiments are not limited to the described embodiments or drawings. It should be understood that the drawings and their detailed description are not intended to limit the embodiments to the particular forms disclosed, but rather, the intent is to cover all modifications, equivalents, and alternatives that are included within the spirit and scope as defined by the appended claims. The headings used herein are merely for organizational purposes and are not meant to be used to limit the scope of the description or claims. As used throughout this application, the word "may" is used in an permissive sense (i.e., having the potential to), rather than a mandatory sense (i.e., meaning must). Similarly, the words "include", "including", and "includes" mean including, but not limited to. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0006] The systems and methods described herein include techniques for implementing a vehicle information extraction service and using software packages generated by the vehicle information extraction service to perform in-vehicle data monitoring and extraction.

[0007] In some embodiments, the vehicle information extraction service is implemented in a service provider network, such as a service provider that provides cloud-based services to customers of the service provider network. In some embodiments, the customers of the vehicle information extraction service may be vehicle suppliers (such as original equipment manufacturers (OEMs)) and / or vehicle component suppliers (such as Tier 1, Tier 2, or Tier 3 parts suppliers). Also, in various embodiments, the vehicle suppliers or vehicle component suppliers may use the data extracted from the vehicles to provide vehicle health monitoring services to vehicle owners or other third parties.

[0008] In some embodiments, a system for implementing a vehicle data extraction service comprises a computing device configured to generate one or more binary files to be deployed to one or more vehicles monitored for data extraction. The binary files may be generated using a vehicle supplier's proprietary dictionary or a vehicle component supplier's proprietary dictionary, the contents of which are stored by the service provider in a logical or physical container with limited access that prevents the service provider providing the vehicle extraction service from fully viewing the contents of the proprietary dictionary and also prevents other third parties from viewing the contents of the proprietary dictionary. The binary files may also include proprietary access credentials that are required for software applications running on the vehicle to access ports or other sources of vehicle information encoded using the format described in the proprietary dictionary. However, the vehicle supplier or the vehicle component supplier may provide the vehicle information extraction service with at least partial access to the proprietary dictionary and the proprietary access credentials to generate the one or more binary files. In some embodiments, the proprietary access credentials may be included in the dictionary provided by the vehicle supplier or the vehicle component supplier or may be provided separately. Also, in some embodiments, both the unique dictionary and the unique access credentials may be stored in a restricted access logical or physical container in the provider network, preventing the provider network operator and other third parties from viewing the contents of the restricted access logical or physical container.

[0009] In some embodiments, the software package generated by the vehicle information extraction service for deployment to the vehicle may include source code for a software agent that executes on the vehicle's gateway (or other deployment destination) and a binary file used by the software agent to analyze the encoded bus communication. In addition, the software package may include a configuration file indicating the type of vehicle information to be monitored and the trigger criteria to be applied to trigger the extraction of the monitored vehicle information. In some embodiments, the vehicle information extraction service may allow a customer to change vehicle information configuration parameters, such as the type of vehicle information to be monitored and the trigger criteria to be applied for data extraction. This may be done remotely using the API or console of the vehicle information extraction service. In such embodiments, the vehicle information extraction service may generate an updated (or new) configuration file to be deployed to the vehicle to change the type of vehicle information monitored and / or the trigger conditions for extraction. Also, in some embodiments, the vehicle information extraction service may generate an updated (or new) binary file to be deployed to the vehicle to provide additional dictionaries and / or access credentials.

[0010] The binary file may be configured to allow a software application deployed on a monitored vehicle to access and interpret bus traffic on the vehicle's buses, the bus traffic being formatted and / or encoded using a vehicle supplier's or vehicle component supplier's proprietary encoding format and / or structure formatted according to definitions defined in the proprietary dictionary. For example, the proprietary dictionary may include definitions for interpreting such encoding structures and formats. The proprietary dictionary or associated proprietary file stored in the restricted access container may also include proprietary access credentials associated with the proprietary dictionary that may be required to access the encoded vehicle information. However, the binary file does not include the complete contents of the dictionary or proprietary access credential file in a readable form and cannot be used to easily reverse engineer the proprietary dictionary and the proprietary access credential file. In some embodiments, two or more proprietary dictionaries and associated proprietary access credential files may be made available for at least partial access by a vehicle extraction service, with different proprietary dictionaries and associated proprietary access credential files including different credentials and protocol definitions used for traffic on different buses, from different vehicle components, etc. As used herein, the proprietary dictionary and associated proprietary access credential file may also be referred to as a "dictionary," a "bus database file," a "protocol database file," a "CAN DBC file," and the like.

[0011] In some embodiments, the unique access credential file may include authentication information for receiving communications from transmitters and transceivers communicating over the vehicle bus. Also, in some embodiments, the unique dictionary file may define the data structures and encoding formats used by the transmitters and transceivers to communicate vehicle information over the vehicle bus. For example, the unique dictionary may define the structures used to send messages over the bus, such as the bit signatures used to signal the beginning of a message and / or the bit signatures used to signal the end of a message. The unique dictionary may also include bit signatures used to encode "words" or "symbols" within a message. In addition, the unique dictionary may include scales used to signal values ​​within a message. To the extent that an abstraction layer is used in the format of the vehicle information sent over the vehicle bus, the unique dictionary may include information for interpreting the abstraction layer. The unique access credential may be required to access such bit signatures and encoded vehicle information, which is then decoded using the unique dictionary.

[0012] In some embodiments, some or all of the information exchanged over the vehicle communication bus may be encrypted. In such cases, the automobile manufacturer may provide the necessary decryption software and keys to understand the encrypted vehicle communication messages. For example, such decryption software and keys may be provided with a proprietary dictionary and may be stored in a provider network in a physical or logical access storage with limited access. Also, such decryption software and keys may be included in a software package that is deployed to the vehicle for use in vehicle information extraction.

[0013] For example, the Controller Area Network (CAN) bus protocol may be used to connect in-vehicle electronic control units (ECUs) with each other and exchange critical information in real-time at speeds up to 1 Mbps over the CAN bus. The CAN specification describes the physical and data link layers for high-speed in-vehicle communication. Vehicle suppliers and vehicle component suppliers use the CAN bus protocol to enable time-critical low-bandwidth operation. One of the key principles behind the CAN bus protocol is that each vehicle supplier / vehicle component supplier can define its own CAN bus encoding that uniquely identifies every vehicle ECU (control bits) and the data to be communicated (64-bit payload with custom offset and scale per parameter). This allows the vehicle supplier / vehicle component supplier to protect the communication handshake between the ECUs. However, the CAN bus communication protocol is, by design, based on multicast, which means that any computing device, if attached to the same physical interface, can monitor all traffic with the appropriate decode database (e.g., its own dictionary and its own access credentials). Within a car, there are several CAN buses, some of which are made for high speeds, such as CAN-FD (CAN with Flexible Data Rate) that can reach speeds up to 6 Mbps. In some embodiments, the dictionary files provided by the vehicle supplier or the vehicle component supplier that are securely stored by the vehicle information extraction service and made accessible to generate binary files may include CAN DBC files. The vehicle may also include other buses, such as Ethernet or IP buses, local interconnect (LIN) buses, Flex Ray buses, time-triggered protocol (TTP) buses, etc. In some embodiments, different proprietary dictionaries may define protocols used by different types of buses and may be made accessible to the vehicle information extraction service to generate binary files for monitoring and extraction of vehicle information encoded using the respective bus protocols.

[0014] In some embodiments, the proprietary dictionary and associated proprietary access credential file received by one or more computing devices of the service provider network from the vehicle supplier or vehicle component supplier may be stored in a physical or logical container with limited access that prevents parties other than the vehicle supplier or vehicle component supplier from viewing the contents of the proprietary dictionary and the proprietary access credential file. For example, the proprietary dictionary and the proprietary access credential file may be stored in a storage account with the vehicle supplier's or vehicle component supplier's storage service provided by the service provider network. As another example, the proprietary dictionary and the proprietary access credential file may be accessible only via a virtual private cloud or other limited access networking configuration that restricts other parties from viewing the contents of the proprietary dictionary and the proprietary access credential file.

[0015] In some embodiments, in addition to providing a unique dictionary and a unique access credential file, a customer (e.g., a vehicle supplier or a vehicle component supplier) may provide an indication of one or more types of vehicle information to be monitored by the vehicle extraction service and / or one or more trigger criteria for extraction of the monitored vehicle information. One or more computing devices of the data extraction service may receive such indications from the customer and may use the indications to generate configuration files that are provided to software applications of the monitored vehicles. For example, the configuration files and binary files may be included in a software package that is deployed to the monitored vehicles.

[0016] Additionally, such configuration of the types of vehicle information to be extracted and the types of trigger criteria to be used to extract such vehicle information may be configurable remotely "on the fly" after the vehicle is in use by the vehicle owner, without requiring physical access to the vehicle. For example, vehicles typically include components, such as ECUs, that are hard-programmed with access rights that cannot be changed without physically replacing or otherwise reprogramming the components, which would require taking the vehicle to a dealership or other facility of the vehicle's supplier to change the configuration. This is because vehicles typically do not include any mechanism to provide the necessary access credentials and unique coding definitions to the hard-programmed components without physical access to the vehicle. In contrast, the vehicle information extraction service allows a vehicle supplier or a vehicle component supplier to remotely reconfigure the types of vehicle information to be monitored on the vehicle and the trigger criteria to be applied to extract the monitored vehicle information from the vehicle.

[0017] For example, a vehicle supplier may log into the vehicle information extraction service's console or designer canvas, change a vehicle monitoring configuration, and select to deploy the new configuration. In response, the vehicle information extraction service may automatically generate and deploy an updated configuration file to one or more monitored vehicles to implement the new configuration. This may be done using a wireless connection to the one or more vehicle gateways, without the need for the one or more vehicles to be physically accessed or brought to a dealership.

[0018] In addition, the vehicle information extraction service may enable a customer, such as a vehicle supplier or a vehicle component supplier, to define roles and associated access privileges for employees of the vehicle supplier or vehicle component supplier, or other third parties. For example, a customer support engineer may be provided with limited access to view vehicle information extracted according to a pre-configured extraction configuration. In contrast, the customer support engineer may be provided with privileges that enable the customer support engineer to define a new vehicle extraction configuration that allows the customer support engineer to obtain more detailed vehicle information that was not originally configured to be extracted from the vehicle. As a further example, a particular system of a vehicle may appear as a black box in the way that extracted vehicle information is provided to the customer support engineer. However, if the issue is escalated to the customer support engineer, the customer support engineer may be able to use the vehicle information extraction service to define a new vehicle information extraction configuration (and deploy a corresponding updated configuration file) that provides the customer support engineer with the ability to view vehicle information related to components in the black box that are not the type of vehicle information originally configured to be extracted or collected from the vehicle. This allows a customer support engineer to, for example, view vehicle information for subcomponents within a vehicle component and further drill down into subcomponents, such as subcomponents, to troubleshoot a vehicle problem.

[0019] Because vehicles generate a large amount of data, it may be impractical to stream all generated data, or all generated data for a limited number of vehicle information types. Thus, in some embodiments, data may be extracted and sent to the vehicle information extraction service via an intermediate network, such as a wireless network, only if a trigger condition specified by a customer (e.g., a vehicle supplier or a vehicle component supplier) is met. For example, a trigger condition may be an acceleration or deceleration greater than XG. If such a trigger condition is met, the customer (e.g., a vehicle supplier or a vehicle component supplier) may specify the type of vehicle information to be extracted, such as engine RPM, brake pedal position, brake caliper engagement rate, steering wheel rotation, front tire position, etc. Thus, when the trigger condition is met, a software application deployed to the vehicle from the vehicle information extraction service may extract data for the specified vehicle information type.

[0020] In some embodiments, the on-board storage device may be used as a storage buffer to temporarily store some or all of the monitored vehicle information type data. Thus, when a trigger condition is met, the software application may extract both past and current data for the vehicle information type corresponding to the trigger criteria. In this manner, the vehicle extraction service may provide the customer with access to highly detailed vehicle information relevant to the customer's generated interest, but at the same time refrain from using resources such as network bandwidth, storage, etc., to stream vehicle information that is not of interest to the customer or relevant to the customer's generated interest.

[0021] In some embodiments, the vehicle's storage buffer may store monitored vehicle information for a limited amount of time. For example, in some embodiments, the storage buffer may store vehicle information going back 5 seconds, 10 seconds, 1 minute, 10 minutes, etc. In some embodiments, the customer may specify the time buffers used to locally store different types of vehicle information. For example, the customer may specify that speed is to be buffered for 10 minutes, but engine RPM is to be buffered for 10 seconds. Also, in some embodiments, the customer may specify the sampling rate or other statistical analysis to be performed on the buffered data stored locally on the vehicle. For example, an RPM sensor may output readings at a rate of 100 per second, but the storage buffer may sample the sensor less frequently, such as 10 samples per second. As another example, the storage buffer may average RPM readings such that an average of 10 samples at 100 Hz is generated every 1 / 10th of a second, and the averaged samples are stored at a rate of 10 per second.

[0022] In some embodiments, the storage buffer may implement a time stamp process that associates a time stamp with each vehicle information stored in the storage buffer. In addition, time stamp information generated by other components of the vehicle may be stored with the vehicle information generated by the other components. In some embodiments, the vehicle components may issue the vehicle information according to a hardwired or known sequence. Such timing information may be included in a proprietary dictionary and may be used by a software application to apply component-specific time stamps to the vehicle information stored in the storage buffer. In some embodiments, the storage buffer may sort the stored vehicle data based on the time stamps so that the vehicle data is synchronized and stored in the order in which the events occurred. In some embodiments, the storage buffer may store enough time stamp information for the stored vehicle information so that the sequence of events for the stored vehicle information may be accurately recreated by, for example, an analysis engine of a vehicle information extraction service. In some embodiments, the vehicle information may additionally or alternatively be synchronized in the storage buffer according to the time stamps applied to the vehicle information when it was received in the storage buffer.

[0023] The storage buffer may remove stored vehicle information from the storage buffer that has timed out to make room for new vehicle information. For example, the storage buffer may be formatted such that data is removed using a first-in, first-out (FIFO) technique. However, different types of vehicle information may be treated differently. For example, a first type of vehicle information may be buffered longer than another type of vehicle information such that FIFO is applied, although FIFO may not be applied across different types of vehicle information.

[0024] The vehicle information extraction service's computing devices are configured to generate a binary file to be provided to the vehicle based on the unique dictionary, the associated unique access file, and the type of monitored vehicle information of the customer instructions. The binary file includes information to access and interpret the binary bits being communicated over the vehicle's bus, such as a bit signature used to signal the start of a message and / or a bit signature used to signal the end of a message. The binary file may also include a bit signature used to encode a "word" or "symbol" in the message for the type of vehicle information being monitored, and a scale used to signal a value in the message.

[0025] The one or more computing devices of the vehicle information extraction service are also configured to provide a binary file to the vehicle for loading into a gateway or other component of the vehicle, and a software application implemented on the gateway or implemented in the other component is configured to use the binary file to decode the vehicle information being communicated over one or more communication buses of the vehicle, the vehicle information being communicated over the one or more communication buses being formatted according to a vehicle native encoding format or a vehicle component native encoding format, as defined in the proprietary dictionary.

[0026] In addition, the one or more computing devices of the vehicle information extraction service are configured to receive vehicle information packets from the vehicle via the one or more network devices, the vehicle information packets including vehicle information extracted from the vehicle according to trigger criteria received from a vehicle supplier or a vehicle component supplier.

[0027] In some embodiments, a software package including instructions for implementing a software application that performs vehicle information monitoring and extraction is provided to a gateway or other component of a vehicle that accesses bus traffic on one or more buses of the vehicle. The instructions of the software package, when executed by one or more processors, cause the one or more processors to decode at least a portion of the amount of traffic being communicated over one or more buses of the vehicle. The bus traffic is decoded using a binary file included in the software package, which was generated by the vehicle information extraction service using definitions and access credentials from a proprietary dictionary of a customer (e.g., a vehicle supplier or a vehicle component supplier).

[0028] The software package instructions cause the one or more processors to store the encoded or decoded bus traffic in a storage buffer. As discussed above, different types of vehicle information may be buffered for different amounts of time. It is also worth noting that the software package instructions may direct other complementary types of vehicle information, such as image data and / or audio data, to be buffered. In some embodiments, only a portion of the vehicle information may be decoded before being stored in the storage buffer. For example, a packet header of a packet communicated over a vehicle bus may be decoded to determine if a trigger condition has been met. However, the payload of the packet may be stored in an encoded format in the storage buffer, and the associated decoded header is analyzed to determine if the trigger criteria has been met. Also, in some embodiments, or for other types of vehicle information in the same embodiment, both the header and payload may be decoded as part of determining if the trigger criteria has been met, and the decoded header and decoded payload may be stored in the storage buffer.

[0029] For example, a first type of vehicle information communicated over the bus may be an artificial intelligence (AI) inference generated by an AI module of the vehicle, and a corresponding type of vehicle information may be an image from a camera of the vehicle, or an audio from a microphone of the vehicle. Program instructions of the software package may instruct a software application executing at the gateway to buffer both the decoded AI inferences communicated over the monitored bus, and may also instruct the software application to store the corresponding images and audio. The decoded AI inferences may be stored as text data, and the images and audio may be stored as digital files (e.g., including binary values ​​for each pixel, etc.). The software application may store the text data, images, and audio in a synchronized manner, such that the image files and audio files stored during a given point in time correspond to the text-based AI inferences generated during the same point in time. Continuing with this example, the trigger for extracting the AI ​​inference data and the corresponding image data and audio data may be that a braking event occurred with a deceleration greater than XG, and the AI ​​inference did not signal that braking was necessary. Such a situation may represent a human operator of the vehicle braking to avoid an obstacle not recognized by the vehicle's AI system. The vehicle extraction software application synchronizes the decoded AI inference text with the time-matched images and / or audio, so that the cloud-based vehicle information extraction service's data analysis pipeline can analyze the images and audio to determine if there were objects in the scene that were missed by the vehicle's AI system. Such data can be used to train AI models to identify such obstacles in the future. Note that the synchronization can take into account the delay between the image / audio and the time that the vehicle's AI components issue the AI ​​inference. For example, the AI ​​inference may lag the audio / video. However, the software application and / or storage buffers can account for this delay when synchronizing images, audio, and AI inferences that all correspond to the same event or occurrence.

[0030] In some embodiments, the software package may include instructions for performing anonymization of any personal or sensitive data provided to a gateway or other component of the vehicle that has access to bus traffic on one or more buses of the vehicle. For example, an on-board camera may capture license plate numbers from other vehicles that may need to be obfuscated before being uploaded to a server according to various local regulations.

[0031] As described in the above example, instructions contained in the software package provided to the vehicle from the vehicle information extraction service, when executed by one or more processors, cause generation of one or more packets of extracted vehicle information for transmission to the vehicle information service when a trigger condition is met.

[0032] In some embodiments, the vehicle information extraction service implemented in the cloud service provider network may include pre-configured analytics capabilities to process the extracted vehicle information and derive insights regarding vehicle health. The vehicle information extraction service may also include a visual interface to aid in diagnosing and troubleshooting potential vehicle problems. With near real-time insights, customers (e.g., vehicle suppliers and / or vehicle component suppliers) may use such vehicle information extraction services to expedite repair of vehicle issues and coverage of warranty claims, and to proactively detect and mitigate a wide range of quality issues. This may enable vehicle suppliers and / or vehicle component suppliers to reduce vehicle service costs and improve customer satisfaction experiences.

[0033] In some embodiments, the vehicle information extraction service may provide a fully managed service for remotely collecting, storing, organizing, and monitoring data from millions of vehicles without requiring custom deployment from customers, such as vehicle suppliers and / or vehicle component suppliers.

[0034] In some embodiments, a customer (e.g., a vehicle supplier and / or a vehicle component supplier) may modify the types of vehicle information monitored and / or the trigger criteria for extracting vehicle information. Such modifications may be made using an application programmatic interface (API) to the vehicle information extraction service, which automatically generates updated configuration files to accommodate the requested changes and automatically deploys the updated configuration files to vehicles being monitored to implement the requested changes.

[0035] In some embodiments, a customer (e.g., a vehicle supplier and / or a vehicle component supplier) may further define alarms via an API to the vehicle information extraction service, which specify conditions under which the customer is notified. Note that the alarm conditions and the trigger conditions for data extraction may be similar or different. For example, data may be extracted according to a lower threshold, while the customer may set an alarm notification at an upper threshold.

[0036] In some embodiments, different trigger conditions may be set for different data sets. Also, in some embodiments, trigger conditions may be linked or layered such that satisfaction of one trigger condition is a prerequisite for a subsequent trigger condition. For example, trigger conditions may be logically combined using an "AND", "OR", or "ANY" logical operator in the trigger condition definition. In some embodiments, triggers may be ordered chronologically such that a first trigger condition is evaluated before a subsequent trigger condition.

[0037] Additionally, in some embodiments, customers (e.g., vehicle suppliers and / or vehicle component suppliers) may view aggregate data extracted from their vehicle fleets. For example, such information may be used to detect widespread quality issues, such as defective airbag sensors, and then provide information to the customer's manufacturing group for corrective action.

[0038] In some embodiments, vehicle information communicated over the vehicle bus may be formatted in binary format, in which a binary file used to decode the binary information may be used to convert the binary data into a standardized format, such as JSON / XML format, that may be used with downstream applications.

[0039] In some embodiments, the software application performing the monitoring and extraction of vehicle information may send out generated packets using HTTP / 1.1 (or MQTT and IoT Core or ISO TC204) to upload data to a cloud service provider network with a certain retransmission threshold. In the case of binary vehicle streaming data (camera, radar, LIDAR), the software application may use webRTC that allows customer engineers to interact with on-board binary streaming sensors connecting to cloud streaming services, etc. (e.g., live view of the camera at power-on).

[0040] In some embodiments, the packets may be sent over a wireless network, such as a cellular network, a Wi-Fi network, a long-range wide area network (LoRaWAN), or a network provided by a service provider. The automaker may use the console to remotely configure the types of packets that may be uploaded from the vehicle to the cloud service provider over each communication protocol, and how long such packets are stored in the vehicle and / or the cloud service provider before being overwritten. For example, the automaker may choose to store dashcam data for the past day and upload only over Wi-Fi. In another example, the automaker may choose to receive vehicle troubleshooting codes as they occur over the LoRaWAN network.

[0041] In some embodiments, the vehicle information extraction service may support various vehicle diagnostic standards, such as the Unified Diagnostic Service (UDS) ISO 14229 standard, the Diagnostics over IP (DoIP) ISO 13400 standard, the Open Diagnostics eXchange (ODX) ISO 22901 standard, the Open Test sequence eXchange format (OTX) ISO 13209, and the Modular Vehicle Communication Interface (MVCI) ISO 22900.

[0042] FIG. 1 illustrates a vehicle information extraction service that receives a dictionary having a proprietary encoding format used by a vehicle supplier or component part supplier to format vehicle information communicated over a vehicle bus, and according to some embodiments, maintains confidentiality of the proprietary encoding format while deploying a software package to the vehicle to monitor vehicle information encoded using the proprietary encoding format for extraction when one or more trigger conditions are met.

[0043] The system 100 includes a vehicle information service 102 and a network 124 connected to vehicles 126, 142, and 144. In some embodiments, the network 124 may be connected to any number of vehicles. Customers 122a-122n are also connected to the vehicle information service via the network 116. In some embodiments, the customers 122a-122n may be vehicle suppliers or vehicle component suppliers (e.g., vehicle original equipment manufacturers (OEMs) and / or Tier 1, Tier 2, or Tier 3 parts suppliers). The network 116 may be a private or public network, such as a direct connection to a service provider network that provides the vehicle information extraction service 102, or an Internet connection. The network 124 may be a wireless network, such as a cellular network, a Wi-Fi network, or other wireless network.

[0044] The vehicle information extraction service 102 includes a service user interface 104, a limited-access vehicle dictionary and authentication information storage 106, a binary file generation module 108, a vehicle communication interface 110, an extracted vehicle information collection module 112, and an extracted data analysis and / or visualization module 114.

[0045] In some embodiments, the service user interface 104 may include a designer canvas and an administration console, as further discussed in FIG. 2. In some embodiments, a customer may provide a dictionary file describing a proprietary protocol and encoding format used to communicate vehicle information over the bus from components designed by the customer (e.g., vehicle supplier and / or vehicle component supplier) and / or associated proprietary access credential files. For example, customer 122a provides a submission 118 that includes a dictionary file of customer's 122a vehicle supplier and indicates extraction criteria for vehicle information formatted according to the vehicle supplier dictionary. In addition, customer 122n provides a submission 120 that includes a dictionary file of component supplier and indicates extraction criteria for vehicle information formatted according to the component supplier dictionary. Note that the dictionary file and extraction criteria are shown in FIG. 1 as part of the same submission. However, in some embodiments, the extraction criteria and dictionary file may be submitted separately.

[0046] The dictionary files and associated access credential files received from customers 122a and 122n may be stored in dictionary and credential storage 106 with restricted access. The dictionary files and associated access credential files of customer 122a and the dictionary files and associated access credential files of customer 122n may each be stored in separate physical or logical containers with restricted access. For example, customer 122n may not be able to view the dictionary file and access the credential file of customer 122a, and vice versa.

[0047] The binary file generation module 108 may identify dictionary definitions and associated access credentials for the particular types of vehicle information to be extracted based on the extraction criteria set forth in the submissions 118 and 120. Additionally, the binary file generation module may generate a binary file that instructs the vehicle's software application how to access and decode the binary information communicated over the vehicle bus that corresponds to the types of vehicle information set forth in the extraction criteria of the submissions 118 and 120. Additionally, the binary file generation module 108 may include the extraction criteria in the binary file that indicates when the associated types of vehicle information are to be extracted and included in packets sent back to the vehicle information service 102 or the customers 122a and 122n. In some embodiments, the types of vehicle information to be monitored and / or the trigger criteria may be included in a configuration file that is sent along with the binary file in a software package, such as the software package 146.

[0048] The binary files, source code, and / or configuration files may be included in a software package 146 that is sent to the in-vehicle computing device 150. In some embodiments, the in-vehicle computing device 150 may implement a gateway for the vehicle 126 or may otherwise be a component of the vehicle 126 that can access data transmitted over one or more buses of the vehicle, such as the encoded vehicle communication bus 138. In some embodiments, a vehicle bus, such as the encoded vehicle communication bus 138, may transmit multicast vehicle information originating from multiple components of the vehicle, such as the electronic control unit 128 (ECU#1) and the electronic control unit 130 (ECU#2). In addition, other components, such as the physical sensors 136 and the audio / visual sensors 132, may communicate vehicle information over the encoded vehicle communication bus 138.

[0049] The software package 146 may be used to implement software applications 152 that execute on the in-vehicle computing device 150. In some embodiments, the software applications 152 may access the binary file storage 154 to access and decode the encoded vehicle information transmitted over the vehicle communication bus 138. For example, the bus traffic decode and trigger module 156 may use the binary files and / or configuration files in the binary file storage 154 to access and decode the bus traffic. The bus traffic decode and trigger monitoring module 156 may further store the vehicle information, such as the decoded bus traffic, and / or other vehicle information, such as visual or audio data, in a storage buffer 158. As described in more detail in FIG. 5, the storage buffer may store the encoded and / or decoded vehicle information, as well as other associated vehicle data, for a number of previous time points in the past. Additionally, the bus traffic decode and trigger monitoring module 152 may compare the decoded bus traffic to one or more trigger criteria for data extraction to determine whether the trigger criteria are met. If the trigger criteria are met, the packet generation module 180 may generate one or more packets that are sent back to the vehicle information extraction service 102 as extracted vehicle information 148.

[0050] In some embodiments, the vehicle information extraction service 102 includes a vehicle communication interface 110 configured to establish a secure connection with a respective vehicle, such as vehicle 126, to send the software package 146 and receive the extracted vehicle information 148.

[0051] In some embodiments, the extracted vehicle information collection module 112 may store the extracted vehicle information 148 in a customer's storage account, such as a storage account of a storage service provided by a provider network that also implements the vehicle information extraction service 102.

[0052] In some embodiments, the vehicle information extraction service may further organize the analysis and / or visualization performed on the extracted vehicle information 148. For example, the extracted vehicle information may be compared to alarm triggers for alarms to be notified to the customer. The extracted vehicle information may also be organized into visual graphics, such as charts, graphs, or other user interface tools for presentation to the customer. In some embodiments, the extracted vehicle information may be used to train artificial intelligence (AI) models or provided to machine learning tools to optimize vehicle settings.

[0053] FIG. 2 illustrates a more detailed view of the designer canvas and management console of the service user interface for a vehicle information extraction service, according to some embodiments.

[0054] In some embodiments, a service user interface of a vehicle information extraction service, such as service user interface 108, may include a designer canvas, such as designer canvas 202, and an administration console, such as administration console 210. In some embodiments, the designer canvas may enable a customer engineer, such as an engineer at a vehicle supplier or a vehicle component supplier, to view a digital twin that includes data extracted from a real-world vehicle. The designer canvas may also enable the engineer to modify the type of data monitored / extracted and / or the trigger criteria for extracting data. In some embodiments, the designer canvas may enable the customer engineers to log into a web application using their respective corporate credentials (e.g., credentials issued to the engineer by the corporate customer) without requiring each engineer to have an account or credentials with the vehicle information extraction service. The customer's engineers may be able to access, visualize, and monitor the vehicle data using the web application. The designer canvas may also enable the customer to build custom reports or analyses or incorporate the vehicle data into an existing software environment. In some embodiments, the web applications provided by the vehicle information extraction service may be pre-configured or easily configurable without requiring the customer to generate the code for the web application.

[0055] In some embodiments, the management console for the vehicle information extraction service may provide additional functionality and may further enable a customer to manage their account with the vehicle information extraction service, such as providing access to custom dictionaries, creating additional digital twins, etc.

[0056] In some embodiments, a designer canvas, such as designer canvas 202, includes a digital twin user interface 204, a fleet user interface 206, and a configuration user interface 208. The digital twin user interface 204 may enable a customer's engineers to view and interact with a digital twin of a given real-world vehicle, where the digital twin includes near real-time vehicle information extracted from the real-world vehicle. The fleet user interface 206 may enable a customer's engineers to view and interface with a digital twin representing a class (or fleet) of vehicles. The fleet digital twin may include aggregate data representing the near real-time state of a class of vehicles that matches a fleet definition for the fleet. Additionally, the digital twin user interface 204 and the fleet user interface 206 may enable a customer's engineers to view and interact with historical data extracted from a real-world vehicle or a fleet of real-world vehicles. In some embodiments, before the real-world vehicle is built, a digital twin may be created for the vehicle using the designer canvas 202.

[0057] In some embodiments, designer canvas 202 may include a configuration user interface, such as configuration user interface 208. Configuration user interface 208 may enable a customer's engineer to provide / modify the types of vehicle information to be extracted from a vehicle or fleet of vehicles, and the trigger criteria for extracting the vehicle information. For example, when troubleshooting a given system, the engineer may modify the data extraction to include additional types of vehicle information to be extracted, such as from subordinate components of the system being troubleshooted.

[0058] The management console 210 includes data extraction service account management 212, which may be used to manage the customer's account, such as billing information, contact information, etc. Additionally, the management console 210 includes digital twins for vehicle interface 214 and fleet digital twin interface 216. These interfaces may be used by the customer to allow additional digital twins to be created for either individual vehicles or fleets of vehicles. In some embodiments, a prompt in the designer canvas 202 may queue a request for approval by the customer, which causes the digital twin interface 214 or fleet digital twin interface 216 to create the additional digital twins.

[0059] The management console 210 includes a configuration management interface 218 that allows a customer to link or upload a custom dictionary. In some embodiments, a request to link or upload a custom dictionary may be submitted from the designer canvas 202 and, when approved by the customer, may cause the configuration management console 218 to perform the upload or linking of the custom dictionary. A deployment interface 220 of the management console 210 may then deploy the generated binary file to the vehicles to be monitored. In some embodiments, a management console such as the management console 210 may further include a monitoring interface 222 for receiving and viewing the extracted vehicle information. In some embodiments, the monitoring interface may also allow for the specification of monitoring parameters, such as alarms, to be triggered if certain thresholds are met in the extracted vehicle information. In some embodiments, the binary file may be generated by the vehicle information extraction service 102 and provided to the customer for deployment to the customer's vehicles.

[0060] The management console 210 also includes an analysis interface 224 for defining the analyses to be performed on the extracted vehicle information, and a customer API interface 226 that allows the customer to specify analysis, alarm, notification parameters, etc. Additionally, the management console 210 includes a customer communication interface 228 configured to issue notifications to the customer when certain alarm thresholds are met on the extracted vehicle information.

[0061] In some embodiments, the service user interface 108 further includes a vehicle information cross license interface 230 that may be used by the customer to select other components of the vehicle with which the decoded vehicle information is shared. For example, the vehicle OEM may license a Tier 1 supplier to access the decoded vehicle information from sensors that communicate using the OEM's proprietary protocol. By licensing the sharing of the decoded vehicle information, the OEM may enable the Tier 1 supplier components to use the decoded vehicle information, but may not need to share a proprietary dictionary with the Tier 1 supplier. Instead, the proprietary dictionary is stored in the vehicle dictionary storage 106 with limited access of the vehicle data extraction service 102 and is not accessible to the Tier 1 supplier. However, the proprietary dictionary remains restricted from viewing by the Tier 1 supplier, and does not prevent interoperability of the OEM and Tier 1 supplier components.

[0062] In some embodiments, the management console 210 further includes a permission and roles interface 232 that may enable a customer to define access roles for different types or classes of users (who may be employees of vehicle suppliers or vehicle component suppliers who are customers of the vehicle information extraction service). For example, some users may be assigned roles that only allow the use of pre-configured vehicle information extraction configurations, while other users may be provided with roles that allow the deployment of new vehicle information extraction configurations, such as diving deeper into the operation of specific components of the vehicle.

[0063] FIG. 3 illustrates a more detailed view of the network stack of protocols used at different levels to communicate vehicle information over the vehicle's bus, according to some embodiments.

[0064] In some embodiments, the binary files stored in the binary file storage 154 may contain proprietary access credentials and protocol definitions for multiple layers of the vehicle network stack that allow for access to and decryption of communications sent over the vehicle's communication bus. For example, the binary files contained in the binary file storage 154 may indicate the access credentials, protocols, and / or addresses used in the vehicle hardware layer 310. In addition, the binary files may indicate the access credentials, protocols, or ports used in the vehicle firmware layer 308 and / or the vehicle hypervisor layer 306. In addition, the binary files may indicate the bus protocols used in the bus layer 304 and the customer's proprietary protocols and access credentials used in layer 302. The vehicle information monitoring and extraction software application 152 may use these definitions and access credentials contained in the binary files to access and decrypt messages sent over the encoded vehicle communication bus 138, as an example.

[0065] FIG. 4 illustrates an example vehicle, including multiple different buses, that may be monitored for data extraction by a software application deployed by a vehicle information extraction service, according to some embodiments.

[0066] In some embodiments, a vehicle, such as vehicle 426, may include multiple buses connected to a gateway. For example, vehicle 426 includes gateway 402, which is connected to CAN bus #1 (404), CAN bus #2 (406), Ethernet / IP bus 408, local interconnect (LIN) bus 410, and FlexRay bus 412. As shown in FIG. 4, different types of vehicle information may be transmitted over different types of buses. In some embodiments, a customer may provide access to a unique dictionary only for some or all of the vehicle's buses. Also, a customer may specify that only some or all of the vehicle's buses are to be monitored. Additionally, a customer may specify that only certain components connected to a given bus are to be monitored.

[0067] FIG. 5 illustrates a more detailed view of a storage buffer that may be used by an application deployed by a vehicle information extraction service in some embodiments, which stores data from one or more previous time points that are subject to extraction when one or more trigger criteria are met.

[0068] As shown in FIG. 5, in some embodiments, storage buffer 158 may store more than one type of data in more than one buffer. For example, storage buffer 158 includes a time synchronized decoded text buffer 502, other data buffer 1 (504), and other data buffer N (506). Current data may be stored at time N. Data for the next time point is stored at time N-1, and when the next time point arrives, time N-1 becomes time N, and the data previously stored at time N becomes time N+1. In some embodiments, storage buffer 158 may store data for any number of time points (e.g., N+X, where X is the number of time points buffered). Also, in some embodiments, X may vary by type of vehicle information, such that some types of vehicle information are buffered for longer periods of time than other types of vehicle information.

[0069] In some embodiments, a global timestamp may be applied to the vehicle information when it is stored in the storage buffer 502. Also, in some embodiments, the payload of the data stored in the storage buffer 502 may include a timestamp associated with the stored data generated by other components of the vehicle, such as a timestamp of when a message containing the data was submitted to the encoded vehicle communication bus 138 or a timestamp of when the data was sensed, such as by the physical sensor 136. Thus, in some embodiments, a piece of data may have more than one timestamp associated with it, such as a payload timestamp of when the data was sensed by the physical sensor 136, another payload timestamp of when the data was submitted to the encoded vehicle communication bus 138, and another timestamp of when the data was received at the storage buffer 158. In some embodiments, a piece of data stored in the storage buffer 158 may be stored with more or fewer timestamps. Such timestamps may enable an accurate representation of a sequence of events in the vehicle to be recreated, for example, by the software application 152 or by the extracted data analysis and / or visualization module 114 of the vehicle information extraction service 102.

[0070] FIG. 6 illustrates an example provider network including a vehicle information extraction service and other cloud services offered by the provider network, according to some embodiments.

[0071] In some embodiments, a provider network, such as provider network 602, includes a network device 604, a computing device 606, and a data storage device 608 that implements cloud services 610. In some embodiments, a provider network may implement multiple cloud services in addition to the vehicle information extraction service. For example, provider network 602 implements cloud services 610 that include an IoT software update service 612, a computation service 614, a data storage service 616, a machine learning service 618, a workflow service 620, and other services 622. Cloud services 610 also include vehicle information extraction service 102.

[0072] In some embodiments, an IoT software update service, such as IoT software update service 612, may facilitate software updates on devices connected to the IoT software update service, such as vehicles 126, 142, and 144, as illustrated in FIG. 1. In some embodiments, the IoT software update service may additionally update firmware on the connected devices and may utilize encrypted communications to perform the updates. In some embodiments, the IoT software update service may also include an identification and authentication protocol to prevent unauthorized entities from modifying software on connected devices, such as vehicles, and may encrypt communications to connected devices to prevent changes to the software updates.

[0073] In some embodiments, a computation service, such as computation service 614, may include a computing device implementing a virtual machine that may be used to analyze collected vehicle information and / or to perform a vehicle information extraction service.

[0074] In some embodiments, a data storage service, such as data storage service 616, may include a data storage device that implements virtualized data storage (such as a virtual data storage volume or virtual storage container for object-based storage). In some embodiments, a data storage service, such as data storage service 616, may be used to store vehicle information collected for customers. Also, in some embodiments, a data storage service, such as data storage service 616, may be used to implement components of a vehicle information extraction service, such as limited access storage for proprietary dictionaries.

[0075] In some embodiments, the machine learning service may execute one or more machine learning algorithms to determine relationships of the vehicle information extracted via the vehicle information extraction service, for example, to optimize a workflow service or to optimize another service. For example, in some embodiments, a machine learning service such as machine learning service 618 may be used to optimize parts distribution management based on the vehicle information collected by the vehicle information extraction service. In some embodiments, a machine learning service of a provider network that also provides a vehicle information extraction service may further analyze the extracted vehicle information and / or other information related to a given vehicle or class of vehicles to generate recommendations regarding the type of vehicle information to be monitored and / or trigger criteria for the extraction of vehicle information.

[0076] In some embodiments, a workflow service, such as workflow service 620, may execute a workflow based on the input data and the stored or deployed workflow. For example, in some embodiments, a workflow service, such as workflow service 620, may determine an action to take based on the collected vehicle information. As an example, the workflow service may determine filters, hoses, or fluids that need to be changed or replaced based on applying the collected vehicle information to one or more stored or deployed workflows. In some embodiments, a machine learning service, such as machine learning service 618, may be used to develop or improve a workflow executed by the workflow service 620. In some embodiments, the workflow service 620 may use the extracted vehicle information to initiate a shipment of vehicle parts that are likely to be needed at a particular location in the future based on the extracted vehicle information.

[0077] In some embodiments, cloud services 610 may include various other cloud services, such as other services 622.

[0078] In some embodiments, the vehicle information extraction service may be configured to establish a secure connection to a customer network for delivery of data extracted from a vehicle or a fleet of vehicles. For example, in some embodiments, a customer (e.g., a vehicle supplier or a vehicle component supplier) may receive certain types of vehicle data for use in improving vehicle design and / or for use in managing parts inventory. In some embodiments, a customer network, such as an OEM network, may establish a secure connection to the vehicle information extraction service via a direct connection, such as direct connection 652, or via a logically separated network connection, such as logically separated network connection 654. In some embodiments, a direct connection may include a dedicated physical network link coupling customer network 650 to provider network 610 and / or one or more logically separated network connections within provider network 610 that route traffic from a router physically connected to customer network 650 via direct connection 652 to a computing device and / or storage device implementing vehicle information extraction service 102. For example, the data lake may be implemented using cloud services, such as computation services 614 and data storage services 616, or may be implemented directly by the customer using customer resources, such as customer computing devices 656, customer storage devices 658, or other customer devices 660.

[0079] 7A-7F illustrate example user interface pages used to define and enable data extraction from a vehicle or fleet of vehicles, according to some embodiments.

[0080] In Figure 7A, a customer may utilize designer canvas 700 to input configuration information (e.g., digital twin) for the vehicle model to be created. In box 702, the customer may specify the model name (704), vehicle model of the real-world vehicle (706), model year of the real-world vehicle (708), and part manufacturer (710) if only parts of a specific manufacturer are to be monitored. In 712, the customer may also specify the type of part to be monitored. In 714, the customer may select enter to create the vehicle model.

[0081] In FIG. 7B, a customer may provide identifying information for a real-world vehicle that will be paired with the digital twin vehicle model created in FIG. 7A. For example, in box 722, the customer may specify a unique vehicle identifier (724), a VIN number (726), a license plate number (728), an owner's name (730), an owner's email (732), an owner's country or language (734), and in 736, the customer may select enter to complete the definition of the real-world vehicle that will be paired with the digital twin vehicle model. In some embodiments, the customer may only be required to provide a unique vehicle identifier, and other fields may be auto-populated. For example, a manufacturing inventory management system may automatically populate the VIN number (726). As another example, a dealer or distribution management system may automatically populate the license plate (728), the owner's name (730), the owner's email (732), the country / language (734), etc. In some embodiments, more or fewer fields may be used to provide identifying information for the real-world vehicle.

[0082] In Figure 7C, the customer may specify a gateway (or other component) of a real-world vehicle where the in-vehicle monitoring and data extraction software will be deployed. For example, in box 742, the customer may specify a name for the deployment component (744), a proxy server (746) for communicating with the deployment component, an operating system or runtime environment configuration (748) for the deployment component, a network interface (750) for the software package that communicates with the deployment component, and an installation directory (752) for the deployment component where the packaged software will be installed. In 754, the customer may select enter to submit the deployment component definition and configuration.

[0083] In FIG. 7D, a customer may select buses and components connected to the buses to be monitored. For example, in box 762, a customer may specify a bus name at 764 and select components connected to the selected bus at 766-774. Button 776 may be used to upload or otherwise provide access to a custom dictionary for the selected bus. In some embodiments, components connected to the bus may be pre-populated for selection based on information contained in a custom dictionary uploaded via button 776. Note that in some embodiments, more than one bus may be selected for monitoring. Thus, a similar page as shown in FIG. 7D may be used for additional buses. At 778, a customer may submit a selected bus monitoring configuration.

[0084] In some embodiments, additional user interface pages may be provided between those shown in Figures 7B and 7C to allow a customer to define the components of the vehicle, such as the buses included in the vehicle, the ECUs connected to those buses, the sensors connected to the ECUs, etc. In some embodiments, this information may be pre-populated based on the contents of a proprietary dictionary uploaded and / or other information about the particular make and / or model of the vehicle stored by the vehicle information extraction service. Also, in some embodiments, a customer may be able to add to or modify the pre-populated, stock-available buses, ECUs, sensors, etc.

[0085] In FIG. 7E, the customer may further select the particular sensors connected to the components of the bus to be monitored. For example, in box 782, the customer makes selections 786-790 for components connected to the front camera ECU (784), and in 794, the customer selects the seat controller ECU (792). In some embodiments, the customer may select either the sensors or ECUs to be monitored, or both. For example, the front camera ECU (784) may have multiple attached sensors that may be selected, while the seat controller ECU (792) may be a simple ECU with no additional sensors or only a few sensors connected. Thus, the customer may request to monitor all communications from a given ECU and / or may select to monitor communications to a particular sensor.

[0086] In some embodiments, a vehicle binary file may be generated based on an inventory of buses, ECUs, sensors, etc. available for monitoring, and a configuration file may be generated based on the particular ECUs and sensors selected for monitoring, such as via the pages shown in Figures 7D and 7E.

[0087] In FIG. 7F, in box 701, the customer may further pair the configured buses to be monitored (703 and 705) with the deployment components (707) defined in FIG. 7C, and may select button 709 to generate binary and configuration files for deployment to the deployment components selected in 707 to enable monitoring of the selected buses 703 and 705 using the monitoring configuration defined in FIGS. 7D and 7E.

[0088] FIG. 8 illustrates a flowchart of operations performed by a vehicle information service to deploy a data monitoring and extraction software package to a vehicle, according to some embodiments, and also illustrates operations performed by the vehicle information service in response to requested vehicle information being extracted from the vehicle.

[0089] In block 802, the vehicle information extraction service receives a dictionary file that includes proprietary encoding protocols used in the vehicle or by vehicle components.

[0090] In block 804, the vehicle information extraction service stores the dictionary file in a physical or logical container with limited access so that the proprietary contents of the dictionary file are not visible to anyone other than the vehicle supplier or vehicle component supplier that provided the dictionary file.

[0091] In block 806, the vehicle information extraction service receives an indication of one or more types of vehicle information to be monitored for extraction from a vehicle or fleet of vehicles. The vehicle information extraction service also receives trigger criteria that indicate the conditions under which the monitored vehicle information will be extracted from the vehicles and sent to the vehicle information extraction service or to a customer.

[0092] In block 808, the vehicle information extraction service generates one or more binary files based on the dictionary file that are provided to the monitored vehicle, the one or more binary files enabling a software application executing in the vehicle's gateway environment to decode communications structured according to a unique structure / protocol defined in the dictionary file.

[0093] In block 810, the vehicle information extraction service generates one or more configuration files based on the indicated types of vehicle information to be monitored and the indicated trigger criteria for those types of vehicle information to be monitored.

[0094] In block 812, the vehicle information extraction service provides one or more binary files and one or more configuration files for loading into the gateway environment of the vehicle to be monitored.

[0095] In block 814, the vehicle information extraction service receives a packet containing vehicle information extracted from the vehicle for the vehicle components to be monitored as defined in the binary file.

[0096] In block 816, the vehicle information service coordinates with one or more other services in the provider network to analyze the packets and contacts the customer if one or more threshold conditions are met in the extracted vehicle information. The vehicle information extraction service also provides an API for customers to access the extracted, decoded or analyzed data from the vehicle.

[0097] FIG. 9 illustrates a flowchart of operations performed by a software application deployed to a vehicle from a vehicle information extraction service, according to some embodiments, where the software application monitors vehicle bus traffic and extracts vehicle information that is sent to the vehicle information extraction service when one or more trigger criteria are met.

[0098] In block 902, a vehicle information monitoring software application deployed in the vehicle receives a package including binary and / or configuration files for use in decoding / interpreting vehicle information being communicated over the vehicle bus according to a proprietary structure or format.

[0099] In block 904, a vehicle information monitoring software application deployed in the vehicle uses the binary file to decipher the vehicle information being communicated over the vehicle bus and interprets the structured data according to a proprietary structure or format.

[0100] In block 906, a vehicle information monitoring software application deployed on the vehicle stores the decrypted vehicle information and / or the encoded vehicle information in a storage buffer that stores vehicle information for multiple past time points.

[0101] In block 908, a vehicle information monitoring software application deployed on the vehicle monitors the decrypted vehicle information to determine if one or more trigger criteria are met to trigger data extraction of the vehicle information from the vehicle and to a cloud-based data extraction service or customer.

[0102] At block 910, the vehicle information monitoring software application deployed on the vehicle generates one or more packets including decrypted (or encoded) vehicle information corresponding to the satisfied trigger criteria in response to determining that one or more of the trigger criteria have been satisfied. In some embodiments, the packets may include decrypted (or encoded) vehicle information corresponding to the satisfied trigger criteria that was stored in a storage buffer before the trigger criteria was satisfied, as well as decrypted vehicle information corresponding to the satisfied trigger criteria that was collected after the trigger criteria was satisfied.

[0103] In block 912, the vehicle information monitoring software application deployed in the vehicle sends one or more packets to the data extraction service via a network connection established between the vehicle's gateway (or other component) and the service provider network that provides the data extraction service. Optionally, the one or more packets may additionally or alternatively be sent to a customer's network. Exemplary Computer System

[0104] Any of a variety of computer systems may be configured to implement processes associated with the vehicle information extraction service, the software applications / packages deployed from the vehicle information extraction service to the vehicle, the provider network implementing the vehicle information extraction service, the operating system in the vehicle or device, or any other component of the above figures. For example, FIG. 10 is a block diagram illustrating an example computer system implementing some or all of the techniques described herein, according to some embodiments. In various embodiments, the vehicle information extraction service, the deployed software packages, the provider network implementing the vehicle information extraction service and other cloud services, the operating system in the vehicle or device, or any other component of the above figures 1-9 may each include one or more computer systems 1000, such as those illustrated in FIG. 10.

[0105] In the illustrated embodiment, computer system 1000 includes one or more processors 1010 coupled to a system memory 1020 via an input / output (I / O) interface 1030. Computer system 1000 further includes a network interface 1040 coupled to the I / O interface 1030. In some embodiments, computer system 1000 may be illustrative of a server implementing enterprise logic or downloadable applications, while in other embodiments a server may include more, fewer, or different elements than computer system 1000.

[0106] In various embodiments, the computing device 1000 may be a uniprocessor system including one processor, or a multiprocessor system including several (e.g., two, four, eight, or another suitable number) processors 1010A-1010N. The processors 1010A-1010N may include any suitable processor capable of executing instructions. For example, in various embodiments, the processors 1010A-1010N may be processors implementing any of a variety of instruction set architectures (ISAs), such as the x86, PowerPC, SPARC, or MIPS ISAs, or any other suitable ISA. In some embodiments, the processors 1010A-1010N may include dedicated processors, such as graphics processing units (GPUs), application specific integrated circuits (ASICs), etc. In a multiprocessor system, each of the processors 1010A-1010N may generally, but not necessarily, implement the same ISA.

[0107] The system memory 1020 may be configured to store program instructions and data accessible by the processors 1010A-1010N. In various embodiments, the system memory 1020 may be implemented using any suitable memory technology, such as static random access memory (SRAM), synchronous dynamic RAM (SDRAM), non-volatile / flash memory, or any other type of memory. In the illustrated embodiment, the program instructions and data implementing one or more desired functions, such as the methods, techniques, and data described above, are shown stored in the system memory 1020 as code (i.e., program instructions) 1025 and data 1035.

[0108] In one embodiment, the I / O interface 1030 may be configured to coordinate I / O traffic between the processors 1010A-1010N, the system memory 1020, and any peripheral devices within the device, including the network interface 1040 or other peripheral interfaces. In some embodiments, the I / O interface 1030 may perform any necessary protocol, timing, or other data conversions to convert data signals from one component (e.g., the system memory 1020) into a format suitable for use by another component (e.g., the processor 1010). In some embodiments, the I / O interface 1030 may include support for devices attached through various types of peripheral buses, such as, for example, variations of the Peripheral Component Interconnect (PCI) bus standard or the Universal Serial Bus (USB) standard. In some embodiments, the I / O interface 1030 may include support for devices attached via an automotive CAN bus, or the like. In some embodiments, the functionality of the I / O interface 1030 may be split into two or more separate components, such as, for example, a northbridge and a southbridge. Additionally, in some embodiments, some or all of the functionality of I / O interface 1030, such as the interface to system memory 1020, may be incorporated directly within processors 1010A-1010N.

[0109] Network interface 1040 may be configured to allow data to be exchanged between computing device 1000 and other devices 1060 attached to network 1050. In various embodiments, network interface 1040 may support communication over any suitable wired or wireless general-purpose data network, such as, for example, an Ethernet network, a cellular network, a Bluetooth network, a Wi-Fi network, an ultra-wideband network type, etc. In addition, network interface 1040 may support communication over a telecommunications / telephone network, such as an analog voice network or a digital fiber communications network, over a storage area network, such as a Fibre Channel SAN, or over any other suitable type of network and / or protocol.

[0110] In some embodiments, the system memory 1020 may be an embodiment of a computer-readable (i.e., computer-accessible) medium configured to store program instructions and data, as described above, for implementing the corresponding method, system, and apparatus embodiments. However, in other embodiments, the program instructions and / or data may be received, sent, or stored on different types of computer-readable media. Generally speaking, the computer-readable medium may include a non-transitory storage or memory medium, such as a magnetic or optical medium (e.g., disk or DVD / CD), coupled to the computing device 1000 via the I / O interface 1030. The one or more non-transitory computer-readable storage media may also include any volatile or non-volatile medium, such as a RAM (e.g., SDRAM, DDR SDRAM, RDRAM, SRAM, etc.), a ROM, etc., that may be included in some embodiments of the computing device 1000 as the system memory 1020 or another type of memory. Additionally, computer-readable media may include transmission media or signals, such as electrical, electromagnetic, or digital signals, conveyed over a communication medium, such as a network and / or wireless link, as may be implemented via network interface 1040. Some or all of multiple computing devices, such as those illustrated in FIG. 10, may be used to implement the functionality described in various embodiments, e.g., software components running on various different devices and servers may work together to provide functionality. In some embodiments, portions of the described functionality may be implemented using storage devices, network devices, or various types of computer systems. As used herein, the term "computing device" refers to at least all of these types of devices, but is not limited to these types of devices.

[0111] Embodiments of the present disclosure can be described in view of the following provisions. Clause 1. A system for implementing a vehicle information extraction service, the system comprising: One or more computing devices, receiving a dictionary file from a vehicle supplier or a vehicle component supplier, the dictionary file including definitions for use in decoding communications encoded according to the vehicle supplier's encoding format or the vehicle part supplier's encoding format; storing the dictionary file in a physical or logical container with limited access such that the contents of the dictionary file are not visible to anyone other than the vehicle supplier or the vehicle component supplier; generating one or more binary files to be provided to the vehicle based on the dictionary file, the one or more binary files including information for decoding communications encoded using a vehicle original encoding format or a vehicle component original encoding format, the one or more binary files not revealing the contents of the dictionary file; providing one or more binary files for loading onto a gateway or other component of the vehicle, wherein a software application implemented on the gateway or implemented on the other component is configured to use the one or more binary files to decode vehicle information being communicated over one or more communication buses of the vehicle, the vehicle information being communicated over the one or more communication buses being formatted according to a vehicle native encoding format or a vehicle component native encoding format; and receiving, from the vehicle, via one or more network devices, a vehicle information packet including vehicle information extracted from the vehicle. Clause 2. One or more computing devices: receiving an indication of vehicle information extracted from a vehicle manufactured by a vehicle supplier or from a vehicle including components supplied by a vehicle part supplier; generating one or more configuration files based on the indicators; The system of clause 1, further configured to provide one or more binary files within a software package to be loaded into a gateway or other component of the vehicle to one or more configuration files. Clause 3. Indicators of vehicle information extracted from a vehicle include: an indication of one or more types of vehicle information to be extracted; one or more trigger conditions for triggering the extraction of one or more types of vehicle information; A software application implemented on a gateway or other component of the vehicle, monitoring traffic on one or more communication buses of the vehicle for vehicle information corresponding to the one or more indicated types; storing vehicle information corresponding to the one or more indicated types in a storage buffer; In response to one or more trigger conditions being satisfied, and generating one or more packets including at least a portion of the vehicle information stored in the storage buffer corresponding to the one or more indicated types. Clause 4. One or more packets generated in response to one or more trigger conditions being satisfied vehicle information corresponding to the one or more indicated types of vehicle information that was stored in the storage buffer for a period of time before the one or more trigger conditions were satisfied; and for another period of time after the one or more trigger conditions are satisfied, vehicle information corresponding to the one or more indicated types of vehicle information. Clause 5. One or more computing devices of the system: receiving, from a vehicle supplier or a vehicle component supplier, an updated indication of vehicle information extracted from the vehicle, the updated indication indicating one or more additional or alternative types of vehicle information extracted from the vehicle; generating one or more additional configuration files to be provided to the vehicle based on the updated indicators of vehicle information extracted; providing one or more additional configuration files for loading into a gateway or other component of the vehicle, the software application being configured to use the one or more additional configuration files to identify vehicle information being communicated over one or more communication buses of the vehicle that corresponds to the updated indication; The system of any one of clauses 1 to 4, further configured to receive, from the vehicle, via one or more network devices, a vehicle information packet including vehicle information extracted from the vehicle according to updated indicators received from a vehicle supplier or a vehicle component supplier. Clause 6. One or more computing devices of the system receiving, from a vehicle supplier or a vehicle component supplier, an updated indication of vehicle information extracted from the vehicle, the updated indication indicating one or more additional or alternative types of vehicle information extracted from the vehicle; generating one or more additional binary files to be provided to the vehicle based on the dictionary file and the updated index of vehicle information to be extracted; providing one or more additional binary files for loading onto a gateway or other component of the vehicle, the software application being configured to use the one or more additional binary files to decode vehicle information being communicated over one or more communication buses of the vehicle and identify vehicle information that corresponds to the updated index; The system of any one of clauses 1 to 5, further configured to receive, from the vehicle, via one or more network devices, a vehicle information packet including vehicle information extracted from the vehicle according to updated indicators received from a vehicle supplier or a vehicle component supplier. Article 7. Indications of vehicle information extracted from a vehicle manufactured by a vehicle supplier or from a vehicle equipped with components supplied by a vehicle part supplier, an individual vehicle from which vehicle information is extracted; The system of any one of clauses 1 to 6, further comprising: specifying a class of vehicle having one or more characteristics from which vehicle information is extracted. Clause 8. One or more non-transitory computer-readable storage media storing instructions that, when executed on or across one or more processors, cause the one or more processors to: receiving a package including one or more binary files for use in decoding vehicle information being communicated over one or more communication buses of the vehicle; Decoding at least a portion of the vehicle information being communicated over one or more communication buses of the vehicle; storing at least a portion of the vehicle information in a storage buffer; and generating one or more packets to be sent to a remote vehicle data service in response to one or more trigger conditions being satisfied, the one or more packets including the vehicle information stored in the storage buffer. Article 9. the package further includes information indicating a trigger condition for extracting the first type of vehicle information and one or more additional trigger conditions for extracting the one or more additional types of vehicle information, at least some of the trigger conditions being different; The instructions, when executed on or across one or more processors, cause the one or more processors to: causing the generated one or more packets to include one or more types of vehicle information for which one or more corresponding trigger conditions are satisfied; The one or more non-transitory computer-readable storage media of clause 8, wherein other types of vehicle information stored in the storage buffer that correspond to other trigger conditions that are not satisfied are not included in the one or more generated packets. Clause 10. The instructions, when executed on or across one or more processors, cause one or more processors to: storing other vehicle information, including audio or visual data from one or more sensors of the vehicle, in a storage buffer; and including at least a portion of the other vehicle information, including audio data or visual data from one or more sensors, in the generated one or more packets that are sent to a remote vehicle data service in response to the one or more trigger conditions being satisfied. Clause 11. The decrypted vehicle information includes text data, one or more of the trigger conditions includes a condition based on text data; The one or more non-transitory computer-readable storage media of clause 10, wherein the one or more trigger conditions further include an indication of one or more other types of vehicle information, including audio data or visual data, that is extracted when the text-based trigger condition is satisfied. Article 12. If the package an identification of one or more components of the vehicle that are authorized to receive the decoded vehicle information or to access the decoded vehicle information stored in the storage buffer; The instructions, when executed on or across one or more processors, cause the one or more processors to: One or more non-transitory computer-readable storage media described in any one of clauses 8-12, further configured to provide access to the decrypted information to one or more components of the vehicle that are authorized to receive or access the decrypted vehicle information. Clause 13. The instructions, when executed on or across one or more processors, cause one or more processors to: monitoring the decoded information for a condition that satisfies one or more trigger conditions; and determining whether the decoded information from one or more buses of the vehicle is: One or more non-transitory computer-readable storage media according to any one of clauses 8-12, containing decoded information from one or more Controller Area Network (CAN) buses of a vehicle. Article 14. The decoded information from one or more buses of the vehicle is An additional CAN bus in the vehicle, and one or more non-transitory computer readable storage media as described in clause 13, further comprising a vehicle Ethernet or IP bus and decoded information from the vehicle Ethernet or IP bus. Clause 15. One or more non-transitory computer-readable storage media according to clause 8, wherein the program instructions are configured to be executed on a processor of the gateway environment of the vehicle. Clause 16. One or more non-transitory computer-readable storage media storing instructions that, when executed on or across one or more processors, cause the one or more processors to: storing dictionary files received from a vehicle supplier or from a vehicle component supplier in a container with restricted access such that the contents of the dictionary files are not visible to anyone other than the vehicle supplier or the vehicle component supplier; generating, based on the dictionary file, one or more binary files to be provided to the vehicle, the one or more binary files including information for decoding communications encoded using a vehicle original encoding format or a vehicle component original encoding format; and one or more non-transitory computer-readable storage media that cause a vehicle to provide one or more binary files for use in decoding vehicle information communicated over one or more communication buses of the vehicle, the vehicle information being formatted according to a vehicle original encoding format or a vehicle component original encoding format. Clause 17. The instructions, when executed on or across one or more processors, cause one or more processors to: A user interface is implemented, and the user interface is configured to receive input from a vehicle supplier or a vehicle component supplier, the input comprising: A specific vehicle from which vehicle information is extracted; The location of the vehicle where the binary file is extracted; A bus of the vehicle to be monitored; and vehicle components connected to the bus from which vehicle information is extracted if a trigger criterion is met. Clause 18. The user interface is further configured to receive input from a vehicle supplier or a vehicle component supplier, the input comprising: One or more non-transitory computer-readable storage media as described in clause 17 defining additional buses of vehicles and vehicle components connected to the additional buses to be monitored and from which vehicle information is extracted when trigger criteria are met. Article 19. Program instructions: providing the extracted vehicle information to a machine learning service; and receiving suggestions for additional types of vehicle information to be monitored and / or additional trigger criteria; 19. The one or more non-transitory computer-readable storage media of clause 17 or 18, further configured to: update one or more configuration files based on the received suggestions. Clause 20. The user interface is further configured to receive input from a vehicle supplier or a vehicle component supplier, the input comprising: One or more processors according to any one of clauses 17 to 19, defining other components of the vehicle that are licensed to share the decrypted communications decrypted using the provided one or more binary files. Clause 21. The instructions, when executed on or across one or more processors, cause one or more processors to: receiving one or more vehicle information packets from the vehicle, the vehicle information packets including vehicle information extracted from the vehicle according to an indication received from a vehicle supplier or a vehicle component supplier; and implementing an analytics pipeline configured to perform near real-time monitoring of received vehicle information extracted from the vehicle. Article 22. The analytical pipeline: analyzing audio or visual vehicle information contained in one or more vehicle information packets; and verifying one or more artificial intelligence (AI) inferences generated in the vehicle and included in one or more vehicle information packets based on the analyzed audio or visual vehicle information. Article 23. The analytical pipeline: One or more non-transitory computer-readable storage media as described in clause 21, configured to provide audio or visual vehicle information and AI inferences generated in the vehicle to a machine learning algorithm to generate updates to the AI ​​inference generation software deployed on the vehicle.

[0112] The various methods as illustrated in the figures and described herein represent exemplary embodiments of the methods. The methods may be performed manually, in software, in hardware, or a combination thereof. The order of any method may be changed, and various elements may be added, rearranged, combined, omitted, modified, etc. For example, in one embodiment, the methods may be performed by a computer system including a processor executing program instructions stored on a computer-readable storage medium coupled to the processor. The program instructions may be configured to implement functions described herein (e.g., functions of data transfer tools, various services, databases, devices and / or other communication devices, etc.).

[0113] As will be apparent to those skilled in the art, having the benefit of this disclosure, various modifications and changes may be made It is intended to cover all such modifications and changes, and therefore the above description is intended to be regarded in an illustrative rather than a limiting sense.

[0114] Various embodiments may further include receiving, sending, or storing instructions and / or data implemented in accordance with the foregoing description on a computer-accessible medium. Generally speaking, a computer-accessible medium may include storage or memory media such as magnetic or optical media (e.g., disks or DVD / CD-ROMs), volatile or non-volatile media such as RAM (e.g., SDRAM, DDR, RDRAM, SRAM, etc.), ROM, and transmission media or signals such as electrical, electromagnetic, or digital signals conveyed over a communication medium such as a network and / or wireless link.

Claims

1. 1. A system for implementing a vehicle information extraction service, comprising: One or more computing devices, receiving a dictionary file from a vehicle supplier or from a vehicle component supplier, the dictionary file including definitions for use in decoding communications encoded according to an encoding format of the vehicle supplier or an encoding format of the vehicle component supplier; storing said dictionary file in a physical or logical container with limited access such that the contents of said dictionary file are not visible to anyone other than a supplier of said vehicle or a supplier of said vehicle component; generating one or more binary files to be provided to the vehicle based on the dictionary file, the one or more binary files including information for decoding communications encoded using the encoding format of an original supplier of the vehicle or the encoding format of an original supplier of the vehicle components, the one or more binary files not revealing the content of the dictionary file; providing the one or more binary files for loading into a gateway or other component of the vehicle, wherein a software application implemented in the gateway or implemented in the other component is configured to use the one or more binary files to decode vehicle information communicated over one or more communication buses of the vehicle, the vehicle information communicated over the one or more communication buses being formatted according to the encoding format of a source of the vehicle or the encoding format of a source of the vehicle component; and receiving, from the vehicle, via one or more network devices, a vehicle information packet including vehicle information extracted from the vehicle.

2. the one or more computing devices; receiving an indication of vehicle information extracted from a vehicle manufactured by a supplier of the vehicle or from a vehicle including components supplied by a supplier of the vehicle component; generating one or more configuration files based on the indicators; 2. The system of claim 1, further configured to: provide the one or more binary files in a software package that is loaded onto the gateway or other component of the vehicle to the one or more configuration files.

3. The indicator of the vehicle information extracted from the vehicle is: an indication of one or more types of vehicle information to be extracted; one or more trigger conditions for triggering the extraction of the one or more types of vehicle information; The software application implemented on the gateway or other component of the vehicle, monitoring traffic on the one or more communication buses of the vehicle for vehicle information corresponding to the one or more indicated types; storing the vehicle information corresponding to the one or more indicated types in a storage buffer; in response to the one or more trigger conditions being satisfied, 3. The system of claim 2, further configured to: generate one or more packets containing at least a portion of the vehicle information stored in the storage buffer that corresponds to the one or more indicated types.

4. the one or more packets generated in response to the one or more trigger conditions being satisfied, vehicle information corresponding to the one or more indicated types of vehicle information that was stored in the storage buffer for a period of time before the one or more trigger conditions were met; and vehicle information corresponding to the one or more indicated types of vehicle information for another period of time after the one or more trigger conditions are met.

5. the one or more computing devices of the system: receiving, from a supplier of the vehicle or a supplier of the vehicle component, an updated indication of vehicle information extracted from the vehicle, the updated indication indicating one or more additional or alternative types of vehicle information to be extracted from the vehicle; generating one or more additional configuration files to be provided to the vehicle based on the updated index of extracted vehicle information; providing the one or more additional configuration files for loading into the gateway or other indexing component of the vehicle, the software application being configured to use the one or more additional configuration files to identify the vehicle information being communicated over one or more communication buses of the vehicle that correspond to the updated information; The system of any one of claims 1 to 4, further configured to: receive from the vehicle via one or more network devices a vehicle information packet comprising vehicle information extracted from the vehicle according to the updated indication received from a supplier of the vehicle or a supplier of the vehicle components.

6. the one or more computing devices of the system: receiving, from a supplier of the vehicle or a supplier of the vehicle component, an updated indication of vehicle information extracted from the vehicle, the updated indication indicating one or more additional or alternative types of vehicle information to be extracted from the vehicle; generating one or more additional binary files based on the dictionary file and the updated index of extracted vehicle information for provision to the vehicle; providing the one or more additional binary files for loading onto the gateway or other component of the vehicle, the software application being configured to use the one or more additional binary files to decode the vehicle information being communicated over one or more communication buses of the vehicle and identify vehicle information that corresponds to the updated index; The system of any one of claims 1 to 5, further configured to: receive from the vehicle via one or more network devices a vehicle information packet comprising vehicle information extracted from the vehicle according to the updated indicators received from a supplier of the vehicle or a supplier of the vehicle components.

7. an indication of vehicle information extracted from the vehicle manufactured by a supplier of the vehicle or from the vehicle comprising components supplied by a supplier of the vehicle component; an individual vehicle from which the vehicle information is extracted; or A system according to any one of claims 1 to 6, further comprising specifying a class of vehicle having one or more characteristics from which the vehicle information is to be extracted.

8. One or more non-transitory computer-readable storage media storing instructions that, when executed on or across one or more processors, cause the one or more processors to: receiving a package including one or more binary files for use in decoding vehicle information being communicated over one or more communication buses of the vehicle; Decoding at least a portion of the vehicle information being communicated over the one or more communication buses of the vehicle; storing at least a portion of the vehicle information in a storage buffer; and generating one or more packets to be sent to a remote vehicle data service in response to the one or more trigger conditions being satisfied, the one or more packets including the vehicle information stored in the storage buffer.

9. the package further comprising information indicating a trigger condition for extracting a first type of vehicle information and one or more additional trigger conditions for extracting one or more additional types of vehicle information, at least some of the respective trigger conditions being different; The instructions, when executed on or across the one or more processors, cause the one or more processors to: causing the generated one or more packets to include one or more types of vehicle information for which one or more corresponding trigger conditions are satisfied; 10. The one or more non-transitory computer-readable storage media of claim 8, wherein other types of vehicle information stored in the storage buffer that correspond to other trigger conditions that are not satisfied are not included in the one or more generated packets.

10. The instructions, when executed on or across the one or more processors, cause the one or more processors to: storing other vehicle information in the storage buffer, including audio or visual data from one or more sensors of the vehicle; and, in response to the one or more trigger conditions being satisfied, including at least a portion of the other vehicle information, including audio data or visual data from the one or more sensors, in the generated one or more packets sent to the remote vehicle data service.

11. the decoded vehicle information includes text data; the one or more trigger conditions include a condition based on the text data; 11. The one or more non-transitory computer-readable storage media of claim 10, wherein the one or more trigger conditions further include an indication of one or more other types of vehicle information, including audio data or visual data, that is extracted when the text-based trigger condition is satisfied.

12. The package comprises: further comprising an indication of one or more components of the vehicle that are authorized to receive the decoded vehicle information or to access the decoded vehicle information stored in the storage buffer; The instructions, when executed on or across the one or more processors, cause the one or more processors to: The one or more non-transitory computer-readable storage media of any one of claims 8 to 11, further configured to provide access to the decrypted information to the one or more components of the vehicle that are authorized to receive or access the decrypted vehicle information.

13. The instructions, when executed on or across the one or more processors, cause the one or more processors to: monitoring the decoded information for a condition that satisfies the one or more trigger conditions, and the decoded information from the one or more buses of the vehicle is:

13. One or more non-transitory computer-readable storage media according to any one of claims 8 to 12, comprising decoded information from one or more Controller Area Network (CAN) buses of the vehicle.

14. the decoded information from the one or more buses of the vehicle; an additional CAN bus of the vehicle; or The one or more non-transitory computer-readable storage media of claim 13 , further comprising decoded information from an Ethernet or IP bus of the vehicle.

15. 15. The one or more non-transitory computer-readable storage media of any one of claims 8 to 14, wherein the instructions are configured to be executed on a processor of a gateway environment of the vehicle.

Citation Information

Patent Citations

  • Device for updating vehicle basic function control program

    JP2002202895A

  • Network between vehicle controllers

    JP2007214696A

  • Service providing system, service providing device, device for vehicle, and information communication method

    JP2019160199A

  • Drive recorder

    JP2020035014A

  • Vehicle communication apparatus

    US20140073254A1