Subscription System for Vehicle Data Streams
A vehicle data streaming service manages a catalog of attributes to streamline data transfer from multiple sources to destinations, addressing inefficiencies in modern vehicles by ensuring relevant data is transmitted efficiently.
Patent Information
- Application Number
- JP2024572688
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-06-10
- Filing Date
- 2023-06-09
- Publication Date
- 2025-07-08
- Estimated Expiration
- 2043-06-09
AI Technical Summary
The challenge of connecting and coordinating data streams from multiple vehicle sensors to multiple destinations in modern vehicles, where vehicles generate vast amounts of data, leading to inefficiencies and unnecessary network load due to irrelevant data transmission.
A vehicle data streaming service that manages a curated catalog of vehicle attributes, enabling data stream sources to register and associate data streams with attributes, and allows destinations to subscribe to relevant data, facilitating seamless data transfer and standardization.
Enhances data sharing by reducing unnecessary data transmission, improving network efficiency, and ensuring data relevance to the destination, while managing registration and subscription processes.
Smart Images

Figure 2025521251000001_ABST
Abstract
Description
Background Art
[0001] Modern vehicles such as passenger cars, trucks, and motorcycles are often manufactured with electronic sensors, and are programmed with control algorithms that extract inputs from such electronic sensors and determine various control actions for the vehicle (or a system implemented in the vehicle). These modern vehicles are equipped with an increasing variety of sensors that generate various types and amounts of data, often exceeding those generated by previous vehicles. Such data generated from various sensors can be stored or transmitted for use by various users such as downstream applications or data analysis. However, connecting and coordinating the delivery of data streams from multiple data sources, such as vehicle sensors, to multiple destinations poses an important challenge.
Brief Description of the Drawings
[0002]
Figure 1
Figure 2
Figure 3
Figure 4A
Figure 4B
Figure 4C
Figure 5
Figure 6A
Figure 6B
Figure 6C
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
[0003] Embodiments are described herein as examples of some embodiments and illustrative drawings, but those skilled in the art will recognize that the embodiments are not limited to the described embodiments or drawings. The drawings and their detailed description are not intended to limit the embodiments to the specific forms disclosed, but rather, the intention is to cover all modifications, equivalents, and alternatives within the spirit and scope defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to limit the scope of the description or the claims. As used throughout this application, the word "may" is used in a permissive sense (i.e., having the potential to) rather than a mandatory sense (i.e., must). Similarly, the words "include", "including", and "includes" mean including but not limited to.
Best Mode for Carrying Out the Invention
[0004] The systems and methods described herein include techniques for implementing a vehicle data streaming service for managing vehicle data provided by multiple vehicle data stream sources and received at multiple data stream destinations.
[0005] One trend in the automotive industry is increasingly focusing on the concept of connected vehicles equipped with electronic sensors for various applications, from improving vehicle fuel efficiency to advancing automation using artificial intelligence (AI). Vehicles are generating exponentially more data with each new generation, and are not only beginning to be mechanically differentiated from each other, but are also becoming increasingly differentiated by software. As vehicles become more advanced and rely on more sensors that generate large amounts of data, the opportunities to use such sensor data to improve vehicle performance are also increasing. For example, for a given set of data streams generated by a vehicle, there may be multiple specialized data stream providers that each manage a respective portion of the vehicle sensor data. Further, there may be multiple data stream destinations that are each interested in receiving a selected portion of the vehicle data generated by the vehicle, such as one or more selected vehicle streams related to an analysis performed using the streamed vehicle data. For example, some destinations may only be interested in receiving a selected portion of the vehicle data generated by the vehicle, such as one or more selected vehicle streams related to an analysis performed using the streamed vehicle data. Transmitting all available data from the vehicle can not only create an unnecessary network load involved in transferring large amounts of data, but also create inefficiencies that require filtering vehicle data that is irrelevant to the destination. Thus, a vehicle data streaming service that enables connecting vehicle data stream sources to specific vehicle attributes and allowing vehicle data stream consumers to select to receive only vehicle data for the selected vehicle attributes improves data sharing by reducing the transmission and filtering of unnecessary vehicle data. The vehicle data streaming service also provides a mechanism for advertising available vehicle attributes to potential vehicle data consumers and a mechanism for seamlessly connecting vehicle data stream sources and vehicle data stream destinations in a simple manner.For example, a vehicle data streaming service may simply provide a subscriber to a vehicle data stream for a selected attribute with the destination address to which the subscribed streaming vehicle data for the selected attribute is to be delivered, and the vehicle data streaming service may route the streaming vehicle data from the vehicle data source to the destination and / or perform any necessary conversions to the streaming vehicle data so that the streaming vehicle data conforms to the schema of the vehicle data streaming service and is delivered to the destination in a standardized format, and may manage the mapping and connection.
[0006] For example, in addition to the fact that there may be multiple data stream sources and multiple destinations, the administrator of an individual destination may not be aware of all of the data stream sources that can be subscribed to. Also, even if the administrator of a given data stream destination is aware of a data stream source and is interested in receiving streaming data therefrom, in the process of creating a data stream, including whether the data stream destination has valid access authentication information, further coordination between the data stream destination administrator and the data stream source administrator may be required. Additionally, vehicle data from various data stream sources may be further configured in different vehicle schemas and may need to be modified to be usable by the data stream destination, so there may be issues regarding the standardization and interoperability of vehicle data. Accordingly, in some embodiments, a vehicle data streaming service may be used to facilitate the transfer of vehicle data between a data stream source and a data stream destination to address these issues.
[0007] For example, in some embodiments, the vehicle data streaming service may facilitate the movement of vehicle data from various sources by providing a curated catalog of vehicle attributes and enabling vehicle data stream sources to register those data streams and associate them with the vehicle attributes in the catalog. The vehicle data streaming service may enable vehicle data stream destinations to subscribe to vehicle attributes within the vehicle catalog. For example, the vehicle data streaming service may obtain vehicle data streamed from a vehicle data stream source and transmit the received streamed data to a vehicle data stream destination. The vehicle data streaming service may further provide governance of the registration / subscription process and impose data schema requirements and access requirements. Additionally, the vehicle data streaming service may manage the vehicle attribute catalog and assist in the discovery of related vehicle attributes.
[0008] FIG. 1 illustrates a vehicle data streaming service that provides a curated catalog of vehicle attributes, enables registration of data streams with the data streaming service, and associates the data stream with the vehicle attributes in the catalog in response to successful registration. The vehicle data streaming service also enables vehicle data stream destinations to subscribe to vehicle attributes within the catalog. The vehicle data streaming service further receives vehicle data streamed from a data stream source and transmits the streamed vehicle data that complies with the registration requirements to a vehicle data stream destination. Additionally, according to some embodiments, the vehicle data streaming service manages the vehicle attribute catalog and manages the registration / subscription of one or more sources / destinations.
[0009] In FIG. 1, the vehicle data streaming service 104 includes a vehicle attribute catalog 106 and a data stream source-destination mapping 152. The vehicle data streaming service 104 may enable one or more users to manage the vehicle streaming service via an interface, and one or more users may be able to configure the vehicle data streaming service 104. The vehicle data streaming service 104 may enable, for example, managing the vehicle attribute catalog 106 and changing one or more governance policies of the vehicle data streaming service 104. In some embodiments, the vehicle data streaming service 104 may enable one or more users to create, update, or delete one or more portions of vehicle attributes and associated metadata. The management of the vehicle streaming service will be further described in FIG. 5.
[0010] As an example, in some embodiments, the vehicle data streaming service 104 may receive a request 152 from the data stream source 102 to register the data stream source. In some embodiments, the request 152 to register the data stream source may further include a requirement that the vehicle data stream source be recognized as a vehicle data stream source by the vehicle data streaming service 104. Additionally, the vehicle data streaming service 104 may be an endpoint of a data pipeline from the vehicle data stream source (the vehicle data streaming service further provides the streamed vehicle data provided at the endpoint to the vehicle data consumer), and provides the information necessary to establish the streaming relationship. In some embodiments, the request 152 to register the data stream source may include one or more access authentication information required to be recognized as a legitimate data stream source by the vehicle data streaming service 104. In some embodiments, the vehicle data streaming service 104 may send registration requirements to the data stream source to complete the registration. The registration requirements may include identity information of the source infrastructure, configurations necessary to comply with the message schema of the data source, vehicle attributes for association with the source, and / or mappings necessary to configure the vehicle data schema. The data stream source may further submit the required registration information 110 in accordance with the registration requirements 108 to complete the registration of the data stream source and realize the association between the data stream source and one or more vehicle attributes of the vehicle attribute catalog 106. Various registration interactions may occur via the registration interface 112 of the vehicle data streaming service 104. In some embodiments, the registration request may require approval by the vehicle data streaming service 104. In some embodiments, the registration request may require approval obtained as part of an interaction involving the management 150 of the vehicle streaming service.Once the registration request is approved, a streamed vehicle data stream 130 that complies with the registration requirements may be sent to the vehicle data streaming service 104. The interaction between the registration workflow and data stream source 102 and the vehicle data streaming service 104 is further described in FIG. 2.
[0011] In some embodiments, one or more data stream destinations 146 may browse the vehicle attribute catalog 140 to detect attributes available in the vehicle attribute catalog that correspond to the data of interest to be received at the data stream destination. The data stream destination 146 may send a subscription request 144 to receive data associated with the detected vehicle attributes of interest. The subscription request 144 and the request to browse the catalog 140 may be implemented via the subscription interface 142 of the vehicle data streaming service 104. As further discussed in FIG. 3, in some embodiments, the data stream destination, and the entity that issues the request to subscribe to the data stream at this data stream destination, may be the same entity or different entities. When the subscription request is successful, the data stream source-destination mapping 152 may create a mapping between the streamed vehicle data 130 that complies with the registration requirements and the data stream destination 146. The vehicle data streaming service 104 may send the streamed vehicle data stream 132 corresponding to the subscription request to the data stream destination 146. In some embodiments, the streamed vehicle data 132 corresponding to the subscription request may be modified to comply with the schema of the data stream destination 146. The subscription workflow and the interaction between the data stream source 102 and the vehicle data streaming service 104 are further described in FIGS. 3 and 4A-4C. Further, the data stream destination 146 can be any number of downstream services / applications. In some embodiments, the data stream destination 146 can be a vehicle shadow that enables interaction between the user and the virtual representation of the connected vehicle. In some embodiments, the data stream destination 146 can be a data analysis service, a data lake that provides a repository of vehicle data, and / or other data storage services.
[0012] Although FIG. 1 depicts only one data stream source 102, any number of data sources may transmit vehicle information to the vehicle data streaming service 104. The vehicle data streaming service 104 may be an apparatus or system for managing the distribution, storage, retrieval, and / or processing of large-scale vehicle data streams in various embodiments. The vehicle data streaming service 104 may be designed to handle hundreds or even thousands of simultaneous data sources and destinations. As used herein, the term "data stream" may be generated by one or more data sources (e.g., vehicle sensors) or producers (e.g., vehicles, vehicle service centers) and may be accessed by one or more vehicle data consumers at one or more destinations, and refers to a sequence of vehicle data records.
[0013] Note that the foregoing description of the vehicle data streaming service 104 is a logical illustration and, accordingly, should not be construed as limited to specific implementations of network addresses, system interfaces, or various other features. In some embodiments, various other registration flow steps may be used to associate the vehicle data stream from the data stream source 102 with the vehicle attributes of the vehicle attribute catalog 106. Different combinations or implementations may be implemented in various embodiments.
[0014] This specification continues with various examples of vehicle data streaming services, including the placement of different components / modules, or components / modules that can be employed as part of implementing a vehicle data streaming service. Next, several different methods and techniques are considered for implementing various ways of registering vehicle data stream sources, subscribing to vehicle data stream destinations, and managing vehicle data streaming services (including a vehicle attribute catalog), some of which are illustrated in the accompanying flowcharts. Finally, an explanation of an exemplary computing system in which various components, modules, systems, devices, and / or nodes can be implemented is provided. Various examples are provided throughout this specification.
[0015] Figure 2 illustrates a more detailed view of a vehicle data streaming service and the registration of a data stream source of a vehicle data stream provider, where the data stream source is registered to vehicle attributes that are or should be included in the catalog of the vehicle data streaming service. For example, the vehicle data streaming service can manage the flow of vehicle data from a vehicle and further manage the format of the vehicle data such that, according to some embodiments, the vehicle data is modified to conform to the streaming service vehicle schema.
[0016] In FIG. 2, vehicle 250 and vehicle service center 260 may transmit vehicle information 202 to data stream source 102. In some embodiments, vehicle 250 may generate one or more pieces of vehicle information 202 for transmission to data stream source 102. Vehicle 250 may transmit vehicle information 202 including data such as video frames, images, radar amplitudes, temperature data, engine speed, and any other information about vehicle 250 generated from one or more sensors. In some embodiments, vehicle information 202 may include GPS information determined using cellular, wireless passive, satellite, and other types of global positioning system (GPS) systems and may be used to determine the jurisdiction of vehicle 250. In some embodiments, the geographical location of vehicle 250 may be determined in various manners.
[0017] In some embodiments, vehicle information 202 may include aspects that may be considered personally identifiable information (“PII”). PII may include any information that can be or can be linked to a particular individual and can further be categorized by “PII level” or by the extent to which vehicle information 202 can be used to identify an individual. To protect an individual's privacy, the vehicle data streaming service may provide a higher level of protection for vehicle data that may be PII. For example, more advanced access authentication information may be required to access or subscribe to vehicle attributes including such vehicle data streams.
[0018] In some embodiments, vehicle data may be provided by vehicle service center 252. Further, in some embodiments, vehicle service center 252 may provide information such as vehicle data related to repair and / or vehicle registration. Vehicle 250 or vehicle service center 252 may transmit vehicle information 202 using various publish-subscribe network protocols or other network protocols for transferring messages. For example, vehicle 250 may transmit vehicle information 202 using the MQ (e.g., Message Queue) Telemetry Transport (「MQTT」) protocol. Although FIG. 2 depicts only vehicle 250 and vehicle service center 252 as generating vehicle information 202, any number of vehicle data generators (e.g., vehicles, vehicle service centers, etc.) may transmit vehicle information 202 to data stream source 102.
[0019] In some embodiments, the data stream source 102 can be part of a vehicle data stream provider 200 that manages one or more vehicle data streams. The vehicle data stream provider 200 can further include a data enrichment pipeline 210 that processes the vehicle information 202 to generate additional vehicle data of interest and / or to enhance the vehicle information 202. For example, the data enrichment pipeline can include one or more compute services that provide instances, containers, and / or functions according to various configurations for data processing operations specified by the vehicle data stream provider 200. The virtual compute instances of the data enrichment pipeline 210 can include, for example, one or more servers and / or virtualized computing resources. The container can provide a virtual operating system or other operating environment for executing or implementing an application for processing the vehicle information 202. In some embodiments, a temporary computing function can be implemented to preprocess the vehicle information 202 when one or more vehicle data processing operations are performed, which can be automatically scaled up or down to provide an appropriate number of computing resources for performing a given set of preprocessing tasks. The compute instances, containers, and / or functions can operate or implement various different services, such as application server instances, general-purpose or special-purpose operating systems, services that support various interpreted or compiled programming languages (such as Ruby, Perl, Python, C, C++), or high-performance computing services, that are suitable for performing data processing of the vehicle information 202.
[0020] Furthermore, in various embodiments, the compute instance configuration of the data enrichment pipeline 210 may also include general-purpose or specialized compute instances, containers, and / or functions, such as the computational load of compute-intensive applications. In some embodiments, the compute instance may be used for machine learning applications, such as an application that trains and generates a machine learning regression model to process and derive additional vehicle information 202. The size of the compute instances, containers, and / or functions, such as a specific number of virtual CPU cores, memory, cache, storage, and any other performance characteristics, may vary based on the specific application. The data enrichment pipeline 210 may send the processed vehicle information 206 to the data stream source 102.
[0021] As illustrated in FIG. 1, data stream source 102 may make a request 152 to vehicle data streaming service 104 to register the data stream source. In some embodiments, request 152 to register the data stream source may further include a request for the data stream of data stream source 102 to be recognized by vehicle data streaming service 104. In some embodiments, data stream source 102 may provide the information necessary to establish the relationship of the streaming infrastructure, and vehicle data streaming service 104 may provide the endpoints of the data pipeline from data stream source 102. For example, request 152 to register the data stream source may include the information required by vehicle data streaming service 104 to access the streaming data generated by data stream source 102, such as the name of the category used to organize the message containing vehicle information 202. Further, request 152 to register the data stream source may further include access authentication information. In some embodiments, the authorization of the registration request may include HTTP authentication using the username and password sent with the API call, key authentication using a unique key disclosed to an authorized user, the use of the OAuth authorization framework, etc. In some embodiments, the access authentication information included in the request may include a username, username password, role, or other identity lookups. A non-approved request with inappropriate access authentication information may be rejected, and the originating data stream source 102 may be notified of the rejection of permission. In some embodiments, request 152 to register the data stream source may be sent from a third entity such as vehicle data stream provider 200 rather than from data stream source 102.
[0022] As described with respect to FIG. 1, the vehicle data streaming service 104 may send registration requirements 108 to the data stream source 102. The requirements may include source infrastructure identities such as the name or network address of the data stream source 102 that is (or is to be) recognized by the vehicle data streaming service 104. The registration requirements may further include the schema required for messages sent to the vehicle data streaming service 104. In some embodiments, the vehicle information 202 may include a set of heterogeneous data structures, and thus registration requests may be required to provide information for configuring each schema or data structure of the data stream to conform to the message schema that can be accepted by the vehicle data streaming service 104. In some embodiments, the registration requirements 108 may require that the name of the vehicle attribute of the data stream source be associated with the data stream provided. The registration requirements 108 may further include the necessary conversions to be applied to the vehicle information 202 having the source vehicle schema 220 to conform the vehicle information 202 to the streaming service vehicle schema 234. In some embodiments, the conversions to be applied to the vehicle information 202 sent to the vehicle data streaming service 104 may be performed by the vehicle schema engine 256 of the vehicle data streaming service 104. In some embodiments, at least a portion of the conversions applied to the data streamed from the source vehicle schema 220 to the streaming service vehicle schema 234 may be performed based on information included in the required registration information provided by the data stream source 102. In some embodiments, the data stream source 102 may determine, based on the vehicle attribute metadata 232, which vehicle attributes of the vehicle attribute catalog 106 to associate with its vehicle data stream. The vehicle attribute metadata 232 may include descriptions of the vehicle attributes included in the vehicle attribute catalog 106, such as categorization of the attributes, hierarchical structure of the attributes, and the like. In some embodiments, the request 152 for registering the data stream source may also be a request for adding new vehicle attributes to the vehicle attribute catalog 106.Various registration interactions may occur via the registration interface 112 of the vehicle data streaming service 104. Further, requests may be made using various communication protocols including various HTTPS requests, RESTful requests, and other API requests.
[0023] The data stream source 102 may send the registration information 110 required according to the registration requirements 108 to complete the registration request. In some embodiments, the registration request may require approval by the vehicle data streaming service 104. When the registration is complete, the data stream source-destination mapping 152 may map the data stream source 102 to the associated vehicle attributes according to the registration request. The data stream source may send the streamed vehicle data 130 compliant with the registration requirements to the vehicle data streaming service 104 and / or enable the vehicle data streaming service 104 to obtain the streamed vehicle data 130 compliant with the registration requirements.
[0024] FIG. 3 illustrates a more detailed diagram of a vehicle data streaming service and a subscription flow of a data stream destination, according to some embodiments, including receiving streamed vehicle data associated with vehicle attributes and providing the streamed data of the subscribed attributes to the data stream destination.
[0025] In some embodiments, as discussed with respect to FIG. 1, the data stream requestor 302 may browse the vehicle attribute catalog 140 to detect relevant vehicle attributes and vehicle data that may be received at the data stream destination 146. In some embodiments, the data stream requestor 302 may browse the vehicle attribute metadata 232 to determine which of the vehicle attributes to subscribe to. As discussed with respect to FIG. 2, the vehicle attribute metadata 232 may include a description of the vehicle attribute, a categorization of the attribute, a hierarchical structure of the attribute, and / or other information that enables the data stream destination 146 to detect vehicle data relevant to its application. In some embodiments, the vehicle attribute catalog 106 may further provide category navigation through vehicle attributes arranged in a hierarchical structure or in a unique classification to facilitate discovery of relevant vehicle attributes. In some embodiments, the vehicle attribute catalog may provide a full-text search index to further facilitate discovery of vehicle attributes.
[0026] The data stream request unit 302 may send a subscription request 144 to the vehicle data streaming service 104 to receive the streamed vehicle data associated with the vehicle attributes selected from the vehicle attribute catalog 106. In some embodiments, the subscription request 144 may provide a destination identity (such as the name or network address of the data stream destination), the desired vehicle attributes, and / or access authentication information. In some embodiments, the access authentication information may be the destination access authentication information 320 associated with the data stream request unit and / or the access authentication information associated with the data stream destination 146. In some embodiments, similar to the access authentication information described in the registration request of FIG. 2, the destination access authentication information 320 may include authentication information required for HTTP authentication using the username and password sent with the API call, key authentication using a unique key disclosed to the authorized user, the use of the OAuth authorization framework, or other types of authentication information. In some embodiments, the access authentication information of the subscription request may result in a lookup of a username, a username password, a role, or other identity. A disallowed request with inappropriate access authentication information may be rejected, and the originating data stream source 102 may be notified of the denial of permission. In some embodiments, the subscription request 144 may be rejected based on whether the destination access authentication information 320 is sufficient to subscribe to vehicle attributes having a specific access level. In some embodiments, the vehicle attributes in the vehicle attribute catalog 106 may be associated with specific access levels that require different levels of access authentication information (e.g., to protect PII). In some embodiments, the vehicle attribute metadata 232 may further include the access levels associated with the respective vehicle attributes. Further, in some embodiments, the destination access authentication information 320 may be associated with the jurisdiction where the data stream destination 146 is located.For example, the vehicle data streaming service 104 may require a subscription request 144 made from a data stream destination 146 using destination access authentication information 320 in order to have a higher level of access compared to another stream destination from a different jurisdiction. Different subscription request access authentication information requirements based on different jurisdictions are further explained in FIG. 7.
[0027] FIG. 3 depicts a subscription request made by the data stream request unit 302, but other entities may send a subscription request 144 to establish a subscription to the data stream destination 146. In some embodiments, the access authentication information required for the subscription request 144 to be approved may be the access authentication information of the requesting entity or the access authentication information provided in the request message. Further, although FIG. 3 depicts the data stream request unit 302 and the data stream destination 146 as separate entities, in some embodiments, as discussed in FIG. 1, the data stream destination 146 may be the requesting entity.
[0028] The vehicle data streaming service 104 creates a mapping between a data stream source and a data stream destination 146 based on selected vehicle attributes in response to a valid subscription request. The vehicle data streaming service 104 transmits the streamed vehicle data 132 corresponding to the subscription request. In some embodiments, the data stream destination 146 may include a vehicle shadow 332, a data lake 334, a database 336, or any other suitable destination. In some embodiments, the streamed vehicle data 132 may conform to the schema of the data stream destination 146, or the data stream destination 146 may not require the streamed data to conform to a specific schema. However, in some embodiments, the data stream destination 146 may require that the vehicle data conform to a schema different from the streaming service vehicle schema 234. FIGS. 4A - 4C illustrate the mediation between different vehicle schemas of the vehicle data streaming service 104 and the data stream destination 146.
[0029] FIG. 4A illustrates a more detailed view of the vehicle data streaming service implementing a subscription based on a subscription request from a requesting party for a destination having a vehicle schema different from the vehicle data streaming service, according to some embodiments.
[0030] In some embodiments, the data stream destination 146 may have a destination vehicle schema 422 that describes vehicle properties and the relationships between vehicle properties according to the ontology used at the data stream destination. For example, the data stream destination 146 may be composed of a vehicle shadow 424, or other vehicle virtual representation services that provide visibility into the status of the connected vehicle and reflect changes to the virtual vehicle shadow to the physical vehicle. Such a vehicle shadow may be associated with a separate destination vehicle schema 422 that is different from the streaming service vehicle schema 234 of the vehicle data streaming service 104. The data stream destination 146 having the destination vehicle schema 422 may require that the streamed vehicle data be transformed so as to match the destination vehicle schema 422.
[0031] As illustrated in FIG. 3, the data stream request unit 302 may request to browse the vehicle attribute catalog 106. In some embodiments, the vehicle attribute metadata 232 in the vehicle attribute catalog 106 may notify the data stream request unit 302 that the streaming service vehicle schema of the vehicle attributes determined by the vehicle schema engine 106 is different from the destination vehicle schema 422. In some embodiments, the data stream request unit 302 may send a subscription request 144 via the subscription interface 142, indicating the necessary transformations to be applied to the streamed data for the vehicle schema engine 106 to conform to the destination vehicle schema 422.
[0032] FIG. 4B illustrates a more detailed diagram of a vehicle data streaming service, a data schema mediation engine that mediates different vehicle schemas between the data stream destination and the vehicle data streaming service, according to some embodiments.
[0033] As described with reference to FIG. 4A, based on the subscription request 144, the data schema mediation engine 426 may generate a matching schema 434. In some embodiments, the data schema mediation engine 426 may generate the matching schema 434 to be identical to the streaming service vehicle schema 234. In some embodiments, the data schema mediation engine 426 may generate the matching schema 434 to be identical to the destination vehicle schema 422 or to conform to a third vehicle schema that is different from either of the two schemas. The data schema mediation engine 426 may send the matching schema to the vehicle data streaming service 104 and the data stream destination 146. In some embodiments, the data schema mediation engine 426 may modify the streaming service vehicle schema 234 and modify the destination vehicle schema 422 to conform to the matching schema 434. In some embodiments where the matching schema is identical to the streaming service vehicle schema 234, only the destination vehicle schema 422 may be changed. In another embodiment, if the matching schema 434 is identical to the destination vehicle schema 422, only the streaming service vehicle schema 234 may be changed.
[0034] FIG. 4B depicts the data schema mediation engine 426 located outside the vehicle data streaming service 104. In some embodiments, the data schema mediation engine 426 may be part of the vehicle data streaming service 104. Further, in some embodiments, the data schema mediation engine 426 may communicate only the matching schema 434 and may not be involved in the transformation of either the streaming service vehicle schema 234 or the destination vehicle schema 422.
[0035] FIG. 4C illustrates a more detailed view of a vehicle data streaming service that has a mediated vehicle schema between the data stream destination and the vehicle data streaming service and transmits streamed vehicle data having a matching schema.
[0036] In FIG. 4C, the streamed vehicle data 426 having a matching schema is transmitted from the vehicle data streaming service 104 to the data stream destination 146. In some embodiments, as described in FIG. 4B, the data schema mediation engine may convert the streaming service vehicle schema 234 and / or the destination vehicle schema 422 to have a matching schema. In some embodiments, the vehicle schema engine 106 may convert the streamed vehicle data to have a matching schema, while in other embodiments, a data schema mediation engine (either internal or external to the vehicle data streaming service 104) may convert the streaming service vehicle schema 234 associated with the vehicle data of a particular vehicle attribute. As described in FIG. 3, the streaming service vehicle schema 234 and the destination vehicle schema 422 may not require any conversion and may already have matching schemas. In some embodiments, the matching schema may not be a requirement for the data stream destination.
[0037] FIG. 5 illustrates a more detailed diagram of a vehicle data streaming service and vehicle data streaming service management including vehicle attribute catalog management, according to some embodiments.
[0038] In some embodiments, the vehicle attribute catalog interface 504 may be used to communicate with the vehicle attribute catalog 106 of the vehicle data streaming service 104. As discussed with respect to FIGS. 1 and 2, the vehicle data streaming service 104 may enable one or more users to manage a vehicle data streaming service that includes the vehicle attribute catalog 106. Metadata may include descriptions of vehicle attributes, categorizations of attributes, hierarchical structures of attributes, and other information that enables data stream destinations and other entities to detect vehicle attributes relevant to their applications. The vehicle data streaming service 104 may enable management of the vehicle attribute catalog 106 via the vehicle attribute catalog interface 502. For example, one or more authorized users may retrieve the vehicle catalog 510, add / delete vehicle attributes 512, update vehicle attribute metadata 514, and update vehicle attribute categorizations 516. In some embodiments, changes to vehicle attribute categorizations may further result in the vehicle schema engine 256 changing the streaming service vehicle schema 234 in accordance with the changes to the vehicle attribute categorizations. In some embodiments, one or more vehicle attributes of the vehicle catalog may be retrieved through category navigation provided by the vehicle data streaming service 104. In some embodiments, vehicle attributes may be arranged in a hierarchical structure or in unique categorizations to facilitate discovery of related vehicle attributes and / or to facilitate navigation of vehicle attributes. Further, in some embodiments, the vehicle attribute catalog may provide a full-text search index to further facilitate discovery of vehicle attributes.
[0039] In an embodiment, the vehicle data streaming service access control 520 may enable one or more users to manage 522 access control for attributes. The vehicle data streaming service access control 520 may enable one or more users to change the types of access authentication information required for registration and / or subscription requests. For example, one or more users may manage 522 access control for vehicle attributes with a request for HTTP authentication using a username and password sent with an API call, a request for key authentication using a unique key disclosed to an authorized user, or a request for use of the OAuth authorization framework. In some embodiments, the access authentication information required for a request may be specified by managing 522 access control for the attribute. For example, the vehicle data streaming service access control 520 may determine a username, username password, role, or other identity that may be authorized to register a stream source / destination. Further, in some embodiments, the response that the vehicle data stream source 104 will take for a disallowed request having inappropriate access authentication information may be managed through the vehicle data streaming service access control 520. For example, the vehicle data stream source 104 may be configured to respond to a disallowed request by notifying a denial of permission. In some embodiments, different access authentication information requirements may be determined for specific vehicle attributes. For example, vehicle attributes having a higher access level may be identified and set to require a higher access privilege. It should be noted that in some embodiments, different access privileges may be associated with different users regardless of how the identity of the user is determined based on the access authentication information. For example, different users accessing the vehicle data streaming service using the same method of providing access authentication information, such as using various access authentication information mechanisms described above, may be assigned different access privileges.
[0040] In some embodiments, the streaming data 526 from a data stream source having schema Y can be received by the vehicle data streaming service 104. The vehicle data streaming service 104 can transmit this received data as part of the streaming data 528 having schema Y compliant with the streaming service schema, after the vehicle schema engine 256 converts the data streamed from schema Y into the streaming service vehicle schema 234. In some embodiments, the received streaming data 526 is transmitted to a destination having access to the vehicle data streaming service 104 in accordance with access control based on the vehicle data streaming service access control 520.
[0041] In some embodiments, the vehicle data streaming service access control 520 can be further used to complete the registration of a given data stream source. For example, a registration request from a data stream source, such as the data stream source 102 of FIG. 2, may require that the vehicle data streaming service access control 520 receive an approval 524 of the registration request to complete the registration of the data stream source. In some embodiments, the registration approval 524 can be transmitted based on a determination that the registration request complies with the schema of the selected vehicle attributes from the registration request. In some embodiments, the registration approval 524 can be transmitted based on a determination that the data stream source to be registered is a reliable source of the selected vehicle attributes. In some embodiments, the vehicle data streaming service access control 520 may issue an approval of the registration request and may not require any receipt of approval 524. In some embodiments, the approval can be based on both the proposed data source being a reliable source of a given attribute and the data source providing a data stream compliant with the schema of the data streaming service.
[0042] FIG. 6A illustrates a more detailed diagram of a data streaming service and the mapping between a first data stream source and a single data stream destination, according to some embodiments.
[0043] Similar to the registration process discussed in FIG. 2, data stream source A602 may send registration information 610 required for attribute X from source A to be registered to vehicle attribute X, and following approval of the registration, may send vehicle data 630 streamed for attribute X from source A to vehicle data streaming service 104. Further, as described in the subscription process shown in FIG. 3, data stream destination C606 may send a subscription request 644 for attribute X. In some embodiments, based on the success of subscription request 644, vehicle data streaming service 104 may generate a vehicle attribute X mapping 670 and send vehicle data 662 streamed for attribute X to data stream destination C606.
[0044] FIG. 6B illustrates a more detailed diagram of a data streaming service and the mapping between a second data stream source and a single data stream destination, according to some embodiments, where the single data stream destination is subscribing to vehicle attributes having multiple sources.
[0045] Similar to the registration process discussed with respect to FIGS. 2 and 6A, data stream source B604 transmits registration information 612 necessary for attribute X from source B to be registered in vehicle attribute X. Following approval of the registration, vehicle data 632 streamed for attribute X from source B can be transmitted to vehicle data streaming service 104. Based on a successful subscription request from FIG. 6A, vehicle data streaming service 104 updates vehicle attribute X mapping 670 among all data stream sources associated with vehicle attribute X and can transmit vehicle data 662 streamed for attribute X to data stream destination C606. Vehicle data streaming service 104 can transmit data received from data stream source A602 and vehicle data stream source B604 (vehicle data 630 streamed for attribute X from source A and vehicle data 632 streamed for attribute X from source B) to data stream destination C606, respectively.
[0046] FIG. 6C illustrates in more detail a diagram of a data streaming service, deletion of a first data stream source, and maintenance of mapping between a second data stream source and a single data stream destination, according to some embodiments.
[0047] In some embodiments, the vehicle data streaming service 104 may enable one or more users to disassociate a data stream source A from an attribute X. Upon successful disassociation, the vehicle data streaming service 104 may no longer receive vehicle information streamed from the data stream source A. However, vehicle data 632 streamed for attribute X from source B may continue to be received by the vehicle data streaming service 104. Further, the vehicle attribute X mapping 670 may be updated by the vehicle data streaming service 104 in accordance with the disassociation of the data stream source A602, such that only vehicle data 632 streamed for attribute X from source B (or other stream sources having a valid registration to attribute X) will be part of the vehicle data 662 streamed for attribute X that is streamed to the data stream destination C606. In some embodiments, the vehicle data streaming service 104 may send one or more notifications of changes made to the vehicle attribute X mapping 670 to the data stream destination C606. In some embodiments, the data stream destination C606 may receive a notification that the data stream source A has been disassociated from the attribute X. In some embodiments, the data stream destination C606 may receive a notification that the data stream source B has been associated with the attribute X. Any information regarding changes to the vehicle attribute mapping may be sent in a notification to the data stream destination C606 that includes the identities of one or more users who issued the registration or disassociation request.
[0048] Figures 6A-6C show only two data stream sources (data stream source A602 and data stream source B604), but any number of data stream sources may be associated with vehicle attributes. Further, a data stream source may be associated with multiple vehicle attributes and is not limited to a connection between one data stream source from one vehicle attribute.
[0049] FIG. 7 illustrates a more detailed diagram of a mapping between a data streaming service and multiple data stream destinations in different jurisdictions from a single data stream source, according to some embodiments.
[0050] As discussed in FIGS. 2 and 6A - 6C, the data stream source A602 may send registration information 610 required for attribute X from source A, which should be associated with the vehicle attribute X. Upon successful registration, the data stream source A602 may send vehicle data 630 streamed for attribute X from source A to the vehicle data streaming service 104. In some embodiments, various data stream destinations may send subscription requests that should be associated with the vehicle attribute X. In FIG. 7, the data stream destination D710, the data stream destination E712, and the data stream destination F714, each associated with jurisdiction K703, jurisdiction L706, and jurisdiction M708 respectively, may send subscription requests to the vehicle data streaming service 104. The data stream destination D710, the data stream destination E712, and the data stream destination F714 may each send subscription requests 744, 746, 748 for attribute X to the vehicle data streaming service 104 together with their respective access authentication information.
[0051] In some embodiments, the vehicle data streaming service 104 may approve a subscription request for attribute X from data stream destinations D710 and E712 based on the re-subscription request having valid access authentication information. In some embodiments, the vehicle data streaming service 104 may reject a subscription request 748 for attribute X based on the data stream destination F714 being associated with jurisdiction area M708. As discussed in FIG. 3, the rejection may depend on identifying the access authentication information of the vehicle subscription request 748 and rejecting the subscription request based on whether the destination access authentication information is sufficient to subscribe to vehicle attributes having a particular PII level. In some embodiments, data stream destinations E712 and F714 may have similar levels of access authentication information and / or permissions, but based on different jurisdictions, a subscription request 746 for data stream destination E712 may be approved and a subscription request 748 for data stream destination F714 may be rejected. In some embodiments, the vehicle data streaming service 104 may send a notification 756 to data stream destination F714 that the subscription request for attribute X has been rejected.
[0052] In some embodiments, the vehicle attribute X mapping 670 may be generated based on a registration request and a subscription request, and the vehicle data streaming service 104 may send the vehicle data 630 streamed for attribute X from source A to data stream destination D710 as part of the vehicle data 752 streamed for attribute X and to data stream destination E712 as part of the vehicle data 754 streamed for attribute X. FIG. 7 shows only three data stream destinations, but any number of data stream destinations may be associated with vehicle attributes. Further, a data stream source may be associated with multiple vehicle attributes and is not limited to a connection between one data stream source from one vehicle attribute.
[0053] Figure 8 illustrates a flowchart of operations performed by a vehicle data streaming service to provide a catalog of vehicle attributes according to some embodiments, register data stream sources to the vehicle attributes, and provide streamed vehicle data based on a subscription to the selected vehicle attributes of the catalog.
[0054] In block 810, the vehicle data streaming service generates a catalog of vehicle attributes for a vehicle, the catalog including metadata that provides information about the vehicle attributes. As discussed in FIG. 2, the metadata can include a description of the vehicle attribute, a categorization of the attribute, a hierarchical structure of the attribute, and other information that enables a data stream destination (e.g., the entity of origin associated with the data stream destination) to detect vehicle data relevant to its application.
[0055] In block 820, the vehicle data streaming service receives a subscription request for selected vehicle attributes from the catalog. As discussed in FIG. 3, in some embodiments, the subscription request may require valid access authentication information of the entity of origin or that the valid access authentication information provided by the request message be approved.
[0056] In block 830, the vehicle data streaming service performs one or more configuration operations to enable the vehicle data stream destination to receive streaming data from one or more registered vehicle data streams associated with the selected vehicle attributes.
[0057] In block 840, the vehicle data streaming service provides the streamed vehicle data from the registered vehicle data streams corresponding to each vehicle attribute for each vehicle attribute of the vehicle attributes to one or more subscribed vehicle data stream destinations. In some embodiments, as discussed in FIG. 7, based on subscriptions to multiple destinations for the same vehicle attribute, there may be multiple subscribed vehicle data stream destinations that receive the streamed vehicle data.
[0058] FIG. 9 illustrates a flowchart of operations for registering a vehicle data stream source and associating vehicle attributes based on the streamed vehicle data source conforming to the vehicle schema of a given vehicle attribute, according to some embodiments.
[0059] In block 910, a request to register a data stream source is received by the vehicle data streaming system. In some embodiments, the request to register a data stream source may also include a request to be recognized by the vehicle data streaming service as an acceptable data stream source, as discussed in FIG. 1.
[0060] In block 920, registration requirements are provided by the vehicle data streaming system. For example, in some embodiments, the registration requirements may include source infrastructure identity information and configuration information that can be used to conform to the message schema of the vehicle data streaming system. In some embodiments, the registration requirements may be as further discussed in FIG. 2.
[0061] In block 930, the registration information required for the registration request is received. In some embodiments, the registration information for the registration request may provide additional information beyond the registration requirements, as described in block 920.
[0062] In block 940, a determination is made as to whether the vehicle data of the data stream to be registered is included in the catalog or conforms to the schema of a given vehicle attribute that should be included. In some embodiments, the determination may be performed by the data stream source after the data stream source receives the registration information including the vehicle schema required for the data stream to conform.
[0063] If the vehicle data to be registered does not conform to the schema of a given vehicle attribute, in block 950, one or more conversions are determined to be applied to the vehicle data of the data stream source to be registered so as to conform to the schema of the given vehicle attribute. As discussed with respect to FIG. 3, the determination may be performed by the data stream source as part of providing the required registration information, and the conversions may be provided as part of the registration information required for the registration request.
[0064] In block 960, the data stream source is registered with a given vehicle attribute. In some embodiments, the data stream may be registered with two or more vehicle attributes, as further discussed with respect to FIGS. 6A - 6C.
[0065] In block 970, the vehicle data streaming service generates a mapping between the vehicle data of the data stream to be registered and a given vehicle attribute. As discussed with respect to FIGS. 6A - 6C, there may be two or more vehicle data stream sources associated with the selected vehicle attribute.
[0066] FIG. 10 illustrates a flowchart of operations performed by a vehicle data streaming service to approve a subscription request based on a determination as to whether access authentication information is sufficient for a selected vehicle attribute, according to some embodiments.
[0067] In block 1010, the vehicle data streaming service identifies access authentication information for a subscription request. As discussed in Figure 3, the access authentication information can be information that satisfies HTTP authentication, such as a username and password sent with an API call, or information that satisfies key authentication, such as a unique key disclosed to an authorized user.
[0068] In block 1020, the vehicle data streaming service identifies access authentication information for the data stream destination. In some embodiments, the access authentication information can be destination access authentication information associated with the data stream destination, instead of (or in addition to) the access authentication information for the request itself.
[0069] In block 1030, the vehicle data streaming service determines whether the access authentication information is sufficient to access the vehicle attributes selected from the catalog. In some embodiments, as discussed in Figure 7, the access authentication information can be evaluated at least in part based on the level of personally identifiable information of the selected vehicle attributes. Further, as further discussed in Figure 7, the access request can vary based on the jurisdiction associated with the data stream destination.
[0070] In block 1040, the vehicle data streaming service approves the subscription request based on the determination that the access authentication information is sufficient to access the selected vehicle attributes.
[0071] Exemplary computer system FIG. 11 illustrates an exemplary computer system 1100 that can be used to implement the aspects of the vehicle data streaming service described above with reference to FIGS. 1 - 10. In different embodiments, the computer system 1100 can be any of a variety of types of devices including, but not limited to, a personal computer system, a handheld computer, a workstation, a network computer, a mobile device, a consumer device, an application server, a storage device, a switch, a modem, a router, or generally any type of computing device or electronic device.
[0072] Various embodiments of program instructions for providing a curated catalog of vehicle attributes, enabling vehicle data stream sources to register with a vehicle data streaming system, and enabling vehicle data stream destinations to subscribe to vehicle attributes within the vehicle catalog may be executed on one or more computer systems 1100 that can interact with various other devices, as described herein. Note that according to various embodiments, any of the components, actions, or functions described above with respect to FIGS. 1 - 10 may be implemented on one or more computers configured as the computer system 1100 of FIG. 11. In the illustrated embodiment, the computer system 1100 includes one or more processors 1110 coupled to system memory 1120 via an input / output (I / O) interface 1130. The computer system 1100 further includes a network interface 1140 coupled to the I / O interface 1130 and one or more input / output devices 1150 such as a cursor control device 1160, a keyboard 1170, and a display 1180. In some cases, it is contemplated that embodiments may be implemented using a single instance of the computer system 1100, while in other embodiments, multiple such computer systems, or multiple nodes that make up the computer system 1100, may be configured to host different portions or instance program instructions, as described above for various embodiments. For example, in one embodiment, some elements of the program instructions may be implemented via one or more nodes of the computer system 1100 that are separate from those nodes implementing other elements.
[0073] In some embodiments, computer system 1100 may be implemented as a system-on-chip (SoC). For example, in some embodiments, processor 1110, memory 1120, I / O interface 1130 (e.g., fabric), etc. may be implemented in a single SoC that includes multiple components integrated on a single chip. For example, the SoC may include multiple CPU cores, a multi-core GPU, a multi-core neural engine, caches, one or more memories, etc. integrated on a single chip. In some embodiments, the SoC implementation may implement a reduced instruction set computing (RISC) architecture, or any other suitable architecture.
[0074] System memory 1120 may be configured to store compressed or decompressed program instructions 1122 and / or sensor data that are accessible by processor 1110. In various embodiments, system memory 1120 may be implemented using any suitable memory technology, such as static random access memory (SRAM), synchronous dynamic RAM (SDRAM), non-volatile / flash-type memory, or any other type of memory. In the illustrated embodiment, program instructions 1122 may be configured to implement any of the functions described above. In some embodiments, program instructions and / or data may be received, transmitted, or stored on different types of computer-accessible media or on a similar medium separate from system memory 1120 or computer system 1100.
[0075] In one embodiment, the I / O interface 1130 may be configured to regulate I / O traffic between the processor 1110, the system memory 1120, and any peripheral device within the device including other peripheral devices such as the network interface 1140 or the input / output device 1150. In some embodiments, the I / O interface 1130 may perform any necessary protocol, timing, or other data conversion to convert a data signal from one component (e.g., the system memory 1120) into a format suitable for use by another component (e.g., the processor 1110). In some embodiments, the I / O interface 1130 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 functionality of the I / O interface 1130 may be split among two or more separate components, such as, for example, a north bridge and a south bridge. Also, in some embodiments, some or all of the functionality of the I / O interface 1130, such as the interface to the system memory 1120, may be incorporated directly within the processor 1110.
[0076] Network interface 1140 can be configured to enable data to be exchanged between computer system 1100 and other devices (e.g., carrier or agent devices) attached to network 1185, or between nodes of computer system 1100. Network 1185 can include one or more networks, including but not limited to local area networks (LANs) (e.g., Ethernet or corporate networks), wide area networks (WANs) (e.g., the Internet), wireless data networks, several other electronic data networks, or some combination thereof, in various embodiments. In various embodiments, network interface 1140 can support communication via a wired or wireless general data network, such as any suitable type of Ethernet network, communication via a telecommunications / telephone network, such as an analog voice network or a digital fiber communication network, communication via a storage area network, such as a fiber channel SAN, or communication via any other suitable type of network and / or protocol.
[0077] Input / output device 1150 can include, in some embodiments, one or more display terminals, keyboards, keypads, touch pads, scanning devices, voice or optical recognition devices, or any other device suitable for the input or access of data by computer system 1100. Multiple input / output devices 1150 can be present within computer system 1100 or distributed among various nodes of computer system 1100. In some embodiments, similar input / output devices can be separated from computer system 1100 and interact with one or more nodes of computer system 1100 via a wired or wireless connection, such as via network interface 1140.
[0078] As shown in FIG. 11, memory 1120 may include program instructions 1122 that may be processor-executable to implement any of the elements or actions described above. In one embodiment, the program instructions may implement the methods described above. In other embodiments, different elements and data may be included.
[0079] Computer system 1100 may also be connected to other devices not illustrated, or alternatively, may operate as a stand-alone system. Additionally, the functionality provided by the illustrated components may, in some embodiments, be combined in fewer components or distributed among additional components. Similarly, in some embodiments, some of the functionality of the illustrated components may not be provided and / or other additional functionality may be available.
[0080] Those skilled in the art will also appreciate that although various items are illustrated as being stored in memory or storage while in use, these items or portions thereof may be transferred between memory and other storage devices for purposes of memory management and data integrity. Alternatively, in other embodiments, some or all of the software components are executed in memory on another device and may communicate with the illustrated computer system via inter-computer communication. Some or all of the system components or data structures may also be stored (e.g., as instructions or structured data) on a computer-accessible medium or portable article readable by a suitable drive, examples of which have been described above. In some embodiments, instructions stored on a computer-accessible medium separate from computer system 1100 may be transmitted to computer system 1100 via a communication medium such as a network and / or wireless link, via a transmission medium or signals such as electrical, electromagnetic, or digital signals. Various embodiments may further include receiving, transmitting, or storing instructions and / or data implemented in accordance with the foregoing description on a computer-accessible medium. Generally speaking, computer-accessible media may include non-transitory computer-readable storage media or memory media such as magnetic media or optical media such as disks or DVD / CD-ROMs, volatile or non-volatile media such as RAM (SDRAM, DDR, RDRAM, SRAM, etc.), ROM, etc. In some embodiments, computer-accessible media may include a transmission medium or signals such as electrical, electromagnetic, or digital signals transmitted via a communication medium such as a network and / or wireless link.
[0081] The methods described herein can be implemented in different embodiments as software, hardware, or a combination thereof. Additionally, the order of the blocks of the methods can be changed, and various elements can be added, rearranged, combined, omitted, modified, etc. As will be apparent to those skilled in the art having the benefit of this disclosure, various modifications and changes can be made. The various embodiments described herein are illustrative and not meant to be limiting. Many variations, modifications, additions, and improvements are possible. Thus, multiple instances can be provided for the components described herein as a single instance. The boundaries between various components, operations, and data stores are somewhat arbitrary, and specific operations are illustrated in the context of a particular exemplary configuration. Other assignments of functionality are envisioned and can be within the scope of the appended claims. Finally, the structures and functions presented as individual components within an exemplary configuration can be implemented as a combined structure or component. These and other variations, modifications, additions, and improvements can be within the scope of the embodiments defined by the appended claims.
[0082] Embodiments of the present disclosure can be described in view of the following clauses. Clause 1. A system, comprising one or more computing devices configured to implement a vehicle data streaming service, the vehicle data streaming service being to generate a catalog of vehicle attributes of a vehicle, wherein entries in the catalog include metadata providing information about the vehicle attributes, and the data streaming service is configured to provide streamed vehicle data from a registered vehicle data stream corresponding to each vehicle attribute for each vehicle attribute of the vehicle attributes; to receive a subscription request for a vehicle attribute, wherein the vehicle attribute is selected from the catalog; A system configured to perform one or more configuration operations to enable a vehicle data stream destination to receive streaming data from one or more of the registered vehicle data streams associated with selected vehicle attributes based on approval of a subscription request. Clause 2. The vehicle data streaming service Receives a registration request indicating a vehicle data stream to be registered, Determines whether the vehicle data of the data stream to be registered is included in the catalog or conforms to the schema of a given vehicle attribute, and in response to a determination that the vehicle data does not conform to the schema, determines one or more transformations to apply to the vehicle data of the data stream source to be registered so as to conform to the schema of the given vehicle attribute. Generates a mapping between the vehicle data of the data stream to be registered and a given vehicle attribute when approving the registration request, based at least in part on a determination that the vehicle conforms to the schema or on the determination of one or more transformations to apply to the vehicle data. The system according to clause 1 is further configured to perform the above operations. Clause 3. The system according to clause 2, wherein the approval of the registration request is further based on a determination that the data stream source to be registered is a reliable source of a given vehicle attribute. Clause 4. Further includes a provider network, the provider network being configured to provide a plurality of services to clients of the provider network, and at least one of the services being a vehicle data streaming service implemented using the vehicle data streaming service. The system according to any one of clauses 1 to 3. Clause 5. At least one other of the plurality of services provided by the provider network is configured to perform preprocessing operations on the streamed vehicle data included in one or more of the registered vehicle data streams, or The vehicle data stream destination Data analysis service, a data lake, or an additional one of a plurality of services provided by a provider network, including other data storage services, the system according to clause 4. Clause 6. A method comprising: generating a catalog of vehicle attributes of a vehicle, wherein entries in the catalog include metadata providing information about the vehicle attributes, and a data streaming service is configured to provide streamed vehicle data from a registered vehicle data stream corresponding to each respective vehicle attribute for each respective vehicle attribute; receiving a subscription request for a vehicle attribute, wherein the vehicle attribute is selected from the catalog; performing one or more configuration operations to enable a vehicle data stream destination to receive streaming data from one or more of the registered vehicle data streams associated with the selected vehicle attribute based on approval of the subscription request. Clause 7. receiving a registration request indicating a vehicle data stream to be registered; determining whether the vehicle data of the data stream to be registered is included in the catalog or conforms to the schema of a given vehicle attribute for which it should be included, and in response to a determination that the vehicle data does not conform to the schema, determining one or more transformations to apply to the vehicle data of the data stream source to be registered so as to conform to the schema of the given vehicle attribute; generating a mapping between the vehicle data of the data stream to be registered and a given vehicle attribute upon approval of the registration request, at least in part based on a determination that the vehicle conforms to the schema or a determination of one or more transformations to apply to the vehicle data. Clause 8. receiving a registration request indicating a vehicle data stream to be registered; Determining that the data stream source of the data stream to be registered is a reliable source of a given vehicle attribute that should be associated with the vehicle data stream to be registered, Generating, at the time of approval of the registration request, a mapping between the vehicle data of the data stream to be registered and a given vehicle attribute, at least partially based on making such a determination that the data stream source associated with the data stream to be registered is a reliable source of a given vehicle attribute, further comprising the method according to clause 6. Clause 9. Further comprising updating metadata about vehicle attributes using a data streaming service, the updating including modifying the arrangement of the classification of vehicle attributes to a different configuration or updating the schema of a given vehicle attribute included in a catalog, the method according to any one of clauses 6 to 8. Clause 10. Receiving a new registration request indicating a new vehicle data stream to be registered, Determining that the new vehicle data of the new data stream to be registered conforms to the schema of a given vehicle attribute, and in response to a determination that the new vehicle data does not conform to the schema, determining one or more additional conversions to apply to the vehicle data of the new data stream source to be registered so as to conform to the schema of the given vehicle attribute, Generating an additional mapping between the new vehicle data of the new data stream to be registered and a given vehicle attribute, Performing one or more additional configuration operations to enable the vehicle data stream destination to receive additional streaming data from the new vehicle data stream based on a previous approval of a subscription request, further comprising the method according to any one of clauses 7 to 9. Clause 11. Receiving a registration deletion request indicating a vehicle data stream for which registration is to be deleted, Deleting the mapping between the new vehicle data of the registered data stream and a given vehicle attribute based on the registration deletion request, The method according to any one of clauses 7 to 10, further comprising performing a deletion configuration operation to disable a vehicle data stream destination from receiving streaming data from the vehicle data stream. Clause 12. Receiving a new subscription request for a vehicle attribute, Based on approval of the new subscription request, performing one or more configuration operations to enable a new vehicle data stream destination to receive streaming data from one or more of the registered vehicle data streams associated with the selected vehicle attribute, the method according to any one of clauses 6 to 11. Clause 13. The approval of the subscription Identifying access authentication information for the subscription request, Determining whether the access authentication information is sufficient to access the selected vehicle attribute from a catalog, at least in part based on the level of personally identifiable information of the selected vehicle attribute, Based on the determination that the access authentication information is sufficient to access the selected vehicle attribute, approving the subscription request, the method according to any one of clauses 6 to 12. Clause 14. The approval of the subscription Identifying access authentication information for the vehicle data stream destination, Determining whether the access authentication information is sufficient to access the selected vehicle attribute from a catalog, at least in part based on the level of personally identifiable information of the selected vehicle attribute, Based on the determination that the access authentication information is sufficient to access the selected vehicle attribute, approving the subscription request, the method according to any one of clauses 6 to 13. Clause 15. The method according to clause 14, wherein the level of access authentication information required to access the selected vehicle attribute varies based on the jurisdiction of the vehicle data stream destination. Clause 16. Receiving a new subscription request for a plurality of selected vehicle attributes selected from a catalog; Identifying access authentication information based on the new subscription request; Determining whether the access authentication information is sufficient to access each vehicle attribute of the plurality of selected vehicle attributes from the catalog; Approving the subscription request based on a determination that the access authentication information is sufficient to access at least one of the plurality of selected vehicle attributes; Performing one or more configuration operations to enable a new vehicle data stream destination to receive streaming data for one or more of the selected vehicle attributes for which the access authentication information is sufficient, based on approval of the new subscription request, the method according to any of clauses 6-15. Clause 17. The vehicle data stream destination is a vehicle virtual representation service, and the method is Tracking the state of a vehicle connected to a provider network based on the received streaming data via the vehicle virtual representation service; Propagating changes made to the state of the vehicle from the received streaming data to the vehicle via the vehicle virtual representation service, the method according to any of clauses 6-16. Clause 18. The one or more configuration operations are Generating a matching schema based on a first schema of a given vehicle attribute and a second schema of the destination; Configuring the vehicle data stream destination to accept the matching schema; Applying the matching schema to the streaming data, the method according to any of clauses 6-17. Clause 19. The method according to clause 7, further comprising using a data streaming service to send one or more notifications of changes to the mapping between the vehicle data of the data stream and a given vehicle attribute to the vehicle data stream destination. One or more non - transitory computer - readable storage media storing program instructions, which, when executed on or across one or more processors, cause the one or more processors to generate a catalog of vehicle attributes of a vehicle, wherein entries in the catalog include metadata providing information about the vehicle attributes, and a data streaming service is configured to provide streaming vehicle data from a registered vehicle data stream corresponding to each vehicle attribute for each vehicle attribute of the vehicle attributes; receive a subscription request for a vehicle attribute, wherein the vehicle attribute is selected from the catalog; perform one or more configuration operations to enable a vehicle data stream destination to receive streaming data from one or more of the registered vehicle data streams associated with the selected vehicle attribute based on approval of the subscription request. One or more non - transitory computer - readable storage media implementing a vehicle data streaming service.
Claims
1. A system comprising one or more computing devices configured to implement a vehicle data streaming service, the vehicle data streaming service being to generate a catalog of vehicle attributes of a vehicle, entries in the catalog including metadata providing information about the vehicle attributes, and the data streaming service being configured to provide streamed vehicle data from a registered vehicle data stream corresponding to each of the vehicle attributes for each of the vehicle attributes; generating; receiving a subscription request for a vehicle attribute, the vehicle attribute being selected from the catalog; receiving; performing one or more configuration operations to enable a vehicle data stream destination to receive streaming data from one or more of the registered vehicle data streams associated with the selected vehicle attribute based on approval of the subscription request. A system configured to perform.
2. The vehicle data streaming service is receiving a registration request indicating a vehicle data stream to be registered; determining whether the vehicle data of the data stream to be registered is included in the catalog or conforms to the schema of a given vehicle attribute that should be included, and in response to a determination that the vehicle data does not conform to the schema, determining one or more conversions to apply to the vehicle data of the data stream source to be registered to conform to the schema of the given vehicle attribute; generating a mapping between the vehicle data of the data stream to be registered and the given vehicle attribute upon approval of the registration request based at least in part on the determination that the vehicle conforms to the schema or the determination of the one or more conversions to apply to the vehicle data. The system according to claim 1, further configured to perform.
3. The system according to claim 2, wherein the approval of the registration request is further based on a determination that the data stream source to be registered is a reliable source of the given vehicle attribute.
4. The system further includes a provider network, the provider network being configured to provide a plurality of services to clients of the provider network, at least one of the services being a vehicle data streaming service implemented using the vehicle data streaming service, according to any one of claims 1 to 3.
5. At least another one of the plurality of services provided by the provider network is configured to perform a preprocessing operation on the streamed vehicle data included in one or more of the registered vehicle data streams, or The vehicle data stream destination is a data analysis service, a data lake, or an additional one of the plurality of services provided by the provider network including another data storage service, according to claim 4.
6. A method comprising: generating a catalog of vehicle attributes of a vehicle, wherein entries in the catalog include metadata providing information about the vehicle attributes, and a data streaming service is configured to provide streamed vehicle data from a registered vehicle data stream corresponding to each of the vehicle attributes for each of the vehicle attributes; receiving a subscription request for a vehicle attribute, the vehicle attribute being selected from the catalog; performing one or more configuration operations to enable a vehicle data stream destination to receive streaming data from one or more of the registered vehicle data streams associated with the selected vehicle attribute based on approval of the subscription request.
7. receiving a registration request indicating a vehicle data stream to be registered; Determine whether the vehicle data of the data stream to be registered is included in the catalog or conforms to the schema of a given vehicle attribute that should be included, and in response to a determination that the vehicle data does not conform to the schema, determine one or more conversions to apply to the vehicle data of the data stream source to be registered so as to conform to the schema of the given vehicle attribute. Generating a mapping between the vehicle data of the data stream to be registered and the given vehicle attribute when approving the registration request based at least in part on the determination that the vehicle conforms to the schema or the determination of the one or more conversions to apply to the vehicle data. The method according to claim 6 further includes.
8. The method according to claim 7 further includes using the data streaming service to send one or more notifications of changes to the mapping between the vehicle data of the data stream and the given vehicle attribute to the vehicle data stream destination.
9. Receiving a new registration request indicating a new vehicle data stream to be registered. Determine whether the new vehicle data of the new data stream to be registered conforms to the schema of the given vehicle attribute, and in response to a determination that the new vehicle data does not conform to the schema, determine another one or more conversions to apply to the vehicle data of the new data stream source to be registered so as to conform to the schema of the given vehicle attribute. Generating an additional mapping between the new vehicle data of the new data stream to be registered and the given vehicle attribute. The method according to claim 7 further includes performing another one or more configuration operations to enable the vehicle data stream destination to receive additional streaming data from the new vehicle data stream based on a previous approval of the subscription request.
10. Receiving a registration deletion request indicating the vehicle data stream to be deleted. Deleting the mapping between the new vehicle data of the registered data stream and the given vehicle attribute based on the registration deletion request. To disable the vehicle data stream destination from receiving streaming data from the vehicle data stream, further comprising performing a deletion configuration operation, the method according to any one of claims 7 to 9.
11. Receiving a registration request indicating a vehicle data stream to be registered; Determining that the data stream source of the data stream to be registered is a reliable source of a given vehicle attribute to be associated with the vehicle data stream to be registered; Generating a mapping between the vehicle data of the data stream to be registered and the given vehicle attribute upon approval of the registration request, based at least in part on the determining that the data stream source associated with the data stream to be registered is a reliable source of the given vehicle attribute, the method according to any one of claims 6 to 10.
12. Further comprising updating the metadata about the vehicle attribute using the data streaming service, the updating including modifying the arrangement of the classification of the vehicle attribute to a different configuration, or updating the schema of a given vehicle attribute included in the catalog, the method according to any one of claims 6 to 11.
13. Receiving a new subscription request for the vehicle attribute; Based on approval of the new subscription request, performing one or more configuration operations to enable a new vehicle data stream destination to receive the streaming data from one or more of the registered vehicle data streams associated with the selected vehicle attribute, the method according to any one of claims 6 to 12.
14. Receiving a new subscription request for a plurality of selected vehicle attributes selected from the catalog; Identifying access authentication information based on the new subscription request; Determining whether the access authentication information is sufficient to access each vehicle attribute of the plurality of selected vehicle attributes from the catalog; Based on the determination that the access authentication information is sufficient to access at least one of the plurality of selected vehicle attributes, approving the subscription request; Based on the approval of the new subscription request, performing one or more configuration operations to enable a new vehicle data stream destination to receive streaming data of one or more of the selected vehicle attributes to which the access authentication information is sufficient to access. The method according to any one of claims 6 to 13 further includes this.
15. The vehicle data stream destination is a vehicle virtual representation service, and the method includes: Tracking the state of a vehicle connected to the provider network based on the received streaming data via the vehicle virtual representation service; Propagating a change made to the state of the vehicle from the received streaming data to the vehicle via the vehicle virtual representation service. The method according to any one of claims 6 to 14 further includes this.
Citation Information
Patent Citations
Vehicle data system utilizing publish / subscribe gateways
US20160050269A1
Systems and methods for processing vehicle sensor data
US20180261020A1
Method for data collection
US20200082710A1