Transportation-related emergency service notifications

JP2024531199A5Pending Publication Date: 2025-08-19TOYOTA MOTOR NORTH AMERICA INC +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024508450
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-08-12
Filing Date
2022-08-12
Publication Date
2025-08-19

AI Technical Summary

Technical Problem

Existing vehicle systems lack the ability to predict potential collisions and effectively communicate occupant status to emergency services, leading to inadequate response and safety measures.

Method used

A system and method for determining vehicle occupant characteristics and the driving environment, predicting collisions, and transmitting occupant status to emergency services using a processor and blockchain technology for secure communication.

Benefits of technology

Enhances collision prediction and response by providing timely emergency notifications and enabling vehicle adjustments to minimize occupant injury, leveraging blockchain for secure and decentralized data management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Exemplary operations include one or more of determining characteristics of occupants in the vehicle and a current driving environment of the vehicle, the characteristics including a location of the occupants, determining that the current driving environment will lead to a collision of the vehicle, and transmitting a location-based predicted state of the occupants to an emergency services node based on the predicted outcome of the collision.
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001] CROSS-REFERENCE TO RELATED CO-PENDING APPLICATIONS This application is related to six (6) co-pending U.S. non-provisional patent applications, including: (i) a U.S. non-provisional patent application entitled “Message Structure Based on Probability of Collision”, Case No. IP-A-5045; (ii) a U.S. non-provisional patent application entitled “Vehicle Monitoring System and Early Vehicle Warning of Possible Threat”, Case No. IP-A-5046; (iii) a U.S. non-provisional patent application entitled “Contact Notification Related to Vehicles”, Case No. IP-A-5049; (iv) a U.S. non-provisional patent application entitled “Occupant Injury Identification”, Case No. IP-A-5297; (v) a U.S. non-provisional patent application entitled “Minimizing Airborne Objects During a Collision”, Case No. IP-A-5298; and (vi) a U.S. non-provisional patent application entitled “Protection of Living Creatures Within a Vehicle”, Case No. IP-A-5305, all of which were filed on the same date and are incorporated herein by reference in their entireties.

[0002] Generally, vehicles or vehicles, such as cars, motorcycles, trucks, airplanes, trains, etc., provide transportation needs to passengers and / or goods in a variety of ways. Functionality associated with the vehicle can be identified and utilized by a variety of computing devices, such as smartphones, or computers located on and / or off the vehicle. Summary of the Invention

[0003] One exemplary embodiment provides a method that includes one or more of determining characteristics of an occupant in a vehicle and a current driving environment of the vehicle, the characteristics including a location of the occupant, determining that the current driving environment will lead to a collision of the vehicle, and transmitting a location-based predicted state of the occupant to an emergency services node based on the predicted outcome of the collision.

[0004] Another exemplary embodiment provides a system including a memory communicatively connected to a processor, the processor performing one or more of: determining characteristics of an occupant in a vehicle and a current driving environment of the vehicle, the characteristics including a location of the occupant; determining that the current driving environment will lead to a collision of the vehicle; and transmitting a location-based predicted state of the occupant to an emergency services node based on the predicted outcome of the collision.

[0005] A further exemplary embodiment provides a non-transitory computer readable medium comprising instructions that, when read by a processor, cause the processor to do one or more of: determine characteristics of an occupant in a vehicle and a current driving environment of the vehicle, the characteristics including a location of the occupant; determine that the current driving environment will lead to a collision of the vehicle; and transmit a location-based predicted state of the occupant to an emergency services node based on the predicted outcome of the collision. [Brief description of the drawings]

[0006] [Figure 1A] FIG. 1 illustrates an exemplary network diagram, according to an exemplary embodiment. [Figure 1B] FIG. 1 illustrates an exemplary flow chart according to an exemplary embodiment. [Figure 2A] FIG. 1 illustrates a transportation network diagram according to an exemplary embodiment. [Figure 2B] FIG. 1 illustrates another transportation network diagram according to an exemplary embodiment. [Figure 2C] FIG. 13 illustrates yet another transportation network diagram according to an exemplary embodiment. [Figure 2D] FIG. 13 illustrates a further transportation network diagram according to an exemplary embodiment. [Figure 2E] FIG. 13 illustrates yet an additional transportation network diagram according to an exemplary embodiment. [Figure 2F] FIG. 1 illustrates a diagram depicting powering of one or more elements according to an exemplary embodiment. [Figure 2G] FIG. 2 illustrates a diagram depicting interconnections between different elements according to an exemplary embodiment. [Figure 2H] FIG. 13 illustrates a further diagram depicting interconnections between different elements according to an exemplary embodiment. [Figure 2I] FIG. 13 illustrates yet an additional view depicting interconnections between elements in accordance with an exemplary embodiment. [Figure 2J] FIG. 2 illustrates yet an additional view depicting a keyless entry system according to an exemplary embodiment. [Figure 2K] FIG. 13 illustrates yet an additional view depicting a CAN within a vehicle in accordance with an exemplary embodiment. [Figure 2L] FIG. 13 illustrates yet another diagram depicting an end-to-end communication channel according to an exemplary embodiment. [Figure 2M] FIG. 13 illustrates yet an additional diagram depicting an example vehicle using security certificates for secure V2V communications according to an exemplary embodiment. [Figure 2N] FIG. 13 shows yet an additional diagram depicting an example of a vehicle interacting with a security processor and a wireless device according to an exemplary embodiment. [Figure 3A] FIG. 1 illustrates a flow diagram according to an exemplary embodiment. [Figure 3B] FIG. 13 illustrates another flow diagram according to an exemplary embodiment. [Figure 3C] FIG. 13 illustrates yet another flow diagram according to an exemplary embodiment. [Figure 4] FIG. 1 illustrates a machine learning vehicle network diagram in accordance with an illustrative embodiment. [Figure 5A] FIG. 2 illustrates an example vehicle configuration for managing database transactions associated with a vehicle, according to an example embodiment. [Figure 5B] FIG. 1 illustrates another exemplary vehicle configuration for managing database transactions conducted between various vehicles, according to an exemplary embodiment. [Figure 6A]FIG. 1 illustrates a block chain architecture configuration, according to an exemplary embodiment. [Figure 6B] FIG. 1 illustrates another blockchain configuration according to an exemplary embodiment. [Figure 6C] FIG. 1 illustrates a blockchain configuration for storing blockchain transaction data, according to an exemplary embodiment. [Figure 6D] FIG. 2 illustrates an exemplary data block according to an exemplary embodiment. [Figure 7] FIG. 1 illustrates an example system that supports one or more of the example embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0007] It will be readily understood that the components as generally described and illustrated in the figures herein could be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of at least one embodiment of a method, apparatus, non-transitory computer-readable medium, and system, as illustrated in the accompanying figures, is not intended to limit the scope of the present application as claimed, but is merely representative of selected embodiments.

[0008] Communications between a vehicle and certain entities, such as remote servers, other vehicles, and local computing devices (e.g., a smart phone, a personal computer, a computer integrated into the vehicle, etc.), may be sent and / or received and processed by one or more “components,” which may be hardware, firmware, software, or a combination thereof. A component may be part of any of these entities or computing devices, or certain other computing devices. In one example, consensus decisions related to blockchain transactions may be made by one or more computing devices or components associated with the vehicle (which may be any of the elements described and / or depicted herein) as well as one or more of the components located outside or remote from the vehicle.

[0009] The features, structures, or characteristics as described throughout this specification may be combined in any suitable manner in one or more embodiments. For example, the use of the phrases "exemplary embodiment", "some embodiments", or other similar terms throughout this specification refers to the fact that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment. Thus, the appearance of the phrases "exemplary embodiment", "in some embodiments", "in other embodiments", or other similar terms throughout this specification do not necessarily all refer to the same group of embodiments, and the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the figures, any connection between elements may enable one-way and / or two-way communication, even if the depicted connection is a one-way or two-way arrow. In the present solution, the transportation vehicles may include one or more of a car, a truck, a pedestrian area battery electric vehicle (BEV), an e-Palette, a fuel cell bus, a motorcycle, a scooter, a bicycle, a boat, a recreational vehicle, an airplane, and any object that may be used to transport people and / or goods from one location to another.

[0010] In addition, although the term "message" may be used in describing the embodiments, other types of network data may be used, such as packets, frames, datagrams, etc. Furthermore, although particular types of messages and signaling may be depicted in preferred embodiments, they are not limited to particular types of messages and signaling.

[0011] Exemplary embodiments provide methods, systems, components, non-transitory computer readable media, devices, and / or networks that provide at least one of a vehicle (also referred to herein as a vehicle or passenger car), a data collection system, a data monitoring system, a verification system, an authentication system, and a vehicle data distribution system. Vehicle status status data received in the form of communication messages, such as wireless data network communications and / or wired communication messages, may be processed to identify vehicle / vehicle status conditions and provide feedback regarding vehicle status and / or changes. In one example, a user profile may be applied to a particular vehicle / vehicle to authorize current vehicle events, service stops at service stations, authorize subsequent vehicle rental services, and enable vehicle-to-vehicle communications.

[0012] Within a communication infrastructure, a distributed database is a distributed storage system that includes multiple nodes that communicate with each other. A blockchain is an example of a distributed database and includes an append-only, immutable data structure (i.e., a distributed ledger) that allows records to be maintained among untrusted parties. The untrusted parties are referred to herein as peers, nodes, or peer nodes. Each peer maintains a copy of the database records, and no peer can modify the database records unless a consensus is reached among the distributed peers. For example, peers may run a consensus protocol to validate blockchain storage entries, organize the storage entries into blocks, and build a hash chain over the blocks. This process forms a ledger by ordering the storage entries as necessary for consistency. In a public, or permissionless, blockchain, anyone can participate without having a specific identity. Public blockchains can be involved in cryptocurrencies and can use consensus based on various protocols, such as Proof of Work (PoW). Conversely, a permissioned blockchain database can secure interactions between groups of entities that share a common goal but do not or cannot fully trust one another, such as entities exchanging funds, goods, information, and the like. The solution can function in permissioned and / or permissionless blockchain settings.

[0013] A smart contract is a trusted decentralized application that leverages the tamper-resistant properties of a shared or distributed ledger (which may be in the form of a blockchain) and an underlying agreement between member nodes, called an endorsement or endorsement policy. Generally, blockchain entries are "endorsed" before being committed to the blockchain, while unendorsed entries are ignored. A typical endorsement policy allows the smart contract executable code to specify an endorser for an entry in the form of a set of peer nodes required for endorsement. When a client sends an entry to a peer specified in the endorsement policy, the entry is executed to validate the entry. After validation, the entry enters an ordering phase where a consensus protocol is used to generate an ordered sequence of endorsed entries organized into a block.

[0014] A node is a communicating entity of a blockchain system. A "node" may perform a logical function in the sense that multiple nodes of different types can run on the same physical server. Nodes are organized in a trust domain and associated with a logical entity that controls the node in various ways. Nodes may include different types such as client or submitting client nodes that submit entry calls to endorsers (e.g., peers) and broadcast entry proposals to an ordering service (e.g., ordering node). Another type of node is a peer node, which may receive client submitted entries and commit the entries to maintain the state and copy of the ledger of blockchain entries. A peer may also have the role of an endorser. An ordering service node or orderer is a node that performs a communication service for all nodes and provides delivery guarantees such as broadcasts to each of the peer nodes in the system when committing entries to modify the blockchain world state. The world state may constitute the initial blockchain entry, which typically includes control and configuration information.

[0015] A ledger is an ordered, tamper-resistant record of all state transitions of a blockchain. A state transition may result from an invocation (i.e., an entry) of a smart contract executable code submitted by a participating party (e.g., a client node, an ordering node, an endorser node, a peer node, etc.). An entry may result in a set of key-value pairs of assets that are committed to the ledger as one or more operands, such as creation, update, deletion, and the like. A ledger contains a blockchain (also called a chain) that is used to store immutably ordered records in blocks. A ledger also contains a state database that maintains the current state of the blockchain. There is usually one ledger per channel. Each peer node maintains a copy of the ledger for each channel in which it is a member.

[0016] A chain is an entry log constructed as hash-linked blocks, where each block contains a sequence of N entries, where N is 1 or greater. The block header contains a hash of the block's entries and a hash of the previous block's header. In this way, all entries in the ledger can be ordered and cryptographically bound. Thus, it is impossible to tamper with the ledger data without breaking the hash links. The hash of the most recently appended blockchain block represents all entries on the chain that came before it, which ensures that all peer nodes are in a consistent and trusted state. Chains can be stored on the peer node filesystem (i.e., locally, on attached storage, on the cloud, etc.) to efficiently support the append-only nature of blockchain workloads.

[0017] The current state of the immutable ledger represents the latest values ​​for all keys contained in the chain's entry log. The current state is sometimes referred to as the world state, since it represents the most recent key values ​​known on the channel. Invocations of smart contract executable code execute entries against the ledger's current state data. To make these smart contract executable code interactions efficient, the latest values ​​of keys may be stored in a state database. The state database may simply be an indexed view onto the chain's entry log, and therefore may be regenerated from the chain at any time. The state database may be automatically restored (or generated if necessary) at peer node startup and before entries are accepted.

[0018] Blockchain differs from traditional databases in that it is not a centralized storage, but a distributed, immutable, secure storage, and nodes must share changes to records in the storage. Some properties that are inherent in blockchain and help make it possible include, but are not limited to, immutable ledgers, smart contracts, security, privacy, decentralization, consensus, endorsement, accessibility, and the like.

[0019] Exemplary embodiments provide services for a particular vehicle and / or a user profile that is applied to the vehicle. For example, a user may be the owner of the vehicle or an operator of a vehicle owned by another party. A vehicle may require service at certain intervals and a request for service may require approval before being allowed to receive service. A service center may also provide service to vehicles in a nearby area based on the vehicle's current route plan and the relative level of service requirement (e.g., emergency, critical, moderate, minor, etc.). Vehicle requests may be monitored via one or more vehicle and / or roadway sensors or cameras that report sensed data to a central controller computing device within the vehicle and / or remote from the vehicle. This data is forwarded to a management server for review and action. Sensors may be located on one or more of the interior of the vehicle, the exterior of the vehicle, on fixed objects remote from the vehicle, and on another vehicle close to the vehicle. Sensors may also be associated with vehicle speed, vehicle braking, vehicle acceleration, fuel level, requests for service, vehicle gear shifting, vehicle steering, and the like. Sensors as described herein may also be devices, such as wireless devices, within and / or proximate to the vehicle. Sensor information may also be used to identify whether the vehicle is operating safely and whether the occupant has engaged in any unexpected vehicle conditions, such as during vehicle access and / or utilization. Vehicle information collected before, during, and / or after vehicle operation may be identified and stored in transactions on a shared / distributed ledger, which may be generated and committed to an immutable ledger as determined in a "decentralized" manner by a permission-granting consortium, and thus by a blockchain membership group, etc.

[0020] Each interested party (i.e., owner, user, company, agency, etc.) may want to limit the exposure of private information, and therefore the blockchain and its immutability can be used to manage permissions for each specific user vehicle profile. Smart contracts can be used to provide compensation, quantify the user profile score / rating / review, apply vehicle event permissions, determine when service is needed, identify collision events and / or degradation events, identify events that are safety concerns, identify the parties to the event, and distribute such vehicle event data to registered entities seeking access. Also, results can be identified and the necessary information can be shared among registered companies and / or individuals based on a consensus methodology associated with the blockchain. Such a methodology could not be realized with traditional centralized databases.

[0021] To create maps of terrain and roads that the vehicle can use for navigation and other purposes, various driving systems of the present solution may utilize software, sensor arrays, and machine learning capabilities, light detection and ranging (LIDAR) projectors, radar, ultrasonic sensors, etc. In some embodiments, instead of LIDAR, GPS, maps, cameras, sensors, and the like may also be used in the autonomous vehicle.

[0022] In certain embodiments, the solution includes authorizing a vehicle for service via an automated and rapid authentication scheme. For example, driving to a charging station or fuel pump can be done by the vehicle operator or autonomous vehicle, and authorization to charge or receive fuel can occur without any delay once authorization is received by the service and / or charging station. The vehicle can provide a communication signal that provides an identity of the vehicle with a currently active profile linked to the account authorized to receive the service, which can be later modified by compensation. Additional measures can be used to provide further authentication, for example, another identifier can be wirelessly transmitted from the user's device to the service center to replace or add an additional authorization action to the first authorization action between the vehicle and the service center.

[0023] The shared and received data may be stored in a database, which generally maintains the data in a specific location, within a single database (e.g., a database server). This location is often a central computer, such as a desktop central processing unit (CPU), a server CPU, or a mainframe computer. Information stored in a centralized database is usually accessible from multiple different points. Centralized databases are easy to manage, maintain, and control, and are especially for security purposes, since they are in a single location. In a centralized database, all data is in a single storage location, which also means that a given data set only has one primary record, so data redundancy is minimized. Blockchain may be used to store data and transactions related to transportation means.

[0024] Any of the operations described herein may be performed by one or more processors (e.g., microprocessors, sensors, electronic control units (ECUs), head units, and the like) that may be located on-board or off-board the vehicle. The one or more processors may communicate with other processors on-board or off-board in other vehicles to utilize data being transmitted by the vehicle. The one or more processors and other processors may transmit data, receive data, and utilize this data to perform one or more of the operations described or depicted herein.

[0025] FIG. 1A illustrates a system 100 that may be used for emergency service notification related to a vehicle 120. A vehicle may be a vehicle such as a car, a van, a motorcycle, or any object used to transport goods and / or people from one location to another. A vehicle may be a functional type, for example, requiring a specific skill set or license to operate, among others, a truck, a forklift, a people mover (e.g., a minibus). The vehicle 120 may include an on-board computer 122, which may include a processor 123 and memory 124 that may execute a user interface 125 that may include at least one of a graphic display, a speaker, and a microphone. In one embodiment, the application may be executed fully or partially in the processor 123 of the vehicle computer 122. The vehicle computer 122 may include one or more communication modules 126 configured to communicate with a wide area communication network 102, such as the Internet, through at least one server 130. Vehicle 120 may execute on-board software and applications, such as the present application, through which the vehicle may recognize the presence and identity of occupant 104. Vehicle 120 may include one or more sensors 128 that identify an occupant, e.g., the operator of the vehicle. Sensors 128 may include one or more biometric sensors, one or more cameras and associated facial recognition technology, radar, and the like. Additionally, vehicle computer 122 may receive data from one or more sensors of sensor set 292A (FIG. 2I), which are described in more detail below, electronic control unit 293A, autonomous functions or advanced driver assistance system (ADAS) 294A, and navigation system 295A.

[0026] Occupants 104 of the vehicle 120 may operate devices 106, such as smart phones, laptop computers, wearable computing devices, and the like, that access the network 102 through one or more servers 132. The user devices 106 may be programmed to enable communication between the occupants and the vehicle via software applications utilizing, for example, a short-range protocol such as BLUETOOTH.

[0027] During operation of the vehicle 120, the vehicle may collect, store, use, and manage personal data related to the vehicle. The personal data may include personal information and personal vehicle data related to the person or people in the vehicle. The personal data may then be used to provide connected vehicle services, which may include safety, convenience, and infotainment benefits, to one or more occupants of the vehicle. The data may be communicated from the vehicle 120 to a vehicle entity server 136 via the network 102. The vehicle entity server 136 may store and manage the data, including sharing the data. The data may also be stored in a database 134. The vehicle 120, the vehicle server 136, and the database 134 may be considered to form a vehicle network. The vehicle network may include any number of vehicles, vehicle servers, and associated devices.

[0028] A third party, represented in FIG. 1A by third party entity server 138, may interact with data associated with vehicle 120 through, for example, server 130, vehicle entity server 136, database 134, or any other computer in the network having a processor and memory.

[0029] FIG. 1B illustrates a flow chart 150, according to an exemplary embodiment. Sensors 128 in the vehicle 120 may collect data and transmit the data to a processor 123 associated with the vehicle, e.g., vehicle processor 123, which may reside in the vehicle computer 122. The data 154 may be characteristics of the occupant 104 of the vehicle 120, e.g., the occupant's location in the vehicle. The sensors 128 may be cameras, radar, and the like. The data may be images, video, or the like that may be used to determine characteristics of the occupant of the vehicle 120, e.g., a current location. The occupant's current characteristics may be a specified age of the driver, an impairment of the occupant, an attention level of the occupant to the road, or the like. The server 130 may be a computer including a processor and memory and may be in communication with the network 102, and data may flow between the vehicle 120 and the network 102. In one embodiment, the server 130 may be any other server mentioned in the system 100 (FIG. 1A). The application, running in a processor such as the vehicle processor 123, determines the occupant characteristics by object detection functions known in the art. Sensors 128 in the vehicle 120 and / or other servers 130, 136, 138 and / or at least one database 134 in the network transmit data at 156, 157 to the vehicle processor 123 regarding the driving environment. The current driving environment may include current weather conditions regarding the vehicle's environment from a server or the like, including weather-related information, current traffic conditions including traffic-related information from a server or the like, statistical accident-related vehicle data from a server or the like, including data related to past accidents in the vehicle and / or in areas approaching in the vehicle's route.

[0030] The application executing in a processor, such as vehicle processor 123, determines whether the current driving environment is conducive to a collision at 158. In one embodiment, the determination that the current driving environment is conducive to a collision is determined by analysis of the data at 154, 156, and 157, where the application determines a level of likelihood of a collision.

[0031] In one embodiment, the level of collision likelihood may be due to the current driving environment of the vehicle 120, such as in the area near the vehicle. The area near the vehicle may be obtained by sensors 128 on the vehicle, such as radar, cameras, and the like, that capture data and transmit the data to the vehicle computer 122. For example, if the vehicle is in an area with low speeds, such as a local road, a level of collision likelihood may exist, but the amount of damage and / or injury from the collision is minimal, and therefore the level of collision likelihood is low. If the vehicle is in an area with high speeds, such as when the vehicle is entering a road with a high speed limit, such as 55 mph, the level of collision likelihood is set to a higher level. The application running on a processor, such as the vehicle processor 123, determines the current driving environment of the vehicle by analyzing data from sensors at 154, 156 on the vehicle, such as cameras, radar, and the like, as well as data from a server at 157. In one embodiment, the vehicle computer 122 may access data from a server 130 that may be external to the vehicle, i.e., from communication with servers 130, 132, 138, and 136 through network 102, where the server may include data for the area in which the vehicle is located. This data may include speed limits in the area, as well as historical traffic patterns, number and / or rate of accidents, and the like.

[0032] In one embodiment, a threshold is set for the level of likelihood of a collision. The threshold may be hard-coded into the application and stored in a memory, for example, a memory associated with the vehicle processor 123. The threshold may be set by one or more of entities such as the vehicle manufacturer, the vehicle dealer, city health officials, and the like. A determination of the likelihood that the current driving environment will lead to a collision is determined by comparing the determined level of likelihood of a collision with the established threshold and is performed accordingly if the level is above or below the threshold. If the level is below the threshold, the flow ends at 160. If the level is above the threshold, the application running in a processor such as the vehicle processor 122 determines a predicted outcome of the collision at 162. The predicted outcome of the collision is determined by the application and utilizes data received from the vehicle's sensors 128 and / or server 130. For example, if the vehicle is on a road where there has been a large number of fatalities and injuries in the past and the weather indicates a high rate of precipitation and / or the possibility of icy roads, the level of likelihood of collision may be set to a high level, which may be higher than the set threshold.

[0033] In one embodiment, the predicted outcome of the crash at 162 is a predicted post-crash location of the occupant. This may be determined by analysis of the occupant's characteristics at 154, such as whether the occupant is determined to be wearing a safety belt or not, whether the occupant is properly positioned in the seat (e.g., if the occupant's legs are on the dashboard in the passenger seat, and the like), whether the occupant is sitting in the seat or between the seats, whether the recommended number of occupants in the vehicle is exceeded, etc. These characteristics may be determined by the application running in a processor such as vehicle processor 123 from object analysis of received data, such as data received by a sensor at 154.

[0034] The predicted state of the occupant is determined at 164 and transmitted to the server 130 at 166. In one embodiment, the predicted state of the occupant after a vehicle crash may be transmitted. The application running on a processor, such as the vehicle processor 123, determines the state of the occupant based on the state of the occupant before the crash. In one embodiment, the predicted state is influenced by the characteristics of the occupant at 154, such as age, gender, seating arrangement of the occupant in the vehicle, disability of the occupant, type of vehicle, location of the crash, impact of the crash, stress and / or anxiety state of the occupant, and the like. These characteristics of the occupant may be determined by the application, which analyzes data from the sensors and server at 154, 156, and 157 to determine objects and perform object analysis on the data. For example, a woman in the right rear seat of the vehicle, which is a small sedan, is determined to weigh approximately 150 pounds. The woman has her legs resting on the center console when the crash occurs. One or more of these characteristics are used by the application to determine a predicted state of the occupant after a collision, where the predicted state of the female occupant is that due to the collision from the right rear area of ​​the vehicle, the female may have trauma to her lower body, trauma to the neck and spinal area, and due to the proper fastening of the seat belt, the female may be located in the right rear seat.

[0035] In one embodiment, the message sent to the server 130 at 166 includes the predicted status of the occupant and may be sent to computers associated with the occupant 104, such as close relatives, medical facilities, emergency personnel, and the like. Close relatives may be obtained by the application through a configuration module where the relatives are entered. Relatives may also be obtained by the application through a connection, such as a wireless connection, to a device associated with the occupant. Access to data on the device provides contacts that are favorites in a phone application, contacts that are primary contacts in a messaging application, contacts with regular or recent meetings through access to a calendar application. Computers associated with medical facilities and emergency personnel may be configured in the configuration module of the application in one embodiment.

[0036] In one embodiment, the vehicle 120 may take evasive action to avoid a collision based solely on the location of the occupant. For example, instead of automatically braking in areas determined to have a high level of likelihood of collision, the vehicle may move the occupant's seat back to allow for minimal impact on the occupant in the event of a collision. In another example, the head restraint of the occupant's seat may be moved down. In yet another example, an airbag may be deployed 1 / 100th of a second earlier than normal.

[0037] In one embodiment, the predicted outcome of the crash is a predicted impact of the occupant against a surface of the vehicle based on the occupant's position. For example, if the occupant's head may move during the crash and strike a surface such as the side of a door, the dashboard, and the like, this may predict a higher probability of a crash. The determination of the likely movement of the occupant's head may be determined by the application through analysis of data received by sensors in the vehicle.

[0038] In another embodiment, the collision determination is based on whether the current driving environment is unfamiliar to the vehicle and / or occupants. For example, the application may interact with the vehicle's navigation system and data to identify previous destinations. If the current location is a location to which the vehicle and / or occupants have not previously traveled, the collision probability level is increased accordingly.

[0039] In another embodiment, the prediction results are based on a comparison of other vehicles in similar driving environments with different occupants in similar locations. Vehicles in the network may interact with a single data point, such as server 130, which communicates with each vehicle. Vehicles may transmit their level of collision likelihood for each area and / or location, and each vehicle in the network may utilize that data from server 130 to be weighted in determining the vehicle's level of collision likelihood for that area.

[0040] In another embodiment, the functionality of the vehicle is modified in response to the severity of the predicted outcome. For example, if one or more of a collision likelihood and a collision severity are present, the greater the collision likelihood and / or the greater the collision severity, the greater the vehicle's modification. For example, if the collision likelihood and / or the potential collision severity is high, e.g., higher than a threshold, the seat back may be moved further down and / or the seat head restraint may be moved further up and / or down, or the seat may be moved completely forward or backward, or the like.

[0041] In another embodiment, a device associated with the occupant 104 obtains health data, which is transmitted along with the occupant's predicted condition to the server 130. The health data may be obtained from a health application running on the occupant's device, or the health data may be obtained in real time, such as from a wearable device of the occupant. This health data may be transmitted to a processor of the vehicle, such as the vehicle processor 123, where the application may utilize the data when sending a message to the server 130 at 166.

[0042] FIG. 2A illustrates a vehicle network diagram 200, according to an exemplary embodiment. The network comprises elements including a vehicle 202 including a processor 204 and a vehicle 202' including a processor 204'. The vehicles 202, 202' communicate with each other via the processors 204, 204' and other elements (not shown) including transceivers, transmitters, receivers, storage, sensors, and other elements capable of providing communication. Communication between the vehicles 202, 202' may occur directly, via private and / or public networks (not shown), or via other vehicles and elements comprising one or more of a processor, memory, and software. Although depicted as a single vehicle and processor, there may be multiple vehicles and processors. One or more of the applications, functions, steps, solutions, etc. described and / or depicted herein may be utilized and / or provided by the present elements.

[0043] 2B illustrates another vehicle network diagram 210, according to an exemplary embodiment. The network comprises elements including a vehicle 202 including a processor 204 and a vehicle 202' including a processor 204'. The vehicles 202, 202' communicate with each other via the processors 204, 204' and other elements (not shown) including transceivers, transmitters, receivers, storage, sensors, and other elements capable of providing communication. Communication between the vehicles 202, 202' may occur directly, via private and / or public networks (not shown), or via other vehicles and elements comprising one or more of a processor, memory, and software. The processors 204, 204' may further communicate with one or more elements 230 including a sensor 212, a wired device 214, a wireless device 216, a database 218, a mobile phone 220, a vehicle 222, a computer 224, an I / O device 226, and a voice application 228. The processor 204, 204' may be in communication with further elements comprising one or more of a processor, memory, and software.

[0044] Although depicted as a single vehicle, processor, and element, there may be multiple vehicles, processors, and elements. Information or communication may occur to and / or from any of the processors 204, 204' and elements 230. For example, the mobile phone 220 may provide information to the processor 204, which may cause the vehicle 202 to initiate an action, may further provide information or additional information to the processor 204', which may cause the vehicle 202' to initiate an action, may further provide information or additional information to the mobile phone 220, the vehicle 222, and / or the computer 224. One or more of the applications, functions, steps, solutions, etc. described and / or depicted herein may be utilized and / or provided by the present elements.

[0045] 2C illustrates yet another vehicle network diagram 240 according to an exemplary embodiment. The network comprises elements including a vehicle 202 including a processor 204 and a non-transitory computer readable medium 242C. The processor 204 is communicatively coupled to the computer readable medium 242C and to element 230 (depicted in FIG. 2B). The vehicle 202 may be a vehicle, a server, or any device including a processor and memory.

[0046] The processor 204 performs one or more of determining characteristics of an occupant in the vehicle and a current driving environment of the vehicle, the characteristics including the location of the occupant 244C, determining that the current driving environment will lead to a collision of the vehicle 246C, and transmitting a predicted state of the occupant based on the location to an emergency services node based on the predicted outcome of the collision 248C.

[0047] 2D illustrates a further vehicle network diagram 250 according to an exemplary embodiment. The network comprises elements including a vehicle 202 including a processor 204 and a non-transitory computer readable medium 242D. The processor 204 is communicatively coupled to the computer readable medium 242D and to element 230 (depicted in FIG. 2B). The vehicle 202 may be a vehicle, a server, or any device including a processor and memory.

[0048] The processor 204 performs one or more of: determining that the prediction result is a predicted impact of the occupant against a surface of the vehicle based on the position of the occupant 244D; determining that the collision is based on whether the current driving environment is an unfamiliar environment for one or more of the vehicle and the occupant 245D; determining that the prediction result is based on a comparison of other vehicles in similar driving environments with different occupants in similar positions 246D; during the collision determination, repositioning the occupant by the vehicle to minimize injury 247D; modifying functionality of the vehicle in response to the severity of the predicted result 248D; and obtaining health data by a device associated with the occupant and including the data in the transmission along with the occupant's predicted condition 249D.

[0049] 2E illustrates yet another vehicle network diagram 260 according to an example embodiment. Referring to FIG. 2E, network diagram 260 includes a vehicle 202 connected to other vehicles 202′ and an update server node 203 via a blockchain network 206. Vehicles 202 and 202′ may represent vehicles / vehicles. Blockchain network 206 may have a ledger 208 for storing software update validation data and a source of validation 207 for future use (e.g., in an audit).

[0050] In this example, only one vehicle 202 is described in detail, but multiple such nodes may be connected to the blockchain 206. It should be understood that the vehicle 202 may include additional components, and that some of the components described herein may be removed and / or modified without departing from the scope of the present application. The vehicle 202 may include a processor 204, which may have a computing device or server computer, or the like, and may be a semiconductor-based microprocessor, a central processing unit (CPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), and / or another hardware device. Although a single processor 204 is depicted, it should be understood that the vehicle 202 may include multiple processors, multiple cores, or the like, without departing from the scope of the present application. The vehicle 202 may be a vehicle, a server, or any device that includes a processor and memory.

[0051] The processor 204 performs one or more of: receiving 244E an acknowledgment of an event from one or more elements described or depicted herein, the acknowledgment comprising a blockchain consensus between peers represented by any of the elements; and executing 246E a smart contract to record the acknowledgment in the blockchain based on the blockchain consensus. The consensus is formed between any of the elements 230 and / or one or more of any of the elements described or depicted herein, including a vehicle, a server, a wireless device, etc. In another embodiment, the vehicle 202 can be any of the elements 230 and / or one or more of any of the elements described or depicted herein, including a server, a wireless device, etc.

[0052] The processor and / or computer readable medium 242E may be fully or partially internal or external to the vehicle. The steps or functions stored in the computer readable medium 242E may be performed fully or partially in any order by any of the processors and / or elements. Furthermore, one or more steps or functions may be added, omitted, combined, performed later, etc.

[0053] 2F shows a diagram 265 depicting the powering of one or more elements. In one embodiment, the vehicle 266 may provide power stored in its batteries to one or more elements including other vehicles 268, charging stations 270, and a power grid 272. The power grid 272 may be connected to one or more of the charging stations 270, which may be connected to one or more of the vehicles 268. This configuration allows for the distribution of electricity / power received from the vehicle 266. The vehicle 266 may also communicate with the other vehicles 268 via vehicle-to-vehicle (V2V) technology, cellular, WiFi, and the like, and the like. The vehicle 266 may also communicate with the other vehicles 268, charging stations 270, and / or the power grid 272 in a wireless and / or wired manner. In one embodiment, the vehicle 266 is routed (or routes itself) to the power grid 272, charging stations 270, or other vehicles 268 in a safe and efficient manner. Using one or more embodiments of the present solution, the vehicle 266 may provide energy to one or more of the elements depicted herein in a variety of advantageous ways as described and / or depicted herein. Additionally, the safety and efficiency of the vehicle may be increased, and the environment may be positively impacted as described and / or depicted herein.

[0054] The term "energy" may be used to refer to any form of energy that is received, stored, used, shared, and / or lost by a vehicle. Energy may be referenced in conjunction with a voltage source and / or current supply from a charge provided to the vehicle from an entity during a charge / use operation. Energy may also be in the form of fossil fuels (e.g., for use in hybrid vehicles) or from alternative sources including, but not limited to, lithium-based, nickel-based, hydrogen fuel cells, atomic / nuclear energy, fusion-based energy sources, and energy generated in situ during energy sharing and / or use operations to increase or decrease the energy level of one or more vehicles at a given time.

[0055] In one embodiment, the charging station 270 manages the amount of energy transferred from the vehicle 266 so that the vehicle 266 has enough charge remaining to reach the destination. In one embodiment, wireless connections are used to wirelessly direct the amount of energy transferred between the vehicles 268 that may be traveling together. In one embodiment, an unused vehicle such as the vehicle 266 (which may be autonomous) provides an amount of energy to the charging station 270 and is instructed to return to its original location (e.g., its original location or a different destination). In one embodiment, a mobile energy storage unit (not shown) is used to collect excess energy from at least one other vehicle 268 and transfer the stored excess energy at the charging station 270. In one embodiment, the amount of energy transferred to the charging station 270 is determined by factors such as distance, time, and traffic conditions, road conditions, environmental / weather conditions, vehicle conditions (e.g., weight), the schedule of the occupant using the vehicle, and the expected schedule of the occupant waiting for the vehicle. In one embodiment, vehicle 268 , charging station 270 , and / or power grid 272 may provide energy to vehicle 266 .

[0056] In one embodiment, a location, such as a building, home, or the like (not depicted), is communicatively connected to one or more of an electrical grid 272, a vehicle 266, and / or a charging station 270. The rate at which electricity flows to the location, vehicle 266, and / or one or more of other vehicles 268 is modified in response to external conditions, such as weather. For example, if the external temperature is very hot or very cold, increasing the likelihood of a power outage, the flow of electricity to the connected vehicles 266 / 268 is slowed to help minimize the likelihood of a power outage.

[0057] In one embodiment, the solutions described and depicted herein may be utilized to determine the impact of loads on a vehicle and / or system, provide energy to a vehicle and / or system based on future needs and / or priorities, provide information between a device including a module and a vehicle, and enable a processor of the device to wirelessly communicate with a vehicle regarding the amount of energy stored in the vehicle's battery. In one embodiment, the solutions may also be utilized to provide charging from a vehicle to a location based on factors such as the temperature of the location, the cost of energy, and the power level of the location. In one embodiment, the solutions may also be utilized to manage the amount of energy remaining on the vehicle after a portion of the charge has been transferred to a charging station. In one embodiment, the solutions may also be utilized to notify the vehicle to provide the amount of energy in the battery on the vehicle, the amount of energy to transfer being based on the distance of the vehicle to the module receiving the energy.

[0058] In one embodiment, the solution may also be utilized to use a mobile energy storage unit that uses the determined route to travel to a vehicle that has excess energy and deposits the stored energy to the grid. In one embodiment, the solution may also be utilized to determine the priority of the vehicle's decision regarding the need to provide energy to the grid and the priority of the current needs of the vehicle, such as passengers or future passengers or current or future cargo. In one embodiment, the solution may also be utilized to determine the decision of the vehicle to maneuver to a location to discharge excess energy to the energy grid and then return to the previous location when the vehicle is not being utilized. In one embodiment, the solution may also be utilized to determine the amount of energy required by the vehicle to provide the required energy to another vehicle through an energy transfer between the vehicles based on one or more conditions such as weather, traffic, road conditions, vehicle conditions, and occupants and / or goods in the other vehicle, and to instruct the vehicle to route and provide the energy to the other vehicle. In one embodiment, the solution may also be utilized to transfer energy from one moving vehicle to another moving vehicle. In one embodiment, the solution may also be utilized to extract energy by a vehicle based on the vehicle's energy consumption to reach and provide service at a meeting point with another vehicle and the estimated energy consumption to return to the original location. In one embodiment, the solution may also be utilized to provide a remaining distance required to a charging station that determines the amount of energy to be extracted from the vehicle, and the remaining charge is based on the remaining distance. In one embodiment, the solution may also be utilized to manage a vehicle being charged simultaneously at multiple points, such as by both a charging station via a wired connection and another vehicle via a wireless connection.In one embodiment, the solution may also be utilized to apply priorities to the distribution of energy to vehicles, with priority being given to vehicles that provide a portion of their stored vehicle charge to another entity, such as the grid, homes, and the like. Additionally, the solution as described and depicted with respect to FIG. 2F may be utilized in this and other networks and / or systems.

[0059] FIG. 2G is a diagram 275 showing the interconnections between the different elements. The solution may be stored and / or executed, in whole or in part, on and / or by one or more computing devices 278′, 279′, 281′, 282′, 283′, 284′, 276′, 285′, 287′, and 277′ associated with various entities and all communicatively connected to and in communication with a network 286. A database 287 is communicatively connected to the network and allows for the storage and retrieval of data. In one embodiment, the database is an immutable ledger. One or more of the various entities may be a vehicle 276, one or more service providers 279, one or more public buildings 281, one or more transportation infrastructures 282, one or more residential housing units 283, a power grid / charging station 284, a microphone 285, and / or another vehicle 277. Other entities and / or devices, such as one or more private users using a smartphone 278, a laptop 280, an augmented reality (AR) device, a virtual reality (VR) device, and / or any wearable device, may also interface with the solution. The smartphone 278, laptop 280, microphone 285, and other devices may be connected to one or more of the connected computing devices 278', 279', 281', 282', 283', 284', 276', 285', 287', and 277'. The one or more public buildings 281 may include various institutions. The one or more public buildings 281 may utilize the computing device 281'. The one or more service providers 279 may include a dealership, a tow truck service, a collision center, or other repair shop. The one or more service providers 279 may utilize the computing device 279'. These various computing devices may be directly and / or communicatively connected to one another via wired networks, wireless networks, blockchain networks, and the like. In one embodiment, the microphone 285 may be utilized as a virtual assistant.In one embodiment, the one or more traffic infrastructures 282 may include one or more traffic signals, one or more sensors including one or more cameras, vehicle speed sensors or traffic sensors, and / or other traffic infrastructure. The one or more traffic infrastructures 282 may utilize a computing device 282'.

[0060] In one embodiment, the vehicles 277 / 276 are capable of transporting people, objects, permanently or temporarily attached equipment, and the like. In one embodiment, the vehicles 277 may communicate with the vehicles 276 through a computer associated with each vehicle 276' and 277' via V2V communications and may be referred to as vehicles, cars, vehicles, automobiles, and the like. The vehicles 276 / 277 may be self-propelled, wheeled vehicles such as cars, SUVs, trucks, buses, wagons, or other vehicles powered by motors or batteries or fuel cells. For example, the vehicles 276 / 277 may be electric cars, hybrid cars, hydrogen fuel cell cars, plug-in hybrid cars, or any other type of vehicle having a fuel cell stack, motor, and / or generator. Other examples of vehicles include bicycles, scooters, trains, planes, or boats, and any other form of vehicle capable of transportation. The vehicles 276 / 277 may be semi-autonomous or autonomous. For example, the vehicle 276 / 277 may be self-piloted and operated without human input. An autonomous vehicle may have and use one or more sensors and / or navigation units to navigate autonomously.

[0061] In one embodiment, the solution described and depicted herein may be utilized to determine access to a vehicle via blockchain consensus. In one embodiment, the solution may also be utilized to perform profile verification before allowing a vehicle occupant to use the vehicle. In one embodiment, the solution may also be utilized to have the vehicle indicate (visually, but also verbally, in another embodiment, etc.) on or from the vehicle the actions (which may be pre-recorded) that the user needs to take and confirm as correct. In one embodiment, the solution may also be utilized to provide the vehicle with the ability to bifurcate data and determine, based on the risk level associated with the data and the driving environment, how to distribute a portion of the bifurcate data with a lower risk level in a safe driving environment to the vehicle occupant and later distribute the remaining portion of the bifurcate data with a higher risk level to the vehicle occupant after the vehicle has left the vehicle. In one embodiment, the solution may also be utilized to address vehicle movement across (country / state / etc.) borders and apply new area rules to the vehicle using blockchain and / or smart contracts.

[0062] In one embodiment, the solution may also be utilized to allow a vehicle to continue operating outside of the boundary if a consensus is reached by the vehicle based on the vehicle's operation and the vehicle's occupant characteristics. In one embodiment, the solution may also be utilized to analyze the vehicle's available data upload / download rate, the size of the file, and the speed / direction the vehicle is traveling to determine the distance required to complete the data upload / download and assign a secure area boundary for the data upload / download to be performed. In one embodiment, the solution may also be utilized to instruct the subject vehicle and other nearby vehicles to perform a normally dangerous maneuver in a safe manner to allow the subject vehicle to exit in a safe manner, such as when the system determines that an exit is imminent or when the vehicle does not appear ready to exit (e.g., is in the wrong lane or traveling at a speed that is not suitable for the next exit). In one embodiment, the solution may also be utilized to verify the diagnosis of the other vehicle using one or more vehicles while both the one or more vehicles and the other vehicle are traveling.

[0063] In one embodiment, the solution may also be utilized to detect lane usage at a location and time and inform or instruct the vehicle occupant to recommend or not recommend a lane change. In one embodiment, the solution may also be utilized to eliminate the need to send information via email and the driver / occupant to respond by making a payment via email or in person. In one embodiment, the solution may also be utilized to provide services to the vehicle occupant, where the services provided are subscription based and permissions are obtained from other vehicles connected to the occupant's profile. In one embodiment, the solution may also be utilized to record changes in the state of a rented object. In one embodiment, the solution may also be utilized to seek blockchain consensus from other vehicles in the vicinity of the damaged vehicle. In one embodiment, the solution may also be utilized to receive media from a server, such as an insurance entity server, or a vehicle computer that may be related to the accident. The server accesses one or more media files to access the damage to the vehicle and stores the damage assessment on the blockchain. In one embodiment, the solution may also be utilized to obtain consensus to determine the severity of an event from multiple devices at various times prior to a vehicle-related event.

[0064] In one embodiment, the solution may also be utilized to solve the problem of a lack of video evidence for vehicle-related accidents. The solution details an inquiry by a vehicle involved in an accident for media related to the accident from other vehicles that may have been in the vicinity of the accident. In one embodiment, the solution may also be utilized to record specific portions of the vehicle that are damaged using the vehicle and other devices (e.g., pedestrians' cell phones, street light cameras, etc.).

[0065] In one embodiment, the solution may also be utilized to alert the occupants if the vehicle is being maneuvered towards a dangerous area and / or event, allowing the vehicle to notify the occupants or a central controller of potentially dangerous areas on or near the current vehicle path. In one embodiment, the solution may also be utilized to detect when the vehicle is traveling at a high speed that at least one other vehicle is being used to assist in slowing the vehicle in a manner that has minimal impact on traffic. In one embodiment, the solution may also be utilized to identify a dangerous driving situation, where media is captured by a vehicle involved in the dangerous driving situation. A geofence is established based on the distance of the dangerous driving situation, and additional media is captured by at least one other vehicle within the established geofence. In one embodiment, the solution may also be utilized to send a notification to one or more vehicle occupants of the vehicle that the vehicle is approaching a traffic control sign on the road, and then receive an indication from other nearby vehicles that the vehicle is driving poorly if the vehicle goes beyond the sign. In one embodiment, the solution may also be utilized to render a vehicle partially inoperable by (in certain embodiments) limiting speed, limiting ability to approach another vehicle, limiting speed to a maximum, and only allowing a given number of miles allowed per time period.

[0066] In one embodiment, the solution may also be utilized to overcome the need for reliance on software updates to correct issues with a vehicle when it is not operating correctly. Through observations of other vehicles on the route, the server receives data from multiple other vehicles that may be observing unsafe or erroneous operation of the vehicle. Through analysis, the observations may result in notification to the vehicle if the data suggests unsafe or erroneous operation. In one embodiment, the solution may also be utilized to provide notification between the vehicle and a dangerous situation that may involve persons unrelated to the vehicle. In one embodiment, the solution may also be utilized to transmit data to the server, either by a device associated with a vehicle accident or a device near the accident. Based on the severity of the accident or near the accident, the server notifies the sender of the data. In one embodiment, the solution may also be utilized to provide recommendations for vehicle operation to either the driver or passengers of the vehicle based on analysis of the data. In one embodiment, the solution may also be utilized to establish geofences associated with physical structures to determine payment liability for the vehicle. In one embodiment, the solution may also be utilized to coordinate the ability to drop off a vehicle at a location using both the current state and proposed future state of the location and using navigation destinations of other vehicles. In one embodiment, the solution may also be utilized to coordinate the ability to automatically arrange for a vehicle to be dropped off at a location, such as with a vehicle rental entity.

[0067] In one embodiment, the solution may also be utilized to move the vehicle to another location based on the user's event. More specifically, the system tracks the user's device and modifies the vehicle to be moved closer to the user based on the outcome of the original event or the modified event. In one embodiment, the solution may also be utilized to enable verification of available locations in the area through vehicles present in the area. The approximate time when the location may be available is also determined based on verification from the vehicles present. In one embodiment, the solution may also be utilized to move the vehicle to a closer parking space if a parking space becomes available and the elapsed time from the initial parking is less than the average time of the event. Furthermore, the vehicle is moved to a final parking space if the event is completed or depending on the location of a device associated with at least one occupant of the vehicle. In one embodiment, the solution may also be utilized to plan parking in advance of an upcoming congestion. The system may interact with the vehicle to provide some service below the regular rate and / or guide the vehicle to alternative parking locations based on the vehicle's priority, thereby improving pre-arrival parking optimization.

[0068] In one embodiment, the solution may also be utilized to sell fractional ownership of the vehicle or determine pricing and availability for ride-sharing applications. In one embodiment, the solution may also be utilized to provide accurate and timely reporting of dealership sales activity, far superior to what is currently available. In one embodiment, the solution may also be utilized to enable dealerships to request assets via the blockchain. By using the blockchain, consensus is obtained before any assets are moved. Furthermore, the process may be automated and payment may be initiated via the blockchain. In one embodiment, the solution may also be utilized to arrange for agreements to be made with multiple entities (such as service centers), consensus is obtained and actions (such as diagnostics) are taken. In one embodiment, the solution may also be utilized to associate digital keys with multiple users. A first user may be the operator of the vehicle and a second user is the party responsible for the vehicle. The key is authorized by a server and the proximity of the key is verified against the location of the service provider. In one embodiment, the solution may also be utilized to determine services required at the destination of the vehicle. One or more service locations capable of providing the required service are located within an area on the route to the destination and available for performance of the service. Navigation of the vehicle is updated with the determined service locations. A smart contract is identified that includes a compensation value for the service, and a blockchain transaction is stored in the distributed ledger for the transaction.

[0069] In one embodiment, the solution may also be utilized to link the service provider's vehicle with the vehicle's occupant's profile to determine services and goods that may be of interest to the occupant in the vehicle. The services and goods are determined by the occupant's history and / or preferences. The vehicle then receives offers from the service provider's vehicle and, in another embodiment, meets with the vehicle to provide the service / goods. In one embodiment, the solution may also be utilized to detect vehicles within a certain range and send the vehicle an offer of a service (such as a maintenance offer, a product offer, or the like). An agreement is made between the system and the vehicle, and a service provider is selected by the system to provide the agreement. In one embodiment, the solution may also be utilized to assign one or more vehicles as road managers, who help regulate traffic. Road managers may generate road indicators (such as signal lights, displays, sounds, etc.) to assist with traffic flow. In one embodiment, the solution may also be utilized to alert the vehicle's driver by a device, which may be a traffic light or near an intersection. An alert is sent upon events such as when a traffic light turns green and the vehicle ahead of it in the list of vehicles does not move.

[0070] FIG. 2H is another block diagram 290 showing the interconnections between different elements in one example. A vehicle 276 is depicted and includes ECUs 295, 296 and a head unit (otherwise known as an infotainment system) 297. An electronic control unit (ECU) is a system embedded in automotive electronics that controls one or more of the electrical systems or subsystems in the vehicle. The ECUs may include, but are not limited to, managing the vehicle's engine, braking system, transmission system, door locks, dashboard, airbag system, infotainment system, electronic differential, and active suspension. The ECUs are connected to the vehicle's controller area network (CAN) bus 294. The ECUs may also communicate with the vehicle's computer 298 via the CAN bus 294. The vehicle's processor / sensors 298 (such as the vehicle's computer) may communicate with external elements such as a server 293 via a network 292 (such as the Internet). Each ECU 295, 296 and head unit 297 may include its own security policy. The security policy defines the permissible processes that can be executed in the appropriate context. In one embodiment, the security policy may be provided partially or completely within the vehicle's computer 298.

[0071] Each of the ECUs 295, 296 and head unit 297 may include custom security functionality elements 299 that define approved processes and the contexts in which those processes are allowed to operate. Context-based authorization, which determines the validity of whether a process can be executed, allows the ECU to maintain secure operation and prevent unauthorized access from elements such as the vehicle's controller area network (CAN bus). If the ECU encounters an unauthorized process, the ECU may prevent the process from operating. The automotive ECU may use various contexts to determine whether a process is operating within its permitted boundaries, such as proximity contexts such as nearby objects, distance to approaching objects, speed, and trajectory relative to other moving objects, operational contexts such as an indication of whether the vehicle is moving or parked, the vehicle's current speed, transmission status, devices connected to the vehicle via wireless protocols, user-related contexts such as infotainment usage, cruise control, parking assistance, driving assistance, location-based contexts, and / or other contexts.

[0072] In one embodiment, the solution described and depicted herein may be utilized to partially disable a vehicle by (in certain embodiments) limiting speed, limiting ability to approach another vehicle, limiting speed to a maximum value, and only allowing a given number of miles per time period. In one embodiment, the solution may also be utilized to facilitate vehicle ownership exchange using blockchain, where data is sent to a server by either a device associated with a vehicle accident or a device near the accident. Based on the severity of the accident or near the accident, the server notifies the sender of the data. In one embodiment, the solution may also be utilized to help a vehicle avoid an accident, such as when the vehicle is involved in an accident, by the server querying other vehicles near the accident. The server attempts to obtain data from the other vehicles, allowing the server to understand the nature of the accident from multiple perspectives. In one embodiment, the solution may also be utilized to determine that a sound from a vehicle is abnormal and send data related to the sound and the location of the possible source to the server, which may determine the possible cause and avoid a potentially dangerous situation. In one embodiment, the solution may also be utilized to establish a location boundary through the system when a vehicle is involved in an accident. The boundary is based on decibels associated with the accident. Multimedia content for devices within the boundary is captured to assist in further understanding the unfolding of the accident. In one embodiment, the solution may also be utilized to associate vehicles with the accident and then capture media captured by devices near the location of the accident. The captured media is saved as media segments. The media segments are sent to another computing device which creates a sound profile of the accident. This sound profile will assist in understanding further details surrounding the accident.

[0073] In one embodiment, the solution may also be utilized to record areas where possible events have occurred, such as when a vehicle comes into or may come into contact with another vehicle (whether moving or parked), utilizing sensors to record audio, video, motion, etc., and the system captures data from sensors that may be present on one or more of the vehicles and / or on fixed or moving objects. In one embodiment, the solution may also be utilized to determine that a vehicle has been damaged by using sensor data to identify the new condition of the vehicle during a vehicle event and comparing that condition to a vehicle condition profile, thereby allowing for safe and secure capture of critical data from a vehicle about to be involved in an adverse event.

[0074] In one embodiment, the solution may also be utilized to alert a vehicle occupant if the vehicle determines via one or more sensors that the vehicle is approaching a one-way road in the wrong direction or traveling the wrong way. The vehicle has sensors / cameras / maps that communicate with the solution's system. The system knows the geographic location of the one-way road. The system may audibly inform the occupant, for example, "approaching a one-way road." In one embodiment, the solution may also be utilized to enable the vehicle to earn rewards and enable autonomous vehicle owners to monetize the data collected and stored by their vehicle's sensors, creating incentives for vehicle owners to share their data and provide additional data to entities that can improve future vehicle performance, provide services to vehicle owners, etc.

[0075] In one embodiment, the solution may also be utilized to increase or decrease a vehicle's functionality depending on the vehicle's operation over a period of time. In one embodiment, the solution may also be utilized to assign fractional ownership to a vehicle. Sensor data associated with one or more vehicles and devices proximate to the vehicle are used to determine a status of the vehicle. Fractional ownership of the vehicle is determined based on the status and new responsibilities of the vehicle are established. In one embodiment, the solution may also be utilized to provide data to a replacement / upfitting part, the data attempting to destroy an approved functionality of the replacement / upfitting part and allowing the part to use the approved functionality of the replacement / upfitting part depending on the approved functionality not being destroyed.

[0076] In one embodiment, the solution may also be utilized to allow the occupant to individually ensure that they are in the vehicle and that they will reach a particular destination. Additionally, the system ensures that the driver (in case of a non-autonomous vehicle) and / or other occupants are authorized to interact with the occupant. Pick-up, drop-off, and location are also mentioned. All of the above are stored in an immutable manner on the blockchain. In one embodiment, the solution may also be utilized to determine the driver's characteristics through analysis of driving style and other factors to take action if the driver is not driving as usual, such as if the driver has previously driven in certain conditions, e.g., during the day, at night, in the rain, in the snow, etc. Additionally, vehicle attributes are also considered. Attributes consist of weather, whether headlights are on, whether navigation is being used, whether HUD is being used, whether media is being played at a certain volume, etc. In one embodiment, the solution may also be utilized to notify the occupant in the vehicle of a dangerous situation when items in the vehicle indicate that the occupant may not be aware of the dangerous situation.

[0077] In one embodiment, the solution may also be utilized to mount a calibration device on a fixed fixture on the vehicle, and various sensors on the vehicle may automatically self-calibrate based on what should be detected by the calibration device compared to what is actually detected. In one embodiment, the solution may also be utilized to enable remote diagnostic capabilities, requiring consensus from multiple service centers using blockchain when a vehicle requiring service transmits malfunction information, and consensus is required from other service centers regarding severity thresholds for the data. Once consensus is received, the service center may transmit the security level of the malfunction to the blockchain where it is stored. In one embodiment, the solution may also be utilized to determine the difference between sensor data outside the vehicle and the vehicle's own sensor data. The vehicle requests software from the server to correct the problem. In one embodiment, the solution may also be utilized to enable messaging of vehicles that are near or within an area when an event (e.g., a collision) occurs.

[0078] Referring to FIG. 2I, a connected vehicle operating environment 290A is shown, according to some embodiments. As depicted, the vehicle 276 includes a controller area network (CAN) bus 291A connecting vehicle elements 292A-299A. Other elements may be connected to the CAN bus, but are not depicted herein. The depicted elements connected to the CAN bus include a sensor set 292A, an electronic control unit 293A, an autonomous function or advanced driver assistance system (ADAS) 294A, and a navigation system 295A. In some embodiments, the vehicle 276 includes a processor 296A, a memory 297A, a communication unit 298A, and an electronic display 299A.

[0079] The processor 296A may include an arithmetic logic unit, microprocessor, general purpose controller, and / or similar processor array to perform calculations and provide electronic display signals to the display unit 299A. The processor 296A processes data signals and may include a variety of computing architectures including complex instruction set computer (CISC) architecture, reduced instruction set computer (RISC) architecture, or architectures implementing a combination of instruction sets. The vehicle 276 may include one or more processors 296A. Other processors, operating systems, sensors, displays, and physical configurations (not depicted) communicatively coupled to each other may be used in the solution.

[0080] The memory 297A is a non-transitory memory that stores instructions or data that can be accessed and executed by the processor 296A. The instructions and / or data may include code for performing the techniques described herein. The memory 297A may be a dynamic random access memory (DRAM) device, a static random access memory (SRAM) device, a flash memory, or some other memory device. In some embodiments, the memory 297A may also include a non-volatile memory or similar permanent storage devices and media, which may include a hard disk drive, a floppy disk drive, a CD-ROM device, a DVD-ROM device, a DVD-RAM device, a DVD-RW device, a flash memory device, or some other mass storage device for permanently storing information. A portion of the memory 297A may be reserved for use as a buffer or virtual random access memory (virtual RAM). The vehicle 276 may include one or more memories 297A without departing from the present solution.

[0081] The memory 297A of the vehicle 276 may store one or more of the following types of data: navigation route data 295A and autonomous function data 294A. In some embodiments, the memory 297A stores data that may be necessary for the navigation application 295A to provide functionality.

[0082] The navigation system 295A may represent at least one navigation route including a start point and an end point. In some embodiments, the navigation system 295A of the vehicle 276 receives a request from a user for a navigation route, the request including a start point and an end point. The navigation system 295A may query a real-time data server 293 (via network 292), such as a server providing driving directions, for navigation route data corresponding to the navigation route including the start point and the end point. The real-time data server 293 transmits the navigation route data to the vehicle 276 via the wireless network 292, and the communication system 298A stores the navigation data 295A in the memory 297A of the vehicle 276.

[0083] ECU 293A controls the operation of many of the systems of vehicle 276, including ADAS system 294A. ECU 293A may disable any unsafe and / or unselected autonomous functions during a journey controlled by ADAS system 294A in response to instructions received from navigation system 295A. In this manner, navigation system 295A may control whether ADAS system 294A is operated or enabled so that ADAS system 294A may operate on a given navigation route.

[0084] Sensor set 292A may include any sensor in vehicle 276 that generates sensor data. For example, sensor set 292A may include short-range and long-range sensors. In some embodiments, sensor set 292A of vehicle 276 may include one or more of the following vehicle sensors: camera, LIDAR sensor, ultrasonic sensor, vehicle engine sensor, radar sensor, laser altimeter, manifold absolute pressure sensor, infrared detector, motion detector, thermostat, sound detector, carbon monoxide sensor, carbon dioxide sensor, oxygen sensor, mass airflow sensor, engine coolant temperature sensor, throttle position sensor, crankshaft position sensor, valve timer, air fuel ratio meter, blind spot meter, curb feeler, fault detector, hall effect sensor, parking sensor, speed gun, speedometer, speed sensor, tire pressure monitoring sensor, torque sensor, transmission fluid temperature sensor, turbine speed sensor (TSS), variable reluctance sensor, vehicle speed sensor (VSS), moisture sensor, wheel speed sensor, GPS sensor, mapping function, and any other type of automotive sensor. The navigation system 295A may store the sensor data in memory 297A.

[0085] The communications unit 298A transmits and receives data to and from the network 292 or to another communications channel. In some embodiments, the communications unit 298A may include a DSRC transceiver, a DSRC receiver, and other hardware or software necessary to make the vehicle 276 a DSRC-equipped device.

[0086] Vehicle 276 may communicate with other vehicles 277 via V2V technology. In one embodiment, V2V communication includes detecting radar information corresponding to a relative distance to an external object, receiving GPS information of the vehicle, setting an area based on the detected radar information as an area where other vehicles 277 are located, calculating a probability that the GPS information of a target vehicle is located in the set area, and identifying a vehicle and / or object corresponding to the radar information and GPS information of the target vehicle based on the calculated probability.

[0087] In one embodiment, the solutions described and depicted herein may be utilized to manage emergency deployment and functionality of a vehicle when it is determined that the vehicle has entered an area without network access. In one embodiment, the solutions may also be utilized to manage and provide functionality (such as audio, video, navigation, etc.) in a vehicle without network connectivity. In one embodiment, the solutions may also be utilized to determine when a profile of a person in the vicinity of the vehicle matches profile attributes of a profile of at least one occupant within the vehicle. A notification is sent from the vehicle to establish communication.

[0088] In one embodiment, the solution may also be utilized to analyze the availability of occupants in each vehicle where voice communication is available based on the time remaining in the vehicle and the context of the communication taking place. In one embodiment, the solution may also be utilized to determine two threat levels of obstacles in the roadway and receive gestures that may indicate that the obstacle does not reach a threshold warning and proceed along the roadway by the vehicle. In one embodiment, the solution may also be utilized to remove sensitive data from the vehicle if it is damaged in a way that renders it unusable.

[0089] In one embodiment, the solution may also be utilized to ensure that customer data to be removed is truly removed from all required locations within an enterprise demonstrating GDPR compliance. In one embodiment, the solution may also be utilized to provide compensation from one vehicle to another in exchange for safety related data, important notifications, etc., to increase the autonomous capabilities of a lower level autonomous vehicle. In one embodiment, the solution may also be utilized to provide the vehicle with the ability to receive data based on a first biometric associated with the occupant. The vehicle then decrypts the encrypted data based on verification of a second biometric, the second biometric being a continuum of the first biometric. The vehicle provides the decrypted data to the occupant only if the occupant is able to receive the decrypted data, deletes the sensitive portion of the decrypted data when the sensitive portion is provided, and deletes the non-sensitive portion after a period associated with the biometric has elapsed. In one embodiment, the solution may also be utilized to enable the vehicle to verify an individual based on weight and grip pressure applied to the steering wheel of the vehicle. In one embodiment, the solution may also be utilized to provide existing but currently not enabled features to a passenger vehicle to present vehicle occupants with features that reflect their characteristics.

[0090] In one embodiment, the solution may also be utilized to allow for the reflection of modifications on the vehicle, particularly the interior of the vehicle and the exterior of the vehicle, to assist at least one occupant in one embodiment. In another embodiment, recreation of a occupant's work environment and / or home environment is disclosed. If the vehicle determines that the user is in "work mode" or "home mode", the system may attempt to "recreate" the user's work / home environment while the user is in the vehicle. All data related to the interior and exterior of the vehicle, as well as the various occupants utilizing the vehicle, is stored on the blockchain and executed via smart contracts. In one embodiment, the solution may also be utilized to detect occupant gestures to assist in communication with nearby vehicles, which may be steered accordingly. In one embodiment, the solution may also be utilized to provide the vehicle with the ability to detect intended gestures using a gesture definition data store. In one embodiment, the solution may also be utilized to provide the vehicle with the ability to take various actions based on the user's gait and gestures. In one embodiment, the solution may also be utilized to ensure that a vehicle driver who is currently engaged in various operations (e.g., driving while talking to the navigation system, etc.) does not exceed a number of dangerous operations before allowing a gesture.

[0091] In one embodiment, the solution may also be utilized to assign a status to each occupant in the vehicle and validate gestures from the occupant based on the occupant's status. In one embodiment, the solution may also be utilized to collect details of sounds associated with the collision (such as where, which direction, whether it is getting louder or quieter, from which device, type, manufacturer, owner, and data associated with the device such as the number of sounds occurring simultaneously and the time the sounds were emitted) to provide to the system where analysis of the data assists in determining details regarding the collision. In one embodiment, the solution may also be utilized to provide a determination that operation of the vehicle is unsafe. The vehicle includes multiple components that operate together to control the vehicle, each component associated with a separate component key. An encryption key is transmitted to the vehicle to reduce functionality of the vehicle. In response to receiving the encryption key, the vehicle disables one or more of the component keys. Disabling one or more component keys results in one or more of restricting the vehicle from moving faster than a given speed, restricting the vehicle from moving closer than a certain distance to another vehicle, and restricting the vehicle from moving farther than a threshold distance.

[0092] In one embodiment, the solution may also be utilized to provide an indication from one particular vehicle (trying to vacate a location) to another particular vehicle (trying to occupy a location), with the blockchain being used to perform authentication and reconciliation. In one embodiment, the solution may also be utilized to determine partial responsibility for a vehicle. In cases such as where multiple people own a single vehicle, the vehicle may be used in different periods of time, and the system is used to update the fractional ownership. Other embodiments are included in applications that include minimum ownership of vehicles based on vehicle availability and vehicle driver determination rather than vehicle usage, as well as other things.

[0093] In one embodiment, the solution may also be utilized to allow users to authorize their subscriptions for a limited group of people, such as family or friends, within the vehicle. For example, a user may want to share a membership, in which case the associated transaction is stored in the blockchain or a traditional database. When subscription material is requested by a user who is not the primary subscriber, the blockchain node (i.e., the vehicle) may verify that the person requesting the service is an approved person with whom the subscriber shared their profile. In one embodiment, the solution may also be utilized to allow a person to utilize secondary transportation to reach an intended destination. Functional relationship values ​​(e.g., values ​​indicating various parameters and their importance in determining what type of alternative transportation should be utilized) are used in determining secondary transportation. In one embodiment, the solution may also be utilized to allow occupants who are involved in an accident to access other transportation to continue to their original destination.

[0094] In one embodiment, the solution may also be used to communicate software / firmware uploads to a first subset of vehicles. The first set of vehicles test the update and if the test is successful, the update is communicated to a further set of vehicles. In one embodiment, the solution may also be used to communicate software / firmware updates from a master vehicle to vehicles, where the update is communicated through a network of vehicles from the first subset, then a larger subset, etc. A portion of the update may be sent first and then the remaining portion may be sent from the same vehicle or another vehicle. In one embodiment, the solution may also be used to provide updates for the vehicle's computer to the vehicle and the vehicle's operator / occupant's devices. The updates may be approved by all drivers and / or all occupants. The software updates are provided to the vehicles and devices. The user does not need to do anything other than go near the vehicle, the function occurs automatically. A notification is sent to the device indicating that the software update is complete. In one embodiment, the solution may also be utilized to verify that an OTA software update is being performed by an authorized technician, and that the source of the verification code, the procedure for receiving the software update over the air, the information contained in the software update, and the status related to the results of the verification are generated by one or more vehicle components.

[0095] In one embodiment, the solution may also be utilized to provide the ability to parse software updates located in a first component by a second component. Then, identify a first portion of critical updates and a second portion of non-critical updates, assign the identified first portion to a process in the vehicle, operate the identified first portion in the one process for a period of time, and operate the identified first portion in another process after the period of time depending on a positive outcome based on the period of time. In one embodiment, the solution may also be utilized to provide a selection of services to the crew, the services based on the profile of the crew of the vehicle and a shared profile shared with the crew profile. In one embodiment, the solution may also be utilized to store user profile data in a blockchain to intelligently present offers and recommendations to the user based on the automatically collected purchase history of the user and preferences obtained from the user profile on the blockchain.

[0096] In order for a vehicle to be fully secure, it needs to be protected from unauthorized physical access and unauthorized remote access (e.g., cyber threats). In one embodiment, to prevent unauthorized physical access, the vehicle is equipped with a secure access system, such as keyless entry, while in one embodiment, security protocols are added to the vehicle's computers and computer networks to facilitate secure remote communications to and from the vehicle.

[0097] Electronic Control Units (ECUs) are nodes within a vehicle that control tasks ranging from windshield wiper operation to anti-lock braking systems. ECUs are often connected to each other through a central network in the vehicle that may be referred to as a Controller Area Network (CAN). Cutting edge features such as autonomous driving are highly dependent on the implementation of new and complex ECUs such as advanced driver assistance systems (ADAS), sensors, and the like. These new technologies are helping to improve the safety and driving experience of the vehicle, but they also increase the number of external communication units within the vehicle, making it more vulnerable to attacks. Below are some examples of securing vehicles against physical and remote intrusions:

[0098] FIG. 2J illustrates a keyless entry system 290B for preventing unauthorized physical access to a vehicle 291B, according to an exemplary embodiment. Referring to FIG. 2J, in one embodiment, a key fob 292B transmits commands to the vehicle 291B using radio frequency signals. In this example, the key fob 292B includes a transmitter 2921B having an antenna capable of transmitting short-range wireless signals. The vehicle 291B includes a receiver 2911B having an antenna capable of receiving the short-range wireless signals transmitted from the transmitter 2921B. The key fob 292B and the vehicle 291B also include a CPU 2922B and 2913B, respectively, that controls the respective device, where memory in (or accessible to) the CPU 2922B and 2913B. In one embodiment, the key fob 292B and the vehicle 291B each include a power supply 2924B and 2915B that powers the respective device.

[0099] When a user presses a button 293B on the key fob 292B (or otherwise activates the fob, etc.), a CPU 2922B activates in the key fob 292B and transmits a data stream to a transmitter 2921B that is output via an antenna. In other embodiments, the user's intent is recognized in the key fob 292B via other means, such as a microphone to accept audio, a camera to capture images and / or video, or other sensors commonly utilized in the art to detect intent from a user, including receiving gestures, motion, eye movements, and the like. The data stream can be a 64-bit to 128-bit long signal that includes one or more of a preamble, a command code, and a rolling code. The signal can be transmitted at a rate between 2KHz and 20KHz, although embodiments are not limited thereto. In response, receiver 2911B of vehicle 291B captures the signal from transmitter 2921B, demodulates the signal, and transmits the data stream to CPU 2913B, which decodes the signal and transmits a command (e.g., lock door, unlock door, etc.) to command module 2912B.

[0100] If the key fob 292B and the vehicle 291B use a fixed code between them, a replay attack can be performed. In this case, if an attacker can capture / find the fixed code during short-range communication, he / she can replay this code to get into the vehicle 291B. To improve security, the key fob and the vehicle 291B can use a rolling code that changes after each use. Here, the key fob 292B and the vehicle 291B are synchronized with an initial seed 2923B (e.g., a random number, a pseudo-random number, etc.). This is called pairing. The key fob 292B and the vehicle 291B also contain a shared algorithm that modifies the initial seed 2914B every time the button 293B is pressed. The next key press takes the result of the previous key press as input and converts it into the next number in the sequence. In some cases, vehicle 291B may store multiple next codes (e.g., 255 next codes) in the event that a key press on key fob 292B is not detected by vehicle 291B. Thus, multiple key presses on key fob 292B that are not recognized by vehicle 291B do not prevent the vehicle from becoming unsynchronized.

[0101] In addition to rolling codes, the key fob 292B and vehicle 291B may employ other methods to make attacks even more difficult. For example, various frequencies may be used to transmit the rolling codes. As another example, two-way communication between the transmitter 2921B and the receiver 2911B may be used to establish a secure session. As another example, the code may have a limited expiration or timeout. Additionally, the solution as described and depicted with respect to FIG. 2J may be utilized in this and other networks and / or systems, including those described and depicted herein.

[0102] FIG. 2K illustrates a controller area network (CAN) 290C in a vehicle according to an exemplary embodiment. Referring to FIG. 2K, the CAN 290C includes a CAN bus 297C having high and low terminals, and multiple electronic control units (ECUs) 291C, 292C, 293C, etc., connected to the CAN bus 297C via wired connections. The CAN bus 297C is designed to allow microcontrollers and devices to communicate with each other in applications without using a host computer. The CAN bus 297C implements a message-based protocol (i.e., ISO 11898 standard) that allows the ECUs 291C-293C to send commands to each other at the root level. Meanwhile, the ECUs 291C-293C represent controllers that control electrical systems or subsystems in the vehicle. Examples of electrical systems include power steering, anti-lock braking, air conditioning, tire pressure monitoring, cruise control, and many other functions.

[0103] In this example, the ECU 291C includes a transceiver 2911C and a microcontroller 2912C. The transceiver may be used to send and receive messages to and from the CAN bus 297C. For example, the transceiver 2911C may convert data from the microcontroller 2912C into a format for the CAN bus 297C and convert data from the CAN bus 297C into a format for the microcontroller 2912C. Meanwhile, in one embodiment, the microcontroller 2912C interprets messages and determines which messages to send using ECU software installed on the microcontroller 2912C.

[0104] Various security protocols may be implemented to protect CAN 290C from cyber threats. For example, sub-networks (e.g., sub-networks A and B, etc.) may be used to split CAN 290C into smaller sub-CANs to limit an attacker's ability to remotely access the vehicle. In the example of FIG. 2K, ECUs 291C and 292C may be part of the same sub-network, while ECU 293C is part of an independent sub-network. Furthermore, a firewall 294C (or gateway, etc.) may be added to prevent messages from crossing the CAN bus 297C beyond the sub-network. If an attacker gains access to one sub-network, he or she does not gain access to the entire network. In one embodiment, to make the sub-networks even more secure, the most critical ECUs are not placed in the same sub-network.

[0105] Although not shown in FIG. 2K, other examples of security controls within the CAN include an Intrusion Detection System (IDS) that may be added to each sub-network to read all data passing through and detect malicious messages. If a malicious message is detected, the IDS may notify the vehicle user. Other possible security protocols include encryption / security keys that may be used to obfuscate messages. As another example, in one embodiment, an authentication protocol is implemented that allows a message to authenticate itself.

[0106] In addition to protecting the vehicle's internal network, the vehicle may also be protected when communicating with external networks, such as the Internet. One advantage of connecting the vehicle to a data source, such as the Internet, is that information from the vehicle can be transmitted over the network to a remote location for analysis. Examples of vehicle information include GPS, on-board diagnostics, tire pressure, and the like. These communication systems are often referred to as telematics because they involve a combination of telecommunications and informatics. Additionally, the present solutions as described and depicted with respect to FIG. 2K may be utilized with this and other networks and / or systems, including those described and depicted herein.

[0107] FIG. 2L illustrates a secure end-to-end vehicle communication channel according to an exemplary embodiment. Referring to FIG. 2L, a telematics network 290D includes a vehicle 291D and a host server 295D located at a remote location (e.g., a web server, a cloud platform, a database, etc.) and connected to the vehicle 291D via a network such as the Internet. In this example, a device 296D associated with the host server 295D may be installed within the vehicle 291D in the network. Additionally, although not shown, the device 296D may be connected to other elements of the vehicle 291D, such as a CAN bus, an on-board diagnostics (ODBII) port, a GPS system, a SIM card, a modem, and the like. The device 296D may collect data from any of these systems and transfer the data to the server 295D over the network.

[0108] The secure management of data begins with the vehicle 291D. In some embodiments, the device 296D may collect information before, during, and after a trip. The data may include GPS data, trip data, passenger information, diagnostic data, fuel data, speed data, and the like. However, the device 296D may only communicate collected information back to the host server 295D upon the vehicle being ignited and a trip being completed. Furthermore, communications may only be initiated by the device 296D, and not by the host server 295D. Thus, in one embodiment, the device 296D does not accept communications initiated by external sources.

[0109] To communicate, the device 296D may establish a secure private network between the device 296D and the host server 295D, where the device 296D may include a tamper-proof SIM card that provides secure access to the carrier network 294D via the radio tower 292D. When preparing to send data to the host server 295D, the device 296D may establish a one-way secure connection with the host server 295D. The carrier network 294D may communicate with the host server 295D using one or more security protocols. As a non-limiting example, the carrier network 294D may communicate with the host server 295D through a VPN tunnel that allows access through the firewall 293D of the host server 295D. As another example, the carrier network 294D may use data encryption (e.g., AES encryption, etc.) when sending data to the host server 295D. In some cases, the system may use multiple security measures, such as both VPN and encryption, to further secure the data.

[0110] In addition to communicating with external servers, vehicles may also communicate with each other. In particular, vehicle-to-vehicle (V2V) communication systems enable vehicles to communicate with each other, roadside infrastructure (e.g., traffic lights, signs, cameras, parking meters, etc.), and the like, through wireless networks. Wireless networks may include one or more of a Wi-Fi network, a cellular network, a dedicated short-range communication (DSRC) network, and the like. Vehicles may use V2V communications to provide other vehicles with information regarding the vehicle's speed, acceleration, braking, and direction, to name a few. Thus, vehicles may receive insight into conditions ahead before those conditions become visible, thus greatly reducing collisions. Additionally, the present solution as described and depicted with respect to FIG. 2L may be utilized in this and other networks and / or systems, including those described and depicted herein.

[0111] FIG. 2M illustrates an example 290E of vehicles 293E and 292E using security certificates for secure V2V communication, according to an exemplary embodiment. With reference to FIG. 2M, vehicles 293E and 292E may communicate with each other via V2V communication over a short-range network, a cellular network, or the like. Prior to sending a message, vehicles 293E and 292E may sign the message using their respective public key certificates. For example, vehicle 293E may sign a V2V message using public key certificate 294E. Similarly, vehicle 292E may sign a V2V message using public key certificate 295E. In one embodiment, public key certificates 294E and 295E are associated with vehicles 293E and 292E, respectively.

[0112] Upon receiving communications from each other, the transport vehicles may verify the signature with a certificate authority 291E or the like. For example, the transport vehicle 292E may verify with the certificate authority 291E that the public key certificate 294E used by the transport vehicle 293E to sign the V2V communication is authentic. If the transport vehicle 292E successfully verifies the public key certificate 294E, the transport vehicle knows that the data is from a legitimate source. Similarly, the transport vehicle 293E may verify with the certificate authority 291E that the public key certificate 295E used by the transport vehicle 292E to sign the V2V communication is authentic. Additionally, the present solution as described and depicted with respect to FIG. 2M may be utilized in this and other networks and / or systems, including those described and depicted herein.

[0113] Figure 2N shows yet another diagram 290F depicting an example vehicle interacting with a security processor and a wireless device, according to an exemplary embodiment. In some embodiments, the computer 224 shown in Figure 2B may include a security processor 292F as shown in example process 290F of Figure 2N. In particular, the security processor 292F may perform authorization, authentication, cryptography (e.g., encryption), and the like, for data transmissions sent between the ECU and other devices on the vehicle's CAN bus, and for data messages sent between different vehicles.

[0114] In the example of FIG. 2N, security processor 292F may include authorization module 293F, authentication module 294F, and cryptography module 295F. Security processor 292F may be implemented within a vehicle's computer and may communicate with other elements of the vehicle, such as ECU / CAN network 296F, and wired and wireless devices 298F, such as wireless network interfaces, input ports, and the like. Security processor 292F may ensure that data frames (e.g., CAN frames, etc.) transmitted internally within the vehicle (e.g., via ECU / CAN network 296F) are secure. Similarly, security processor 292F may ensure that messages transmitted between different vehicles and to devices attached or connected via wires to the vehicle's computer are also secure.

[0115] For example, the authorization module 293F may store passwords, usernames, PIN codes, biometric scans, and the like for various users of the vehicle. The authorization module 293F may determine whether a user (or technician) has permission to access a particular setting, such as the vehicle's computer. In some embodiments, the authorization module may communicate with a network interface to download any necessary authorization information from an external server. When a user requests to make a change to the vehicle's settings or to modify the vehicle's technical details, via a console or GUI within the vehicle or via an attached / connected device, the authorization module 293F may request the user to identify themselves in some way before the setting is changed. For example, the authorization module 293F may require a username, password, PIN code, biometric scan, predefined line drawing or gesture, and the like. In response, the authorization module 293F may determine whether the user has the necessary permission (e.g., access) that is being requested.

[0116] The authentication module 294F may be used to authenticate internal communications between ECUs on a vehicle's CAN network. As an example, the authentication module 294F may provide information for authenticating communications between ECUs. As an example, the authentication module 294F may send a bit signature algorithm to the ECUs of the CAN network. The ECUs may use the bit signature algorithm to insert authentication bits into the CAN field of the CAN frame. All ECUs on the CAN network typically receive each CAN frame. Each time a new CAN frame is generated by one of the ECUs, the bit signature algorithm may dynamically change the position, amount, etc. of the authentication bits. The authentication module 294F may also provide a list of ECUs that are exempt (safe list) and do not need to use the authentication bits. The authentication module 294F may communicate with a remote server to retrieve updates to the bit signature algorithm and the like.

[0117] The encryption module 295F may store asymmetric key pairs used by the vehicle to communicate with other external user devices and vehicles. For example, the encryption module 295F may provide a private key used by the vehicle to encrypt / decrypt communications, while a corresponding public key may be provided to other user devices and vehicles to allow the other devices to decrypt / encrypt the communications. The encryption module 295F may communicate with a remote server to receive new keys, updates to keys, new vehicle or user keys, and the like. The encryption module 295F may also send any updates to the local private / public key pair to the remote server.

[0118] 3A illustrates a flow diagram 300 according to an example embodiment. Referring to FIG. 3A, the solution includes one or more of determining 302 characteristics of an occupant in a vehicle and a current driving environment of the vehicle, the characteristics including a location of the occupant, determining 304 that the current driving environment will lead to a collision of the vehicle, and transmitting 306 a location-based predicted state of the occupant to an emergency services node based on the predicted outcome of the collision.

[0119] 3B illustrates another flow diagram 320 according to an exemplary embodiment. Referring to FIG. 3B, the predicted outcome is a predicted impact of the occupant against a surface of the vehicle based on the location of the occupant (322), the collision determination is based on whether the current driving environment is unfamiliar to one or more of the vehicle and the occupant (323), the predicted outcome is based on a comparison of other vehicles in similar driving environments with different occupants in similar locations (324), during the collision determination, the vehicle repositions the occupant to minimize injury (325), modifies the functionality of the vehicle in response to the severity of the predicted outcome (326), and obtains health data by a device associated with the occupant and includes the data in a transmission along with the predicted condition of the occupant (327).

[0120] 3C illustrates yet another flow diagram 340 according to an example embodiment. Referring to FIG. 3C, the flow diagram includes one or more of receiving a confirmation of an event from one or more elements described or depicted herein, where the confirmation comprises a blockchain consensus between peers represented by any of the elements 342, and executing a smart contract to record the confirmation in the blockchain based on the blockchain consensus 344.

[0121] 4 illustrates a machine learning vehicle network diagram 400 according to an example embodiment. The network 400 includes a vehicle 402 coupled with a machine learning subsystem 406. The vehicle includes one or more sensors 404.

[0122] The machine learning subsystem 406 includes a learning model 408, which is a mathematical artifact created by a machine learning training system 410 that generates predictions by finding patterns in one or more training datasets. In some embodiments, the machine learning subsystem 406 resides within the vehicle 402. In other embodiments, the machine learning subsystem 406 resides outside of the vehicle 402.

[0123] The vehicle 402 sends data from one or more sensors 404 to a machine learning subsystem 406. The machine learning subsystem 406 provides the data from the one or more sensors 404 to a learning model 408, which returns one or more predictions. The machine learning subsystem 406 sends one or more instructions to the vehicle 402 based on the predictions from the learning model 408.

[0124] In further embodiments, vehicle 402 may transmit data from one or more sensors 404 to machine learning training system 410. In yet another embodiment, machine learning subsystem 406 may transmit data from sensors 404 to machine learning subsystem 410. One or more of the applications, functions, steps, solutions, etc. described and / or depicted herein may utilize machine learning network 400 as described herein.

[0125] FIG. 5A illustrates an example vehicle configuration 500 that manages database transactions associated with a vehicle, according to an example embodiment. With reference to FIG. 5A, as a particular vehicle / vehicle 525 engages in a transaction (e.g., vehicle service, dealership transaction, delivery / pickup, vehicle service, etc.), the vehicle may receive (510) assets and / or move (512) assets out / in response to the transaction. A vehicle processor 526 resides in the vehicle 525, and communication exists between the vehicle processor 526, database 530, vehicle processor 526, and transaction module 520. The transaction module 520 may record information such as assets, parties, credits, service description, date, time, location, outcome, notices, unexpected events, etc. Those transactions in the transaction module 520 may be replicated in the database 530. The database 530 may be one of a SQL database, an RDBMS, a relational database, a non-relational database, a blockchain, a distributed ledger, may be on-board the vehicle, may be off-board the vehicle, may be accessible directly and / or over a network, or may be accessible to the vehicle.

[0126] FIG. 5B illustrates an exemplary vehicle configuration 550 that manages database transactions between various vehicles, according to an exemplary embodiment. If a vehicle reaches a situation where a service needs to be shared with another vehicle, the vehicle 525 may engage another vehicle 508 to perform various operations such as sharing, transferring, obtaining a service request, etc. For example, the vehicle 508 may be due for battery charging and / or may have a tire problem and may be on route to pick up a package for delivery. A vehicle processor 528 resides in the vehicle 508 and there is communication between the vehicle processor 528, the database 554, and the transaction module 552. The vehicle 508 may notify another vehicle 525 that is in its network and operating on its blockchain member services. A vehicle processor 526 resides in the vehicle 525 and there is communication between the vehicle processor 526, the database 530, the vehicle processor 526, and the transaction module 520. The vehicle 525 may then receive information via a wireless communication request to pick up the package from the vehicle 508 and / or from a server (not shown). The transaction is recorded in transaction modules 552 and 520 of both vehicles. Credits are transferred from vehicle 508 to vehicle 525 and the records of the transferred services are recorded in databases 530 / 554 assuming the blockchains are different from each other or recorded in the same blockchain used by all members. Database 554 may be one of a SQL database, an RDBMS, a relational database, a non-relational database, a blockchain, a distributed ledger and may be on-board the vehicle or not on-board the vehicle and may be accessible directly and / or through a network.

[0127] FIG. 6A illustrates a blockchain architecture configuration 600, according to an exemplary embodiment. With reference to FIG. 6A, the blockchain architecture 600 may include a group of blockchain member nodes 602-606 as part of a particular blockchain element, e.g., a blockchain group 610. In an exemplary embodiment, a permissioned blockchain is accessible only to those members who have permission to access the blockchain data, rather than all parties. Blockchain nodes are involved in a number of activities, such as the addition and validation process (consensus) of blockchain entries. One or more of the blockchain nodes may approve entries based on an endorsement policy and provide an ordering service for all blockchain nodes. Blockchain nodes may initiate blockchain operations (such as authentication) and attempt to write to the blockchain immutable ledger that is stored in the blockchain, a copy of which may also be stored on the underlying physical infrastructure.

[0128] Once a transaction is received and approved by a consensus model determined by the member nodes, the blockchain transaction 620 is stored in the computer memory. The approved transaction 626 is stored in the current block of the blockchain and committed to the blockchain via a commit procedure, which involves performing a hash of the data content for the transaction in the current block and referencing the previous hash of the previous block. Within the blockchain, there may be one or more smart contracts 630 that define the terms of agreement and operation of the transaction, such as registered recipients, vehicle capabilities, requirements, permissions, sensor thresholds, etc., contained within smart contract executable application code 632. The code may be configured to identify whether the requesting entity is registered to receive vehicle services, which service features the entity is eligible / required to receive given the entity's profile status, and whether to monitor the entity's operation at a later event. For example, when a service event occurs and the user is in the vehicle, the monitoring of sensor data may be triggered and a certain parameter such as the charge level of the vehicle may be identified as being above / below a certain threshold for a certain period of time, which may then result in a change in the current situation, which may require sending an alert to a controlling party (i.e., the vehicle owner, the vehicle operator, a server, etc.), and a service may be identified and stored for reference. The vehicle sensor data collected may be based on the type of sensor data used to collect information about the vehicle's status. The sensor data may also be the basis for vehicle event data 634, such as where to travel, average speed, maximum speed, acceleration, whether there have been any collisions, whether the predicted route has been taken, where the next destination is, whether safety measures have been implemented, whether the vehicle has enough charge / fuel, etc. All such information may be the basis for smart contract conditions 630, which are then stored in the blockchain.For example, sensor thresholds stored in a smart contract can be used as the basis for whether a service needs to be detected and when and where the service should be performed.

[0129] FIG. 6B illustrates a shared ledger configuration, according to an exemplary embodiment. Referring to FIG. 6B, an example blockchain logic 640 includes a blockchain application interface 642 as an API or plug-in application that couples to a computing device and execution platform for a particular transaction. The blockchain configuration 640 may include one or more applications coupled to an application programming interface (API) to access and execute stored program / application code (e.g., smart contract executable code, smart contracts, etc.), which may be created according to customized configurations required by participants, maintain their state, control their assets, and receive external information. This may be deployed and installed as an entry by appending to the distributed ledger on all blockchain nodes.

[0130] Smart contract application code 644 provides the foundation for blockchain transactions by establishing application code that, when executed, enables transaction conditions and states. Smart contracts 630, when executed, result in the generation of specific approved transactions 626, which are then forwarded to a blockchain platform 652. The platform includes security / authorization 658, a computing device 656 that performs transaction management, and a storage unit 654 as memory to store transactions and smart contracts in the blockchain.

[0131] A blockchain platform may include various layers of blockchain data, services (e.g., cryptographic trust services, virtual execution environments, etc.), as well as an underlying physical computer infrastructure that may be used to receive and store new entries and provide access to auditors seeking to access data entries. The blockchain may expose interfaces that provide access to the virtual execution environment necessary to process program code and interact with the physical infrastructure. Cryptographic trust services may be used to verify entries such as asset exchange entries and keep information private.

[0132] The blockchain architecture configuration of Figures 6A and 6B may process and execute program / application code through one or more interfaces exposed and services provided by the blockchain platform. As a non-limiting example, smart contracts may be created to implement reminders, updates, and / or other notifications that are subject to changes, updates, etc. The smart contract itself may be used to identify authorization and access requirements and rules associated with the use of the ledger. For example, the information may include new entries that may be processed by one or more processing entities (e.g., processors, virtual machines, etc.) included in the blockchain layer. The results may include a decision to reject or approve the new entry based on criteria defined in the smart contract and / or peer consensus. The physical infrastructure may be utilized to retrieve any of the data or information described herein.

[0133] In smart contract executable code, smart contracts may be created via high-level application and programming languages ​​and then written into blocks in the blockchain. Smart contracts may include executable code that is registered, stored, and / or replicated with the blockchain (e.g., a decentralized network of blockchain peers). An entry is an execution of the smart contract code, which may occur in response to a condition associated with the smart contract being satisfied. Execution of the smart contract may result in reliable modifications to the state of the digital blockchain ledger. Modifications to the blockchain ledger resulting from the execution of the smart contract may be automatically replicated throughout the decentralized network of blockchain peers via one or more consensus protocols.

[0134] A smart contract may write data to the blockchain in the format of key-value pairs. Additionally, smart contract code may read values ​​stored in the blockchain and use the values ​​during application operation. Smart contract code may write the output of various logical operations into the blockchain. The code may be used to create temporary data structures within a virtual machine or other computing platform. Data written to the blockchain may be public and / or encrypted and kept private. The temporary data used / generated by the smart contract is kept in memory by the execution environment provided and then deleted once the data needed for the blockchain is identified.

[0135] The smart contract executable code may include a code interpretation of the smart contract along with additional functionality. As described herein, the smart contract executable code may be program code deployed on a computation network that is executed and verified by a chain validator together during a consensus process. The smart contract executable code receives the hash and retrieves the hash associated with the data template created by using the previously stored function extractor from the blockchain. If the hash of the hash identifier and the hash created from the stored identifier template data match, the smart contract executable code sends an authorization key to the requested service. The smart contract executable code may write data associated with the cryptographic details to the blockchain.

[0136] FIG. 6C illustrates a blockchain configuration that stores blockchain transaction data, according to an exemplary embodiment. Referring to FIG. 6C, the exemplary configuration 660 provides a vehicle 662, a user device 664, and a server 666 that share information with a distributed ledger (i.e., blockchain) 668. The server may represent a service provider entity that queries a provider of vehicle service to share user profile rating information if a known established user profile is attempting to rent a vehicle with an established rating profile. The server 666 may receive and process data related to the service requirements of the vehicle. When a service event occurs, such as vehicle sensor data indicating a need for fuel / charging, maintenance service, etc., smart contracts may be used to invoke rules, thresholds, collection of sensor information, etc. that may be used to invoke a vehicle service event. Blockchain transaction data 670 is stored for each transaction, such as access events, later updates to the vehicle's service status, event updates, etc. The transaction may include the parties involved, requirements (e.g., age 18, eligible candidate for service, valid driver's license, etc.), coverage level, distance traveled during the event, registered recipients authorized to access the event and provide vehicle service, rights / permissions, sensor data retrieved during the vehicle event operation to record details of the upcoming service event and identify the vehicle's condition status, and thresholds used to make a determination as to whether the service event is completed and whether the vehicle's condition status has changed.

[0137] FIG. 6D illustrates the contents of a blockchain block 680 and block structures 682A-682n that may be added to a distributed ledger, according to an exemplary embodiment. With reference to FIG. 6D, a client (not shown) may submit entries to a blockchain node to perform activities on the blockchain. As an example, a client may be an application that acts on behalf of a requester, such as a device, person, or entity, to propose entries to the blockchain. Multiple blockchain peers (e.g., blockchain nodes) may maintain a copy of the blockchain network state and the distributed ledger. Various types of blockchain nodes / peers may exist in a blockchain network, including endorsing peers that simulate and endorse entries proposed by clients, and committing peers that verify the endorsements, validate the entries, and commit the entries to the distributed ledger. In this example, a blockchain node may perform the role of an endorser node, a committer node, or both.

[0138] The system includes a blockchain that stores immutably ordered records in blocks, and a state database (current world state) that maintains the current state of the blockchain. One distributed ledger may exist per channel, and each peer maintains its own copy of the distributed ledger for each channel of which it is a member. The blockchain is an entry log structured as hash-linked blocks, with each block containing a sequence of N entries. Blocks may include various components, such as those shown in FIG. 6D. Block combinations may be generated by appending a hash of the previous block's header into the block header of the current block. In this way, all entries on the blockchain are ordered and cryptographically combined to prevent tampering with the blockchain data without breaking the hash links. Furthermore, because they are combined, the latest block in the blockchain represents all entries that occurred before it. The blockchain may be stored on a peer file system (local or attached storage) that supports append-only blockchain workloads.

[0139] The current state of the blockchain and distributed ledger may be stored in a state database, where the current state data represents the latest values ​​for all keys ever contained in the blockchain's on-chain entry log. Invocations of smart contract executable code execute entries against the current state in the state database. To make these smart contract executable code interactions highly efficient, the latest values ​​of all keys are stored in the state database. The state database may contain an indexed view into the blockchain's entry log, and therefore may be regenerated off-chain at any time. The state database may be automatically restored (or generated if necessary) at peer startup, before entries are accepted.

[0140] The endorsement node receives entries from clients and endorses the entries based on the simulated results. The endorsement node holds a smart contract that simulates the entry proposal. When the endorsement node endorses an entry, it creates an entry endorsement, which is a signed response from the endorsement node to the client application indicating the endorsement of the simulated entry. The manner in which the entry is endorsed depends on the endorsement policy, which may be specified in the smart contract executable code. An example of an endorsement policy is that "a majority of the endorsement peers must endorse the entry." Different channels may have different endorsement policies. The endorsed entry is forwarded by the client application to the ordering service.

[0141] The ordering service accepts approved entries, orders the entries into a block, and distributes the block to the committing peers. For example, the ordering service may start a new block when a threshold of entries is reached, a timer times out, or another condition. In this example, a blockchain node is a committing peer that receives data block 682A for storage on the blockchain. The ordering service may consist of a cluster of orderers. The ordering service does not process entries, smart contracts, or maintain a shared ledger. Rather, the ordering service may accept approved entries and specify the order in which those entries are committed to the distributed ledger. The architecture of a blockchain network may be designed such that a specific implementation of "ordering" (e.g., Solo, Kafka, BFT, etc.) is a pluggable component.

[0142] Entries are written to the distributed ledger in a consistent order. The order of entries is established to ensure that updates to the state database are valid when the entries are committed to the network. Unlike cryptocurrency blockchain systems (e.g., Bitcoin) where ordering occurs by solving cryptographic puzzles or through mining, in this example the parties to the distributed ledger may choose the ordering mechanism that best suits their network.

[0143] With reference to FIG. 6D, a block 682A (also referred to as a data block) stored on a blockchain and / or distributed ledger may include multiple data segments such as block headers 684A-684n, transaction specific data 686A-686n, and block metadata 688A-688n. It should be understood that the various blocks and their contents depicted, such as block 682A and its contents, are for illustrative purposes only and are not meant to limit the scope of the exemplary embodiments. In some cases, both the block header 684A and the block metadata 688A may be smaller than the transaction specific data 686A that stores entry data, although this is not a requirement. The block 682A may store information for transactions of N entries (e.g., 100, 500, 1000, 2000, 3000, etc.) in block data 690A-690n. The block 682A may also include a link to a previous block (e.g., on the blockchain) in the block header 684A. In particular, the block header 684A may include a hash of the header of the previous block. The block header 684A may also include a unique block number, a hash of the block data 690A of the current block 682A, and the like. The block numbers of the blocks 682A are unique and may be assigned in increasing / consecutive order starting from zero. The first block in a blockchain may be referred to as a genesis block, which contains information about the blockchain, its members, the data stored therein, etc.

[0144] Block data 690A may store entry information for each entry recorded in the block. For example, the entry data may include one or more of the following: entry type, version, timestamp, distributed ledger channel ID, entry ID, epoch, payload visibility, smart contract executable path (deployment transmission), smart contract executable name, smart contract executable version, inputs (smart contract executable and functions), client (creator) identification such as public key and certificate, client signature, endorser identity, endorser signature, proposal hash, smart contract executable event, response status, namespace, read set (e.g., list of keys and versions read by the entry), write set (e.g., list of keys and values), start key, end key, list of keys, Merkle tree query summary, and the like. Entry data may be stored for each of the N entries.

[0145] In some embodiments, the block data 690A may also store transaction-specific data 686A that adds additional information to the hash link chain of the block in the blockchain. Thus, the data 686A may be stored in an immutable log of blocks on the distributed ledger. Some of the advantages of storing such data 686A are reflected in various embodiments disclosed and depicted herein. The block metadata 688A may store multiple fields of metadata (e.g., as a byte array, etc.). The metadata fields may include a signature at the creation of the block, a reference to the last constituent block, an entry filter that identifies valid and invalid entries in the block, a last surviving offset of the ordering service that orders the block, and the like. The signature, last constituent block, and orderer metadata may be added by the ordering service. Meanwhile, the committer of the block (e.g., a blockchain node) may add valid / invalid information based on endorsement policies, validation of the read / write set, and the like. The entry filter may include a byte array of a size equal to the number of entries in the block data 610A and a verification code that identifies whether the entry was valid / invalid.

[0146] The other blocks 682B-682n in the blockchain also have headers, files, and values. However, unlike the first block 682A, each of the headers 684A-684n in the other blocks includes a hash value of the immediately preceding block. The hash value of the immediately preceding block may simply be a hash of the header of the previous block, or may be a hash value of the entire previous block. By including the hash value of the previous block in each of the remaining blocks, tracking may be performed block by block from the Nth block back to the genesis block (and associated original files), as shown by arrow 692, to establish an auditable and immutable chain of custody.

[0147] The above embodiments may be implemented in hardware, in a computer program executed by a processor, in firmware, or in a combination of the above. The computer program may be embodied on a computer-readable medium, such as a storage medium. For example, the computer program may be present in a random access memory ("RAM"), a flash memory, a read-only memory ("ROM"), an erasable programmable read-only memory ("EPROM"), an electrically erasable programmable read-only memory ("EEPROM"), a register, a hard disk, a removable disk, a compact disk read-only memory ("CD-ROM"), or any other form of storage medium known in the art.

[0148] A suitable storage medium may be coupled to the processor such that the processor can read information from, and write information to, the storage medium. Alternatively, the storage medium may be integrated into the processor. The processor and the storage medium may reside in an application specific integrated circuit ("ASIC"). Alternatively, the processor and the storage medium may reside as discrete components. For example, FIG. 7 illustrates an exemplary computer system architecture 700 that may represent or be integrated into any of the components described above.

[0149] 7 is not intended to suggest any limitation as to the scope of use or functionality of the embodiments of the present application described herein, although computing node 700 may still implement and / or perform any of the functionality described herein above.

[0150] Within computing node 700 is a computer system / server 702 that is capable of operating in many other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and / or configurations that may be suitable for use with computer system / server 702 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, distributed cloud computing environments that include any of the above systems or devices, and the like.

[0151] The computer system / server 702 may be described in the general context of computer system executable instructions, such as program modules, executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. The computer system / server 702 may be executed in a distributed cloud computing environment where tasks are performed by remote processing devices that are coupled through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media, including memory storage devices.

[0152] 7, a computer system / server 702 in a cloud computing node 700 is shown in the form of a general-purpose computing device. Components of the computer system / server 702 may include, but are not limited to, one or more processors or processing units 704, a system memory 706, and a bus connecting various system components including the system memory 706 to the processor 704.

[0153] The bus may represent any one or more of several types of bus structures including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures, including, by way of example and without limitation, an Industry Standard Architecture (ISA) bus, a MicroChannel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus.

[0154] Computer system / server 702 typically includes a variety of computer system readable media. Such media may be any available media accessible by computer system / server 702, including both volatile and nonvolatile media, removable and non-removable media. In one embodiment, system memory 706 implements the flow diagrams of other figures. System memory 706 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 708 and / or cache memory 710. Computer system / server 702 may further include other removable / non-removable volatile / non-volatile computer system storage media. By way of example only, memory 706 may be provided to read from and write to a non-removable, non-volatile magnetic medium (not shown, typically referred to as a "hard drive"). Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from and writing to a removable, non-volatile optical disk, such as a CD-ROM, DVD-ROM, or other optical media, may be provided. In such a case, each may be connected to the bus by one or more data media interfaces. As further depicted and described below, memory 706 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of various embodiments of the present application.

[0155] A program / utility having a set of program modules (at least one) may be stored in memory 706, as well as, by way of example and not limitation, an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data, or any combination thereof, may include an implementation of a network environment. The program modules generally perform the functions and / or methods of the various embodiments of the present application described herein.

[0156] As will be appreciated by one of ordinary skill in the art, aspects of the present application may be embodied as a system, method, or computer program product. Accordingly, aspects of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, microcode, etc.), or an embodiment combining software and hardware aspects, all of which may be generally referred to herein as a "circuit," "module," or "system." Furthermore, aspects of the present application may take the form of a computer program product embodied in one or more computer-readable medium(s) having computer-readable program code embodied thereon.

[0157] The computer system / server 702 may also communicate with one or more external devices via I / O devices 712 (such as I / O adapters), which may include a keyboard, pointing device, display, voice recognition module, etc., one or more devices that allow a user to interact with the computer system / server 702, and / or any device (e.g., network card, modem, etc.) that allows the computer system / server 702 to communicate with one or more other computing devices. Such communication may occur through an I / O interface of the device 712. Furthermore, the computer system / server 702 may communicate with one or more networks, such as a local area network (LAN), a general wide network (WAN), and / or a public network (e.g., the Internet), via a network adapter. As depicted, the device 712 communicates with other components of the computer system / server 702 via a bus. Although not shown, it should be understood that other hardware and / or software components may be used with the computer system / server 702. Examples include, but are not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archiving storage systems.

[0158] Although at least one preferred embodiment of the system, method, and non-transitory computer-readable medium has been illustrated in the accompanying drawings and described in the detailed description above, it will be understood that the present application is not limited to the disclosed embodiments, but is capable of many rearrangements, modifications, and substitutions as described and defined by the following claims. For example, the capabilities of the various illustrated systems may be performed by one or more of the modules or components described herein, or in a distributed architecture, and may include a transmitter, a receiver, or a pair thereof. For example, all or a portion of the functions performed by the individual modules may be performed by one or more of these modules. Furthermore, the functions described herein may be performed at different times and in conjunction with different events internal or external to the modules or components. Also, information transmitted between the various modules may be transmitted between the modules via at least one of a data network, the Internet, a voice network, an Internet Protocol network, a wireless device, a wired device, and / or multiple protocols. Also, messages transmitted or received by any of the modules may be transmitted or received directly and / or via one or more of the other modules.

[0159] Those skilled in the art will appreciate that the "system" may be embodied as a personal computer, a server, a console, a personal digital assistant (PDA), a mobile phone, a tablet computing device, a smart phone, or any other suitable computing device or combination of devices. Presenting the above-described functions as being performed by the "system" is not intended to limit the scope of the present application in any manner, but rather to provide one example of many embodiments. Indeed, the methods, systems, and apparatus disclosed herein may be implemented in local and distributed fashions consistent with computing technology.

[0160] It should be noted that some of the features of the systems described herein have been presented as modules to more specifically emphasize their implementation independence. For example, a module may be implemented as a hardware circuit comprising custom very large scale integrated (VLSI) circuits or gate arrays, or off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A module may also be implemented within programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices, graphics processing units, or the like.

[0161] Modules may also be implemented at least partially in software for execution by various types of processors. For example, an identified unit of executable code may comprise one or more physical or logical blocks of computer instructions, which may be organized as, for example, an object, procedure, or function. Nevertheless, executable files of an identified module need not be physically located together, but may comprise different instructions stored in different locations that, when logically combined, comprise the module and achieve the specified purpose for the module. Furthermore, modules may be stored on a computer-readable medium, which may be, for example, a hard disk drive, a flash device, a random access memory (RAM), a tape, or any other such medium used to store data.

[0162] Indeed, a module of executable code may be a single instruction or many instructions, and may even be distributed among several different code segments, among different programs, and across several memory devices. Similarly, computational data may be identified and illustrated herein in modules, and may be embodied in any suitable form and organized within any suitable type of data structure. Computational data may be collected as a single data set or distributed in different locations, including different storage devices, and may exist at least in part as merely electronic signals over a system or network.

[0163] It will be readily understood that the components of the present application, as generally described and illustrated in the figures herein, could be arranged and designed in a wide variety of different configurations, and thus the detailed description of the embodiments is not intended to limit the scope of the present application as claimed, but is merely representative of selected embodiments of the present application.

[0164] Those skilled in the art will readily appreciate that the above may be performed in a different order of steps and / or with hardware elements in different configurations than those disclosed. Thus, while the present application has been described based on these preferred embodiments, certain modifications, variations, and alternative constructions will be apparent to those skilled in the art.

[0165] While preferred embodiments of the present application have been described, it should be understood that the described embodiments are merely exemplary, and that the scope of the present application should be determined solely by the appended claims when considering the full range of equivalents and modifications to the appended claims (e.g., protocols, hardware devices, software platforms, etc.).

Claims

1. Capturing image data of an occupant of a vehicle from one or more sensors mounted on the vehicle while the vehicle is operating; determining a position of the occupant within a seat of the vehicle and a current operating environment of the vehicle based on the captured image data; determining a likelihood that the vehicle will be involved in a collision based on a current operating environment of the vehicle; modifying the position of the occupant in the seat of the vehicle by modifying the position of the seat based on the determined position of the occupant in the seat of the vehicle and the determined likelihood that the vehicle will be involved in a collision; A method comprising:

2. The method of claim 1, further comprising transmitting a predicted state of the occupant based on the position of the occupant to an emergency services node based on the predicted result of the collision.

3. The method of claim 1, wherein the determination of the likelihood is based on whether the current driving environment is an unfamiliar environment for one or more of the vehicle and the occupants.

4. The method of claim 1, wherein the determination of the likelihood is based on a comparison of other means of transportation in similar operating environments with different occupants in similar positions.

5. The method of claim 1, further comprising changing the position of the occupant by the vehicle to minimize injury.

6. The method of claim 1 , further comprising modifying a function of the vehicle in response to the severity of the possibility.

7. acquiring health data by a device associated with the occupant; including the health data in the transmitted information; The method of claim 2 further comprising:

8. 1. A system comprising a processor, the processor comprising: capturing image data of an occupant of the vehicle from one or more sensors mounted on the vehicle while the vehicle is operating; determining a position of the occupant within a seat of the vehicle and a current operating environment of the vehicle based on the captured image data; determining a likelihood that the vehicle will be involved in a collision based on the vehicle's current operating environment; modifying the position of the occupant in the seat of the vehicle by modifying the position of the seat based on the determined position of the occupant in the seat of the vehicle and the determined likelihood that the vehicle will be involved in a collision. The system is configured as follows:

9. The system described in claim 8, wherein the processor is further configured to transmit a predicted state of the occupant based on the position of the occupant to an emergency services node based on the predicted result of the collision.

10. The system described in claim 8, wherein the determination of the likelihood is based on whether the current driving environment is an unfamiliar environment for one or more of the vehicle and the occupants.

11. The system described in claim 8, wherein the determination of the likelihood is based on a comparison of other means of transportation in similar operating environments with different occupants in similar positions.

12. The system of claim 8, wherein the processor is configured to change the position of the occupant by the vehicle to minimize injury.

13. The system described in claim 8, wherein the processor is further configured to modify the function of the vehicle in response to the severity of the possibility.

14. acquiring health data by a device associated with the occupant; including said health data in said transmitted information; The system of claim 9, comprising:

15. A non-transitory computer-readable medium comprising instructions that, when read by a processor, cause the processor to: capturing image data of an occupant of the vehicle from one or more sensors mounted on the vehicle while the vehicle is operating; determining a position of the occupant within a seat of the vehicle and a current operating environment of the vehicle based on the captured image data; determining a likelihood that the vehicle will be involved in a collision based on a current operating environment of the vehicle; modifying the position of the occupant in the seat of the vehicle by modifying the position of the seat based on the determined position of the occupant in the seat of the vehicle and the determined likelihood that the vehicle will be involved in a collision; A non-transitory computer-readable medium for causing a method to be performed, the method comprising: