WO2020189710A1 - 車載更新装置、更新処理プログラム及び、プログラムの更新方法 - Google Patents

車載更新装置、更新処理プログラム及び、プログラムの更新方法 Download PDF

Info

Publication number
WO2020189710A1
WO2020189710A1 PCT/JP2020/011929 JP2020011929W WO2020189710A1 WO 2020189710 A1 WO2020189710 A1 WO 2020189710A1 JP 2020011929 W JP2020011929 W JP 2020011929W WO 2020189710 A1 WO2020189710 A1 WO 2020189710A1
Authority
WO
WIPO (PCT)
Prior art keywords
vehicle
update
data
program
external server
Prior art date
Application number
PCT/JP2020/011929
Other languages
English (en)
French (fr)
Inventor
拓也 小林
Original Assignee
株式会社オートネットワーク技術研究所
住友電装株式会社
住友電気工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社オートネットワーク技術研究所, 住友電装株式会社, 住友電気工業株式会社 filed Critical 株式会社オートネットワーク技術研究所
Priority to CN202080020854.XA priority Critical patent/CN113613953A/zh
Priority to US17/439,156 priority patent/US20220156057A1/en
Publication of WO2020189710A1 publication Critical patent/WO2020189710A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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
    • B60W50/06Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle

Definitions

  • the control unit efficiently transmits the saved data based on the data type of the saved data.
  • the destination can be derived.
  • the in-vehicle update device includes a plurality of in-vehicle communication units, and the control unit transmits the saved data in parallel to each of the non-update target in-vehicle control devices directly connected to the different in-vehicle communication units. .. Therefore, the control unit can transmit the evacuation data to each of the in-vehicle control devices to be non-updated by using the communication amount (bandwidth) which is the sum of the communication amounts (bandwidth) allowed by each in-vehicle communication unit. It is possible to shorten the time required for the transmission.
  • the external server S1 is a computer such as a server connected to an external network N such as the Internet or a public network, and includes a storage unit S11 by a RAM (RandomAccessMemory), a ROM (ReadOnlyMemory), a hard disk, or the like. , Corresponds to the program providing device outside the vehicle.
  • a program or data for controlling the in-vehicle ECU 3 created by the manufacturer of the in-vehicle ECU 3 or the like is stored.
  • the saved data transmitted from the in-vehicle update device 2 is stored in the storage unit S11 of the external server S1.
  • the vehicle C is equipped with an external communication device 1, an in-vehicle update device 2, a display device 5, and a plurality of in-vehicle ECUs 3 for controlling various in-vehicle devices.
  • the out-of-vehicle communication device 1 and the in-vehicle update device 2 are communicably connected by a harness such as a serial cable.
  • the in-vehicle update device 2 and the in-vehicle ECU 3 are communicably connected by an in-vehicle LAN 4 corresponding to a communication protocol such as CAN (Control Area Network / registered trademark) or Ethernet (registered trademark).
  • the in-vehicle LAN 4 is composed of communication lines (CAN bus or Ethernet cable) corresponding to CAN or Ethernet, and the in-vehicle LAN 4 is segmented by each of these communication lines.
  • the in-vehicle update device 2 controls segments of a plurality of systems such as a control system in-vehicle ECU 3, a safety in-vehicle ECU 3, and a body-based in-vehicle ECU 3, and relays communication between the in-vehicle ECUs 3 between these segments. It is a gateway (repeater).
  • the vehicle-mounted update device 2 may be configured as a functional unit of the body ECU that controls the entire vehicle C.
  • the storage unit 21 is composed of a volatile memory element such as RAM (Random Access Memory) or a non-volatile memory element such as ROM (Read Only Memory), EEPROM (Electrically Erasable Programmable ROM) or flash memory.
  • the control program and the data to be referred to at the time of processing are stored in advance.
  • the control program stored in the storage unit 21 may be one that stores the control program read from the recording medium 22 that can be read by the vehicle-mounted update device 2. Further, the control program may be downloaded from an external computer (not shown) connected to a communication network (not shown) and stored in the storage unit 21.
  • the control unit 20 executes the control program stored in the storage unit 21, and based on the total data capacity of the derived update program and the free capacity of the storage unit 21 of the own device at present, the external server S1 or It corresponds to a determination unit that determines whether or not to transmit saved data to the in-vehicle ECU 3 to be non-updated.
  • the control unit 20 corresponds to a save data transmission unit that transmits the save data to the external server S1 or the in-vehicle ECU 3 to be non-updated based on the determination result of the determination unit by executing the control program stored in the storage unit 21. To do.
  • the control unit 20 corresponds to an update program transmission unit that transmits an update program acquired from the external server S1 to the vehicle-mounted ECU 3 to be updated by executing the control program stored in the storage unit 21.
  • the control unit 30 By storing the two programs of the current version and the old version as so-called two-sided programs in this way, even if a problem should occur in the program of the current version, the control unit 30 applies it before and is normal.
  • the reliability of the in-vehicle ECU 3 in-vehicle ECU 3 having two sides
  • the storage unit 31 stores information on each version of the two programs, the current version and the old version, and information on the area (operating surface) in which the program currently being executed (applied) is stored. That is, when the program stored in the first storage area (first surface) 311 is being executed at present, the storage unit 31 stores that the operating surface is the first storage area (first surface) 311. Will be done. When the program stored in the second storage area (second surface) 312 is being executed at present, the storage unit 31 stores that the operating surface is the second storage area (second surface) 312. ..
  • the program of the previous version of the update program is a program that has a track record of operation because it is the program that was executed when the update program was sent. Therefore, even if the update program fails to be updated, the control unit 30 returns to the program having the operation record (switches the operation surface) by performing the rollback process, and executes the program.
  • the control function for the in-vehicle device can be continued.
  • the evacuation data based on various log data and the like stored in the storage unit 21 of the in-vehicle update device 2 is set to the importance for the use of the in-vehicle update device 2 or the running of the vehicle C, and the transmission destination is based on the importance. (Evacuation location) has been decided.
  • the evacuation data of low importance is transmitted to the external server S1, and the evacuation data of medium importance is transmitted to the in-vehicle ECU 3 to be non-updated. That is, the saved data transmitted to the external server S1 is less important to the vehicle-mounted update device 2 or the vehicle C than the saved data transmitted to the vehicle-mounted ECU 3 to be non-updated.
  • the saved data has been described as various log data related to the operating state of the vehicle C, but the data is not limited to this.
  • the control unit 20 of the vehicle-mounted update device 2 has a storage location of either the external server S1 or the vehicle-mounted ECU 3 to be non-updated based on the importance of the data stored in the storage unit 21 of the own device.
  • the data may be transmitted as saved data to the destination device) and saved.
  • the in-vehicle update device 2 derives the total data capacity of the update program (S2).
  • the in-vehicle update device 2 derives the total data capacity of the update program based on the acquired update information. Needless to say, when the update program is composed of a plurality of files, the total data capacity of the update program is the total value of the sizes (data capacity) of the plurality of files.
  • the vehicle-mounted update device 2 performs the process of transmitting the evacuation data to the vehicle-mounted ECUs 3 connected to the different vehicle-mounted communication units 23 in parallel, the traffic of the segment to which each vehicle-mounted ECU 3 is connected is performed. Can be suppressed and the saved data can be efficiently transmitted to each in-vehicle ECU 3.
  • the in-vehicle update device 2 acquires the update program (S8) and stores the transmitted saved data in the storage area (S9).
  • the in-vehicle update device 2 sends the free area (storage area) secured by deleting the saved data, the free area secured by deleting the saved data, and the free area before deleting the saved data from the external server S1.
  • the storage area for storing the update program is a free area secured by deleting the saved data, but the storage area is not limited to this.
  • the in-vehicle update device 2 may overwrite and store the update program in the storage area in which the saved data is stored without deleting the saved data.
  • the in-vehicle update device 2 acquires the data saved from the external server S1 and the in-vehicle ECU 3 to be updated (S13, 14).
  • the in-vehicle update device 2 stores the evacuation data acquired from the external server S1 or the external server S1 as the evacuation destination and the in-vehicle ECU 3 to be non-updated in the free area of the storage unit 21 secured by deleting the update program.
  • FIG. 5 is a flowchart illustrating the processing of the control unit 20 of the in-vehicle update device 2.
  • the control unit 20 of the vehicle-mounted update device 2 charges the power storage device (not shown) of the vehicle-mounted update device 2 even when the vehicle C is in the activated state (IG switch is on) or stopped (IG switch is off).
  • IG switch is on
  • IG switch is off
  • the program is steadily or periodically communicated with the program providing device via the external communication device 1 to perform the following processing.
  • the control unit 20 of the in-vehicle update device 2 acquires the update information (S101).
  • the control unit 20 periodically communicates with the external server S1 via the external communication device 1 to check for the presence or absence of updated information, and if there is updated information, acquires the updated information from the external server S1.
  • the control unit 20 of the vehicle-mounted update device 2 determines whether or not the total data capacity is smaller than the free capacity of the storage unit 21 (S103).
  • the control unit 20 confirms the free space of the storage unit 21 of the own device, compares the derived total data capacity with the free capacity, and determines whether the total data capacity is smaller than the free capacity of the storage unit 21. judge.
  • the control unit 20 of the in-vehicle update device 2 determines that the total data capacity is the storage unit 21. It is determined whether or not it is smaller than the total value of the free space of the external server S1 and the amount of evacuation to the in-vehicle ECU 3 to be non-updated (S1061).
  • the total data capacity is not smaller than the total value of the free capacity of the storage unit 21 and the capacity that can be saved in the external server S1 and the amount of evacuation to the in-vehicle ECU 3 to be non-updated (S1061).
  • the control unit 20 refers to, for example, the vehicle-mounted configuration information stored in the storage unit 21 to specify a two-sided non-updated vehicle-mounted ECU 3 that can be used as a transmission destination of the saved data.
  • the control unit 20 may specify one or more in-vehicle ECUs 3 to be non-updated.
  • the control unit 20 acquires the storage capacity of the non-operating surface storage unit 31 of each of the non-updated vehicle-mounted ECUs 3 by referring to the vehicle-mounted configuration information or communicating with each of the specified non-updated vehicle-mounted ECUs 3.
  • the control unit 20 calculates the total value of the amount of evacuation to the in-vehicle ECU 3 to be non-updated based on the total value of each acquired storage capacity, and compares it with the total data capacity.
  • the control unit 20 of the in-vehicle update device 2 determines. The series of processes for acquiring the update program and transmitting it to the in-vehicle ECU 3 to be updated is terminated (cancelled).
  • the total data capacity of the update program is not smaller than the total value of the free space of the storage unit 21
  • the amount saved to the external server S1 and the in-vehicle ECU 3 to be non-updated that is, when the total data capacity is larger than the total value.
  • the control unit 20 cancels a series of processes for acquiring the update program and transmitting the update program to the vehicle-mounted ECU 3 to be updated.
  • the control unit 20 may store information regarding the cancellation of the series of processes in the storage unit 21 and output the information to the external server S1, the display device 5, or both. Information regarding the cancellation of a series of processes related to the acquisition of the update program and the like can be notified to the operator of the vehicle C or the administrator of the external server S1.
  • the control unit 20 of the vehicle-mounted update device 2 acquires and stores the update program in the same manner as the process of S104 (S108).
  • the area of the storage unit 21 in which the update program is stored is the area in which the transmitted backup data is stored, the free area before the backup data is transmitted (the free area corresponding to the free capacity in the processing of S103), and the transmission. This is the area where the saved data was stored. That is, the control unit 20 stores at least a part or all of the update program in the area where the transmitted saved data is stored.
  • control unit 20 of the in-vehicle update device 2 is described as performing each series of processes, but the present invention is not limited to this.
  • the control unit 20 of the vehicle-mounted update device 2 performs interprocess communication or redirect processing with a device other than the vehicle-mounted update device 2, such as the vehicle-mounted ECU 3 or the external server S1, and performs each of the processes in cooperation with these devices. It may be what you do.
  • the control unit 20 of the in-vehicle update device 2 may perform each of the processes in cooperation with a hardware processing unit composed of circuits such as FPGA or ASIC included in the own device.
  • FIG. 6 is a flowchart illustrating the processing of the control unit 20 of the vehicle-mounted update device 2 according to the second embodiment.
  • the control unit 20 of the vehicle-mounted update device 2 according to the second embodiment transmits the saved data from the external server S1 to the external server S1 while acquiring the update program, and the free space of the storage unit 21 at the present time becomes a predetermined value or less.
  • This case is different from the first embodiment in that the saved data other than the saved data transmitted to the external server S1 is transmitted to the in-vehicle control device to be non-updated.
  • the vehicle C is in the activated state (IG switch is on) or stopped (IG switch is off) as in the control unit 20 of the vehicle-mounted update device 2 of the first embodiment. Even so, when the charge amount of the power storage device (not shown) of the in-vehicle update device 2 is equal to or higher than a predetermined value, the program providing device is constantly or periodically communicated with the external communication device 1 to perform the following processing. I do.
  • the control unit 20 of the vehicle-mounted update device 2 performs the processes of S201, S202, and S203 in the same manner as the processes of the first embodiment (S101, S102, S103).
  • control unit 20 When the control unit 20 performs the processes of S206, S207, and S208 in parallel, for example, two sub-processes are generated from the main process, and interprocess communication is performed in these three processes to synchronize the processes. It may be a plan.
  • control unit 20 When the control unit 20 is a multi-CPU or multi-core composed of a plurality of CPUs or cores, the control unit 20 may execute these three by separate CPUs or cores.
  • the control unit 20 of the in-vehicle update device 2 continuously monitors the free space of the storage unit 21, and when the free space of the storage unit 21 at the present time becomes equal to or less than a predetermined value (S208: YES), the control unit 20 determines. Similar to the process of the first embodiment (S1062), the saved data is transmitted to the vehicle-mounted ECU 3 to be non-updated, and the saved data for which the transmission is completed is deleted (S209).
  • the predetermined value is determined, for example, as a ratio to the storage capacity of the storage unit 21 of the vehicle-mounted update device 2, and can be determined as 10% of the storage capacity.
  • the predetermined value is determined by the storage unit 21 of the vehicle-mounted update device 2. It is remembered. Alternatively, the control unit 20 may store the predetermined value in the storage unit 21 as, for example, 100 Mbyte.
  • the control unit 20 of the vehicle-mounted update device 2 stores the determination result regarding the determination (S203, S208) in the processing of this flowchart in the storage unit 21, outputs the determination result to the display device 5 or the external server S1, and outputs this information to the operation of the vehicle C. It may notify the person or the administrator of the external server S1.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Security & Cryptography (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

車載更新装置は、車外の外部サーバから送信される更新プログラムを取得し、車載制御装置のプログラムを更新する車載更新装置であって、記憶部と制御部とを備え、前記記憶部は、前記更新プログラムが記憶されるものであり、前記制御部は、更新対象の車載制御装置への前記更新プログラムの送信を制御するものであり、前記制御部は、前記外部サーバから前記更新プログラムを取得する場合、前記記憶部に記憶されている退避データのデータ種別に基づき、前記退避データを前記外部サーバ又は、前記更新対象の車載制御装置以外の非更新対象の車載制御装置に送信し、送信した前記退避データが記憶されていた前記記憶部の領域に前記外部サーバから取得した前記更新プログラムの少なくとも一部を記憶する。

Description

車載更新装置、更新処理プログラム及び、プログラムの更新方法
 本開示は、車載更新装置、更新処理プログラム及び、プログラムの更新方法に関する。
 本出願は、2019年3月18日出願の日本出願第2019-050057号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
 車両には、エンジン制御等のパワー・トレーン系、エアコン制御等のボディ系等の車載機器を制御するための車載ECU(Electronic Control Unit)が搭載されている。車載ECUは、MPU等の演算処理部、RAM等の書き換え可能な不揮発性の記憶部、及び他の車載ECUと通信するための通信部を含み、記憶部に記憶したプログラムを読み込んで実行することにより、車載機器の制御を行う。更に車両には、無線通信の機能を備えた中継装置が実装されており、中継装置を介して、車外のネットワークに接続されているプログラム提供装置と通信し、当該プログラム提供装置から車載ECUのプログラムをダウンロード(受信)し、当該車載ECUのプログラムを更新することができる(例えば特許文献1参照)。特許文献1の中継装置は、プログラム提供装置から受信した車載ECUのプログラムは、自装置の記憶部に記憶する。
特開2017-97851号公報
 本開示の一態様に係る車載更新装置は、車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載制御装置のプログラムを更新するための処理を行う車載更新装置であって、記憶部と制御部とを備え、
 前記記憶部は、前記更新プログラムが記憶されるものであり、
 前記制御部は、更新対象の車載制御装置への前記更新プログラムの送信を制御するものであり、
 前記制御部は、前記外部サーバから前記更新プログラムを取得する場合、前記記憶部に記憶されている退避データのデータ種別に基づき、前記退避データを前記外部サーバ又は、前記更新対象の車載制御装置以外の非更新対象の車載制御装置に送信し、
 送信した前記退避データが記憶されていた前記記憶部の領域に前記外部サーバから取得した前記更新プログラムの少なくとも一部を記憶する。
図1は、実施形態1に係る車載更新システムの構成を例示する模式図である。 図2は、車載更新装置等の構成を例示するブロック図である。 図3は、記憶部に記憶される退避データの一態様を例示する説明図である。 図4は、車載更新装置による更新の一態様を例示する説明図(シーケンス図)である。 図5は、車載更新装置の制御部の処理を例示するフローチャートである。 図6は、実施形態2に係る車載更新装置の制御部の処理を例示するフローチャートである。
[本開示が解決しようとする課題]
 車載制御装置(車載ECU)のプログラムの更新を行うにあたり、複数のプログラムを取得する場合、又は単一のプログラムのファイルサイズが増加した場合等、プログラム提供装置から取得するプログラムのデータ総容量が増加するため、当該データ総容量が中継装置の記憶部の記憶容量を越えることが懸念される。
 本開示の目的は、車載制御装置のプログラムの更新を行うにあたり、自装置の記憶部の記憶容量が不足することを防止することができる車載更新装置を提供する。
[本開示の効果]
 本開示の一態様によれば、車載制御装置のプログラムの更新を行うにあたり、自装置の記憶部の記憶容量が不足することを防止することができる車載更新装置を提供する。
[本開示の実施形態の説明]
 最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
(1)本開示の一態様に係る車載更新装置は、車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載制御装置のプログラムを更新するための処理を行う車載更新装置であって、記憶部と制御部とを備え、
 前記記憶部は、前記更新プログラムが記憶されるものであり、
 前記制御部は、更新対象の車載制御装置への前記更新プログラムの送信を制御するものであり、
 前記制御部は、前記外部サーバから前記更新プログラムを取得する場合、前記記憶部に記憶されている退避データのデータ種別に基づき、前記退避データを前記外部サーバ又は、前記更新対象の車載制御装置以外の非更新対象の車載制御装置に送信し、
 送信した前記退避データが記憶されていた前記記憶部の領域に前記外部サーバから取得した前記更新プログラムの少なくとも一部を記憶する。
 本態様にあたっては、制御部は、外部サーバから更新プログラムを取得する場合、記憶部に記憶されている退避データのデータ種別に基づき、退避データを外部サーバ、又は前記更新対象の車載制御装置以外の非更新対象の車載制御装置に送信し、送信した退避データが記憶されていた記憶部の領域に更新プログラムの少なくとも一部を記憶する。すなわち、制御部は、外部サーバから更新プログラムを取得する場合、自装置(車載更新装置)の記憶部の空き容量が、更新プログラムのデータ総容量よりも小さい場合であっても、更新プログラムの少なくとも一部を、送信した退避データが記憶されていた記憶部の領域に記憶することにより、更新プログラムの全てを記憶部に記憶することができる。更新プログラムの一部が、送信した退避データが記憶されていた領域に記憶された場合、退避データを送信する以前での記憶部の空き領域には、更新プログラムの残部が記憶される。又は、更新プログラムの全てが、送信した退避データが記憶されていた領域に記憶されるものであってもよい。従って、退避データが記憶されていた領域を、更新プログラムを記憶する領域として用いることで、車載更新装置の記憶部の記憶容量が不足することを防止でき、更に退避データのデータ種別に基づき、適切な送信先(退避先)に退避データを退避することができる。
(2)本開示の一態様に係る車載更新装置は、前記外部サーバに送信する退避データは、前記非更新対象の車載制御装置に送信する退避データよりも、自装置又は前記車両における重要度が低い。
 本態様にあたっては、外部サーバに送信する退避データは、非更新対象の車載制御装置に送信する退避データよりも、自装置における重要度が低いため、重要度の高い退避データは、非更新対象の車載制御装置に送信されるものとなる。従って、非更新対象の車載制御装置は車両内に搭載されているため、例えば、外部サーバとの通信が困難な状況下となった場合であっても、中継装置は、非更新対象の車載制御装置に送信して退避した退避データを、当該非更新対象の車載制御装置から取得することができる。
(3)本開示の一態様に係る車載更新装置は、前記記憶部には、前記退避データのデータ種別夫々と重要度夫々とが関連付けて記憶されている。
 本態様にあたっては、記憶部には、退避データのデータ種別夫々と重要度夫々とが関連付けて記憶されているため、制御部は、効率的に退避データのデータ種別に基づき、当該退避データの送信先を導出することができる。
(4)本開示の一態様に係る車載更新装置は、前記制御部は、
 前記更新プログラムを取得する前に前記更新プログラムのデータ総容量を前記外部サーバから取得し、
 前記記憶部の空き容量及び前記外部サーバに送信する退避データのデータ総容量の合計値が、前記更新プログラムのデータ総容量よりも小さい場合、前記外部サーバに送信する退避データ以外の退避データを前記非更新対象の車載制御装置に送信する。
 本態様にあたっては、制御部は、現時点における記憶部の空き容量及び外部サーバに送信する退避データのデータ総容量の合計値が、更新プログラムのデータ総容量よりも小さい場合、外部サーバに送信する退避データ以外の退避データを非更新対象の車載制御装置に送信するため、中継装置と車載制御装置との通信経路の通信量が増加することを抑制することができる。
(5)本開示の一態様に係る車載更新装置は、前記制御部は、
 前記更新プログラムを取得する前に前記更新プログラムのデータ総容量を前記外部サーバから取得し、
 前記記憶部の空き容量、前記外部サーバに送信する退避データのデータ総容量及び前記非更新対象の車載制御装置に送信する退避データの合計値が、前記更新プログラムのデータ総容量よりも大きい場合、前記退避データのデータ種別に基づき、前記退避データを前記外部サーバ及び前記非更新対象の車載制御装置に送信する。
 本態様にあたっては、制御部は、時点における記憶部の空き容量、外部サーバに送信する退避データのデータ総容量及び非更新対象の車載制御装置に送信する退避データの合計値が、更新プログラムのデータ総容量以上の場合、退避データを外部サーバ及び非更新対象の車載制御装置に送信する。従って、退避データを送信することによって更新プログラムを記憶するための記憶部の領域が確保できる場合のみ、制御部は、退避データを送信し更新プログラムを取得するため、取得した更新プログラムを確実に記憶することができる。
(6)本開示の一態様に係る車載更新装置は、前記制御部は、
 前記外部サーバから前記更新プログラムの取得中に、前記退避データを前記外部サーバに送信し、
 前記更新プログラムの取得中における前記記憶部の空き容量が、所定値以下となった場合、前記外部サーバに送信する退避データ以外の退避データを前記非更新対象の車載制御装置に送信する。
 本態様にあたっては、制御部は、外部サーバから更新プログラムの取得中に退避データを外部サーバに送信するため、更新プログラムの取得のための準備作業を不要とし、更新対象の車載制御装置の更新の一連の処理の所要時間を短縮することができる。
(7)本開示の一態様に係る車載更新装置は、前記車両には、複数の前記車載制御装置が搭載されており、
 前記複数の車載制御装置夫々と通信するための車内通信部を複数個備え、
 前記制御部は、異なる前記車内通信部夫々に接続される前記非更新対象の車載制御装置夫々へ、前記退避データの送信を並行して行う。
 本態様にあたっては、車載更新装置は複数の車内通信部を備え、制御部は、異なる車内通信部夫々に直接接続される非更新対象の車載制御装置夫々へ、退避データの送信を並行して行う。従って、制御部は、車内通信部夫々にて許容される通信量(帯域幅)を合算した通信量(帯域幅)を用いて、非更新対象の車載制御装置夫々へ退避データを送信することができ、当該送信のための所要時間を短縮することができる。
(8)本開示の一態様に係る更新処理プログラムは、コンピュータに、
 記憶部に記憶されている退避データのデータ種別に基づき、前記退避データを外部サーバ又は、車両に搭載される更新対象の車載制御装置以外の非更新対象の車載制御装置に送信し、
 送信した前記退避データが記憶されていた前記記憶部の領域に、前記外部サーバから取得した更新プログラムを記憶し、
 記憶した前記更新プログラムを前記更新対象の車載制御装置へ送信する
 処理を実行させる。
 本態様にあたっては、コンピュータを、車載制御装置のプログラムの更新を行うにあたり、自装置の記憶部の記憶容量が不足することを防止することができる車載更新装置として機能させることができる。
(9)本開示の一態様に係るプログラムの更新方法は、記憶部に記憶されている退避データのデータ種別に基づき、前記退避データを外部サーバ又は、車両に搭載される更新対象の車載制御装置以外の非更新対象の車載制御装置に送信し、
 送信した前記退避データが記憶されていた前記記憶部の領域に、前記外部サーバから取得した更新プログラムを記憶し、
 記憶した前記更新プログラムを前記更新対象の車載制御装置へ送信する。
 本態様にあたっては、車載制御装置のプログラムの更新を行うにあたり、自装置の記憶部の記憶容量が不足することを防止することができるプログラムの更新方法を提供することができる。
[本開示の実施形態の詳細]
 本開示をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る車載更新装置2を、以下に図面を参照しつつ説明する。なお、本開示はこれらの例示に限定されるものではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
(実施形態1)
 以下、実施の形態について図面に基づいて説明する。図1は、実施形態1に係る車載更新システムの構成を例示する模式図である。図2は、車載更新装置等の構成を例示するブロック図である。車載更新システムSは、車両Cに搭載された車外通信装置1及び車載更新装置2を含み、車外ネットワークNを介して接続された外部サーバS1から取得したプログラム又はデータを、車両Cに搭載されている車載ECU3(Electronic Control Unit/車載制御装置)に送信する。
 外部サーバS1と車載更新装置2との通信は車外通信装置1を介して行われ、車外通信装置1を介した外部サーバS1と車載更新装置2との間の帯域幅(通信速度/スループット)は、車載更新装置2と車載ECU3との間の帯域幅(通信速度/スループット)よりも、大きいものとなっている。従って、当該帯域幅の差異を吸収するため、車載更新装置2は、外部サーバS1から取得したプログラム等(更新プログラム)を、自装置の記憶部21に一旦記憶(キャッシュ)する。そして、車載更新装置2は、当該プログラム(更新プログラム)の一部データ又は全データを記憶部21に一旦記憶した後、当該プログラム等(更新プログラム)を車載ECU3に送信する。
 外部サーバS1は、例えばインターネット又は公衆回線網等の車外ネットワークNに接続されているサーバ等のコンピュータであり、RAM(Random Access Memory)、ROM(Read Only Memory)又はハードディスク等による記憶部S11を備え、車外のプログラム提供装置に相当する。外部サーバS1の記憶部S11には、車載ECU3の製造メーカ等によって作成された当該車載ECU3を制御するためのプログラム又はデータが保存されている。詳細は後述するが、外部サーバS1の記憶部S11には、車載更新装置2から送信された退避データが記憶される。当該プログラム又はデータは、更新プログラムとして、後述のごとく車両Cに送信され、車両Cに搭載されている車載ECU3のプログラム又はデータを更新するために用いられる。このように構成された外部サーバS1は、OTA(Over The Air)サーバとも称される。車両Cに搭載される車載ECU3は、外部サーバS1から無線通信により送信された更新プログラムを取得し、当該更新プログラムを実行するプログラムとして適用することにより、自ECUが実行するプログラムを更新(リプロ)することができる。
 以降、プログラムは、車載ECU3が処理を行うための制御構文等を含むプログラムコード及び、当該プログラムコードを実行するにあたり参照するデータが記載される外部ファイルを含むものとして説明する。更新プログラムの送信時において、これらプログラムコード及びデータが記載される外部ファイルは、例えば暗号化されたアーカイブファイルとして、外部サーバS1から送信される。
 車両Cには、車外通信装置1、車載更新装置2、表示装置5、及び種々の車載機器を制御するための複数の車載ECU3が搭載されている。車外通信装置1と車載更新装置2とは、例えばシリアルケーブル等のハーネスにより通信可能に接続されている。車載更新装置2及び車載ECU3は、CAN(Control Area Network/登録商標)又はEthernet(登録商標)等の通信プロトコルに対応した車内LAN4によって通信可能に接続されている。車内LAN4は、CAN又はEthernetに対応した通信線(CANバス又はEthernetケーブル)により構成され、これら通信線夫々により、車内LAN4はセグメント化される。
 車外通信装置1は、車外通信部11及び、車載更新装置2と通信するための入出力I/F(インターフェイス)12を含む。車外通信部11は、3G、LTE、4G、WiFi等の移動体通信のプロトコルを用いて無線通信をするための通信装置であり、車外通信部11に接続されたアンテナ13を介して外部サーバS1とデータの送受信を行う。車外通信装置1と外部サーバとの通信は、例えば公衆回線網又はインターネット等の外部ネットワークを介して行われる。
 入出力I/F12は、車載更新装置2と、例えばシリアル通信するための通信インターフェイスである。車外通信装置1と車載更新装置2とは、入出力I/F12及び入出力I/F12に接続されたシリアルケーブル等のハーネスを介して相互に通信する。本実施形態では、車外通信装置1は、車載更新装置2と別装置とし、入出力I/F12等によってこれら装置を通信可能に接続しているが、これに限定されない。車外通信装置1は、車載更新装置2の一構成部位として、車載更新装置2に内蔵されるものであってもよい。
 車載更新装置2は、制御部20、記憶部21及び車内通信部23を含む。車載更新装置2は、車外通信装置1が無線通信によって外部サーバS1から受信した更新プログラムを、車外通信装置1から取得し、車内LAN4を介して当該更新プログラムを所定の車載ECU3(更新対象の車載ECU3)に送信するように構成されている。車載更新装置2は、例えば、制御系の車載ECU3、安全系の車載ECU3及び、ボディ系の車載ECU3等の複数の系統のセグメントを統括し、これらセグメント間での車載ECU3同士の通信を中継するゲートウェイ(中継器)である。又は、車載更新装置2は、車両C全体をコントロールするボディECUの一機能部として構成されるものであってもよい。
 制御部20は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成してあり、記憶部21に予め記憶された制御プログラム及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行うようにしてある。
 記憶部21は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、制御プログラム及び処理時に参照するデータが予め記憶してある。記憶部21に記憶された制御プログラムは、車載更新装置2が読み取り可能な記録媒体22から読み出された制御プログラムを記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータから制御プログラムをダウンロードし、記憶部21に記憶させたものであってもよい。更に、記憶部21には、車両Cに搭載される全ての車載ECU3の構成情報(車両構成情報)、外部サーバS1から取得した更新プログラム、及び車載ECU3に更新プログラムを送信する際の進捗状況に関する情報(更新処理のログデータ)が、記憶される。更に、記憶部21には、車内LANに流れる通信のログデータ、車両における異常発生時に車内LANに流れている全データ(フリーズフレームデータ)を含む退避データが、記憶される。
 記憶部21に記憶される車載ECU3夫々の構成情報(車両構成情報)例えば、車載ECU3の製造番号(シリアル番号)、ECU部番(型番)、Software部番、プログラムの現バージョン、旧バージョン、動作面数、動作面、MAC(Media Access Control)アドレス、IPアドレス、前回更新完了日時、リプロステータス及びVIN(車両識別番号)を含む。また、車載ECU3がCANによって接続される場合、車載ECU3の構成情報は、当該車載ECU3がメッセージを送信する際に用いる(含める)CAN-IDを含むものであってよい。これら車両構成情報は、個々の車載ECU3において重複しないように設定された連番等によるECU-IDに関連付けられて管理され、例えばテーブル形式のデータとして記憶部21に記憶される。制御部20は、車両の起動及び停止を行うIGスイッチがオン又はオフにされた場合等の所定のタイミングにて、定常的に車両Cに搭載されている全ての車載ECU3又は特定の車載ECU3から、車載ECU3夫々の構成情報を取得し、記憶部21に記憶する。又、車両構成情報には、車載ECU3夫々の記憶部31の記憶容量及び現時点における空き容量が含まれるものであってもよい。記憶部21に記憶されている車両構成情報に含まれる車載ECU3の製造番号(シリアル番号)、ECU部番(型番)、動作面数、動作面、記憶容量及び現時点における空き容量に基づいて、制御部20は、車載ECU3のハードウェア構成を認識し、当該車載ECU3の記憶部31の非動作面、記憶容量及び現時点における空き容量を導出することができる。
 制御部20は、記憶部21に記憶されている制御プログラムを実行することにより、外部サーバS1から送信された更新プログラムを、車外通信装置1を介して取得する更新プログラム取得部に相当する。制御部20は、記憶部21に記憶されている制御プログラムを実行することにより、外部サーバS1から送信された更新情報(キャンペーンデータ)に基づき、外部サーバS1から取得する更新プログラムのデータ総容量を導出するデータ総容量導出部に相当する。制御部20は、記憶部21に記憶されている制御プログラムを実行することにより、外部サーバS1又は非更新対象の車載ECU3に送信することができる退避データの容量(退避可能データ容量)夫々を導出する退避データ容量導出部に相当する。制御部20は、記憶部21に記憶されている制御プログラムを実行することにより、導出した更新プログラムのデータ総容量と、現状における自装置の記憶部21の空き容量とに基づき、外部サーバS1又は非更新対象の車載ECU3への退避データの送信の要否を判定する判定部に相当する。制御部20は、記憶部21に記憶されている制御プログラムを実行することにより、判定部の判定結果に基づき退避データを外部サーバS1又は非更新対象の車載ECU3へ送信する退避データ送信部に相当する。制御部20は、記憶部21に記憶されている制御プログラムを実行することにより、外部サーバS1から取得した更新プログラムを、更新対象の車載ECU3に送信する更新プログラム送信部に相当する。
 車内通信部23は、CAN(Control Area Network)又はEthernet(登録商標)等の通信プロトコルを用いた入出力インターフェイスであり、制御部20は、車内通信部23を介して車内LAN4に接続されている車載ECU3又は他の中継装置等の車載機器と相互に通信する。車内通信部23は、複数個(図面上では3つ)設けられており、車内通信部23夫々に、車内LAN4を構成する通信線(CANバス又はEthernetケーブル)が接続されている。このように車内通信部23を複数個設けることにより、車内LAN4は複数個のセグメントに分けられ、各セグメント夫々に車載ECUを、当該車載ECUの機能(制御系機能、安全系機能、ボディ系機能)に応じて接続する。又は、車両Cが自動運転機能(認知系機能、判断系機能、操作系機能)を有する場合、車載ECU3は、当該車載ECU3の機能(認知系機能、判断系機能、操作系機能)に応じて各セグメントに接続されるものであってもよい。
 車載ECU3は、制御部30、記憶部31及び車内通信部32を含む。記憶部31は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、車載ECU3のプログラム又はデータが記憶されている。このプログラム又はデータが、車載更新装置2から送信される更新プログラムによって更新される対象である。
 記憶部31は、第1記憶領域(第1面)311及び第2記憶領域(第2面)312を含む。記憶部31には、現状において車載ECU3が実行(適用)しているプログラム(現バージョン)及び、現バージョンの以前に適用されていたプログラム(旧バージョン)の2つのプログラムが記憶されている。これら現バージョンのプログラムと、旧バージョンのプログラムとは、第1記憶領域311又は第2記憶領域312のいずれかの記憶領域に分かれて、記憶されている。すなわち、第1記憶領域311に現バージョンのプログラムが記憶されている場合、第2記憶領域312に旧バージョンのプログラムが記憶されている。第1記憶領域311に旧バージョンのプログラムが記憶されている場合、第2記憶領域312に現バージョンのプログラムが記憶されている。このように現バージョン及び旧バージョンの2つのプログラムを、所謂2面持ちとして記憶することにより、万が一現バージョンのプログラムに問題が生じた場合であっても、制御部30は、以前に適用して正常に動作していた旧バージョンのプログラムを読み込み実行する(切替える)ことで、車載ECU3(2面持ちの車載ECU3)の信頼性を担保することができる。
 記憶部31には、現バージョン及び旧バージョンの2つのプログラム夫々のバージョンに関する情報、及び現在実行(適用)しているプログラムが記憶されている領域(動作面)に関する情報が記憶されている。すなわち、現状において第1記憶領域(第1面)311に記憶されているプログラムを実行している場合、記憶部31には、動作面は第1記憶領域(第1面)311であると記憶される。現状において第2記憶領域(第2面)312に記憶されているプログラムを実行している場合、記憶部31には、動作面は第2記憶領域(第2面)312であると記憶される。記憶部31には、プログラム(現バージョン及び旧バージョン)のバージョン情報及び動作面に関する情報を含め、自ECUの構成情報と、車載更新装置2から更新プログラムを受信する際の進捗状況に関する情報とが、記憶される。
 制御部30は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成してあり、記憶部31(動作面)に記憶されたプログラム及びデータを読み出し実行して制御処理等を行い、当該車載ECU3を含む車載機器又はアクチュエータ等が制御される。
 車載ECU3の制御部30は、車載更新装置2から送信される更新プログラムを、車内通信部32を介して受信し、当該更新プログラムを取得する。従って、車載ECU3の制御部30は、外部サーバS1から送信された更新プログラムを、車外通信装置1及び車載更新装置2を介して取得する。制御部30は、取得した更新プログラムを、動作面でない記憶領域(第1記憶領域311又は第2記憶領域312)に記憶する。すなわち、制御部30は、車載更新装置2から送信された更新プログラムを取得するにあたり、当該取得の準備処理として、動作面でない記憶領域(非動作面)に記憶されているプログラムを削除する。通常、動作面でない記憶領域に記憶されているプログラムは、現バージョンのプログラムの以前に実行された旧バージョンのプログラムであるため、車載ECU3における車載装置への制御機能を停止させることなく、当該旧バージョンを削除することができる。制御部30は、動作面でない記憶領域(非動作面)に記憶されている旧バージョンのプログラムを削除し、車載更新装置2から送信された更新プログラムを、当該非動作面に記憶する。
 車載ECU3の制御部30は、更新プログラムの受信を正常終了した後、動作面の切替えを行い、受信した更新プログラムを現バージョンのプログラムとして適用して実行する。車載ECU3の制御部30は、更新プログラムの受信を正常終了し、動作面の切替えを正常に行った場合、プログラムの更新が完了(正常終了)したことを記憶部31に記憶し、更に車載更新装置2に送信(通知)する。動作面の切替えが正常に行われた場合、制御部30は、プログラムの更新が完了(正常終了)したと判定するため、当該判定の精度を担保することができる。
 又は、車載ECU3の制御部30は、更新プログラムの受信を正常終了し動作面の切替えを行った後、当該車載ECU3の機能に基づいた自己診断処理を行う。車載ECU3の機能に基づいた自己診断処理を行うための自己診断処理プログラムは、車載ECU3夫々の記憶部に31に予め記憶されている。又は、自己診断処理プログラムは、更新プログラムに含まれ、更新プログラムと一緒に車載更新装置2から送信されるものであってもよい。
 制御部30は、切替えた更新プログラムに対する自己診断処理の結果が正常である場合、プログラムの更新が完了(正常終了)したことを記憶部31に記憶し、更に車載更新装置2に送信(通知)してもよい。自己診断処理の結果が正常である場合、制御部30は、プログラムの更新が完了(正常終了)したと判定するため、当該判定の精度を更に向上させることができる。
 又は、車載ECU3の制御部30は、更新プログラムの受信を正常終了し動作面の切替えを行う前に、非動作面の記憶領域に記憶されている更新プログラムに対し、自己診断処理を行い、更新プログラムに対する自己診断処理の結果が正常である場合、プログラムの更新が完了(正常終了)したことを記憶部31に記憶し、更に車載更新装置2に送信(通知)する。更新プログラムの受信を正常終了し動作面の切替えを行う前、すなわち更新プログラムを適用する前に、制御部30は、非動作面の記憶領域に記憶されている更新プログラムに対し自己診断処理を行うため、車載ECU3が現在実行している車載装置に対する制御機能の動作に影響を与えることなく、更新プログラムによる更新の正否について判定することができる。
 車載ECU3の制御部30は、更新プログラムへの切替えが失敗した場合、又は更新プログラムに対する自己診断処理の結果が異常である場合、ロールバック処理、すなわち更新プログラムの前バージョン(旧バージョン)のプログラムが記憶されている非動作面の記憶領域を、動作面の記憶領域として切替え(ロールバック)、当該前バージョンのプログラムを実行(適用)する。車載ECU3の制御部30は、更新プログラムへの切替えが失敗した場合、又は更新プログラムに対する自己診断処理の結果が異常である場合、更新が失敗(異常終了)したことを記憶部31に記憶し、更に車載更新装置2に送信(通知)してもよい。
 更新プログラムの前バージョンのプログラムは、更新プログラムが送信される際に実行していたプログラムであるため、動作実績を有するプログラムである。従って、制御部30は、更新プログラムの更新に失敗した場合であっても、ロールバック処理を行うことにより、動作実績を有するプログラムに戻して(動作面を切替え)、当該プログラムを実行するため、車載装置に対する制御機能を継続することができる。
 車載ECU3の制御部30による更新プログラムによる更新の成否の判定は、当該更新プログラムへの切替え(動作面の切替え)又は自己診断処理の結果に基づき判定するものとしたが、これに限定されない。車載ECU3の制御部30は、更新プログラムに切替え当該更新プログラムを実行した後、例えば、所定期間の経過、車両Cの累積動作時間、トリップ回数、又は運転距離等が所定値以上となるまでの間に、当該更新プログラムに起因する異常を検知しなかった場合、更新は成功したと判定してもよい。
 表示装置5は、例えばカーナビゲーションのディスプレイ等のHMI(Human Machine Interface)装置である。表示装置5は、車載更新装置2の入出力I/F24とシリアルケーブル等のハーネスにより通信可能に接続されている。表示装置5には、車載更新装置2の制御部20から入出力I/F24を介して出力されたデータ又は情報が表示される。表示装置5と車載更新装置2との接続形態は、入出力I/F24等による接続形態に限定されず、表示装置5と車載更新装置2とは、車内LAN4を介した接続形態であってもよい。
 図3は、記憶部21に記憶される退避データの一態様を例示する説明図である。図3においては、退避データとして外部サーバS1又は車載ECU3に送信される各種データに対し、当該データの重要度、データ種別及び送信先となる退避場所(送信先)を設定したデータを表形式(テーブル形式)で例示したものである。
 車載更新装置2の記憶部21には、上述のごとく、自装置の制御を行うための制御プログラム又はデータに加え、車載ECU3夫々から取得した車載構成情報、及び車載ECU3の更新処理に関する更新プログラムが記憶されている。更に、車載更新装置2の記憶部21には、車両Cの動作状態に関する各種ログデータ、すなわち動作状態を示す情報が時系列のデータとして記憶されている。
 車載更新装置2が外部サーバS1又は非更新対象に車載ECU3に送信する退避データは、主には車両Cの動作状態に関する各種ログデータにより構成される。図3に示すごとく、退避データとして取り扱われる各種ログデータは、例えばフリーズフレームデータ、更新処理のログデータ及び通信のログデータを含む。
 車載更新装置2の制御部20は、車載ECU3間の通信の中継制御をするにあたり、これら車載ECU3夫々から送信されたデータを受信し、当該データに含まれる故障異常コードを抽出し、記憶部21に記憶する。車載更新装置2の制御部20は、制御プログラムを実行することにより、例えば、自装置の自己診断機能(OBD/On-board diagnostics)を発揮し、自己診断の診断結果に基づき出力した故障異常コードを自装置の動作状態に関するログデータとして、記憶部21に記憶する。車載更新装置2の制御部20は、これら故障異常コードを記憶した場合、その時点において車内LAN4に流れているCANメッセージ又はイーサネット(登録商標)フレーム等のデータを取得し、当該データをフリーズフレームデータとして記憶部21に記憶する。車載更新装置2の制御部20は、更新対象の車載ECU3に更新プログラムを送信し、当該車載ECU3の更新処理(リプロ処理)を行った際の処理履歴を更新処理のログデータとして記憶部21に記憶する。車載更新装置2の制御部20は、車載ECU3間の通信の中継制御をするにあたり、各セグメントにおける単位時間あたりの送受信データ量、トラフィック量、各メッセージ種別の送受信数等の通信のログデータを記憶部21に記憶する。
 車載更新装置2の記憶部21に記憶された各種ログデータ等による退避データは、車載更新装置2の使用又は車両Cの走行等に対する重要度が設定されており、当該重要度に基づき、送信先(退避場所)が決定されている。重要度が低度の退避データは外部サーバS1に送信され、重要度が中度の退避データは非更新対象の車載ECU3に送信される。すなわち、外部サーバS1に送信される退避データは、非更新対象の車載ECU3に送信される退避データよりも、車載更新装置2又は車両Cにとって、重要度が低いデータとなる。このように車載更新装置2又は車両Cにとって重要度が比較的に高い退避データを、車両C内(自車内)に退避することにより、当該退避データを確実に保存することができる。
 車両Cの動作状態に関する各種ログデータであっても、例えば故障異常コード、セキュリティ情報等の車載更新装置2を使用するにあたり重要なデータは、退避不可のデータとして、外部サーバS1又は非更新対象に車載ECU3への送信を禁止するものであってもよい。
 退避データは、車両Cの動作状態に関する各種ログデータであるとして説明したが、これに限定されない。車載更新装置2の制御部20は、自装置の記憶部21に記憶されている種々データにおいて、当該データの重要度に基づき、外部サーバS1又は非更新対象の車載ECU3のいずれかの退避場所(送信先の装置)へ、当該データを退避データとして送信し、退避するものであってもよい。
 図4は、車載更新装置2による更新の一態様を例示する説明図(シーケンス図)である。図4において、車載更新装置2が、更新プログラムを外部サーバS1から取得する際、自装置の記憶部21に記憶されている退避データを、外部サーバS1又は非更新対象の車載ECU3に送信して、当該退避データを退避する処理に関し、外部サーバS1及び車載ECU3の処理を含むシーケンス図を用いて説明する。
 車載更新装置2は、更新情報(キャンペーン情報)を取得する(S1)。車載更新装置2は、例えば定常的、定期的に又は、車両Cを起動するIGスイッチがオンにされた場合、外部サーバS1にアクセスし、自車に搭載される車載ECU3の更新の要否に関する更新情報の有無を確認し、更新情報があれば当該更新情報を外部サーバS1から取得する。当該更新情報には、例えば、更新対象の車載ECU3の型番、プログラムのバージョン、プログラムを含むアーカイブファイルのファイル名及びサイズに関する情報が含まれる。当該更新情報には、車載更新装置2から外部サーバS1に送信することができる退避データの最大容量を含むものであってもよい。当該退避データの最大容量とは、車載更新装置2が退避データを保存場所として利用することができる外部サーバS1の記憶部S11の記憶領域のサイズ(クォータ)を意味する。
 車載更新装置2は、更新プログラムのデータ総容量を導出する(S2)。車載更新装置2は、取得した更新情報に基づき、更新プログラムのデータ総容量を導出する。更新プログラムが複数のファイルにより構成されている場合、更新プログラムのデータ総容量は、当該複数のファイルのサイズ(データ容量)の合計値であることは、言うまでもない。
 車載更新装置2は、外部サーバS1に退避データを送信する(S3)。車載更新装置2は、記憶部21を参照し、外部サーバS1に送信して退避することができる重要度の退避データを特定し、当該特定した退避データを外部サーバS1に送信する。当該特定は、図3に示すような、退避データのデータ種別を示すテーブルを参照して行うものであってもよい。
 車載更新装置2は、非更新対象の車載ECU3に退避データを送信する(S4)。車載更新装置2は、記憶部21に記憶してある車載構成情報を参照し、退避データの送信先となる非更新対象の車載ECU3を特定する。車載更新装置2は、例えば、2面持ちの車載ECU3を抽出し、かつロールバック処理が不要であり非動作面に記憶されている前バージョンのプログラムを削除することができる車載ECU3を、退避データの送信先となる非更新対象の車載ECU3として特定するものであってもよい。車載更新装置2は、退避データの送信先として、単一の非更新対象の車載ECU3を特定するものに限定されず、複数の非更新対象の車載ECU3(非更新対象の車載ECU3群)を特定するものであってもよい。
 車載更新装置2は、複数の車載ECU3を非更新対象の車載ECU3群として特定する場合、これら複数の非更新対象の車載ECU3夫々は、異なる車内通信部23に接続されていることが望ましい。退避データの送信先となる非更新対象の車載ECU3夫々を、異なる車内通信部23に接続することにより、車載ECU3夫々は別個のセグメントに接続されるものなる。従って、車載更新装置2は、異なる車内通信部23に接続される車載ECU3夫々へ、退避データを送信する処理を並行して行った場合であっても、各車載ECU3が接続されるセグメントのトラフィックが増加することを抑制し、効率的に退避データを各車載ECU3に送信することができる。
 車載更新装置2は、記憶部21を参照し、非更新対象の車載ECU3に送信して退避することができる重要度の退避データを特定し、当該特定した退避データを非更新対象の車載ECU3に送信する。上述のごとく、非更新対象の車載ECU3に送信して退避することができる退避データは、外部サーバS1に送信して退避することができる退避データよりも、車載更新装置2又は車両Cにとって重要度が高いデータである。
 外部サーバS1への送信及び非更新対象の車載ECU3への送信は、順次に行われる場合に限定されず、車載更新装置2は、外部サーバS1及び非更新対象の車載ECU3に対し、退避データ夫々を並行して送信するものであってもよい。
 外部サーバS1は、自装置の記憶部S11に退避データを記憶する(S5)。非更新対象の車載ECU3は、自装置の記憶部31(非動作面の記憶領域)に退避データを記憶する(S6)。外部サーバS1及び非更新対象の車載ECU3が、車載更新装置2から送信された退避データを記憶することにより、これら退避データの退避が完了するものとなる。車載更新装置2から送信された全ての退避データの記憶を完了した外部サーバS1及び非更新対象の車載ECU3は、送信された退避データの退避が完了した旨に関する情報を、車載更新装置2に出力(送信、通知)するものであってもよい。
 車載更新装置2は、外部サーバS1又は非更新対象の車載ECU3に送信した退避データを削除する(S7)。外部サーバS1又は、外部サーバS1及び非更新対象の車載ECU3への退避データの送信を完了した車載更新装置2は、当該送信を完了した退避データを削除する。当該退避データを削除することにより、車載更新装置2の記憶部21における空き容量を増加させることができる。
 車載更新装置2は、更新プログラムを取得し(S8)、送信した退避データが記憶されていた記憶領域に記憶する(S9)。車載更新装置2は、退避データを削除することにより確保した空き領域(記憶領域)又は、退避データを削除することにより確保した空き領域及び退避データを削除する前の空き領域に、外部サーバS1から取得(受信)した更新プログラムを記憶する。更新プログラムを記憶する記憶領域は、退避データを削除することにより確保した空き領域としたが、これに限定されない。車載更新装置2は、退避データを削除することなく、退避データが記憶されている記憶領域に、更新プログラムを上書きして記憶するものであってもよい。
 車載更新装置2は、更新プログラムを更新対象の車載ECU3に送信する(S10)。車載更新装置2は、自装置の記憶部21に記憶されている更新プログラムを更新対象の車載ECU3に送信し、以降、当該更新対象の車載ECU3に対し、更新処理を開始するための更新処理開始信号を出力するものであってもよい。
 更新対象の車載ECU3は、更新プログラムを記憶部31の非動作面に記憶し(S11)、所定のタイミングで更新プログラムへの切替を実施する。更新対象の車載ECU3は、更新プログラムへの切替を実施し、更新処理(リプロ処理)が完了した場合、更新処理の完了に関する情報を車載更新装置2に出力(送信、通知)するものであってもよい。
 車載更新装置2は、記憶部21に記憶した更新プログラムを削除する(S12)。車載更新装置2は、送信が完了した後、又は更新対象の車載ECU3から更新処理の完了に関する情報を取得(受信)した場合、更新プログラムを削除する。
 車載更新装置2は、外部サーバS1及び更新対象の車載ECU3から退避したデータを取得する(S13,14)。車載更新装置2は、更新プログラムの削除により確保した記憶部21の空き領域に、退避先となった外部サーバS1、又は外部サーバS1及び非更新対象の車載ECU3から取得した退避データを記憶する。
 図5は、車載更新装置2の制御部20の処理を例示するフローチャートである。車載更新装置2の制御部20は、車両Cが起動状態(IGスイッチがオン)又は、停止状態(IGスイッチがオフ)であっても車載更新装置2の蓄電装置(図示せず)の充電量が所定値以上である場合、車外通信装置1を介して定常的又は定期的にプログラム提供装置と通信し、以下の処理を行う。
 車載更新装置2の制御部20は、更新情報を取得する(S101)。制御部20は、車外通信装置1を介して外部サーバS1と定期的に通信して更新情報の有無を確認し、更新情報があれば、外部サーバS1から取得する。
 車載更新装置2の制御部20は、更新プログラムのデータ総容量を導出する(S102)。制御部20は、例えば、取得した更新情報に含まれる更新プログラムのデータ総容量を抽出し、当該データ総容量を導出する。
 車載更新装置2の制御部20は、データ総容量は、記憶部21の空き容量よりも小さいか否かを判定する(S103)。制御部20は、自装置の記憶部21の空き容量を確認し、導出したデータ総容量と、空き容量とを比較し、データ総容量は、記憶部21の空き容量よりも小さいか否かを判定する。
 データ総容量が記憶部21の空き容量よりも小さい場合(S103:YES)、車載更新装置2の制御部20は、更新プログラムを取得し、記憶する(S104)。取得する更新プログラムのデータ総容量が記憶部21の空き容量よりも小さい場合、退避データを削除することなく、制御部20は、当該更新プログラムを記憶(保存)することができる。
 車載更新装置2の制御部20は、更新プログラムを更新対象の車載ECU3に送信する(S105)。更新プログラムを取得(受信)した更新対象の車載ECU3は、所定のタイミングで当該更新プログラムを適用し、更新処理を実行する。
 データ総容量が記憶部21の空き容量よりも小さくない場合(S103:NO)、すなわちデータ総容量が記憶部21の空き容量よりも大きい場合、車載更新装置2の制御部20は、データ総容量は記憶部21の空き容量及び外部サーバS1に退避できる容量の合計値よりも小さいか否かを判定する(S106)。制御部20は、例えば、取得した更新情報に含まれる外部サーバS1における使用可能な記憶領域の容量(外部サーバS1に送信することができる退避データの最大容量)を抽出する。又は、制御部20は、外部サーバS1と通信し、外部サーバS1における使用可能な記憶領域の容量を取得するものであってもよい。制御部20は、当該外部サーバS1における使用可能な記憶領域の容量を、外部サーバS1に退避できる容量として、記憶部21の空き容量及び外部サーバS1に退避できる容量の合計値を算出し、データ総容量と比較する。
 データ総容量は記憶部21の空き容量及び外部サーバS1に退避できる容量の合計値よりも小さい場合(S106:YES)、車載更新装置2の制御部20は、退避データを外部サーバS1に送信し、削除する(S107)。更新プログラムのデータ総容量が、記憶部21の空き容量及び外部サーバS1に退避できる容量の合計値よりも小さい場合、非更新対象の車載ECU3に退避データを送信することは不要である。従って、制御部20は、退避データを外部サーバS1に送信し、送信が完了した退避データを削除する。
 データ総容量が記憶部21の空き容量及び外部サーバS1に退避できる容量の合計値よりも小さくない場合(S106:NO)、車載更新装置2の制御部20は、データ総容量は、記憶部21の空き容量、外部サーバS1及び非更新対象の車載ECU3への退避量の合計値よりも小さいか否かを判定する(S1061)。データ総容量が記憶部21の空き容量及び外部サーバS1に退避できる容量の合計値よりも小さくない場合、すなわちデータ総容量が記憶部21の空き容量及び外部サーバS1に退避できる容量の合計値よりも大きい場合、外部サーバS1に送信した退避データを削除しても、更新プログラムの全データを記憶するための記憶領域を確保できない。そこで、制御部20は、例えば、記憶部21に記憶してある車載構成情報を参照し、退避データの送信先として利用できる2面持ちの非更新対象の車載ECU3を特定する。制御部20は、単数又は複数の非更新対象の車載ECU3を特定してもよい。制御部20は、車載構成情報を参照し、又は特定した非更新対象の車載ECU3夫々と通信することにより、非更新対象の車載ECU3夫々の非動作面の記憶部31の記憶容量を取得する。制御部20は、取得した記憶容量夫々の合計値に基づき、非更新対象の車載ECU3への退避量の合計値を算出し、データ総容量と比較する。
 データ総容量は、記憶部21の空き容量、外部サーバS1及び非更新対象の車載ECU3への退避量の合計値よりも小さい場合(S1061:YES)、車載更新装置2の制御部20は、退避データを外部サーバS1及び非更新対象の車載ECU3に送信し、削除する(S1062)。更新プログラムのデータ総容量が、記憶部21の空き容量、外部サーバS1及び非更新対象の車載ECU3への退避量の合計値よりも小さい場合、外部サーバS1及び非更新対象の車載ECU3へ退避データを退避(送信し、削除)することにより、更新プログラムの全データを記憶するための記憶領域を確保できる。
 データ総容量が、記憶部21の空き容量、外部サーバS1及び非更新対象の車載ECU3への退避量の合計値よりも小さくない場合(S1061:NO)、車載更新装置2の制御部20は、更新プログラムを取得し更新対象の車載ECU3に送信する一連の処理を終了(中止)する。更新プログラムのデータ総容量が、記憶部21の空き容量、外部サーバS1及び非更新対象の車載ECU3への退避量の合計値よりも小さくない場合、すなわちデータ総容量が当該合計値よりも大きい場合、退避データの記憶領域を用いても、更新プログラムの全データを記憶するための記憶領域を確保できない。従って、制御部20は、更新プログラムを取得及び当該更新プログラムを更新対象の車載ECU3に送信する一連の処理を中止する。制御部20は、当該一連の処理を中止した旨に関する情報を記憶部21に記憶し、外部サーバS1、表示装置5又は双方に出力するものであってもよい。更新プログラムの取得等に関する一連の処理を中止した旨に関する情報を、車両Cの操作者又は外部サーバS1の管理者に報知することができる。
 車載更新装置2の制御部20は、S107又はS1062の処理の実行後、S104の処理と同様に更新プログラムを取得し、記憶する(S108)。更新プログラムが記憶される記憶部21の領域は、送信した退避データが記憶されていた領域又は、退避データを送信する前の空き領域(S103の処理における空き容量に対応する空き領域)及び送信した退避データが記憶されていた領域となる。すなわち、制御部20は、更新プログラムの少なくとも一部又は全部を、送信した退避データが記憶されていた領域に記憶する。
 車載更新装置2の制御部20は、S105の処理と同様に更新プログラムを更新対象の車載ECU3に送信する(S109)。
 車載更新装置2の制御部20は、更新プログラムを削除する(S110)。車載更新装置2の制御部20は、送信した退避データを取得する(S111)。制御部20は、更新プログラムを削除することにより確保した記憶部21の空き領域に、外部サーバS1又は、外部サーバS1及び非更新対象の車載ECU3に送信(退避)した退避データを記憶することができる。
 車載更新装置2の制御部20は、S105又はS111の処理を行った後、本フローチャートの処理を終了する。又は、制御部20は、S105又はS111の処理を行った後、再度S101の処理を実行すべくループ処理を行うものであってもよい。
 車載更新装置2の制御部20は、本フローチャートの処理における判定(S103、S106、S1061)に関する判定結果を記憶部21に記憶し、表示装置5又は外部サーバS1に出力し、これら情報を車両Cの操作者又は外部サーバS1の管理者に報知するものであってもよい。
 本実施形態において、車載更新装置2の制御部20は、一連の各処理を行うものとして記載したが、これに限定されない。車載更新装置2の制御部20は、例えば車載ECU3又は外部サーバS1等の車載更新装置2以外の装置との間でプロセス間通信又はリダイレクト処理を行い、これら装置と協働して当該各処理を行うものであってもよい。又は、車載更新装置2の制御部20は、自装置に含まれるFPGA又はASIC等の回路により構成されるハードウェア処理部と協働して当該各処理を行うものであってもよい。
 車載更新装置2は、外部サーバS1から更新プログラムを取得する際、記憶部21の空き領域の容量が、更新プログラムのデータ総容量よりも小さい場合であっても、記憶部21に記憶されている退避データを外部サーバS1又は非更新対象の車載ECU3に送信して退避することにより、更新プログラムを記憶することができる。従って、車載更新装置2に含まれる記憶部21の記憶容量が増大することを抑制し、記憶部21を構成するための部品コストを低減することができる。
 車載更新装置2は、退避データを外部サーバS1又は非更新対象の車載ECU3に送信して退避する際、退避データの重要度に応じて、送信先を決定する。外部サーバS1に送信する退避データの重要度は、非更新対象の車載ECU3に送信する退避データの重要度よりも低いため、重要度が比較的に高い退避データは、自車両C内となる非更新対象の車載ECU3に送信されるものとなり、確実な保存を図ることができる。
 車載更新装置2の記憶部21の空き容量を確保するにあたり、まずは優先度が比較的に低い退避データを外部サーバS1に送信するため、重要度が比較的に高い退避データを不必要に退避することを抑制することができる。
 車載更新装置2は、退避データの送信先として複数の非更新対象の車載ECU3と特定し、当該複数の非更新対象の車載ECU3夫々は、異なる車内通信部23に接続され、異なるセグメントに接続される。従って、車載更新装置2が、これら複数の非更新対象の車載ECU3夫々に同時に退避データを送信する、すなわちこれら車載ECU3夫々へ送信処理を並行して行う場合であっても、特定のセグメントのトラフィックが増加することを抑制し、当該送信処理を短時間で行うことができる。異なる車内通信部23に接続された車載ECU3夫々へ送信処理を並行して行うことにより、これら通信部及びセグメントにて決定される個々の帯域幅(送信速度)の合計値を、車載更新装置2から車載ECU3夫々へ送信する際の実質的な帯域幅として使用することができる。
(実施形態2)
 図6は、実施形態2に係る車載更新装置2の制御部20の処理を例示するフローチャートである。実施形態2に係る車載更新装置2の制御部20は、外部サーバS1から更新プログラムの取得中に退避データを外部サーバS1に送信し、現時点における記憶部21の空き容量が所定値以下となった場合、外部サーバS1に送信する退避データ以外の退避データを非更新対象の車載制御装置に送信する点で実施形態1と異なる。
 実施形態2の車載更新装置2の制御部20は、実施形態1の車載更新装置2の制御部20と同様に車両Cが起動状態(IGスイッチがオン)又は、停止状態(IGスイッチがオフ)であっても車載更新装置2の蓄電装置(図示せず)の充電量が所定値以上である場合、車外通信装置1を介して定常的又は定期的にプログラム提供装置と通信し、以下の処理を行う。
 車載更新装置2の制御部20は、実施形態1の処理(S101、S102、S103)と同様に、S201、S202及びS203の処理を行う。
 データ総容量が記憶部21の空き容量よりも小さい場合(S203:YES)、車載更新装置2の制御部20は、実施形態1の処理(S104,S105)と同様に、車載更新装置2の制御部20は、更新プログラムを取得及び記憶し(S204)、更新プログラムを更新対象の車載ECU3に送信する(S205)。
 データ総容量が記憶部21の空き容量よりも小さくない場合(S203:NO)、車載更新装置2の制御部20は、更新プログラムを取得し、記憶する(S206)。制御部20は、実施形態1の処理(S108)と同様に、S206の処理を行う。更に、車載更新装置2の制御部20は、退避データをサーバに送信し、削除する(S207)。制御部20は、実施形態1の処理(S107)と同様に、S207の処理を行う。更に、車載更新装置2の制御部20は、更新プログラムの取得中における現時点での記憶部21の空き容量は、所定値以下か否かの判定を行う(S208)。車載更新装置2の制御部20は、データ総容量が記憶部21の空き容量よりも小さくない場合、すなわちデータ総容量が記憶部21の空き容量よりも大きい場合、S206、S207及びS208の処理を並行して行う。
 制御部20は、これらS206、S207及びS208の処理を並行して行うにあたり、例えば、メインプロセスからサブプロセスを2つ発生させ、これら3つのプロセスにおいてプロセス間通信を行うことにより、処理の同期を図るものであってもよい。制御部20が複数のCPU又はコアにより構成されるマルチCPU又はマルチコアである場合、制御部20は、これら3つを別個のCPU又はコアで実行させるものであってもよい。
 外部サーバS1からの更新プログラムの取得、すなわち外部サーバS1からの更新プログラムの送信(転送、ダウンロード)は、当該更新プログラムのファイルが所定のサイズに分割されたブロック単位で行われる。従って、更新プログラムの取得の処理が開始された後、時刻の経過に伴って、取得したブロックの数は増加し、これらブロック夫々のデータサイズの合計値、すなわち取得途中の更新プログラムのデータ量は増加し、記憶部21の空き領域が減少する。
 外部サーバS1に送信する退避データは、個々のログデータを記憶する際に生成された複数のファイルから構成されている。車載更新装置2の制御部20は、退避データを構成する複数のファイル夫々を、順次に外部サーバS1に送信し、送信が完了したファイルを順次に削除する。従って、退避データの外部サーバS1への送信が開始された後、時刻の経過に伴って、送信が完了したファイルを順次に削除することにより、記憶部21の空き領域が増加する。
 車載更新装置2の制御部20は、更新プログラムの取得及び退避データの送信を並行処理することにより、更新プログラムの取得による記憶部21の空き領域が減少しても、送信が完了した退避データのファイルを削除することによって、更新プログラムを記憶するための記憶領域を確保することができる。しかしながら、外部サーバS1における使用可能な記憶領域の容量に制限があり、又は外部サーバS1に送信できる重要度が比較的に低い退避データの総容量が、更新プログラムの総容量よりも小さい場合など、外部サーバS1への退避だけでは、更新プログラムを記憶するための記憶領域を確保することができない場合がある。そこで、車載更新装置2の制御部20は、自装置の記憶部21における現時点の空き容量を確認する処理を、更新プログラムの取得及び退避データの送信の処理に並行して継続的に実行する。すなわち、制御部20は、更新プログラムの取得及び退避データの送信の処理の実行中において、記憶部21の空き容量を監視する処理を行う。
 車載更新装置2の制御部20は、記憶部21の空き容量を継続的に監視し、現時点の記憶部21の空き容量が所定値以下でない場合(S208:NO)、再度S208の処理を実行することにより、記憶部21の空き容量を監視及び所定値以下となったかの判定する処理を継続する。
 車載更新装置2の制御部20は、記憶部21の空き容量を継続的に監視し、現時点の記憶部21の空き容量が所定値以下となった場合(S208:YES)、制御部20は、実施形態1の処理(S1062)と同様に退避データを非更新対象の車載ECU3に送信し、送信が完了した退避データを削除する(S209)。所定値とは、例えば車載更新装置2の記憶部21の記憶容量に対する割合で決定され、当該記憶容量の10%として決定することができ、当該所定値は、車載更新装置2の記憶部21に記憶されている。又は、制御部20は、当該所定値を例えば100Mbyteとして、記憶部21に記憶してもよい。
 車載更新装置2の制御部20は、S206、S207及びS209の処理の実行後、実施形態1の処理(S109,S110、S111)と同様に、S210、S211及びS212の処理を行う。S208の処理において、現時点の記憶部21の空き容量が所定値以下でない状態(S208:NO)が継続した場合、制御部20は、S208の処理(記憶部21の空き容量を監視及び判定)を継続(ループ処理)するものとなる。これに対し、制御部20は、更新プログラムの全データ(全ブロック)を取得して記憶部21に記憶した後、S208の処理を中断(S208の処理を行うサブプロセスを終了)させるものであってもよい。
 車載更新装置2の制御部20は、実施形態1と同様に、S205又はS212の処理を行った後、本フローチャートの処理を終了する。又は、制御部20は、S205又はS212の処理を行った後、再度S201の処理を実行すべくループ処理を行うものであってもよい。
 車載更新装置2の制御部20は、本フローチャートの処理における判定(S203、S208)に関する判定結果を記憶部21に記憶し、表示装置5又は外部サーバS1に出力し、これら情報を車両Cの操作者又は外部サーバS1の管理者に報知するものであってもよい。
 車載更新装置2は、外部サーバS1から更新プログラムの取得中に退避データを外部サーバS1に送信、すなわち更新プログラムの取得する処理及び退避データを外部サーバS1に送信する処理を並行(並行処理)して行う。従って、更新プログラムの取得のための準備作業を不要とし、更新対象の車載ECU3の更新の一連の処理の所要時間を短縮することができる。
 車載更新装置2は、更に記憶部21の空き容量を監視する処理も、更新プログラムの取得する処理及び退避データを外部サーバS1に送信する処理に並行して行い、かつ当該空き容量に基づき非更新対象の車載ECU3に退避データへの送信の要否を判定する。そして、非更新対象の車載ECU3に退避データへの送信が要と判定した場合、車載更新装置2は、更新プログラムの取得する処理、退避データを外部サーバS1に送信する処理、及び退避データを非更新対象の車載ECU3に送信する処理を並行して行う。従って、更新プログラムを取得するにあたり、当該更新プログラムを記憶するための領域を確保するための時間を短縮することができる。
 今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
 C 車両
 S 車載更新システム
 S1 外部サーバ
 S11 記憶部
 1 車外通信装置
 11 車外通信部
 12 入出力I/F
 13 アンテナ
 2 車載更新装置
 20 制御部
 21 記憶部
 22 記録媒体
 23 車内通信部
 24 入出力I/F
 3 車載ECU(車載制御装置)
 30 制御部
 31 記憶部
 311 第1記憶領域(第1面)
 312 第2記憶領域(第2面)
 32 車内通信部
 4 車内LAN
 5 表示装置
 

Claims (9)

  1.  車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載制御装置のプログラムを更新するための処理を行う車載更新装置であって、記憶部と制御部とを備え、
     前記記憶部は、前記更新プログラムが記憶されるものであり、
     前記制御部は、更新対象の車載制御装置への前記更新プログラムの送信を制御するものであり、
     前記制御部は、前記外部サーバから前記更新プログラムを取得する場合、前記記憶部に記憶されている退避データのデータ種別に基づき、前記退避データを前記外部サーバ又は、前記更新対象の車載制御装置以外の非更新対象の車載制御装置に送信し、
     送信した前記退避データが記憶されていた前記記憶部の領域に前記外部サーバから取得した前記更新プログラムの少なくとも一部を記憶する
     車載更新装置。
  2.  前記外部サーバに送信する退避データは、前記非更新対象の車載制御装置に送信する退避データよりも、自装置又は前記車両における重要度が低い
     請求項1に記載の車載更新装置。
  3.  前記記憶部には、前記退避データのデータ種別夫々と重要度夫々とが関連付けて記憶されている
     請求項2に記載の車載更新装置。
  4.  前記制御部は、
     前記更新プログラムを取得する前に前記更新プログラムのデータ総容量を前記外部サーバから取得し、
     前記記憶部の空き容量及び前記外部サーバに送信する退避データのデータ総容量の合計値が、前記更新プログラムのデータ総容量よりも小さい場合、前記外部サーバに送信する退避データ以外の退避データを前記非更新対象の車載制御装置に送信する
     請求項1から請求項3のいずれか1項に記載の車載更新装置。
  5.  前記制御部は、
     前記更新プログラムを取得する前に前記更新プログラムのデータ総容量を前記外部サーバから取得し、
     前記記憶部の空き容量、前記外部サーバに送信する退避データのデータ総容量及び前記非更新対象の車載制御装置に送信する退避データの合計値が、前記更新プログラムのデータ総容量よりも大きい場合、前記退避データのデータ種別に基づき、前記退避データを前記外部サーバ及び前記非更新対象の車載制御装置に送信する
     請求項1から請求項4のいずれか1項に記載の車載更新装置。
  6.  前記制御部は、
     前記外部サーバから前記更新プログラムの取得中に、前記退避データを前記外部サーバに送信し、
     前記更新プログラムの取得中における前記記憶部の空き容量が、所定値以下となった場合、前記外部サーバに送信する退避データ以外の退避データを前記非更新対象の車載制御装置に送信する
     請求項1から請求項3のいずれか1項に記載の車載更新装置。
  7.  前記車両には、複数の前記車載制御装置が搭載されており、
     前記複数の車載制御装置夫々と通信するための車内通信部を複数個備え、
     前記制御部は、異なる前記車内通信部夫々に接続される前記非更新対象の車載制御装置夫々へ、前記退避データの送信を並行して行う
     請求項1から請求項6のいずれか1項に記載の車載更新装置。
  8.  コンピュータに、
     記憶部に記憶されている退避データのデータ種別に基づき、前記退避データを外部サーバ又は、車両に搭載される更新対象の車載制御装置以外の非更新対象の車載制御装置に送信し、
     送信した前記退避データが記憶されていた前記記憶部の領域に、前記外部サーバから取得した更新プログラムを記憶し、
     記憶した前記更新プログラムを前記更新対象の車載制御装置へ送信する
     処理を実行させるための更新処理プログラム。
  9.  記憶部に記憶されている退避データのデータ種別に基づき、前記退避データを外部サーバ又は、車両に搭載される更新対象の車載制御装置以外の非更新対象の車載制御装置に送信し、
     送信した前記退避データが記憶されていた前記記憶部の領域に、前記外部サーバから取得した更新プログラムを記憶し、
     記憶した前記更新プログラムを前記更新対象の車載制御装置へ送信する
     プログラムの更新方法。
     
PCT/JP2020/011929 2019-03-18 2020-03-18 車載更新装置、更新処理プログラム及び、プログラムの更新方法 WO2020189710A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202080020854.XA CN113613953A (zh) 2019-03-18 2020-03-18 车载更新装置、更新处理程序、及程序的更新方法
US17/439,156 US20220156057A1 (en) 2019-03-18 2020-03-18 In-vehicle update device, update processing program, and program update method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-050057 2019-03-18
JP2019050057A JP6780724B2 (ja) 2019-03-18 2019-03-18 車載更新装置、更新処理プログラム及び、プログラムの更新方法

Publications (1)

Publication Number Publication Date
WO2020189710A1 true WO2020189710A1 (ja) 2020-09-24

Family

ID=72520218

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/011929 WO2020189710A1 (ja) 2019-03-18 2020-03-18 車載更新装置、更新処理プログラム及び、プログラムの更新方法

Country Status (4)

Country Link
US (1) US20220156057A1 (ja)
JP (1) JP6780724B2 (ja)
CN (1) CN113613953A (ja)
WO (1) WO2020189710A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114268636A (zh) * 2021-11-10 2022-04-01 华人运通(上海)云计算科技有限公司 一种汽车的tbox数据更新方法、装置、设备和介质
CN114844874A (zh) * 2021-02-02 2022-08-02 丰田自动车株式会社 Ota管理器、更新控制方法、非暂时性存储介质及车辆
CN115242633A (zh) * 2022-06-23 2022-10-25 惠州华阳通用电子有限公司 一种基于usb以太网的车载设备升级方法及装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7063854B2 (ja) * 2019-07-03 2022-05-09 本田技研工業株式会社 ソフトウェア更新装置、サーバ装置、ソフトウェア更新方法、およびプログラム
JP7253470B2 (ja) * 2019-07-31 2023-04-06 株式会社デンソーテン 情報処理装置
JP7314867B2 (ja) * 2020-06-18 2023-07-26 トヨタ自動車株式会社 マスタ、ネットワークシステム、方法、プログラム、センタ、および車両
JP7327325B2 (ja) * 2020-08-31 2023-08-16 トヨタ自動車株式会社 車載機器、情報生成方法、情報生成プログラム、および、車両
JP7420018B2 (ja) * 2020-08-31 2024-01-23 トヨタ自動車株式会社 ソフトウェア更新装置、方法、プログラム、および、車両
US11803310B2 (en) * 2021-04-28 2023-10-31 Microsoft Technology Licensing, Llc Tagging a last known good upgrade event for automatic rollback based on detected regression
CN113419775B (zh) * 2021-05-31 2022-11-04 济南浪潮数据技术有限公司 一种固件配置方法、系统、设备以及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001350631A (ja) * 2000-06-08 2001-12-21 Sony Corp 情報処理装置、サーバ装置、情報通信システム
JP2005332301A (ja) * 2004-05-21 2005-12-02 Fujitsu Ltd プログラム更新処理方法、プログラム更新処理プログラムおよび情報処理端末
JP2014029619A (ja) * 2012-07-31 2014-02-13 Auto Network Gijutsu Kenkyusho:Kk 制御システム及びプログラム更新方法
JP2015103163A (ja) * 2013-11-27 2015-06-04 株式会社オートネットワーク技術研究所 プログラム更新システム及びプログラム更新方法
JP2015219837A (ja) * 2014-05-20 2015-12-07 シャープ株式会社 電子機器、家電機器、ソフトウェア更新システム、ソフトウェア更新方法、及び、プログラム
JP2017059211A (ja) * 2015-09-14 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160294605A1 (en) * 2014-07-07 2016-10-06 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
CN105472102A (zh) * 2014-08-21 2016-04-06 西安慧泽知识产权运营管理有限公司 一种移动通信终端的消息存储方法
JP6323480B2 (ja) * 2016-03-02 2018-05-16 住友電気工業株式会社 プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP6361671B2 (ja) * 2016-03-02 2018-07-25 住友電気工業株式会社 プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム
US11568073B2 (en) * 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
JP7047444B2 (ja) * 2018-02-16 2022-04-05 トヨタ自動車株式会社 車両制御装置、電子制御ユニット、制御方法、制御プログラム、車両、otaマスタ、システム及びセンタ

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001350631A (ja) * 2000-06-08 2001-12-21 Sony Corp 情報処理装置、サーバ装置、情報通信システム
JP2005332301A (ja) * 2004-05-21 2005-12-02 Fujitsu Ltd プログラム更新処理方法、プログラム更新処理プログラムおよび情報処理端末
JP2014029619A (ja) * 2012-07-31 2014-02-13 Auto Network Gijutsu Kenkyusho:Kk 制御システム及びプログラム更新方法
JP2015103163A (ja) * 2013-11-27 2015-06-04 株式会社オートネットワーク技術研究所 プログラム更新システム及びプログラム更新方法
JP2015219837A (ja) * 2014-05-20 2015-12-07 シャープ株式会社 電子機器、家電機器、ソフトウェア更新システム、ソフトウェア更新方法、及び、プログラム
JP2017059211A (ja) * 2015-09-14 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114844874A (zh) * 2021-02-02 2022-08-02 丰田自动车株式会社 Ota管理器、更新控制方法、非暂时性存储介质及车辆
CN114268636A (zh) * 2021-11-10 2022-04-01 华人运通(上海)云计算科技有限公司 一种汽车的tbox数据更新方法、装置、设备和介质
CN114268636B (zh) * 2021-11-10 2024-04-12 华人运通(上海)云计算科技有限公司 一种汽车的tbox数据更新方法、装置、设备和介质
CN115242633A (zh) * 2022-06-23 2022-10-25 惠州华阳通用电子有限公司 一种基于usb以太网的车载设备升级方法及装置
CN115242633B (zh) * 2022-06-23 2024-04-09 惠州华阳通用电子有限公司 一种基于usb以太网的车载设备升级方法及装置

Also Published As

Publication number Publication date
CN113613953A (zh) 2021-11-05
JP6780724B2 (ja) 2020-11-04
US20220156057A1 (en) 2022-05-19
JP2020152154A (ja) 2020-09-24

Similar Documents

Publication Publication Date Title
WO2020189710A1 (ja) 車載更新装置、更新処理プログラム及び、プログラムの更新方法
WO2020080273A1 (ja) 車載更新装置、更新処理プログラム及び、プログラムの更新方法
EP3528118B1 (en) Software update device, software update method, and software update system
US11507365B2 (en) On-board update device, update processing program, program update method, and on-board update system
WO2018025685A1 (ja) 車載更新装置、車載更新システム及び通信装置の更新方法
JP7160111B2 (ja) 監視装置、監視プログラム及び監視方法
US11061659B2 (en) Control apparatus, transfer method, and computer program
WO2019116896A1 (ja) 車載更新装置、プログラム及び、プログラム又はデータの更新方法
JP7192415B2 (ja) プログラム更新システム及び更新処理プログラム
WO2020179592A1 (ja) 車載更新装置、更新処理プログラム及び、プログラムの更新方法
JP2021015618A (ja) 車載更新装置、更新処理プログラム及び、プログラムの更新方法
WO2020183897A1 (ja) 代替装置、代替制御プログラム及び代替方法
US11126422B2 (en) Program update system, control system, mobile body, program update method, recording medium
US20040122537A1 (en) Rewrite control apparatus for onboard program
JP4487007B2 (ja) 車載プログラムの書き換え制御システム
JP7184855B2 (ja) ソフトウェア更新装置、ソフトウェア更新方法
JP7310570B2 (ja) 車載更新装置、プログラム及び、プログラムの更新方法
JP4026495B2 (ja) サーバの切り換え制御装置
WO2023063068A1 (ja) 車載装置、プログラム及び、プログラムの更新方法
WO2023106072A1 (ja) 車載装置、プログラム、プログラムの更新方法、及び車載更新システム
WO2023136127A1 (ja) 中継装置、プログラム及び、プログラムの更新方法
WO2023195460A1 (ja) 車載装置、コンピュータプログラム及びプログラム更新方法
WO2023171307A1 (ja) 車載装置、プログラム、及びプログラムの更新方法
WO2019221118A1 (ja) 電子制御装置及びセッション確立プログラム

Legal Events

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

Ref document number: 20774464

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20774464

Country of ref document: EP

Kind code of ref document: A1