INFORMATION PROCESSING DEVICE, VEHICLE, INFORMATION PROCESSING METHOD, RECORDING MEDIUM RECORDED WITH INFORMATION PROCESSING PROGRAM
20230221979 ยท 2023-07-13
Inventors
Cpc classification
B60R16/0231
PERFORMING OPERATIONS; TRANSPORTING
G06F2009/45579
PHYSICS
International classification
G06F9/455
PHYSICS
Abstract
An information processing device including a storage section and a control section. The storage section is configured to store startup condition information determined for each of plural virtual machines and including a startup condition related to a confirmation result of processing status of a processing execution section that performs processing related to the virtual machine or a startup condition related to a startup status of another virtual machine. The control section is configured to startup the virtual machine that has satisfied the startup condition based on the startup condition information.
Claims
1. An information processing device comprising: memory configured to store startup condition information determined for each virtual machine of a plurality of virtual machines, and including a startup condition related to a confirmation result of processing status of a processing execution section that performs processing related to the virtual machine or including a startup condition related to a startup status of another virtual machine; and a processor coupled to the memory, wherein the processor is configured to startup a virtual machine that has satisfied the startup condition, based on the startup condition information.
2. The information processing device of claim 1, wherein: the startup condition information determined for each virtual machine of the plurality of virtual machines includes at least one startup condition selected from the group consisting of a startup condition related to external interrupt, the startup condition related to the confirmation result of the processing status, and the startup condition related to the startup status of the other virtual machine; and the processor is configured to start up a virtual machine that has satisfied all of the at least one startup condition.
3. The information processing device of claim 1, wherein the other virtual machine is a virtual machine that manages the plurality of virtual machines.
4. The information processing device of claim 1, wherein an update of the startup condition information stored in the memory is performed prior to processing of the processing execution section.
5. A vehicle comprising the information processing device of claim 1.
6. An information processing method comprising: a computer, which includes memory configured to store startup condition information determined for each virtual machine of a plurality of virtual machines, and including a startup condition related to a confirmation result of processing status of a processing execution section that performs processing related to the virtual machine or including a startup condition related to a startup status of another virtual machine, starting up a virtual machine that has satisfied the startup condition, based on the startup condition information.
7. A non-transitory recording medium storing a program that is executable by a computer to perform processing wherein: the computer comprises memory configured to store startup condition information determined for each virtual machine of a plurality of virtual machines, and including a startup condition related to a confirmation result of processing status of a processing execution section that performs processing related to the virtual machine or including a startup condition related to a startup status of another virtual machine; and the processing comprises starting up a virtual machine that has satisfied the startup condition, based on the startup condition information.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0020] Exemplary embodiments of the present disclosure will be described in detail based on the following figures, wherein:
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
DETAILED DESCRIPTION
[0027] Detailed description follows regarding an example of an exemplary embodiment of the present disclosure, with reference to the drawings. A central ECU installed to a vehicle will be described as an example of an information processing device of the present exemplary embodiment.
[0028] The central ECU 12 according to the present exemplary embodiment is installed in a vehicle 10 and performs overall control of each ECU provided to the vehicle 10.
[0029] As illustrated in
[0030] The CPU 50 is a central processing unit that executes various programs and controls each section. Namely, the CPU 50 reads a program from the ROM 52 or the storage 56 and executes the program using the RAM 54 as workspace.
[0031] In the present exemplary embodiment, for example as illustrated in
[0032] The ROM 52 is stored with various programs and various data. The RAM 54 serves as workspace for temporarily storing programs and data.
[0033] The storage 56 is stored with various programs and various data. An information processing program 60 is stored in the storage 56 of the present exemplary embodiment.
[0034] The storage 56 is, for example, configured by a hard disk drive (HDD) or a solid state drive (SSD).
[0035] The input/output I/F 58 is an interface for performing communication with each of other ECUs (not illustrated in the drawings).
[0036]
[0037] In the present exemplary embodiment plural CPU cores 14 are virtualized and virtual machines (VM) 18 are generated as virtual machines by the hypervisor 16 that is software for virtualizing computers. In the present exemplary embodiment there are plural VMs 18 generated by the hypervisor 16. In the example illustrated in
[0038] The central ECU 12 is equipped with a processing execution section 20 to perform processing related to the VMs 18. The processing execution section 20 performs, for example, detection processing related to security of each of the VMs 18.
[0039] Conditions related to startup of VMs are often not set in a system employing a general purpose hypervisor. However, when a hypervisor is introduced into an onboard system including plural VMs, as in the present exemplary embodiment, various startup conditions are conceivable, such as various startup triggers and startup inter-dependency relationships between VMs. There is accordingly a need for a design of VM startup to match the various startup conditions.
[0040] Thus in the central ECU 12 according to the present exemplary embodiment, at least one startup condition is determined for each of the VMs 18 and selected from the group consisting of a startup condition related to external interrupt, a startup condition related to a confirmation result of processing status of the processing execution section 20, and a startup condition related to startup status of another VM 18, and the VM 18 is started up when the at least one startup condition has been satisfied.
[0041] Description follows regarding a functional configuration of the hypervisor 16.
[0042] The hypervisor 16 includes functions of a generation section 22, a storage section 24, and a control section 26 as illustrated in
[0043] The generation section 22 generates plural VMs 18 with virtualized CPU cores 14. In the present exemplary embodiment there are, as stated above, four VMs 18 generated: VM0 to VM3.
[0044] The storage section 24 is stored with startup condition information of a startup condition determined for each of the plural VMs 18.
[0045] The startup condition information includes at least one startup condition determined for each of the VMs 18 and selected from the group consisting of the startup condition related to external interrupt, the startup condition related to the confirmation result of the processing status of the processing execution section 20, and the startup condition related to the startup status of another of the VMs 18 (
[0046]
[0047] The startup condition related to external interrupt is, for example, a changed power state of the vehicle, such as the ignition switch (not illustrated in the drawings) being switched ON.
[0048] A startup condition related to the confirmation result of processing status of the processing execution section 20 is, for example, confirmation that detection processing related to security of a target VM 18 has been completed by the processing execution section 20. In the present exemplary embodiment the processing status of the processing execution section 20 is confirmed by the hypervisor 16 polling since an interruption is not able to be issued from the processing execution section 20.
[0049] The startup condition related to startup status of another VM 18 is, for example, that there was a notification of completion of initialization of a VM 18 having an inter-dependency relationship to the target VM 18. In the present exemplary embodiment, the other VMs 18 are not able to be initialized until startup of the VM0 that is the management VM managing the VMs 18 has completed. The other VMs 18 are accordingly determined to have as a dependency relationship a startup condition of a notification of initialization completion of the VM0 having been made.
[0050] When updating the startup condition information stored in the storage section 24, updating of the startup condition information is performed prior to detection processing by the processing execution section 20.
[0051] From out of the VMs 18, the control section 26 starts up the VMs 18 that have satisfied all of the respective determined startup conditions. More specifically, the control section 26 determines whether or not all of the determined startup conditions have been satisfied for each of the VMs 18 based on the startup condition information, and starts up the VMs 18 for which all the respective determined startup conditions have been satisfied.
[0052] Next, explanation follows regarding specific processing performed by the central ECU 12 according to the present exemplary embodiment configured as described above.
[0053] At step S100 the CPU 22 acts as the hypervisor 16 and sets a startup target VM 18 from out of the VMs 18 not yet started up.
[0054] At step S102 the CPU 22 acts as the hypervisor 16 to acquire the startup conditions for the startup target VM 18 from the startup condition information.
[0055] At step S104 the CPU 22 acts as the hypervisor 16 to determine whether or not all of the startup conditions acquired at step S102 have been satisfied. The CPU 22 transitions to step S106 in cases in which all of the startup conditions have been satisfied for the startup target VM 18. The CPU 22 transitions to step S108 in cases in which not all of the startup conditions have been satisfied for the startup target VM 18.
[0056] At step S106 the CPU 22 acts as the hypervisor 16 and executes startup of the startup target VM 18.
[0057] At step S108 the CPU 22 acts as the hypervisor 16 and determines whether or not there is a VM 18 that has not yet started up present. Processing returns to step S100 in cases in which there is a VM 18 that has not yet started up, and such a VM 18 is set as the startup target VM 18. The cycle of processing is, however, ended in cases in which there is no VM 18 that has not yet started up.
[0058] Performing such processing enables startup conditions determined for each of the virtual machines to be set according to the processing execution section and the other virtual machines, enabling the virtual machines to be started up with appropriate individual startup conditions. Moreover, a combination of at least one startup condition can be set for each of the virtual machines.
[0059] Moreover, a central ECU installed in a vehicle can set appropriate startup conditions for generating various VMs individually for the various VMs.
[0060] Note that although in the exemplary embodiment described above an example has been described of a case in which there are two CPU cores 14 provided, there is no limitation thereto. For example, an embodiment may be adopted in which there is a single CPU core 14 provided, and an embodiment may be adopted in which there are three or more CPU cores 14 provided.
[0061] Moreover, although an example has been described in the above exemplary embodiment in which the hypervisor 16 generates four VMs 18, there is no limitation thereto. For example, three or less VMs 18 may be generated or five or more VMs 18 may be generated.
[0062] Although in the exemplary embodiment described above an example has been described of a case in which the vehicle 10 is a vehicle driven by operating a gasoline engine as motive force there is no limitation thereto. The vehicle 10 may be an electric vehicle such as a hybrid electric vehicle (HEV), a plug-in hybrid electric vehicle (PHEV), a fuel cell electric vehicle (FCEV), or a battery electric vehicle (BEV).
[0063] Moreover, the various processing executed by the CPU 22 reading software (a program) in the above exemplary embodiment may be executed by various processors other than a CPU. Examples of such processors include programmable logic devices (PLD) that allow circuit configuration to be modified post-manufacture, such as a field-programmable gate array (FPGA), and dedicated electric circuits, these being processors including a circuit configuration custom-designed to execute specific processing, such as an application specific integrated circuit (ASIC). Moreover, the processing described above may be executed by any one of these various types of processors, or may be executed by a combination of two or more of the same type or different types of processors (such as plural FPGAs, or a combination of a CPU and an FPGA). The hardware structure of these various types of processors is more specifically an electric circuit combining circuit elements such as semiconductor elements.
[0064] Moreover, in the exemplary embodiment described above an embodiment has been described in which a program is pre-stored (installed) on a non-transitory computer readable recording medium. However, the information processing program 60 may, for example, be pre-stored on the ROM 52. However, there is no limitation thereto, and the information processing program 60 may be provided in a format recorded on a non-transitory recording medium such as a compact disc read only memory (CD-ROM), digital versatile disc read only memory (DVD-ROM), universal serial bus (USB) memory, or the like. The information processing program 60 may also be in a format downloadable from an external device over a network.
[0065] In the flow of processing described for the present exemplary embodiment, for example, redundant steps may be omitted, new steps may be added, and the processing sequence may be swapped around within a range not departing from the spirit of the present disclosure.