Vehicle data stream subscription system

Through the planning directory and subscription mechanism of the vehicle data flow service system, the coordination problem of data transmission between multiple vehicle data sources and destinations is solved, and efficient and accurate data sharing and transmission are achieved.

CN119317933APending Publication Date: 2025-01-14AMAZON TECH INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380044550.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-06-10
Filing Date
2023-06-09
Publication Date
2025-01-14

AI Technical Summary

Technical Problem

The prior art is difficult to efficiently manage and coordinate data transmission between multiple vehicle data sources and multiple data stream destinations, resulting in unnecessary network load and data filtering inefficient, and standardization and interoperability problems.

Method used

Through the vehicle data flow business system, a planned directory of vehicle attributes is provided, allowing data flow source to be registered and associated with the directory, and the data flow destination subscribes to the attributes of interest, realizing the routing and transformation of the data flow to ensure that data is transmitted in a standardized format .

Benefits of technology

It reduces unnecessary data transmission, improves the efficiency and accuracy of data sharing, solves the coordination and interoperability problems between data sources and destinations, and realizes accurate data matching and transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119317933A_ABST
    Figure CN119317933A_ABST
Patent Text Reader

Abstract

A vehicle data flow service provides a planned directory of vehicle attributes and allows a vehicle data flow source to register to a vehicle data flow system and associates its data flow with vehicle attributes of the attribute directory. The vehicle dataflow traffic also allows a vehicle dataflow destination to subscribe to the vehicle attributes in the vehicle directory, receives streaming vehicle data from the dataflow source, and sends streaming vehicle data that meets registration requirements to the dataflow destination. In addition, the vehicle data flow traffic may allow management of the vehicle attribute directory, and may further manage registration of one or more sources and subscription of one or more destinations.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Modern vehicles, such as cars, trucks, motorcycles, etc., are typically manufactured with electronic sensors and contain computer systems programmed with control algorithms that obtain input from such electronic sensors to determine various control actions to be taken for the vehicle (or systems implemented in the vehicle). These modern vehicles are equipped with an increasing number of sensors that generate various types and amounts of data that often exceed the data 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 distribution of data streams from multiple data sources (such as vehicle sensors) to multiple destinations presents significant challenges. BRIEF DESCRIPTION OF THE DRAWINGS

[0002] Figure 1 A vehicle data stream service is described that provides a curated catalog of vehicle attributes, allows a vehicle data stream source to register a data stream to be associated with a vehicle attribute contained or to be contained in the catalog, and in response to a successful registration, associates the data stream with the vehicle attribute of the catalog. The vehicle data stream service also allows a vehicle data stream destination to subscribe to the vehicle attributes contained in the catalog. In addition, the vehicle data stream service receives streaming vehicle data from the data stream source and sends the streaming vehicle data that meets the registration requirements to the data stream destination. In addition, according to some embodiments, the vehicle data stream service manages the vehicle attribute catalog and manages the registration / subscription of one or more sources / destinations (and associated mappings).

[0003] Figure 2 A more detailed view of the registration process of a vehicle attribute by a data stream source of a vehicle data streaming service and a vehicle data streaming provider is illustrated, including the streaming of vehicle data from the vehicle and the formatting of the vehicle data to conform to a streaming service vehicle schema, according to some embodiments.

[0004] Figure 3 A more detailed view illustrating a vehicle data streaming service and a subscription flow of data streaming to a data streaming destination according to some embodiments, including receiving streaming vehicle data associated with vehicle attributes and providing streaming data for the subscribed attributes to the data streaming destination.

[0005] Figure 4A A more detailed view of a vehicle data streaming service that evaluates subscription requests from data streaming requestors for data to be delivered to a destination having a vehicle mode that is different than the mode used by the vehicle data streaming service is illustrated in accordance with some embodiments.

[0006] Figure 4BA more detailed view of a vehicle data flow service and a data mode coordination engine that coordinates different vehicle modes between the modes used by data flow destinations and the modes used by the vehicle data flow service is illustrated in accordance with some embodiments.

[0007] Figure 4C A more detailed view of vehicle data streaming traffic showing coordinated vehicle patterns between data streaming destinations and vehicle data streaming traffic is described, wherein streaming vehicle data is delivered to the data streaming destination using a matching pattern that matches a destination pattern, according to some embodiments.

[0008] Figure 5 A vehicle data streaming service according to some embodiments is described and a more detailed view showing management of the vehicle data streaming service including vehicle attribute directory management according to some embodiments.

[0009] Fig. 6A A more detailed view illustrating data stream traffic and a mapping between a first data stream source and a single data stream destination in accordance with some embodiments.

[0010] Figure 6B A more detailed view illustrating a mapping between data stream services and a second data stream source and a single data stream destination, where the single destination subscribes to vehicle attributes with multiple (alternative) sources, according to some embodiments.

[0011] Figure 6C A more detailed view illustrating data stream services and clearing of a first data stream source and maintaining a mapping between a second data stream source and a single data stream destination in accordance with some embodiments.

[0012] Figure 7 A more detailed view of data flow traffic and mapping between a single data flow source and multiple data flow destinations in different jurisdictions is illustrated in accordance with some embodiments.

[0013] Figure 8 A flow chart illustrating operations performed by a vehicle data streaming service to provide a catalog of vehicle attributes, register data stream sources to the vehicle attributes, and provide streaming vehicle data based on subscriptions to selected vehicle attributes of the catalog, according to some embodiments.

[0014] Fig. 9 A flow chart illustrating operations for registering a vehicle data stream source and associating the vehicle data stream source with a given vehicle attribute according to some embodiments, wherein approval of registration is determined based on a source of streaming vehicle data conforming to a vehicle pattern for the given vehicle attribute.

[0015] Fig.10A flow chart illustrating operations performed by a vehicle data streaming service to approve a subscription request based on determining whether access credentials are sufficient for selected vehicle attributes according to some embodiments.

[0016] Fig.11 A block diagram illustrating an example computer system that implements some or all of the techniques described herein, in accordance with some embodiments, is illustrated.

[0017] Although embodiments are described herein for several embodiments and illustrative figures by means of examples, it will be appreciated by those skilled in the art that embodiments are not limited to the described embodiments or figures. It should be understood that the figures and their detailed description are not intended to limit the embodiments to the disclosed specific forms, but on the contrary, are intended to cover all modifications, equivalents and alternatives falling within the spirit and scope defined by the appended claims. The titles used herein are only used for organizational purposes and are not intended to be used to limit the scope of the specification or claims. As used throughout this application, the word "may" is used in an allowed sense (i.e., meaning that it is possible) rather than in a mandatory sense (i.e., meaning that it must). Similarly, the words "include", "including" and "includes" mean including but not limited to. DETAILED DESCRIPTION

[0018] The systems and methods described herein include techniques for implementing a vehicle data stream service for managing vehicle data provided by multiple vehicle data stream sources and received at multiple data stream destinations.

[0019] A trend in the automotive industry is the increased focus on the concept of connected vehicles equipped with electronic sensors for various applications - from improving the fuel efficiency of vehicles to using artificial intelligence (AI) to enhance greater automation. Vehicles generate more data exponentially with each new generation of vehicles, and begin to differentiate from each other not only mechanically, but also increasingly through software. As vehicles become more advanced and rely on a greater number of sensors that generate large amounts of data, the opportunity to use such sensor data to improve vehicle performance has also grown. For example, for a given set of data streams generated from a vehicle, there may be a number of dedicated data stream providers that manage corresponding portions of vehicle sensor data, respectively. In addition, there may be a number of data stream destinations that are interested in receiving portions of vehicle data, respectively. For example, some destinations may only be interested in receiving selected portions of vehicle data generated by the vehicle, such as one or more selected vehicle streams associated with an analysis to be performed using streaming vehicle data. Sending all available data from a vehicle may not only create unnecessary network loads involved in transmitting large amounts of data, but may also cause inefficiencies in requiring destinations to filter out irrelevant vehicle data. Therefore, a vehicle data stream service that connects a vehicle data stream source to a specific vehicle attribute and allows a vehicle data stream consumer to choose to receive vehicle data for only the selected vehicle attribute improves data sharing by reducing the transmission and filtering of unnecessary vehicle data. In addition, the vehicle data stream service provides a mechanism for notifying potential vehicle data consumers of available vehicle attributes and a mechanism for seamlessly connecting a vehicle data stream source and a vehicle data stream destination in a simple manner. For example, the vehicle data stream service can manage mappings and connections so that a subscriber to a vehicle data stream for a selected attribute can simply provide a destination address at which the subscribed streaming vehicle data for the selected attribute will be delivered, and the vehicle data stream service can be responsible for routing the streaming vehicle data from the vehicle data source to the destination and / or performing any necessary transformations on the streaming vehicle data so that the streaming vehicle data conforms to the schema of the vehicle data stream service and so that the streaming vehicle data is delivered to the destination in a standardized format.

[0020] For example, in addition to the fact that there may be multiple data stream sources and destinations, the manager of an individual destination may not be aware of all the data stream sources available for subscription. Moreover, even if the manager of a given data stream destination is aware of the data stream source, it may be interested in receiving stream data from the data stream source, and the process of creating a data stream (including whether the data stream destination has valid access credentials) may further require coordination between the data stream destination manager and the data stream source manager. In addition, there may be issues with standardization and interoperability of vehicle data, because vehicle data from various data stream sources may be additionally configured into different vehicle modes and may need to be modified to be usable by the data stream destination. Therefore, in some embodiments, a vehicle data stream service can be used to facilitate the transmission of vehicle data between data stream sources and data stream destinations to address these issues.

[0021] For example, in some embodiments, a vehicle data stream service may facilitate the movement of vehicle data from various sources by providing a curated catalog of vehicle attributes and allowing vehicle data stream sources to register their data streams and associate the data streams with the catalog's vehicle attributes. A vehicle data stream service may allow a vehicle data stream destination to subscribe to vehicle attributes in a vehicle catalog. For example, a vehicle data stream service may obtain streaming vehicle data from a vehicle data stream source and may send the received streaming data to a vehicle data stream destination. The vehicle data stream service may further provide governance of the registration / subscription process and enforce data model requirements and access requirements. Additionally, a vehicle data stream service may manage a catalog of vehicle attributes and assist in discovering relevant vehicle attributes.

[0022] Figure 1 A vehicle data stream service is described that provides a curated catalog of vehicle attributes, allows a vehicle data stream source to register a data stream with the data stream service, and in response to a successful registration, associates the data stream with the vehicle attributes of the catalog. The vehicle data stream service also allows a vehicle data stream destination to subscribe to the vehicle attributes in the catalog. In addition, the vehicle data stream service receives streaming vehicle data from the data stream source and sends streaming vehicle data that meets the registration requirements to the data stream destination, to the data stream destination. In addition, according to some embodiments, the vehicle data stream service manages the vehicle attribute catalog and manages registration / subscription of one or more sources / destinations.

[0023] exist Figure 1, the vehicle data stream service 104 includes a vehicle attribute catalog 106 and a data stream source-destination mapping 152. The vehicle data stream service 104 may allow one or more users to manage the vehicle flow service 150 through an interface, wherein the one or more users may be able to configure the vehicle data stream service 104. The vehicle data stream service 104 may allow management of the vehicle attribute catalog 106, change one or more governance policies of the vehicle data stream service 104, etc. In some embodiments, the vehicle data stream service 104 may allow one or more users to create, update, or delete one or more segments of vehicle attributes and associated metadata. Management of the vehicle flow service will be in Figure 5 Further described in .

[0024] As an example, in some embodiments, the vehicle data stream service 104 may receive a request 152 to register a data stream source from a data stream source 102. In some embodiments, the request to register the data stream source 152 may further include a request for the vehicle data stream source to be recognized as a vehicle data stream source by the vehicle data stream service 104, and additionally provide the required information to establish a streaming relationship, wherein the vehicle data stream service 104 may be an endpoint of a data pipe from the vehicle data stream source (wherein the vehicle data stream service further provides streaming vehicle data supplied to the endpoint to a vehicle data consumer). In some embodiments, the request to register the data stream source 152 may include one or more access credentials required to be recognized as a legitimate data stream source by the vehicle data stream service 104. In some embodiments, the vehicle data stream service 104 may send a registration request to the data stream source to complete the registration. The registration request may include source infrastructure identification information, configuration required to conform to the message schema of the data source, vehicle attributes associated with the source, and / or mappings required to configure the vehicle data schema. The data stream source may further submit required registration information 110 in accordance with the registration requirements 108 to complete the registration of the data stream source and to enable association of the data stream source with one or more vehicle attributes in the vehicle attribute catalog 106. Various registration interactions may occur through a registration interface 112 of the vehicle data stream service 104. In some embodiments, the registration request may require approval from the vehicle data stream service 104. In some embodiments, the registration request may require approval obtained as part of an interaction involving management of the vehicle stream service 150. Once the registration request is approved, the streaming vehicle data stream 130 that meets the registration requirements may be sent to the vehicle data stream service 104. The registration workflow and interactions between the data stream source 102 and the vehicle data stream service 104 will be further described in Figure 2 middle.

[0025] In some embodiments, one or more data stream destinations 146 may view the vehicle attribute catalog 140 to discover 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 discovered vehicle attributes of interest. The subscription request 144 and the request to view the catalog 140 may be performed by the subscription interface 142 of the vehicle data stream service 104. Figure 3 As further discussed in , in some embodiments, the data stream destination and the entity that issues a request to subscribe to the data stream at the data stream destination may be the same entity or different entities. After a successful subscription request, the data stream source-destination mapping 152 may create a mapping between the streaming vehicle data 130 that meets the registration requirements and the data stream destination 146. The vehicle data stream service 104 may send the streaming vehicle data stream 132 corresponding to the subscription request to the data stream destination 146. In some embodiments, the streaming vehicle data 132 corresponding to the subscription request may be modified to conform to the schema of the data stream destination 146. The subscription workflow and interaction between the data stream source 102 and the vehicle data stream service 104 will be further described in Figure 3 and FIG. 4A to FIG. 4C In addition, the data flow destination 146 can be any number of downstream businesses / applications. In some embodiments, the data flow destination 146 can be a vehicle shadow that allows interaction between a virtual representation of the connected car and a user. In some embodiments, the data flow destination 146 can be a data analytics business, a data lake that provides a repository for vehicle data, and / or other data storage business.

[0026] although Figure 1 Only one data stream source 102 is depicted, but any number of data sources may send vehicle information to the vehicle data stream service 104. In various embodiments, the vehicle data stream service 104 may be a device or system for managing the distribution, storage, retrieval, and / or processing of large-scale vehicle data streams. The vehicle data stream service 104 may be designed to handle hundreds or even thousands of concurrent data sources and destinations. As used herein, the term "data stream" refers to a series of vehicle data records that may be generated by one or more data sources (e.g., vehicle sensors) or producers (e.g., vehicles, vehicle service centers) and accessed by one or more vehicle data consumers at one or more destinations.

[0027] Note that the previous description of the vehicle data stream service 104 is a logical illustration and should therefore not be construed as being limited to a particular implementation of network addresses, system interfaces, or various other features. In some embodiments, various other registration process steps may be used to associate the vehicle data stream from the data stream source 102 with the vehicle attributes of the vehicle attribute directory 106. Different combinations or implementations may be implemented in various embodiments.

[0028] This specification continues with various examples of vehicle data stream services, including different components / modules or arrangements of components / modules that can be used as part of implementing a vehicle data stream service. A number of different methods and techniques for implementing various methods of registration of vehicle data stream sources, subscription of vehicle data stream destinations, and management of vehicle data stream services (including vehicle attribute directories) are then discussed, some of which are illustrated in the accompanying flow charts. Finally, a description of an example computing system is provided on which various components, modules, systems, devices, and / or nodes can be implemented. Various examples are provided throughout the specification.

[0029] Figure 2 A more detailed view illustrating registration of a data stream source of a vehicle data streaming service and a vehicle data streaming provider, wherein the data stream source is registered to a vehicle attribute included or to be included in a catalog of the vehicle data streaming service. For example, according to some embodiments, the vehicle data streaming service may manage the vehicle data stream from the vehicle and further manage the formatting of the vehicle data such that the vehicle data is modified to conform to the streaming service vehicle model.

[0030] exist Figure 2 In some embodiments, the vehicle 250 and the vehicle service center 260 may send the vehicle information 202 to the data stream source 102. In some embodiments, the vehicle 250 may generate one or more segments of the vehicle information 202 to send to the data stream source 102. The vehicle 250 may send the vehicle information 202, which may include data such as video frames, images, radar amplitudes, temperature data, engine speed, and any other information generated from one or more sensors about the vehicle 250. In some embodiments, the 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 the vehicle 250. In some embodiments, the geographic location of the vehicle 250 may be determined in a variety of ways.

[0031] In some embodiments, vehicle information 202 may include aspects that may be considered personally identifiable information ("PII"). PII may include any information that may be linked or linkable to an individual, and may also be categorized by the "PII level" or degree to which vehicle information 202 may be used to personally identify an individual. To protect the privacy of individuals, vehicle data stream services may provide greater protection for vehicle data that includes aspects that may be PII. For example, greater access credentials may be required to access or subscribe to vehicle attributes that include such vehicle data streams.

[0032] In some embodiments, the vehicle data may be provided by a vehicle business center 252. Additionally, in some embodiments, the vehicle business center 252 may provide information such as vehicle data related to repairs and / or vehicle registration. The vehicle 250 or the vehicle business center 252 may send the vehicle information 202 using various publish-subscribe network protocols or other network protocols to transmit messages. For example, the vehicle 250 may use an MQ (e.g., Message Queuing) Telemetry Transport (“MQTT”) protocol to send the vehicle information 202. Although Figure 2 Only the vehicle 250 and the vehicle business center 252 are depicted as generating the vehicle information 202 , but any number of vehicle data generators (eg, vehicles, vehicle business centers, etc.) may send the vehicle information 202 to the data stream source 102 .

[0033] In some embodiments, the data stream source 102 may be part of a vehicle data stream provider 200 that manages one or more vehicle data streams. The vehicle data stream provider 200 may further include a data enrichment pipeline 210 that processes the vehicle information 202 to generate additional interesting vehicle data and / or enhance the vehicle information 202. For example, the data enrichment pipeline may include one or more computing services that provide instances, containers, and / or functions according to various configurations of data processing operations specified by the vehicle data stream provider 200. The virtual computing instance of the data enrichment pipeline 210 may, for example, include one or more servers and / or virtualized computing resources. The container may provide a virtual operating system or other operating environment for executing or implementing an application to process the vehicle information 202. In some embodiments, when performing one or more vehicle data processing operations, a short-lived computing function for preprocessing the vehicle information 202 may be implemented, and the one or more vehicle data processing operations may be automatically scaled up or down to provide an appropriate number of computing resources to perform a given set of preprocessing tasks. The computing instances, containers and / or functions may operate or implement a variety of different businesses, such as application server instances, general-purpose or special-purpose operating systems, businesses that support various interpreted or compiled programming languages ​​(e.g., Ruby, Perl, Python, C, C++, etc.), or high-performance computing businesses suitable for performing data processing of vehicle information 202.

[0034] In addition, in various embodiments, the compute instance configuration for the data enrichment pipeline 210 may also include compute instances, containers, and / or functions with general or special purposes, such as compute workloads for compute-intensive applications. In some embodiments, the compute instances may be used for machine learning applications, such as applications that train and generate machine learning regression models to process and derive additional vehicle information 202. The size of the compute instances, containers, and / or functions (e.g., 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.

[0035] like Figure 1 As described in , the data stream source 102 may request the vehicle data stream service 104 to register the data stream source 152. In some embodiments, the request to register the data stream source 152 may further include a request for the data stream of the data stream source 102 to be identified by the vehicle data stream service 104. In some embodiments, the data stream source 102 may provide the information required to establish a streaming infrastructure relationship, wherein the vehicle data stream service 104 serves the endpoint of the data pipeline from the data stream source 102. For example, the request to register the data stream source 152 may include the information required by the vehicle data stream service 104 to access the streaming data generated by the data stream source 102, such as the name of the category for organizing the message containing the vehicle information 202. In addition, the request to register the data stream source 152 may further include access credentials. In some embodiments, the authorization of the registration request may include HTTP authentication using a username and password sent with the API call, key authentication using a unique key disclosed to the authorized user, using the OAuth authorization framework, etc. In some embodiments, the access credentials included in the request may include a lookup of a username, username password, role, or other identification. Unauthorized requests with incorrect access credentials may be denied, and the requesting data stream source 102 may be notified of the denial of permission. In some embodiments, the request to register the data stream source 152 may not be sent from the data stream source 102 , but from a third entity such as the vehicle data stream provider 200 .

[0036] like Figure 1As described in , the vehicle data stream service 104 may send a registration request 108 to the data stream source 102. The request may include a source infrastructure identification, such as a name or network address of the data stream source 102 that has been recognized (or will be recognized by the vehicle data stream service 104). The registration request may further include the required schema for the message sent to the vehicle data stream service 104. In some embodiments, the vehicle information 202 may include a heterogeneous set of data structures, and thus the registration request may be required to provide information to configure each schema or data structure of the data stream to conform to the message schema that can be accepted by the vehicle data stream service 104. In some embodiments, the registration request 108 may require the name of the vehicle attribute of the data stream source to be associated with the provided data stream. The registration request 108 may further include the necessary transformations to be applied to the vehicle information 202 with the source vehicle schema 220 so that the vehicle information 202 conforms to the stream service vehicle schema 234. In some embodiments, the transformations to be applied to the vehicle information 202 sent to the vehicle data stream service 104 may be performed by the vehicle schema engine 256 of the vehicle data stream service 104. In some embodiments, at least a portion of the transformation applied to the streaming data from the source vehicle model 220 to the streaming service vehicle model 234 can be performed based on information contained in the required registration information provided by the data stream source 102. In some embodiments, the data stream source 102 can determine which vehicle attribute in the vehicle attribute directory 106 to associate its vehicle data stream with based on the vehicle attribute metadata 232. The vehicle attribute metadata 232 can include a description of the vehicle attributes contained in the vehicle attribute directory 106, such as the category of the attribute, the hierarchical organization of the attribute, etc. In some embodiments, the request 152 to register the data stream source can also be a request to add a new vehicle attribute to the vehicle attribute directory 106. Various registration interactions can occur through the registration interface 112 of the vehicle data stream service 104. In addition, the requests can be made using various communication protocols, including various HTTPS requests, RESTful requests, and other API requests.

[0037] The data stream source 102 may send the required registration information 110 to complete the registration request according to the registration requirements 108. In some embodiments, the registration request may require approval by the vehicle data stream service 104. Once 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 streaming vehicle data that meets the registration requirements 130 to the vehicle data stream service 104 and / or enable the vehicle data stream service 104 to obtain the streaming vehicle data that meets the registration requirements 130.

[0038] Figure 3A more detailed view illustrating a vehicle data streaming service and data stream destination subscription flow according to some embodiments, including receiving streaming vehicle data associated with vehicle attributes and providing the streaming data for the subscribed attributes to the data stream destination.

[0039] In some embodiments, the data stream requester 302 may review the vehicle attribute directory 140 to discover relevant vehicle attributes and vehicle data that may be received at the data stream destination 146, such as Figure 1 In some embodiments, the data stream requester 302 may review the vehicle attribute metadata 232 to determine which vehicle attributes of the subscribed vehicle attributes. Figure 2 As discussed in , the vehicle attribute metadata 232 may include descriptions of vehicle attributes, categories of attributes, hierarchical organization of attributes, and / or other information that allows the data stream destination 146 to discover vehicle data relevant to its application. In some embodiments, the vehicle attribute catalog 106 may further provide for categorized navigation through vehicle attributes arranged in a hierarchical organization or arranged in unique categories 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.

[0040] The data stream requester 302 may send a subscription request 144 to the vehicle data stream service 104 to receive streamed vehicle data associated with vehicle attributes selected from the vehicle attribute catalog 106. In some embodiments, the subscription request 144 may provide a destination identifier (e.g., a name or network address of a data stream destination), one or more desired vehicle attributes, and / or access credentials. In some embodiments, the access credentials may be a destination access credential 320 associated with the data stream requester and / or an access credential associated with the data stream destination 146. In some embodiments, similar to Figure 2The destination access credentials 320 may include HTTP authentication using a username and password sent with the API call, key authentication using a unique key disclosed to authorized users, credentials required using the OAuth authorization framework, or other types of credentials. In some embodiments, the access credentials of the subscription request may cause a lookup of the username, username password, role, or other identification. Unauthorized requests with incorrect access credentials may be rejected, and the requesting data stream source 102 may be notified of the rejection of permission. In some embodiments, the subscription request 144 may be rejected based on whether the destination access credentials 320 are sufficient to subscribe to vehicle attributes with certain access levels. In some embodiments, the vehicle attributes of the vehicle attribute catalog 106 may be associated with certain access levels that require different levels of access credentials (e.g., to protect PII). In some embodiments, the vehicle attribute metadata 232 may further include access levels associated with the corresponding vehicle attributes. In addition, in some embodiments, the destination access credentials 320 may be associated with the jurisdiction where the data stream destination 146 is located. For example, the vehicle data stream service 104 may require a higher level of access for a subscription request 144 made from a data stream destination 146 having a destination access credential 320 than for another stream destination from a different jurisdiction. Different subscription request access credential requirements based on different jurisdictions are further described in Figure 7 middle.

[0041] although Figure 3 A subscription request made by a data stream requester 302 is depicted, but other entities may send a subscription request 144 to establish a subscription to a data stream destination 146. In some embodiments, the access credentials required to approve the subscription request 144 may be the access credentials of the requesting entity, or the access credentials provided in the request message. Figure 3 The data flow requester 302 and the data flow destination 146 are depicted as separate entities, but in some embodiments, the data flow destination 146 may be a separate entity such as Figure 1 The requesting entity discussed in .

[0042] Upon valid subscription request, the vehicle data streaming service 104 creates a mapping between the data stream source and the data stream destination 146 based on the selected vehicle attributes. The vehicle data streaming service 104 sends the streaming vehicle data corresponding to the subscription request 132. 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 streaming vehicle data 132 may conform to the schema of the data stream destination 146, or the data stream destination 146 may not require the streaming data to conform to a certain schema. However, in some embodiments, the data stream destination 146 may require the vehicle data to conform to a schema different from the streaming service vehicle schema 234. FIG. 4A to FIG. 4C The coordination between different vehicle modes of the vehicle data stream service 104 and the data stream destinations 146 will be described.

[0043] Figure 4A A more detailed view of a vehicle data streaming service that implements subscriptions based on subscription requests from a requestor to a destination having a different vehicle model than the vehicle data streaming service is illustrated in accordance with some embodiments.

[0044] In some embodiments, the data stream destination 146 may have a destination vehicle model 422 that describes vehicle attributes and relationships between vehicle attributes based on an ontology used at the data stream destination. For example, the data stream destination 146 may include a vehicle shadow 424 or other vehicle virtual representation service that gives visibility of the state of the connected vehicle and allows changes in the virtual vehicle shadow to be reflected in the physical vehicle. This vehicle shadow may be associated with a different destination vehicle model 422 than the stream service vehicle model 234 of the vehicle data stream service 104. A data stream destination 146 having a destination vehicle model 422 may require that the streaming vehicle data be transformed to match the destination vehicle model 422.

[0045] like Figure 3 , the data stream requester 302 may request to view the vehicle attribute catalog 106. In some embodiments, the vehicle attribute metadata 232 in the vehicle attribute catalog 106 may notify the data stream requester 302 that the streaming service vehicle mode for the vehicle attribute as determined in the vehicle mode engine 106 is different from the destination vehicle mode 422. In some embodiments, the data stream requester 302 may send a subscription request 144 via the subscription interface 142 and indicate the necessary transformations that the vehicle mode engine 106 should apply to the streaming data to conform to the destination vehicle mode 422.

[0046] Figure 4BA more detailed view of vehicle data flow traffic and a data mode coordination engine that coordinates different vehicle modes between data flow destinations and vehicle data flow traffic is illustrated in accordance with some embodiments.

[0047] Based on Figure 4A In response to the subscription request 144 described in the above, the data pattern coordination engine 426 can generate a matching pattern 434. In some embodiments, the data pattern coordination engine 426 can generate the matching pattern 434 to be the same as the streaming service vehicle pattern 234. In some embodiments, the data pattern coordination engine 426 can generate the matching pattern 434 to be the same as the destination vehicle pattern 422 or to conform to a third vehicle pattern that is different from either of the two patterns. The data pattern coordination engine 426 can send the matching pattern to the vehicle data streaming service 104 and the data streaming destination 146. In some embodiments, the data pattern coordination engine 426 can modify the streaming service vehicle pattern 234 and modify the destination vehicle pattern 422 to conform to the matching pattern 434. In some embodiments where the matching pattern is the same as the streaming service vehicle pattern 234, only the destination vehicle pattern 422 can be changed. In another embodiment where the matching pattern 434 is the same as the destination vehicle pattern 422, only the streaming service vehicle pattern 234 can be changed.

[0048] although Figure 4B The data pattern coordination engine 426 is depicted as being external to the vehicle data flow service 104. In some embodiments, the data pattern coordination engine 426 may be part of the vehicle data flow service 104. Furthermore, in some embodiments, the data pattern coordination engine 426 may only transmit the matching pattern 434 and may not participate in transforming either of the flow service vehicle pattern 234 or the destination vehicle pattern 422.

[0049] Figure 4C A more detailed view of a vehicle data streaming service is illustrated according to some embodiments, which has a coordinated vehicle pattern between a data stream destination and the vehicle data streaming service and sends streaming vehicle data with a matching pattern.

[0050] exist Figure 4C , the streaming vehicle data 426 having the matching pattern is sent from the vehicle data stream service 104 to the data stream destination 146. In some embodiments, as Figure 4B As described in , the data pattern coordination engine may have transformed the streaming service vehicle pattern 234 and / or the destination vehicle pattern 422 to have a matching pattern. In some embodiments, the vehicle pattern engine 106 may transform the streaming vehicle data to have a matching pattern, while in other embodiments, the data pattern coordination engine (inside or outside the vehicle data streaming service 104) may transform the streaming service vehicle pattern 234 associated with the vehicle data of a particular vehicle attribute. Figure 3 As described in , the flow traffic vehicle pattern 234 and the destination vehicle pattern 422 may not require any transformation and may already have matching patterns. In some embodiments, matching patterns may not be a requirement for the data flow destination.

[0051] Figure 5 A more detailed view of vehicle data stream services and management of vehicle data stream services including vehicle attribute directory management is illustrated in accordance with some embodiments.

[0052] In some embodiments, the vehicle attribute directory interface 504 may be used to transmit the vehicle attribute directory 106 of the vehicle data stream service 104. Figure 1 and Figure 2 , the vehicle data stream service 104 may allow one or more users to manage the vehicle data stream service, including the vehicle attribute catalog 106. Metadata may include descriptions of vehicle attributes, classifications of attributes, hierarchical organization of attributes, and other information that allows data stream destinations and other entities to discover vehicle attributes relevant to their applications. The vehicle data stream service 104 may allow management of the vehicle attribute catalog 106 through the vehicle attribute catalog interface 502. For example, one or more authorized users may retrieve the vehicle catalog 510, add / remove vehicle attributes 512, update vehicle attribute metadata 514, and update vehicle attribute classification 516. In some embodiments, changes in vehicle attribute classifications may further cause the vehicle mode engine 256 to change the streaming service vehicle mode 234 according to changes in vehicle attribute classifications. In some embodiments, one or more vehicle attributes of the vehicle catalog may be retrieved by the classification navigation provided by the vehicle data stream service 104. In some embodiments, the vehicle attributes may be arranged in a hierarchical organization or in a unique classification to facilitate the discovery of related vehicle attributes and / or facilitate navigation of vehicle attributes. In addition, in some embodiments, the vehicle attribute catalog may provide a full-text search index to further facilitate the discovery of vehicle attributes.

[0053] In some embodiments, the vehicle data stream service access control 520 can allow one or more users to manage access control 522 to the attribute. The vehicle data stream service access control 520 can allow one or more users to change the type of access credentials required for registration and / or subscription requests. For example, one or more users can manage access control 522 to vehicle attributes to require HTTP authentication using a username and password sent with an API call, require key authentication using a unique key disclosed to an authorized user, or request using an OAuth authorization framework. In some embodiments, the access credentials required in the request can be specified by managing access control 522 to the attribute. For example, the vehicle data stream service access control 520 can determine a username, username password, role, or other identifier that can be authorized to register a stream source / destination. In addition, in some embodiments, the response that the vehicle data stream source 104 is to take for an unauthorized request with an incorrect access credential can be managed by the vehicle data stream service access control 520. For example, the vehicle data stream source 104 can be configured to respond to an unauthorized request with a notification of a denied permission. In some embodiments, different access credential requirements can be determined for certain vehicle attributes. For example, vehicle attributes with higher access levels can be identified and set to require higher access rights. It should be noted that in some embodiments, different access rights can be associated with different users, regardless of the manner in which the identity of the user is determined based on the access credentials. For example, different users who access the vehicle data stream service using the same method of providing access credentials (e.g., using the various access credential mechanisms described above) can be assigned different access rights.

[0054] In some embodiments, streaming data 526 from a data stream source having mode Y may be received by the vehicle data stream service 104. After the vehicle mode engine 256 transforms the streaming data from mode Y to the streaming service vehicle mode 234, the vehicle data stream service 104 may send this received data as part of the streaming data 528 from the data stream source having mode Y that conforms to the streaming service mode. In some embodiments, the received streaming data 526 is sent to a destination that can access the vehicle data stream service 104 according to the access control 530 based on the vehicle data stream service access control 520.

[0055] In some embodiments, the vehicle data stream service access control 520 can be further used to complete the registration of a given data stream source. For example, from a data stream source (e.g., Figure 2A registration request from a data stream source 102 of the vehicle data stream service 520 may require the vehicle data stream service access control 520 to receive an approval 524 of the registration request to complete the registration of the data stream source. In some embodiments, the approval 524 of the registration may be sent based on a determination that the registration request conforms to a pattern of a selected vehicle attribute from the registration request. In some embodiments, the approval 524 of the registration may be sent based on a determination that the data stream source to be registered is an authoritative source for the selected vehicle attribute. In some embodiments, the vehicle data stream service access control 520 may issue an approval of the registration request and may not require receiving any approval 524. In some embodiments, the approval may be based on both the proposed data source being an authoritative source for a given attribute and the data source providing a data stream that conforms to a pattern of the data stream service.

[0056] Fig. 6A A more detailed view illustrating data stream traffic and a mapping between a first data stream source and a single data stream destination in accordance with some embodiments.

[0057] Similar to Figure 2 , data stream source A 602 may send required registration information 610 for attribute X from source A to register to vehicle attribute X, and after the registration is approved, send streaming vehicle data 630 for attribute X from source A to vehicle data stream service 104. In addition, as Figure 3 As described in the subscription process shown in , data stream destination C 606 can send a subscription request 644 for attribute X. In some embodiments, based on the successful subscription request 644, the vehicle data stream service 104 can generate a vehicle attribute X map 670 and send the streaming vehicle data 662 for attribute X to the data stream destination C 606.

[0058] Figure 6B A more detailed view illustrating a mapping between a data stream service and a second data stream source and a single data stream destination subscribing to vehicle attributes having multiple sources in accordance with some embodiments.

[0059] Similar to Figure 2 and Fig. 6A , data stream source B 604 may send required registration information 612 from source B for attribute X to register to vehicle attribute X, and after the registration is approved, stream vehicle data 632 from source B for attribute X is sent to the vehicle data stream service 104. Fig. 6AIn response to the successful subscription request, the vehicle data stream service 104 may update the vehicle attribute X mapping 670 between all data stream sources associated with the vehicle attribute X, and send the streaming vehicle data 662 for attribute X to the data stream destination C 606. The vehicle data stream service 104 may send the data received from the data stream source A 602 and the vehicle data stream source B 604 (the vehicle data 630 for attribute X from source A and the streaming vehicle data 632 for attribute X from source B) to the data stream destination C 606, respectively.

[0060] Figure 6C A more detailed view illustrating data stream services and clearing of a first data stream source and maintaining a mapping between a second data stream source and a single data stream destination in accordance with some embodiments.

[0061] In some embodiments, the vehicle data stream service 104 may allow one or more users to disassociate 660 data stream source A from attribute X. Upon successful disassociation, the vehicle data stream service 104 may no longer receive vehicle information streamed from data stream source A. However, streaming vehicle data 632 for attribute X from source B may continue to be received by the vehicle data stream service 104. In addition, the vehicle attribute X map 670 may be updated by the vehicle data stream service 104 based on the disassociation of data stream source A 602, so that only streaming vehicle data for attribute X from source B 632 (or other streaming sources with a valid registration for attribute X) will be part of the streaming vehicle data 662 for attribute X that is streamed to data stream destination C 606. In some embodiments, the vehicle data stream service 104 may send one or more notifications of the changes made to the vehicle attribute X map 670 to the data stream destination C 606. In some embodiments, the data stream destination C 606 may receive a notification that data stream source A has been disassociated from attribute X. In some embodiments, data stream destination C 606 may receive notification that data stream source B has been associated with attribute X. Any information related to the change in vehicle attribute mapping may be sent to data stream destination C 606 in a notification, including identification of one or more users that have issued a registration request or a disassociation request.

[0062] although FIG. 6A to FIG. 6C Only two data stream sources (data stream source A 602 and data stream source B 604) are shown, but any number of data stream sources may be associated with a vehicle attribute. In addition, a data stream source may be associated with multiple vehicle attributes and is not limited to a connection between one vehicle attribute and one data stream source.

[0063] Figure 7 A more detailed view illustrating data flow traffic and the mapping between a single data flow source and multiple data flow destinations in different jurisdictions according to some embodiments.

[0064] like Figure 2 and FIG. 6A to FIG. 6C As discussed in , data stream source A 602 may send required registration information 610 from source A for attribute X to be associated with vehicle attribute X. Upon successful registration, data stream source A 602 may send streaming vehicle data 630 from source A for attribute X to vehicle data stream service 104. In some embodiments, various data stream destinations may send subscription requests to be associated with vehicle attribute X. Figure 7 , data stream destination D 710, data stream destination E 712, and data stream destination F 714 associated with respective jurisdictions K 703, L 706, and M 708 may send subscription requests to the vehicle data stream service 104. Data stream destination D 710, data stream destination E 712, and data stream destination F 714 may respectively send subscription requests 744, 746, and 748 for attribute X to the vehicle data stream service 104 using respective access credentials.

[0065] In some embodiments, the vehicle data stream service 104 may approve the subscription request for attribute X from data stream destination D 710 and data stream destination E 712 based on the re-subscription request having valid access credentials. In some embodiments, the vehicle data stream service 104 may deny the subscription request for attribute X 748 based on data stream destination F 714 being associated with jurisdiction M 708. Figure 3 As discussed in , the denial may depend on identifying the access credentials of the vehicle subscription request 748, and the subscription request may be denied based on whether the destination access credentials are sufficient to subscribe to vehicle attributes with certain PII levels. In some embodiments, the data stream destination E 712 and the data stream destination F 714 may have similar levels of access credentials and / or permissions, but based on different jurisdictions, the subscription request 746 for the data stream destination E 712 may be approved, and the subscription request 748 for the data stream destination F 714 may be denied. In some embodiments, the vehicle data stream service 104 may send a notification to the data stream destination F 714 that the subscription request for attribute X has been denied 756.

[0066] In some embodiments, the vehicle attribute X mapping 670 may be generated based on the registration and subscription request, and the vehicle data streaming service 104 may send the streaming vehicle data 630 for attribute X from source A to data stream destination D 710 as part of the streaming vehicle data 752 for attribute X, and to data stream destination E 712 as part of the streaming vehicle data 754 for attribute X. Figure 7Only three data stream destinations are shown, but any number of data stream destinations can be associated with a vehicle attribute. In addition, a data stream source can be associated with multiple vehicle attributes and is not limited to a connection between one vehicle attribute and one data stream source.

[0067] Figure 8 A flow chart illustrating operations performed by a vehicle data streaming service to provide a catalog of vehicle attributes, register data stream sources to the vehicle attributes, and provide streaming vehicle data based on subscriptions to selected vehicle attributes of the catalog, according to some embodiments.

[0068] At block 810, the vehicle data stream service generates a catalog of vehicle attributes for a vehicle, the catalog including metadata providing information about the vehicle attributes. Figure 2 As discussed in , metadata may include descriptions of vehicle attributes, classifications of attributes, hierarchical organization of attributes, and other information that allows a data stream destination (eg, a requesting entity associated with the data stream destination) to discover vehicle data relevant to its application.

[0069] At block 820, the vehicle data stream service receives a subscription request for a vehicle attribute selected from a catalog. Figure 3 As discussed in , in some embodiments, a subscription request may require valid access credentials of the requesting entity or valid access credentials provided by the request message to be approved.

[0070] At block 830 , the vehicle data stream service performs one or more configuration operations to enable the vehicle data stream destination to receive stream data from one or more registered vehicle data streams associated with the selected vehicle attributes.

[0071] At block 840, the vehicle data stream service provides streaming vehicle data from registered vehicle data streams corresponding to the respective vehicle attributes to one or more subscribed vehicle data stream destinations. Figure 7 As discussed in , there may be multiple subscribed vehicle data stream destinations that receive streaming vehicle data based on the multiple destinations' subscriptions to the same vehicle attributes.

[0072] Fig. 9 A flow chart illustrating operations for registering a source of streaming vehicle data and associating vehicle attributes based on a streaming vehicle data source conforming to a vehicle pattern for a given vehicle attribute, according to some embodiments.

[0073] At block 910, a request to register a data stream source is received by the vehicle data stream system. In some embodiments, the request to register a data stream source may also include a request to be recognized as an acceptable data stream source by the vehicle data stream service, such as Figure 1 As discussed in .

[0074] At block 920, a registration requirement is provided by the vehicle data stream system. For example, in some embodiments, the registration requirement may include source infrastructure identification information and configuration information that may be used to conform to a message schema of the vehicle data stream system. In some embodiments, the registration requirement may be provided in Figure 2 Those discussed further in .

[0075] At block 930 , 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 at block 920 .

[0076] At block 940, it is determined whether the vehicle data of the data stream to be registered conforms to a pattern of a given vehicle attribute contained or to be contained in the catalog. In some embodiments, the determination may be performed by the data stream source after it has received a registration message containing a desired vehicle pattern for the data stream to be conformed.

[0077] At block 950, if the vehicle data to be registered does not conform to the pattern for the given vehicle attribute, one or more transformations to be applied to the vehicle data of the data stream source to be registered to conform to the pattern for the given vehicle attribute are determined. Figure 3 As discussed in , the determination may be performed by the data stream source as part of providing the required registration information, and the transformation is given as part of the required registration information of the registration request.

[0078] At block 960, the data stream source is registered to a given vehicle attribute. In some embodiments, a data stream may be registered to more than one vehicle attribute, such as FIG. 6A to FIG. 6C Further discussed in.

[0079] At block 970, the vehicle data stream service generates a mapping between the vehicle data of the data stream to be registered and the given vehicle attributes. FIG. 6A to FIG. 6C As discussed in , there may be more than one vehicle data stream source associated with a selected vehicle attribute.

[0080] Fig.10 A flow chart illustrating operations performed by a vehicle data streaming service to approve a subscription request based on determining whether access credentials are sufficient for selected vehicle attributes according to some embodiments.

[0081] At block 1010, the vehicle data stream service identifies access credentials for the subscription request. Figure 3 As discussed in , access credentials can be information that implements HTTP authentication (e.g., a username and password sent with an API call), information that implements key authentication (e.g., a unique key disclosed to authorized users), and the like.

[0082] At block 1020, the vehicle data flow service identifies access credentials for the data flow destination. In some embodiments, the access credentials may be destination access credentials associated with the data flow destination, rather than (or in addition to) the access credentials of the request itself.

[0083] At block 1030, the vehicle data stream service determines whether the access credentials are sufficient to access the selected vehicle attributes from the directory. Figure 7 As discussed in , access credentials may be evaluated based at least in part on the level of personally identifiable information of selected vehicle attributes. Figure 7 As further discussed in , access requests may differ based on the jurisdiction associated with the destination of the data flow.

[0084] At block 1040 , the vehicle data streaming service approves the subscription request based on a determination that the access credentials are sufficient to access the selected vehicle attributes.

[0085] Example Computer System

[0086] Fig.11 The description can be used to implement the above Figures 1 to 10 An exemplary computer system 1100 for describing aspects of the vehicle data flow service. In various embodiments, the computer system 1100 may 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 peripheral device (e.g., a switch, a modem, a router), or generally any type of computing or electronic device.

[0087] As described herein, various embodiments of program instructions for providing a curated catalog of vehicle attributes, allowing vehicle data stream sources to register with a vehicle data stream system, and allowing vehicle data stream destinations to subscribe to vehicle attributes in the vehicle catalog may be executed in one or more computer systems 1100, which may interact with various other devices. It should be noted that, according to various embodiments, the above description of Figures 1 to 10 Any component, action or functionality described may be configured as Fig.111100 is implemented on one or more computers of a computer system 1100. In the illustrated embodiment, the computer system 1100 includes one or more processors 1110 coupled to a 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 one or more displays 1180. In some cases, it is contemplated that the embodiments may be implemented using a single example of a computer system 1100, while in other embodiments, a plurality of such computer systems or a plurality of nodes constituting the computer system 1100 may be configured to host different portions or example 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, which are different from those nodes implementing other elements.

[0088] 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 including multiple components integrated into 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 into a single chip. In some embodiments, SoC embodiments may implement a reduced instruction set computing (RISC) architecture or any other suitable architecture.

[0089] The system memory 1120 may be configured to store compressed or decompressed program instructions 1122 and / or sensor data accessible by the processor 1110. In various embodiments, the 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, the program instructions 1122 may be configured to implement any of the functionality described above. In some embodiments, program instructions and / or data may be received, sent, or stored on different types of computer accessible media or similar media separate from the system memory 1120 or the computer system 1100.

[0090] In one embodiment, I / O interface 1130 may be configured to coordinate I / O traffic between processor 1110, system memory 1120, and any peripheral devices in the device, including network interface 1140 or other peripheral interfaces, such as input / output device 1150. In some embodiments, I / O interface 1130 may perform any required protocol, timing, or other data transformations to convert data signals from one component (e.g., system memory 1120) into a format suitable for use by another component (e.g., processor 1110). In some embodiments, I / O interface 1130 may include support for devices attached, for example, via various types of peripheral buses such as a variant of the Peripheral Component Interconnect (PCI) bus standard or the Universal Serial Bus (USB) standard. In some embodiments, the functionality of I / O interface 1130 may be split into two or more separate components, such as a north bridge and a south bridge. In addition, in some embodiments, some or all of the functionality of I / O interface 1130 (e.g., an interface to system memory 1120) may be directly incorporated into processor 1110.

[0091] The network interface 1140 may be configured to allow data to be exchanged between the computer system 1100 and other devices (e.g., carriers or proxy devices) attached to the network 1185 or between nodes of the computer system 1100. In various embodiments, the network 1185 may include one or more networks, including but not limited to a local area network (LAN) (e.g., an Ethernet or corporate network), a wide area network (WAN) (e.g., the Internet), a wireless data network, some other electronic data network, or some combination thereof. In various embodiments, the network interface 1140 may support communication via: via a wired or wireless general data network, such as any suitable type of Ethernet network; via a telecommunications / telephone network, such as an analog voice network or a digital fiber optic communications network; via a storage area network, such as a Fiber Channel SAN; or via any other suitable type of network and / or protocol.

[0092] In some embodiments, input / output device 1150 may include one or more display terminals, keyboards, keypads, touch pads, scanning devices, voice or optical recognition devices, or any other device suitable for entering or accessing data through one or more computer systems 1100. Multiple input / output devices 1150 may be present in computer system 1100, or may be distributed across various nodes of computer system 1100. In some embodiments, similar input / output devices may be separate from computer system 1100 and may interact with one or more nodes of computer system 1100 through a wired or wireless connection (e.g., via network interface 1140).

[0093] like Fig.11As shown in FIG. 1 , memory 1120 may include program instructions 1122, which may be executable by a processor to implement any element or action described above. In one embodiment, the program instructions may implement the method described above. In other embodiments, different elements and data may be included.

[0094] The computer system 1100 may also be connected to other devices not described, or may alternatively operate as a standalone system. Additionally, in some embodiments, the functionality provided by the described components may be combined in fewer components or distributed in additional components. Similarly, in some embodiments, the functionality of some of the described components may not be provided and / or other additional functionality may be used.

[0095] Those skilled in the art will also understand that, although various items are described as being stored in memory or storage devices when in use, these items or a portion thereof may be transferred between memory and other storage devices for the purpose of memory management and data integrity. Alternatively, in other embodiments, some or all of the software components may be executed in memory on another device and communicated with the described 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 to be read by an appropriate drive, various examples of which are described above. In some embodiments, instructions stored on a computer-accessible medium separated from the computer system 1100 may be transmitted to the computer system 1100 via a transmission medium or a signal such as an electrical signal, an electromagnetic signal, or a digital signal, which is transmitted via a communication medium such as a network and / or a wireless link. Various embodiments may further include receiving, sending, or storing instructions and / or data implemented according to the foregoing description on a computer-accessible medium. In general, computer-accessible media may include non-transitory computer-readable storage media 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, etc. In some embodiments, computer-accessible media may include transmission media or signals such as electrical, electromagnetic or digital signals conveyed via a communication medium such as a network and / or a wireless link.

[0096] In different embodiments, the methods described herein may be implemented in software, hardware, or a combination thereof. In addition, the order of the method's frames may be changed, and various elements may be added, reordered, combined, omitted, modified, etc. Various modifications and changes may be made, which are apparent to those skilled in the art who benefit from the disclosure. The various embodiments described herein are intended to be illustrative rather than restrictive. Many variations, modifications, additions, and improvements are possible. Therefore, multiple examples may be provided for the components described herein as a single example. The boundaries between the various components, operations, and data storage devices are arbitrary to some extent, and specific operations are described in the context of a specific illustrative configuration. Other functional allocations are contemplated, and they may fall within the scope of the appended claims. Finally, the structure and functionality presented as discrete components in the example configuration may be implemented as a combined structure or component. These and other variations, modifications, additions, and improvements may fall within the scope of the embodiments defined by the appended claims.

[0097] Embodiments of the present disclosure may be described in terms of the following:

[0098] Clause 1. A system comprising:

[0099] One or more computing devices configured to implement a vehicle data stream service, wherein the vehicle data stream service is configured to:

[0100] generating a catalog of vehicle attributes of vehicles, wherein entries in the catalog include metadata providing information about the vehicle attributes, and wherein the data streaming service is configured to provide, for respective ones of the vehicle attributes, streaming vehicle data from a registered vehicle data stream corresponding to the respective vehicle attributes;

[0101] receiving a subscription request for vehicle attributes, wherein the vehicle attributes are selected from the catalog; and

[0102] One or more configuration operations are performed based on approval of the subscription request to enable a vehicle data stream destination to receive stream data from one or more of the registered vehicle data streams associated with the selected vehicle attribute.

[0103] Clause 2. The system of clause 1, wherein the vehicle data stream service is further configured to:

[0104] receiving a registration request indicating that a vehicle data stream is to be registered;

[0105] determining whether vehicle data of the data stream to be registered conforms to a pattern of a given vehicle attribute contained or to be contained in the catalog, and in response to determining that the vehicle data does not conform to the pattern, determining one or more transformations to be applied to the vehicle data of the data stream source to be registered to conform to the pattern of the given vehicle attribute; and

[0106] Based at least in part on a determination that the vehicle conforms to the pattern or a determination of the one or more transformations to be applied to the vehicle data, upon granting the registration request, a mapping between the vehicle data of the data stream to be registered and the given vehicle attribute is generated.

[0107] Clause 3. The system of clause 2, wherein the approval of the registration request is further based on a determination that the source of the data stream to be registered is an authoritative source for the given vehicle attribute.

[0108] Clause 4. A system according to any one of clauses 1 to 3, further comprising a provider network, wherein the provider network is configured to provide multiple services to clients of the provider network, wherein at least one of the services is a vehicle data stream service implemented using the vehicle data stream service.

[0109] Clause 5. The system of clause 4, wherein:

[0110] at least another of the plurality of services provided by the provider network is configured to perform a pre-processing operation on streaming vehicle data contained in one or more of the registered vehicle data streams; or

[0111] The vehicle data flow destination is an additional one of the plurality of services provided by the provider network, which includes:

[0112] Data analysis business;

[0113] Data Lake; or

[0114] Other data storage services.

[0115] Clause 6. A method comprising:

[0116] generating a catalog of vehicle attributes of vehicles, wherein entries in the catalog include metadata providing information about the vehicle attributes, and wherein the data streaming service is configured to provide, for respective ones of the vehicle attributes, streaming vehicle data from a registered vehicle data stream corresponding to the respective vehicle attributes;

[0117] receiving a subscription request for vehicle attributes, wherein the vehicle attributes are selected from the catalog; and

[0118] One or more configuration operations are performed based on approval of the subscription request to enable a vehicle data stream destination to receive stream data from one or more of the registered vehicle data streams associated with the selected vehicle attribute.

[0119] Clause 7. The method according to clause 6, further comprising:

[0120] receiving a registration request indicating that a vehicle data stream is to be registered;

[0121] determining that vehicle data of the data stream to be registered conforms to a pattern of a given vehicle attribute contained or to be contained in the catalog, and in response to determining that the vehicle data does not conform to the pattern, determining one or more transformations to be applied to the vehicle data of the data stream source to be registered to conform to the pattern of the given vehicle attribute; and

[0122] Based at least in part on a determination that the vehicle conforms to the pattern or a determination of the one or more transformations to be applied to the vehicle data, upon granting the registration request, a mapping between the vehicle data of the data stream to be registered and the given vehicle attribute is generated.

[0123] Clause 8. The method according to clause 6, further comprising:

[0124] receiving a registration request indicating that a vehicle data stream is to be registered;

[0125] determining that a data stream source of the data stream to be registered is an authoritative source for a given vehicle attribute to be associated with the vehicle data stream to be registered; and

[0126] Based at least in part on the determination that the data stream source associated with the data stream to be registered is an authoritative source for the given vehicle attribute, upon approving the registration request, a mapping between vehicle data of the vehicle data stream to be registered and the given vehicle attribute is generated.

[0127] Clause 9. The method according to any one of clauses 6 to 8, further comprising:

[0128] The metadata about the vehicle attributes is updated using the data stream service, wherein the updating includes modifying an arrangement of vehicle attribute classifications to a different configuration or updating a schema for a given vehicle attribute contained in the catalog.

[0129] Clause 10. The method according to any one of clauses 7 to 9, further comprising:

[0130] receiving a new registration request indicating that a new vehicle data stream is to be registered;

[0131] determining that new vehicle data of the new data stream to be registered conforms to the pattern for the given vehicle attribute, and in response to determining that the new vehicle data does not conform to the pattern, determining another one or more transformations to be applied to the vehicle data of the new data stream source to be registered to conform to the pattern for the given vehicle attribute; and

[0132] generating an additional mapping between the new vehicle data of the new data stream to be registered and the given vehicle attributes; and

[0133] Another one or more configuration operations are performed based on the previous approval of the subscription request to enable the vehicle data stream destination to receive additional stream data from the new vehicle data stream.

[0134] Clause 11. The method according to any one of clauses 7 to 10, further comprising:

[0135] receiving a clear registration request indicating clear registration of the vehicle data flow;

[0136] Based on the clear registration request, clear the mapping between the new vehicle data of the registered data stream and the given vehicle attribute; and

[0137] A clear configuration operation is performed to disable the vehicle data stream destination from receiving stream data from the vehicle data stream.

[0138] Clause 12. The method according to any one of clauses 6 to 11, further comprising:

[0139] receiving a new subscription request for the vehicle attributes; and

[0140] One or more configuration operations are performed based on approval of the new subscription request to enable a new vehicle data stream destination to receive the stream data from the one or more of the registered vehicle data streams associated with the selected vehicle attribute.

[0141] Clause 13. The method of any one of clauses 6 to 12, wherein the approval of the subscription comprises:

[0142] identifying access credentials for the subscription request;

[0143] determining whether the access credential is sufficient to access the selected vehicle attribute from the directory based at least in part on the level of personally identifiable information of the selected vehicle attribute; and

[0144] The subscription request is approved based on a determination that the access credentials are sufficient to access the selected vehicle attributes.

[0145] Clause 14. The method of any one of clauses 6 to 13, wherein the approval of the subscription comprises:

[0146] an access credential identifying a destination of the vehicle data stream;

[0147] determining whether the access credential is sufficient to access the selected vehicle attribute from the directory based at least in part on the level of personally identifiable information of the selected vehicle attribute; and

[0148] The subscription request is approved based on a determination that the access credentials are sufficient to access the selected vehicle attributes.

[0149] Clause 15. The method of clause 14, wherein a level of access credentials required to access the selected vehicle attributes differs based on a jurisdiction of a destination of the vehicle data stream.

[0150] Clause 16. The method according to any one of clauses 6 to 15, further comprising:

[0151] receiving a new subscription request for a plurality of selected vehicle attributes selected from the catalog;

[0152] identifying access credentials based on the new subscription request;

[0153] determining whether the access credentials are sufficient to access corresponding ones of the plurality of selected vehicle attributes from the catalog;

[0154] approving the subscription request based on a determination that the access credentials are sufficient to access at least one of the plurality of selected vehicle attributes; and

[0155] One or more configuration operations are performed based on approval of the new subscription request to enable a new vehicle data stream destination to receive one or more stream data of the selected vehicle attributes to which the access credentials are sufficient to access.

[0156] Clause 17. A method according to any one of clauses 6 to 16, wherein the vehicle data stream destination is a vehicle virtual representation service, wherein the method further comprises:

[0157] Tracking the status of a vehicle connected to a provider network via the vehicle virtual representation service based on the received streaming data; and

[0158] Changes made to the state of the vehicle are propagated from the received streaming data to the vehicle via the vehicle virtual representation service.

[0159] Clause 18. A method according to any one of clauses 6 to 17, wherein the one or more configuration operations comprise:

[0160] generating a matching pattern based on a first pattern of given vehicle attributes and a second pattern of the destination; configuring the vehicle data stream destination to accept the matching pattern; and

[0161] The matching pattern is applied to the stream data.

[0162] Clause 19. The method according to clause 7, further comprising:

[0163] One or more notifications of changes to the mapping between the vehicle data of the data stream and the given vehicle attribute are sent to the vehicle data stream destination using the data stream service.

[0164] Clause 20. One or more non-transitory computer-readable storage media storing program instructions that, when executed on or across one or more processors, cause the one or more processors to implement a vehicle data stream service that implements:

[0165] generating a catalog of vehicle attributes of vehicles, wherein entries in the catalog include metadata providing information about the vehicle attributes, and wherein the data streaming service is configured to provide, for respective ones of the vehicle attributes, streaming vehicle data from a registered vehicle data stream corresponding to the respective vehicle attributes;

[0166] receiving a subscription request for vehicle attributes, wherein the vehicle attributes are selected from the catalog; and

[0167] One or more configuration operations are performed based on approval of the subscription request to enable a vehicle data stream destination to receive stream data from one or more of the registered vehicle data streams associated with the selected vehicle attribute.

Claims

1. A system comprising: One or more computing devices configured to implement a vehicle data stream service, wherein the vehicle data stream service is configured to: generating a catalog of vehicle attributes of vehicles, wherein entries in the catalog include metadata providing information about the vehicle attributes, and wherein the data streaming service is configured to provide, for respective ones of the vehicle attributes, streaming vehicle data from a registered vehicle data stream corresponding to the respective vehicle attributes; receiving a subscription request for vehicle attributes, wherein the vehicle attributes are selected from the catalog; as well as One or more configuration operations are performed based on approval of the subscription request to enable a vehicle data stream destination to receive stream data from one or more of the registered vehicle data streams associated with the selected vehicle attribute.

2. The system according to claim 1, wherein the vehicle data stream service is further configured to: receiving a registration request indicating that a vehicle data stream is to be registered; determining whether vehicle data of the data stream to be registered conforms to a pattern of a given vehicle attribute contained or to be contained in the catalog, and in response to determining that the vehicle data does not conform to the pattern, determining one or more transformations to be applied to the vehicle data of the data stream source to be registered to conform to the pattern of the given vehicle attribute; and Based at least in part on a determination that the vehicle conforms to the pattern or a determination of the one or more transformations to be applied to the vehicle data, upon granting the registration request, a mapping between the vehicle data of the data stream to be registered and the given vehicle attribute is generated. 3 . The system of claim 2 , wherein the approval of the registration request is further based on a determination that the source of the data stream to be registered is an authoritative source for the given vehicle attribute.

4. The system according to any one of claims 1 to 3, further comprising a provider network, wherein the provider network is configured to provide a plurality of services to clients of the provider network, wherein at least one of the services is a vehicle data stream service implemented using the vehicle data stream service.

5. The system of claim 4, wherein: at least another one of the plurality of services provided by the provider network is configured to perform a pre-processing operation on streaming vehicle data contained in one or more of the registered vehicle data streams; or The vehicle data flow destination is an additional one of the plurality of services provided by the provider network, which includes: Data analysis business; Data Lake; or Other data storage services.

6. A method comprising: generating a catalog of vehicle attributes of vehicles, wherein entries in the catalog include metadata providing information about the vehicle attributes, and wherein the data streaming service is configured to provide, for respective ones of the vehicle attributes, streaming vehicle data from a registered vehicle data stream corresponding to the respective vehicle attributes; receiving a subscription request for vehicle attributes, wherein the vehicle attributes are selected from the catalog; as well as One or more configuration operations are performed based on approval of the subscription request to enable a vehicle data stream destination to receive stream data from one or more of the registered vehicle data streams associated with the selected vehicle attribute.

7. The method according to claim 6, further comprising: receiving a registration request indicating that a vehicle data stream is to be registered; determining that vehicle data of the data stream to be registered conforms to a pattern of a given vehicle attribute contained or to be contained in the catalog, and in response to determining that the vehicle data does not conform to the pattern, determining one or more transformations to be applied to the vehicle data of the data stream source to be registered to conform to the pattern of the given vehicle attribute; as well as Based at least in part on a determination that the vehicle conforms to the pattern or a determination of the one or more transformations to be applied to the vehicle data, upon granting the registration request, a mapping between the vehicle data of the data stream to be registered and the given vehicle attribute is generated.

8. The method according to claim 7, further comprising: One or more notifications of changes to the mapping between the vehicle data of the data stream and the given vehicle attribute are sent to the vehicle data stream destination using the data stream service.

9. The method according to claim 7, further comprising: receiving a new registration request indicating that a new vehicle data stream is to be registered; determining that new vehicle data of the new data stream to be registered does not conform to the pattern for the given vehicle attribute, and in response to determining that the new vehicle data does not conform to the pattern, determining another one or more transformations to be applied to the vehicle data of the new data stream source to be registered to conform to the pattern for the given vehicle attribute; as well as generating an additional mapping between the new vehicle data of the new data stream to be registered and the given vehicle attribute; as well as Another one or more configuration operations are performed based on the previous approval of the subscription request to enable the vehicle data stream destination to receive additional stream data from the new vehicle data stream.

10. The method according to any one of claims 7 to 9, further comprising: receiving a clear registration request indicating clear registration of the vehicle data flow; Based on the clear registration request, clear the mapping between the new vehicle data of the registered data stream and the given vehicle attribute; as well as A clear configuration operation is performed to disable the vehicle data stream destination from receiving stream data from the vehicle data stream.

11. The method according to any one of claims 6 to 10, further comprising: receiving a registration request indicating that a vehicle data stream is to be registered; determining that a data stream source of the data stream to be registered is an authoritative source for a given vehicle attribute to be associated with the vehicle data stream to be registered; as well as Based at least in part on the determination that the data stream source associated with the data stream to be registered is an authoritative source for the given vehicle attribute, upon approving the registration request, a mapping between vehicle data of the vehicle data stream to be registered and the given vehicle attribute is generated.

12. The method according to any one of claims 6 to 11, further comprising: The metadata about the vehicle attributes is updated using the data stream service, wherein the updating includes modifying an arrangement of vehicle attribute classifications to a different configuration or updating a schema for a given vehicle attribute contained in the catalog.

13. The method according to any one of claims 6 to 12, further comprising: receiving a new subscription request for the vehicle attributes; as well as One or more configuration operations are performed based on approval of the new subscription request to enable a new vehicle data stream destination to receive the stream data from the one or more of the registered vehicle data streams associated with the selected vehicle attribute.

14. The method according to any one of claims 6 to 13, further comprising: receiving a new subscription request for a plurality of selected vehicle attributes selected from the catalog; identifying access credentials based on the new subscription request; determining whether the access credentials are sufficient to access corresponding ones of the plurality of selected vehicle attributes from the catalog; approving the subscription request based on a determination that the access credentials are sufficient to access at least one of the plurality of selected vehicle attributes; as well as One or more configuration operations are performed based on approval of the new subscription request to enable a new vehicle data stream destination to receive one or more stream data of the selected vehicle attributes to which the access credentials are sufficient to access.

15. The method according to any one of claims 6 to 14, wherein the vehicle data flow destination is a vehicle virtual representation service, wherein the method further comprises: tracking a status of a vehicle connected to a provider network via the vehicle virtual representation service based on the received streaming data; as well as Changes made to the state of the vehicle are propagated from the received streaming data to the vehicle via the vehicle virtual representation service.