WO2022196322A1 - 車載装置、情報処理方法、及びコンピュータプログラム - Google Patents

車載装置、情報処理方法、及びコンピュータプログラム Download PDF

Info

Publication number
WO2022196322A1
WO2022196322A1 PCT/JP2022/008263 JP2022008263W WO2022196322A1 WO 2022196322 A1 WO2022196322 A1 WO 2022196322A1 JP 2022008263 W JP2022008263 W JP 2022008263W WO 2022196322 A1 WO2022196322 A1 WO 2022196322A1
Authority
WO
WIPO (PCT)
Prior art keywords
vehicle
virtual
allocation information
management unit
vehicle state
Prior art date
Application number
PCT/JP2022/008263
Other languages
English (en)
French (fr)
Inventor
雅大 遠藤
Original Assignee
株式会社オートネットワーク技術研究所
住友電装株式会社
住友電気工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社オートネットワーク技術研究所, 住友電装株式会社, 住友電気工業株式会社 filed Critical 株式会社オートネットワーク技術研究所
Priority to CN202280020449.7A priority Critical patent/CN117015762A/zh
Priority to US18/550,159 priority patent/US20240220308A1/en
Publication of WO2022196322A1 publication Critical patent/WO2022196322A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Definitions

  • the present disclosure relates to an in-vehicle device, an information processing method, and a computer program.
  • This application claims priority based on Japanese application No. 2021-045022 filed on March 18, 2021, and incorporates all the descriptions described in the Japanese application.
  • the in-vehicle device of Patent Document 1 includes a CPU (Central Processing Unit), for example, a single-core CPU having one core or a multi-core CPU having a plurality of cores. A plurality of program systems run on the CPU.
  • the in-vehicle device described above is equipped with a hypervisor as a component of functions realized by executing a program.
  • the in-vehicle device described above creates a plurality of virtual devices on the CPU by the hypervisor, operates them in parallel, and operates an OS (Operation System) on the created virtual devices.
  • OS Operating System
  • An in-vehicle device is an in-vehicle device that is mounted in a vehicle and generates a plurality of virtual devices that serve as operating environments for a plurality of programs, and includes a management unit that manages the plurality of virtual devices, The management unit identifies a vehicle state indicating the state of the vehicle, and selects one of a plurality of pieces of allocation information for allocating the virtual device to the own device based on the identified vehicle state. is determined, and the determined allocation information is applied to the virtual device.
  • FIG. 1 is a schematic diagram illustrating the configuration of an in-vehicle system according to Embodiment 1;
  • FIG. 2 is a block diagram illustrating the physical configuration of an in-vehicle ECU;
  • FIG. It is a block diagram which illustrates the logical structure of vehicle-mounted ECU.
  • 4 is a conceptual diagram illustrating contents of an allocation information table;
  • FIG. 4 is an explanatory diagram showing an example of identifying a vehicle state and switching allocation information; If the allocation information is No. 1 from the allocation information of No. 2 is an explanatory diagram showing virtual ECUs assigned to the first arithmetic device, the second arithmetic device, and the third arithmetic device when switching to allocation information No. 2; FIG. If the allocation information is No.
  • FIG. 11 is an explanatory diagram showing virtual ECUs assigned to the first arithmetic unit when switching to N+1 assignment information; 6 is a flowchart illustrating processing related to allocation of virtual ECUs performed by a management unit; FIG. 11 is an explanatory diagram showing an example of identifying a vehicle state and switching allocation information according to the second embodiment; 10 is a flowchart illustrating processing related to allocation of virtual ECUs performed by a management unit according to the second embodiment;
  • the present disclosure has been made in view of such circumstances, and aims to provide an in-vehicle device or the like that can appropriately allocate virtual devices according to the state of the vehicle.
  • An in-vehicle device is an in-vehicle device that is installed in a vehicle and generates a plurality of virtual devices that serve as operating environments for a plurality of programs, and a management unit that manages the plurality of virtual devices. and the management unit identifies a vehicle state indicating the state of the vehicle, and selects one of a plurality of pieces of allocation information for allocating the virtual device to the own device based on the identified vehicle state. Determining the allocation information and applying the determined allocation information to the virtual device.
  • the in-vehicle device includes a control unit that executes a plurality of programs.
  • a plurality of virtual devices are generated by the controller starting the virtualization operating system.
  • a program is executed on the virtual device.
  • the control unit also functions as a management unit that manages multiple virtual devices.
  • the in-vehicle device stores a plurality of pieces of allocation information for the management unit to allocate virtual devices to the in-vehicle device.
  • the management unit identifies the vehicle state and determines one of the plurality of pieces of allocation information based on the identified vehicle state.
  • the management unit applies the determined allocation information to the virtual device. In other words, the management unit uses the determined allocation information to allocate the virtual device to the in-vehicle device.
  • the management unit When the allocation information determined by the management unit is applied to the virtual device, if the current allocation information, which is the allocation information applied at the present time, and the next-time allocation information, which is the determined allocation information, are the same, the determined Application of this allocation information to a virtual device will maintain the current allocation information. If the current allocation information, which is the allocation information applied at the present time, and the next-time allocation information, which is the determined allocation information, are different, the management unit applies the next-time allocation information to the allocation of the virtual device. The allocation information to be used is switched from the current allocation information to the next time allocation information. The management unit can appropriately switch the allocation of the virtual device to the in-vehicle device according to the vehicle state. In other words, the management unit can appropriately allocate the virtual device to the in-vehicle device according to the vehicle state.
  • the management unit acquires specific information for specifying the vehicle state from the virtual device, and specifies the vehicle state based on the acquired specific information. do.
  • the management unit acquires specific information for specifying the vehicle state from the virtual device.
  • the specific information includes, for example, detection results of in-vehicle equipment such as sensors mounted in the vehicle.
  • the management unit identifies the vehicle state based on the acquired specific information.
  • the management unit determines allocation information based on the specified vehicle state. Since the virtual device does not need to identify the vehicle state, less processing can be done by the virtual device.
  • the virtual device identifies the vehicle state
  • the management unit acquires the vehicle state identified by the virtual device from the virtual device.
  • the virtual device identifies the vehicle state and outputs the identified vehicle state to the management unit.
  • the management unit acquires the vehicle state output from the virtual device and determines allocation information based on the acquired vehicle state. Since the management unit acquires the vehicle state specified by the virtual device from the virtual device, the processing performed by the management unit to specify the vehicle state can be reduced.
  • the management unit identifies the vehicle state based on the hardware state of the device itself.
  • the management unit identifies the vehicle status based on the hardware status of the in-vehicle device.
  • the hardware status includes the hardware load, eg, the communication frequency of the in-vehicle device.
  • the management unit determines allocation information based on the specified vehicle state. Since there is no need for the virtual device to perform processing in identifying the vehicle state, the processing performed by the virtual device can be reduced.
  • the management unit specifies the vehicle state multiple times, and the same vehicle state continues for a predetermined number of times or more in the multiple specified vehicle states. If so, the allocation information is determined based on the same vehicle state.
  • the management unit identifies the vehicle state multiple times.
  • the management unit determines whether or not the same vehicle state continues for a predetermined number of times or more in the identified vehicle states.
  • the management unit determines allocation information based on the same vehicle state, and applies the determined allocation information to the virtual device.
  • the management unit allocates virtual devices using allocation information determined based on the same vehicle state that has continued for a predetermined number of times or more.
  • the management unit does not determine allocation information when the same vehicle state does not continue for a predetermined number of times.
  • the management unit allocates virtual devices using allocation information that has already been applied to virtual devices. Even if the frequency of vehicle state changes is high, the management unit can appropriately allocate virtual devices to in-vehicle devices.
  • the management unit identifies the vehicle state a plurality of times, and in the plurality of identified vehicle states, the number of times of the same vehicle state is a predetermined value. In the above cases, the allocation information is determined based on the same vehicle state.
  • the management unit identifies the vehicle state multiple times.
  • the management unit determines whether or not the number of times of the same vehicle state is equal to or greater than a predetermined value in the specified vehicle states.
  • the predetermined value is, for example, a value of 50% or more of multiple times.
  • the management unit determines allocation information based on the vehicle state in which the number of times of the same vehicle state is equal to or greater than the predetermined value, and transmits the determined allocation information to the virtual device. Apply.
  • the management unit allocates virtual devices using allocation information determined based on vehicle states in which the number of times of the same vehicle state is equal to or greater than a predetermined value among the vehicle states identified multiple times.
  • the management unit does not determine allocation information when the number of times of the same vehicle state is less than a predetermined value.
  • the management unit allocates virtual devices using allocation information that has already been applied to virtual devices. Even if the frequency of vehicle state changes is high, the management unit can appropriately allocate virtual devices to in-vehicle devices.
  • the management unit changes the type of the virtual device to be allocated by applying the allocation information.
  • the type of virtual device assigned to the in-vehicle device is changed by applying the assignment information by the management unit.
  • the management unit can allocate an appropriate type of virtual device to the in-vehicle device according to the vehicle state.
  • the management unit changes the number of virtual devices to be allocated by applying the allocation information.
  • the number of virtual devices allocated to the in-vehicle device is changed by applying the allocation information by the management unit.
  • the management unit can allocate an appropriate number of virtual devices to the in-vehicle device according to the vehicle state.
  • the management unit changes at least one time allocated to each of the virtual devices by applying the allocation information.
  • the management unit by applying the allocation information by the management unit, at least one of the times during which each virtual device is allocated to the in-vehicle device is changed.
  • the management unit can allocate the virtual device to the in-vehicle device for an appropriate time according to the vehicle state.
  • the management unit changes the cycle of allocation of the virtual devices by applying the allocation information.
  • the cycle of allocation of virtual devices to in-vehicle devices is changed by applying the allocation information by the management unit.
  • the management unit can allocate the virtual devices to the in-vehicle devices at appropriate intervals according to the state of the vehicle.
  • An information processing method is an information processing method performed by an in-vehicle device that is installed in a vehicle and generates a plurality of virtual devices that serve as operating environments for a plurality of programs, wherein the state of the vehicle is , determining one of a plurality of pieces of allocation information for allocating the virtual device to the in-vehicle device based on the specified vehicle state, determining the determined allocation Apply information to the virtual device.
  • a computer program is a computer program that causes a computer that is installed in a vehicle and that generates a plurality of virtual devices that serve as operating environments for a plurality of programs to execute processing, wherein: and determining any one of a plurality of pieces of allocation information for allocating the virtual device to the computer based on the identified vehicle state, and determining the allocation information to the virtual device.
  • the computer can function as an in-vehicle device of one aspect of the present disclosure.
  • FIG. 1 is a schematic diagram illustrating the configuration of an in-vehicle system S according to the first embodiment.
  • the in-vehicle system S includes a plurality of in-vehicle ECUs 2 mounted on the vehicle C. As shown in FIG.
  • An in-vehicle device 3 is connected to the in-vehicle ECU 2 .
  • the plurality of in-vehicle ECUs 2 includes an integrated in-vehicle ECU 2 (integrated ECU) that controls the entire vehicle C, and an individual in-vehicle ECU 2 that is communicably connected to the integrated in-vehicle ECU 2 and directly connected to the in-vehicle device 3.
  • the ECU 2 (individual ECU) may be included.
  • the integrated in-vehicle ECU 2 may be communicably connected to an external server (not shown) connected to an external network such as the Internet via an external communication device (not shown).
  • the in-vehicle ECU 2 corresponds to an in-vehicle device.
  • the integrated vehicle ECU 2 and a plurality of individual vehicle ECUs 2 are communicably connected by the vehicle network 4 forming a star-shaped network topology.
  • the integrated in-vehicle ECU 2 is provided at the center of a star-shaped network topology.
  • the network topology in the in-vehicle system S is not limited to the above examples.
  • the in-vehicle system S may have a configuration in which adjacent individual in-vehicle ECUs 2 are connected to form a loop-shaped network topology, enabling two-way communication and achieving redundancy.
  • Individual vehicle-mounted ECUs 2 are arranged in each area of vehicle C and connected to a plurality of vehicle-mounted devices 3 .
  • the individual vehicle-mounted ECU 2 transmits and receives signals or data to and from the vehicle-mounted device 3 to which it is connected.
  • separate vehicle-mounted ECU2 communicates with comprehensive vehicle-mounted ECU2.
  • the individual in-vehicle ECU 2 is an in-vehicle relay device such as a gateway or ether switch that relays communication between a plurality of in-vehicle devices 3 connected to the individual in-vehicle ECU 2, or communication between the in-vehicle device 3 and another in-vehicle ECU 2.
  • the individual vehicle-mounted ECU 2 may also function as a power distribution device that distributes and relays power output from a power storage device (not shown) and supplies the power to the vehicle-mounted device 3 connected to its own ECU.
  • the in-vehicle device 3 includes, for example, actuators 30 such as door opening/closing devices and motor devices, and various sensors 31 such as LiDAR (Light Detection and Ranging), light sensors, CMOS cameras, and infrared sensors.
  • actuators 30 such as door opening/closing devices and motor devices
  • sensors 31 such as LiDAR (Light Detection and Ranging), light sensors, CMOS cameras, and infrared sensors.
  • the in-vehicle device 3 is not limited to the above example, and may be a switch such as a door SW (switch) and a lamp SW, or may be a lamp.
  • the integrated in-vehicle ECU 2 is, for example, a central control unit such as a vehicle computer.
  • the integrated vehicle-mounted ECU 2 generates and outputs control signals to individual vehicle-mounted devices 3 based on data from the vehicle-mounted devices 3 relayed via other vehicle-mounted ECUs 2 such as individual vehicle-mounted ECUs 2 .
  • the integrated in-vehicle ECU 2 generates a control signal for controlling the actuator 30, which is the target of the request signal, based on information or data such as a request signal output from another in-vehicle ECU 2, and outputs the generated control signal. It outputs to other in-vehicle ECU2.
  • the in-vehicle system S is configured by the integrated in-vehicle ECU 2 and the individual in-vehicle ECU 2, but the in-vehicle system S is not limited to the configuration of the integrated in-vehicle ECU 2 and the individual in-vehicle ECU 2.
  • the in-vehicle system S may be composed of a plurality of in-vehicle ECUs 2 connected peer-to-peer by a relay device such as a CAN (Controller Area Network) gateway or Ethernet switch.
  • FIG. 2 is a block diagram illustrating the physical configuration of the in-vehicle ECU 2.
  • the in-vehicle ECU 2 includes a control section 20 , a storage section 21 and an in-vehicle communication section 22 .
  • the control unit 20 is configured by an arithmetic processing device such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit).
  • the control unit 20 reads out and executes a control program P and data stored in advance in the storage unit 21, thereby performing various control processing, arithmetic processing, and the like.
  • the control unit 20 includes, for example, a single-core single CPU, a single-core multi-CPU, a multi-core single CPU, and a multi-core multi-CPU.
  • the control unit 20 is not limited to a software processing unit that performs software processing such as a CPU, but includes a hardware processing unit that performs various control processing and arithmetic processing by hardware processing such as FPGA, ASIC, or SOC.
  • the control unit 20 includes an arithmetic device 200 configured by, for example, one core of a CPU. In this embodiment, an example in which the control unit 20 is a quad-core CPU will be described. Since the control unit 20 is a quad-core, it has four cores.
  • the control unit 20 includes a first arithmetic unit 201 configured with a first core, a second arithmetic unit 202 configured with a second core, a third arithmetic unit 203 configured with a third core, It includes four processing units 200 with a fourth processing unit 204 configured by a fourth core. Note that the number of arithmetic units 200 is not limited to four.
  • the storage unit 21 is composed of a volatile memory element such as RAM (Random Access Memory) or a non-volatile memory element such as ROM (Read Only Memory), EEPROM (Electrically Erasable Programmable ROM), or flash memory.
  • the storage unit 21 may be configured by a combination of storage devices such as the above volatile memory elements and nonvolatile memory elements.
  • the storage unit 21 stores in advance the control program P and data to be referred to during processing.
  • the control program P includes, for example, a plurality of programs such as a program for controlling various vehicle-mounted devices 3, or a program for performing target recognition for automated driving based on output data from a LiDAR or CMOS camera. These programs are also called applications.
  • storage part 21 of vehicle-mounted ECU2 is memorize
  • the storage unit 21 stores an allocation information table 210, which will be described later.
  • the control program P stored in the storage unit 21 may be the control program P read from the recording medium A readable by the in-vehicle ECU 2 .
  • the control program P may be downloaded from an external computer (not shown) connected to a communication network (not shown) and stored in the storage unit 21 .
  • the control program P corresponds to a computer program.
  • the in-vehicle communication unit 22 is, for example, an input/output interface using a CAN (Controller Area Network) or Ethernet (Ethernet/registered trademark) communication protocol. Communicate with other in-vehicle ECUs 2 that are installed.
  • CAN Controller Area Network
  • Ethernet Ethernet/registered trademark
  • FIG. 3 is a block diagram illustrating the logical configuration of the in-vehicle ECU 2. As shown in FIG. In the block diagram of FIG. 3, the hardware layer (physical base) by the control unit 20 etc. is the lowest layer, and the program executed by the virtual ECU 5 and the software layer by the virtual ECU management program etc. are the uppermost layers. is exemplified.
  • the storage unit 21 of the in-vehicle ECU 2 stores, for example, a virtualization operating system such as Hypervisor, VMware, or Xen.
  • the control part 20 of vehicle-mounted ECU2 can construct
  • six virtual ECUs 5 including a first virtual ECU 51, a second virtual ECU 52, a third virtual ECU 53, a fourth virtual ECU 54, a fifth virtual ECU 55, and a sixth virtual ECU 56 are constructed.
  • a program for controlling various vehicle-mounted devices 3 is executed using one of the plurality of virtual ECUs 5 as an operating environment. That is, these programs are executed on one of the virtual ECUs 5 .
  • the virtual ECU 5 executes the program, single or multiple tasks are generated according to the processing contents of the program. A more subdivided or partitioned unit of processing is executed by the task.
  • the virtualization method is a hypervisor method in which hardware resources such as the control unit 20 are accessed directly by the virtualization operating system.
  • the virtualization method may be a host OS method in which an operating system such as Linux (registered trademark) intervenes between the virtualized operating system and hardware resources.
  • the virtualization method may use a container-based virtualization operating system.
  • the in-vehicle ECU 2 activated using the virtualized operating system can construct a plurality of virtual ECUs 5 using the functions of the virtualized operating system.
  • Hardware resources such as the control part 20 and the memory
  • the virtual ECU 5 includes a virtual control unit (not shown) assigned to the control unit 20 , a virtual storage unit (not shown) assigned to the storage unit 21 , and a virtual in-vehicle communication unit (not shown) assigned to the in-vehicle communication unit 22 .
  • the virtual controllers 20 are time-divided and assigned periodically.
  • the virtual storage unit is allocated by dividing the storage unit 21 into areas.
  • the virtual ECU 5 corresponds to a virtual device.
  • a guest OS such as Ubuntu (registered trademark) is stored in each virtual storage unit of each virtual ECU 5, and each virtual ECU 5 starts up the guest OS and executes a program on the guest OS.
  • the guest OS may be a different kind of OS depending on each virtual ECU 5 .
  • the substance of the virtual storage unit is the storage area of the storage unit 21 assigned to each of the virtual ECUs 5, so it goes without saying that the guest OS is also stored in the storage unit 21 in the same manner as the virtualized operating system. .
  • a guest OS may be eliminated, a container may be generated on the virtualized operating system, and a program may be executed on the container. In this case, the container corresponds to the virtual ECU5.
  • a plurality of virtual environments including a plurality of virtual ECUs 5 are constructed in the control unit 20 of the in-vehicle ECU 2 activated using the virtualized operating system.
  • a first virtual environment functioning as a plurality of virtual ECUs 5 and a second virtual environment for executing a virtual ECU management program for managing all virtual ECUs 5 are constructed.
  • the control unit 20 functions as a control panel of the virtualized operating system by executing the virtual ECU management program in the second virtual environment.
  • the control unit 20 functions as the management unit 1 that manages the plurality of virtual ECUs 5 by executing the virtual ECU management program in the second virtual environment.
  • the virtual operating system itself may include the functions of the management section 1 .
  • the fourth arithmetic unit 204 functions as the management unit 1 by executing a virtual ECU management program.
  • the storage unit 21 stores an allocation information table 210 that stores a plurality of pieces of allocation information for allocating the virtual ECUs 5 to the in-vehicle ECUs 2 .
  • the management unit 1 Based on the allocation information table 210, the management unit 1 performs so-called scheduling, that is, allocation of usage time of the arithmetic unit 200 to each virtual ECU 5.
  • scheduling is performed periodically.
  • the usage time of the computing device 200 allocated to the virtual environment including the virtual ECU 5 and the management unit 1 is also referred to as the allocated time of the computing device 200 .
  • the allocated time of the computing device 200 corresponds to the time during which the virtual device is allocated.
  • FIG. 4 is a conceptual diagram illustrating the contents of the allocation information table 210.
  • the allocation information table 210 stores a plurality of pieces of allocation information associated with numbers (No.).
  • the allocation information is, for example, a scheduling table in which information for scheduling is shown in table format.
  • the allocation information includes the allocation time of the arithmetic unit 200 for the virtual environment constructed in the in-vehicle ECU 2 and the allocation period described later.
  • the allocation information table 210 of FIG. 4 includes a number column, an allocation cycle column, an allocation time column of the first arithmetic unit 201, an allocation time column of the second arithmetic unit 202, an allocation time column of the third arithmetic unit 203, and a fourth arithmetic unit. 204 allocation time columns.
  • the number column stores numbers for identifying allocation information.
  • the allocated time column of the first arithmetic unit 201 stores the allocation times of the first arithmetic unit 201 for the six virtual ECUs 5 constructed in the in-vehicle ECU 2 .
  • the allocated time column of the second arithmetic unit 202 stores the allocation times of the second arithmetic unit 202 for the six virtual ECUs 5 .
  • the allocated time column of the third arithmetic unit 203 stores the allocation times of the third arithmetic unit 203 for the six virtual ECUs 5 .
  • the allocated time column of the fourth arithmetic unit 204 stores the allocation time of the fourth arithmetic unit 204 to the management unit 1 .
  • the allocation cycle column stores the allocation cycle.
  • the allocation cycle is a cycle in which the management unit 1 allocates the utilization time of the arithmetic unit 200 to the virtual ECU 5 .
  • the allocation cycle is a period during which the management unit 1 allocates the utilization time of the arithmetic unit 200 to the virtual ECU 5 .
  • the allocation information table 210 the number, the allocation cycle, the allocation time of the first arithmetic unit 201, the allocation time of the second arithmetic unit 202, the allocation time of the third arithmetic unit 203, and the allocation time of the fourth arithmetic unit 204 are associated. ing.
  • each piece of allocation information the sum of the allocation times for each arithmetic device 200 corresponds to the allocation period.
  • usage time of the arithmetic unit 200 is allocated to one or more virtual ECUs 5 .
  • the allocation period is a so-called time slice.
  • the allocation time of the first arithmetic unit 201 to the first virtual ECU 51 is 1 ms (msec).
  • the allocated time of the first arithmetic unit 201 to the five virtual ECUs 5 other than the first virtual ECU 51 is 0 ms. That is, the usage time of the first arithmetic unit 201 is not assigned to the other five virtual ECUs 5 .
  • the total value of the allocated time in the first arithmetic unit 201 is 1 ms.
  • the allocation time of the second arithmetic unit 202 to the third virtual ECU 53 is 1 ms.
  • the allocated time of the second arithmetic unit 202 for the five virtual ECUs 5 other than the third virtual ECU 53 is 0 ms. That is, the usage time of the second arithmetic unit 202 is not assigned to the other five virtual ECUs 5 .
  • the total value of the allocated time in the second arithmetic unit 202 is 1 ms.
  • the allocation time of the third arithmetic unit 203 to the fifth virtual ECU 55 is 0.5 ms.
  • the allocated time of the third arithmetic unit 203 for the sixth virtual ECU 56 is 0.5 ms.
  • the allocated time of the third arithmetic unit 203 to the four virtual ECUs 5 other than the fifth virtual ECU 55 and the sixth virtual ECU 56 is 0 ms. That is, the usage time of the third arithmetic unit 203 is not assigned to the other four virtual ECUs 5 .
  • the total value of the allocated time in the third arithmetic unit 203 is 1 ms.
  • the allocation time of the fourth arithmetic unit 204 to the management unit 1 is 1 ms.
  • the allocation cycle is 1 ms, which is the same as the sum of the allocation times for each arithmetic device 200 .
  • the management unit 1 uses any of the allocation information among the plurality of allocation information stored in the allocation information table 210 to determine the first arithmetic unit 201, the second arithmetic unit 202, and the third arithmetic unit 203 for the virtual ECU 5. Allocate usage time for Hereinafter, allocation of the utilization time of the arithmetic unit 200 to the virtual ECU 5 is also referred to as allocation of the virtual ECU 5 .
  • the management unit 1 refers to the allocation information table 210 and allocates the virtual ECUs 5 using allocation information that is set in advance to be used at the time of activation, among a plurality of pieces of allocation information.
  • allocation information that is set in advance to be used at startup will also be referred to as allocation information at startup.
  • the allocation information at startup is, for example, No. stored in the allocation information table 210 . 1 allocation information, but no. It is not limited to 1 allocation information.
  • the start time is the time when the IG switch transitions from the stopped state to the started state.
  • the management unit 1 selects No. Based on the allocation information of 1, the utilization time of the three arithmetic units 200 excluding the fourth arithmetic unit 204 is allocated to the virtual ECU 5 during the allocation period of 1 ms. Specifically, the first arithmetic unit 201 is assigned to the first virtual ECU 51 for 1 ms. The second arithmetic unit 202 is assigned to the third virtual ECU 53 for 1 ms.
  • the third arithmetic unit 203 is assigned to the fifth virtual ECU 55 for 0.5 ms, and is assigned to the sixth virtual ECU 56 for another 0.5 ms after the assignment of the fifth virtual ECU 55 .
  • the allocation of the fifth virtual ECU 55 is performed prior to the allocation of the sixth virtual ECU 56 has been described, the allocation of the sixth virtual ECU 56 may be performed prior to the allocation of the fifth virtual ECU 55 .
  • the order of allocation of the two or more virtual ECUs 5 is not limited.
  • the management unit 1 identifies the vehicle state indicating the state of the vehicle C when the allocation cycle has passed since the management unit 1 started allocation of the virtual ECUs 5 . In other words, the management unit 1 identifies the vehicle state when the total value of the allocation time for each arithmetic unit 200 described above has passed since the management unit 1 started allocation of the virtual ECUs 5 . Identification of the vehicle state will be described later.
  • the allocation period is provided after the total value of the allocation time for each arithmetic unit 200 has elapsed from the point at which the management unit 1 starts allocation of the virtual ECU 5, and the management unit 1 performs processing related to specifying the vehicle state.
  • a specific time to do so may be included.
  • the specific time is a so-called overhead time.
  • the allocation cycle is a time obtained by adding a specific time to the total value of the allocation times for each arithmetic device 200 described above. For example, when the total value of the allocation time for each arithmetic device 200 is 1 ms and the specific time is 0.1 ms, the allocation period is set to 1.1 ms.
  • the management unit 1 specifies the vehicle state at the specific time after the total value of the time allocated to each arithmetic unit 200 has elapsed since the allocation of the virtual ECU 5 was started. conduct. Note that the specific time is not limited to 0.1 ms.
  • the vehicle state includes a manual driving state in which manual driving is performed, an automatic driving state in which automatic driving is performed, and an IG stopped state in which the IG switch of vehicle C is in a stopped state.
  • the vehicle state includes a forward state in which the vehicle C moves forward, a reverse state in which the vehicle C moves in reverse, and a stop state in which the vehicle C is stopped.
  • the vehicle state is a forward state during manual operation in which the vehicle C in the manual operation state moves forward, a reverse state in manual operation in which the vehicle C in the manual operation state moves backward, and a vehicle C in the manual operation state is stopped.
  • a stopped state during manual operation may be included.
  • the vehicle state includes the forward state during automatic driving in which the vehicle C in the automatic driving state moves forward, the reverse state in automatic driving in which the vehicle C in the automatic driving state moves backward, and the vehicle C in the automatic driving state is stopped.
  • a stop state during automatic operation may be included.
  • the management unit 1 determines allocation information used for allocation (scheduling) of the virtual ECU 5 based on the vehicle state that satisfies the predetermined condition.
  • the storage unit 21 stores a switching table in which the vehicle state and the allocation information number stored in the allocation information table 210 are stored in association with each other.
  • the management unit 1 determines allocation information by referring to the switching table and acquiring the allocation information number associated with the vehicle state that satisfies a predetermined condition.
  • the allocation information table 210 may store the vehicle state in association with the allocation information.
  • the management unit 1 applies the determined allocation information to the virtual ECU 5 .
  • the current allocation information that is the allocation information currently applied to the virtual ECU 5 and the next time allocation information that is the allocation information determined by the management unit 1 are used. is included in the allocation information.
  • the current allocation information is No. 1 allocation information.
  • the management unit 1 applies the next time allocation information to switch the allocation information used for allocating the virtual devices from the current time allocation information to the next time allocation information.
  • the management unit 1 allocates the virtual ECU 5 using the applied allocation information.
  • the management unit 1 identifies the vehicle state when the allocation period elapses as described above.
  • the management unit 1 If there is no vehicle state that satisfies the predetermined conditions, the management unit 1 does not determine allocation information.
  • the management unit 1 allocates the virtual ECUs 5 using the same allocation information as the allocation information used in the last allocation period. In the above example, the allocation information, No. 1 allocation information.
  • the management unit 1 identifies the vehicle state when the allocation period elapses as described above.
  • the virtual ECU 5 acquires specific information for specifying the vehicle state.
  • the specific information includes information such as the state of the accelerator pedal, the brake pedal, or the shift lever, and the detection result of the sensor 31 included in the in-vehicle device 3 .
  • the virtual ECU 5 outputs the acquired specific information to the management unit 1 .
  • the management unit 1 acquires specific information output from the virtual ECU 5 and specifies the vehicle state based on the acquired specific information.
  • the virtual ECU 5 may specify the vehicle state based on the acquired specific information and output the specified vehicle state to the management unit 1 .
  • the management unit 1 acquires the vehicle state output from the virtual ECU 5 .
  • the management unit 1 may specify the vehicle state based on the hardware state of the in-vehicle ECU 2 in which the management unit 1 and the virtual ECU 5 are constructed.
  • the state of hardware includes the communication frequency of hardware load, for example, vehicle-mounted ECU 2 . When the communication frequency of the in-vehicle ECU 2 is high, the hardware load is large.
  • the identification of the vehicle state by the management unit 1 consists of the management unit 1 identifying the vehicle state based on the identification information or hardware state as described above, and the management unit 1 using the virtual ECU 5 to identify the vehicle state. and obtaining from the ECU 5 .
  • the management unit 1 identifies the vehicle state a plurality of times by identifying the vehicle state in each allocation period. In other words, the management unit 1 periodically identifies the vehicle state.
  • the cycle in which the management unit 1 specifies the vehicle state is also referred to as a specified cycle. For example, in identifying the vehicle state, the management unit 1 acquires specific information or the vehicle state output from the virtual ECU 5 at specific intervals.
  • the management unit 1 stores the specified vehicle state in the storage unit 21.
  • the storage unit 21 stores a count value indicating the number of times the management unit 1 specifies the vehicle state.
  • the management unit 1 increments the count value by 1 each time the vehicle state is identified.
  • the management unit 1 stores the specified vehicle state and the increased count value in association with each other.
  • the management unit 1 can determine the order in which the vehicle states stored in the storage unit 21 are specified based on the count value stored in association with the vehicle state.
  • the management unit 1 may store the identified vehicle state in the storage unit 21 in association with the time when the vehicle state was identified.
  • the management unit 1 can determine the order in which the vehicle states stored in the storage unit 21 are specified based on the time stored in association with the vehicle state.
  • FIG. 5 is an explanatory diagram showing an example of identifying a vehicle state and switching allocation information.
  • FIG. 5 shows the management unit 1 and the first arithmetic unit 201 for explanation. Also, the point in time at which the management unit 1 specifies the vehicle state is indicated by a black triangle.
  • the management unit 1 identifies the vehicle state when the allocation period elapses as described above. That is, the management unit 1 identifies the vehicle state a plurality of times by periodically identifying the vehicle state. When identifying the vehicle state, the management unit 1 determines whether or not the same vehicle state has been identified continuously for a predetermined number of times or more. In other words, the management unit 1 determines whether or not the same vehicle state continues for a predetermined number of times or more in the identified vehicle states.
  • the predetermined number of times is stored in the storage unit 21 .
  • the predetermined number of times is three, but the predetermined number of times is not limited to three.
  • the predetermined number of times may be two times, or may be four times or more.
  • a predetermined condition in the present embodiment is that the same vehicle state is identified consecutively a predetermined number of times or more.
  • FIG. 5A is an explanatory diagram when there is a vehicle state that satisfies a predetermined condition, that is, when allocation information is determined.
  • the allocation information used in the first allocation cycle is No. 1 allocation information.
  • the vehicle state specified by the management unit 1 when the first allocation cycle has passed is the vehicle state ⁇ . Since the management unit 1 has not specified the same vehicle state three times in succession, it does not determine the allocation information, and determines No. again. 1 allocation information is used to allocate the virtual ECU 5 in the second allocation cycle.
  • the vehicle state specified by the management unit 1 when the second allocation cycle has passed is the vehicle state ⁇ . Since the management unit 1 has not specified the same vehicle state three times in succession, it does not determine the allocation information, and determines No. again. 1 allocation information is used to allocate the virtual ECU 5 in the third allocation cycle.
  • the vehicle state specified by the management unit 1 when the third allocation cycle has passed is the vehicle state ⁇ . Since the management unit 1 has identified the same vehicle state three times in succession, the vehicle state ⁇ identified by the management unit 1 satisfies the predetermined condition.
  • the management unit 1 determines allocation information based on the vehicle state ⁇ . In other words, the management unit 1 determines allocation information based on the same vehicle state when the same vehicle state continues for a predetermined number of times or more among the identified vehicle states.
  • the management unit 1 applies the determined allocation information to the virtual ECU 5 . That is, the management unit 1 allocates the virtual ECUs 5 using the determined allocation information. In FIG. 5A, the management unit 1 assigns the allocation information to No. 1 from the allocation information of No. 2 allocation information.
  • the management unit 1, No. 2 allocation information, the allocation of the virtual ECU 5 is performed in the fourth allocation cycle.
  • FIG. 5B is an explanatory diagram when there is no vehicle state that satisfies a predetermined condition, that is, when allocation information is not determined.
  • the allocation information used in the first allocation cycle is No. 1 allocation information.
  • the vehicle state specified by the management unit 1 when the first allocation cycle has passed is the vehicle state ⁇ . Since the management unit 1 has not specified the same vehicle state three times in succession, it does not determine the allocation information, and determines No. again. 1 allocation information is used to allocate the virtual ECU 5 in the second allocation cycle.
  • the vehicle state specified by the management unit 1 when the second allocation cycle has passed is the vehicle state ⁇ . Since the management unit 1 has not specified the same vehicle state three times in succession, it does not determine the allocation information, and determines No. again.
  • 1 allocation information is used to allocate the virtual ECU 5 in the third allocation cycle.
  • the vehicle state specified by the management unit 1 when the third allocation cycle has passed is the vehicle state ⁇ . Since the management unit 1 has not specified the same vehicle state three times in succession, it does not determine the allocation information, and determines No. again. 1 allocation information is used, allocation of virtual ECU5 is performed in the 4th allocation period.
  • the management unit 1 repeatedly identifies the vehicle state and determines whether or not there is a vehicle state that satisfies a predetermined condition. When there is a vehicle state that satisfies a predetermined condition, the management unit 1 determines allocation information based on the vehicle state that satisfies the predetermined condition. In other words, the vehicle state that satisfies the predetermined condition is the vehicle state that is used to determine the allocation information.
  • the management unit 1 if the management unit 1 specifies the vehicle state ⁇ as the vehicle state even in the fourth and subsequent allocation cycles, the management unit 1 continuously specifies the same vehicle state a predetermined number of times or more. In this case, since the current allocation information and the next time allocation information are the same, the current allocation information is maintained by applying the determined allocation information to the virtual device. That is, the management unit 1 again sets No. 2 allocation information, virtual ECU 5 allocation is performed in the fifth allocation cycle.
  • the storage unit 21 may be configured to be able to store the same number of vehicle states as the value of the predetermined number of times.
  • the storage unit 21 can store three vehicle states.
  • the management unit 1 stores the newly specified vehicle state in the storage unit 21. The oldest stored vehicle status among the three vehicle statuses is overwritten.
  • FIG. 6 shows that the allocation information is No. 1 from the allocation information of No. 2 is an explanatory diagram showing virtual ECUs 5 allocated to the first arithmetic device 201, the second arithmetic device 202, and the third arithmetic device 203 when switching to allocation information No. 2; FIG.
  • the first arithmetic unit 201 is allocated to the first virtual ECU 51 for 1 ms during the allocation period of 1 ms as described above.
  • the second arithmetic unit 202 is assigned to the third virtual ECU 53 for 1 ms.
  • the third arithmetic unit 203 is assigned to the fifth virtual ECU 55 for 0.5 ms, and is assigned to the sixth virtual ECU 56 for 0.5 ms.
  • the fourth arithmetic unit 204 is assigned to the management unit 1 for 1 ms.
  • the first arithmetic unit 201 is allocated to the second virtual ECU 52 for 1 ms during the allocation period of 1 ms. Also, the second arithmetic unit 202 is assigned to the fourth virtual ECU 54 for 1 ms. The third arithmetic unit 203 is assigned to the fifth virtual ECU 55 for 0.5 ms, and is assigned to the sixth virtual ECU 56 for 0.5 ms. Also, the fourth arithmetic unit 204 is assigned to the management unit 1 for 1 ms.
  • the management part 1 changes the kind of virtual ECU5 allocated to the arithmetic unit 200 (vehicle ECU2) by applying allocation information.
  • the type of the virtual ECU 5 assigned to one arithmetic unit 200 is changed from the virtual ECU 5 that operates in the forward state to the virtual ECU 5 that operates in the stopped state.
  • the virtual ECU 5 that operates in the forward state performs processing related to the sensor 31 such as radar and processing related to the running function of the vehicle C.
  • the processing related to the running function of the vehicle C includes, for example, engine control processing, accelerator control processing, and the like.
  • the virtual ECU 5 that operates when the vehicle is stopped performs processing related to the conductive parking brake function and processing related to the parking monitoring function.
  • the first arithmetic unit 201 is assigned to the first virtual ECU 51 for 0.5 ms and the second virtual ECU 51 for 0.5 ms in the assignment cycle of 1 ms. Allocated to the virtual ECU 52 .
  • the second arithmetic unit 202 is assigned to the third virtual ECU 53 for 0.5 ms, and is assigned to the fourth virtual ECU 54 for 0.5 ms.
  • the third arithmetic unit 203 is assigned to the fifth virtual ECU 55 for 0.5 ms, and is assigned to the sixth virtual ECU 56 for 0.5 ms.
  • the fourth arithmetic unit 204 is assigned to the management unit 1 for 1 ms.
  • the allocation information is No. 1 from the allocation information of No.
  • the number of virtual ECUs 5 allocated to the first arithmetic unit 201 and the second arithmetic unit 202 is changed.
  • the management unit 1 changes the number of virtual ECUs 5 allocated to the arithmetic device 200 (in-vehicle ECU 2) by applying the allocation information.
  • the kind of virtual ECU5 to be allocated is also changed.
  • the allocation information is No. 1 from the allocation information of No.
  • the allocation times of the first arithmetic unit 201 and the second arithmetic unit 202 are changed.
  • the management unit 1 changes at least one time during which each of the virtual ECUs 5 is allocated to the arithmetic device 200 (in-vehicle ECU 2) by applying the allocation information.
  • the first arithmetic unit 201 is allocated to the first virtual ECU 51 for 0.5 ms in the allocation period of 1 ms, and the third Allocated to the virtual ECU 53 .
  • the second arithmetic unit 202 is assigned to the fifth virtual ECU 55 for 1 ms.
  • the third arithmetic unit 203 is assigned to the sixth virtual ECU 56 for 1 ms.
  • the fourth arithmetic unit 204 is assigned to the management unit 1 for 1 ms.
  • the first arithmetic unit 201 the number and type of the virtual ECU 5 and the allocation time are changed.
  • the type of the virtual ECU 5 is changed in the second arithmetic device 202 .
  • the third arithmetic unit 203 the number and types of the virtual ECUs 5 and the allocation time are changed.
  • the first arithmetic unit 201 is allocated to the first virtual ECU 51 for 1 ms, and further allocated to the second virtual ECU 52 for 1 ms, in the allocation period of 2 ms. assigned.
  • the second arithmetic unit 202 is assigned to the third virtual ECU 53 for 1 ms, and is assigned to the fourth virtual ECU 54 for 1 ms.
  • the third arithmetic unit 203 is assigned to the fifth virtual ECU 55 for 1 ms, and is assigned to the sixth virtual ECU 56 for 1 ms.
  • the fourth arithmetic unit 204 is assigned to the management unit 1 for 2 ms.
  • N is a natural number.
  • the allocation cycle is changed.
  • the allocation cycle is a cycle in which the virtual ECU 5 is allocated to the arithmetic unit 200 (in-vehicle ECU 2).
  • the allocation cycle corresponds to the cycle in which virtual devices are allocated. If the allocation information is No. 1 from the allocation information of No.
  • the N allocation information in addition to changing the allocation period, the number of virtual ECUs 5 allocated to the first arithmetic unit 201 and the second arithmetic unit 202 is changed. Also, the allocated time of the third arithmetic unit 203 is changed.
  • the first arithmetic unit 201 is allocated to the first virtual ECU 51 for 1.7 ms and the second virtual ECU 51 for 0.3 ms in the allocation cycle of 2 ms. Allocated to the virtual ECU 52 .
  • the second arithmetic unit 202 is assigned to the third virtual ECU 53 for 1 ms, and is assigned to the fourth virtual ECU 54 for 1 ms.
  • the third arithmetic unit 203 is assigned to the fifth virtual ECU 55 for 1 ms, and is assigned to the sixth virtual ECU 56 for 1 ms.
  • the fourth arithmetic unit 204 is assigned to the management unit 1 for 2 ms. No. 1 from the allocation information of No.
  • the allocation cycle is changed by switching to the N+1 allocation information.
  • the number of virtual ECU5, a kind, and allocation time are changed.
  • the number and type of virtual ECUs 5 are changed in the second arithmetic unit 202 .
  • the third arithmetic unit 203 the allotted time is changed.
  • the allocation information is No. 1 from the allocation information of No.
  • the first arithmetic unit 201 is allocated to the first virtual ECU 51 for 1 ms, and further allocated to the third virtual ECU 53 for 1 ms, during the allocation period of 2 ms. assigned.
  • the second arithmetic unit 202 is assigned to the fifth virtual ECU 55 for 2 ms.
  • the third arithmetic unit 203 is assigned to the sixth virtual ECU 56 for 2 ms.
  • the fourth arithmetic unit 204 is assigned to the management unit 1 for 2 ms. No. 1 from the allocation information of No.
  • the number and types of virtual ECUs 5 are changed in the first arithmetic unit 201 .
  • the kind and allocation time of virtual ECU5 are changed.
  • the type of the virtual ECU 5 and the allocated time are changed in the third arithmetic unit 203 .
  • FIG. 7 shows that the allocation information is No. From the allocation information of No. 3, No.
  • FIG. 11 is an explanatory diagram showing a virtual ECU 5 assigned to the first arithmetic unit 201 when switching to N+1 assignment information; No. 3 allocation information is used, during an allocation period of 1 ms, the first arithmetic unit 201 is allocated to the first virtual ECU 51 for 0.5 ms, and is allocated to the second virtual ECU 52 for 0.5 ms. assigned to. If the allocation information is No. From the allocation information of No. 3, No. When switching to N+1 allocation information, the allocation period is changed from 1 ms to 2 ms. During the allocation period of 2 ms, the first arithmetic unit 201 is allocated to the first virtual ECU 51 for 1.7 ms, and further allocated to the second virtual ECU 52 for 0.3 ms.
  • allocation information is No. From the allocation information of No. 3, No. A description of the allocation of the virtual ECUs 5 in the second arithmetic unit 202 and the third arithmetic unit 203 when switching to the N+1 allocation information is omitted.
  • the time allocated to the virtual ECU 5 having a large processing load in the forward state is made longer than the time allocated to the virtual ECU 5 having a small processing load in the forward state. be able to.
  • the virtual ECU 5, which has a large processing load in the forward state performs processing related to the front and side radars provided in the front and side portions of the vehicle C, for example.
  • the virtual ECU 5 with a large processing load in the forward state receives signals or messages output from the front and side radars frequently. Processing time is long.
  • the first virtual ECU 51 corresponds to the virtual ECU 5 with a large processing load in the forward state.
  • the virtual ECU 5 with the small processing load in the forward state receives a signal or message output from the rear radar less frequently. takes less time.
  • the second virtual ECU 52 corresponds to the virtual ECU 5 with a small processing load in the forward state.
  • the allocation information By switching the allocation information as described above, at least one of the number of virtual ECUs 5 to be allocated, the type of virtual ECUs 5 to be allocated, the allocation time, and the allocation cycle is changed.
  • the number of virtual ECUs 5 to be allocated, the type of virtual ECU 5 to be allocated, the allocation time, and the allocation period are not limited to the above examples.
  • the allocation cycle may be 3 ms or longer.
  • the allocation information is not limited to the above examples.
  • the utilization time of any one of the first arithmetic unit 201, the second arithmetic unit 202, and the third arithmetic unit 203 may not be allocated to the virtual ECU 5.
  • the allocation period may differ for each arithmetic device 200.
  • the allocation period for each of the first arithmetic unit 201 and the second arithmetic unit 202 may be 1 ms
  • the allocation period for the third arithmetic unit 203 may be 2 ms.
  • the total value of the allocated time in the first arithmetic unit 201 is 1 ms.
  • the total value of the allocated time in the second arithmetic unit 202 is 1 ms.
  • the total value of the allocated time in the third arithmetic unit 203 is 2 ms.
  • the management unit 1 identifies the vehicle state when the longest allocation cycle among the allocation cycles related to each computing device 200 elapses, and determines whether or not there is a vehicle state that satisfies a predetermined condition. In the case of the above example, the management unit 1 identifies the vehicle state when the allocation cycle for the third arithmetic unit 203 has passed. In other words, the management unit 1 identifies the vehicle state when the allocation cycle for each of the first arithmetic device 201 and the second arithmetic device 202 elapses for the second time.
  • FIG. 8 is a flowchart exemplifying processing related to allocation of virtual ECUs 5 performed by the management unit 1 .
  • the fourth arithmetic device 204 functions as the management unit 1 when the IG switch of the vehicle C transitions from the stopped state to the activated state.
  • the management unit 1 performs the following processes.
  • the step is abbreviated as S.
  • the management unit 1 executes allocation of the virtual ECU 5 using the allocation information at startup (S11).
  • the management unit 1 may specify the vehicle state when the IG switch transitions from the stopped state to the activated state, and assign the virtual ECU 5 using allocation information determined based on the specified vehicle state.
  • the management unit 1 specifies the vehicle state (S12) and stores the specified vehicle state in the storage unit 21 when the allocation cycle has passed since the allocation of the virtual ECU 5 was started.
  • the management unit 1 may acquire the vehicle state from the virtual ECU 5 or may specify the vehicle state based on the hardware state or the specific information acquired from the virtual ECU 5 .
  • the management unit 1 confirms that the allocation period has passed since the allocation of the virtual ECU 5 was started (S13).
  • the management unit 1 determines whether or not the same vehicle state has been specified continuously for a predetermined number of times or more (S14). That is, the management unit 1 determines whether or not the same vehicle state has continued for a predetermined number of times or more. If the same vehicle state has not been identified continuously for a predetermined number of times or more (S14: NO), that is, if the same vehicle state has not been identified continuously for a predetermined number of times or more, the management unit 1 assigns the allocation information as described above. Allocation of the virtual ECU 5 is executed without determination (S15). Specifically, the management unit 1 allocates the virtual ECUs 5 using the same allocation information as the allocation information used in the last allocation period. The management unit 1 performs the process of S12 again when the allocation cycle has passed since the allocation of the virtual ECU 5 was started.
  • the management unit 1 will Allocation information is determined based on the vehicle state (S16). As described above, the management unit 1 applies the determined allocation information to the virtual ECU 5 (S17). In other words, the management unit 1 executes allocation of the virtual ECU 5 using the determined allocation information. The management unit 1 performs the process of S12 again when the allocation cycle has passed since the allocation of the virtual ECU 5 was started.
  • the management unit 1 ends the process when, for example, the IG switch transitions from the activated state to the stopped state.
  • a plurality of virtual ECUs 5 are generated by the controller 20 of the in-vehicle ECU 2 activating the virtualized operating system.
  • the control unit 20 also functions as a management unit 1 that manages multiple virtual ECUs 5 .
  • the storage unit 21 stores a plurality of allocation information for the management unit 1 to allocate the virtual ECUs 5 to the in-vehicle ECUs 2 .
  • the management unit 1 identifies the vehicle state, and determines one of the plurality of pieces of allocation information based on the identified vehicle state.
  • the management unit 1 applies the determined allocation information to the virtual ECU 5 . In other words, the management unit 1 allocates the virtual ECU 5 to the in-vehicle ECU 2 using the determined allocation information.
  • the management unit 1 In applying the allocation information determined by the management unit 1 to the virtual device, if the current allocation information and the next time allocation information are the same, the application of the determined allocation information to the virtual device maintains the current allocation information. become a thing.
  • the management unit 1 switches the allocation information used for allocation of the virtual ECU 5 from the current allocation information to the next time allocation information by applying the next time allocation information.
  • the management unit 1 can appropriately switch the allocation of the virtual ECU 5 to the in-vehicle ECU 2 according to the vehicle state. In other words, the management unit 1 can appropriately allocate the virtual ECU 5 to the in-vehicle ECU 2 according to the vehicle state. Since the management unit 1 switches the allocation information according to the vehicle state, it is possible to flexibly allocate the virtual ECUs 5 . In other words, the virtual ECU 5 can be arranged flexibly.
  • the management unit 1 acquires the vehicle state from the virtual ECU 5, or identifies the vehicle state based on the specific information or hardware state.
  • the virtual ECU 5 identifies the vehicle state and outputs the identified vehicle state to the management unit 1 .
  • the management unit 1 acquires the vehicle state output from the virtual ECU 5 . Since the management unit 1 acquires the vehicle state specified by the virtual ECU 5 from the virtual ECU 5, the processing performed by the management unit 1 to specify the vehicle state can be reduced.
  • the virtual ECU 5 When the management unit 1 identifies the vehicle state based on the specific information, the virtual ECU 5 outputs the specific information to the management unit 1, for example.
  • the management unit 1 acquires specific information output from the virtual ECU 5 and specifies the vehicle state based on the acquired specific information. Since it is not necessary for the virtual ECU 5 to specify the vehicle state, the processing performed by the virtual ECU 5 can be reduced.
  • Management part 1 can specify a vehicle state without going through virtual ECU5, when specifying a vehicle state based on a state of hardware of in-vehicle ECU2. Since there is no need for the virtual ECU 5 to perform processing in identifying the vehicle state, the processing performed by the virtual ECU 5 can be reduced.
  • the management unit 1 identifies the vehicle state multiple times. The management unit 1 determines whether or not the same vehicle state continues for a predetermined number of times or more in the identified vehicle states. When the same vehicle state continues for a predetermined number of times or more, the management unit 1 determines allocation information based on the same vehicle state, and applies the determined allocation information to the virtual ECU 5 . In other words, the management unit allocates the virtual ECUs 5 using allocation information determined based on the same vehicle state that has continued for a predetermined number of times or more. The management unit 1 does not determine allocation information when the same vehicle state does not continue for a predetermined number of times. The management unit 1 allocates the virtual ECUs 5 using allocation information that has already been applied to the virtual ECUs 5 .
  • the management unit 1 can appropriately assign the virtual ECU 5 to the arithmetic unit 200 (in-vehicle ECU 2).
  • the management unit 1 can reduce the influence of hunting in identifying the vehicle state.
  • the management unit 1 By applying the allocation information by the management unit 1, the type of the virtual ECU 5 allocated to the arithmetic device 200 is changed.
  • the management unit 1 can allocate an appropriate type of virtual ECU 5 according to the vehicle state to the arithmetic device 200 .
  • the management unit 1 By applying the allocation information by the management unit 1, the number of virtual ECUs 5 allocated to the arithmetic unit 200 is changed.
  • the management unit 1 can allocate an appropriate number of virtual ECUs 5 according to the vehicle state to the arithmetic device 200 .
  • the allocation time of the arithmetic device 200 is changed. More specifically, at least one of the times during which the virtual ECU 5 is assigned to the arithmetic unit 200 is changed.
  • the management unit can allocate the virtual ECU 5 to the arithmetic unit 200 for an appropriate time according to the vehicle state.
  • the allocation cycle is changed. More specifically, the cycle in which the virtual ECU 5 is assigned to the arithmetic unit 200 is changed.
  • the management unit 1 can allocate the virtual ECU 5 to the in-vehicle ECU 2 in an appropriate allocation cycle according to the vehicle state.
  • the management unit 1 identifies a vehicle state, determines whether the identified vehicle state satisfies a predetermined condition, and determines allocation information based on the vehicle state that satisfies the predetermined condition.
  • the section 1 does not have to determine whether the vehicle state satisfies a predetermined condition.
  • the management unit 1 may specify the vehicle state once when the allocation period elapses, and determine the allocation information based on the vehicle state specified once.
  • the management unit 1 applies allocation information determined based on the vehicle state identified once to the virtual ECU 5 .
  • the fourth arithmetic device 204 functions as the management unit 1, but the arithmetic device 200 other than the fourth arithmetic device 204 may function as the management unit 1.
  • each arithmetic unit 200 may function as the virtual ECU 5 and function as the management unit 1 .
  • the first arithmetic device 201 periodically switches between a period of functioning as the virtual ECU 5 assigned to the first arithmetic device 201 and a period of functioning as the first management unit that manages the virtual ECU 5 assigned to the first arithmetic device 201.
  • a first allocation information table storing a plurality of pieces of allocation information relating to the virtual ECU 5 allocated to the first arithmetic unit 201 is stored in the storage unit 21 , for example, the virtual storage unit of the first arithmetic unit 201 .
  • the first management unit allocates the virtual ECU 5 to the first arithmetic unit 201 based on any of the allocation information stored in the first allocation information table. Similarly to the management unit 1, the first management unit identifies the vehicle state and determines allocation information used for allocating the virtual ECUs 5 to the first arithmetic unit 201 based on the identified vehicle state. The first management unit allocates the virtual ECU 5 to the first arithmetic unit 201 using the determined allocation information. Arithmetic devices 200 other than the first arithmetic device 201 also function as the virtual ECU 5 and as the management unit 1 in the same manner as the first arithmetic device 201 .
  • the management unit 1 identifies the vehicle state a plurality of times, and when the number of times the vehicle state is the same among the identified vehicle states is equal to or greater than a predetermined value, allocation information is generated based on the same vehicle state. It is related with in-vehicle ECU2 which determines.
  • the in-vehicle ECU 2 of Embodiment 2 includes a control section 20 and a storage section 21 .
  • the control unit 20 includes four arithmetic units 200 including a first arithmetic unit 201 , a second arithmetic unit 202 , a third arithmetic unit 203 and a fourth arithmetic unit 204 .
  • An allocation information table 210 is stored in the storage unit 21 .
  • the storage unit 21 also stores a count value indicating the number of times the management unit 1 specifies the vehicle state.
  • six virtual ECUs 5 including a first virtual ECU 51, a second virtual ECU 52, a third virtual ECU 53, a fourth virtual ECU 54, a fifth virtual ECU 55, and a sixth virtual ECU 56 are constructed in the in-vehicle ECU 2.
  • the virtual ECU 5 is assigned to the first arithmetic device 201 , the second arithmetic device 202 and the third arithmetic device 203 .
  • the 4th arithmetic unit 204 functions as the management part 1 which manages six virtual ECU5.
  • the management unit 1 uses any of the allocation information among the plurality of allocation information stored in the allocation information table 210 to determine the first arithmetic unit 201, the second arithmetic unit 202, and the third arithmetic unit 203 for the virtual ECU 5. , the virtual ECU 5 is assigned.
  • the management unit 1 identifies the vehicle state when the allocation period elapses.
  • the management unit 1 increases the count value stored in the storage unit 21 by one.
  • Management unit 1 stores the specified vehicle state in storage unit 21 .
  • the management unit 1 may store the identified vehicle state and the increased count value in the storage unit 21 in association with each other.
  • the management unit 1 determines allocation information to be used for allocation of the virtual ECU 5 based on the vehicle state that satisfies a predetermined condition. If there is no vehicle state that satisfies the predetermined condition, the management unit 1 does not determine allocation information.
  • the predetermined condition of the second embodiment is that the number of times of the same vehicle state is equal to or greater than a predetermined value in the specified vehicle states.
  • the predetermined condition of the second embodiment is that the number of times the vehicle state is identified is greater than or equal to a predetermined value.
  • the identification of the vehicle state is performed a predetermined number of times.
  • the predetermined value is 50% of the fixed number of times.
  • the predetermined condition is that the specified number of times is 50% or more of the specified number of times in the specified number of times of specifying the vehicle state.
  • the predetermined value and the fixed number of times are stored in the storage unit 21 in advance. Note that the predetermined value is not limited to the above example.
  • the predetermined value may be 70% of the fixed number of times or 90% of the fixed number of times.
  • FIG. 9 is an explanatory diagram showing an example of identifying the vehicle state and switching allocation information according to the second embodiment.
  • FIG. 9 shows the management unit 1 and the first arithmetic unit 201 for explanation. Also, the point in time at which the management unit 1 specifies the vehicle state is indicated by a black triangle. In the example of FIG. 9, the fixed number of times is three.
  • FIG. 9A is an explanatory diagram when the vehicle state satisfies a predetermined condition, that is, when allocation information is determined.
  • the allocation information used in the first allocation cycle is No. 1 allocation information.
  • the management unit 1 sets the count value to 0 when starting allocation of the virtual ECU 5 in the first allocation period.
  • the vehicle state specified by the management unit 1 when the first allocation cycle has passed is the vehicle state ⁇ .
  • the management unit 1 identifies the vehicle state, it increases the count value by one.
  • the management unit 1 Since the vehicle status has not been specified a certain number of times, the management unit 1 does not determine the allocation information, and the No. 1 allocation information is used to allocate the virtual ECU 5 in the second allocation cycle.
  • the vehicle state specified by the management unit 1 when the second allocation cycle has passed is the vehicle state ⁇ .
  • the management unit 1 increments the count value by one. Since the vehicle state has not been specified a certain number of times, the management unit 1 does not determine the allocation information, and the No. is determined again. 1 allocation information is used to allocate the virtual ECU 5 in the third allocation cycle.
  • the vehicle state specified by the management unit 1 when the third allocation cycle has passed is the vehicle state ⁇ .
  • the management unit 1 increments the count value by one.
  • Vehicle condition identification was performed three times. That is, since the vehicle state has been specified a certain number of times, the management unit 1 determines whether or not there is a vehicle state that has been specified 50% or more of the specified number of times. In other words, the management unit 1 determines whether or not the number of times of the same vehicle state is equal to or greater than a predetermined value in the identified vehicle states. In the above example, the management unit 1 identified the vehicle state ⁇ twice and identified the vehicle state ⁇ once during the three vehicle state identifications.
  • the vehicle state ⁇ is a vehicle state in which the specified number of times is 50% or more of the fixed number of vehicle states specified. That is, the vehicle state ⁇ is a vehicle state that satisfies a predetermined condition.
  • the management unit 1 determines allocation information based on the vehicle state ⁇ in the same manner as in the first embodiment, and applies the determined allocation information to the virtual ECU 5 .
  • the allocation information is No. 1 from the allocation information of No. 2 allocation information.
  • condition determination the determination of whether or not there is a vehicle state in which the specified number of times is 50% or more of the predetermined number of vehicle states among the vehicle states specified by the management unit 1 is also referred to as condition determination.
  • FIG. 9B is an explanatory diagram when the vehicle state does not satisfy a predetermined condition, that is, when allocation information is not determined.
  • the vehicle state specified by the management unit 1 when the first allocation cycle has passed is the vehicle state ⁇ .
  • the vehicle state specified by the management unit 1 when the second allocation cycle has passed is the vehicle state ⁇ .
  • the vehicle state specified by the management unit 1 when the third allocation cycle has passed is the vehicle state ⁇ .
  • the management unit 1 performs condition determination.
  • among the vehicle states identified by the management unit 1 a certain number of times, there is no vehicle state for which the specified number of times is 50% or more of the certain number of times. Since there is no vehicle state that satisfies the predetermined condition, the management unit 1 does not determine allocation information.
  • the management unit 1 allocates the virtual ECUs 5 using the same allocation information as the allocation information used in the last allocation cycle.
  • the management unit 1 sets the count value to 0 after performing the condition determination.
  • the management unit 1 specifies the vehicle state and increases the count value, and when the count value becomes equal to the fixed number of times, the condition determination is performed. In other words, every time the management unit 1 identifies the vehicle state a certain number of times, it determines whether or not there is a vehicle state that has been identified 50% or more of the certain number of times.
  • the management unit 1 may perform condition determination each time an allocation cycle elapses. For example, when the fourth allocation cycle has passed, the management unit 1 determines the vehicle state specified in the fourth allocation cycle, the vehicle state specified in the third allocation cycle, and the vehicle state specified in the second allocation cycle. Condition determination is performed using three vehicle states, namely, the vehicle state obtained by
  • the management unit 1 performs conditional determination each time an allocation period elapses when the fixed number of times is N times and the predetermined value is 50% of the fixed number of times.
  • N is a natural number.
  • the storage unit 21 stores N-1 or more vehicle states.
  • the management unit 1 identifies the vehicle state when the allocation period elapses, and stores the identified vehicle state in the storage unit 21 .
  • the management unit 1 stores N vehicle states including vehicle states stored from the most recently stored vehicle state to N-1 vehicle states before the current vehicle state among the plurality of vehicle states stored in the storage unit 21. is used to determine the condition.
  • the management unit 1 uses N vehicle states including the vehicle states specified from the most recently specified latest vehicle state to N-1 vehicle states before the latest vehicle state among the plurality of specified vehicle states. to determine the condition.
  • the management unit 1 determines allocation information based on the vehicle state for which the specified number of times is 50% or more of N. If there is no vehicle state for which the specified number of times is 50% or more of N, the management unit 1 does not determine allocation information.
  • the management unit 1 when the management unit 1 identifies the vehicle state, it increments the count value by 1, associates the identified vehicle state with the increased count value, and stores the increased count value in the storage unit 21 .
  • the determined vehicle state and the time when the vehicle state was specified may be associated with each other and stored in the storage unit 21 .
  • the storage unit 21 may be configured to be able to store the same number of vehicle states as the fixed number of values.
  • the fixed number of times is three
  • the storage unit 21 can store three vehicle states.
  • the management unit 1 performs the condition determination a certain number of times, for example, three times each time the vehicle state is specified
  • the management unit 1 stores the specified vehicle state in the storage unit 21 each time the vehicle state is specified.
  • the management unit 1 performs condition determination.
  • Management unit 1 deletes the three vehicle states stored in storage unit 21 after the condition determination.
  • the management unit 1 performs condition determination.
  • the management unit 1 when the management unit 1 performs condition determination each time an allocation period elapses, each time the vehicle state is specified, the specified vehicle state is stored in the storage unit 21 .
  • the management unit 1 stores the newly specified vehicle state in the storage unit 21. The oldest stored vehicle status among the three vehicle statuses is overwritten, and the three vehicle statuses stored in the storage unit 21 are updated.
  • the management unit 1 performs condition determination using the three vehicle states stored in the updated storage unit 21 each time the allocation period elapses.
  • FIG. 10 is a flowchart illustrating processing related to allocation of virtual ECUs 5 performed by the management unit 1 of the second embodiment.
  • the fourth arithmetic device 204 functions as the management unit 1 when the IG switch of the vehicle C transitions from the stopped state to the activated state.
  • the management unit 1 performs the following processes.
  • the management unit 1 performs the processes of S21, S22 and S23. Since the processes of S21, S22 and S22 are the same as the processes of S11, S12 and S13 of the first embodiment, detailed description thereof will be omitted.
  • the management unit 1 determines whether or not the vehicle state has been specified a certain number of times (S24). For example, the management unit 1 determines whether or not the number of vehicle states stored in the storage unit 21 is equal to or greater than the value of the fixed number of times.
  • the management unit 1 If the management unit 1 has not identified the vehicle state a certain number of times (S24: NO), it executes the allocation of the virtual ECU 5 without determining the allocation information (S25). Specifically, the management unit 1 allocates the virtual ECUs 5 using the same allocation information as the allocation information used in the last allocation cycle. The management unit 1 performs the process of S22 again when the allocation cycle has passed since the allocation of the virtual ECU 5 was started.
  • the case where the management unit 1 has not identified the vehicle state a certain number of times includes, for example, the case where the number of vehicle states stored in the storage unit 21 is smaller than the number of the vehicle state that is the same as the value of the certain number of times.
  • the management unit 1 determines whether or not there is a vehicle state for which the specified number of times is equal to or greater than a predetermined value among the vehicle states specified a certain number of times. (S26).
  • the case where the management unit 1 specifies the vehicle state a certain number of times includes, for example, the case where the number of vehicle states stored in the storage unit 21 is equal to or greater than the value of the certain number of times. If there is no vehicle state for which the specified number of times is equal to or greater than the predetermined value (S26: NO), the management unit 1 performs the process of S25.
  • the management unit 1 determines allocation information based on the vehicle state in which the specified number of times is equal to or greater than the predetermined value (S27). As described above, the management unit 1 applies the determined allocation information to the virtual ECU 5 (S28). In other words, the management unit 1 executes allocation of the virtual ECU 5 using the determined allocation information. The management unit 1 performs the process of S22 again when the allocation cycle has passed since the allocation of the virtual ECU 5 was started.
  • the management unit 1 ends the process when, for example, the IG switch transitions from the activated state to the stopped state.
  • the management unit 1 identifies the vehicle state multiple times.
  • the management unit 1 determines whether or not the number of times of the same vehicle state is equal to or greater than a predetermined value in the specified vehicle states.
  • the management unit 1 determines allocation information based on the vehicle state in which the number of times of the same vehicle state is equal to or greater than the predetermined value, and sends the determined allocation information to the virtual ECU 5. Apply. In other words, the management unit 1 allocates the virtual ECU 5 using the allocation information determined based on the vehicle state in which the number of times of the same vehicle state is equal to or greater than a predetermined value among the vehicle states identified multiple times.
  • the management unit 1 does not determine allocation information when the number of times of the same vehicle state is less than a predetermined value.
  • the management unit 1 allocates the virtual ECUs 5 using allocation information that has already been applied to the virtual ECUs 5 . Even when the vehicle state changes frequently, for example, when hunting occurs, the management unit 1 can appropriately assign the virtual ECU 5 to the in-vehicle ECU 2 .
  • the management unit 1 can reduce the influence of hunting in identifying the vehicle state.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Traffic Control Systems (AREA)

Abstract

車載装置は、車両に搭載され、複数のプログラムの動作環境となる複数の仮想装置を生成する車載装置であって、複数の前記仮想装置を管理する管理部を備え、前記管理部は、前記車両の状態を示す車両状態を特定し、特定した前記車両状態に基づき、自装置に対して前記仮想装置を割り当てるための複数の割当情報のうち、いずれかの前記割当情報を決定し、決定した前記割当情報を前記仮想装置に適用する。

Description

車載装置、情報処理方法、及びコンピュータプログラム
 本開示は、車載装置、情報処理方法、及びコンピュータプログラムに関する。
 本出願は、2021年3月18日出願の日本出願第2021-045022号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
 車両に搭載され、当該車両に搭載された機器を制御するための処理を行う車載装置が知られている(例えば特許文献1)。特許文献1の車載装置はCPU(Central Processing Unit)、例えば1つのコアを有するシングルコアCPU、又は複数のコアを有するマルチコアCPUを備える。CPU上で複数のプログラムシステムが動作する。上記の車載装置には、プログラムが実行されることによって実現される機能の構成要素として、ハイパーバイザが搭載されている。上記の車載装置は、当該ハイパーバイザにより、CPU上で複数の仮想装置を作成して並列に動作させ、作成された仮想装置上でOS(Operation System)を動作させる。
特開2017-87773号公報
 本開示の一態様に係る車載装置は、車両に搭載され、複数のプログラムの動作環境となる複数の仮想装置を生成する車載装置であって、複数の前記仮想装置を管理する管理部を備え、前記管理部は、前記車両の状態を示す車両状態を特定し、特定した前記車両状態に基づき、自装置に対して前記仮想装置を割り当てるための複数の割当情報のうち、いずれかの前記割当情報を決定し、決定した前記割当情報を前記仮想装置に適用する。
実施形態1に係る車載システムの構成を例示する模式図である。 車載ECUの物理構成を例示するブロック図である。 車載ECUの論理構成を例示するブロック図である。 割当情報テーブルの内容を例示する概念図である。 車両状態の特定、及び割当情報の切り替えの一例を示す説明図である。 割当情報がNo.1の割当情報からNo.2の割当情報へ切り替わる場合に、第1演算装置、第2演算装置及び第3演算装置に割り当てられる仮想ECUを示す説明図である。 割当情報がNo.3の割当情報からNo.N+1の割当情報へ切り替えられ場合に、第1演算装置に割り当てられる仮想ECUを示す説明図である。 管理部が行う仮想ECUの割り当てに係る処理を例示するフローチャートである。 実施形態2における車両状態の特定、及び割当情報の切り替えの一例を示す説明図である。 実施形態2の管理部が行う仮想ECUの割り当てに係る処理を例示するフローチャートである。
[本開示が解決しようとする課題]
 特許文献1の車載装置には、生成された複数の仮想装置が予め定められた時間及び順番等の規則に従って割り当てられる。しかしながら車両の状態によっては、仮想装置の処理負荷は異なる場合があるので、仮想装置の割り当てにおいて車両の状態を考慮することが望まれる。
 本開示は斯かる事情に鑑みてなされたものであり、車両の状態に応じて適切に、仮想装置を割り当てることができる車載装置等を提供することを目的とする。
[本開示の効果]
 本開示の一態様によれば、車両の状態に応じて適切に、仮想装置を割り当てることができる。
[本開示の実施形態の説明]
 最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
(1)本開示の一態様に係る車載装置は、車両に搭載され、複数のプログラムの動作環境となる複数の仮想装置を生成する車載装置であって、複数の前記仮想装置を管理する管理部を備え、前記管理部は、前記車両の状態を示す車両状態を特定し、特定した前記車両状態に基づき、自装置に対して前記仮想装置を割り当てるための複数の割当情報のうち、いずれかの前記割当情報を決定し、決定した前記割当情報を前記仮想装置に適用する。
 本態様にあたっては、車載装置は、複数のプログラムを実行する制御部を備える。制御部が仮想化オペレーティングシステムを起動することにより、複数の仮想装置は生成される。仮想装置上にて、プログラムが実行される。制御部は、複数の仮想装置を管理する管理部としても機能する。車載装置には、管理部が車載装置に仮想装置を割り当てるための複数の割当情報が記憶してある。管理部は車両状態を特定し、特定した車両状態に基づき、複数の割当情報のうち、いずれかの割当情報を決定する。管理部は決定した割当情報を仮想装置に適用する。言い換えると管理部は、決定した割当情報を用いて車載装置に対する仮想装置の割り当てを行う。管理部が決定した割当情報を仮想装置に適用するにあたり、現時点にて適用されている割当情報である現時点割当情報と、決定した割当情報である次時点割当情報とが同一である場合、決定された割当情報の仮想装置への適用は、現時点割当情報を維持するものとなる。管理部は、現時点にて適用されている割当情報である現時点割当情報と、決定した割当情報である次時点割当情報とが異なる場合、次時点割当情報を適用することにより、仮想装置の割り当てに用いる割当情報を、現時点割当情報から次時点割当情報へ切り替える。管理部は車両状態に応じて適切に、車載装置に対する仮想装置の割り当てを切り替えることができる。言い換えると、管理部は車両状態に応じて適切に、仮想装置を車載装置に割り当てることができる。
(2)本開示の一態様に係る車載装置は、前記管理部は、前記車両状態を特定するための特定情報を前記仮想装置から取得し、取得した前記特定情報に基づき、前記車両状態を特定する。
 本態様にあたっては、管理部は、車両状態を特定するための特定情報を仮想装置から取得する。特定情報は、例えば車両に搭載されたセンサ等の車載機器の検出結果を含む。管理部は、取得した特定情報に基づき車両状態を特定する。管理部は、特定した車両状態に基づき割当情報を決定する。仮想装置が車両状態を特定する必要がないので、仮想装置が行う処理を少なくすることができる。
(3)本開示の一態様に係る車載装置は、前記仮想装置は、前記車両状態を特定し、前記管理部は、前記仮想装置によって特定された前記車両状態を前記仮想装置から取得する。
 本態様にあたっては、仮想装置は、車両状態を特定し、特定した車両状態を管理部へ出力する。管理部は、仮想装置から出力された車両状態を取得し、取得した車両状態に基づき割当情報を決定する。管理部は仮想装置によって特定された車両状態を仮想装置から取得するので、管理部が車両状態を特定するために行う処理を少なくすることができる。
(4)本開示の一態様に係る車載装置は、前記管理部は、自装置のハードウェアの状態に基づき、前記車両状態を特定する。
 本態様にあたっては、管理部は車載装置のハードウェアの状態に基づき車両状態を特定する。ハードウェアの状態は、ハードウェアの負荷、例えば車載装置の通信頻度を含む。管理部は、特定した車両状態に基づき割当情報を決定する。車両状態の特定において仮想装置が処理を行う必要がないので、仮想装置が行う処理を少なくすることができる。
(5)本開示の一態様に係る車載装置は、前記管理部は、前記車両状態を複数回、特定し、特定した前記複数回の前記車両状態において、同一の前記車両状態が所定回数以上連続した場合、同一の前記車両状態に基づき前記割当情報を決定する。
 本態様にあたっては、管理部は車両状態を複数回、特定する。管理部は、特定した複数回の車両状態において、同一の車両状態が所定回数以上連続したか否かを判定する。管理部は、同一の車両状態が所定回数以上連続した場合、当該同一の車両状態に基づき、割当情報を決定し、決定した割当情報を仮想装置に適用する。言い換えると管理部は、所定回数以上連続した同一の車両状態に基づき決定した割当情報を用いて、仮想装置の割り当てを行う。管理部は、同一の車両状態が所定回数以上連続しなかった場合、割当情報の決定を行わない。管理部は、既に仮想装置に適用されている割当情報を用いて仮想装置の割り当てを行う。車両状態の変化の頻度が多い場合であっても、管理部は、適切に車載装置に仮想装置を割り当てることができる。
(6)本開示の一態様に係る車載装置は、前記管理部は、前記車両状態を複数回、特定し、特定した前記複数回の前記車両状態において、同一の前記車両状態の回数が所定値以上である場合、同一の前記車両状態に基づき前記割当情報を決定する。
 本態様にあたっては、管理部は車両状態を複数回、特定する。管理部は、特定した複数回の車両状態において、同一の車両状態の回数が所定値以上であるか否かを判定する。所定値は、例えば複数回の50%以上の値である。管理部は、同一の車両状態の回数が所定値以上である場合、当該同一の車両状態の回数が所定値以上である車両状態に基づき、割当情報を決定し、決定した割当情報を仮想装置に適用する。言い換えると管理部は、複数回特定した車両状態のうち、同一の車両状態の回数が所定値以上である車両状態に基づき決定した割当情報を用いて、仮想装置の割り当てを行う。管理部は、同一の車両状態の回数が所定値未満である場合、割当情報の決定を行わない。管理部は、既に仮想装置に適用されている割当情報を用いて仮想装置の割り当てを行う。車両状態の変化の頻度が多い場合であっても、管理部は、適切に車載装置に仮想装置を割り当てることができる。
(7)本開示の一態様に係る車載装置は、前記管理部は、前記割当情報を適用することによって、割り当てられる前記仮想装置の種類を変更する。
 本態様にあたっては、管理部による割当情報の適用によって、車載装置に割り当てられる仮想装置の種類が変更される。管理部は、車両状態に応じた適切な種類の仮想装置を車載装置に割り当てることができる。
(8)本開示の一態様に係る車載装置は、前記管理部は、前記割当情報を適用することによって、割り当てられる前記仮想装置の個数を変更する。
 本態様にあたっては、管理部による割当情報の適用によって、車載装置に割り当てられる仮想装置の個数が変更される。管理部は、車両状態に応じた適切な個数の仮想装置を車載装置に割り当てることができる。
(9)本開示の一態様に係る車載装置は、前記管理部は、前記割当情報を適用することによって、前記仮想装置それぞれが割り当てられる時間の少なくとも1つを変更する。
 本態様にあたっては、管理部による割当情報の適用によって、車載装置に仮想装置それぞれが割り当てられる時間のうち、少なくとも1つの時間が変更される。管理部は、車両状態に応じた適切な時間、仮想装置を車載装置に割り当てることができる。
(10)本開示の一態様に係る車載装置は、前記管理部は、前記割当情報を適用することによって、前記仮想装置の割り当てが行われる周期を変更する。
 本態様にあたっては、管理部による割当情報の適用によって、車載装置に仮想装置の割り当てが行われる周期が変更される。管理部は、車両状態に応じた適切な周期にて、車載装置に仮想装置の割り当てを行うことができる。
(11)本開示の一態様に係る情報処理方法は、車両に搭載され、複数のプログラムの動作環境となる複数の仮想装置を生成する車載装置が行う情報処理方法であって、前記車両の状態を示す車両状態を特定し、特定した前記車両状態に基づき、前記車載装置に対して前記仮想装置を割り当てるための複数の割当情報のうち、いずれかの前記割当情報を決定し、決定した前記割当情報を前記仮想装置に適用する。
 本態様にあたっては、態様(1)と同様に、車両状態に応じて適切に、仮想装置を車載装置に割り当てることができる。
(12)本開示の一態様に係るコンピュータプログラムは、車両に搭載され、複数のプログラムの動作環境となる複数の仮想装置を生成するコンピュータに処理を実行させるコンピュータプログラムであって、前記車両の状態を示す車両状態を特定し、特定した前記車両状態に基づき、前記コンピュータに対して前記仮想装置を割り当てるための複数の割当情報のうち、いずれかの前記割当情報を決定し、決定した前記割当情報を前記仮想装置に適用する処理をコンピュータに実行させる。
 本態様にあたっては、コンピュータを、本開示の一態様の車載装置として機能させることができる。
[本開示の実施形態の詳細]
 本開示をその実施形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る車載装置を、以下に図面を参照しつつ説明する。なお、本開示はこれらの例示に限定されるものではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
 (実施形態1)
 以下、実施の形態について図面に基づいて説明する。図1は、実施形態1に係る車載システムSの構成を例示する模式図である。車載システムSは、車両Cに搭載される複数の車載ECU2を含む。車載ECU2には車載機器3が接続される。
 複数の車載ECU2は、車両Cの全体を制御する統合的な車載ECU2(統合ECU)、及び当該統合的な車載ECU2と通信可能に接続され、車載機器3と直接、接続される個別的な車載ECU2(個別ECU)を含むものであってもよい。統合的な車載ECU2は、図示しない車外通信装置を介して、インターネット等の外部ネットワークに接続される図示しない外部サーバと、通信可能に接続されるものであってもよい。車載ECU2は車載装置に相当する。
 図1において、統合的な車載ECU2と、複数の個別的な車載ECU2とは、スター状のネットワークトポロジーを形成する車載ネットワーク4によって通信可能に接続される。当該統合的な車載ECU2は、スター状のネットワークトポロジーの中心に位置して設けられている。車載システムSにおけるネットワークトポロジーは上記の例に限定されない。車載システムSは、隣接する個々の個別的な車載ECU2同士が接続され、ループ状のネットワークトポロジーを構成し、双方向通信を可能として冗長化を図る構成であってもよい。
 個別的な車載ECU2は、車両Cにおける各エリアに配置され、複数の車載機器3と接続される。個別的な車載ECU2は、接続される車載機器3と信号又はデータを送受信する。また個別的な車載ECU2は、統合的な車載ECU2と通信を行う。個別的な車載ECU2は、当該個別的な車載ECU2に接続される複数の車載機器3間の通信、又は車載機器3と他の車載ECU2との通信を中継するゲートウェイ又はイーサスイッチ等の車載中継装置として機能する中継制御ECUであってもよい。個別的な車載ECU2は、通信に関する中継に加え、図示しない蓄電装置から出力された電力を分配及び中継し、自ECUに接続される車載機器3に供給する電力分配装置としても機能してよい。
 車載機器3は例えば、ドア開閉装置、及びモータ装置等のアクチュエータ30と、LiDAR(Light Detection and Ranging)、ライトセンサ、CMOSカメラ、及び赤外線センサ等の各種センサ31とを含む。車載機器3は上記の例に限定されず、ドアSW(スイッチ)、及びランプSW等のスイッチでもよく、ランプでもよい。
 統合的な車載ECU2は、例えばヴィークルコンピュータ等の中央制御装置である。統合的な車載ECU2は、個別的な車載ECU2等の他の車載ECU2を介して中継された車載機器3からのデータに基づき、個々の車載機器3への制御信号を生成及び出力する。統合的な車載ECU2は、他の車載ECU2から出力される要求信号等の情報又はデータに基づき、当該要求信号の対象となるアクチュエータ30を制御するための制御信号を生成し、生成した制御信号を他の車載ECU2に出力する。本実施形態において車載システムSは、統合的な車載ECU2及び個別的な車載ECU2によって構成されるが、車載システムSは、統合的な車載ECU2及び個別的な車載ECU2による構成に限定されない。車載システムSは、例えばCAN(Controller Area Network)ゲートウェイ又はイーサスイッチ等の中継装置によってピアツーピアに接続された複数の車載ECU2によって構成されるものであってもよい。
 図2は、車載ECU2の物理構成を例示するブロック図である。車載ECU2は、制御部20、記憶部21及び車内通信部22を含む。制御部20は、CPU(Central Processing Unit)、又はMPU(Micro Processing Unit)等の演算処理装置によって構成される。制御部20は、記憶部21に予め記憶された制御プログラムP及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行うようにしてある。制御部20は、例えば、シングルコアのシングルCPU、シングルコアのマルチCPU、マルチコアのシングルCPU、及びマルチコアのマルチCPUを含む。制御部20は、CPU等のソフトウェア処理を行うソフトウェア処理部のみに限定されず、FPGA、ASIC又はSOC等のハードウェア処理にて種々の制御処理及び演算処理等を行うハードウェア処理部を含むものであってもよい。
 制御部20は、例えばCPUの1つのコアによって構成される演算装置200を含む。本実施形態においては、制御部20がクアッドコアのCPUである例を説明する。制御部20はクアッドコアなので4つのコアを有する。制御部20は、第1のコアによって構成される第1演算装置201と、第2のコアによって構成される第2演算装置202と、第3のコアによって構成される第3演算装置203と、第4のコアによって構成される第4演算装置204との4つの演算装置200を含む。なお演算装置200の個数は4つに限定されない。
 記憶部21は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子によって構成される。記憶部21は、上記の揮発性のメモリ素子及び不揮発性のメモリ素子等の記憶デバイスの組み合わせにより構成されてもよい。記憶部21には、制御プログラムP及び処理時に参照するデータが予め記憶してある。当該制御プログラムPは、例えば、各種の車載機器3を制御するためのプログラム、又はLiDAR又はCMOSカメラからの出力データ基づき自動化運転を行うための物標認識を行うプログラム等の複数のプログラムを含む。これらのプログラムはアプリケーションとも称される。更に、車載ECU2の記憶部21には、例えば、Hypervisor、VMware又はXen等の仮想化オペレーティングシステムが記憶されている。更に記憶部21には、後述の割当情報テーブル210が記憶されている。
 なお記憶部21に記憶された制御プログラムPは、車載ECU2が読み取り可能な記録媒体Aから読み出された制御プログラムPを記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータから制御プログラムPをダウンロードし、記憶部21に記憶させたものであってもよい。制御プログラムPは、コンピュータプログラムに相当する。
 車内通信部22は、例えばCAN(Controller Area Network)又はイーサネット(Ethernet/登録商標)の通信プロトコルを用いた入出力インターフェイスであり、制御部20は、車内通信部22を介して車載ネットワーク4に接続されている他の車載ECU2と相互に通信する。
 図3は、車載ECU2の論理構成を例示するブロック図である。図3のブロック図には、制御部20等によるハードウェア層(物理基盤)を最下層とし、仮想ECU5にて実行されるプログラム、及び仮想ECU管理プログラム等によるソフトウェア層を最上層とした階層構造が例示されている。
 上述のように車載ECU2の記憶部21には、例えば、Hypervisor、VMware又はXen等の仮想化オペレーティングシステムが記憶されている。車載ECU2の制御部20は、仮想化オペレーティングシステムを用いて起動することにより、仮想化オペレーティングシステム上にて複数の仮想ECU5を構築することができる。本実施形態においては、第1仮想ECU51、第2仮想ECU52、第3仮想ECU53、第4仮想ECU54、第5仮想ECU55、及び第6仮想ECU56の6つの仮想ECU5が構築される。各種の車載機器3を制御するためのプログラムは、これら複数の仮想ECU5のうちのいずれかの仮想ECU5を動作環境として、実行される。すなわち、これらプログラムは、いずれかの仮想ECU5上にて、実行されるものとなる。仮想ECU5がプログラムを実行することにより、当該プログラムの処理内容に応じて単一又は複数のタスクが生成される。当該タスクによって、より細分化又は区分化された処理単位が実行されるものとなる。
 本実施形態においては、仮想化の方式が、仮想化オペレーティングシステムによって直接的に制御部20等のハードウェアリソースにアクセスするハイパーバイザ方式である例を説明するが、仮想化の方式はハイパーバイザ方式に限定されない。例えば仮想化の方式は、仮想化オペレーティングシステムとハードウェアリソースとの間にLinux(登録商標)等のオペレーティングシステムが介在するホストOS方式であってもよい。また仮想化の方式は、コンテナ方式の仮想化オペレーティングシステムを用いるものであってもよい。
 仮想化オペレーティングシステムを用いて起動した車載ECU2は、仮想化オペレーティングシステムの機能により、複数の仮想ECU5を構築することができる。複数の仮想ECU5には、車載ECU2が備える制御部20及び記憶部21等のハードウェアリソースが割り当てられる。例えば仮想ECU5は、制御部20に割り当てられる図示しない仮想制御部と、記憶部21に割り当てられる図示しない仮想記憶部と、車内通信部22に割り当てられる図示しない仮想車内通信部とを含む。詳しくは、仮想制御部は、制御部20が時分割されて周期的に割り当てられる。仮想記憶部は、記憶部21が領域分割されて割り当てられる。仮想ECU5は、仮想装置に相当する。
 仮想ECU5それぞれの仮想記憶部それぞれには、例えばUbuntu(登録商標)等のゲストOSが記憶され、仮想ECU5それぞれはゲストOSを起動し、当該ゲストOSの上でプログラムを実行する。当該ゲストOSは、個々の仮想ECU5に応じて、異なる種類のOSであってもよい。上述のごとく仮想記憶部の実体は、仮想ECU5それぞれに割り当てられた記憶部21の記憶領域であるため、ゲストOSも仮想化オペレーティングシステムと同様に記憶部21に記憶されていることは、言うまでもない。コンテナ方式の仮想化オペレーティングシステムを用いる場合、ゲストOSを不要とし、当該仮想化オペレーティングシステムの上でコンテナを生成し、当該コンテナ上にてプログラムを実行するものであってもよい。この場合、コンテナは仮想ECU5に相当する。
 仮想化オペレーティングシステムを用いて起動した車載ECU2の制御部20においては、複数の仮想ECU5を含む複数の仮想環境が構築される。詳しくは、複数の仮想ECU5として機能する第1の仮想環境と、全ての仮想ECU5を管理する仮想ECU管理プログラムを実行するための第2の仮想環境とが構築される。制御部20は、第2の仮想環境にて仮想ECU管理プログラムを実行することにより、仮想化オペレーティングシステムのコントロールパネルとして機能する。言い換えると制御部20は、第2の仮想環境にて、仮想ECU管理プログラムを実行することにより、複数の仮想ECU5を管理する管理部1として機能する。なお仮想オペレーティングシステム自体が、管理部1としての機能を包含するものであってもよい。本実施形態においては、第4演算装置204が仮想ECU管理プログラムを実行することにより、管理部1として機能する例を説明する。
 記憶部21には、車載ECU2に対して仮想ECU5を割り当てるための複数の割当情報を格納する割当情報テーブル210が記憶されている。管理部1は、割当情報テーブル210に基づき、個々の仮想ECU5に対する演算装置200の利用時間の割り当て、いわゆるスケジューリングを行う。例えばスケジューリングは周期的に行われる。以下、仮想ECU5及び管理部1を含む仮想環境に対して割り当てられる演算装置200の利用時間を、演算装置200の割当時間とも称する。演算装置200の割当時間は、仮想装置が割り当てられる時間に相当する。
 図4は、割当情報テーブル210の内容を例示する概念図である。割当情報テーブル210には、ナンバー(No.)と関連付けられた複数の割当情報が格納される。割当情報は、例えばスケジューリングのための情報がテーブル形式にて示されるスケジューリングテーブルである。割当情報は、車載ECU2において構築される仮想環境に対する演算装置200の割当時間と、後述の割当周期とを含む。
 図4の割当情報テーブル210はナンバー列、割当周期列、第1演算装置201の割当時間列、第2演算装置202の割当時間列、第3演算装置203の割当時間列、及び第4演算装置204の割当時間列を含む。ナンバー列には、割当情報を識別するためのナンバーが格納される。
 第1演算装置201の割当時間列には、車載ECU2において構築される6つの仮想ECU5に対する第1演算装置201の割当時間が格納される。第2演算装置202の割当時間列には、6つの仮想ECU5に対する第2演算装置202の割当時間が格納される。第3演算装置203の割当時間列には、6つの仮想ECU5に対する第3演算装置203の割当時間が格納される。第4演算装置204の割当時間列には、管理部1に対する第4演算装置204の割当時間が格納される。
 割当周期列には、割当周期が格納される。割当周期は、管理部1が仮想ECU5に対する演算装置200の利用時間の割り当てを行う周期である。言い換えると割当周期は、管理部1が仮想ECU5に対する演算装置200の利用時間の割り当てを行う期間である。割当情報テーブル210において、ナンバー、割当周期、第1演算装置201の割当時間、第2演算装置202の割当時間、第3演算装置203の割当時間、及び第4演算装置204の割当時間は関連付けられている。割当情報それぞれにおいて、演算装置200ごとの割当時間の合算値が割当周期に相当する。割当周期の間、1又は複数の仮想ECU5に対して演算装置200の利用時間が割り当てられる。割当周期は、いわゆるタイムスライスである。
 例えばNo.1の割当情報の場合、第1演算装置201において、第1仮想ECU51に対する第1演算装置201の割当時間は、1ms(msec)である。第1仮想ECU51を除く他の5つの仮想ECU5に対する第1演算装置201の割当時間は、0msである。即ち他の5つの仮想ECU5に対しては、第1演算装置201の利用時間は割り当てられない。このとき、第1演算装置201における割当時間の合算値は1msである。
 第2演算装置202において、第3仮想ECU53に対する第2演算装置202の割当時間は、1msである。第3仮想ECU53を除く他の5つの仮想ECU5に対する第2演算装置202の割当時間は、0msである。即ち他の5つの仮想ECU5に対しては、第2演算装置202の利用時間は割り当てられない。このとき、第2演算装置202における割当時間の合算値は1msである。
 第3演算装置203において、第5仮想ECU55に対する第3演算装置203の割当時間は、0.5msである。第6仮想ECU56に対する第3演算装置203の割当時間は、0.5msである。第5仮想ECU55及び第6仮想ECU56を除く他の4つの仮想ECU5に対する第3演算装置203の割当時間は、0msである。即ち他の4つの仮想ECU5に対しては、第3演算装置203の利用時間は割り当てられない。このとき、第3演算装置203における割当時間の合算値は1msである。
 第4演算装置204において、管理部1に対する第4演算装置204の割当時間は、1msである。割当周期は、1msであり、演算装置200ごとの割当時間の合算値と同一である。
 管理部1は、割当情報テーブル210に格納された複数の割当情報のうち、いずれかの割当情報を用いて、仮想ECU5に対する第1演算装置201、第2演算装置202、及び第3演算装置203の利用時間の割り当てを行う。以下、仮想ECU5に対する演算装置200の利用時間の割り当てを、仮想ECU5の割り当てとも称する。
 以下、管理部1が行う仮想ECU5の割り当ての一例について説明する。例えば車両Cの図示しないIG(イグニッション)スイッチが停止状態から起動状態に遷移した際、第4演算装置204は、管理部1として機能する。管理部1は、割当情報テーブル210を参照し、複数の割当情報のうち、予め起動時に用いられるように設定された割当情報を用いて、仮想ECU5の割り当てを行う。以下、予め起動時に用いられるように設定された割当情報を、起動時の割当情報とも称する。起動時の割当情報は、例えば割当情報テーブル210に格納されたNo.1の割当情報であるが、No.1の割当情報に限定されない。例えば起動時は、IGスイッチが停止状態から起動状態へ遷移した時点である。
 起動時の割当情報がNo.1の割当情報である場合、管理部1は、No.1の割当情報に基づき、1msという割当周期の間、第4演算装置204を除く3つの演算装置200の利用時間を仮想ECU5に割り当てる。詳しくは、第1演算装置201は1msの間、第1仮想ECU51に対して割り当てられる。第2演算装置202は1msの間、第3仮想ECU53に対して割り当てられる。
 第3演算装置203は0.5msの間、第5仮想ECU55に対して割り当てられ、第5仮想ECU55の割り当て後、更に0.5msの間、第6仮想ECU56に対して割り当てられる。第5仮想ECU55の割り当てが第6仮想ECU56の割り当てよりも先に行われる例を説明したが、第6仮想ECU56の割り当てが第5仮想ECU55の割り当てよりも先に行われてもよい。1つの割当周期の間に、1つの演算装置200が2つ以上の仮想ECU5に対して割り当てられる場合、当該2つ以上の仮想ECU5の割り当ての順番は、限定されない。
 管理部1は、管理部1が仮想ECU5の割り当てを開始した時点から、割当周期が経過する際、車両Cの状態を示す車両状態を特定する。言い換えると管理部1は、管理部1が仮想ECU5の割り当てを開始した時点から、上述の演算装置200ごとの割当時間の合算値が経過する際、車両状態を特定する。車両状態の特定については後述する。
 例えば、割当周期には、管理部1が仮想ECU5の割り当てを開始した時点から、演算装置200ごとの割当時間の合算値が経過した後に設けられ、管理部1が車両状態の特定に係る処理を行うための特定時間が含まれていてもよい。当該特定時間は、いわゆるオーバーヘッドのための時間である。この場合、割当周期は、上述の演算装置200ごとの割当時間の合算値に、特定時間を加えた時間である。例えば、演算装置200ごとの割当時間の合算値が1msであって、特定時間が0.1msである場合、割当周期は、1.1msに設定される。割当周期に特定時間が含まれている場合、管理部1は、仮想ECU5の割り当てを開始した時点から、演算装置200ごとの割当時間の合算値が経過した後、特定時間において車両状態の特定を行う。なお特定時間は0.1msに限定されない。
 例えば車両状態は、手動運転が行われる手動運転状態と、自動運転が行われる自動運転状態と、車両CのIGスイッチが停止状態であるIG停止状態とを含む。また車両状態は、車両Cが前進を行う前進状態と、車両Cが後進を行う後進状態と、車両Cが停車している停車状態を含む。例えば車両状態は、手動運転状態の車両Cが前進を行う手動運転時前進状態と、手動運転状態の車両Cが後進を行う手動運転時後進状態と、手動運転状態の車両Cが停車している手動運転時停車状態を含んでもよい。また車両状態は、自動運転状態の車両Cが前進を行う自動運転時前進状態と、自動運転状態の車両Cが後進を行う自動運転時後進状態と、自動運転状態の車両Cが停車している自動運転時停車状態を含んでもよい。
 管理部1は、割当周期の経過後、後述の所定の条件を満たす車両状態がある場合、所定の条件を満たす車両状態に基づき、仮想ECU5の割り当て(スケジューリング)に用いる割当情報を決定する。例えば記憶部21には、車両状態と、割当情報テーブル210に格納された割当情報のナンバーとが関連付けられて格納される切り替えテーブルが記憶してある。管理部1は、切り替えテーブルを参照し、所定の条件を満たす車両状態と関連付けられた割当情報のナンバーを取得することによって、割当情報を決定する。なお割当情報テーブル210に、車両状態が割当情報と関連付けられて格納されていてもよい。管理部1は決定した割当情報を、仮想ECU5に適用する。
 管理部1が決定した割当情報を仮想装置に適用する際、現時点にて仮想ECU5に適用されている割当情報である現時点割当情報と、管理部1が決定した割当情報である次時点割当情報とが割当情報に含まれる。上記の例においては、現時点割当情報は、No.1の割当情報である。管理部1が決定した割当情報を仮想装置に適用するにあたり、現時点割当情報と次時点割当情報とが同一である場合、割当情報の仮想装置への適用は、現時点割当情報を維持するものとなる。管理部1は、現時点割当情報と次時点割当情報とが異なる場合、次時点割当情報を適用することにより、仮想装置の割り当てに用いる割当情報を、現時点割当情報から次時点割当情報へ切り替える。管理部1は、適用した割当情報を用いて仮想ECU5の割り当てを行う。管理部1は、上述のように割当周期が経過する際、車両状態を特定する。
 所定の条件を満たす車両状態がない場合、管理部1は割当情報を決定しない。管理部1は直前の割当周期にて用いた割当情報と同一の割当情報を用いて、仮想ECU5の割り当てを行う。上記の例においては、管理部1が直前の割当周期にて用いた割当情報、No.1の割当情報である。管理部1は、上述のように割当周期が経過する際、車両状態を特定する。
 以下、車両状態の特定について説明する。例えば仮想ECU5は、車両状態を特定するための特定情報を取得する。例えば特定情報は、アクセルペダル、ブレーキペダル、又はシフトレバーの状態等の情報と、車載機器3に含まれるセンサ31の検出結果とを含む。仮想ECU5は、取得した特定情報を管理部1へ出力する。管理部1は、仮想ECU5から出力された特定情報を取得し、取得した特定情報に基づき、車両状態を特定する。
 例えば仮想ECU5は、取得した特定情報に基づき車両状態を特定し、特定した車両状態を管理部1へ出力してもよい。管理部1は、仮想ECU5から出力された車両状態を取得する。例えば管理部1は、管理部1及び仮想ECU5が構築される車載ECU2のハードウェアの状態に基づき、車両状態を特定してもよい。ハードウェアの状態は、ハードウェアの負荷、例えば車載ECU2の通信頻度を含む。車載ECU2の通信頻度が多い場合、ハードウェアの負荷は大きい。
 管理部1による車両状態の特定は、管理部1が上述のようにして特定情報又はハードウェアの状態に基づき車両状態を特定することと、管理部1が仮想ECU5によって特定された車両状態を仮想ECU5から取得することとを含む。管理部1は、割当周期それぞれにおいて車両状態を特定することによって、複数回、車両状態を特定する。言い換えると管理部1は、周期的に車両状態の特定を行う。以下、管理部1が車両状態の特定を行う周期を特定周期とも称する。例えば管理部1は車両状態の特定において、仮想ECU5から特定周期ごとに出力される特定情報又は車両状態を取得する。
 管理部1は、特定した車両状態を記憶部21に記憶する。例えば記憶部21には、管理部1が車両状態を特定した回数を示すカウント値が記憶されている。管理部1は車両状態の特定を行うごとにカウント値を1増加させる。管理部1は、特定した車両状態を記憶部21に記憶する際、特定した車両状態と増加させたカウント値とを関連付けて記憶する。管理部1は、車両状態と関連付けられて記憶されたカウント値に基づき、記憶部21に記憶された車両状態が特定された順番を判別することができる。
 例えば管理部1は、特定した車両状態と、当該車両状態を特定した時刻とを関連付けて記憶部21に記憶してもよい。管理部1は、車両状態と関連付けられて記憶された時刻に基づき、記憶部21に記憶された車両状態が特定された順番を判別することができる。
 図5は、車両状態の特定、及び割当情報の切り替えの一例を示す説明図である。図5には説明のために管理部1と、第1演算装置201とが示してある。また、管理部1が車両状態を特定する時点が、黒塗りの三角形によって示してある。管理部1は、上述のように割当周期が経過する際に車両状態を特定する。即ち、管理部1は周期的に車両状態を特定することによって、車両状態を複数回、特定する。管理部1は、車両状態を特定した際、所定回数以上、連続して同一の車両状態を特定したか否かを判定する。言い換えると管理部1は、特定した複数回の車両状態において、同一の車両状態が所定回数以上連続したか否かを判定する。例えば所定回数は、記憶部21に記憶してある。図5の例において、所定回数は3回であるが、所定回数は3回に限定されない。所定回数は、2回でもよく、4回以上でもよい。所定回数以上、連続して同一の車両状態が特定されることが本実施形態における所定の条件である。
 図5Aは、所定の条件を満たす車両状態がある場合、即ち割当情報の決定が行われる場合の説明図である。図5Aの例において、1回目の割当周期にて用いられる割当情報は、No.1の割当情報である。1回目の割当周期が経過する際に管理部1が特定した車両状態は、車両状態αである。管理部1は、3回連続して同一の車両状態を特定していないので、割当情報の決定を行わず、再度No.1の割当情報を用いて、2回目の割当周期において、仮想ECU5の割り当てを行う。2回目の割当周期が経過する際に管理部1が特定した車両状態は、車両状態αである。管理部1は、3回連続して同一の車両状態を特定していないので、割当情報の決定を行わず、再度No.1の割当情報を用いて、3回目の割当周期において、仮想ECU5の割り当てを行う。
 3回目の割当周期が経過する際に管理部1が特定した車両状態は、車両状態αである。管理部1は3回連続して同一の車両状態を特定したので、管理部1が特定した車両状態αは、所定の条件を満たす。管理部1は、車両状態αに基づき割当情報を決定する。言い換えると管理部1は、特定した複数回の車両状態において、同一の車両状態が所定回数以上連続した場合、同一の車両状態に基づき割当情報を決定する。管理部1は、決定した割当情報を仮想ECU5に適用する。即ち管理部1は、決定した割当情報を用いて仮想ECU5の割り当てを行う。図5Aにおいては、管理部1は割当情報を、No.1の割当情報からNo.2の割当情報に切り替える。管理部1は、No.2の割当情報を用いて、4回目の割当周期において、仮想ECU5の割り当てを行う。
 図5Bは、所定の条件を満たす車両状態がない場合、即ち割当情報の決定が行われない場合の説明図である。図5Bの例において、1回目の割当周期にて用いられる割当情報は、No.1の割当情報である。1回目の割当周期が経過する際に管理部1が特定した車両状態は、車両状態αである。管理部1は、3回連続して同一の車両状態を特定していないので、割当情報の決定を行わず、再度No.1の割当情報を用いて、2回目の割当周期において、仮想ECU5の割り当てを行う。2回目の割当周期が経過する際に管理部1が特定した車両状態は、車両状態βである。管理部1は、3回連続して同一の車両状態を特定していないので、割当情報の決定を行わず、再度No.1の割当情報を用いて、3回目の割当周期において、仮想ECU5の割り当てを行う。3回目の割当周期が経過する際に管理部1が特定した車両状態は、車両状態γである。管理部1は、3回連続して同一の車両状態を特定していないので、割当情報の決定を行わず、再度No.1の割当情報を用いて、4回目の割当周期において、仮想ECU5の割り当てを行う。
 管理部1は、車両状態の特定と、所定の条件を満たす車両状態があるか否かの判定を繰り返す。管理部1は、所定の条件を満たす車両状態がある場合、所定の条件を満たす車両状態に基づき、割当情報を決定する。言い換えると所定の条件を満たす車両状態は、割当情報の決定に用いられる車両状態である。
 例えば図5Aの例において、管理部1が4回目以降の割当周期においても車両状態αを車両状態として特定した場合、管理部1は同一の車両状態を所定回数以上連続して特定する。この場合、現時点割当情報と次時点割当情報とが同一であるので、決定された割当情報の仮想装置への適用によって、現時点割当情報は維持される。即ち管理部1は、再度No.2の割当情報を用いて、5回目の割当周期において、仮想ECU5の割り当てを行う。
 例えば記憶部21は、所定回数の値と同一の個数の車両状態を記憶することができる構成でもよい。所定回数が3回である場合、記憶部21は3つの車両状態を記憶することができる。記憶部21に3つの車両状態が記憶されている場合、管理部1は、新たに特定した車両状態を記憶部21に記憶する際、新たに特定した車両状態を、記憶部21に記憶された3つの車両状態のうち最も古くに記憶された車両状態に上書きする。
 図4の例において、管理部1が割当情報をNo.1の割当情報からNo.2の割当情報へ切り替えた場合を説明する。図6は、割当情報がNo.1の割当情報からNo.2の割当情報へ切り替わる場合に、第1演算装置201、第2演算装置202及び第3演算装置203に割り当てられる仮想ECU5を示す説明図である。
 No.1の割当情報が用いられる際、上述のように1msという割当周期の間において、第1演算装置201は1msの間、第1仮想ECU51に対して割り当てられる。また第2演算装置202は1msの間、第3仮想ECU53に対して割り当てられる。また第3演算装置203は0.5msの間、第5仮想ECU55に対して割り当てられ、更に0.5msの間、第6仮想ECU56に対して割り当てられる。また第4演算装置204は1msの間、管理部1に対して割り当てられる。
 割当情報がNo.1の割当情報からNo.2の割当情報へ切り替わることによって、1msという割当周期の間において、第1演算装置201は1msの間、第2仮想ECU52に対して割り当てられる。また第2演算装置202は1msの間、第4仮想ECU54に対して割り当てられる。また第3演算装置203は0.5msの間、第5仮想ECU55に対して割り当てられ、更に0.5msの間、第6仮想ECU56に対して割り当てられる。また第4演算装置204は1msの間、管理部1に対して割り当てられる。
 No.1の割当情報からNo.2の割当情報へ切り替えられることによって、第1演算装置201及び第2演算装置202に割り当てられる仮想ECU5の種類が変更される。言い換えると管理部1は、割当情報を適用することによって、演算装置200(車載ECU2)に割り当てる仮想ECU5の種類を変更する。
 例えば車両Cの車両状態が前進状態から停車状態に変化した際に、1つの演算装置200に割り当てられる仮想ECU5の種類を、前進状態にて動作する仮想ECU5から、停車状態にて動作する仮想ECU5へ切り替えることができる。例えば前進状態にて動作する仮想ECU5は、レーダー等のセンサ31に関する処理、及び車両Cの走行機能に関する処理を行う。車両Cの走行機能に関する処理は、例えばエンジンの制御処理、及びアクセルの制御処理等の処理を含む。例えば停車状態にて動作する仮想ECU5は、伝導パーキングブレーキ機能に関する処理、及び駐車監視機能に関する処理を行う。
 例えば図4の例において、割当情報がNo.1の割当情報からNo.3の割当情報へ切り替えられた場合、1msという割当周期の間において、第1演算装置201は、0.5msの間、第1仮想ECU51に対して割り当てられ、更に0.5msの間、第2仮想ECU52に対して割り当てられる。また第2演算装置202は、0.5msの間、第3仮想ECU53に対して割り当てられ、更に0.5msの間、第4仮想ECU54に対して割り当てられる。また第3演算装置203は0.5msの間、第5仮想ECU55に対して割り当てられ、更に0.5msの間、第6仮想ECU56に対して割り当てられる。また第4演算装置204は1msの間、管理部1に対して割り当てられる。
 割当情報がNo.1の割当情報からNo.3の割当情報へ切り替えられることによって、第1演算装置201及び第2演算装置202に割り当てられる仮想ECU5の個数が変更される。言い換えると管理部1は、割当情報を適用することによって、演算装置200(車載ECU2)に割り当てられる仮想ECU5の個数を変更する。なお割り当てられる仮想ECU5の個数が変更されているので、割り当てられる仮想ECU5の種類も変更されている。
 また割当情報がNo.1の割当情報からNo.3の割当情報へ切り替えられることによって、第1演算装置201及び第2演算装置202の割当時間が変更される。言い換えると管理部1は、割当情報を適用することによって、演算装置200(車載ECU2)に仮想ECU5それぞれが割り当てられる時間の少なくとも1つを変更する。
 例えば割当情報がNo.1の割当情報からNo.4の割当情報へ切り替えられた場合、1msという割当周期の間において、第1演算装置201は、0.5msの間、第1仮想ECU51に対して割り当てられ、更に0.5msの間、第3仮想ECU53に対して割り当てられる。また第2演算装置202は1msの間、第5仮想ECU55に対して割り当てられる。また第3演算装置203は1msの間、第6仮想ECU56に対して割り当てられる。また第4演算装置204は1msの間、管理部1に対して割り当てられる。第1演算装置201において、仮想ECU5の個数及び種類と、割当時間とが変更される。第2演算装置202において、仮想ECU5の種類が変更される。第3演算装置203において、仮想ECU5の個数及び種類と、割当時間とが変更される。
 例えば割当情報がNo.1の割当情報からNo.Nの割当情報へ切り替えられた場合、2msという割当周期の間において、第1演算装置201は、1msの間、第1仮想ECU51に対して割り当てられ、更に1msの間、第2仮想ECU52に対して割り当てられる。また第2演算装置202は、1msの間、第3仮想ECU53に対して割り当てられ、更に1msの間、第4仮想ECU54に対して割り当てられる。また第3演算装置203は1msの間、第5仮想ECU55に対して割り当てられ、更に1msの間、第6仮想ECU56に対して割り当てられる。また第4演算装置204は2msの間、管理部1に対して割り当てられる。なおNは自然数である。
 割当情報がNo.1の割当情報からNo.Nの割当情報へ切り替えられることによって、割当周期が変更される。言い換えると管理部1は、割当情報を適用することによって、割当周期を変更する。割当周期は、演算装置200(車載ECU2)に仮想ECU5の割り当てが行われる周期である。割当周期は、仮想装置の割り当てが行われる周期に相当する。割当情報がNo.1の割当情報からNo.Nの割当情報へ切り替えられることによって、割当周期の変更に加えて、第1演算装置201及び第2演算装置202に割り当てられる仮想ECU5の個数が変更される。また第3演算装置203の割当時間が変更される。
 例えば割当情報がNo.1の割当情報からNo.N+1の割当情報へ切り替えられた場合、2msという割当周期の間において、第1演算装置201は、1.7msの間、第1仮想ECU51に対して割り当てられ、更に0.3msの間、第2仮想ECU52に対して割り当てられる。また第2演算装置202は、1msの間、第3仮想ECU53に対して割り当てられ、更に1msの間、第4仮想ECU54に対して割り当てられる。また第3演算装置203は1msの間、第5仮想ECU55に対して割り当てられ、更に1msの間、第6仮想ECU56に対して割り当てられる。また第4演算装置204は2msの間、管理部1に対して割り当てられる。No.1の割当情報からNo.N+1の割当情報へ切り替えられることによって、割当周期が変更される。また、第1演算装置201において、仮想ECU5の個数及び種類と、割当時間とが変更される。第2演算装置202において、仮想ECU5の個数及び種類が変更される。第3演算装置203において、割当時間が変更される。
 例えば割当情報がNo.1の割当情報からNo.N+2の割当情報へ切り替えられる場合、2msという割当周期の間において、第1演算装置201は、1msの間、第1仮想ECU51に対して割り当てられ、更に1msの間、第3仮想ECU53に対して割り当てられる。また第2演算装置202は、2msの間、第5仮想ECU55に対して割り当てられる。また第3演算装置203は2msの間、第6仮想ECU56に対して割り当てられる。また第4演算装置204は2msの間、管理部1に対して割り当てられる。No.1の割当情報からNo.N+2の割当情報へ切り替えられることによって、第1演算装置201において、仮想ECU5の個数及び種類が変更される。第2演算装置202において、仮想ECU5の種類と割当時間とが変更される。第3演算装置203において、仮想ECU5の種類と割当時間とが変更される。
 なお割当情報は、No.1の割当情報以外の割当情報から切り替えられてもよい。図7は、割当情報がNo.3の割当情報からNo.N+1の割当情報へ切り替えられ場合に、第1演算装置201に割り当てられる仮想ECU5を示す説明図である。No.3の割当情報が用いられる場合、1msという割当周期の間において、第1演算装置201は0.5msの間、第1仮想ECU51に対して割り当てられ、更に0.5msの間、第2仮想ECU52に対して割り当てられる。割当情報がNo.3の割当情報からNo.N+1の割当情報へ切り替えられ場合、割当周期は1msから2msに変更される。2msという割当周期の間において、第1演算装置201は1.7msの間、第1仮想ECU51に対して割り当てられ、更に0.3msの間、第2仮想ECU52に対して割り当てられる。
 割当情報がNo.3の割当情報からNo.N+1の割当情報へ切り替えられる場合の第2演算装置202及び第3演算装置203における仮想ECU5の割り当てについての説明は省略する。
 例えば車両Cの車両状態が停車状態から前進状態に変化した際に、前進状態において処理負荷が大きい仮想ECU5に割り当てられる時間を、前進状態において処理負荷が小さい仮想ECU5に割り当てられる時間よりも長くすることができる。前進状態において処理負荷が大きい仮想ECU5は、例えば車両Cの前部及び側部に設けられた前側方レーダーに関する処理を行う。車両Cの車両状態が前進状態である場合、前進状態において処理負荷が大きい仮想ECU5が前側方レーダーから出力される信号又はメッセージを受信する頻度は多いので、前進状態において処理負荷が大きい仮想ECU5が処理に要する時間は長い。上記の例においては第1仮想ECU51が、前進状態において処理負荷が大きい仮想ECU5に相当する。
 前進状態において処理負荷が小さい仮想ECU5は、例えば車両Cの後部に設けられた後方レーダーに関する処理を行う。車両Cの車両状態が前進状態である場合、前進状態において処理負荷が小さい仮想ECU5が後方レーダーから出力される信号又はメッセージを受信する頻度は少ないので、前進状態において処理負荷が小さい仮想ECU5が処理に要する時間は短い。上記の例においては第2仮想ECU52が、前進状態において処理負荷が小さい仮想ECU5に相当する。
 上述のように割当情報の切り替えによって、割り当てられる仮想ECU5の個数、割り当てられる仮想ECU5の種類、割当時間、及び割当周期の少なくとも1つが変更される。なお割り当てられる仮想ECU5の個数、割り当てられる仮想ECU5の種類、割当時間、及び割当周期は上述の例に限定されない。例えば割当周期は3ms以上でもよい。
 割当情報は上述の例に限定されない。例えば割当情報によっては、第1演算装置201、第2演算装置202及び第3演算装置203のいずれかの利用時間が仮想ECU5に対して割り当てられていなくてもよい。
 例えば割当周期は演算装置200ごとに異なっていてもよい。例えば第1演算装置201及び第2演算装置202それぞれに関する割当周期が1msであって、第3演算装置203に関する割当周期が2msであってもよい。この場合、第1演算装置201における割当時間の合算値は1msである。第2演算装置202における割当時間の合算値は1msである。第3演算装置203における割当時間の合算値は2msである。第3演算装置203に関する割当周期が1回経過する際、第1演算装置201及び第2演算装置202それぞれに関する割当周期が2回経過する。
 管理部1は演算装置200それぞれに関する割当周期のうち、最も長い割当周期が経過する際に車両状態の特定を行い、所定の条件を満たす車両状態があるか否かを判定する。上記の例の場合、管理部1は、第3演算装置203に関する割当周期が経過する際、車両状態の特定を行う。言い換えると管理部1は、2回目に第1演算装置201及び第2演算装置202それぞれに関する割当周期が経過する際、車両状態の特定を行う。
 図8は、管理部1が行う仮想ECU5の割り当てに係る処理を例示するフローチャートである。例えば、第4演算装置204は、車両CのIGスイッチが停止状態から起動状態に遷移した際、第4演算装置204は管理部1として機能する。管理部1は以下の処理を行う。以下、ステップをSと省略する。
 管理部1は、起動時の割当情報を用いて、仮想ECU5の割り当てを実行する(S11)。管理部1は、IGスイッチが停止状態から起動状態に遷移した際に車両状態を特定し、特定した車両状態に基づき決定した割当情報を用いて、仮想ECU5の割り当てを実行してもよい。上述のように管理部1は、仮想ECU5の割り当てを開始した時点から、割当周期が経過する際、車両状態を特定し(S12)、特定した車両状態を記憶部21に記憶する。管理部1は車両状態の特定において、仮想ECU5から車両状態を取得してもよく、ハードウェアの状態又は仮想ECU5から取得した特定情報に基づき車両状態を特定してもよい。
 管理部1は、仮想ECU5の割り当てを開始した時点から割当周期が経過したことを確認する(S13)。管理部1は、同一の車両状態を所定回数以上、連続して特定したか否かを判定する(S14)。即ち管理部1は、同一の車両状態が所定回数以上連続したか否かを判定する。管理部1は、同一の車両状態を所定回数以上、連続して特定しなかった場合(S14:NO)、即ち同一の車両状態が所定回数以上連続しなかった場合、上述のように割当情報を決定せずに仮想ECU5の割り当てを実行する(S15)。詳しくは、管理部1は直前の割当周期にて用いた割当情報と同一の割当情報を用いて、仮想ECU5の割り当てを行う。管理部1は、再度、仮想ECU5の割り当てを開始した時点から割当周期が経過する際、S12の処理を行う。
 管理部1は、同一の車両状態を所定回数以上、連続して特定した場合(S14:YES)、即ち同一の車両状態が所定回数以上連続した場合、所定回数以上、連続して特定した同一の車両状態に基づき割当情報を決定する(S16)。上述のように管理部1は、決定した割当情報を仮想ECU5に適用する(S17)。言い換えると管理部1は、決定した割当情報を用いて仮想ECU5の割り当てを実行する。管理部1は、再度、仮想ECU5の割り当てを開始した時点から割当周期が経過する際、S12の処理を行う。
 管理部1は、例えばIGスイッチが起動状態から停止状態へ遷移した際に処理を終了する。
 本実施形態においては、車載ECU2の制御部20が仮想化オペレーティングシステムを起動することにより、複数の仮想ECU5は生成される。制御部20は、複数の仮想ECU5を管理する管理部1としても機能する。記憶部21には、管理部1が車載ECU2に仮想ECU5を割り当てるための複数の割当情報が記憶してある。管理部1は車両状態を特定し、特定した車両状態に基づき、複数の割当情報のうち、いずれかの割当情報を決定する。管理部1は決定した割当情報を仮想ECU5に適用する。言い換えると管理部1は、決定した割当情報を用いて車載ECU2に対する仮想ECU5の割り当てを行う。管理部1が決定した割当情報を仮想装置に適用するにあたり、現時点割当情報と次時点割当情報とが同一である場合、決定された割当情報の仮想装置への適用は、現時点割当情報を維持するものとなる。管理部1は、現時点割当情報と次時点割当情報とが異なる場合、次時点割当情報を適用することにより、仮想ECU5の割り当てに用いる割当情報を、現時点割当情報から次時点割当情報へ切り替える。管理部1は車両状態に応じて適切に、車載ECU2に対する仮想ECU5の割り当てを切り替えることができる。言い換えると、管理部1は車両状態に応じて適切に、仮想ECU5を車載ECU2に割り当てることができる。管理部1が車両状態に応じて割当情報を切り替えるので、柔軟な仮想ECU5の割り当てを行うことができる。言い換えると、柔軟な仮想ECU5の配置を行うことができる。
 車両状態の特定において管理部1は、車両状態を仮想ECU5から取得するか、又は、特定情報若しくはハードウェアの状態に基づき車両状態を特定する。管理部1が車両状態を仮想ECU5から取得する場合、仮想ECU5は、車両状態を特定し、特定した車両状態を管理部1へ出力する。管理部1は仮想ECU5から出力された車両状態を取得する。管理部1は仮想ECU5によって特定された車両状態を仮想ECU5から取得するので、管理部1が車両状態を特定するために行う処理を少なくすることができる。
 管理部1が特定情報に基づき車両状態を特定する場合、例えば仮想ECU5は特定情報を管理部1へ出力する。管理部1は、仮想ECU5から出力される特定情報を取得し、取得した特定情報に基づき車両状態を特定する。仮想ECU5が車両状態を特定する必要がないので、仮想ECU5が行う処理を少なくすることができる。管理部1は、車載ECU2のハードウェアの状態に基づき車両状態を特定する場合、仮想ECU5を介さずに車両状態を特定することができる。車両状態の特定において仮想ECU5が処理を行う必要がないので、仮想ECU5が行う処理を少なくすることができる。
 管理部1は複数回、車両状態を特定する。管理部1は、特定した複数回の車両状態において、同一の車両状態が所定回数以上連続したか否かを判定する。管理部1は、同一の車両状態が所定回数以上連続した場合、当該同一の車両状態に基づき割当情報を決定し、決定した割当情報を仮想ECU5に適用する。言い換えると管理部は、所定回数以上連続した同一の車両状態に基づき決定した割当情報を用いて、仮想ECU5の割り当てを行う。管理部1は、同一の車両状態が所定回数以上連続しなかった場合、割当情報の決定を行わない。管理部1は、既に仮想ECU5に適用されている割当情報を用いて仮想ECU5の割り当てを行う。車両状態の変化の頻度が多い場合、例えばハンチングが生じている場合であっても、管理部1は、適切に演算装置200(車載ECU2)に仮想ECU5を割り当てることができる。管理部1は、車両状態の特定におけるハンチングの影響を低減することができる。
 管理部1による割当情報の適用によって、演算装置200に割り当てられる仮想ECU5の種類が変更される。管理部1は、車両状態に応じた適切な種類の仮想ECU5を演算装置200に割り当てることができる。
 管理部1による割当情報の適用によって、演算装置200に割り当てられる仮想ECU5の個数が変更される。管理部1は、車両状態に応じた適切な個数の仮想ECU5を演算装置200に割り当てることができる。
 管理部1による割当情報の適用によって、演算装置200の割当時間が変更される。詳しくは演算装置200に仮想ECU5それぞれが割り当てられる時間のうち、少なくとも1つの時間が変更される。管理部は、車両状態に応じた適切な時間、仮想ECU5を演算装置200に割り当てることができる。
 管理部1による割当情報の適用によって、割当周期が変更される。詳しくは演算装置200に仮想ECU5の割り当てが行われる周期が変更される。管理部1は、車両状態に応じた適切な割当周期にて、車載ECU2に仮想ECU5の割り当てを行うことができる。
 本実施形態において管理部1は、車両状態を特定し、特定した車両状態が所定の条件を満たすか否かの判定を行い、所定の条件を満たす車両状態に基づき割当情報を決定するが、管理部1は車両状態が所定の条件を満たすか否かの判定を行わなくてもよい。例えば管理部1は、割当周期が経過する際に車両状態を1回特定し、1回特定した車両状態に基づき割当情報を決定してもよい。管理部1は、1回特定した車両状態に基づき決定した割当情報を仮想ECU5に適用する。
 本実施形態においては、第4演算装置204が管理部1として機能するが、第4演算装置204以外の演算装置200が管理部1として機能してもよい。例えば演算装置200それぞれが、仮想ECU5として機能することと、管理部1として機能することとを行ってもよい。
 例えば第1演算装置201が仮想ECU5として機能することと、管理部1として機能することとを行う例を説明する。第1演算装置201は、第1演算装置201に割り当てられる仮想ECU5として機能する期間と、第1演算装置201に割り当てられる仮想ECU5を管理する第1管理部として機能する期間とを周期的に切り替える。第1演算装置201に割り当てられる仮想ECU5に関する複数の割当情報が格納された第1割当情報テーブルが記憶部21、例えば第1演算装置201の仮想記憶部に記憶されている。第1管理部は、第1割当情報テーブルに格納されたいずれかの割当情報に基づき、第1演算装置201に対して仮想ECU5の割り当てを行う。第1管理部は管理部1と同様にして、車両状態を特定し、特定した車両状態に基づき、第1演算装置201に対する仮想ECU5の割り当てに用いる割当情報を決定する。第1管理部は決定した割当情報を用いて第1演算装置201に対する仮想ECU5の割り当てを行う。第1演算装置201以外の演算装置200も第1演算装置201と同様に仮想ECU5として機能することと、管理部1として機能することとを行う。
 (実施形態2)
 実施形態2に係る構成の内、実施形態1と同様な構成部については同じ符号を付し、その詳細な説明を省略する。実施形態2は、管理部1が車両状態を複数回、特定し、特定した複数回の車両状態において、同一の車両状態の回数が所定値以上である場合、当該同一の車両状態に基づき割当情報を決定する車載ECU2に関する。
 実施形態2の車載ECU2は、制御部20及び記憶部21を備える。実施形態1と同様に、制御部20は第1演算装置201と、第2演算装置202と、第3演算装置203と、第4演算装置204との4つの演算装置200を備える。記憶部21には、割当情報テーブル210が記憶されている。また記憶部21には、管理部1が車両状態を特定した回数を示すカウント値が記憶されている。
 実施形態1と同様に、車載ECU2において、第1仮想ECU51、第2仮想ECU52、第3仮想ECU53、第4仮想ECU54、第5仮想ECU55、及び第6仮想ECU56の6つの仮想ECU5が構築される。第1演算装置201、第2演算装置202、及び第3演算装置203に対して、仮想ECU5の割り当てが行われる。第4演算装置204は、6つの仮想ECU5を管理する管理部1として機能する。
 管理部1は、割当情報テーブル210に格納された複数の割当情報のうち、いずれかの割当情報を用いて、仮想ECU5に対する第1演算装置201、第2演算装置202、及び第3演算装置203に対して、仮想ECU5の割り当てを行う。実施形態1と同様に、管理部1は割当周期が経過する際、車両状態を特定する。管理部1は車両状態を特定した場合、記憶部21に記憶されたカウント値を1増加させる。管理部1は特定した車両状態を記憶部21に記憶する。例えば管理部1は特定した車両状態と、増加させたカウント値とを関連付けて記憶部21に記憶してもよい。
 管理部1は、割当周期の経過後、所定の条件を満たす車両状態に基づき、仮想ECU5の割り当てに用いる割当情報を決定する。所定の条件を満たす車両状態がない場合、管理部1は、割当情報の決定を行わない。
 実施形態2の所定の条件は、特定された複数回の車両状態において、同一の車両状態の回数が所定値以上であることである。言い換えると実施形態2の所定の条件は、複数回行われた車両状態の特定において、特定された回数が所定値以上であることである。本実施形態においては、車両状態の特定が、予め定められた一定回数、行われる。所定値は、一定回数の50%である。この場合、所定の条件は、一定回数行われた車両状態の特定において、特定された回数が一定回数の50%以上であることである。例えば所定値、及び一定回数は、予め記憶部21に記憶されている。なお所定値は上記の例に限定されない。例えば所定値は、一定回数の70%でもよく、一定回数の90%でもよい。
 図9は、実施形態2における車両状態の特定、及び割当情報の切り替えの一例を示す説明図である。図9には説明のために管理部1と、第1演算装置201とが示してある。また、管理部1が車両状態を特定する時点が、黒塗りの三角形によって示してある。図9の例においては、一定回数は3回である。
 図9Aは、車両状態が所定の条件を満たす場合、即ち割当情報の決定が行われる場合の説明図である。図9Aの例において、1回目の割当周期にて用いられる割当情報は、No.1の割当情報である。管理部1は1回目の割当周期における仮想ECU5の割り当てを開始する際、カウント値を0に設定する。1回目の割当周期が経過する際に管理部1が特定した車両状態は、車両状態αである。管理部1は車両状態を特定した場合、カウント値を1増加させる。
 車両状態の特定は一定回数行われていないので、管理部1は、割当情報の決定を行わず、再度No.1の割当情報を用いて、2回目の割当周期において、仮想ECU5の割り当てを行う。2回目の割当周期が経過する際に管理部1が特定した車両状態は、車両状態βである。管理部1はカウント値を1増加させる。車両状態の特定は一定回数行われていないので、管理部1は、割当情報の決定を行わず、再度No.1の割当情報を用いて、3回目の割当周期において、仮想ECU5の割り当てを行う。
 3回目の割当周期が経過する際に管理部1が特定した車両状態は、車両状態αである。管理部1はカウント値を1増加させる。車両状態の特定は3回行われた。即ち車両状態の特定は一定回数行われたので、管理部1は、一定回数特定した車両状態のうち、特定した回数が一定回数の50%以上である車両状態があるか否かを判定する。言い換えると管理部1は、特定した複数回の車両状態において、同一の車両状態の回数が所定値以上であるか否かを判定する。上記の例において、管理部1は3回行った車両状態の特定において、車両状態αを2回特定し、車両状態βを1回特定した。この場合、車両状態αは、一定回数特定された車両状態のうち、特定された回数が一定回数の50%以上である車両状態である。即ち車両状態αは、所定の条件を満たす車両状態である。管理部1は、車両状態αに基づき、実施形態1と同様にして割当情報の決定を行い、決定した割当情報を仮想ECU5に適用する。図9Aの例において割当情報はNo.1の割当情報からNo.2の割当情報へ切り替えられる。以下、管理部1によって一定回数特定された車両状態のうち、特定された回数が一定回数の50%以上である車両状態があるか否かの判定を、条件判定とも称する。
 図9Bは、車両状態が所定の条件を満たさない場合、即ち割当情報の決定が行われない場合の説明図である。図9Bの例において、1回目の割当周期が経過する際に管理部1が特定した車両状態は、車両状態αである。2回目の割当周期が経過する際に管理部1が特定した車両状態は、車両状態βである。3回目の割当周期が経過する際に管理部1が特定した車両状態は、車両状態γである。管理部1は、条件判定を行う。図9Bの例において、管理部1が一定回数特定した車両状態のうち、特定された回数が一定回数の50%以上である車両状態はない。所定の条件を満たす車両状態がないので、管理部1は、割当情報の決定を行わない。管理部1は直前の割当周期にて用いた割当情報と同一の割当情報を用いて、仮想ECU5の割り当てを行う。
 例えば管理部1は、条件判定を行った後、カウント値を0に設定する。管理部1は上述のようにして、車両状態の特定とカウント値の増加を行い、カウント値が一定回数と同一の値となった際、条件判定を行う。言い換えると管理部1は、車両状態を一定回数特定するごとに、一定回数特定した車両状態のうち、特定した回数が一定回数の50%以上である車両状態があるか否かを判定する。
 管理部1は、割当周期が経過するごとに条件判定を行ってもよい。例えば管理部1は、4回目の割当周期が経過した際、4回目の割当周期にて特定した車両状態と、3回目の割当周期にて特定した車両状態と、2回目の割当周期にて特定した車両状態との3つの車両状態を用いて条件判定を行う。
 以下、一定回数がN回であって、所定値が一定回数の50%である場合に管理部1が、割当周期が経過するごとに条件判定を行う例を説明する。なおNは自然数である。記憶部21にはN-1個以上の車両状態が記憶されている。管理部1は、割当周期が経過する際に車両状態を特定し、特定した車両状態を記憶部21に記憶する。管理部1は、記憶部21に記憶された複数の車両状態のうち、最も新しく記憶された車両状態から当該車両状態のN-1個前までに記憶された車両状態を含むN個の車両状態を用いて条件判定を行う。言い換えると管理部1は、特定した複数の車両状態のうち、最も新しく特定した最新の車両状態から最新の車両状態のN-1個前までに特定した車両状態を含むN個の車両状態を用いて条件判定を行う。
 特定された回数がNの50%以上である車両状態がある場合、管理部1は、特定された回数がNの50%以上である車両状態に基づき、割当情報の決定を行う。特定された回数がNの50%以上である車両状態がない場合、管理部1は、割当情報の決定を行わない。
 本実施形態において管理部1は車両状態を特定した際、カウント値を1増加させ、特定した車両状態と増加させたカウント値とを関連付けて記憶部21に記憶するが、管理部1は、特定した車両状態と当該車両状態を特定した時刻とを関連付けて記憶部21に記憶してもよい。
 例えば記憶部21は、一定回数の値と同一の個数の車両状態を記憶することができる構成でもよい。一定回数が3回である場合、記憶部21は3つの車両状態を記憶することができる。管理部1が一定回数、例えば3回、車両状態を特定するごとに条件判定を行う場合、管理部1は車両状態を特定するごとに、特定した車両状態を記憶部21に記憶する。記憶部21に記憶された車両状態の個数が3つになった場合に管理部1は、条件判定を行う。管理部1は条件判定の後、記憶部21に記憶された3つの車両状態を消去する。再度、記憶部21に記憶された車両状態の個数が3つになった場合に管理部1は、条件判定を行う。
 例えば管理部1は、割当周期が経過するごとに条件判定を行う場合、車両状態を特定するごとに、特定した車両状態を記憶部21に記憶する。管理部1は、新たに特定した車両状態を記憶部21に記憶する際、記憶部21に3つの車両状態が記憶されている場合、新たに特定した車両状態を、記憶部21に記憶された3つの車両状態のうち最も古くに記憶された車両状態に上書きし、記憶部21に記憶された3つの車両状態を更新する。管理部1は割当周期が経過するごとに、更新した記憶部21に記憶された3つの車両状態を用いて条件判定を行う。
 図10は、実施形態2の管理部1が行う仮想ECU5の割り当てに係る処理を例示するフローチャートである。例えば、第4演算装置204は、車両CのIGスイッチが停止状態から起動状態に遷移した際、第4演算装置204は管理部1として機能する。管理部1は以下の処理を行う。
 管理部1は、S21、S22及びS23の処理を行う。S21、S22及びS22の処理は実施形態1のS11、S12及びS13の処理と同様であるため、詳細な説明は省略する。管理部1は、車両状態を一定回数、特定しているか否かを判定する(S24)。例えば管理部1は、記憶部21に記憶された車両状態の個数が一定回数の値と同一の個数以上であるか否かを判定する。
 管理部1は、車両状態を一定回数、特定していない場合(S24:NO)、割当情報を決定せずに仮想ECU5の割り当てを実行する(S25)。詳しくは、管理部1は直前の割当周期にて用いた割当情報と同一の割当情報を用いて、仮想ECU5の割り当てを行う。管理部1は、再度、仮想ECU5の割り当てを開始した時点から割当周期が経過する際、S22の処理を行う。なお管理部1が車両状態を一定回数、特定していない場合とは、例えば記憶部21に記憶された車両状態の個数が一定回数の値と同一の個数よりも少ない場合を含む。
 管理部1は、車両状態を一定回数、特定している場合(S24:YES)、一定回数特定した車両状態のうち、特定した回数が所定値以上である車両状態があるか否かを判定する(S26)。なお管理部1が車両状態を一定回数特定している場合とは、例えば記憶部21に記憶された車両状態の個数が一定回数の値と同一の個数以上である場合を含む。特定された回数が所定値以上である車両状態がない場合(S26:NO)、管理部1はS25の処理を行う。
 特定された回数が所定値以上である車両状態がある場合(S26:YES)、管理部1は、特定した回数が所定値以上である車両状態に基づき割当情報を決定する(S27)。上述のように管理部1は、決定した割当情報を仮想ECU5に適用する(S28)。言い換えると管理部1は、決定した割当情報を用いて仮想ECU5の割り当てを実行する。管理部1は、再度、仮想ECU5の割り当てを開始した時点から割当周期が経過する際、S22の処理を行う。
 管理部1は、例えばIGスイッチが起動状態から停止状態へ遷移した際に処理を終了する。
 本実施形態において管理部1は車両状態を複数回、特定する。管理部1、特定した複数回の車両状態において、同一の車両状態の回数が所定値以上であるか否かを判定する。管理部1、同一の車両状態の回数が所定値以上である場合、当該同一の車両状態の回数が所定値以上である車両状態に基づき、割当情報を決定し、決定した割当情報を仮想ECU5に適用する。言い換えると管理部1、複数回特定した車両状態のうち、同一の車両状態の回数が所定値以上である車両状態に基づき決定した割当情報を用いて、仮想ECU5の割り当てを行う。管理部1は、同一の車両状態の回数が所定値未満である場合、割当情報の決定を行わない。管理部1は、既に仮想ECU5に適用されている割当情報を用いて仮想ECU5の割り当てを行う。車両状態の変化の頻度が多い場合、例えばハンチングが生じている場合であっても、管理部1は、適切に車載ECU2に仮想ECU5を割り当てることができる。管理部1は、車両状態の特定におけるハンチングの影響を低減することができる。
 今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
 A   記録媒体
 C   車両
 P   制御プログラム
 S   車載システム
 1   管理部
 2   車載ECU(車載装置)
 20  制御部
 200 演算装置
 201 第1演算装置
 202 第2演算装置
 203 第3演算装置
 204 第4演算装置
 21  記憶部
 210 割当情報テーブル
 22  車内通信部
 3   車載機器
 30  アクチュエータ
 31  センサ
 4   車載ネットワーク
 5   仮想ECU(仮想装置)
 51  第1仮想ECU
 52  第2仮想ECU
 53  第3仮想ECU
 54  第4仮想ECU
 55  第5仮想ECU
 56  第6仮想ECU
 

Claims (12)

  1.  車両に搭載され、複数のプログラムの動作環境となる複数の仮想装置を生成する車載装置であって、
     複数の前記仮想装置を管理する管理部を備え、
     前記管理部は、
      前記車両の状態を示す車両状態を特定し、
      特定した前記車両状態に基づき、自装置に対して前記仮想装置を割り当てるための複数の割当情報のうち、いずれかの前記割当情報を決定し、
      決定した前記割当情報を前記仮想装置に適用する
     車載装置。
  2.  前記管理部は、
      前記車両状態を特定するための特定情報を前記仮想装置から取得し、
      取得した前記特定情報に基づき、前記車両状態を特定する
     請求項1に記載の車載装置。
  3.  前記仮想装置は、前記車両状態を特定し、
     前記管理部は、前記仮想装置によって特定された前記車両状態を前記仮想装置から取得する
     請求項1に記載の車載装置。
  4.  前記管理部は、自装置のハードウェアの状態に基づき、前記車両状態を特定する
     請求項1に記載の車載装置。
  5.  前記管理部は、
      前記車両状態を複数回、特定し、
      特定した前記複数回の前記車両状態において、同一の前記車両状態が所定回数以上連続した場合、同一の前記車両状態に基づき前記割当情報を決定する
     請求項1から請求項4のいずれか1項に記載の車載装置。
  6.  前記管理部は、
      前記車両状態を複数回、特定し、
      特定した前記複数回の前記車両状態において、同一の前記車両状態の回数が所定値以上である場合、同一の前記車両状態に基づき前記割当情報を決定する
     請求項1から請求項4のいずれか1項に記載の車載装置。
  7.  前記管理部は、前記割当情報を適用することによって、割り当てられる前記仮想装置の種類を変更する
     請求項1から請求項6のいずれか1項に記載の車載装置。
  8.  前記管理部は、前記割当情報を適用することによって、割り当てられる前記仮想装置の個数を変更する
     請求項1から請求項7のいずれか1項に記載の車載装置。
  9.  前記管理部は、前記割当情報を適用することによって、前記仮想装置それぞれが割り当てられる時間の少なくとも1つを変更する
     請求項1から請求項8のいずれか1項に記載の車載装置。
  10.  前記管理部は、前記割当情報を適用することによって、前記仮想装置の割り当てが行われる周期を変更する
     請求項1から請求項9のいずれか1項に記載の車載装置。
  11.  車両に搭載され、複数のプログラムの動作環境となる複数の仮想装置を生成する車載装置が行う情報処理方法であって、
     前記車両の状態を示す車両状態を特定し、
     特定した前記車両状態に基づき、前記車載装置に対して前記仮想装置を割り当てるための複数の割当情報のうち、いずれかの前記割当情報を決定し、
     決定した前記割当情報を前記仮想装置に適用する
     情報処理方法。
  12.  車両に搭載され、複数のプログラムの動作環境となる複数の仮想装置を生成するコンピュータに処理を実行させるコンピュータプログラムであって、
     前記車両の状態を示す車両状態を特定し、
     特定した前記車両状態に基づき、前記コンピュータに対して前記仮想装置を割り当てるための複数の割当情報のうち、いずれかの前記割当情報を決定し、
     決定した前記割当情報を前記仮想装置に適用する
     処理をコンピュータに実行させるコンピュータプログラム。
     
PCT/JP2022/008263 2021-03-18 2022-02-28 車載装置、情報処理方法、及びコンピュータプログラム WO2022196322A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202280020449.7A CN117015762A (zh) 2021-03-18 2022-02-28 车载装置、信息处理方法及计算机程序
US18/550,159 US20240220308A1 (en) 2021-03-18 2022-02-28 In-vehicle apparatus, information processing method, and computer program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021045022A JP2022144140A (ja) 2021-03-18 2021-03-18 車載装置、情報処理方法、及びコンピュータプログラム
JP2021-045022 2021-03-18

Publications (1)

Publication Number Publication Date
WO2022196322A1 true WO2022196322A1 (ja) 2022-09-22

Family

ID=83321434

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/008263 WO2022196322A1 (ja) 2021-03-18 2022-02-28 車載装置、情報処理方法、及びコンピュータプログラム

Country Status (4)

Country Link
US (1) US20240220308A1 (ja)
JP (1) JP2022144140A (ja)
CN (1) CN117015762A (ja)
WO (1) WO2022196322A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008062512A1 (fr) * 2006-11-21 2008-05-29 Fujitsu Limited Système multiprocesseur
JP2010170320A (ja) * 2009-01-22 2010-08-05 Denso Corp プログラム、及び制御装置
JP2010262444A (ja) * 2009-05-01 2010-11-18 Denso Corp 車載装置
JP2012185541A (ja) * 2011-03-03 2012-09-27 Denso Corp 車載装置、スケジューリングプログラム、及びスケジューリング方法
JP2018062185A (ja) * 2016-10-10 2018-04-19 株式会社デンソー 電源制御装置、車両用後付電子機器
JP2019179397A (ja) * 2018-03-30 2019-10-17 株式会社デンソー 電子制御装置及びマルチコアの割当て方法
JP2021039611A (ja) * 2019-09-04 2021-03-11 トヨタ自動車株式会社 車両の制御装置、車両の制御方法及び制御プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008062512A1 (fr) * 2006-11-21 2008-05-29 Fujitsu Limited Système multiprocesseur
JP2010170320A (ja) * 2009-01-22 2010-08-05 Denso Corp プログラム、及び制御装置
JP2010262444A (ja) * 2009-05-01 2010-11-18 Denso Corp 車載装置
JP2012185541A (ja) * 2011-03-03 2012-09-27 Denso Corp 車載装置、スケジューリングプログラム、及びスケジューリング方法
JP2018062185A (ja) * 2016-10-10 2018-04-19 株式会社デンソー 電源制御装置、車両用後付電子機器
JP2019179397A (ja) * 2018-03-30 2019-10-17 株式会社デンソー 電子制御装置及びマルチコアの割当て方法
JP2021039611A (ja) * 2019-09-04 2021-03-11 トヨタ自動車株式会社 車両の制御装置、車両の制御方法及び制御プログラム

Also Published As

Publication number Publication date
JP2022144140A (ja) 2022-10-03
CN117015762A (zh) 2023-11-07
US20240220308A1 (en) 2024-07-04

Similar Documents

Publication Publication Date Title
JP6245616B2 (ja) 制御システム及び方法
WO2020208954A1 (ja) 車載コンピュータ、車載通信システム、コンピュータ実行方法及びコンピュータプログラム
JP6975854B2 (ja) 制御コントローラおよび車両制御システム
WO2022196322A1 (ja) 車載装置、情報処理方法、及びコンピュータプログラム
JP7447782B2 (ja) 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
JP7468308B2 (ja) 車載ecu、プログラム、及び情報処理方法
CN111791886B (zh) 用于车辆的实时控制系统以及经由实时控制系统执行车辆控制的方法
WO2018127394A1 (en) Scalable control system for a motor vehicle
JP7508293B2 (ja) 車両制御装置
WO2022181357A1 (ja) 車載装置、情報処理方法、及びコンピュータプログラム
JP7463947B2 (ja) 車載ecu、プログラム、及び情報処理方法
JP7439773B2 (ja) 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
JP2021124902A (ja) 車両制御装置、車両制御方法、及び車両制御プログラム
JP7447781B2 (ja) 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
CN112486142B (zh) 将虚拟化io架构和汽车应用集成在ecu的方法及系统
US20240231884A9 (en) On-board device, information processing method, and computer program
JP2015176284A (ja) 電子制御装置
WO2024048001A1 (ja) 車載システムおよび車載システムの制御方法
JP7514119B2 (ja) 車載制御装置
JP2023085001A (ja) 車載装置、プログラム及び情報処理方法
JP2023087414A (ja) 車載制御装置、制御方法及びコンピュータプログラム
JP2014229207A (ja) マルチコアシステム
JPS635790B2 (ja)
JP2009064388A (ja) タスク制御システム
KR20140071921A (ko) 제어 장치에 대한 실시간 임계적 애플리케이션의 작동 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22771076

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202280020449.7

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 18550159

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22771076

Country of ref document: EP

Kind code of ref document: A1