IN-VEHICLE SYSTEM
Patent Information
- Application Number
- DE102019217077
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2018-11-15
- Filing Date
- 2019-11-06
- Publication Date
- 2025-07-17
- Estimated Expiration
- 2039-11-06
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The present disclosure relates to an in-vehicle system for additionally installing an application on an electronic control unit in the in-vehicle system.
[0002] JP 2014-178998 A discloses an installation system that includes multiple information processing units and additionally installs a program. In the program, a specific information processing unit included in the installation system is predefined as the installation target. The installation system of JP 2014-178998 A installs a program on a specific information processing unit designated as the installation target based on an operation on a specific information processing unit included in the installation system.
[0003] In an in-vehicle system, which is a system including multiple information processing units, a configuration in which an application is additionally installed is examined. However, the resource available to each information processing unit included in the in-vehicle system may vary depending on the configuration and usage situation of the vehicle. Therefore, in a case of the configuration in which the application is installed in a specific information processing unit included in the in-vehicle system, the resource available to the application may be limited by the deployment resource that can be provided by the specific information processing unit as the installation destination. Therefore, the performance of the installed application may be degraded.
[0004] Reference is also made to US 2017 / 0 277 566 A1 and US 2016 / 0 239 286 A1, which were identified as prior art.
[0005] It is an object of the present disclosure to provide an in-vehicle system that suppresses performance degradation of an additionally installed application.
[0006] The problem is solved by the subject matter having the features of the independent claims.
[0007] The above and other objects, features, and advantages of the present disclosure will become more apparent from the following detailed description with reference to the accompanying drawings, in which: Fig. 1 is a block diagram showing the configuration of an in-vehicle system; Fig. 2 is a flowchart showing an operation example of an installation assignment application; Fig. 3 is a flowchart showing a communication procedure of an installation assignment application; Fig. 4 is a flowchart showing an operation example of an additional application; and Fig. 5 is a flowchart showing a communication procedure of an additional application.
[0008] An in-vehicle system 10 according to an embodiment of the present disclosure is a system constructed to include a plurality of ECUs 100 mounted on a vehicle 1, as shown in Fig. 1. The in-vehicle system 10 is used as a control system that integrally controls various sensors, actuators, user interfaces, and the like provided in the vehicle 1. The in-vehicle system 10 includes a relay device 20 in addition to the above-described plurality of ECUs 100.
[0009] The relay device 20 is a device that relays communications between the ECUs 100 and functions as a so-called switching hub. The relay device 20 is provided with multiple ports for connecting to the ECUs 100 and other relay devices 20. Each of the ports is connected to one of the ECUs 100 and other relay devices 20 via a communication cable such as a twisted pair cable. That is, the relay device 20 connects each ECU 100 to form a star-shaped network configuration centered on the relay device 20.
[0010] The relay device 20 forwards communications based on the fixed address set in each of the ECUs 100 and the relay device 20. The fixed address is, for example, an IP address or the like, which generally does not change and is uniquely assigned in a manner that identifies each device in the in-vehicle system 10. The relay device 20 forwards communications according to, for example, a communication protocol of Ethernet (registered trademark).
[0011] Each ECU 100 is an electronic control unit mainly including a microcomputer having, for example, a storage device for storing software, a processor 101 for executing software, and an input / output interface. The storage device is provided, for example, by a semiconductor memory device. Each ECU 100 has a main storage device (hereinafter referred to as a working memory) and a secondary storage device (hereinafter referred to as a read-only memory) as storage devices. The working memory 102 temporarily stores software being executed and data related to it. The read-only memory 103 is a non-volatile, tangible storage medium that non-temporarily stores software, including unexecuted software and data.
[0012] Each of the ECUs 100 reads the software stored in the read-only memory 103 into the main memory 102 and controls the processor 101 to execute the software, thereby performing a function corresponding to the software. In the read-only memory 103 of each ECU 100, application software (hereinafter, application) that is different for each ECU 100 and platform software (hereinafter, platform) that is common to each ECU 100 are prestored. An application is software that executes on the platform software. The application prestored in the read-only memory 103 of each ECU 100 includes a unique application. The unique application provides a unique function to the ECU 100 by processing in cooperation with a unique sensor or actuator connected to the input / output interface of the ECU 100.
[0013] The platform is software for providing an application execution environment. The platform specifies an operating system (hereinafter also referred to as OS) or a combination of operating system and middleware.
[0014] The operating system is software that provides basic functions, such as various types of calculation processing, to the middleware and the application, and executes the middleware and the application. The middleware is software that runs on the operating system and extends the functions provided by the operating system to applications. The middleware provides the application with an extended general-purpose function, such as a communication function that aggregates a series of calculation processing related to communication with another ECU 100, for example. That is, the platform may be software that defines a set of functions that can be provided to an application. By executing a common platform in each of the ECUs 100, the types of functions that can be provided to the application are standardized among the respective ECUs 100.
[0015] The common platform executed by each of the ECUs 100 provides functions as the installation unit 105 and the communication unit 104. The installation unit 104 stores the received application installation file in the ROM 103 and opens the installation file to install the application in the installation unit 104.
[0016] The communication unit 105 provides communication according to a service-oriented communication protocol. For example, specifications defined in SOME / IP (Scalable Service-Oriented Middleware for Ethernet / IP) or DDS (Data Distribution Service for Real-Time Systems) are available in the service-oriented communication protocol. Service indicates a component unit of processing in the application in which an interface capable of calling and responding to each other is preliminarily defined in a communication protocol.
[0017] The service includes a distribution service and a reception service. The distribution service is a service that delivers data as a result of periodic processing of the application or upon the occurrence of a predetermined event. The reception service is a service that receives a command and executes processing of an application according to the command. In the in-vehicle system 10, for example, a service for periodically distributing data indicating a vehicle speed, a service for distributing data notifying the occurrence of a shift operation event by a user, and the like are defined as the distribution service. As the reception service, for example, a service for receiving an unlock command and a lock command for a side door or a trunk door, etc., are defined.
[0018] The ECUs 100 executing the common platform notify each other of the service provided by the ECU 100 and the fixed address at a predetermined time. When the application requests receipt of the notified distribution service, each ECU 100 sends a subscription request and its own fixed address in response to the fixed address of the notification source. The distribution service that received the subscription request provides the distribution service to the fixed address that returned the subscription request.
[0019] Each of the ECUs 100 stores a set of the notified reception service and the fixed address when the application requests use of the notified reception service. When the application requests use of the reception service, each ECU 100 performs communication by reading the service as the fixed address according to the stored set. As a result, the application executed by each ECU can specify the communication partner according to the type of service, even if the fixed address of the ECU 100 as the communication partner is not specified in advance.
[0020] Thus, in any of the ECUs 100 of the present embodiment, the common basic functions and extended functions of the application are provided, and the application can cooperate with any service provided in the in-vehicle system 10. Therefore, even if an application is installed on any of these ECUs 100, the installed application can ideally run normally. Therefore, each of these ECUs 100 corresponds to an "information processing unit" capable of additionally installing an application. Here, the method of establishing a system by linking the function of each ECU 100 using the above-described service-oriented communication protocol can be defined as a service-oriented architecture.
[0021] The in-vehicle system 10 of the present embodiment includes, as the above-described ECU 100, an integrated ECU 100a, a travel control ECU 100b, a travel support ECU 100c, a trunk ECU 100d, a body ECU 100e, and a gateway ECU 100f.
[0022] The integrated ECU 100a is a device that performs a function of controlling the state of the vehicle 1 in an integrated manner by executing the specific application. The integrated ECU 100a cooperates with, for example, a wheel speed sensor, an acceleration sensor, a GNSS positioning device, and so on, and performs a function of sequentially detecting the vehicle speed, acceleration, position, and so on of the vehicle 1. The integrated ECU 100a provides a distribution service that periodically notifies each of the acquired vehicle speed, acceleration, position, and the like.
[0023] The travel control ECU 100b is a device that performs the function of controlling the travel of the vehicle 1 by executing the specific application. The travel control ECU 100b cooperates with an accelerator pedal position sensor, a brake pressure force sensor, a steering angle sensor, and the like to acquire a driving operation by the user. The travel control ECU 100b cooperates with an electronic throttle, a brake actuator, an EPS (Electric Power Steering) motor, and the like to execute acceleration / deceleration and steering according to the acquired driving operation. The travel control ECU 100b provides a reception service for receiving a command for requesting acceleration, deceleration, or steering.
[0024] The travel control ECU 100b corrects and executes the amount of acceleration / deceleration and the amount of steering determined according to the driving operation by the user, for example, based on the received command.
[0025] The driving assistance ECU 100c is a device that performs a driving assistance function for users, such as lane keeping assistance, adaptive cruise control, or so-called autonomous driving, by executing the specific application. When the condition for executing the driving assistance is met, the driving assistance ECU 100c detects the peripheral state of the vehicle 1 in cooperation with a peripheral monitoring device that monitors the peripheral state of the vehicle 1, such as a camera, sonar, or radar. The driving assistance ECU 100c generates a command for requesting acceleration / deceleration or steering according to the detected peripheral situation, the vehicle speed, acceleration, and position obtained from the integrated ECU 100a, and the like, and transmits the command to the ECU 100, which provides the reception service according to the command.
[0026] The trunk ECU 100d is a device that controls the opening and closing of the trunk of the vehicle 1 by executing a specific application. The trunk ECU 100d cooperates with a door lock motor that drives a trunk door lock and performs a trunk unlocking and locking function. The trunk ECU 100d provides a receiving service for receiving a trunk locking and unlocking command.
[0027] The body ECU 100e is a device that performs a control function of equipment provided on the vehicle body, such as a door lock arranged on the door of the vehicle 1, by executing the specific application. The body ECU 100e cooperates with a wireless communication device capable of communicating with an electronic key arranged inside the vehicle cabin or outside the vehicle, buttons arranged at various locations in the vehicle body, and the like, and detects an operation request for the equipment from the user and approves the operation request. The body ECU 100e generates a lock command, an unlock command, and the like according to the approved operation request and sends the command to the ECU 100, which provides a reception service according to the command.
[0028] The body ECU 100e is connected to the same relay device 20 as the ECU 100, which has high functional relevance, and forms a group with the relay device 20 as the center. Specifically, the body ECU 100e is connected to the same relay device 20 as the trunk ECU 100d.
[0029] The gateway ECU 100f is a device that performs a connection function with the external device outside the in-vehicle system 10 by executing the specific application. The gateway ECU 100f cooperates with, for example, a wireless communication device and performs a function of connecting to a server or the like arranged in a data center by communicating via a wireless base station and a public communication network. The gateway ECU 100f provides, for example, a reception service for receiving a message to the outside of the in-vehicle system 10 and a transmission command to the outside. The gateway ECU 100f also provides a distribution service for notifying the occurrence of a message reception event from the outside and transmitting the message.
[0030] An installation assignment application is stored in the read-only memory 103 of the gateway ECU 100f. The gateway ECU 100f performs the functions as the application acquisition unit 110, the request specification unit 130, the resource specification unit 120, and the selection unit 140 by executing the installation assignment application. Here, part or all of the functions performed by the gateway ECU 100f by executing the installation assignment application can be realized by hardware such as a logic circuit or the like using one or more ICs.
[0031] The application acquisition unit 110 acquires an additional application to be additionally installed in any of the ECUs 100 included in the in-vehicle system 10 from outside the in-vehicle system 10. The application acquisition unit 110 acquires the installation file of the additional application from the server device, for example, using the communication function of the gateway ECU 100f.
[0032] The resource specification unit 120 specifies the provisioning resource, which indicates a resource that can be provided by each ECU 100. The resource indicates a hardware resource allocated to the application in each ECU 100. The resource can be represented, for example, by the free time of the processor 101, the free capacity of the RAM 102, the free capacity of the ROM 103, the time during which the network can be accessed, and the service that can be communicated.
[0033] The resource specification unit 120 collects resource information at a predetermined timing by communicating with each ECU 100. The resource information is data that enables the calculation of the provisioning resource. For example, the utilization rate of the processor 101 (so-called CPU utilization rate), the utilization rate of the RAM 102, the clock frequency, the free space of the ROM 103, the network utilization rate, and the number of provisioned services and the number of services in use can be used as resource information. The resource specification unit 120 specifies the provisioning resource based on the collected resource information.
[0034] The resource specification unit 120 of the present embodiment distinguishes the operating state of the vehicle 1 into the three states of the running state, the stopped state, and the parking state, and specifies the provisioning resource of each ECU 100 for each operating state. When the operating state of the vehicle 1 is in the running state, the resource specification unit 120 waits to collect resource information until the operating state is in the stopped state. The running state is a state in which the vehicle 1 is running. The running state is set, for example, as a state in which the vehicle speed is equal to or higher than a predetermined running speed threshold, such as 1 km / h or more.
[0035] The stop state indicates that the vehicle 1 has stopped traveling, and the user remains in the vehicle. The vehicle stop state is defined, for example, as a state where the vehicle speed is lower than the traveling speed threshold and the accessory power supply is turned on or an ignition switch is turned on. In the stop state, due to the specific application and communication related to the traveling condition, the load on each ECU 100 and the network tends to decrease compared to the traveling state. Therefore, the provisioning resource of each ECU 100 in the stop state tends to increase compared to the traveling state.
[0036] The parking state is a state in which the vehicle stops driving and the user can get out of the vehicle. The parking state is defined, for example, as a state in which the power source of the vehicle 1, including the accessory power supply, is turned off. In the parking state, a part of the ECU 100 included in the in-vehicle system 10 is in a turned-off state in which electric power is not supplied. As a result, in some of the ECUs 100, the supply resource becomes zero due to the turned-off state. For example, the ECU 100 related to driving conditions, such as the driving support ECU 100c and the driving control ECU 100b, is in a state in which the supply resource is zero due to the turned-off state.Furthermore, in the parking state, the ECU 100 can exist in the power-saving state, where power consumption is reduced compared to the driving state and the stop state. Therefore, in the parking state, the supply resource tends to be more restricted than in the stop state.
[0037] The request specification unit 130 specifies a request resource, which is a resource requested by the additional application acquired by the application acquisition unit 110. The request specification unit 130 specifies the request resource, for example, by reading information for specifying an execution environment of the application attached to the installation file of the additional application. The information for specifying the execution environment includes, for example, the operating state of the vehicle 1 assumed to be executed, the clock frequency of the processor 101, the utilization rate of the processor 101 and the RAM 102 when they are executed, the free space of the ROM 103 required for installation, the utilization rate of the network, and the like, which are set in advance.
[0038] The setting of the request resource will be described by taking the case where the home delivery trunk application is acquired as an additional application as an example. The home delivery trunk application is an application for using the trunk of the vehicle 1 parked at home as a delivery box, that is, a receiving space for a delivered package. The home delivery trunk application receives the home delivery trunk request command from outside the vehicle by being executed by the ECU 100 and performs a function of controlling the door lock of the trunk.
[0039] The home delivery trunk application is an application that executes when the vehicle 1 is in a parking state. Therefore, the request resource in the parking state is set in the request resource information of the home delivery trunk application. Specifically, usage rates of the processor 101 and the RAM 102 in the parking state are set as the request resource information. In addition, in the parking state, the request resource information is set so that the installation target is the ECU 100, which is provided with communication with the trunk unlocking and locking command reception service.
[0040] The selection unit 140 selects the ECU 100 as the installation destination of the application acquired by the application acquisition unit 110. The selection unit 140 selects, among the ECUs 100, one of the ECUs 100 whose deployment resource satisfies the required resource as the installation destination of the application. The selection unit 140 selects an installation destination based on the deployment resource in which the additional application is in the operating state, selected from the deployment resources specified by the resource specification unit 120. That is, the deployment resource corresponding to the operating state in which the additional application operates selects the ECU 100 that satisfies the required resource.
[0041] If there are multiple ECUs 100 that satisfy the requested resource, the selection unit 140 selects an installation target based on a predetermined selection policy. For example, the selection unit 140 preferentially selects the ECU 100 with the lowest utilization rate of the processor 101 or the RAM 102, or the ECU 100 with a large storage capacity of the read-only memory 103. Alternatively, the selection unit 140 may prioritize the ECU 100 located in the area on the network near the ECU 100 providing the service used by the additional application. That is, the ECU 100 with fewer relay devices 20 through which communication is performed may be prioritized. The selection unit 140 transmits the installation file acquired by the application acquisition unit 110 to the ECU 100 selected as the installation target.In addition, the selection unit 140 notifies the server device of the success or failure of the installation of the additional application. [Activating the installation assignment application]
[0042] An operation example of the installation assignment application is described with reference to Fig. 2 and Fig. 3. The installation assignment application executed by the gateway ECU 100f performs the steps described in the flowchart of Fig. 2 starting from S101 when the additional application is distributed by the server device.
[0043] In S101, the vehicle speed transmitted from the integrated ECU 100a is received. In S102, it is determined whether the vehicle 1 stops based on the vehicle speed received in S101. If the vehicle 1 stops, processing proceeds to S103, and if the vehicle 1 does not stop, processing returns to S101.
[0044] In S103, the transmission of resource information is requested from each ECU 100. In S104, the resource information transmitted by each ECU is received.
[0045] In S105, while specifying the provisioning resource of each ECU 100 based on the resource information received in S104, the requirement resource of the additional application is specified. In S106, the ECU 100 is selected as the installation target from among the ECUs 100 that are provisioning resources and satisfy the requirement resource.
[0046] In S107, it is determined whether the installation target can be selected in S106. If the installation target is selected, processing proceeds to S108. If the installation target is not selected, processing proceeds to S109. In S108, the additional application is transferred to the installation target ECU 100 selected in S106.
[0047] In S109, the server is notified of the installation result, that is, whether the installation is successful or not, and the operation of the installation assignment application ends.
[0048] A communication example for collecting resource information along with the operation of the installation assignment application is shown in the flowchart of Fig. 3. The gateway ECU 100f requests the notification of the vehicle speed distribution service from the integrated ECU 100a in advance.
[0049] In S201, the integrated ECU 100a periodically distributes the speed to the gateway ECU 100f by requesting in advance.
[0050] In S202, the gateway ECU 100f starts processing with respect to the installation assignment application when the server device distributes the application to the gateway ECU 100f.
[0051] In S203, the integrated ECU 100a performs the periodic delivery of the speed to the gateway ECU 100f again. By determining that the vehicle 1 is in the running state, the gateway ECU 100f stands by without requesting the resource information.
[0052] In S204, the integrated ECU 100a performs the periodic delivery of the speed to the gateway ECU 100f again. The gateway ECU 100f requests each of the ECUs 100 to send the resource information in S205 by determining that the vehicle 1 is in the stop state.
[0053] Each of the ECUs 100 supplies the resource information to the gateway ECU 100f in S206, S207, S208, S209 and S210.
[0054] The gateway ECU 100f, which has selected the installation destination using the provisioning resource based on the received resource information, transmits the application to the body ECU 100e in S211. In S212, the gateway ECU 100f notifies the server device of the successful installation. [Activation of the additional application]
[0055] An operation example of the additional application installed in the selected ECU 100 will be described with reference to Fig. 4 and Fig. 5. When the installed additional application is executed, the process described in the flowchart of Fig. 4 processing is carried out starting from S301.
[0056] In S301, it is determined whether the fusion processing with other services of the in-vehicle system 10 is complete, that is, whether the mutual notification of the provided services is complete. If the processing is complete, the processing proceeds to step S306. If the processing is not complete, the processing proceeds to step S302.
[0057] In S302, it is determined whether there is a service to be used by the additional application, in other words, a service to be enjoyed in the additional application. If the service to be used exists, processing proceeds to step S303. If not, processing proceeds to step S304.
[0058] In S303, the ECU 100 that provides the service to be used is searched for. Specifically, for each ECU 100, a query is made as to whether the service to be used is provided, and if the service is provided, a response is requested from each ECU 100.
[0059] In S304, it is determined whether there is a service provided by the additional application. If a service provided by the additional application exists, processing proceeds to step S305, and if not, processing proceeds to step S306.
[0060] In S305, notification is made regarding the service provided by the additional application. Specifically, for each ECU 100, a query is made as to whether the ECU requires the use of the service provided by the additional application. If the service to be provided is a delivery service, a request to respond to the request is also made. In S306, execution of processing related to the function of the additional application is started.
[0061] A communication example for the additional application is shown in the flow chart of Fig. 5. An example is described in which the home delivery trunk application is installed as an additional application in the body ECU 100e.
[0062] In S401, the home delivery trunk application executed by the body ECU 100e searches for a service. The home delivery trunk application searches for a trunk locking and unlocking command reception service, which is a service to be used.
[0063] In S402, the trunk ECU providing the trunk locking and unlocking command reception service sends a response for notifying the provision of the service.
[0064] In S403, the home delivery trunk application notifies each ECU of a service for receiving a home delivery trunk request command provided by it.
[0065] In S404, the server device sends a home delivery trunk request command to the gateway ECU 100f. In S405, the gateway ECU 100f notifies the body ECU 100e of the home delivery trunk request command received in S403 based on the service notification.
[0066] In S406, the body ECU 100e sends a trunk unlock command to the trunk ECU 100d based on the provision destination of the reception service received in S402.
[0067] As described above, according to the above-described embodiment, the request specification unit 130 and the resource specification unit 120 specify the request resource requested by the additional application and the provision resource that can be provided by each ECU. The selection unit 140 selects, from among the multiple ECUs 100, the ECU 100 whose provision resource satisfies the request resource as the installation destination of the additional application. Therefore, the application installed in the selected ECU 100 is provided from the ECU 100 in which the request resource is installed and becomes operational. Therefore, the in-vehicle system 10 suppresses the performance degradation of the added application.
[0068] Furthermore, in the present embodiment, the resource specification unit 120 collects the resource information by communicating with each ECU 100 and specifies a provisioning resource based on the collected resource information. Therefore, even if the provisioning resource of each ECU 100 changes over time, the resource specification unit 120 can specify the changed provisioning resource. Consequently, even if the provisioning resource of each ECU 100 changes over time, the selection unit 140 can select the ECU 100 whose provisioning resource satisfies the required resource as the installation target. Therefore, the in-vehicle system 10 can further suppress the performance degradation of the added application.
[0069] Furthermore, in the present embodiment, when the operating state of the vehicle 1 is in the running state, the resource specification unit 120 stops collecting resource information until the vehicle 1 is in the stopped state. Here, it is expected that the network usage rate in the in-vehicle system 10 and the usage rates of the processor 101 and the RAM 102 of each ECU 100 are smaller during the stopped state than during the running state of the vehicle. Therefore, according to the configuration in which the collection of provision resources is waited until the vehicle 1 stops, the load generated in the network and each ECU 100 during the collection of provision resources is less likely to compete with the load related to other functions provided by the in-vehicle system 10.Therefore, the resource information can be collected while suppressing the performance degradation of the other functions provided by the in-vehicle system 10.
[0070] Additionally, in the present embodiment, the resource specification unit 120 distinguishes the operating state of the vehicle 1 and specifies the provisioning resource for each operating state. Further, the requirement specification unit 130 specifies the operating state of the vehicle in which the additional application is to be executed. The selection unit 140 selects, as the installation target, the ECU 100 in which the provisioning resource corresponding to the operating state in which the additional application is executed satisfies the requirement resource from the provisioning resources for the operating states. Therefore, even if the provisioning resource of each ECU 100 fluctuates according to the change in the operating state of the vehicle 1, the ECU 100 in which the provisioning resource satisfies the requirement resource is selected as the installation target for the additional application.Therefore, the in-vehicle system 10 can further suppress the performance degradation of the added application. <Andere Ausführungsformen>
[0071] Although the embodiments of the present disclosure have been described above, the present disclosure is not limited to the above-described embodiments, and the following modified examples are also included in the technical scope of the present disclosure, and further, various changes can be made within the range that does not deviate from the scope. In the following description, elements having the same reference numerals as those used heretofore are the same as elements having the same reference numerals in the preceding embodiments unless specifically described. When only some parts of the configuration are described, the previously described embodiment can be applied to other parts of the configuration.
[0072] In the above embodiment, the gateway ECU 100f implements the function of selecting the installation destination of the application software such as the application acquisition unit 110, the requirement specification unit 130, and the resource specification unit 120. Alternatively, these functions may be implemented in any of the ECUs 100 included in the in-vehicle system 10, or they may be shared by multiple ECUs 100. Moreover, even if any of the ECUs 100 implements functions, some or all of the functions may be configured by hardware.
[0073] In the embodiment described above, the in-vehicle system 10 connects a plurality of ECUs in terms of functions as a group in a star configuration centered on the relay device 20, and connects each group by connecting the relay devices 20. Alternatively, the network configuration of the in-vehicle system 10 and the functions of the ECUs 100 may not be limited to the above and may be modified as necessary. For example, the in-vehicle system 10 may have a network configuration in which the inside of a group is connected centering on a so-called bus-type configuration. The in-vehicle system 10 may adopt a configuration in which communication between groups is relayed not from the relay device 20 but from any of the ECUs 100 in the group.
[0074] Furthermore, the in-vehicle system 10 may have a network configuration that provides multiple connection paths, for example, a connection in a combination of a star form and a bus form between the respective ECUs. Alternatively, a configuration may be adapted such that an ECU partially exists to only conform to the communication protocol for specifying the communication destination according to the fixed address and not to conform to the service-oriented communication protocol in the network.
[0075] In the embodiment described above, the resource specification unit 120 specifies a provisioning resource for each ECU in each operating state. The resource provided in the state where the function of the existing application of each ECU is not restricted is specified as the provisioning resource. Alternatively, if the existing application includes an application that allows the restriction of its own function, it may be possible to specify the provisioning resource provided when the function is restricted. In such a case, the selection unit 140 is configured to select, as the installation target, an ECU that satisfies the provisioning resource in the function-restricted state when there is no ECU whose provisioning resource in the function-restricted state satisfies the request resource.
[0076] In the above embodiment, the operating state of the vehicle 1 is divided into three states. Alternatively, the operating state of the vehicle 1 may not be divided, or may be divided into multiple states other than three states. For example, the running state may be further divided into a high-speed running state and a low-speed running state based on the vehicle speed and the like. Furthermore, the criteria for determining the operating state of the vehicle may be changed as needed. For example, the determination of whether the vehicle is in the running state may be made based on the gearshift position, the operating conditions of the parking brake, or the like.
[0077] In the above-described embodiment, the resource specification unit 120 collects resource information by communicating with each ECU 100 to specify a provisioning resource. Alternatively, the resource specification unit 120 may be configured to use the provisioning resource stored in advance in the ROM 103 in the form of a table or the like as the provisioning resource of each ECU 100. For example, the resource specification unit 120 may be configured to use the provisioning resource stored in advance in the ROM 103 when referring to the provisioning resource that does not change significantly over time. The resource specification unit 120 specifies the provisioning resource of each ECU 100 when the application acquisition unit 110 receives the additional application.Alternatively, the resource specification unit may be configured to periodically specify the provisioning resource independently of receipt of the additional application.
[0078] In the embodiment described above, each of the ECUs 100 runs a common platform software. Alternatively, the platform software does not need to be completely identical, as long as each ECU 100 can provide a function used by the additional application. For example, some of the ECUs 100 may use middleware that is not required for the additional application and is not used in other ECUs 100. Alternatively, the operating system version in some of the ECUs 100 may be different from that of the other ECUs 100.
[0079] The in-vehicle system 10 may also include an ECU 100 that does not execute common platform software. For example, the ECU 100 included in the in-vehicle system 10 may be configured to implement some or all of the functions performed by one or more ICs in hardware.
[0080] In the above embodiment, the delivery trunk application is described as an additional application. Alternatively, the additional application may not be limited to the above application as long as the application is realized using the service defined by the communication protocol of the in-vehicle system 10. For example, it may be possible to install, as an additional application, a homecoming contact application that detects entry into a home peripheral area using a service that provides the position of the vehicle 1 and sends a homecoming notification message to a home device.
[0081] In the above-described embodiment, the request specification unit 130 specifies the minimum amount of resources required to execute the additional application as a request resource based on information for identifying the execution environment attached to the additional application installation file. Alternatively, the format and identification method of the request resource need not be limited to the above and can be changed as needed. For example, the request resource may be set to only one policy in order of priority, such as selecting the ECU 100 with the largest available memory capacity, without specifying the minimum amount.Alternatively, when the information for specifying the execution environment is not attached to the additional application, the request specification unit 130 may use a configuration that uses a preset minimum, a preset policy in order of priority, or the like as the request resource of the additional application.
[0082] The controls and methods described in the present disclosure may be implemented by a special-purpose computer created by configuring a memory and a processor programmed to perform one or more specific functions included in computer programs. Alternatively, the controls and methods described in the present disclosure may be implemented by a special-purpose computer created by configuring a processor provided by one or more special-purpose hardware logic circuits.Alternatively, the controls and methods described in the present disclosure may be implemented by one or more special-purpose computers configured by configuring a combination of memory and a processor programmed to perform one or more specific functions, and a processor provided by one or more hardware logic circuits. The computer programs may be stored in a tangible, non-transitory computer-readable medium as instructions executed by a computer.
[0083] It is noted that a flowchart or the processing of the flowchart in the present application includes sections (also referred to as steps), each of which is represented, for example, as S101. Furthermore, each section may be divided into multiple subsections, while multiple sections may be combined into a single section. Furthermore, each of the sections thus configured may also be referred to as a device, module, or means.
[0084] While the present disclosure has been described with reference to embodiments thereof, it should be understood that the disclosure is not limited to the embodiments and constructions. The present disclosure is intended to cover various modifications and equivalent arrangements. Besides the various combinations and configurations, other combinations and configurations including more, less, or only a single element are also within the spirit and scope of the present disclosure.
Claims
[1] Vehicle system for a vehicle, comprising: a plurality of information processors (100) installing an application; an application acquiring unit (110) that acquires the application; a request specification unit (130) that specifies a request resource required by the application acquired by the application acquisition unit (110); a resource specification unit (120) that specifies a provisioning resource provided by each of the information processors (100); and a selection unit (140) that selects one of the information processors (100) that provides the provisioning resource that satisfies the request resource as the installation target for the application, wherein: the resource specification unit (120) collects resource information for calculating the provisioning resource via communication with each information processor and specifies the provisioning resource based on collected resource information; and the resource specification unit (120) waits to collect the resource information until the vehicle stops when the vehicle is traveling. [2] Vehicle system for a vehicle, comprising: a plurality of information processors (100) installing an application; an application acquiring unit (110) that acquires the application; a request specification unit (130) that specifies a request resource required by the application acquired by the application acquisition unit (110); a resource specification unit (120) that specifies a provisioning resource provided by each of the information processors (100); and a selection unit (140) that selects one of the information processors (100) that provides the provision resource that satisfies the request resource as the installation target for the application, wherein the resource specification unit (120) collects resource information for calculating the provisioning resource via communication with each information processor and specifies the provisioning resource based on collected resource information; the resource specification unit (120) specifies the provisioning resource by distinguishing an operation state of the vehicle; the requirement specification unit (130) specifies the operating state in which the execution of the application is expected; and the selection unit (140) selects the one of the information processors (100) that provides the provision resource corresponding to the operation state in which execution is expected and satisfies the request resource.
Citation Information
Patent Citations
Information processor, apparatus, installation system, installation method, and program
JP2014178998A
Information processing apparatus and installation method
US20160239286A1
Software component assigning system for vehicle
US20170277566A1
JP002014178998A