Onboard device, onboard system, processing method, and processing program

WO2025047135A1PCT designated stage expired Publication Date: 2025-03-06SUMITOMO ELECTRIC INDUSTRIES LTD +2
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/024865
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-29
Filing Date
2024-07-10
Publication Date
2025-03-06

Smart Images

  • Figure JP2024024865_06032025_PF_FP_ABST
    Figure JP2024024865_06032025_PF_FP_ABST
Patent Text Reader

Abstract

This onboard device is an onboard device mounted in a vehicle, comprising: a resource calculation unit that calculates available resources of the onboard device; a feasibility determination unit that determines, on the basis of the calculation results of the available resources by the resource calculation unit, the feasibility of realizing functions assigned to other onboard devices; and a processing unit that performs processing to realize the functions assigned to the other onboard devices, which have been determined to be realizable by the feasibility determination unit.
Need to check novelty before this filing date? Find Prior Art

Description

In-vehicle device, in-vehicle system, processing method, and processing program

[0001] This application claims priority from Japanese Patent Application No. 2023-138721, filed on August 29, 2023, the disclosure of which is incorporated herein by reference in its entirety.

[0002] Patent Document 1 (JP 2019-109744 A) discloses the following electronic control device for an automobile: That is, the electronic control device for an automobile is equipped with a multi-core processor that integrates multiple processor cores, and dynamically allocates processor cores that process tasks to distribute the load, and executes a first distribution process that distributes the load according to the load status of the multiple processor cores, and a second distribution process that predicts changes in the driving state and distributes the load according to the load status of the multiple processor cores for at least one task that is affected by the prediction result.

[0003] Furthermore, Patent Document 2 (Japanese Patent Laid-Open Publication No. 2009-070135) discloses the following distributed processing system: The distributed processing system is made up of multiple nodes and is capable of transferring a task being executed on one node to another node, and the node from which the task is being transferred has a virtual device driver that enables transparent use of an external device connected via a network, and when the task is transferred, the virtual device driver is also transferred to the destination node.

[0004] JP 2019-109744 A JP 2009-070135 A

[0005] The in-vehicle device of the present disclosure is an in-vehicle device mounted on a vehicle, and includes a resource calculation unit that calculates available resources of the in-vehicle device, a feasibility determination unit that determines whether a function to be assigned to another in-vehicle device can be realized based on the calculation result of the available resources by the resource calculation unit, and a processing unit that performs processing to realize the function to be assigned to the other in-vehicle device that has been determined to be feasible by the feasibility determination unit.

[0006] One aspect of the present disclosure can be realized not only as an in-vehicle device equipped with such a characteristic processing unit, but also as a semiconductor integrated circuit that realizes part or all of the in-vehicle device, or as an in-vehicle system that includes the in-vehicle device.

[0007] FIG. 1 is a diagram illustrating a configuration of an in-vehicle system according to an embodiment of the present disclosure. FIG. 2 is a diagram illustrating a configuration of an in-vehicle ECU according to an embodiment of the present disclosure. FIG. 3 is a diagram illustrating an example of a function table stored in a storage unit in the in-vehicle ECU according to an embodiment of the present disclosure. FIG. 4 is a diagram illustrating an example of a CPU utilization rate in the in-vehicle ECU according to an embodiment of the present disclosure. FIG. 5 is a diagram illustrating an example of a target function list acquired by a determination unit in the in-vehicle ECU according to an embodiment of the present disclosure. FIG. 6 is a diagram illustrating an example of a substitution available list created by the determination unit in the in-vehicle ECU according to an embodiment of the present disclosure. FIG. 7 is a diagram illustrating an example of a substitution target list created by the determination unit in the in-vehicle ECU according to an embodiment of the present disclosure. FIG. 8 is a flowchart illustrating an example of an operation procedure when the in-vehicle ECU according to an embodiment of the present disclosure prepares for function substitution. FIG. 9 is a flowchart illustrating an example of an operation procedure when the in-vehicle ECU according to an embodiment of the present disclosure executes function substitution. FIG. 10 is a diagram illustrating an example of a function substitution sequence in the in-vehicle system according to an embodiment of the present disclosure. 11 and 12 are flowcharts illustrating an example of an operation procedure when an in-vehicle ECU according to a modified example of an embodiment of the present disclosure prepares for function substitution.

[0008] 2. Description of the Related Art Conventionally, techniques have been developed for distributing the load of on-board devices installed in a vehicle.

[0009] [Problem to be Solved by the Present Disclosure] There is a need for a technology that goes beyond the technology described in Patent Documents 1 and 2 and that is capable of determining distribution of processing loads more appropriately depending on the state of an in-vehicle device.

[0010] The present disclosure has been made to solve the above-mentioned problems, and its purpose is to provide an in-vehicle device, an in-vehicle system, a processing method, and a processing program that can more appropriately determine the distribution of processing load depending on the state of the in-vehicle device.

[0011] [Effects of the Present Disclosure] According to the present disclosure, it is possible to more appropriately determine distribution of processing loads depending on the state of an in-vehicle device.

[0012] [Description of Embodiments of the Present Disclosure] First, the contents of the embodiments of the present disclosure will be listed and described.

[0013] (1) An in-vehicle device according to an embodiment of the present disclosure is an in-vehicle device mounted on a vehicle, and includes a resource calculation unit that calculates available resources of the in-vehicle device, a feasibility determination unit that determines whether a function to be assigned to another in-vehicle device can be realized based on the calculation result of the available resources by the resource calculation unit, and a processing unit that performs processing to realize the function to be assigned to the other in-vehicle device that is determined to be realizable by the feasibility determination unit.

[0014] This configuration allows the free resources of the in-vehicle device to be effectively utilized to realize functions that can be allocated to other in-vehicle devices, so that the processing load of the in-vehicle device can be distributed to, for example, an in-vehicle device with sufficient free resources. Therefore, it is possible to more appropriately determine the distribution of the processing load depending on the status of the in-vehicle device.

[0015] (2) In the above (1), the resource calculation unit may calculate the available resources based on a processing load of the in-vehicle device.

[0016] With this configuration, the available resources of the in-vehicle device can be calculated more accurately.

[0017] (3) In the above (1) or (2), the resource calculation unit may calculate the available resources based on the type of application software executed depending on the operator of the vehicle.

[0018] With this configuration, when the application software executed on the in-vehicle device differs depending on the vehicle operator, the available resources of the in-vehicle device can be calculated more accurately, for example, based on the required resources of the application software actually executed.

[0019] (4) In any one of (1) to (3) above, the resource calculation unit may calculate the available resources based on the type of application software executed depending on the running state of the vehicle.

[0020] With this configuration, when the application software executed by the in-vehicle device varies depending on the vehicle's driving conditions, the available resources of the in-vehicle device can be calculated more accurately, for example, based on the required resources of the application software actually being executed.

[0021] (5) In any of (1) to (4) above, the possibility determination unit may determine whether or not it is possible to substitute for the functions of the other in-vehicle device, and the processing unit may perform a substitution process to substitute for the functions of the other in-vehicle device that have been determined by the possibility determination unit to be possible as a process to realize the functions assigned to the other in-vehicle device.

[0022] With this configuration, the unused resources of the in-vehicle device can be effectively utilized to take over the functions of the other in-vehicle device.

[0023] (6) In the above (5), the resource calculation unit may predict the available resources based on the prediction result of the vehicle's driving state, and the feasibility determination unit may plan to substitute for the functions of the other vehicle-mounted device based on the prediction result of the available resources by the resource calculation unit, and the processing unit may perform the substitute processing in accordance with the plan of the feasibility determination unit.

[0024] With this configuration, it is possible to smoothly switch over the functions of the other in-vehicle device in accordance with changes in the available resources of the in-vehicle device due to changes in the driving state of the vehicle.

[0025] (7) In the above (5) or (6), the possibility determination unit may determine whether or not the in-vehicle device can take over the function of the other in-vehicle device based on characteristics of the in-vehicle device.

[0026] With this configuration, the functions of another in-vehicle device can be performed by an in-vehicle device that satisfies the characteristics required for a device that realizes the function.

[0027] (8) In any of (5) to (7) above, the in-vehicle device may further include a notification unit that performs notification processing to notify the other in-vehicle device of a function that can be substituted among the functions of the other in-vehicle device, and the processing unit may perform the substitution processing when the notification unit receives a predetermined response from the other in-vehicle device to the notification processing.

[0028] With this configuration, it is possible to selectively download application software that is actually required to take over the functions of another in-vehicle device, and perform the substitute processing. Also, it is possible to selectively take over functions that can be performed by another in-vehicle device, depending on the internal state of the other in-vehicle device.

[0029] (9) In any of (1) to (8) above, the on-board device may further include an execution determination unit that observes the state of the other on-board device and determines whether or not to execute the processing of the resource calculation unit, the feasibility determination unit, and the processing unit based on the observation results.

[0030] With this configuration, an in-vehicle device can take over the functions of another in-vehicle device in response to the need to distribute the processing load of the other in-vehicle device.

[0031] (10) In any one of (1) to (9) above, the in-vehicle device may download application software corresponding to the function of the other in-vehicle device while the vehicle is parked.

[0032] With this configuration, when the processing load of the in-vehicle device is relatively low, it is possible to download application software for performing the functions of another in-vehicle device.

[0033] (11) An in-vehicle system according to an embodiment of the present disclosure is an in-vehicle system mounted on a vehicle, and includes a first in-vehicle device, a resource calculation device that calculates available resources of the first in-vehicle device, and a capability determination device that determines whether the first in-vehicle device can realize a function to be assigned to a second in-vehicle device based on the calculation result of the available resources by the resource calculation device, and the first in-vehicle device performs processing to realize the function to be assigned to the second in-vehicle device that has been determined to be capable of being performed by the capability determination device.

[0034] With this configuration, the free resources of the first in-vehicle device can be effectively utilized to realize the functions assigned to the second in-vehicle device in the first in-vehicle device, so that the processing load of the second in-vehicle device can be distributed to, for example, the first in-vehicle device having sufficient free resources. Therefore, it is possible to more appropriately determine the distribution of the processing load depending on the status of the in-vehicle devices.

[0035] (12) A processing method according to an embodiment of the present disclosure includes a step of calculating free resources of the in-vehicle device, a step of determining whether functions to be assigned to other in-vehicle devices can be realized based on the calculation results of the free resources in the step of calculating the free resources, and a step of performing processing to realize the functions to be assigned to the other in-vehicle devices that are determined to be realizable in the step of determining whether the functions to be assigned to the other in-vehicle devices can be realized.

[0036] This method makes it possible to effectively utilize the available resources of an in-vehicle device to realize functions that can be allocated to other in-vehicle devices, thereby distributing the processing load of the in-vehicle device to, for example, an in-vehicle device with sufficient available resources. Therefore, it is possible to more appropriately determine the distribution of the processing load depending on the status of the in-vehicle device.

[0037] (13) A processing program according to an embodiment of the present disclosure is a proxy processing program used in an on-board device mounted in a vehicle, and is a program for causing a computer to function as a resource calculation unit that calculates available resources for the on-board device, a feasibility determination unit that determines whether a function to be assigned to another on-board device can be realized based on the calculation result of the available resources by the resource calculation unit, and a processing unit that performs processing to realize the function to be assigned to the other on-board device that has been determined to be feasible by the feasibility determination unit.

[0038] This configuration allows the free resources of the in-vehicle device to be effectively utilized to realize functions that can be allocated to other in-vehicle devices, so that the processing load of the in-vehicle device can be distributed to, for example, an in-vehicle device with sufficient free resources. Therefore, it is possible to more appropriately determine the distribution of the processing load depending on the status of the in-vehicle device.

[0039] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In the drawings, identical or corresponding parts are designated by the same reference numerals, and their description will not be repeated. Furthermore, at least some of the embodiments described below may be combined in any manner.

[0040] [Configuration and Basic Operation] Fig. 1 is a diagram showing the configuration of an in-vehicle system according to an embodiment of the present disclosure. Referring to Fig. 1, an in-vehicle system 201 includes in-vehicle ECUs (Electronic Control Units) 101 and 111, an external-vehicle communication device 121, and a relay device 151. The in-vehicle system 201 is mounted on a vehicle 1. Note that the in-vehicle system 201 may include a plurality of in-vehicle ECUs 101 or a plurality of in-vehicle ECUs 111. The in-vehicle ECU 101 is an example of an in-vehicle device and an example of a first in-vehicle device. The in-vehicle ECU 111 is an example of another in-vehicle device different from the in-vehicle ECU 101 and an example of a second in-vehicle device.

[0041] The on-board ECUs 101 and 111, the exterior communication device 121, and the relay device 151 configure an on-board network. More specifically, the on-board ECUs 101 and 111 and the exterior communication device 121 are connected to the relay device 151 via a transmission line 10. The relay device 151 is connected to the on-board ECUs 101 and 111 and the exterior communication device 121 in a one-to-one relationship via the transmission line 10. The transmission line 10 is a cable conforming to standards such as CAN (Controller Area Network) (registered trademark), FlexRay (registered trademark), MOST (Media Oriented Systems Transport) (registered trademark), Ethernet (registered trademark), and LIN (Local Interconnect Network).

[0042] The relay device 151 is capable of communicating with the in-vehicle ECUs 101 and 111 and the exterior communication device 121. The relay device 151 performs a relay process of relaying, for example, information exchanged between the in-vehicle ECUs 101 and 111, information exchanged between the in-vehicle ECU 101 and the exterior communication device 121, and information exchanged between the in-vehicle ECU 111 and the exterior communication device 121.

[0043] The exterior communication device 121 communicates with devices outside the vehicle 1. For example, the exterior communication device 121 is a TCU (Telematics Communication Unit) that communicates with an OTA (Over The Air) server outside the vehicle 1.

[0044] The in-vehicle ECU 111 has one or more functions, such as body control, fault diagnosis, map update, user notification processing, autonomous driving control, steering control, brake control, accelerator control, and driving assistance. The in-vehicle ECU 111 includes a memory in which application software corresponding to these functions is stored, and a processor that executes the application software.

[0045] The in-vehicle ECU 101 has one or more functions. For example, the in-vehicle ECU 101 has functions such as automatic door unlocking, warning when the door is opened or closed, a camera DMS (Driver Monitoring System), and a biometric sensor DMS. The in-vehicle ECU 101 also performs substitute processing to perform the functions of the in-vehicle ECU 111. That is, the in-vehicle ECU 101 executes part or all of the processing corresponding to the functions of the in-vehicle ECU 111 instead of the in-vehicle ECU 111. For example, the in-vehicle ECU 101 is an in-vehicle device that is retrofitted to the in-vehicle system 201 to expand the functions of the in-vehicle system 201.

[0046] The on-board ECUs 101 and 111 download application software corresponding to new functions, for example, in accordance with an operation by the user of the vehicle 1. More specifically, the on-board ECUs 101 and 111 receive application software from an OTA server outside the vehicle 1 via the relay device 151 and the exterior communication device 121, and store the received application software in memory.

[0047] [Problem] In recent years, with the diversification and increase in the functions of in-vehicle devices, the peak value of the processing load of the in-vehicle device has been increasing. Furthermore, in an in-vehicle system 201, functions may be concentrated in a high-performance in-vehicle device with high processing power. The fluctuation range of the processing load of such a high-performance in-vehicle device is larger than that of a conventional general in-vehicle device, so it is not easy to accurately estimate the processing load of the high-performance in-vehicle device.

[0048] Furthermore, in order to reduce the cost of the in-vehicle system 201, the resources of the in-vehicle device are designed to be lower than the resources required when the in-vehicle device simultaneously realizes all of the functions. Therefore, when the in-vehicle device simultaneously realizes all of the functions, the processing load of the in-vehicle device exceeds a predetermined value, causing the processing to stop or degenerate operation, i.e., fallback.

[0049] Therefore, a technology that can more appropriately determine distribution of processing loads depending on the state of the in-vehicle device is desired. Therefore, the in-vehicle ECU 101 according to the embodiment of the present disclosure solves the above problem by being configured as follows.

[0050] <On-Vehicle ECU 101> FIG. 2 is a diagram illustrating a configuration of an on-vehicle ECU according to an embodiment of the present disclosure. Referring to FIG. 2, the on-vehicle ECU 101 includes a communication unit 11, a determination unit 12, a host processing unit 13, an alternate processing unit 14, and a storage unit 15. The determination unit 12 is an example of a resource calculation unit, an example of a feasibility determination unit, an example of an execution determination unit, an example of a communication unit, an example of a resource calculation device, an example of a feasibility determination device, and an example of an execution determination device. The communication unit 11, the determination unit 12, the host processing unit 13, and the alternate processing unit 14 are partly or entirely implemented by a processing circuit including one or more processors. The storage unit 15 is, for example, a non-volatile memory included in the processing circuit. Application software corresponding to the functions of the on-vehicle ECU 101 is stored in the storage unit 15.

[0051] The communication unit 11 communicates with the in-vehicle ECU 111 and the external communication device 121 via the relay device 151. More specifically, the communication unit 11 transmits and receives messages including various types of information to and from the in-vehicle ECU 111 and the external communication device 121 via the relay device 151.

[0052] 3 is a diagram illustrating an example of a function table stored in a storage unit of the in-vehicle ECU 101 according to an embodiment of the present disclosure. Referring to FIG. 3, the storage unit 15 stores a function table T1 indicating a correspondence relationship between an operator of the vehicle 1, a driving state of the vehicle 1, and a function implemented by the in-vehicle ECU 101.

[0053] The own device processing unit 13 realizes the functions of the in-vehicle ECU 101 by executing application software stored in the storage unit 15. For example, the own device processing unit 13 switches the application software to be executed depending on the operator of the vehicle 1 and the driving state of the vehicle 1.

[0054] More specifically, the own device processing unit 13 identifies the operator by performing authentication processing of the operator when the operator gets into the vehicle 1. The own device processing unit 13 also determines the driving state of the vehicle 1 based on the driving speed, current location, engine operating state, etc. of the vehicle 1. The own device processing unit 13 switches between application software to be executed from among multiple application software programs stored in the storage unit 15, based on the identified operator, the driving state determination result, and the function table T1 in the storage unit 15. Specifically, when the operator of the vehicle 1 is user A, the own device processing unit 13 executes application software corresponding to automatic door unlocking when getting into the vehicle, executes application software corresponding to camera DMS while the engine is running, and executes application software corresponding to door opening / closing warning when getting out of the vehicle.

[0055] FIG. 4 is a diagram illustrating an example of CPU utilization in an in-vehicle ECU according to an embodiment of the present disclosure. In FIG. 4, the vertical axis represents CPU utilization [%]. Referring to FIG. 4, the grace period R for CPU utilization varies depending on the application software executed by the host processing unit 13, and therefore varies depending on the driving state of the vehicle 1. Here, the grace period R is a value obtained by subtracting the CPU utilization due to the execution of the application software from a predetermined allowable value for CPU utilization. The storage unit 15 stores grace period information F1 indicating a correspondence relationship between the driving state of the vehicle 1 and the grace period R for each operator of the vehicle 1.

[0056] The storage unit 15 also stores characteristic information F2 indicating the characteristics of the on-board ECU 101. The characteristic information F2 indicates, as the characteristics of the on-board ECU 101, the functional safety level of the on-board ECU 101, the security requirements of the on-board ECU 101, the processing performance of the on-board ECU 101, and the communication speed of the on-board ECU 101. For example, the functional safety level is the ASIL (Automotive Safety Integrity Level) defined by ISO 26262. For example, the security requirements include the versions of the OS (Operating System) and application software, whether or not a security countermeasure function is installed, and the version of the countermeasure function. For example, the processing performance includes the CPU specifications and memory specifications. For example, the communication speed includes the end communication speed of the communication link between the on-board ECUs 101 and 111. The end communication speed includes the transmission speed of the communication interface of the in-vehicle ECUs 101 and 111 and the relay speed of the relay device 151 .

[0057] The determination unit 12 calculates available resources of the in-vehicle ECU 101. Based on the calculation result of the available resources, the determination unit 12 determines whether or not a function to be assigned to the in-vehicle ECU 111 can be realized. The substitution processing unit 14 performs processing to realize a function to be assigned to the in-vehicle ECU 111 that has been determined to be feasible by the determination unit 12. For example, the determination unit 12 determines whether or not a function of the in-vehicle ECU 111 can be substituted based on the calculation result of the available resources. For example, the substitution processing unit 14 performs substitution processing to substitute for a function of the in-vehicle ECU 111 that has been determined to be feasible by the determination unit 12. Details of the processing of the determination unit 12 and the substitution processing unit 14 will be described below.

[0058] 2 , the determination unit 12 prepares for function substitution when, for example, at least one of the in-vehicle ECU 101 and the in-vehicle ECU 111 downloads new application software while the vehicle 1 is running or stopped. In preparation for function substitution, the determination unit 12 determines, from among the functions of the in-vehicle ECU 111, functions that can be substituted by the substitution processing unit 14.

[0059] Here, when the in-vehicle ECU 101 downloads new application software, the amount of available resources in the in-vehicle ECU 101 may change. Furthermore, when the in-vehicle ECU 111 downloads new application software, the number of functions that the in-vehicle ECU 101 must take over may increase. Therefore, when at least one of the in-vehicle ECU 101 and the in-vehicle ECU 111 downloads new application software, the determination unit 12 determines, in preparation for function substitution, which of the functions of the in-vehicle ECU 111 can be substituted by the substitution processing unit 14.

[0060] In preparation for function substitution, the determination unit 12 downloads application software corresponding to the functions of the in-vehicle ECU 111 while the vehicle 1 is parked. More specifically, the determination unit 12 determines, from the determined functions that can be substituted, functions to be substituted by the substitution processing unit 14. Then, the determination unit 12 downloads application software corresponding to the determined functions to be substituted while the vehicle 1 is parked. Here, "while the vehicle 1 is parked" may mean, for example, that the ignition power is turned off or that the shift lever is in the P range.

[0061] 5 is a diagram illustrating an example of a target function list acquired by a determination unit in the in-vehicle ECU according to an embodiment of the present disclosure. Referring to FIG. 5, the determination unit 12 acquires a target function list L1 indicating functions of the in-vehicle ECU 111, consumed resource information indicating required utilization rates, which are CPU utilization rates when executing application software corresponding to the functions, and required characteristic information indicating characteristics required of a device that realizes the functions.

[0062] More specifically, the determination unit 12 transmits a list request to the in-vehicle ECU 111 via the communication unit 11 and the relay device 151. In response to the list request, the in-vehicle ECU 111 transmits a target function list L1, consumed resource information, and required characteristic information to the in-vehicle ECU 101. The determination unit 12 receives the target function list L1, consumed resource information, and required characteristic information from the in-vehicle ECU 111 via the relay device 151 and the communication unit 11.

[0063] Furthermore, the determination unit 12 calculates the available resources of the in-vehicle ECU 101 based on the type of application software executed in accordance with the operator of the vehicle 1 and the driving state of the vehicle 1. For example, the determination unit 12 calculates a grace period R of the in-vehicle ECU 101 as the available resources of the in-vehicle ECU 101. More specifically, when the in-vehicle ECU 101 downloads new application software in accordance with the operation of the user of the vehicle 1, the determination unit 12 calculates the grace period R for each operator of the vehicle 1 and each driving state of the vehicle 1 based on the new application software. The determination unit 12 updates the grace period information F1 in the storage unit 15 based on the calculation result of the grace period R.

[0064] For example, the determination unit 12 determines whether or not the function of the in-vehicle ECU 111 can be substituted based on the grace rate R and the characteristics of the in-vehicle ECU 101. More specifically, the determination unit 12 compares the characteristics of the in-vehicle ECU 101 indicated by the characteristic information F2 in the storage unit 15 with the characteristics indicated by the required characteristic information, thereby extracting functions that can be realized by the in-vehicle ECU 101 from the functions indicated by the target function list L1.

[0065] In addition, the judgment unit 12 extracts functions that can be substituted from the extracted functions of the on-board ECU 111 for each operator of the vehicle 1 and the driving state of the vehicle 1 based on the comparison result between the grace rate R indicated by the grace information F1 and the required usage rate indicated by the consumption resource information.

[0066] 6 is a diagram illustrating an example of a substitution list created by a determination unit in the onboard ECU according to an embodiment of the present disclosure. Referring to FIG. 6, the determination unit 12 creates a substitution list L2 indicating a correspondence between the driving state and the extracted substitution functions for each operator of the vehicle 1. In the example illustrated in FIG. 6, the substitution list L2 indicates that the fault diagnosis and map update functions can be substituted when the vehicle 1 is stopped, and the user notification processing function can be substituted when the engine is running, but that no substitution functions are available when the vehicle is getting in or out of the vehicle or when driving on a highway.

[0067] For example, the determination unit 12 performs a notification process to notify the in-vehicle ECU 111 of functions that can be substituted among the functions of the in-vehicle ECU 111. More specifically, the determination unit 12 transmits a substitution notification including the created substitution available list L2 to the in-vehicle ECU 111 via the communication unit 11 and the relay device 151.

[0068] For example, the in-vehicle ECU 111 receives the substitution available list L2 from the in-vehicle ECU 101 via the relay device 151, and determines which of the substitution available functions are permitted to be substituted from among the substitution available functions indicated in the received substitution available list L2. For example, the in-vehicle ECU 111 determines the substitution available functions in consideration of the internal state of the in-vehicle ECU 111. The in-vehicle ECU 111 transmits substitution permission information indicating the determined substitution available functions to the in-vehicle ECU 101 via the relay device 151.

[0069] The proxy processing unit 14 performs proxy processing when the determination unit 12 receives a predetermined response to the notification processing. For example, when the determination unit 12 receives a predetermined response to the notification processing from the on-board ECU 111, the determination unit 12 downloads application software corresponding to the proxy-enabled function. More specifically, when the determination unit 12 receives proxy permission information from the on-board ECU 111 via the relay device 151 and the communication unit 11, the determination unit 12 determines the proxy-enabled function for which proxy permission has been obtained, indicated by the proxy permission information, as the proxy target function. Then, the determination unit 12 downloads application software corresponding to the proxy target function while the vehicle 1 is parked. More specifically, the determination unit 12 receives application software corresponding to the proxy target function from an OTA server outside the vehicle 1 via the communication unit 11, the relay device 151, and the external communication device 121, and stores the received application software in the storage unit 15.

[0070] 7 is a diagram illustrating an example of a proxy target list created by a determination unit in an on-board ECU according to an embodiment of the present disclosure. Referring to FIG. 7 , the determination unit 12 creates a proxy target list L3 indicating a correspondence between a driving state and a proxy target function for each operator of the vehicle 1. The determination unit 12 stores the created proxy target list L3 in the storage unit 15.

[0071] 2 again, the determination unit 12 observes the state of the in-vehicle ECU 111 and, based on the observation result, determines whether or not to execute the substitute processing of the substitute processing unit 14. For example, the determination unit 12 acquires the CPU usage rate and operation log of the in-vehicle ECU 111 via the communication unit 11 and the relay device 151, and determines the timing for executing the substitute function based on the acquired CPU usage rate and operation log.

[0072] More specifically, the determination unit 12 determines that the opportunity to perform function substitution has arrived if the CPU usage rate of the in-vehicle ECU 111 becomes equal to or greater than a predetermined value or an abnormality of the in-vehicle ECU 111 is detected based on the operation log after the preparation for the function substitution described above and after the vehicle 1 starts traveling. For example, the determination unit 12 detects, as abnormalities of the in-vehicle ECU 111, the occurrence of a cyber-attack on the in-vehicle ECU 111, a failure of the in-vehicle ECU 111, isolation of the in-vehicle ECU 111, operation of a safe mode in the in-vehicle ECU 111, etc.

[0073] When the determination unit 12 determines that an opportunity to perform function substitution has arrived, the determination unit 12 determines the driving state of the vehicle 1, for example, periodically, based on the driving speed, current location, engine operating state, etc. of the vehicle 1. Based on the determined driving state, the determination unit 12 determines whether or not to substitute for the function of the in-vehicle ECU 111. More specifically, the determination unit 12 refers to the substitution target list L3 in the storage unit 15, which corresponds to the operator identified by the authentication process, and searches for a substitution target function that corresponds to the determined driving state.

[0074] If there is no substitute target function corresponding to the determined driving state in the substitute target list L3, the determination unit 12 determines that substitution of the function of the in-vehicle ECU 111 is not possible.

[0075] On the other hand, if a substituted function corresponding to the determined driving state is present in the substitution target list L3, the determination unit 12 determines that substitution of the substituted function is possible. Then, the determination unit 12 transmits a stop request indicating that execution of application software corresponding to the substituted function should be stopped to the in-vehicle ECU 111 via the communication unit 11 and the relay device 151. When the in-vehicle ECU 111 receives the stop request from the in-vehicle ECU 101 via the relay device 151, it stops execution of the application software indicated in the stop request.

[0076] Then, the determining unit 12 outputs to the substitution processing unit 14 a substitution instruction indicating that the application software corresponding to the function to be substituted should be executed.

[0077] The substitute processing unit 14 receives a substitute instruction from the determination unit 12 , obtains application software indicated by the received substitute instruction from the storage unit 15 , and executes the application software in place of the in-vehicle ECU 111 .

[0078] Even while the substitute processing unit 14 is performing substitute processing, the determination unit 12 periodically determines the driving state of the vehicle 1 and determines whether or not the substitute processing unit 14 can perform the function of the in-vehicle ECU 111. If the determination unit 12 determines that the function of the in-vehicle ECU 111 cannot be performed, the determination unit 12 transmits a start request to the in-vehicle ECU 111 via the communication unit 11 and the relay device 151, the start request indicating that the execution of application software corresponding to the function to be substituted should be started, and also outputs a substitute stop instruction to the substitute processing unit 14.

[0079] Furthermore, when the CPU usage rate of the on-board ECU 111 falls below a predetermined value due to a change in the running state of the vehicle 1, or when the determination unit 12 detects that the abnormality of the on-board ECU 111 has been resolved based on the operation log, during execution of the substitute processing by the substitute processing unit 14, the determination unit 12 determines that the opportunity to execute the function substitute has passed. Then, the determination unit 12 transmits a start request to the on-board ECU 111 via the communication unit 11 and the relay device 151, indicating that execution of the application software corresponding to the function to be substituted should be started, and also outputs a substitute stop instruction to the substitute processing unit 14.

[0080] When the in-vehicle ECU 111 receives the start request from the in-vehicle ECU 101 via the relay device 151, the in-vehicle ECU 111 starts executing the application software indicated by the start request.

[0081] The substitute processing unit 14 receives a substitute stop instruction from the determination unit 12 and stops the execution of the application software.

[0082] Instead of periodically determining the driving state of the vehicle 1 and determining whether or not to substitute for the function of the on-board ECU 111, the determination unit 12 may predict the grace period R based on the predicted driving state of the vehicle 1 and plan the substitution of the function of the on-board ECU 111 based on the predicted grace period R. More specifically, for example, while the vehicle 1 is parked, the determination unit 12 predicts a transition in the driving state of the vehicle 1 based on information related to the autonomous driving of the vehicle 1, information related to driving assistance for the vehicle 1, information related to the navigation system of the vehicle 1, etc. The determination unit 12 creates a substitution plan indicating a correspondence between the functions to be substituted and the times at which the functions to be substituted are to be substituted, based on the predicted transition of the driving state and the substitution target list L3 in the memory unit 15. The determination unit 12 outputs the created substitution plan to the substitution processing unit 14.

[0083] The proxy processing unit 14 performs proxy processing in accordance with the proxy plan created by the determination unit 12. More specifically, the proxy processing unit 14 receives the proxy plan from the determination unit 12 and identifies a function to be substituted that corresponds to the current time in accordance with the received proxy plan. The proxy processing unit 14 obtains application software that corresponds to the identified function to be substituted from the storage unit 15 and executes the application software.

[0084] 8 is a flowchart illustrating an example of an operation procedure when the in-vehicle ECU according to the embodiment of the present disclosure prepares for function substitution. The in-vehicle ECU 101 executes the process of the flowchart illustrated in FIG. 8 every time at least one of the in-vehicle ECU 101 and the in-vehicle ECU 111 downloads new application software.

[0085] Referring to FIG. 8, first, the in-vehicle ECU 101 acquires the target function list L1, the consumed resource information, and the required characteristic information (step S11).

[0086] Next, the on-board ECU 101 calculates available resources of the on-board ECU 101. More specifically, when the on-board ECU 101 downloads new application software in accordance with an operation by the user of the vehicle 1, the on-board ECU 101 calculates the grace rate R for each driving state of the vehicle 1 based on the new application software (step S12).

[0087] Next, the on-board ECU 101 extracts functions that can be realized in the on-board ECU 101 from among the functions indicated in the target function list L1 by comparing the characteristics of the on-board ECU 101 indicated by the characteristic information F2 in the memory unit 15 with the characteristics indicated by the required characteristic information (step S13).

[0088] Next, the on-board ECU 101 extracts the functions that can be substituted from the extracted functions of the on-board ECU 111 based on the comparison result between the grace rate R indicated by the grace information F1 and the required usage rate indicated by the consumption resource information, and creates a substitution list L2 (step S14).

[0089] Next, the in-vehicle ECU 101 transmits a substitution notification including the substitution available list L2 to the in-vehicle ECU 111 via the relay device 151 (step S15).

[0090] Next, the in-vehicle ECU 101 determines the substitutable functions indicated by the substitution permission information received from the in-vehicle ECU 111 via the relay device 151 as functions to be substituted, and creates a substitution target list L3 (step S16).

[0091] Next, the in-vehicle ECU 101 downloads application software corresponding to the function to be substituted (step S17).

[0092] FIG. 9 is a flowchart illustrating an example of an operation procedure when an in-vehicle ECU according to an embodiment of the present disclosure executes a function substitution.

[0093] Referring to Figure 9, first, after preparing for function substitution and after vehicle 1 starts driving, on-board ECU 101 waits for an opportunity to execute function substitution (NO in step S21), and when the opportunity to execute function substitution arrives (YES in step S21), it determines the driving state of vehicle 1 (step S22).

[0094] Next, the in-vehicle ECU 101 refers to the proxy target list L3 and searches for a proxy target function that corresponds to the determined driving state (step S23).

[0095] Next, if there is no substitute target function corresponding to the determined driving state in the substitute target list L3 (NO in step S24), the in-vehicle ECU 101 determines that the function of the in-vehicle ECU 111 cannot be substituted (step S25).

[0096] On the other hand, if there is a function to be substituted corresponding to the determined driving state in the substitution target list L3 (YES in step S24), the in-vehicle ECU 101 determines that it is possible to substitute for the function of the in-vehicle ECU 111 (step S26).

[0097] Next, the in-vehicle ECU 101 transmits a stop request to the in-vehicle ECU 111 via the relay device 151, which request indicates that the execution of the application software corresponding to the function to be substituted should be stopped (step S27).

[0098] Next, the in-vehicle ECU 101 executes the application software in place of the in-vehicle ECU 111 (step S28).

[0099] Next, the on-board ECU 101 waits for the transition of the vehicle 1's driving state and the end of the trigger for executing the function substitution (NO in step S29 and NO in step S30), and if it detects the transition of the vehicle 1's driving state (YES in step S29), it performs processing from step S22 to step S28.

[0100] On the other hand, if the opportunity to execute the function substitution has ended (YES in step S30), the in-vehicle ECU 101 ends the substitution process and waits for a new opportunity to execute the function substitution (NO in step S21).

[0101] FIG. 10 is a diagram illustrating an example of a sequence of function substitution in the in-vehicle system according to the embodiment of the present disclosure.

[0102] Referring to FIG. 10, first, the in-vehicle ECU 101 transmits a list request to the in-vehicle ECU 111 via the relay device 151 (step S31).

[0103] Next, in response to the list request from the in-vehicle ECU 101, the in-vehicle ECU 111 transmits the target function list L1, the consumed resource information, and the required characteristic information to the in-vehicle ECU 101 via the relay device 151 (step S32).

[0104] Next, the on-board ECU 101 extracts functions that can be realized in the on-board ECU 101 from among the functions indicated in the target function list L1 by comparing the characteristics of the on-board ECU 101 indicated by the characteristic information F2 in the memory unit 15 with the characteristics indicated by the required characteristic information (step S33).

[0105] Next, the in-vehicle ECU 101 extracts functions that can be substituted for each driving state of the vehicle 1 based on the comparison result between the grace rate R indicated by the grace information F1 and the required usage rate indicated by the consumption resource information (step S34).

[0106] Next, the in-vehicle ECU 101 creates a substitution list L2 indicating the correspondence between the driving state and the functions that can be substituted, and transmits a substitution notification including the substitution list L2 to the in-vehicle ECU 111 via the relay device 151 (step S35).

[0107] Next, the in-vehicle ECU 111 determines which of the functions indicated in the proxy list L2 are to be permitted to be substituted, and transmits proxy permission information indicating the determined functions to the in-vehicle ECU 101 via the relay device 151 (step S36).

[0108] Next, the in-vehicle ECU 101 determines the substitutable functions indicated by the substitution permission information as functions to be substituted, and creates a substitution target list L3 indicating the correspondence between the driving state and the functions to be substituted (step S37).

[0109] Next, the in-vehicle ECU 101 downloads application software corresponding to the function to be substituted (step S38).

[0110] Next, when the in-vehicle ECU 101 determines that the opportunity to perform the function substitution has arrived, it determines the running state of the vehicle 1 (step S39).

[0111] Next, the in-vehicle ECU 101 refers to the proxy target list L3 and searches for a proxy target function that corresponds to the determined driving state (step S40).

[0112] Next, if there is a surrogate target function in the surrogate target list L3 that corresponds to the determined driving state, the in-vehicle ECU 101 sends a stop request to the in-vehicle ECU 111 via the relay device 151 indicating that the execution of the application software corresponding to the surrogate target function should be stopped (step S41).

[0113] Next, the in-vehicle ECU 111 stops the execution of the application software indicated by the stop request (step S42).

[0114] The in-vehicle ECU 101 also acquires application software corresponding to the function to be substituted from the storage unit 15, and executes the application software instead of the in-vehicle ECU 111 (step S43).

[0115] In the in-vehicle ECU 101 according to the embodiment of the present disclosure, the determination unit 12 is configured to calculate the grace rate R of the in-vehicle ECU 101 as the available resource of the in-vehicle ECU 101, but this is not limiting. The determination unit 12 may be configured to determine the available memory capacity of the in-vehicle ECU 101 or the available storage capacity of the in-vehicle ECU 101 as the available resource of the in-vehicle ECU 101 instead of the grace rate R.

[0116] Furthermore, in the in-vehicle ECU 101 according to the embodiment of the present disclosure, the host processing unit 13 is configured to switch application software to be executed depending on the operator of the vehicle 1 and the driving state of the vehicle 1, but this is not limited to this. The host processing unit 13 may be configured to switch application software to be executed depending on the operator of the vehicle 1, regardless of the driving state of the vehicle 1. In this case, the determination unit 12 calculates the available resources of the in-vehicle ECU 101 based on the type of application software to be executed depending on the operator of the vehicle 1. Furthermore, the host processing unit 13 may be configured to switch application software to be executed depending on the driving state of the vehicle 1, regardless of the operator of the vehicle 1. In this case, the determination unit 12 calculates the available resources of the in-vehicle ECU 101 based on the type of application software to be executed depending on the driving state of the vehicle 1.

[0117] In addition, in the in-vehicle ECU 101 according to the embodiment of the present disclosure, the determination unit 12 is configured to determine whether or not the in-vehicle ECU 111 can take over the function based on the grace rate R and the characteristics of the in-vehicle ECU 101, but this is not limiting. The determination unit 12 may be configured to determine whether or not the in-vehicle ECU 111 can take over the function regardless of the characteristics of the in-vehicle ECU 101.

[0118] Furthermore, in the in-vehicle ECU 101 according to the embodiment of the present disclosure, the determination unit 12 is configured to determine when a function substitution is to be performed, but this is not limited thereto. The determination unit 12 may be configured not to determine when a function substitution is to be performed. In this case, for example, after the vehicle 1 starts traveling, the determination unit 12 determines the traveling state of the vehicle 1 regardless of the CPU usage rate and operation log of the in-vehicle ECU 111, and searches for a function to be substituted that corresponds to the determined traveling state.

[0119] Furthermore, in the in-vehicle ECU 101 according to the embodiment of the present disclosure, the substitute processing unit 14 is configured to download application software corresponding to the functions of the in-vehicle ECU 111 while the vehicle 1 is parked in preparation for function substitution, but this is not limited thereto. The substitute processing unit 14 may also be configured to download application software corresponding to the functions of the in-vehicle ECU 111 while the vehicle 1 is traveling. Furthermore, the substitute processing unit 14 may not download application software corresponding to the functions of the in-vehicle ECU 111, for example, if application software corresponding to all of the functions of the in-vehicle ECU 111 is stored in the in-vehicle ECU 101 before the in-vehicle ECU 101 is retrofitted to the in-vehicle system 201.

[0120] In addition, in the in-vehicle ECU 101 according to the embodiment of the present disclosure, the proxy processing unit 14 is configured to perform a notification process to notify the in-vehicle ECU 111 of functions that can be substituted among the functions of the in-vehicle ECU 111, but this is not limited to this. The proxy processing unit 14 may be configured not to perform the notification process. In this case, the proxy processing unit 14 determines all of the functions that can be substituted included in the proxy-enabled list L2 received from the determination unit 12 as functions to be substituted.

[0121] Furthermore, although the in-vehicle system 201 according to the embodiment of the present disclosure has been described as including the relay device 151, this is not limiting. The in-vehicle system 201 may be configured without including the relay device 151. In this case, the in-vehicle ECUs 101 and 111 and the external communication device 121 are connected to each other via a bus-type transmission line 10, and communicate with each other via the transmission line 10.

[0122] Furthermore, although the in-vehicle ECU 101 according to the embodiment of the present disclosure is configured to include the determination unit 12, this is not limiting. An in-vehicle device other than the in-vehicle ECU 101 may be configured to include the determination unit 12. In this case, the substitute processing unit 14 in the in-vehicle ECU 101 performs substitute processing to substitute for the function of the in-vehicle ECU 111 that is determined to be substitutable by the determination unit 12 in the in-vehicle device.

[0123] In addition, instead of the judgment unit 12 in the on-board ECU 101, an on-board device other than the on-board ECU 101 may be configured to perform at least one of the following processes: calculating the available resources of the on-board ECU 101, determining whether or not the functions of the on-board ECU 111 can be performed, downloading application software, notification processing, sending a stop request to the on-board ECU 111, and sending a start request to the on-board ECU 111.

[0124] Furthermore, in the in-vehicle ECU 101 according to the embodiment of the present disclosure, the determination unit 12 is configured to determine whether or not the in-vehicle ECU 111 can substitute for the functions of the in-vehicle ECU 111 based on the calculation result of available resources, but this is not limited to this. The in-vehicle ECUs 101 and 111 may be virtual ECUs in which the assigned functions and the connections between the in-vehicle devices are flexible. In this case, the determination unit 12 determines whether or not the in-vehicle ECU 101 can realize the functions assigned to the in-vehicle ECU 111 based on the calculation result of available resources. Then, the substitution processing unit 14 performs processing to realize the functions assigned to the in-vehicle ECU 111 that the determination unit 12 determines to be realizable.

[0125] <Modifications> (1) Preparation for Function Delegation In preparation for function delegation, the determination unit 12 acquires the target function list L1, resource consumption information, and required characteristic information, and outputs the acquired target function list L1 to the delegation processing unit 14.

[0126] In preparation for function substitution, the substitute processing unit 14 downloads application software corresponding to the functions indicated in the target function list L1 received from the determination unit 12 while the vehicle 1 is parked. More specifically, the substitute processing unit 14 downloads application software that is not stored in the storage unit 15, among the application software corresponding to the functions of the on-board ECU 111.

[0127] (2) Execution of Function Substitution The determination unit 12 observes the state of the in-vehicle ECU 111, and based on the observation results, performs a process of calculating available resources, a process of determining whether or not a function substitution can be performed, and a process of determining whether or not to execute the substitution processing unit 14. For example, the determination unit 12 acquires the CPU usage rate and operation log of the in-vehicle ECU 111 via the communication unit 11 and the relay device 151, and determines the timing for executing function substitution based on the acquired CPU usage rate and operation log.

[0128] More specifically, after the preparation for the function substitution described above and after the vehicle 1 starts running, the judgment unit 12 determines that the opportunity to perform the function substitution has arrived if the CPU usage rate of the on-board ECU 111 becomes equal to or exceeds a predetermined value or if an abnormality in the on-board ECU 111 is detected based on the operation log.

[0129] When the determination unit 12 determines that an opportunity to perform function substitution has arrived, the determination unit 12 calculates a grace period R as an available resource of the in-vehicle ECU 101. For example, the determination unit 12 calculates the grace period R based on the processing load of the in-vehicle ECU 101. More specifically, the determination unit 12 calculates the grace period R, for example, periodically based on the observed result of the CPU usage rate in the in-vehicle ECU 101.

[0130] The determination unit 12 may calculate the grace period R of the on-board ECU 101 based on the type of application software executed in accordance with the operator of the vehicle 1 and the driving state of the vehicle 1. In this case, the determination unit 12 periodically determines the driving state of the vehicle 1 based on the driving speed, current location, engine operating state, etc. of the vehicle 1, and calculates the grace period R based on the determination result of the driving state and the grace period information F1 in the memory unit 15.

[0131] The determination unit 12 compares the characteristics of the in-vehicle ECU 101 indicated by the characteristic information F2 in the storage unit 15 with the characteristics indicated by the required characteristic information to extract functions that can be realized by the in-vehicle ECU 101 from the functions indicated by the target function list L1. Furthermore, the determination unit 12 determines whether or not any of the extracted functions of the in-vehicle ECU 111 can be substituted, based on the comparison result between the determined grace rate R and the required usage rate indicated by the consumed resource information.

[0132] If there is no substitutable function, the determination unit 12 determines that the function of the in-vehicle ECU 111 cannot be substituted.

[0133] On the other hand, if a substitutable function exists, the determination unit 12 determines that the substitutable function can be substituted and determines the substitutable function as a function to be substituted, for example, without obtaining permission for substitution from the in-vehicle ECU 111. Then, the determination unit 12 transmits a stop request indicating that execution of application software corresponding to the function to be substituted should be stopped to the in-vehicle ECU 111 via the communication unit 11 and the relay device 151. When the in-vehicle ECU 111 receives the stop request from the in-vehicle ECU 101 via the relay device 151, it stops execution of the application software indicated by the stop request.

[0134] Then, the determining unit 12 outputs to the substitution processing unit 14 a substitution instruction indicating that the application software corresponding to the function to be substituted should be executed.

[0135] The substitute processing unit 14 receives a substitute instruction from the determination unit 12 , obtains application software indicated by the received substitute instruction from the storage unit 15 , and executes the application software in place of the in-vehicle ECU 111 .

[0136] The determination unit 12 periodically calculates the grace rate R of the in-vehicle ECU 101 and determines whether or not a function that can be substituted exists, even while the substitution processing unit 14 is performing substitution processing. If the determination unit 12 determines that no function that can be substituted exists, the determination unit 12 transmits a start request to the in-vehicle ECU 111 via the communication unit 11 and the relay device 151, indicating that execution of application software corresponding to the function to be substituted should be started, and also outputs a substitution stop instruction to the substitution processing unit 14.

[0137] Furthermore, when the CPU usage rate of the on-board ECU 111 falls below a predetermined value due to a change in the running state of the vehicle 1, or when the determination unit 12 detects that the abnormality of the on-board ECU 111 has been resolved based on the operation log, during execution of the substitute processing by the substitute processing unit 14, the determination unit 12 determines that the opportunity to execute the function substitute has passed. Then, the determination unit 12 transmits a start request to the on-board ECU 111 via the communication unit 11 and the relay device 151, indicating that execution of the application software corresponding to the function to be substituted should be started, and also outputs a substitute stop instruction to the substitute processing unit 14.

[0138] When the in-vehicle ECU 111 receives the start request from the in-vehicle ECU 101 via the relay device 151, the in-vehicle ECU 111 starts executing the application software indicated by the start request.

[0139] The substitute processing unit 14 receives a substitute stop instruction from the determination unit 12 and stops the execution of the application software.

[0140] 11 is a flowchart illustrating an example of an operation procedure when an in-vehicle ECU according to a modification of the embodiment of the present disclosure prepares for function substitution. The in-vehicle ECU 101 executes the process of the flowchart illustrated in FIG. 11 every time at least one of the in-vehicle ECUs 101 and 111 downloads new application software.

[0141] Referring to FIG. 11, first, the in-vehicle ECU 101 acquires the target function list L1, the resource consumption information, and the required characteristic information (step S51).

[0142] Next, the in-vehicle ECU 101 downloads application software that corresponds to the functions indicated in the target function list L1 and that is not stored in the storage unit 15 (step S52).

[0143] FIG. 12 is a flowchart illustrating an example of an operation procedure when an in-vehicle ECU according to a modified example of an embodiment of the present disclosure performs a function substitution.

[0144] 12 , first, after preparing for function substitution and after vehicle 1 starts traveling, on-board ECU 101 waits for an opportunity to perform function substitution (NO in step S61), and when the opportunity to perform function substitution arrives (YES in step S61), calculates the grace rate R. More specifically, on-board ECU 101 calculates the grace rate R based on the observed results of the processing load of on-board ECU 101. Alternatively, on-board ECU 101 determines the traveling state of vehicle 1, and calculates the grace rate R based on the determined result of the traveling state and grace information F1 in memory unit 15 (step S62).

[0145] Next, the on-board ECU 101 extracts functions that can be realized in the on-board ECU 101 from among the functions indicated in the target function list L1 by comparing the characteristics of the on-board ECU 101 indicated by the characteristic information F2 in the memory unit 15 with the characteristics indicated by the required characteristic information (step S63).

[0146] Next, the in-vehicle ECU 101 determines whether any of the extracted functions of the in-vehicle ECU 111 can be substituted based on the comparison result between the determined grace rate R and the required usage rate indicated by the consumption resource information (step S64).

[0147] Next, if there is no function that can be substituted (NO in step S65), the in-vehicle ECU 101 determines that the function of the in-vehicle ECU 111 cannot be substituted (step S66).

[0148] On the other hand, if there is a function that can be substituted (YES in step S65), the in-vehicle ECU 101 determines that the function of the in-vehicle ECU 111 can be substituted (step S67).

[0149] Next, the in-vehicle ECU 101 determines the substituted function as the function to be substituted, and transmits a stop request to the in-vehicle ECU 111 via the relay device 151 indicating that the execution of the application software corresponding to the function to be substituted should be stopped (step S68).

[0150] Next, the in-vehicle ECU 101 executes the application software in place of the in-vehicle ECU 111 (step S69).

[0151] Next, the in-vehicle ECU 101 waits for a new timing for determining the grace rate R and the end of the trigger for executing the function substitution (NO in step S70 and NO in step S71), and when the timing for determining the grace rate R arrives (YES in step S70), it performs processing from step S62 to step S69.

[0152] On the other hand, if the opportunity to execute the function substitution has ended (YES in step S71), the in-vehicle ECU 101 ends the substitution process and waits for a new opportunity to execute the function substitution (NO in step S61).

[0153] The above-described embodiments should be considered to be illustrative in all respects and not restrictive. The scope of the present invention is defined by the claims, not by the above description, and is intended to include all modifications within the meaning and scope of the claims.

[0154] Each process (each function) in the above-described embodiments is realized by a processing circuit (circuitry) including one or more processors. The processing circuit may be configured as an integrated circuit or the like that combines one or more memories, various analog circuits, and various digital circuits in addition to the one or more processors. The one or more memories store programs (instructions) that cause the one or more processors to execute each of the processes. The one or more processors may execute each of the processes according to the program read from the one or more memories, or may execute each of the processes according to a logic circuit designed in advance to execute each of the processes. The processor may be any of various processors suitable for computer control, such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), and an ASIC (Application Specific Integrated Circuit). Note that the physically separated processors may cooperate with each other to execute the processes. For example, the processors installed in the physically separated computers may cooperate with each other via a network such as a LAN (Local Area Network), a WAN (Wide Area Network), or the Internet to execute the processes. The program may be installed into the memory from an external server device or the like via the network, or may be distributed in a state stored on a recording medium such as a CD-ROM (Compact Disc Read Only Memory), a DVD-ROM (Digital Versatile Disc Read Only Memory), or a semiconductor memory, and then installed into the memory from the recording medium.

[0155] The above description includes the following additional features: [Supplementary Note 1] An in-vehicle device mounted on a vehicle, comprising: a resource calculation unit that calculates available resources of the in-vehicle device; a feasibility determination unit that determines whether a function to be allocated to another in-vehicle device can be realized based on a calculation result of the available resources by the resource calculation unit; and a processing unit that performs processing to realize the function to be allocated to the other in-vehicle device that has been determined to be feasible by the feasibility determination unit, wherein the resource calculation unit calculates, as the available resources, a value obtained by subtracting a CPU usage rate due to execution of application software in the in-vehicle device from a predetermined allowable value of a CPU usage rate in the in-vehicle device.

[0156] [Supplementary Note 2] An in-vehicle device mounted on a vehicle, comprising a processing circuit, wherein the processing circuit calculates available resources of the in-vehicle device, determines whether or not a function to be assigned to another in-vehicle device can be realized based on the calculation result of the available resources, and performs processing to realize a function to be assigned to the other in-vehicle device that is determined to be realizable.

[0157] REFERENCE SIGNS LIST 1 Vehicle 10 Transmission line 11 Communication unit 12 Determination unit (resource calculation unit, possibility determination unit, execution determination unit, communication unit, resource calculation device, possibility determination device, execution determination device) 13 Self processing unit 14 Substitution processing unit 15 Storage unit 101 In-vehicle ECU (in-vehicle device, first in-vehicle device) 111 In-vehicle ECU (other in-vehicle device, second in-vehicle device) 121 External communication device 151 Relay device 201 In-vehicle system T1 Function table L1 Target function list L2 Substitution possible list L3 Substitution target list

Claims

1. An in-vehicle device mounted on a vehicle, comprising: a resource calculation unit that calculates available resources of the in-vehicle device; a feasibility determination unit that determines whether a function to be assigned to another in-vehicle device can be realized based on the calculation result of the available resources by the resource calculation unit; and a processing unit that performs processing to realize the function to be assigned to the other in-vehicle device that is determined to be feasible by the feasibility determination unit.

2. The in-vehicle device according to claim 1, wherein the resource calculation unit calculates the available resources based on a processing load of the in-vehicle device.

3. The in-vehicle device according to claim 1 or 2, wherein the resource calculation unit calculates the available resources based on the type of application software executed depending on the operator of the vehicle.

4. The in-vehicle device according to any one of claims 1 to 3, wherein the resource calculation unit calculates the available resources based on the type of application software executed depending on the running state of the vehicle.

5. An in-vehicle device as described in any one of claims 1 to 4, wherein the capability determination unit determines whether or not it is possible to take over the functions of the other in-vehicle device, and the processing unit performs a proxy process to take over the functions of the other in-vehicle device that are determined to be capable of being substituted by the capability determination unit as a process for realizing the functions assigned to the other in-vehicle device.

6. The in-vehicle device described in claim 5, wherein the resource calculation unit predicts the available resources based on the prediction result of the vehicle's driving state, the feasibility determination unit plans to take over the functions of the other in-vehicle device based on the prediction result of the available resources by the resource calculation unit, and the processing unit performs the substitution processing in accordance with the plan of the feasibility determination unit.

7. The in-vehicle device according to claim 5 or 6, wherein the capability determining unit determines whether or not the in-vehicle device can take over the function of the other in-vehicle device based further on characteristics of the in-vehicle device.

8. The in-vehicle device further includes a notification unit that performs a notification process to notify the other in-vehicle device of a substituteable function that is a function of the other in-vehicle device that can be substituted, and the processing unit performs the substitute processing when the notification unit receives a predetermined response from the other in-vehicle device to the notification process.The in-vehicle device described in any one of claims 5 to 7.

9. The in-vehicle device according to any one of claims 1 to 8, further comprising an execution determination unit that observes the state of the other in-vehicle device and determines whether or not to execute the processing of the resource calculation unit, the feasibility determination unit, and the processing unit based on the observation results.

10. The in-vehicle device according to any one of claims 1 to 9, wherein the in-vehicle device downloads application software corresponding to functions of the other in-vehicle device while the vehicle is parked.

11. An in-vehicle system mounted on a vehicle, comprising: a first in-vehicle device; a resource calculation device that calculates available resources of the first in-vehicle device; and a capability determination device that determines whether a function to be assigned to a second in-vehicle device can be realized in the first in-vehicle device based on the calculation result of the available resources by the resource calculation device, wherein the first in-vehicle device performs processing to realize a function to be assigned to the second in-vehicle device that has been determined to be capable of being performed by the capability determination device.

12. A processing method in an in-vehicle device mounted on a vehicle, comprising: a step of calculating available resources of the in-vehicle device; a step of determining whether or not a function to be assigned to another in-vehicle device can be realized based on a result of the calculation of available resources in the step of calculating available resources; and a step of performing processing to realize a function to be assigned to the other in-vehicle device that is determined to be feasible in the step of determining whether or not the function to be assigned to the other in-vehicle device can be realized.

13. A processing program used in an in-vehicle device mounted in a vehicle, causing a computer to function as: a resource calculation unit that calculates available resources of the in-vehicle device; a feasibility determination unit that determines whether a function to be assigned to another in-vehicle device can be realized based on the calculation result of the available resources by the resource calculation unit; and a processing unit that performs processing to realize the function to be assigned to the other in-vehicle device that is determined to be realizable by the feasibility determination unit.

Citation Information

Patent Citations

  • Information processing system and information processor

    JP2005149423A

  • Information display apparatus

    JP2006339690A

  • Distributed control system

    JP2007034359A

  • Electronic control device

    JP2021089581A