US 12,112,189 B2
Computing architecture for vehicle hardware and feature virtualization
Frédéric Delahais, Clamart (FR); Jean-François Simon, Arnage (FR); Thomas Rayer, Clermont-Creans (FR); and Jan De Moortel, Kortrijk (BE)
Assigned to IRIDER, Le Mans (FR)
Appl. No. 17/625,641
Filed by iRider, Le Mans (FR)
PCT Filed Jul. 10, 2020, PCT No. PCT/IB2020/056526
§ 371(c)(1), (2) Date Jan. 7, 2022,
PCT Pub. No. WO2021/005576, PCT Pub. Date Jan. 14, 2021.
Claims priority of provisional application 62/872,626, filed on Jul. 10, 2019.
Prior Publication US 2022/0365804 A1, Nov. 17, 2022
Int. Cl. G06F 9/44 (2018.01); G06F 9/455 (2018.01); G06F 9/54 (2006.01)
CPC G06F 9/45558 (2013.01) [G06F 9/541 (2013.01); G06F 2009/4557 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A computer-implemented method of controlling hardware components of a mobile vehicle, each hardware component configured to perform a vehicle function, the method comprising the following acts performed in response to the execution of instructions stored in non-transitory computer readable media by at least one processor, the acts comprising:
providing an application layer comprising a plurality of virtual functional components, each virtual functional component representing a virtual function comprising one or more of the vehicle functions;
providing a software virtualization layer including a command registry including virtual commands for vehicle functions that are available to each virtual functional component to perform their corresponding virtual function and a data registry including state information, the state information including a current state of each of the virtual functional components and each of the physical nodes;
providing a hardware virtualization layer comprising mapping logic that maps virtual commands to hardware commands;
providing a hardware component layer comprising a plurality of physical nodes, each physical node being a virtual representation of a corresponding hardware component;
calling a virtual command from the command registry using a virtual functional component to perform a corresponding vehicle function, which is configured to at least partially complete the virtual function represented by the virtual functional component;
communicating the virtual command from the software virtualization layer to the hardware virtualization layer;
selecting one of the physical nodes corresponding to the received virtual command using the mapping logic using the hardware virtualization layer;
translating the received virtual command to a hardware command using the mapping logic using the hardware virtualization layer including modifying a sequence of one or more instructions of the received virtual command to a format that is suitable for execution by the one or more hardware components;
communicating the hardware command to a selected hardware component corresponding to the selected physical node using the hardware virtualization layer;
performing the vehicle function corresponding to the hardware command using the selected hardware component;
exposing the data registry to the plurality of virtual functional components;
outputting data elements from one or more of the hardware components, each data element representing a value of a parameter of the mobile vehicle;
communicating the data elements from the one or more hardware components to their corresponding physical nodes;
communicating the data elements received by the physical nodes to the software virtualization layer using the hardware virtualization layer; and
updating the state information based on the data elements received from the hardware virtualization layer using the software virtualization layer.