WO2018142751A1 - 制御装置、プログラム更新方法、およびコンピュータプログラム - Google Patents
制御装置、プログラム更新方法、およびコンピュータプログラム Download PDFInfo
- Publication number
- WO2018142751A1 WO2018142751A1 PCT/JP2017/043512 JP2017043512W WO2018142751A1 WO 2018142751 A1 WO2018142751 A1 WO 2018142751A1 JP 2017043512 W JP2017043512 W JP 2017043512W WO 2018142751 A1 WO2018142751 A1 WO 2018142751A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- update
- program
- priority
- control
- vehicle
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
- B60R16/023—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
- B60R16/0231—Circuits relating to the driving or the functioning of the vehicle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R25/00—Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
- B60R25/30—Detection related to theft or to other events relevant to anti-theft systems
- B60R25/307—Detection related to theft or to other events relevant to anti-theft systems using data concerning maintenance or configuration
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0062—Adapting control system settings
- B60W2050/0075—Automatic parameter input, automatic initialising or calibrating means
- B60W2050/0083—Setting, resetting, calibration
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
Definitions
- the present invention relates to a control device, a program update method, and a computer program.
- This application claims priority based on Japanese Patent Application No. 2017-016606 filed on Feb. 1, 2017, and incorporates all the content described in the above Japanese application.
- ECUs Electronic Control Units
- the types of ECUs include, for example, those related to the traveling system that controls the engine, brakes, and EPS (Electric Power Steering) for the operation of the accelerator, the brake, and the steering wheel.
- EPS Electric Power Steering
- body-type ECUs for controlling turning on / off of headlights and sounding of alarm devices
- meter-type ECUs for controlling the operation of meters disposed near the driver's seat.
- the ECU is configured by an arithmetic processing device such as a microcomputer, and the control of the in-vehicle device is realized by reading and executing a control program stored in a ROM (Read Only Memory).
- the ECU control program may differ depending on the destination and grade of the vehicle, and it is necessary to rewrite the old version control program to the new version control program in response to the upgrade of the control program.
- Patent Document 1 discloses a system that receives a correction program for correcting a vehicle control program from an information providing center that is an external device, and rewrites the vehicle control program using the program in response to a request from the information providing center. Is disclosed.
- Patent Document 2 discloses a system that distributes update information of map information to a vehicle-mounted navigation device, and receives a priority of update information that matches the state of the vehicle.
- the control device is a control device that controls update of a control program of an in-vehicle control device that controls a target device mounted on a vehicle, and a memory for storing a control program update program;
- a determination unit that determines priorities of a plurality of update programs stored in the memory, and a control unit that downloads the plurality of update programs in descending order of priority according to the determined priorities.
- the unit determines the priority based on one or more safety indicators associated with each of the plurality of update programs stored in the memory.
- the program update method is an update method for a control program of an in-vehicle control device that controls a target device mounted on a vehicle, the step of storing the control program update program in a memory, Determining a priority order of a plurality of update programs stored in the computer, and downloading a plurality of update programs in descending order of priority according to the determined priority order.
- the step includes determining a priority based on one or more safety indicators associated with each of the plurality of update programs stored in the memory.
- the computer program is a computer program for causing a computer to function as a control device that controls updating of a control program of an in-vehicle control device that controls a target device mounted on the vehicle, the computer controlling A memory that stores a program update program; a determination unit that determines a priority of a plurality of update programs stored in the memory; and a high priority according to the determined priority
- a control unit that sequentially downloads a plurality of update programs, and a determination unit determines priority based on one or more safety indicators associated with each of the plurality of update programs stored in the memory .
- FIG. 1 is an overall configuration diagram of a program update system according to an embodiment.
- FIG. 2 is a block diagram showing the internal configuration of the gateway.
- FIG. 3 is a block diagram showing an internal configuration of the ECU.
- FIG. 4 is a block diagram showing an internal configuration of a DL (download) server.
- FIG. 5 is a sequence diagram illustrating an example of control program update executed in the program update system according to the first embodiment.
- FIG. 6 is a diagram illustrating a specific example of a relationship graph that is an example of a correspondence relationship between one or more safety indicators and priority values.
- FIG. 7 is a diagram for explaining a method for determining the download priority in the DL server.
- FIG. 8 is a flowchart showing specific contents of processing of the DL server when realizing the sequence of FIG.
- FIG. 9 is a flowchart showing specific contents of the processing of the DL server according to the second embodiment.
- An object of an aspect of the present disclosure is to provide a control device, a program update method, and a computer program that can download a plurality of control program update programs in the order in consideration of vehicle safety.
- a plurality of control program update programs can be downloaded in the order in consideration of vehicle safety.
- control device included in the present embodiment is a control device that controls the update of the control program of the in-vehicle control device that controls the target device mounted in the vehicle, and stores the control program update program.
- a memory a determination unit that determines priorities of the plurality of update programs stored in the memory; and a control unit that downloads the plurality of update programs in descending order of priority according to the determined priorities.
- the determination unit determines the priority based on one or more safety indicators associated with each of the plurality of update programs stored in the memory.
- a plurality of update programs are downloaded in descending order of priority so that the update programs with higher priority based on the safety indicators are preferentially downloaded. Therefore, the control program having a higher priority based on the safety index is updated more quickly. Thereby, the safety
- the safety indicator includes at least one of a functional safety indicator and a security indicator.
- the update program is downloaded in order of priority in consideration of at least one of functional safety and security ensuring.
- the control unit interrupts the download of the update program being downloaded and downloads a new update program.
- the update program of the control program that is flexible and highly urgent is preferentially downloaded, and the control program is preferentially updated. Therefore, the safety of the vehicle can be improved quickly.
- the control unit downloads a new update program after the download of the update program being downloaded is completed. Thereby, the download of the update program being downloaded can be completed without interruption.
- control unit downloads a plurality of update programs in descending order of priority according to the priority order, and requests update of the control program in descending order of priority.
- control program with higher urgency is preferentially updated.
- the algorithm for determining the priority of the update program in the determination unit can be changed. Accordingly, the priority order can be flexibly changed in accordance with a change in safety evaluation and an improvement in performance.
- a program update method included in the present embodiment is an update method of a control program of an in-vehicle control device that controls a target device mounted on a vehicle, the step of storing the control program update program in a memory, and the memory Determining a priority order of the plurality of update programs stored; determining a priority order of the plurality of update programs stored in the memory; and in descending order of priority according to the determined priorities Downloading a plurality of update programs, and determining the priority order includes setting a priority based on one or more safety indicators associated with each of the plurality of update programs stored in the memory. Including deciding.
- a plurality of update programs are downloaded in descending order of priority so that the update programs with higher priority based on the safety indicators are preferentially downloaded. Therefore, the control program with higher priority is updated more quickly. Thereby, the safety
- the computer program included in the present embodiment is a computer program for causing a computer to function as a control device that controls updating of a control program of an in-vehicle control device that controls a target device mounted on a vehicle
- the computer is a control program Including a memory for storing the update program, a determination unit for determining the priority of the plurality of update programs stored in the memory, and in descending order of priority according to the determined priority
- the controller functions as a control unit that downloads a plurality of update programs, and the determination unit determines the priority based on one or more safety indicators associated with each of the plurality of update programs stored in the memory.
- a plurality of update programs are downloaded in descending order of priority so that the update programs with higher priority based on the safety indicators are preferentially downloaded. Therefore, the control program with higher priority is updated more quickly. Thereby, the safety
- FIG. 1 is an overall configuration diagram of a program update system according to the first embodiment.
- the program update system of this embodiment includes a vehicle 1, a management server 5, and a DL (download) server 6 that can communicate via a wide area communication network 2.
- the management server 5 manages update information of the vehicle 1.
- the DL server 6 stores an update program.
- the management server 5 and the DL server 6 are operated by, for example, a car manufacturer of the vehicle 1 and can communicate with a large number of vehicles 1 owned by users who are registered as members in advance.
- the vehicle 1 is equipped with a gateway 10, a wireless communication unit 15, a plurality of ECUs 30, and various in-vehicle devices (not shown) controlled by the ECUs 30.
- a communication group including a plurality of ECUs 30 that are bus-connected to a common in-vehicle communication line, and the gateway 10 relays communication between the communication groups. Therefore, a plurality of in-vehicle communication lines are connected to the gateway 10.
- the wireless communication unit 15 is communicably connected to a wide area communication network 2 such as a mobile phone network, and is connected to the gateway 10 via an in-vehicle communication line.
- the gateway 10 transmits information received by the wireless communication unit 15 from the external devices such as the management server 5 and the DL server 6 to the ECU 30 through the wide area communication network 2.
- the gateway 10 transmits information acquired from the ECU 30 to the wireless communication unit 15, and the wireless communication unit 15 transmits the information to an external device such as the management server 5.
- the wireless communication unit 15 mounted on the vehicle 1 in addition to the in-vehicle dedicated communication terminal, devices such as a mobile phone, a smartphone, a tablet terminal, and a notebook computer (Personal Computer) owned by the user can be considered.
- the gateway 10 communicates with an external device via the wireless communication unit 15 is illustrated, but when the gateway 10 has a wireless communication function, the gateway 10 itself is a management server 5 or the like. It is good also as a structure which performs wireless communication with an external apparatus.
- the management server 5 and the DL server 6 are configured as separate servers, but the servers 5 and 6 may be configured as a single server device.
- FIG. 2 is a block diagram showing the internal configuration of the gateway 10.
- the gateway 10 includes a CPU 11, a RAM (Random Access Memory) 12, a storage unit 13, an in-vehicle communication unit 14, and the like.
- the gateway 10 is connected via the wireless communication unit 15 and the in-vehicle communication line, but these may be configured by a single device.
- the CPU 11 causes the gateway 10 to function as a relay device for various types of information by reading one or more programs stored in the storage unit 13 into the RAM 12 and executing them.
- the CPU 11 can execute a plurality of programs in parallel, for example, by switching and executing a plurality of programs in a time division manner.
- the CPU 11 may represent a plurality of CPU groups. In this case, the functions realized by the CPU 11 are realized by the cooperation of a plurality of CPU groups.
- the RAM 12 is composed of a memory element such as SRAM (Static RAM) or DRAM (Dynamic RAM), and temporarily stores a program executed by the CPU 11, data necessary for execution, and the like.
- the computer program realized by the CPU 11 can be transferred while being recorded on a known recording medium such as a CD-ROM or DVD-ROM, or can be transferred by information transmission from a computer device such as a server computer.
- transferring (transmitting) a program from a higher-level device to a lower-level device is also referred to as “downloading”.
- the storage unit 13 includes a nonvolatile memory element such as a flash memory or an EEPROM.
- the storage unit 13 stores a program executed by the CPU 11 and data necessary for execution, and stores an update program for each ECU 30 received from the DL server 6.
- a plurality of ECUs 30 are connected to the in-vehicle communication unit 14 via an in-vehicle communication line disposed in the vehicle 1.
- the in-vehicle communication unit 14 is, for example, CAN (Controller Area Network), CANFD (CAN with Flexible Data Rate), LIN (Local Interconnect Network), Ethernet (registered trademark), or MOST (Media Oriented Systems Transport: MOST is a registered trademark). Communication with the ECU 30 is performed according to the standard.
- the in-vehicle communication unit 14 transmits the information given from the CPU 11 to the target ECU 30 and gives the information received from the ECU 30 to the CPU 11.
- the in-vehicle communication unit 14 may communicate according to other communication standards used for the in-vehicle network as well as the above communication standards.
- the wireless communication unit 15 includes a wireless communication device including an antenna and a communication circuit that performs transmission / reception of a wireless signal from the antenna.
- the wireless communication unit 15 can communicate with an external device by being connected to a wide area communication network 2 such as a mobile phone network.
- the wireless communication unit 15 transmits information given from the CPU 11 to an external device such as the management server 5 via the wide area communication network 2 formed by a base station (not shown), and receives information received from the external device to the CPU 11. give.
- a wired communication unit that functions as a relay device in the vehicle 1 may be employed.
- the wired communication unit has a connector to which a communication cable conforming to a standard such as USB (Universal Serial Bus) or RS232C is connected, and performs wired communication with another communication device connected via the communication cable.
- a communication cable conforming to a standard such as USB (Universal Serial Bus) or RS232C is connected
- RS232C Universal Serial Bus
- the outside of the vehicle depends on the communication path of the outside device ⁇ another communication device ⁇ the wired communication unit ⁇ the gateway 10.
- the apparatus and the gateway 10 can communicate with each other.
- FIG. 3 is a block diagram showing an internal configuration of the ECU 30.
- the ECU 30 includes a CPU 31, a RAM 32, a storage unit 33, a communication unit 34, and the like.
- the ECU 30 is an in-vehicle control device that individually controls target devices mounted on the vehicle 1. Examples of the ECU 30 include a power supply control ECU, an engine control ECU, a steering control ECU, and a door lock control ECU.
- the CPU 31 controls the operation of the target device that it is in charge of by reading one or more programs stored in advance in the storage unit 33 into the RAM 32 and executing them.
- the CPU 31 may also represent a plurality of CPU groups, and the control by the CPU 31 may be control by cooperation of a plurality of CPU groups.
- the RAM 32 is configured by a memory element such as SRAM or DRAM, and temporarily stores programs executed by the CPU 31, data necessary for execution, and the like.
- the storage unit 33 is configured by a nonvolatile memory element such as a flash memory or an EEPROM, or a magnetic storage device such as a hard disk.
- the storage unit 33 stores a program that the CPU 31 reads and executes.
- the information stored in the storage unit 33 includes, for example, a computer program (hereinafter referred to as “control program”) for causing the CPU 31 to perform information processing for controlling a target device that is a control target in the vehicle.
- the communication unit 34 is connected to the gateway 10 via an in-vehicle communication line disposed in the vehicle 1.
- the communication unit 34 communicates with the gateway 10 according to a standard such as CAN, Ethernet, or MOST.
- the communication unit 34 transmits the information given from the CPU 31 to the gateway 10 and gives the information received from the gateway 10 to the CPU 31.
- the communication unit 34 may communicate according to other communication standards used for the in-vehicle network, in addition to the above communication standards.
- the CPU 31 of the ECU 30 includes an activation unit 35 that switches the control mode by the CPU 31 to either “normal mode” or “reprogramming mode” (hereinafter also referred to as “repro mode”).
- the normal mode is a control mode in which the CPU 31 of the ECU 30 executes an original control on the target device (for example, engine control on the fuel engine, door lock control on the door lock motor, etc.).
- the reprogramming mode is a control mode in which a control program used for controlling the target device is updated. That is, the reprogramming mode is a control mode in which the CPU 31 erases and rewrites the control program in the ROM area of the storage unit 33. Only in this control mode, the CPU 31 can update the control program stored in the ROM area of the storage unit 33 to a new version.
- the activation unit 35 When the CPU 31 writes the new version of the control program in the storage unit 33 in the repro mode, the activation unit 35 once restarts (resets) the ECU 30 and executes the verify process on the storage area in which the new version of the control program is written. .
- the activation unit 35 causes the CPU 31 to operate according to the updated control program after the above-described verification processing is completed.
- FIG. 4 is a block diagram showing an internal configuration of the DL server 6.
- the DL server 6 includes a CPU 61, a ROM 62, a RAM 63, a storage unit 64, a communication unit 65, and the like.
- the CPU 61 reads out one or more programs stored in advance in the ROM 62 to the RAM 63 and executes them, thereby controlling the operation of each hardware and causing the DL server 6 to function as an external device that can communicate with the gateway 10.
- the CPU 61 may also represent a plurality of CPU groups, and the functions realized by the CPU 61 may be realized by the cooperation of a plurality of CPU groups.
- the RAM 63 is configured by a memory element such as SRAM or DRAM, and temporarily stores a program executed by the CPU 61 and data necessary for the execution.
- the storage unit 64 includes a nonvolatile memory element such as a flash memory or an EEPROM, or a magnetic storage device such as a hard disk.
- the storage unit 64 stores an update program to be downloaded.
- the communication unit 65 includes a communication device that executes communication processing in accordance with a predetermined communication standard, and is connected to the wide area communication network 2 such as a mobile phone network to execute the communication processing.
- the communication unit 65 transmits the information given from the CPU 61 to the external device via the wide area communication network 2 and gives the information received via the wide area communication network 2 to the CPU 61.
- FIG. 5 is a sequence diagram illustrating an example of control program update executed in the program update system of the present embodiment.
- One or a plurality of update programs are stored in the DL server 6.
- the management server 5 determines the timing for updating the control program of the ECU of the vehicle 1 for the vehicle 1 registered in advance.
- the update timing may be set by, for example, the car manufacturer of the vehicle 1.
- the management server 5 transmits the update destination storage URL of the ECU 30 and the download request to the gateway 10 of the vehicle 1 (step S1).
- the gateway 10 that has received the update request from the management server 5 requests the DL server 6 to download the update program (step S2).
- the DL server 6 requested to download from the gateway 10 determines the order in which the plurality of update programs are downloaded (DL order). (Step S3).
- the DL server 6 determines priorities determined based on safety-related indexes (hereinafter, safety indexes) for each of the plurality of update programs, and the DL based on the priority of each update program.
- the plurality of update programs are downloaded in order.
- the DL order determination process in step S3 will be described later.
- the DL server 6 transfers a plurality of update programs ⁇ 1 to ⁇ 3 to the gateway 10 according to the determined DL order, and requests an update of the control program (steps S4-1 to S4-3).
- the gateway 10 downloads the update programs ⁇ 1 to ⁇ 3, the gateway 10 transfers the update program ⁇ to the target ECU 30 in the order of download and requests update of the control program.
- the gateway 10 may request the target ECU 30 to update the control program after receiving permission to update the control program from the user.
- the gateway 10 transfers the update program ⁇ 1 to the target ECU 30 and requests an update of the control program (step S7).
- the target ECU 30 that has downloaded the update program ⁇ 1 expands the update program ⁇ 1 in accordance with a request from the gateway 10, and updates the control program (step S8).
- the target ECU 30 notifies the DL server 6 of the update completion via the gateway 10 (steps S9 and S10).
- step S4-2 when the gateway 10 downloads the update program ⁇ 2 from the DL server 6 (step S4-2), the gateway 10 transfers the update program ⁇ 2 to the target ECU 30 and requests an update of the control program (step S11).
- the target ECU 30 that has downloaded the update program ⁇ 2 expands the update program ⁇ 2 in accordance with a request from the gateway 10 and updates the control program (step S12).
- the target ECU 30 notifies the gateway 10 of the completion of the update (steps S13 and S14).
- step S4-3 when the gateway 10 downloads the update program ⁇ 3 from the DL server 6 (step S4-3), the gateway 10 transfers the update program ⁇ 3 to the target ECU 30 and requests an update of the control program (step S15).
- the target ECU 30 that has downloaded the update program ⁇ 3 expands the update program ⁇ 3 in accordance with a request from the gateway 10 and updates the control program (step S16).
- the target ECU 30 notifies the gateway 10 of the completion of the update (steps S17 and S18).
- the CPU 61 of the DL server 6 determines the DL order (step S3), and includes functions represented as a determination unit 611 and a control unit 612 in FIG. 4 as functions for controlling download. These functions are functions realized in the CPU 61 when the CPU 61 reads out and executes one or more programs stored in the ROM 62. However, at least a part of the functions may be realized by hardware such as an electronic circuit.
- the function of the CPU 61 represented by the determination unit 611 determines the download priority of the plurality of update programs.
- Safety indicators are associated with each update program.
- the index is added to the update program or passed to the DL server 6 in association with the update program.
- Vehicle safety refers to, for example, the safety of the vehicle user's body and life, the driving function for the safety of people and objects outside the vehicle, the functional safety such as the steering function, and the vehicle body and network as property. For example, ensuring security as a connected communication device.
- ISO 26262 functional safety standard defined by ISO (International Organization for Standardization) is known.
- the ISO 26262 standard specifies ASIL (Automotive Safety Integrity Level) as an index of functional safety, and assigns QM (Quality Management), A, B, C, and D levels to each safety requirement.
- the function assigned D is required to have the highest level of safety measures, and the function assigned A is the lowest.
- the function to which the QM is assigned refers to being unrelated to safety.
- ASIL is used as an index for functional safety of a function that uses the target control program for each update program.
- At least one safety indicator is associated with each update program. Preferably two safety indicators are associated. In the present embodiment, it is assumed that the ASIL and the security level are associated with each other.
- the determining unit 611 identifies the associated safety index for each of the plurality of update programs. And the value (henceforth priority value) which shows the priority for every program for an update is specified based on the related safety parameter
- the determination unit 611 stores a correspondence relationship between one or more safety indicators and priority values in advance.
- the determination unit 611 stores a relationship graph of priority values for the combination of safety indicators shown in FIG.
- the determination unit 611 specifies the priority value of the update program by applying the safety index associated with each update program to the relationship graph of FIG. That is, the determination unit 611 specifies the priority value of the update program based on a combination of two or more safety indicators.
- the vertical axis represents ASIL
- the horizontal axis represents the security level
- the higher the level the higher the level.
- the relationship graph of FIG. 6 shows a relationship in which the priority value is high when at least one of ASIL and security level is high, and the priority value is low when both levels are low. It is an example of a relationship graph that specifies priority values with some emphasis on ASIL among levels.
- the relationship shown in FIG. 6 is an example of a relationship graph.
- the correspondence used by the determining unit 611 for specifying the priority value is not limited to the relationship graph of FIG. 6, and a function, a relational expression, and a safety index for calculating the priority value using the safety index as a variable.
- the correspondence relationship itself stored in the DL server 6 may be an update target using an update program from an update program provider such as a car manufacturer.
- the algorithm for determining the priority in the determination unit 611 and the parameters used in the algorithm may be changeable.
- the DL server 6 receives the program or parameter for the change from the provider of the update program such as a car maker or another device, and changes the algorithm or the parameter.
- a priority can be flexibly changed with a change in safety evaluation and an improvement in performance.
- a priority value specified based on the safety index may be associated with each update program.
- priority values may be associated with each update program instead of one or more safety indicators.
- the priority value may be added to the update program and stored in the DL server 6, or may be stored in the DL server 6 in association with the update program.
- the determining unit 611 determines the priority of the plurality of update programs, that is, the DL order, based on the priority value specified for each of the plurality of update programs. As an example, it is assumed that the smaller the priority value, the higher the priority and the faster the DL order. Therefore, when there are no update programs having the same priority value in a plurality of update programs, the determination unit 611 uses the priority value of each update program as a priority as it is. When update programs having the same priority value exist, the determination unit 611 applies a predetermined standard to these update programs, and further determines the priority among these update programs. You may decide. The criteria are, for example, the order of creation date and time, the order given from the update program provider such as a car manufacturer, and the order of data size. Or the determination part 611 is good also considering these update programs as the same DL order, leaving the priority of the same row
- FIG. 7 is a diagram for explaining a method for determining the download priority in the determination unit 611 of the DL server 6.
- the update programs ⁇ 1 to ⁇ 4 are a plurality of update programs whose priority is to be determined.
- the update program ⁇ 1 is, for example, an update program for updating the steering control function.
- the update program ⁇ 2 is, for example, an update program for updating the navigation function.
- the update program ⁇ 3 is an update program for updating the security function, for example.
- the update program ⁇ 4 is, for example, an update program for updating the map.
- ASIL “C” and security level “A” are set for the update program ⁇ 1.
- ASIL “QM” and security level “QM” are set for the update program ⁇ 2.
- ASIL “QM” and security level “C” are set for the update program ⁇ 3.
- ASIL “QM” and security level “QM” are set for the update program ⁇ 4.
- the determining unit 611 identifies the priority value of the update program ⁇ 1 having the ASIL “C” and the security level “A” as “1” with reference to the relationship graph of FIG.
- the priority value of the update program ⁇ 2 having ASIL “QM” and security level “QM” is identified as “4”.
- the priority value of the update program ⁇ 3 having ASIL “QM” and security level “C” is identified as “2”.
- the priority value of the update program ⁇ 4 having ASIL “QM” and security level “QM” is identified as “4”.
- the determination unit 611 determines the priority of each update program so that the update program with the smaller priority value has a higher priority, that is, the DL order is earlier. Specifically, for the update program ⁇ 1 with the priority value “1” and the update program ⁇ 3 with the priority value “2”, the determination unit 611 does not overlap with the priority values of the other update programs. Therefore, based on the priority value, the priority of the update program ⁇ 1 is determined to be “1” indicating the highest order, and the priority order of the update program ⁇ 3 is determined to be “2” indicating the next highest order. For the update program ⁇ 2 and the update program ⁇ 4 identified as the same priority value “4”, the determination unit 611 determines priorities in order of the creation date and time as an example.
- the determination unit 611 sets the priority of the update program ⁇ 4 to “3”, and the priority order of the update program ⁇ 2. Is determined to be “4” which is the lower side.
- the function of the CPU 61 represented by the control unit 612 downloads the update program in descending order of priority as the DL order according to the priority determined by the determination unit 611. Control.
- FIG. 8 is a flowchart showing specific contents of processing of the DL server 6 when realizing the sequence of FIG. 8 is mainly realized by the CPU 61 when the CPU 61 of the DL server 6 reads one or more programs stored in the ROM 63 onto the RAM 62 and executes them.
- the process of FIG. 8 is started when a download of the update program is requested from the gateway 10 (step S2).
- CPU 61 of DL server 6 sets for each of the plurality of update programs.
- the DL order is determined based on the one or more safety indicators that have been set (step S103).
- the CPU 61 downloads the update program having the highest DL order, that is, the highest priority, to the gateway 10 and requests an update (step S105).
- step S107 When the completion of the update of the control program is notified from the target ECU 30 (step S107), it is confirmed whether or not there is a next update program in the DL order. If there is a next update program in the DL order (YES in step S111), the CPU 61 repeats the processing from step S105.
- a plurality of update programs are downloaded to the gateway 10 in order according to the DL order determined in step S103, and the control program is updated in the target ECU 30.
- the DL server 6 requests the update of the control program along with the download of the update program according to the determined DL order.
- the DL server 6 may only download the update program.
- the update program with higher priority is preferentially downloaded.
- the update program with a high priority is not hindered by the update program with a low priority, and the update program with a high priority can be quickly downloaded.
- the earlier the update program is downloaded the higher the possibility that the control program in the target ECU will be updated earlier.
- a control program with a higher priority is more likely to be updated more quickly. Therefore, the safety of the vehicle can be improved quickly.
- the DL server 6 receives an update program from an update program provider such as a car maker while downloading a plurality of update programs to the gateway 10 according to the determined DL order.
- the download order is determined including the update program added to the plurality of update programs.
- FIG. 9 is a flowchart showing specific contents of processing of the DL server 6 according to the second embodiment.
- the processing shown in the flowchart of FIG. 9 is also mainly realized by the CPU 61 when the CPU 61 of the DL server 6 reads out one or more programs stored in the ROM 63 onto the RAM 62 and executes them.
- the processing in FIG. 9 is executed in parallel with the download processing while the DL server 6 is downloading the update program.
- CPU 61 determines one or more safety items set for the update program. A priority is specified based on the index (step S205). Then, the CPU 61 compares the priority of the added update program with the priority of the update program being downloaded.
- step S205 When the priority of the added update program is higher than the priority of the update program being downloaded (YES in step S205), the CPU 61 interrupts the download of the update program being downloaded (step S207). Then, the CPU 61 downloads the added update program (step S209). When the download of the added update program is completed and the update of the target control program is notified (YES in step S211), the CPU 61 resumes the download interrupted in step S207 (step S215). ). The CPU 61 repeats the above processing until the download of the update program is completed (NO in step S217).
- the added update program may be downloaded after the download of the update program being downloaded is completed. In this way, the download of the update program being downloaded can be completed without interruption.
- the process may be performed by a device different from the DL server 6.
- it may be performed by the gateway 10.
- the gateway 10 when a plurality of update programs are downloaded from the DL server 6 to the gateway 10, the gateway 10 includes one or more associated programs for each update program.
- the DL order of the plurality of update programs is determined based on the safety index. Then, the gateway 10 transfers the update program to the target ECU 30 according to the determined DL order, and requests update of the control program.
- the CPU 11 of the gateway 10 determines the DL order and controls the download to the determination unit 111 corresponding to the determination unit 611 and the control unit 612.
- a corresponding control unit 112 is included.
- These functions are mainly realized by the CPU 11 when the CPU 11 reads out and executes one or more programs stored in the ROM 12. However, at least a part of the functions may be realized by hardware such as an electric circuit.
- the determination unit 111 of the gateway 10 determines the priority of each update program using the correspondence relationship between one or more safety indicators and priority values as in the relationship graph of FIG. decide.
- the correspondence relationship is stored in the DL server 6 and may be downloaded to the gateway 10 together with the update program.
- the determination unit 111 determines the priority
- the correspondence relationship stored in the DL server 6 is read out. May be used.
- the correspondence relationship may be stored in the gateway 10.
- the correspondence relationship itself stored in the gateway 10 may also be an update target.
- the algorithm for determining the priority in the determination unit 111 or the parameters used in the algorithm may be changeable.
- the gateway 10 receives the program or parameter for the change from the provider of the update program such as the DL server 6 or the car maker, and changes the algorithm or the parameter.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置であって、制御プログラムの更新用プログラムを格納するためのメモリと、前記メモリに格納されている複数の前記更新用プログラムの優先度を決定する決定部と、決定された前記優先度に従って、前記優先度の高い順に前記複数の更新用プログラムをダウンロードする制御部と、を備え、前記決定部は、前記メモリに格納されている前記複数の更新用プログラムそれぞれに関連付けられた1つ以上の安全指標に基づいて前記優先度を決定する、制御装置。
Description
この発明は制御装置、プログラム更新方法、およびコンピュータプログラムに関する。
本出願は、2017年2月1日出願の日本出願第2017-016606号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
本出願は、2017年2月1日出願の日本出願第2017-016606号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
近年、自動車の技術分野においては、車両の高機能化が進行しており、多種多様な車載機器が車両に搭載されている。従って、車両には、各車載機器を制御するための制御装置である、所謂ECU(Electronic Control Unit)が多数搭載されている。
ECUの種類には、例えば、アクセル、ブレーキ、ハンドルの操作に対してエンジン、ブレーキ、およびEPS(Electric Power Steering)等の制御を行う走行系に関わるもの、乗員によるスイッチ操作に応じて車内照明およびヘッドライトの点灯/消灯と警報器の吹鳴等の制御を行うボディ系ECU、運転席近傍に配設されるメータ類の動作を制御するメータ系ECUなどがある。
ECUの種類には、例えば、アクセル、ブレーキ、ハンドルの操作に対してエンジン、ブレーキ、およびEPS(Electric Power Steering)等の制御を行う走行系に関わるもの、乗員によるスイッチ操作に応じて車内照明およびヘッドライトの点灯/消灯と警報器の吹鳴等の制御を行うボディ系ECU、運転席近傍に配設されるメータ類の動作を制御するメータ系ECUなどがある。
一般的にECUは、マイクロコンピュータ等の演算処理装置によって構成されており、ROM(Read Only Memory)に記憶した制御プログラムを読み出して実行することにより、車載機器の制御が実現される。
ECUの制御プログラムは、車両の仕向け地およびグレードなど応じて異なることがあり、制御プログラムのバージョンアップに対応して、旧バージョンの制御プログラムを新バージョンの制御プログラムに書き換える必要がある。
ECUの制御プログラムは、車両の仕向け地およびグレードなど応じて異なることがあり、制御プログラムのバージョンアップに対応して、旧バージョンの制御プログラムを新バージョンの制御プログラムに書き換える必要がある。
たとえば、特許文献1には、車両制御プログラムを修正するための修正プログラムを外部装置である情報提供センタから受信し、情報提供センタからの要求に応じて当該プログラムを用いて車両制御プログラムを書き換えるシステムが開示されている。
また、特許文献2には、車載のナビゲーション装置に対して地図情報の更新情報を配信するシステムであって、自車の状態に合った更新情報の優先的に受け取るシステムを開示している。
ある実施の形態に従うと、制御装置は車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置であって、制御プログラムの更新用プログラムを格納するためのメモリと、メモリに格納されている複数の更新用プログラムの優先度を決定する決定部と、決定された優先度に従って、優先度の高い順に複数の更新用プログラムをダウンロードする制御部と、を備え、決定部は、メモリに格納されている複数の更新用プログラムそれぞれに関連付けられた1つ以上の安全指標に基づいて優先度を決定する。
他の実施の形態に従うと、プログラム更新方法は車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新方法であって、制御プログラムの更新用プログラムをメモリに格納するステップと、メモリに格納されている複数の更新用プログラムの優先度を決定するステップと、決定された優先度に従って、優先度の高い順に複数の更新用プログラムをダウンロードするステップと、を備え、優先順を決定するステップは、メモリに格納されている複数の更新用プログラムそれぞれに関連付けられた1つ以上の安全指標に基づいて優先度を決定することを含む。
他の実施の形態に従うと、コンピュータプログラムは車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、コンピュータは制御プログラムの更新用プログラムを格納するためのメモリを含み、コンピュータを、メモリに格納されている複数の更新用プログラムの優先度を決定する決定部、および、決定された優先度に従って、優先度の高い順に複数の更新用プログラムをダウンロードする制御部、として機能させ、決定部は、メモリに格納されている複数の更新用プログラムそれぞれに関連付けられた1つ以上の安全指標に基づいて優先度を決定する。
<本開示が解決しようとする課題>
車両の安全性に鑑みると、安全性に関わるプログラムの更新などの緊急度の高い更新用プログラムは優先的にダウンロードする必要がある。
車両の安全性に鑑みると、安全性に関わるプログラムの更新などの緊急度の高い更新用プログラムは優先的にダウンロードする必要がある。
本開示のある局面における目的は、車両の安全性を考慮した順で制御プログラムの更新用プログラムを複数ダウンロードすることができる制御装置、プログラム更新方法、およびコンピュータプログラムを提供することである。
<本開示の効果>
この開示によると、車両の安全性を考慮した順で制御プログラムの更新用プログラムを複数ダウンロードすることができる。
この開示によると、車両の安全性を考慮した順で制御プログラムの更新用プログラムを複数ダウンロードすることができる。
[実施の形態の説明]
本実施の形態には、少なくとも以下のものが含まれる。
すなわち、本実施の形態に含まれる制御装置は車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置であって、制御プログラムの更新用プログラムを格納するためのメモリと、メモリに格納されている複数の更新用プログラムの優先度を決定する決定部と、決定された優先度に従って、優先度の高い順に複数の更新用プログラムをダウンロードする制御部と、を備え、決定部は、メモリに格納されている複数の更新用プログラムそれぞれに関連付けられた1つ以上の安全指標に基づいて優先度を決定する。
1つ以上の安全指標に基づいた優先度に従って、優先度の高い順に複数の更新用プログラムがダウンロードされることによって、安全指標に基づく優先度の高い更新用プログラムほど優先的にダウンロードされる。そのため、安全指標に基づく優先度の高い制御プログラムほど迅速に更新されることになる。これにより、車両の安全性を迅速に向上させることができる。
本実施の形態には、少なくとも以下のものが含まれる。
すなわち、本実施の形態に含まれる制御装置は車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置であって、制御プログラムの更新用プログラムを格納するためのメモリと、メモリに格納されている複数の更新用プログラムの優先度を決定する決定部と、決定された優先度に従って、優先度の高い順に複数の更新用プログラムをダウンロードする制御部と、を備え、決定部は、メモリに格納されている複数の更新用プログラムそれぞれに関連付けられた1つ以上の安全指標に基づいて優先度を決定する。
1つ以上の安全指標に基づいた優先度に従って、優先度の高い順に複数の更新用プログラムがダウンロードされることによって、安全指標に基づく優先度の高い更新用プログラムほど優先的にダウンロードされる。そのため、安全指標に基づく優先度の高い制御プログラムほど迅速に更新されることになる。これにより、車両の安全性を迅速に向上させることができる。
好ましくは、安全指標は、機能安全の指標とセキュリティの指標との少なくとも1つを含む。
これにより、機能安全と、セキュリティ確保との少なくとも一方を考慮した優先順で更新用プログラムがダウンロードされる。
これにより、機能安全と、セキュリティ確保との少なくとも一方を考慮した優先順で更新用プログラムがダウンロードされる。
好ましくは、更新用プログラムのダウンロード中に、メモリに新たな更新用プログラムが格納された場合であって、ダウンロード中の更新用プログラムの優先度よりも新たな更新用プログラムの優先度が高い場合に、制御部は、ダウンロード中の更新用プログラムのダウンロードを中断して新たな更新用プログラムをダウンロードする。
これにより、柔軟に緊急度の高い制御プログラムの更新用プログラムほど優先的にダウンロードされ、当該制御プログラムの更新が優先的に行われるようになる。そのため、車両の安全性を迅速に向上させることができる。
これにより、柔軟に緊急度の高い制御プログラムの更新用プログラムほど優先的にダウンロードされ、当該制御プログラムの更新が優先的に行われるようになる。そのため、車両の安全性を迅速に向上させることができる。
好ましくは、更新用プログラムのダウンロード中に、メモリに新たな更新用プログラムが格納された場合であって、ダウンロード中の更新用プログラムの優先度よりも新たな更新用プログラムの優先度が高い場合に、制御部は、ダウンロード中の更新用プログラムのダウンロード完了後に新たな更新用プログラムをダウンロードする。
これにより、ダウンロード中の更新用プログラムのダウンロードを途切れることなく完了させることができる。
これにより、ダウンロード中の更新用プログラムのダウンロードを途切れることなく完了させることができる。
好ましくは、制御部は、優先順度に従って、優先度の高い順に複数の更新用プログラムをダウンロードし、かつ、優先度の高い順に制御プログラムの更新を要求する。
これにより、緊急度の高い制御プログラムのほど優先的に更新される。
これにより、緊急度の高い制御プログラムのほど優先的に更新される。
好ましくは、決定部で更新用プログラムの優先度を決定するためのアルゴリズムは変更可能である。
これにより、安全性の評価の変化および性能の向上などに伴って柔軟に優先順を変更することができる。
これにより、安全性の評価の変化および性能の向上などに伴って柔軟に優先順を変更することができる。
本実施の形態に含まれるプログラム更新方法は車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新方法であって、制御プログラムの更新用プログラムをメモリに格納するステップと、メモリに格納されている複数の更新用プログラムの優先順を決定するステップと、メモリに格納されている複数の更新用プログラムの優先度を決定するステップと、決定された優先度に従って、優先度の高い順に複数の更新用プログラムをダウンロードするステップと、を備え、優先順を決定するステップは、メモリに格納されている複数の更新用プログラムそれぞれに関連付けられた1つ以上の安全指標に基づいて優先度を決定することを含む。
1つ以上の安全指標に基づいた優先度に従って、優先度の高い順に複数の更新用プログラムがダウンロードされることによって、安全指標に基づく優先度の高い更新用プログラムほど優先的にダウンロードされる。そのため、優先度の高い制御プログラムほど迅速に更新されることになる。これにより、車両の安全性を迅速に向上させることができる。
1つ以上の安全指標に基づいた優先度に従って、優先度の高い順に複数の更新用プログラムがダウンロードされることによって、安全指標に基づく優先度の高い更新用プログラムほど優先的にダウンロードされる。そのため、優先度の高い制御プログラムほど迅速に更新されることになる。これにより、車両の安全性を迅速に向上させることができる。
本実施の形態に含まれるコンピュータプログラムは車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、コンピュータは制御プログラムの更新用プログラムを格納するためのメモリを含み、コンピュータを、メモリに格納されている複数の更新用プログラムの優先度を決定する決定部、および、決定された優先度に従って、優先度の高い順に複数の更新用プログラムをダウンロードする制御部、として機能させ、決定部は、メモリに格納されている複数の更新用プログラムそれぞれに関連付けられた1つ以上の安全指標に基づいて優先度を決定する。
1つ以上の安全指標に基づいた優先度に従って、優先度の高い順に複数の更新用プログラムがダウンロードされることによって、安全指標に基づく優先度の高い更新用プログラムほど優先的にダウンロードされる。そのため、優先度の高い制御プログラムほど迅速に更新されることになる。これにより、車両の安全性を迅速に向上させることができる。
1つ以上の安全指標に基づいた優先度に従って、優先度の高い順に複数の更新用プログラムがダウンロードされることによって、安全指標に基づく優先度の高い更新用プログラムほど優先的にダウンロードされる。そのため、優先度の高い制御プログラムほど迅速に更新されることになる。これにより、車両の安全性を迅速に向上させることができる。
[実施の形態の詳細]
以下に、図面を参照しつつ、好ましい実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
以下に、図面を参照しつつ、好ましい実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
<第1の実施の形態>
〔システムの全体構成〕
図1は、第1の実施形態にかかるプログラム更新システムの全体構成図である。
図1に示すように、本実施形態のプログラム更新システムは、広域通信網2を介して通信可能な車両1、管理サーバ5およびDL(ダウンロード)サーバ6を含む。
管理サーバ5は、車両1の更新情報を管理する。DLサーバ6は、更新用プログラムを保存する。管理サーバ5およびDLサーバ6は、たとえば、車両1のカーメーカーにより運営されており、予め会員登録されたユーザが所有する多数の車両1と通信可能である。
〔システムの全体構成〕
図1は、第1の実施形態にかかるプログラム更新システムの全体構成図である。
図1に示すように、本実施形態のプログラム更新システムは、広域通信網2を介して通信可能な車両1、管理サーバ5およびDL(ダウンロード)サーバ6を含む。
管理サーバ5は、車両1の更新情報を管理する。DLサーバ6は、更新用プログラムを保存する。管理サーバ5およびDLサーバ6は、たとえば、車両1のカーメーカーにより運営されており、予め会員登録されたユーザが所有する多数の車両1と通信可能である。
車両1には、ゲートウェイ10と、無線通信部15と、複数のECU30と、各ECU30によりそれぞれ制御される各種の車載機器(図示せず)とが搭載されている。
車両1には、共通の車内通信線にバス接続された複数のECU30による通信グループが存在し、ゲートウェイ10は、通信グループ間の通信を中継している。このため、ゲートウェイ10には、複数の車内通信線が接続されている。
車両1には、共通の車内通信線にバス接続された複数のECU30による通信グループが存在し、ゲートウェイ10は、通信グループ間の通信を中継している。このため、ゲートウェイ10には、複数の車内通信線が接続されている。
無線通信部15は、携帯電話網などの広域通信網2に通信可能に接続され、車内通信線によりゲートウェイ10に接続されている。ゲートウェイ10は、広域通信網2を通じて管理サーバ5およびDLサーバ6などの車外装置から無線通信部15が受信した情報を、ECU30に送信する。
ゲートウェイ10は、ECU30から取得した情報を無線通信部15に送信し、無線通信部15は、その情報を管理サーバ5などの車外装置に送信する。
ゲートウェイ10は、ECU30から取得した情報を無線通信部15に送信し、無線通信部15は、その情報を管理サーバ5などの車外装置に送信する。
車両1に搭載される無線通信部15としては、車載の専用通信端末の他に、たとえば、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートPC(Personal Computer)等の装置が考えられる。
図1では、ゲートウェイ10が無線通信部15を介して車外装置と通信を行う場合が例示されているが、ゲートウェイ10が無線通信の機能を有する場合には、ゲートウェイ10自身が管理サーバ5などの車外装置と無線通信を行う構成としてもよい。
また、図1のプログラム更新システムでは、管理サーバ5とDLサーバ6とが別個のサーバで構成されているが、これらのサーバ5,6を1つのサーバ装置で構成してもよい。
図1では、ゲートウェイ10が無線通信部15を介して車外装置と通信を行う場合が例示されているが、ゲートウェイ10が無線通信の機能を有する場合には、ゲートウェイ10自身が管理サーバ5などの車外装置と無線通信を行う構成としてもよい。
また、図1のプログラム更新システムでは、管理サーバ5とDLサーバ6とが別個のサーバで構成されているが、これらのサーバ5,6を1つのサーバ装置で構成してもよい。
〔ゲートウェイの内部構成〕
図2は、ゲートウェイ10の内部構成を示すブロック図である。
図2に示すように、ゲートウェイ10は、CPU11、RAM(Random Access Memory)12、記憶部13、および車内通信部14などを備える。ゲートウェイ10は、無線通信部15と車内通信線とを介して接続されているが、これらは一つの装置で構成してもよい。
図2は、ゲートウェイ10の内部構成を示すブロック図である。
図2に示すように、ゲートウェイ10は、CPU11、RAM(Random Access Memory)12、記憶部13、および車内通信部14などを備える。ゲートウェイ10は、無線通信部15と車内通信線とを介して接続されているが、これらは一つの装置で構成してもよい。
CPU11は、記憶部13に記憶された一または複数のプログラムをRAM12に読み出して実行することにより、ゲートウェイ10を各種情報の中継装置として機能させる。
CPU11は、たとえば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。なお、CPU11は複数のCPU群を代表するものであってもよい。この場合、CPU11の実現する機能は、複数のCPU群が協働して実現するものである。RAM12は、SRAM(Static RAM)またはDRAM(Dynamic RAM)等のメモリ素子で構成され、CPU11が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
CPU11は、たとえば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。なお、CPU11は複数のCPU群を代表するものであってもよい。この場合、CPU11の実現する機能は、複数のCPU群が協働して実現するものである。RAM12は、SRAM(Static RAM)またはDRAM(Dynamic RAM)等のメモリ素子で構成され、CPU11が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
CPU11が実現するコンピュータプログラムは、CD-ROMまたはDVD-ROMなどの周知の記録媒体に記録した状態で譲渡することもできるし、サーバコンピュータなどのコンピュータ装置からの情報伝送によって譲渡することもできる。
この点は、後述のECU30のCPU31(図3参照)が実行するコンピュータプログラム、および、後述の管理サーバ5のCPU51(図4参照)が実行するコンピュータプログラムについても同様である。
なお、以降の説明において、上位装置が下位装置にプログラムを転送(送信)することを「ダウンロードする」ともいう。
この点は、後述のECU30のCPU31(図3参照)が実行するコンピュータプログラム、および、後述の管理サーバ5のCPU51(図4参照)が実行するコンピュータプログラムについても同様である。
なお、以降の説明において、上位装置が下位装置にプログラムを転送(送信)することを「ダウンロードする」ともいう。
記憶部13は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子などにより構成されている。記憶部13は、CPU11が実行するプログラムおよび実行に必要なデータ等を記憶するとともに、DLサーバ6から受信した各ECU30の更新用プログラムなどを記憶する。
車内通信部14には、車両1に配設された車内通信線を介して複数のECU30が接続されている。車内通信部14は、たとえばCAN(Controller Area Network)、CANFD(CAN with Flexible Data Rate)、LIN(Local Interconnect Network)、Ethernet(登録商標)、またはMOST(Media Oriented Systems Transport:MOSTは登録商標)等の規格に応じて、ECU30との通信を行う。
車内通信部14は、CPU11から与えられた情報を対象のECU30へ送信するとともに、ECU30から受信した情報をCPU11に与える。車内通信部14は、上記の通信規格だけでなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
車内通信部14は、CPU11から与えられた情報を対象のECU30へ送信するとともに、ECU30から受信した情報をCPU11に与える。車内通信部14は、上記の通信規格だけでなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
無線通信部15は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。無線通信部15は、携帯電話網等の広域通信網2に接続されることにより車外装置との通信が可能である。
無線通信部15は、図示しない基地局により形成される広域通信網2を介して、CPU11から与えられた情報を管理サーバ5等の車外装置に送信するとともに、車外装置から受信した情報をCPU11に与える。
無線通信部15は、図示しない基地局により形成される広域通信網2を介して、CPU11から与えられた情報を管理サーバ5等の車外装置に送信するとともに、車外装置から受信した情報をCPU11に与える。
図2に示す無線通信部15に代えて、車両1内の中継装置として機能する有線通信部を採用してもよい。この有線通信部は、USB(Universal Serial Bus)またはRS232C等の規格に応じた通信ケーブルが接続されるコネクタを有し、通信ケーブルを介して接続された別の通信装置と有線通信を行う。
別の通信装置と管理サーバ5等の車外装置とが広域通信網2を通じた無線通信が可能である場合には、車外装置→別の通信装置→有線通信部→ゲートウェイ10の通信経路により、車外装置とゲートウェイ10とが通信可能になる。
別の通信装置と管理サーバ5等の車外装置とが広域通信網2を通じた無線通信が可能である場合には、車外装置→別の通信装置→有線通信部→ゲートウェイ10の通信経路により、車外装置とゲートウェイ10とが通信可能になる。
〔ECUの内部構成〕
図3は、ECU30の内部構成を示すブロック図である。
図3に示すように、ECU30は、CPU31、RAM32、記憶部33、および通信部34などを備える。ECU30は、車両1に搭載された対象機器を個別に制御する車載制御装置である。ECU30の種類には、たとえば、電源制御ECU、エンジン制御ECU、ステアリング制御ECU、およびドアロック制御ECUなどがある。
図3は、ECU30の内部構成を示すブロック図である。
図3に示すように、ECU30は、CPU31、RAM32、記憶部33、および通信部34などを備える。ECU30は、車両1に搭載された対象機器を個別に制御する車載制御装置である。ECU30の種類には、たとえば、電源制御ECU、エンジン制御ECU、ステアリング制御ECU、およびドアロック制御ECUなどがある。
CPU31は、記憶部33に予め記憶された一または複数のプログラムをRAM32に読み出して実行することにより、自身が担当する対象機器の動作を制御する。CPU31もまた複数のCPU群を代表するものであってもよく、CPU31による制御は、複数のCPU群が協働することによる制御であってもよい。
RAM32は、SRAMまたはDRAM等のメモリ素子で構成され、CPU31が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
RAM32は、SRAMまたはDRAM等のメモリ素子で構成され、CPU31が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
記憶部33は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、或いは、ハードディスクなどの磁気記憶装置等により構成されている。
記憶部33は、CPU31が読み出して実行するプログラムを格納する。記憶部33が記憶する情報には、たとえば、車内の制御対象である対象機器を制御するための情報処理をCPU31に実行させるためのコンピュータプログラム(以下、「制御プログラム」という。)が含まれる。
記憶部33は、CPU31が読み出して実行するプログラムを格納する。記憶部33が記憶する情報には、たとえば、車内の制御対象である対象機器を制御するための情報処理をCPU31に実行させるためのコンピュータプログラム(以下、「制御プログラム」という。)が含まれる。
通信部34には、車両1に配設された車内通信線を介してゲートウェイ10が接続されている。通信部34は、たとえばCAN、Ethernet、またはMOST等の規格に応じて、ゲートウェイ10との通信を行う。
通信部34は、CPU31から与えられた情報をゲートウェイ10へ送信するとともに、ゲートウェイ10から受信した情報をCPU31に与える。通信部34は、上記の通信規格だけなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
通信部34は、CPU31から与えられた情報をゲートウェイ10へ送信するとともに、ゲートウェイ10から受信した情報をCPU31に与える。通信部34は、上記の通信規格だけなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
ECU30のCPU31には、当該CPU31による制御モードを、「通常モード」または「リプログラミングモード」(以下、「リプロモード」ともいう。)のいずれかに切り替える起動部35が含まれる。
ここで、通常モードとは、ECU30のCPU31が、対象機器に対する本来的な制御(たとえば、燃料エンジンに対するエンジン制御、ドアロックモータに対するドアロック制御、など)を実行する制御モードのことである。
ここで、通常モードとは、ECU30のCPU31が、対象機器に対する本来的な制御(たとえば、燃料エンジンに対するエンジン制御、ドアロックモータに対するドアロック制御、など)を実行する制御モードのことである。
リプログラミングモードとは、対象機器の制御に用いる制御プログラムを更新する制御モードである。
すなわち、リプログラミングモードは、CPU31が、記憶部33のROM領域に対して、制御プログラムの消去および書き換えを行う制御モードのことである。CPU31は、この制御モードのときにのみ、記憶部33のROM領域に格納された制御プログラムを新バージョンに更新することが可能となる。
すなわち、リプログラミングモードは、CPU31が、記憶部33のROM領域に対して、制御プログラムの消去および書き換えを行う制御モードのことである。CPU31は、この制御モードのときにのみ、記憶部33のROM領域に格納された制御プログラムを新バージョンに更新することが可能となる。
リプロモードにおいてCPU31が新バージョンの制御プログラムを記憶部33に書き込むと、起動部35は、ECU30をいったん再起動(リセット)させ、新バージョンの制御プログラムが書き込まれた記憶領域についてベリファイ処理を実行する。
起動部35は、上記のベリファイ処理の完了後に、CPU31を更新後の制御プログラムによって動作させる。
起動部35は、上記のベリファイ処理の完了後に、CPU31を更新後の制御プログラムによって動作させる。
〔DLサーバの内部構成〕
図4は、DLサーバ6の内部構成を示すブロック図である。
図4に示すように、DLサーバ6は、CPU61、ROM62、RAM63、記憶部64、および通信部65などを備える。
図4は、DLサーバ6の内部構成を示すブロック図である。
図4に示すように、DLサーバ6は、CPU61、ROM62、RAM63、記憶部64、および通信部65などを備える。
CPU61は、ROM62に予め記憶された一または複数のプログラムをRAM63に読み出して実行することにより、各ハードウェアの動作を制御し、DLサーバ6をゲートウェイ10と通信可能な車外装置として機能させる。CPU61もまた複数のCPU群を代表するものであってもよく、CPU61の実現する機能は、複数のCPU群が協働して実現するものであってもよい。
RAM63は、SRAMまたはDRAM等のメモリ素子で構成され、CPU61が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
RAM63は、SRAMまたはDRAM等のメモリ素子で構成され、CPU61が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
記憶部64は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、または、ハードディスクなどの磁気記憶装置等により構成されている。記憶部64は、ダウンロードする更新用プログラムを格納する。
通信部65は、所定の通信規格に則って通信処理を実行する通信装置よりなり、携帯電話網等の広域通信網2に接続されて当該通信処理を実行する。通信部65は、CPU61から与えられた情報を、広域通信網2を介して外部装置に送信するとともに、広域通信網2を介して受信した情報をCPU61に与える。
通信部65は、所定の通信規格に則って通信処理を実行する通信装置よりなり、携帯電話網等の広域通信網2に接続されて当該通信処理を実行する。通信部65は、CPU61から与えられた情報を、広域通信網2を介して外部装置に送信するとともに、広域通信網2を介して受信した情報をCPU61に与える。
〔制御プログラムの更新シーケンス〕
図5は、本実施形態のプログラム更新システムにおいて実行される、制御プログラムの更新の一例を示すシーケンス図である。DLサーバ6に1または複数の更新用プログラムが格納され、一例として、管理サーバ5が、予め登録された車両1について、当該車両1のECUの制御プログラムを更新するタイミングを決定する。更新のタイミングは、たとえば、車両1のカーメーカーなどによって設定されてもよい。
図5は、本実施形態のプログラム更新システムにおいて実行される、制御プログラムの更新の一例を示すシーケンス図である。DLサーバ6に1または複数の更新用プログラムが格納され、一例として、管理サーバ5が、予め登録された車両1について、当該車両1のECUの制御プログラムを更新するタイミングを決定する。更新のタイミングは、たとえば、車両1のカーメーカーなどによって設定されてもよい。
ECUの制御プログラムを更新するタイミングに達すると、管理サーバ5は、該当する車両1のゲートウェイ10宛てに、ECU30の更新用プログラムの保存先URLとダウンロード要求とを送信する(ステップS1)。管理サーバ5から更新要求を受信したゲートウェイ10は、更新用プログラムのダウンロードをDLサーバ6に要求する(ステップS2)。
ゲートウェイ10からダウンロードが要求されたDLサーバ6は、ダウンロード対象の更新用プログラムが記憶部64に複数格納されている場合、当該複数の更新用プログラムに対してダウンロードする順(DL順)を決定する(ステップS3)。ステップS3でDLサーバ6は、当該複数の更新用プログラムそれぞれに対して安全性に関する指標(以下、安全指標)に基づいて定められる優先度を決定し、各更新用プログラムの優先度に基づいたDL順で当該複数の更新用プログラムをダウンロードする。ステップS3のDL順決定処理については後述する。
DLサーバ6は、複数の更新用プログラムΔ1~Δ3を決定したDL順に従ってゲートウェイ10に転送するとともに、制御プログラムの更新を要求する(ステップS4-1~S4-3)。
ゲートウェイ10は、更新用プログラムΔ1~Δ3をダウンロードすると、ダウンロード順に、対象のECU30に更新用プログラムΔを転送して制御プログラムの更新を要求する。ゲートウェイ10は、ユーザから制御プログラムの更新の許可を受けてから対象のECU30に制御プログラムの更新を要求してもよい。
詳しくは、DLサーバ6から更新用プログラムΔ1をダウンロードすると(ステップS4-1)、ゲートウェイ10は、対象のECU30に更新用プログラムΔ1を転送して制御プログラムの更新を要求する(ステップS7)。更新用プログラムΔ1をダウンロードした対象のECU30はゲートウェイ10からの要求に従って更新用プログラムΔ1を展開し、制御プログラムを更新する(ステップS8)。更新が完了すると、対象のECU30はゲートウェイ10を介してDLサーバ6に更新完了を通知する(ステップS9,10)。
次に、ゲートウェイ10は、DLサーバ6から更新用プログラムΔ2をダウンロードすると(ステップS4-2)、対象のECU30に更新用プログラムΔ2を転送して制御プログラムの更新を要求する(ステップS11)。更新用プログラムΔ2をダウンロードした対象のECU30はゲートウェイ10からの要求に従って更新用プログラムΔ2を展開し、制御プログラムを更新する(ステップS12)。更新が完了すると、対象のECU30はゲートウェイ10に更新完了を通知する(ステップS13,14)。
次に、ゲートウェイ10は、DLサーバ6から更新用プログラムΔ3をダウンロードすると(ステップS4-3)、対象のECU30に更新用プログラムΔ3を転送して制御プログラムの更新を要求する(ステップS15)。更新用プログラムΔ3をダウンロードした対象のECU30はゲートウェイ10からの要求に従って更新用プログラムΔ3を展開し、制御プログラムを更新する(ステップS16)。更新が完了すると、対象のECU30はゲートウェイ10に更新完了を通知する(ステップS17,18)。
〔DLサーバの機能構成〕
DLサーバ6のCPU61は、DL順を決定し(ステップS3)、ダウンロードを制御するための機能として、図4において決定部611および制御部612と表された機能を含む。これら機能は、CPU61がROM62に記憶されている1つまたは複数のプログラムを読み出して実行することによって、CPU61において実現される機能である。しかしながら、少なくとも一部機能が、電子回路などのハードウェアによって実現されてもよい。
DLサーバ6のCPU61は、DL順を決定し(ステップS3)、ダウンロードを制御するための機能として、図4において決定部611および制御部612と表された機能を含む。これら機能は、CPU61がROM62に記憶されている1つまたは複数のプログラムを読み出して実行することによって、CPU61において実現される機能である。しかしながら、少なくとも一部機能が、電子回路などのハードウェアによって実現されてもよい。
決定部611で表されたCPU61の機能(以下、決定部611)は、ダウンロード対象の更新用プログラムが複数ある場合に、それら複数の更新用プログラムのダウンロードの優先度を決定する。
更新用プログラムには、それぞれ、安全指標が関連付けられている。該指標は、更新用プログラムに付加、または当該更新用プログラムと関連付けてDLサーバ6に渡される。
車両の安全性とは、たとえば、車両ユーザの身体および生命の安全性、車外の人および物体の安全性のための走行機能、操舵機能などの機能安全、ならびに、財産としての車両本体およびネットワークに接続される通信機としてのセキュリティ確保、などが挙げられる。
機能安全の規格としては、たとえば、ISO(International Organization for Standardization(国際標準化機構))の規定するISO 26262機能安全規格が知られている。ISO 26262規格は、機能安全の指標としてASIL(Automotive Safety Integrity Level:安全性要求レベル)を規定し、各安全要求にQM(Quality Management),A,B,C,Dのレベルを割り当てる。Dが割り当てられた機能は最も高いレベルの安全方策が求められ、Aが割り当てられた機能は最も低い。QMが割り当てられた機能は、安全性と関連がないことを指す。本実施の形態では、各更新用プログラムに対して対象の制御プログラムを用いる機能の機能安全についての指標としてASILが用いられるものとする。
各更新用プログラムに対しては、少なくとも1つの安全指標が関連付けられる。好ましくは2つの安全指標が関連付けられる。本実施の形態では、ASILとセキュリティレベルとが関連付けられるものとする。
決定部611は、複数の更新用プログラムそれぞれについて、関連付けられている安全指標を特定する。そして、関連付けられている安全指標に基づいて、更新用プログラムごとの優先度を示す値(以下、優先度値)を特定する。
決定部611は、1つ以上の安全指標と優先度値との対応関係を予め記憶している。該対応関係の一例として、決定部611は、図6に示される安全指標の組み合わせに対する優先度値の関係グラフを記憶している。決定部611は、更新用プログラムごとに関連付けられている安全指標を図6の関係グラフに当てはめることによって、当該更新用プログラムの優先度値を特定する。すなわち、決定部611は、2つ以上の安全指標の組み合わせに基づいて当該更新用プログラムの優先度値を特定する。
図6の関係グラフは、縦軸がASIL、横軸がセキュリティレベルを表し、大きくなるほど高いレベルを表している。また、図6の関係グラフは、ASILとセキュリティレベルとの少なくとも一方のレベルが高い場合には優先度値が高く、両レベルが低い場合には優先度値が低い関係であって、ASILとセキュリティレベルとのうちのASILをやや重視して優先度値を特定する関係グラフの例である。なお、図6に示された関係は関係グラフの一例である。また、決定部611が優先度値を特定するために用いる対応関係は図6の関係グラフに限定されず、安全指標を変数として優先度値を計算するための関数、関係式、および、安全指標と優先度値との対応を表した表であってもよい。さらに、DLサーバ6に記憶されている当該対応関係自体も、カーメーカーなどの更新用プログラムの提供者からの更新用プログラムを用いた更新対象であってもよい。言い換えると、決定部611において優先度を決定するためのアルゴリズムおよび該アルゴリズムで用いるパラメータは変更可能であってもよい。そして、DLサーバ6は、当該変更のためのプログラムまたはパラメータを、カーメーカーなどの更新用プログラムの提供者または他の装置から受け取り、該アルゴリズムまたは該パラメータを変更する。これにより、安全性の評価の変化および性能の向上などに伴って柔軟に優先度を変更することができる。
なお、安全指標に替えて、安全指標に基づいて特定される優先度値が更新用プログラムごとに関連付けられていてもよい。言い換えると、1つ以上の安全指標に替えて優先度値が更新用プログラムごとに関連付けられていてもよい。この場合、優先度値は、更新用プログラムに付加してDLサーバ6に格納されていてもよいし、または当該更新用プログラムと関連付けてDLサーバ6に格納されていてもよい。
決定部611は、複数の更新用プログラムそれぞれについて特定された優先度値に基づいて、複数の更新用プログラムの優先度、つまりDL順を決定する。一例として、優先度値が小さいほど優先度が高く、DL順が早くなるものとする。したがって、決定部611は、複数の更新用プログラムにおいて、同一の優先度値の更新用プログラムが存在しない場合、決定部611は、各更新用プログラムの優先度値をそのまま優先度とする。同一の優先度値の更新用プログラムが存在する場合、決定部611は、それら更新用プログラムに対して、予め規定している基準を適用して、さらにこれら更新用プログラムの間での優先度を決定してもよい。基準は、たとえば、作成日時の順、カーメーカーなどの更新用プログラムの提供者から渡された順、および、データサイズ順、などである。または、決定部611は、これら更新用プログラムを同列の優先度のままとして、同じDL順としてもよい。
図7は、DLサーバ6の決定部611でのダウンロードの優先度の決定方法を説明するための図である。図7の例では、更新用プログラムΔ1~Δ4が優先度を決定する対象の複数の更新用プログラムである。更新用プログラムΔ1は、たとえば、ステアリング制御機能を更新するための更新用プログラムである。更新用プログラムΔ2は、たとえば、ナビゲーション機能を更新するための更新用プログラムである。更新用プログラムΔ3は、たとえば、セキュリティ機能を更新するための更新用プログラムである。更新用プログラムΔ4は、たとえば、地図を更新するための更新用プログラムである。
図7を参照して、更新用プログラムΔ1に対してASIL「C」、セキュリティレベル「A」が設定されている。更新用プログラムΔ2に対してASIL「QM」、セキュリティレベル「QM」が設定されている。更新用プログラムΔ3に対してASIL「QM」、セキュリティレベル「C」が設定されている。更新用プログラムΔ4に対してASIL「QM」、セキュリティレベル「QM」が設定されている。
決定部611は、図6の関係グラフを参照して、ASIL「C」、セキュリティレベル「A」である更新用プログラムΔ1の優先度値を「1」と特定する。ASIL「QM」、セキュリティレベル「QM」である更新用プログラムΔ2の優先度値を「4」と特定する。ASIL「QM」、セキュリティレベル「C」である更新用プログラムΔ3の優先度値を「2」と特定する。ASIL「QM」、セキュリティレベル「QM」である更新用プログラムΔ4の優先度値を「4」と特定する。
決定部611は、一例として、優先度値の小さい更新用プログラムほど優先度が高い、つまり、DL順が早くなるように、各更新用プログラムの優先度を決定する。具体的には、優先度値「1」の更新用プログラムΔ1と優先度値「2」の更新用プログラムΔ3とについて、決定部611は、他の更新用プログラムの優先度値と重複していないために、当該優先度値に基づいて、更新用プログラムΔ1の優先度を最も上位を示す「1」、更新用プログラムΔ3の優先順を次に上位を示す「2」と決定する。同じ優先度値「4」と特定された更新用プログラムΔ2と更新用プログラムΔ4とについて、決定部611は、一例として作成日時の早い順に優先度を決定する。すなわち、更新用プログラムΔ4の方が更新用プログラムΔ2よりも作成日時が早い場合、決定部611は、更新用プログラムΔ4の優先度を上位側である「3」、更新用プログラムΔ2の優先順度を下位側である「4」と決定する。
制御部612で表されたCPU61の機能(以下、制御部612)は、決定部611によって決定された優先度に従ったDL順として、優先度の高いものから順に更新用プログラムをダウンロードするように制御する。
[スケジュール決定処理]
図8は、図5のシーケンスを実現する際のDLサーバ6の処理の具体的な内容を表したフローチャートである。図8のフローチャートに表された処理は、DLサーバ6のCPU61がROM63に記憶された1つまたは複数のプログラムをRAM62上に読み出して実行することによって、主にCPU61により実現される。図8の処理は、ゲートウェイ10から更新用プログラムのダウンロードが要求されると(ステップS2)、開始される。
図8は、図5のシーケンスを実現する際のDLサーバ6の処理の具体的な内容を表したフローチャートである。図8のフローチャートに表された処理は、DLサーバ6のCPU61がROM63に記憶された1つまたは複数のプログラムをRAM62上に読み出して実行することによって、主にCPU61により実現される。図8の処理は、ゲートウェイ10から更新用プログラムのダウンロードが要求されると(ステップS2)、開始される。
図8を参照して、DLサーバ6のCPU61は、ダウンロードする更新用プログラムが記憶部64に複数、格納されている場合に(ステップS101でYES)、それら複数の更新用プログラムそれぞれに対して設定されている1つ以上の安全指標に基づいてDL順を決定する(ステップS103)。
CPU61は、決定したDL順が最上位、つまり優先度が最も高い更新用プログラムをゲートウェイ10にダウンロードし、更新を要求する(ステップS105)。対象のECU30から制御プログラムの更新の完了が通知されると(ステップS107)、次のDL順の更新用プログラムがあるか否かを確認する。そして、次のDL順の更新用プログラムがある場合(ステップS111でYES)、CPU61は、ステップS105からの処理を繰り返す。これにより、複数の更新用プログラムがステップS103で決定したDL順に従って順にゲートウェイ10にダウンロードされ、対象のECU30で制御プログラムが更新される。
DL順の最も低い更新用プログラムまでダウンロードおよび制御プログラムの更新が完了すると(ステップS111でNO)、CPU61は一連の処理を終了する。
〔第1の実施の形態の効果〕
第1の実施の形態にかかるプログラム更新システムでは、ダウンロードする更新用プログラムが複数ある場合に、各更新用プログラムに対して設定された1つ以上の安全指標に基づいてダウンロード順が決定されてダウンロードされ、制御プログラムが更新される。そのため、緊急度の高い制御プログラムのほど優先的に更新される。すなわち、優先度の低い更新用プログラムによって優先度の高い制御プログラムの更新が妨げられることがなく、優先度の高い制御プログラムの更新を迅速に行うことができる。そのため、車両の安全性を迅速に向上させることができる。
第1の実施の形態にかかるプログラム更新システムでは、ダウンロードする更新用プログラムが複数ある場合に、各更新用プログラムに対して設定された1つ以上の安全指標に基づいてダウンロード順が決定されてダウンロードされ、制御プログラムが更新される。そのため、緊急度の高い制御プログラムのほど優先的に更新される。すなわち、優先度の低い更新用プログラムによって優先度の高い制御プログラムの更新が妨げられることがなく、優先度の高い制御プログラムの更新を迅速に行うことができる。そのため、車両の安全性を迅速に向上させることができる。
<変形例>
なお、上の例では、DLサーバ6は、決定されたDL順に従って更新用プログラムのダウンロードとともに制御プログラムの更新を要求するものとしているが、更新用プログラムのダウンロードのみ行ってもよい。これは、以降の実施の形態でも同様である。これにより、優先度の高い更新用プログラムほど優先的にダウンロードされる。すなわち、優先度の低い更新用プログラムによって優先度の高い更新用プログラムのダウンロードが妨げられることがなく、優先度の高い更新用プログラムのダウンロードを迅速に行うことができる。更新用プログラムのダウンロードが早いほど、対象のECUでの制御プログラムの更新も早く行われる可能性を高くする。つまり、優先度の高い制御プログラムほど迅速に更新される可能性が高い。そのため、車両の安全性を迅速に向上させることができる。
なお、上の例では、DLサーバ6は、決定されたDL順に従って更新用プログラムのダウンロードとともに制御プログラムの更新を要求するものとしているが、更新用プログラムのダウンロードのみ行ってもよい。これは、以降の実施の形態でも同様である。これにより、優先度の高い更新用プログラムほど優先的にダウンロードされる。すなわち、優先度の低い更新用プログラムによって優先度の高い更新用プログラムのダウンロードが妨げられることがなく、優先度の高い更新用プログラムのダウンロードを迅速に行うことができる。更新用プログラムのダウンロードが早いほど、対象のECUでの制御プログラムの更新も早く行われる可能性を高くする。つまり、優先度の高い制御プログラムほど迅速に更新される可能性が高い。そのため、車両の安全性を迅速に向上させることができる。
<第2の実施の形態>
第2の実施の形態にかかるプログラム更新システムでは、DLサーバ6は、決定したDL順に従って複数の更新用プログラムをゲートウェイ10にダウンロード中にカーメーカーなどの更新用プログラムの提供者から更新用プログラムが追加された場合、複数の更新用プログラムに追加された更新用プログラムも含めてダウンロード順を決定する。
第2の実施の形態にかかるプログラム更新システムでは、DLサーバ6は、決定したDL順に従って複数の更新用プログラムをゲートウェイ10にダウンロード中にカーメーカーなどの更新用プログラムの提供者から更新用プログラムが追加された場合、複数の更新用プログラムに追加された更新用プログラムも含めてダウンロード順を決定する。
図9は、第2の実施の形態にかかるDLサーバ6の処理の具体的な内容を表したフローチャートである。図9のフローチャートに表された処理もまた、DLサーバ6のCPU61がROM63に記憶された1つまたは複数のプログラムをRAM62上に読み出して実行することによって、主にCPU61により実現される。図9の処理は、DLサーバ6において更新用プログラムをダウンロード中に、当該ダウンロードのための処理と並行して実行される。
図9を参照して、更新用プログラムをダウンロード中にダウンロード対象の更新用プログラムが追加されると(ステップS201でYES)、CPU61は、当該更新用プログラムに対して設定された1つ以上の安全指標に基づいて優先度を特定する(ステップS205)。そして、CPU61は、追加された更新用プログラムの優先度とダウンロード中の更新用プログラムの優先度とを比較する。
追加された更新用プログラムの優先度がダウンロード中の更新用プログラムの優先度よりも高い場合(ステップS205でYES)、CPU61は、ダウンロード中の更新用プログラムのダウンロードを中断する(ステップS207)。そして、CPU61は、追加された更新用プログラムをダウンロードする(ステップS209)。CPU61は、追加された更新用プログラムのダウンロードが完了し、対象の制御プログラムの更新が完了したことが通知されると(ステップS211でYES)、上記ステップS207で中断したダウンロードを再開する(ステップS215)。CPU61は、以上の処理を、更新用プログラムのダウンロードが完了するまで繰り返す(ステップS217でNO)。
〔第2の実施の形態の効果〕
第2の実施の形態にかかるプログラム更新システムでは、ある更新用プログラムのダウンロード中により優先度の高い更新用プログラムが渡された場合に、ダウンロードが中断され、より優先度の高い更新用プログラムが先にダウンロードされる。これにより、柔軟に緊急度の高い制御プログラムの更新用プログラムほど優先的にダウンロードされ、当該制御プログラムの更新が優先的に行われるようになる。そのため、車両の安全性を迅速に向上させることができる。
第2の実施の形態にかかるプログラム更新システムでは、ある更新用プログラムのダウンロード中により優先度の高い更新用プログラムが渡された場合に、ダウンロードが中断され、より優先度の高い更新用プログラムが先にダウンロードされる。これにより、柔軟に緊急度の高い制御プログラムの更新用プログラムほど優先的にダウンロードされ、当該制御プログラムの更新が優先的に行われるようになる。そのため、車両の安全性を迅速に向上させることができる。
〔変形例〕
なお、上の例は一例である。他の例として、ダウンロード中の更新用プログラムのダウンロードを完了した後に、追加された更新用プログラムをダウンロードするようにしてもよい。このようにすることで、ダウンロード中の更新用プログラムのダウンロードを途切れることなく完了させることができる。
なお、上の例は一例である。他の例として、ダウンロード中の更新用プログラムのダウンロードを完了した後に、追加された更新用プログラムをダウンロードするようにしてもよい。このようにすることで、ダウンロード中の更新用プログラムのダウンロードを途切れることなく完了させることができる。
<第3の実施の形態>
第1~第2の実施の形態にかかるプログラム更新システムでは、複数の更新用プログラムのDL順を各更新用プログラムに関連付けられた1つ以上の安全指標に基づいて決定し、ダウンロードを制御する処理をDLサーバ6で行うものとしている。しかしながら、当該処理はDLサーバ6とは異なる装置で行われてもよい。他の例として、ゲートウェイ10によって行われてもよい。
第1~第2の実施の形態にかかるプログラム更新システムでは、複数の更新用プログラムのDL順を各更新用プログラムに関連付けられた1つ以上の安全指標に基づいて決定し、ダウンロードを制御する処理をDLサーバ6で行うものとしている。しかしながら、当該処理はDLサーバ6とは異なる装置で行われてもよい。他の例として、ゲートウェイ10によって行われてもよい。
一例として、第3の実施の形態にかかるプログラム更新システムでは、DLサーバ6から複数の更新用プログラムがゲートウェイ10にダウンロードされると、ゲートウェイ10は、各更新用プログラムに関連付けられた1つ以上の安全指標に基づいて当該複数の更新用プログラムのDL順を決定する。そして、ゲートウェイ10は、決定したDL順に従って対象のECU30に更新用プログラムを転送し、制御プログラムの更新を要求する。
この場合、図2に表わされたように、ゲートウェイ10のCPU11がDL順を決定してダウンロードを制御するための機能として、上記の決定部611に相当する決定部111、および制御部612に相当する制御部112を有する。これらの機能は、CPU11がROM12に記憶されている1つまたは複数のプログラムを読み出して実行することによって、主にCPU11によって実現される。しかしながら、少なくとも一部機能が電気回路などのハードウェアによって実現されてもよい。
第3の実施の形態にかかるゲートウェイ10の決定部111は、図6の関係グラフのような、1つ以上の安全指標と優先度値との対応関係を用いて各更新用プログラムの優先度を決定する。この対応関係はDLサーバ6に格納されていて、ゲートウェイ10に更新用プログラムとともにダウンロードされてもよいし、決定部111が優先度を決定する際にDLサーバ6に格納されている対応関係を読み出して用いてもよい。または、対応関係はゲートウェイ10に記憶されていてもよい。この場合、ゲートウェイ10に記憶されている対応関係自体も更新の対象であってもよい。言い換えると、決定部111において優先度を決定するためのアルゴリズムまたは該アルゴリズムで用いるパラメータは変更可能であってもよい。そして、ゲートウェイ10は、当該変更のためのプログラムまたはパラメータを、DLサーバ6またはカーメーカーなどの更新用プログラムの提供者などから受け取り、該アルゴリズムまたは該パラメータを変更する。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 車両
2 広域通信網
5 管理サーバ
6 DLサーバ
10 ゲートウェイ
11,31,61 CPU
12,32,63 RAM
13,33,64 記憶部
14 車内通信部
15 無線通信部
30 ECU
34,65 通信部
35 起動部
62 ROM
111,611 決定部
112,612 制御部
2 広域通信網
5 管理サーバ
6 DLサーバ
10 ゲートウェイ
11,31,61 CPU
12,32,63 RAM
13,33,64 記憶部
14 車内通信部
15 無線通信部
30 ECU
34,65 通信部
35 起動部
62 ROM
111,611 決定部
112,612 制御部
Claims (8)
- 車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置であって、
制御プログラムの更新用プログラムを格納するためのメモリと、
前記メモリに格納されている複数の前記更新用プログラムの優先度を決定する決定部と、
決定された前記優先度に従って、前記優先度の高い順に前記複数の更新用プログラムをダウンロードする制御部と、を備え、
前記決定部は、前記メモリに格納されている前記複数の更新用プログラムそれぞれに関連付けられた1つ以上の安全指標に基づいて前記優先度を決定する、制御装置。 - 前記安全指標は、機能安全の指標とセキュリティの指標との少なくとも1つを含む、請求項1に記載の制御装置。
- 更新用プログラムのダウンロード中に、前記メモリに新たな更新用プログラムが格納された場合であって、ダウンロード中の前記更新用プログラムの優先度よりも前記新たな更新用プログラムの優先度が高い場合に、前記制御部は、前記ダウンロード中の更新用プログラムのダウンロードを中断して前記新たな更新用プログラムをダウンロードする、請求項1または請求項2に記載の制御装置。
- 更新用プログラムのダウンロード中に、前記メモリに新たな更新用プログラムが格納された場合であって、ダウンロード中の前記更新用プログラムの優先度よりも前記新たな更新用プログラムの優先度が高い場合に、前記制御部は、前記ダウンロード中の更新用プログラムのダウンロード完了後に前記新たな更新用プログラムをダウンロードする、請求項1または請求項2に記載の制御装置。
- 前記制御部は、前記優先度に従って、前記優先度の高い順に前記複数の更新用プログラムをダウンロードし、かつ、前記優先度の高い順に制御プログラムの更新を要求する、請求項1~請求項4のいずれか1項に記載の制御装置。
- 前記決定部で前記更新用プログラムの優先度を決定するためのアルゴリズムは変更可能である、請求項1~請求項5のいずれか一項に記載の制御装置。
- 車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新方法であって、
制御プログラムの更新用プログラムをメモリに格納するステップと、
前記メモリに格納されている複数の前記更新用プログラムの優先度を決定するステップと、
決定された前記優先度に従って、前記優先度の高い順に前記複数の更新用プログラムをダウンロードするステップと、を備え、
前記優先順を決定するステップは、前記メモリに格納されている前記複数の更新用プログラムそれぞれに関連付けられた1つ以上の安全指標に基づいて前記優先度を決定することを含む、プログラム更新方法。 - 車両に搭載された対象機器を制御する車載制御装置の制御プログラムの更新を制御する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータは制御プログラムの更新用プログラムを格納するためのメモリを含み、
前記コンピュータを、
前記メモリに格納されている複数の前記更新用プログラムの優先度を決定する決定部、および
決定された前記優先度に従って、前記優先度の高い順に前記複数の更新用プログラムをダウンロードする制御部、として機能させ、
前記決定部は、前記メモリに格納されている前記複数の更新用プログラムそれぞれに関連付けられた1つ以上の安全指標に基づいて前記優先度を決定する、コンピュータプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018513890A JP6525105B2 (ja) | 2017-02-01 | 2017-12-04 | 制御装置、プログラム更新方法、およびコンピュータプログラム |
DE112017006980.7T DE112017006980T5 (de) | 2017-02-01 | 2017-12-04 | Steuereinrichtung, Programmaktualisierungsverfahren und Computerprogramm |
CN201780084334.3A CN110214308B (zh) | 2017-02-01 | 2017-12-04 | 控制装置、程序更新方法和计算机程序 |
US16/482,691 US10705826B2 (en) | 2017-02-01 | 2017-12-04 | Control apparatus, program updating method, and computer program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017016606 | 2017-02-01 | ||
JP2017-016606 | 2017-02-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018142751A1 true WO2018142751A1 (ja) | 2018-08-09 |
Family
ID=63040443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/043512 WO2018142751A1 (ja) | 2017-02-01 | 2017-12-04 | 制御装置、プログラム更新方法、およびコンピュータプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US10705826B2 (ja) |
JP (1) | JP6525105B2 (ja) |
CN (1) | CN110214308B (ja) |
DE (1) | DE112017006980T5 (ja) |
WO (1) | WO2018142751A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020040613A (ja) * | 2018-09-13 | 2020-03-19 | 株式会社デンソー | 車載器のソフトウェア更新システム、車載器及び情報処理装置 |
EP3770754A1 (en) | 2019-07-24 | 2021-01-27 | Hitachi, Ltd. | Server, software update system, and software update apparatus |
JP2022160927A (ja) * | 2021-04-07 | 2022-10-20 | 矢崎総業株式会社 | 車載ソフトウェア更新方法および車載システム |
WO2023139821A1 (ja) * | 2022-01-21 | 2023-07-27 | 日立Astemo株式会社 | ソフトウェア更新装置 |
JP2023162791A (ja) * | 2022-04-27 | 2023-11-09 | 株式会社日立ソリューションズ | ジョブ管理システム、およびネットワーク機器 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10909050B2 (en) * | 2018-03-19 | 2021-02-02 | Toyota Jidosha Kabushiki Kaisha | Gateway apparatus and communication method |
JP7367359B2 (ja) * | 2018-08-10 | 2023-10-24 | 株式会社デンソー | 車両用電子制御システム、ファイルの転送制御方法、ファイルの転送制御プログラム及び装置 |
KR102540932B1 (ko) * | 2018-11-16 | 2023-06-08 | 현대자동차주식회사 | 차량의 업데이트 제공 장치 및 컴퓨터 기록 매체 |
US11836476B2 (en) * | 2020-11-27 | 2023-12-05 | Denso Corporation | Electronic control unit, software update method, software update program product and electronic control system |
US11836475B2 (en) * | 2020-11-27 | 2023-12-05 | Denso Corporation | Electronic control unit, software update method, software update program product and electronic control system |
JP7333350B2 (ja) * | 2021-01-14 | 2023-08-24 | 本田技研工業株式会社 | 制御システム、移動体、制御方法及びプログラム |
JP7419287B2 (ja) * | 2021-03-26 | 2024-01-22 | 本田技研工業株式会社 | 車両プログラム更新管理システム、及び車両プログラム更新管理方法 |
US11829748B1 (en) | 2021-09-29 | 2023-11-28 | Geotab Inc. | Systems and methods for safe over-the-air update of electronic control units in vehicles |
US11681518B2 (en) * | 2021-09-29 | 2023-06-20 | Geotab Inc. | Systems and methods for safe over-the-air update of electronic control units in vehicles |
CN113965473B (zh) * | 2021-11-12 | 2023-08-29 | 重庆邮电大学 | 一种车载多路canfd网络的车载信息安全评估方法 |
GB202210783D0 (en) * | 2022-07-22 | 2022-09-07 | Microsoft Technology Licensing Llc | Deploying a change to a network service |
DE102022118843A1 (de) | 2022-07-27 | 2024-02-01 | Audi Aktiengesellschaft | Verfahren zum Bereitstellen eines Updates für ein Kraftfahrzeug |
KR20240080785A (ko) * | 2022-11-30 | 2024-06-07 | 주식회사 엘지에너지솔루션 | 디바이스 관리 시스템 및 이의 프로그램 관리 방법 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007164371A (ja) * | 2005-12-12 | 2007-06-28 | Toshiba Corp | ソフトウェア管理システム |
WO2008050410A1 (fr) * | 2006-10-25 | 2008-05-02 | Pioneer Corporation | Dispositif de distribution de données, processeur de données, procédé de distribution de données, procédé de traitement de données, programme de distribution de données, programme de traitement de données et support d'enregistrement |
WO2008126259A1 (ja) * | 2007-03-30 | 2008-10-23 | Fujitsu Limited | 通信システム、サーバ装置、通信端末装置及びコンピュータプログラム |
JP2011090457A (ja) * | 2009-10-21 | 2011-05-06 | Toyota Motor Corp | 車両診断装置 |
WO2011135629A1 (ja) * | 2010-04-28 | 2011-11-03 | 株式会社日立製作所 | 計算機システムにおけるソフトウェアの配布管理方法、及び、ソフトウェアの配布管理のための計算機システム |
JP2014182571A (ja) * | 2013-03-19 | 2014-09-29 | Denso Corp | 車載電子制御装置のプログラム書換システム及び車載中継装置 |
JP2015060381A (ja) * | 2013-09-18 | 2015-03-30 | 株式会社日立製作所 | ソフトウェア配布システム、およびソフトウェア配布方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10057638C2 (de) * | 2000-11-21 | 2002-11-28 | Daimler Chrysler Ag | Verfahren zur Dokumentation von Daten eines Verkehrsmittels |
US20050107929A1 (en) * | 2001-09-01 | 2005-05-19 | Bayerische Motoren Werke Ag | Method, device and computer product for updating data of a control device |
JP2007507020A (ja) * | 2003-06-24 | 2007-03-22 | バイエリッシェ モートーレン ウエルケ アクチエンゲゼルシャフト | プログラミング可能な読出し専用メモリのブートセクタ内にソフトウェアをリロードするための方法 |
EP1723518A1 (de) * | 2004-03-09 | 2006-11-22 | Bayerische Motorenwerke Aktiengesellschaft | Aktualisierung und/oder erweiterung der funktionalität der ablaufsteuerung mindestens eines steuergeräts |
US7366589B2 (en) * | 2004-05-13 | 2008-04-29 | General Motors Corporation | Method and system for remote reflash |
JP2006079415A (ja) * | 2004-09-10 | 2006-03-23 | Konica Minolta Business Technologies Inc | プログラム更新システムおよびプログラム更新方法 |
JP2007065856A (ja) | 2005-08-30 | 2007-03-15 | Fujitsu Ten Ltd | 情報書き換えシステムおよび情報書き換え装置 |
JP5425953B2 (ja) | 2012-03-13 | 2014-02-26 | アイシン・エィ・ダブリュ株式会社 | 地図情報配信システム |
JP5900390B2 (ja) * | 2013-01-31 | 2016-04-06 | 株式会社オートネットワーク技術研究所 | アクセス制限装置、車載通信システム及び通信制限方法 |
CN104572141B (zh) * | 2013-10-10 | 2019-03-12 | 上海信耀电子有限公司 | 车用电控单元ecu的引导程序的在线更新方法 |
JP5949732B2 (ja) * | 2013-11-27 | 2016-07-13 | 株式会社オートネットワーク技術研究所 | プログラム更新システム及びプログラム更新方法 |
EP3462670B1 (en) * | 2014-05-08 | 2021-06-09 | Panasonic Intellectual Property Corporation of America | In-vehicle network system, fraud-sensing electronic control unit, and anti-fraud method |
JP2016063233A (ja) * | 2014-09-12 | 2016-04-25 | 株式会社東芝 | 通信制御装置 |
JP6618480B2 (ja) * | 2014-11-12 | 2019-12-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 更新管理方法、更新管理システム及び制御プログラム |
WO2016183096A1 (en) * | 2015-05-14 | 2016-11-17 | Airbiquity Inc. | Centralized management of mobile-assisted motor vehicle software upgrading and vehicle data analytics |
US10127036B2 (en) * | 2015-06-15 | 2018-11-13 | Lear Corporation | Method for OTA updating vehicle electronic control unit |
JP5888688B1 (ja) | 2015-07-01 | 2016-03-22 | 株式会社エム・システム技研 | 2線式信号受信装置、及び、2線式信号受信装置の余剰電圧利用方法 |
US10387976B2 (en) * | 2015-12-02 | 2019-08-20 | Metropolitan Washington Airports Authority | Federated system for centralized management and distribution of content media |
US10042629B2 (en) * | 2016-07-28 | 2018-08-07 | GM Global Technology Operations LLC | Remote vehicle update installation scheduling |
-
2017
- 2017-12-04 US US16/482,691 patent/US10705826B2/en active Active
- 2017-12-04 DE DE112017006980.7T patent/DE112017006980T5/de active Pending
- 2017-12-04 CN CN201780084334.3A patent/CN110214308B/zh active Active
- 2017-12-04 JP JP2018513890A patent/JP6525105B2/ja active Active
- 2017-12-04 WO PCT/JP2017/043512 patent/WO2018142751A1/ja active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007164371A (ja) * | 2005-12-12 | 2007-06-28 | Toshiba Corp | ソフトウェア管理システム |
WO2008050410A1 (fr) * | 2006-10-25 | 2008-05-02 | Pioneer Corporation | Dispositif de distribution de données, processeur de données, procédé de distribution de données, procédé de traitement de données, programme de distribution de données, programme de traitement de données et support d'enregistrement |
WO2008126259A1 (ja) * | 2007-03-30 | 2008-10-23 | Fujitsu Limited | 通信システム、サーバ装置、通信端末装置及びコンピュータプログラム |
JP2011090457A (ja) * | 2009-10-21 | 2011-05-06 | Toyota Motor Corp | 車両診断装置 |
WO2011135629A1 (ja) * | 2010-04-28 | 2011-11-03 | 株式会社日立製作所 | 計算機システムにおけるソフトウェアの配布管理方法、及び、ソフトウェアの配布管理のための計算機システム |
JP2014182571A (ja) * | 2013-03-19 | 2014-09-29 | Denso Corp | 車載電子制御装置のプログラム書換システム及び車載中継装置 |
JP2015060381A (ja) * | 2013-09-18 | 2015-03-30 | 株式会社日立製作所 | ソフトウェア配布システム、およびソフトウェア配布方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020040613A (ja) * | 2018-09-13 | 2020-03-19 | 株式会社デンソー | 車載器のソフトウェア更新システム、車載器及び情報処理装置 |
EP3770754A1 (en) | 2019-07-24 | 2021-01-27 | Hitachi, Ltd. | Server, software update system, and software update apparatus |
CN112286544A (zh) * | 2019-07-24 | 2021-01-29 | 株式会社日立制作所 | 服务器、软件更新系统和软件更新装置 |
US11204757B2 (en) | 2019-07-24 | 2021-12-21 | Hitachi, Ltd. | Server, software update system, and software update apparatus |
CN112286544B (zh) * | 2019-07-24 | 2024-05-17 | 株式会社日立制作所 | 服务器、软件更新系统和软件更新装置 |
JP2022160927A (ja) * | 2021-04-07 | 2022-10-20 | 矢崎総業株式会社 | 車載ソフトウェア更新方法および車載システム |
JP7323569B2 (ja) | 2021-04-07 | 2023-08-08 | 矢崎総業株式会社 | 車載ソフトウェア更新方法および車載システム |
WO2023139821A1 (ja) * | 2022-01-21 | 2023-07-27 | 日立Astemo株式会社 | ソフトウェア更新装置 |
JP2023106830A (ja) * | 2022-01-21 | 2023-08-02 | 日立Astemo株式会社 | ソフトウェア更新装置 |
JP7675371B2 (ja) | 2022-01-21 | 2025-05-14 | Astemo株式会社 | ソフトウェア更新装置 |
JP2023162791A (ja) * | 2022-04-27 | 2023-11-09 | 株式会社日立ソリューションズ | ジョブ管理システム、およびネットワーク機器 |
JP7719028B2 (ja) | 2022-04-27 | 2025-08-05 | 株式会社日立ソリューションズ | ジョブ管理システム、およびネットワーク機器 |
Also Published As
Publication number | Publication date |
---|---|
CN110214308B (zh) | 2023-01-06 |
JPWO2018142751A1 (ja) | 2019-02-07 |
US10705826B2 (en) | 2020-07-07 |
CN110214308A (zh) | 2019-09-06 |
US20190354364A1 (en) | 2019-11-21 |
DE112017006980T5 (de) | 2019-10-17 |
JP6525105B2 (ja) | 2019-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018142751A1 (ja) | 制御装置、プログラム更新方法、およびコンピュータプログラム | |
JP6376312B1 (ja) | 制御装置、プログラム更新方法、およびコンピュータプログラム | |
CN111034132B (zh) | 控制设备、控制方法和计算机程序 | |
JP6451899B2 (ja) | 制御装置、プログラム更新方法、およびコンピュータプログラム | |
JP6380461B2 (ja) | 中継装置、プログラム更新システム、およびプログラム更新方法 | |
US11288156B2 (en) | Control apparatus, control method, and computer program | |
WO2018079006A1 (ja) | 制御装置、プログラム更新方法、およびコンピュータプログラム | |
JP2017157003A (ja) | プログラム更新システム、プログラム更新方法及びコンピュータプログラム | |
JP6620891B2 (ja) | 中継装置、中継方法、およびコンピュータプログラム | |
WO2018079008A1 (ja) | 制御装置、プログラム更新方法、およびコンピュータプログラム | |
JP6465258B1 (ja) | 制御装置、制御方法、およびコンピュータプログラム | |
JP2017157003A5 (ja) | ||
WO2017149821A1 (ja) | 制御装置、プログラム更新方法、およびコンピュータプログラム | |
WO2018185994A1 (ja) | 制御装置、転送方法、およびコンピュータプログラム | |
WO2018230084A1 (ja) | 更新制御装置、制御方法、およびコンピュータプログラム | |
WO2017208890A1 (ja) | 制御装置、制御方法及びコンピュータプログラム | |
WO2018230314A1 (ja) | 制御装置、制御方法、およびコンピュータプログラム | |
JP6358286B2 (ja) | 制御装置、プログラム更新方法、およびコンピュータプログラム | |
WO2018142749A1 (ja) | 制御装置、プログラム更新方法、およびコンピュータプログラム | |
JP6394678B2 (ja) | 制御装置、制御プログラムの更新可否の決定方法、及びコンピュータプログラム | |
JP2022163396A (ja) | Otaマスタ、更新制御方法、更新制御プログラム及びotaセンタ | |
JP2018181376A (ja) | 中継装置、プログラム更新システム、およびプログラム更新方法 | |
WO2018189951A1 (ja) | 中継装置、中継方法、およびコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2018513890 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17895212 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17895212 Country of ref document: EP Kind code of ref document: A1 |