(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024157801
(43)【公開日】2024-11-08
(54)【発明の名称】ソフトウェア更新システム、特定データの退避方法及び特定データの退避プログラム
(51)【国際特許分類】
G06F 8/65 20180101AFI20241031BHJP
【FI】
G06F8/65
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023072386
(22)【出願日】2023-04-26
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
2.ANDROID
(71)【出願人】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】110000567
【氏名又は名称】弁理士法人サトー
(72)【発明者】
【氏名】西本 智史
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AA14
5B376AA15
5B376AA26
5B376AA32
5B376AA36
5B376CA52
5B376CA61
5B376GA08
(57)【要約】
【課題】更新対象の電子制御装置のソフトウェアを更新する際に、車両側システムにおいて特定データを適切に保管すると共にソフトウェアの更新前後で特定データの連続性を適切に担保する。
【解決手段】ソフトウェア更新システム1は、ソフトウェアの更新時に退避を必要とする退避対象に関する退避対象情報を更新ソフトウェアの更新内容に基づいて算出する退避対象情報算出部10aと、更新対象の電子制御装置に保持されている特定データがソフトウェアの更新前後で継続使用可能であるか否かを判定する継続使用可否判定部12aと、特定データが継続使用可能でないと判定された場合に、特定データを退避対象として特定する退避対象特定部12cと、退避対象として特定された特定データを更新対象の電子制御装置から車両側システムに属する退避先へ退避させるデータ退避部12dと、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
更新ソフトウェアを更新対象の電子制御装置へ配信する配信装置(3,9,23)と、前記配信装置から受信した前記更新ソフトウェアを更新対象の電子制御装置へ送信して前記更新対象の電子制御装置のソフトウェアを更新する車載更新装置(5,24)と、を備え、前記車載更新装置と前記更新対象の電子制御装置とを含んで車両側システムが構成されるソフトウェア更新システム(1,21)であって、
ソフトウェアの更新時に退避を必要とする退避対象に関する退避対象情報を更新ソフトウェアの更新内容に基づいて算出する退避対象情報算出部(10a,26a)と、
前記更新対象の電子制御装置に保持されている特定データがソフトウェアの更新前後で継続使用可能であるか否かを判定する継続使用可否判定部(12a,26b)と、
前記特定データが継続使用可能でないと判定された場合に、前記特定データを前記退避対象として特定する退避対象特定部(12c,26d)と、
前記退避対象として特定された前記特定データを前記更新対象の電子制御装置から前記車両側システムに属する退避先へ退避させるデータ退避部(12d,26e)と、を備えるソフトウェア更新システム。
【請求項2】
前記特定データが継続使用可能であると判定された場合に、前記特定データの配置アドレスがソフトウェアの更新前後で変更されているか否かを判定する配置アドレス変更判定部(12b,26c)を備え、
前記退避対象特定部は、前記特定データの配置アドレスがソフトウェアの更新前後で変更されていると判定された場合も、前記特定データを前記退避対象として特定する請求項1に記載したソフトウェア更新システム。
【請求項3】
前記退避先へ退避された前記特定データを、前記特定データがソフトウェアの更新前後で継続使用可能であり、且つ前記特定データの配置アドレスがソフトウェアの更新前後で変更されている場合に、前記更新対象の電子制御装置へ復帰させるデータ復帰部(12e,26f)を備える請求項2に記載したソフトウェア更新システム。
【請求項4】
前記データ復帰部は、前記退避先へ退避された前記特定データを、ソフトウェアの更新終了後に前記更新対象の電子制御装置へ復帰させる請求項3に記載したソフトウェア更新システム。
【請求項5】
前記データ復帰部は、前記退避先へ退避された前記特定データを、ソフトウェアの更新中に前記更新対象の電子制御装置へ復帰させる請求項3に記載したソフトウェア更新システム。
【請求項6】
前記データ退避部は、前記特定データの配置アドレスがソフトウェアの更新前後で変更されていないと判定された場合に、前記特定データを前記更新対象の電子制御装置から退避させない請求項2に記載したソフトウェア更新システム。
【請求項7】
前記データ退避部は、前記特定データの退避先として前記車載更新装置を設定し、前記特定データを前記更新対象の電子制御装置から前記車載更新装置へ退避させる請求項1に記載したソフトウェア更新システム。
【請求項8】
前記継続使用可否判定部は、前記更新対象の電子制御装置に保持されている特定データがソフトウェアの更新前後で継続使用可能であるか否かを、配置アドレスに基づいて判定する請求項1に記載したソフトウェア更新システム。
【請求項9】
前記継続使用可否判定部は、前記更新対象の電子制御装置に保持されている特定データがソフトウェアの更新前後で継続使用可能であるか否かを、配置アドレス又はファイル名のうち少なくとも何れかに基づいて判定する請求項1に記載したソフトウェア更新システム。
【請求項10】
前記退避対象情報算出部は、前記配信装置に設けられている請求項1から9の何れか一項に記載したソフトウェア更新システム。
【請求項11】
前記退避対象情報算出部は、前記車載更新装置に設けられている請求項1から9の何れか一項に記載したソフトウェア更新システム。
【請求項12】
更新ソフトウェアを更新対象の電子制御装置へ配信する配信装置(3,9,23)と、前記配信装置から受信した前記更新ソフトウェアを更新対象の電子制御装置へ送信して前記更新対象の電子制御装置のソフトウェアを更新する車載更新装置(5,24)と、を備え、前記車載更新装置と前記更新対象の電子制御装置とを含んで車両側システムが構成されるソフトウェア更新システム(1,21)において、
ソフトウェアの更新時に退避を必要とする退避対象に関する退避対象情報を更新ソフトウェアの更新内容に基づいて算出する退避対象情報算出手順と、
前記更新対象の電子制御装置に保持されている特定データがソフトウェアの更新前後で継続使用可能であるか否かを判定する継続使用可否判定手順と、
前記特定データが継続使用可能でないと判定した場合に、前記特定データを前記退避対象として特定する退避対象特定手順と、
前記退避対象として特定した前記特定データを前記更新対象の電子制御装置から前記車両側システムに属する退避先へ退避させるデータ退避手順と、を行う特定データの退避方法。
【請求項13】
更新ソフトウェアを更新対象の電子制御装置へ配信する配信装置(3,9,23)と、前記配信装置から受信した前記更新ソフトウェアを更新対象の電子制御装置へ送信して前記更新対象の電子制御装置のソフトウェアを更新する車載更新装置(5,24)と、を備え、前記車載更新装置と前記更新対象の電子制御装置とを含んで車両側システムが構成されるソフトウェア更新システム(1,21)に、
ソフトウェアの更新時に退避を必要とする退避対象に関する退避対象情報を更新ソフトウェアの更新内容に基づいて算出する退避対象情報算出手順と、
前記更新対象の電子制御装置に保持されている特定データがソフトウェアの更新前後で継続使用可能であるか否かを判定する継続使用可否判定手順と、
前記特定データが継続使用可能でないと判定した場合に、前記特定データを前記退避対象として特定する退避対象特定手順と、
前記退避対象として特定した前記特定データを前記更新対象の電子制御装置から前記車両側システムに属する退避先へ退避させるデータ退避手順と、を実行させる特定データの退避プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェア更新システム、特定データの退避方法及び特定データの退避プログラムに関する。
【背景技術】
【0002】
車載更新装置において、例えばサーバから受信した更新ソフトウェアを更新対象の電子制御装置(以下、更新対象ECU(Electronic Control Unit)と称する)へ送信して更新対象ECUのソフトウェアを更新するソフトウェア更新システムが供されている。更新対象ECUのソフトウェアを更新する際に、更新対象ECUに保持されているデータを退避させる技術がある。例えば特許文献1には、更新対象ECUのソフトウェアを更新する際に、更新対象ECUに保持されているVIN(Vehicle Identification Number)等の車両認識情報を退避させ、車両認識情報の消失を回避する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
更新対象ECUのソフトウェアを更新する際には、一般的に不揮発メモリに保持されているデータはソフトウェアの更新に伴い初期化される。しかしながら、データの中には車両ライフサイクル全体の走行記録等、車両そのものと対応付けられるデータが存在する。このような車両そのものに対応付けられるデータはその意義を考慮するとソフトウェアの更新に関わらず一貫した情報として保持することが望ましい。
【0005】
例えばCARB(California Air Resources Board、カリフォルニア大気資源局)の規定(CCR1968,1968-2)ではデータの保持に関する記載があり、CARBの指定するIUMPR(In-Use Monitor Performance Ratio:使用中モニタパフォーマンス比)の関連データがソフトウェアの更新により消去される場合には、そのデータをCARB当局に提出することが求められている。
【0006】
本発明は、上記した事情に鑑みてなされたものであり、その目的は、更新対象の電子制御装置のソフトウェアを更新する際に、車両側システムにおいて特定データを適切に保管すると共にソフトウェアの更新前後で特定データの連続性を適切に担保することができるソフトウェア更新システム、特定データの退避方法及び特定データの退避プログラムを提供することにある。
【課題を解決するための手段】
【0007】
請求項1に記載した発明によれば、ソフトウェア更新システム(1,21)は、更新ソフトウェアを更新対象の電子制御装置へ配信する配信装置(3,9,23)と、前記配信装置から受信した前記更新ソフトウェアを更新対象の電子制御装置へ送信して前記更新対象の電子制御装置のソフトウェアを更新する車載更新装置(5,24)と、を備える。前記車載更新装置と前記更新対象の電子制御装置とを含んで車両側システムが構成される。
【0008】
退避対象情報算出部(10a,26a)は、ソフトウェアの更新時に退避を必要とする退避対象に関する退避対象情報を更新ソフトウェアの更新内容に基づいて算出する。継続使用可否判定部(12a,26b)は、前記更新対象の電子制御装置に保持されている特定データがソフトウェアの更新前後で継続使用可能であるか否かを判定する。退避対象特定部(12c,26d)は、前記特定データが継続使用可能でないと判定された場合に、前記特定データを前記退避対象として特定する。データ退避部(12d,26e)は、前記退避対象として特定された前記特定データを前記更新対象の電子制御装置から前記車両側システムに属する退避先へ退避させる。
【0009】
ソフトウェアの更新時に退避を必要とする退避対象に関する退避対象情報を更新ソフトウェアの更新内容に基づいて算出する。更新対象の電子制御装置に保持されている特定データがソフトウェアの更新前後で継続使用可能でないと判定すると、特定データを退避対象として特定し、その退避対象として特定した特定データを更新対象の電子制御装置から車両側システムに属する退避先へ退避させるようにした。
【0010】
特定データを退避先へ一時的に退避させることで、車両側システムにおいてソフトウェアの更新前後で特定データを継続使用することができる。これにより、更新対象の電子制御装置のソフトウェアを更新する際に、車両側システムにおいて特定データを適切に保管すると共にソフトウェアの更新前後で特定データの連続性を適切に担保することができる。
【図面の簡単な説明】
【0011】
【発明を実施するための形態】
【0012】
以下、ソフトウェア更新システムの幾つかの実施形態について図面を参照して説明する。以下に示す各実施形態において、先行する実施形態で説明した内容に対応する部分には同一の参照符号を付し、重複する説明を省略することがある。
【0013】
(第1実施形態)
第1実施形態について
図1から
図4を参照して説明する。ソフトウェア更新システム1は、車両に搭載されている車両側システム2と、OTA(Over The Air)センターとして機能するサーバ3(配信装置に相当する)とが通信ネットワーク4を介してデータ通信可能に構成されている。車両側システム2は、OTAマスタとして機能する車載更新装置5と、多数のECU6とが車載ネットワーク7を介してデータ通信可能に構成されている。本実施形態では、4つのECUが車載ネットワーク7と接続されている構成を例示しているが、車載ネットワーク7と接続されるECUの個数は任意である。車載ネットワーク7は、CAN(Controller Area Network)(登録商標)である。車載ネットワーク7は、FLEXRAY(登録商標)、CXPI(Clock Extension Peripheral Interface)(登録商標)、Ethernet(登録商標)等であっても良い。
【0014】
ECU6は、例えば駆動系の制御を行う装置、ADAS(Advanced Driving Assistant System)系の制御を行う装置、マルチメディア系の制御を行う装置等であり、ソフトウェアの改修や機能向上等によりソフトウェアの更新対象である更新対象ECU6となり得る。尚、ソフトウェアとは、コンピュータに動作を行わせるための処理手順を命令する所謂プログラムに加え、プログラムを実行する上で参照されるファイル、データ、ライブラリ等を含む。又、ECU6は、搭載しているオペレーティングシステムにより、AUTOSARの規格であるクラシックプラットフォーム(AUTOSAR Classic Platform)準拠OS、アダプティブプラットフォーム(AUTOSAR Adaptive Platform)準拠OS、Automotive Grade Linux、Android Automotive OS等に区分される。
【0015】
車載更新装置5は、データ通信機として機能するDCM(Data Communication Module)8と接続されている。DCM8は、サーバ3と通信ネットワーク4を介して無線接続することで当該サーバ3から送信された配信パッケージを受信可能となる。DCM8は、サーバ3から配信された配信パッケージを受信すると、その受信した配信パッケージを車載更新装置5へ転送する。車載更新装置5は、DCM8から配信パッケージが転送されると、その転送された配信パッケージから更新ソフトウェアを抽出し、その抽出した更新ソフトウェアを更新対象ECU6へ送信すると共に更新指示を更新対象ECU6へ送信し、ソフトウェアの更新を更新対象ECU6に実施させる。即ち、更新対象ECU6は、車載更新装置5から更新ソフトウェアを受信すると共に更新指示を受信し、更新ソフトウェアを記憶領域へ書き込むことでソフトウェアの更新を実施する。サーバ3から通信ネットワーク4を介して受信された更新ソフトウェアが更新対象ECU6に書き込まれる態様は所謂無線リプロと称される。
【0016】
尚、車載更新装置5は、DCM8から配信パッケージが転送されると、その転送された配信パッケージから更新ソフトウェアを抽出することなく、配信パッケージを更新対象ECU6へ送信しても良い。或いは、DCM8は、サーバ3から配信された配信パッケージを受信すると、その受信した配信パッケージから更新ソフトウェアを抽出し、その抽出した更新ソフトウェアを車載更新装置5へ転送しても良い。この場合、車載更新装置5は、DCM8から更新ソフトウェアが転送されると、その転送された更新ソフトウェアを更新対象ECU6へ送信する。
【0017】
又、車載ネットワーク7にはリプログツール9が着脱可能に接続される。リプログツール9は、車載ネットワーク7と接続されている状態で更新ソフトウェアを更新対象ECU6へ配信すると共に更新指示を更新対象ECU6へ送信し、ソフトウェアの更新を更新対象ECU6に実施させる。即ち、更新対象ECU6は、リプログツール9から更新ソフトウェアを受信すると共に更新指示を受信し、更新ソフトウェアを記憶領域へ書き込むことでソフトウェアの更新を実施する。リプログツール9から通信ネットワーク4を介さずに受信された更新ソフトウェアが更新対象ECU6に書き込まれる態様は所謂有線リプロと称される。本実施形態では、リプログツール9が更新対象ECU6と直接データを送受信する構成を例示しているが、リプログツール9が車載更新装置5を介して更新対象ECU6と接続される構成でも良い。リプログツール9が車載更新装置5を介して更新対象ECU6と接続される場合は、リプログツール9と更新対象ECU6とが同じ車載ネットワーク7を介して接続されていても良いし、車載ネットワーク7を介して接続されておらず、車載更新装置5を介してのみ接続されていても良い
【0018】
サーバ3は、制御部10と、通信モジュール11とを備える。制御部10は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)及びI/O(Input/Output)等を有するマイクロコンピュータを主体として構成されている。制御部10は、非遷移的実体的記憶媒体に格納されている制御プログラムを実行することで当該制御プログラムに対応する処理を実行し、サーバ3の動作全般を制御する。通信モジュール11は、通信ネットワーク7との間でのデータ信号の送受信を制御する。
【0019】
制御部10は、退避対象情報算出部10aを備える。退避対象情報算出部10aは、特定データの退避方法の一部を実現すると共に、特定データの退避プログラムの一部を実行する。退避対象情報算出部10aは、更新対象ECU6のソフトウェアを更新する際に、更新ソフトウェアと、車載更新装置5から受信した構成情報とを参照して更新情報を生成する。構成情報は、各ECU6が保持しているソフトウェアのバージョン情報等を含む。即ち、退避対象情報算出部10aは、更新ソフトウェアのバージョン情報と、構成情報に含まれるバージョン情報とを照合する等してソフトウェアの更新を実行するために必要な更新情報を生成する。特定データは、車両の使用に伴い生成されたり又は更新されたりするエンジン総稼働時間、総走行時間、燃料消費量等のデータであり、車両そのものに対応付けられるデータ、即ち、車両毎に固有なデータである。
【0020】
退避対象情報算出部10aは、更新情報を生成すると、ソフトウェアの更新時に退避を必要とする退避対象に関する退避対象情報を更新ソフトウェアの更新内容に基づいて算出する。退避対象情報は、更新対象ECU6に保持されている特定データがソフトウェアの更新前後で継続使用可能であるか否かに関する情報、特定データの配置アドレスがソフトウェアの更新前後で変更されているか否かに関する情報を含む。退避対象情報算出部10aは、退避対象情報を算出すると、その算出した退避対象情報を含む更新情報を車載更新装置5へ送信する。
【0021】
ここで、退避対象情報を算出する例を説明する。退避対象情報算出部10aは、退避対象情報を算出する場合に、更新ソフトウェアに特定データを含むファイルが含まれているか否かを判定する。退避対象情報算出部10aは、更新ソフトウェアに特定データを含むファイルが含まれていると判定すると、特定データを含むファイル名を出力する。特定データを含むファイル名は、退避対象情報算出部10aと後述する継続使用可否判定部12aとの間で整合がとれていれば、ソフトウェアの更新前に規定されているファイル名でも良いし、ソフトウェアの更新後に規定されるファイル名でも良い。
【0022】
又は、退避対象情報算出部10aは、退避対象情報を算出する場合に、更新ソフトウェアを示す配置アドレスに特定データを含む配置アドレスが含まれているか否かを判定する。退避対象情報算出部10aは、更新ソフトウェアを示す配置アドレスに特定データを含む配置アドレスが含まれていると判定すると、特定データを含む配置アドレスを出力する。特定データを含む配置アドレスは、退避対象情報算出部10aと後述する継続使用可否判定部12aとの間で整合がとれていれば、ソフトウェアの更新前に規定されている配置アドレスでも良いし、ソフトウェアの更新後に規定される配置アドレスでも良い。
【0023】
車載更新装置5は、制御部12と、CANモジュール13とを備える。制御部12は、CPU、ROM、RAM及びI/O等を有するマイクロコンピュータを主体として構成されている。制御部12は、非遷移的実体的記憶媒体に格納されている制御プログラムを実行することで当該制御プログラムに対応する処理を実行し、車載更新装置5の動作全般を制御する。CANモジュール13は、車載ネットワーク7との間でのCAN信号の入出力を制御する。
【0024】
制御部12は、継続使用可否判定部12aと、配置アドレス変更判定部12bと、退避対象特定部12cと、データ退避部12dと、データ復帰部12eとを備える。これらの各部12a~12eは、特定データの退避方法の一部を実現すると共に、特定データの退避プログラムの一部を実行する。
【0025】
継続使用可否判定部12aは、車載更新装置5から更新情報を受信すると、その受信した更新情報から退避対象情報を取得し、更新対象ECU6に保持されている特定データがソフトウェアの更新前後で継続使用可能であるか否かを判定する。継続使用可否判定部12aは、更新対象ECU6に対して例えばソフトウェアの更新前で規定されているファイル名と更新後で規定されているファイル名とが一致するか否かを判定し、特定データを継続使用可能であるか否かを判定する。継続使用可否判定部12aは、例えばソフトウェアの更新前後でファイル名が一致する特定データを継続使用可能であると判定し、ソフトウェアの更新前後でファイル名が一致しない特定データを継続使用可能でないと判定する。
【0026】
退避対象特定部12cは、特定データが継続使用可能でないと継続使用可否判定部12aにより判定されると、その継続使用可能でないと判定された特定データを退避対象として特定する。
【0027】
配置アドレス変更判定部12bは、特定データが継続使用可能であると継続使用可否判定部12aにより判定されると、特定データの配置アドレスがソフトウェアの更新前後で変更されているか否かを判定する。配置アドレス変更判定部12bは、更新対象ECU6に対して例えばソフトウェアの更新前で規定されている配置アドレスと更新後で規定されている配置アドレスとが一致するか否かを判定する。
【0028】
退避対象特定部12cは、特定データが継続使用可能であると継続使用可否判定部12aにより判定されたが、特定データの配置アドレスがソフトウェアの更新前後で変更されていると配置アドレス変更判定部12bにより判定されると、その配置アドレスがソフトウェアの更新前後で変更されていると判定された特定データを退避対象として特定する。
【0029】
尚、上記した退避対象情報算出部10a、継続使用可否判定部12a及び配置アドレス変更判定部12bの機能分担は各種の変形があり得る。例えば退避対象情報算出部10aにおいて、特定データがソフトウェアの更新前後で継続使用可能であるか否かを判定しても良い。その場合は、退避対象情報には、継続使用可否を示すフラグや継続使用可能でない場合は退避すべきファイル名や配置アドレスが記載される。又、退避対象情報算出部10aにおいて、特定データの配置アドレスがソフトウェアの更新前後で変更されているか否かを判定しても良い。その場合は、退避対象情報には、配置アドレスの変更有無を示すフラグ、配置アドレスが変更ありの場合に退避すべきファイル名、変更前の配置アドレス、変更後の配置アドレスが記載される。
【0030】
データ退避部12dは、特定データの退避先として車載更新装置5を設定し、退避対象として特定された特定データを更新対象ECU6から車載更新装置5へ退避させる。退避先となる車載更新装置5の記憶部はフラッシュメモリ等の不揮発性メモリにより構成される。尚、退避させる特定データの種類に応じて退避先を変更させても良い。例えばデータ退避部12dは、退避させる特定データが継続使用可能でない特定データであるか、継続使用可能であるが配置アドレスが変更になる特定データであるかを判定する。データ退避部12dは、退避させる特定データが継続使用可能でない特定データであると判定すると、退避させる特定データを不揮発性メモリに保存しても良い。データ退避部12dは、退避させる特定データが継続使用可能であるが配置アドレスが変更される特定データであると判定すると、退避させる特定データをランダムアクセスメモリ等の揮発性メモリに保存しても良い。又、データ退避部12dは、データ復帰部12eにより参照されるようにデータ復帰情報を生成する。
【0031】
データ復帰部12eは、退避先へ退避された特定データを、特定データがソフトウェアの更新前後で継続使用可能であり、且つ特定データの配置アドレスがソフトウェアの更新前後で変更されている場合に、データ復帰情報に基づいて特定データを変更後の配置アドレスに書き込んで更新対象ECU6へ復帰させる。この場合、データ復帰部12eは、更新ソフトウェアを更新対象ECU6へ送信終了後に特定データを更新対象ECU6へ送信することで、ソフトウェアの更新終了後に特定データを更新対象ECU6へ復帰させても良いし、更新ソフトウェアを更新対象ECU6へ送信中に特定データを更新対象ECU6へ送信することで、ソフトウェアの更新中に特定データを更新対象ECU6へ復帰させても良い。
【0032】
次に、上記した構成の作用について
図2から
図4を参照して説明する。
(1-1)サーバ3が行う更新情報生成処理(
図2参照)
サーバ3において、制御部10は、更新情報生成処理を開始し、車載更新装置5から構成情報を受信すると(A1)、更新ソフトウェアと、その受信した構成情報とを参照して更新情報を生成する(A2)。制御部10は、ソフトウェアの更新時に退避を必要とする退避対象に関する退避対象情報を更新ソフトウェアの更新内容に基づいて算出する(A3、退避対象情報算出手順に相当する)。制御部10は、その算出した退避対象情報を含む更新情報を車載更新装置5へ送信し(A4)、更新情報生成処理を終了する。
【0033】
(1-2)車載更新装置5が行うソフトウェア更新処理(
図3参照)
車載更新装置5において、制御部12は、ソフトウェア更新処理を開始し、サーバ3から更新情報を受信すると(B1)、その受信した更新情報から退避対象情報を取得する(B2)。制御部12は、更新対象ECU6に保持されている特定データがソフトウェアの更新前後で継続使用可能であるか否かを判定する(B3、継続使用可否判定手順に相当する)。
【0034】
制御部12は、特定データがソフトウェアの更新前後で継続使用可能でないと判定すると(B3:NO)、特定データを退避対象として特定し(B4、退避対象特定手順に相当する)、その退避対象として特定した特定データを更新対象ECU6から車載更新装置5へ退避させる(B5、データ退避手順に相当する)。制御部12は、更新ソフトウェアを更新対象ECU6へ送信すると共に更新指示を更新対象ECU6へ送信し、ソフトウェアの更新を更新対象ECU6に実施させる(B6)。
【0035】
制御部12は、特定データが継続使用可能であると判定すると(B3:YES)、特定データの配置アドレスがソフトウェアの更新前後で変更されているか否かを判定する(B7)。制御部12は、特定データの配置アドレスがソフトウェアの更新前後で変更されていると判定すると(B7:YES)、この場合も、特定データを退避対象として特定し(B4)、その退避対象として特定した特定データを更新対象ECU6から車載更新装置5へ退避させる(B5)。制御部12は、更新ソフトウェアを更新対象ECU6へ送信すると共に更新指示を更新対象ECU6へ送信し、ソフトウェアの更新を更新対象ECU6に実施させる(B6)。
【0036】
一方、制御部12は、特定データの配置アドレスがソフトウェアの更新前後で変更されていないと判定すると(B7:NO)、特定データを退避対象として特定することなく、更新ソフトウェアを更新対象ECU6へ送信すると共に更新指示を更新対象ECU6へ送信し、ソフトウェアの更新を更新対象ECU6に実施させる(B6)。
【0037】
制御部12は、ソフトウェアの更新を終了すると、特定データがソフトウェアの更新前後で継続使用可能であるか否かを判定する(B8)。制御部12は、特定データがソフトウェアの更新前後で継続使用可能であると判定すると(B8:YES)、特定データの配置アドレスがソフトウェアの更新前後で変更されているか否かを判定する(B9)。制御部12は、特定データの配置アドレスがソフトウェアの更新前後で変更されていると判定すると(B9:YES)、車載更新装置5へ退避させておいた特定データを変更後の配置アドレスに書き込んで更新対象ECU6へ復帰させ(B10)、ソフトウェア更新処理を終了する。
【0038】
上記した処理をサーバ3と車載更新装置5とが連携して行うことで、
図4に示すように、退避対象として特定された特定データを更新対象ECU6から車載更新装置5へ退避させた状態で更新対象ECU6のソフトウェアを更新する。特定データを更新対象ECU6から車載更新装置5へ退避させた後、特定データがソフトウェアの更新前後で継続使用可能であり、且つ特定データの配置アドレスがソフトウェアの更新前後で変更されていれば、退避させておいた特定データを変更後の配置アドレスに書き込んで更新対象ECU6へ復帰させる。又、特定データがソフトウェアの更新前後で継続使用可能でなければ、退避させておいた特定データを更新対象ECU6へ復帰させずに車載更新装置5に保持しておく。
【0039】
以上は、制御部12において、退避させておいた特定データをソフトウェアの更新終了後に更新対象ECU6へ復帰させる構成を例示したが、ソフトウェアの更新中に更新対象ECU6へ復帰させても良い。又、特定データの退避先として車載更新装置5を設定し、特定データを更新対象ECU6から車載更新装置5へ退避させる構成を例示したが、特定データの退避先として車載更新装置5とは別のECU6を設定し、特定データを更新対象ECU6から別のECU6へ退避させても良い。即ち、特定データを更新対象ECU6から例えば記憶領域の空きに余裕がある別のECU6へ退避させても良い。更に、特定データの退避先を一つに限定せず、特定データを複数の退避先へ分散して退避させても良い。
【0040】
退避先に退避された特定データをタイムスタンプと対応付けて保存しても良い。タイムスタンプを付与することで、退避先に退避させた特定データがスタンプを付与した時点で存在しており、且つその時点以降に改ざんされていないことを証明することができる。尚、特定データは、リプログツール9やDCM8を介して車両側システム2から車両外部へと出力させることができる。
【0041】
以上に説明したように第1実施形態によれば、以下に示す作用効果を得ることができる。ソフトウェア更新システム1において、ソフトウェアの更新時に退避を必要とする退避対象に関する退避対象情報を更新ソフトウェアの更新内容に基づいて算出する。更新対象ECU6に保持されている特定データがソフトウェアの更新前後で継続使用可能でないと判定すると、特定データを退避対象として特定し、その退避対象として特定した特定データを更新対象ECU6から車載更新装置5へ退避させるようにした。
【0042】
特定データを更新対象ECU6から車載更新装置5へ一時的に退避させることで、車両側システム2においてソフトウェアの更新前後で特定データを継続使用することができる。これにより、更新対象ECU6のソフトウェアを更新する際に、車両側システム2において特定データを適切に保管すると共にソフトウェアの更新前後で特定データの連続性を適切に担保することができる。
【0043】
更新対象ECU6に保持されている特定データがソフトウェアの更新前後で継続使用可能であると判定したが、特定データの配置アドレスがソフトウェアの更新前後で変更されていると判定すると、特定データを退避対象として特定し、その退避対象として特定した特定データを更新対象ECU6から車載更新装置5へ一時的に退避させるようにした。この場合も、車両側システム2において特定データを適切に保管すると共にソフトウェアの更新前後で特定データの連続性を適切に担保することができる。
【0044】
更新対象ECU6から車載更新装置5へ退避された特定データを、特定データがソフトウェアの更新前後で継続使用可能であり、且つ特定データの配置アドレスがソフトウェアの更新前後で変更されている場合に、更新対象ECU6へ復帰させるようにした。退避された特定データを更新対象ECU6へ復帰させることで、特定データを更新対象ECU6で適切に使用することができる。
【0045】
特定データの退避先として車載更新装置5を設定し、特定データを更新対象ECU6から車載更新装置5へ退避させるようにした。特定データを車載更新装置5に保持させておくことができ、車載更新装置5の処理能力がECU6の処理能力よりも高ければ、特定データを処理能力が高いリソースに保持させておくことができる。
【0046】
退避対象情報をサーバ3が算出するようにした。サーバ3の処理能力が車載更新装置5の処理能力よりも高いことから、退避対象情報を処理能力が高いリソースで算出することができ、ソフトウェア更新システム1のリソースを有効に利用することができる。
【0047】
上記した実施形態では、退避対象情報算出部10aにおいて、更新対象ECU6のソフトウェアを更新する際に、更新ソフトウェアと、車載更新装置5から受信した構成情報とを参照して更新情報を生成する構成を例示したが、車載更新装置5から以前に受信して既に保存している構成情報を用いても良い。車載更新装置5から受信した構成情報を用いる場合は、車載更新装置5が構成情報をサーバ3へ送信した後にサーバ3において更新情報を生成する。既に保存している構成情報を用いる場合は、車載更新装置5が構成情報を既にサーバ3へ送信しているので、車載更新装置5が構成情報をサーバ3へ送信する必要がなくなる。
【0048】
(第2実施形態)
第2実施形態について
図5から
図8を参照して説明する。第1実施形態は、サーバ3が退避対象を算出する構成であるが、第2実施形態は、車載更新装置が退避対象を算出する構成である。
【0049】
ソフトウェア更新システム21は、車両側システム22とサーバ23とが通信ネットワーク4を介してデータ通信可能に構成されている。車両側システム22は、車載更新装置24とECU6とが車載ネットワーク7を介してデータ通信可能に構成されている。
【0050】
サーバ23において、制御部25は、第1実施形態で説明した制御部10と同様であり、サーバ23の動作全般を制御する。車載更新装置24において、制御部26は、第1実施形態で説明した制御部12と同様であり、車載更新装置24の動作全般を制御する。
【0051】
制御部26は、更新対象ECU6のソフトウェアを更新する際に、更新ソフトウェアと、車載更新装置24から受信した構成情報とを参照して更新情報を生成し、その生成した更新情報を車載更新装置24へ送信する。
【0052】
制御部26は、退避対象情報算出部26aと、継続使用可否判定部26bと、配置アドレス変更判定部26cと、退避対象特定部26dと、データ退避部26eと、データ復帰部26fとを備える。これらの各部26a~26fは、特定データの退避方法の一部を実現すると共に、特定データの退避プログラムの一部を実行する。
【0053】
退避対象情報算出部26aは、サーバ23から更新情報を受信すると、ソフトウェアの更新時に退避を必要とする退避対象に関する退避対象情報を更新ソフトウェアの更新内容に基づいて算出する。継続使用可否判定部26b、配置アドレス変更判定部26c、退避対象特定部26d、データ退避部26e、データ復帰部26fは、それぞれ第1実施形態で説明した継続使用可否判定部12a、配置アドレス変更判定部12b、退避対象特定部12c、データ退避部12d、データ復帰部12eと同様の処理を行う。
【0054】
次に、上記した構成の作用について
図6から
図8を参照して説明する。
(2-1)サーバ23が行う更新情報生成処理(
図6参照)
サーバ23において、制御部25は、更新情報生成処理を開始し、車載更新装置5から構成情報を受信すると(A1)、更新ソフトウェアと、その受信した構成情報とを参照して更新情報を生成する(A2)。制御部25は、その生成した更新情報を車載更新装置24へ送信し(A11)、更新情報生成処理を終了する。
【0055】
(2-2)車載更新装置5が行うソフトウェア更新処理(
図7参照)
車載更新装置24において、制御部26は、ソフトウェア更新処理を開始し、サーバ23から更新情報を受信すると(B1)、ソフトウェアの更新時に退避を必要とする退避対象を更新ソフトウェアの更新内容に基づいて算出し(B11、退避対象情報算出手順に相当する)、これ以降は第1実施形態で説明したステップB3以降を行う。
【0056】
上記した処理をサーバ23と車載更新装置24とが連携して行うことで、
図8に示すように、第1実施形態と同様に退避対象として特定された特定データを更新対象ECU6から車載更新装置24へ退避させた状態で更新対象ECU6のソフトウェアを更新する。この場合も、特定データを更新対象ECU6から車載更新装置24へ退避させた後、特定データがソフトウェアの更新前後で継続使用可能であり、且つ特定データの配置アドレスがソフトウェアの更新前後で変更されていれば、退避させておいた特定データを変更後の配置アドレスに書き込んで更新対象ECU6へ復帰させる。又、特定データがソフトウェアの更新前後で継続使用可能でなければ、退避させておいた特定データを更新対象ECU6へ復帰させずに車載更新装置24に保持しておく。
【0057】
以上に説明したように第2実施形態によれば、第1実施形態と同様の作用効果を得ることができ、更新対象ECU6のソフトウェアを更新する際に、車両側システム22において特定データを適切に保管すると共にソフトウェアの更新前後で特定データの連続性を適切に担保することができる。
【0058】
退避対象情報を車載更新装置25が算出するようにした。退避対象情報を算出する処理のサーバ3への集中を回避することができ、退避対象情報を算出する処理を分散させることができる。
【0059】
(その他の実施形態)
本開示は、実施例に準拠して記述されたが、当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、更には、それらに一要素のみ、それ以上、或いはそれ以下を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【0060】
更新ソフトウェアがサーバ3,23から配信される無線リプロについて例示したが、更新ソフトウェアがリプログツール9から配信される有線リプロについて適用することができる。
【0061】
本開示に記載の制御部及びその手法は、コンピュータソフトウェアにより具体化された一つ乃至は複数の機能を実行するようにソフトウェアされたプロセッサ及びメモリを構成することにより提供された専用コンピュータにより実現されても良い。或いは、本開示に記載の制御部及びその手法は、一つ以上の専用ハードウェア論理回路によりプロセッサを構成することにより提供された専用コンピュータにより実現されても良い。若しくは、本開示に記載の制御部及びその手法は、一つ乃至は複数の機能を実行するようにソフトウェアされたプロセッサ及びメモリと一つ以上のハードウェア論理回路により構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより実現されても良い。又、コンピュータソフトウェアは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていても良い。
【0062】
本開示は、特許請求の範囲の記載に加え、以下の発明も含む。
[1]
更新ソフトウェアを更新対象の電子制御装置へ配信する配信装置(3,9,23)と、前記配信装置から受信した前記更新ソフトウェアを更新対象の電子制御装置へ送信して前記更新対象の電子制御装置のソフトウェアを更新する車載更新装置(5,24)と、を備え、前記車載更新装置と前記更新対象の電子制御装置とを含んで車両側システムが構成されるソフトウェア更新システム(1,21)であって、
ソフトウェアの更新時に退避を必要とする退避対象に関する退避対象情報を更新ソフトウェアの更新内容に基づいて算出する退避対象情報算出部(10a,26a)と、
前記更新対象の電子制御装置に保持されている特定データがソフトウェアの更新前後で継続使用可能であるか否かを判定する継続使用可否判定部(12a,26b)と、
前記特定データが継続使用可能でないと判定された場合に、前記特定データを前記退避対象として特定する退避対象特定部(12c,26d)と、
前記退避対象として特定された前記特定データを前記更新対象の電子制御装置から前記車両側システムに属する退避先へ退避させるデータ退避部(12d,26e)と、を備えるソフトウェア更新システム。
【0063】
[2]
前記特定データが継続使用可能であると判定された場合に、前記特定データの配置アドレスがソフトウェアの更新前後で変更されているか否かを判定する配置アドレス変更判定部(12b,26c)を備え、
前記退避対象特定部は、前記特定データの配置アドレスがソフトウェアの更新前後で変更されていると判定された場合も、前記特定データを前記退避対象として特定する[1]に記載したソフトウェア更新システム。
【0064】
[3]
前記退避先へ退避された前記特定データを、前記特定データがソフトウェアの更新前後で継続使用可能であり、且つ前記特定データの配置アドレスがソフトウェアの更新前後で変更されている場合に、前記更新対象の電子制御装置へ復帰させるデータ復帰部(12e,26f)を備える[2]に記載したソフトウェア更新システム。
【0065】
[4]
前記データ復帰部は、前記退避先へ退避された前記特定データを、ソフトウェアの更新終了後に前記更新対象の電子制御装置へ復帰させる[3]に記載したソフトウェア更新システム。
【0066】
[5]
前記データ復帰部は、前記退避先へ退避された前記特定データを、ソフトウェアの更新中に前記更新対象の電子制御装置へ復帰させる[3]に記載したソフトウェア更新システム。
【0067】
[6]
前記データ退避部は、前記特定データの配置アドレスがソフトウェアの更新前後で変更されていないと判定された場合に、前記特定データを前記更新対象の電子制御装置から退避させない[2]から[5]の何れか一項に記載したソフトウェア更新システム。
【0068】
[7]
前記データ退避部は、前記特定データの退避先として前記車載更新装置を設定し、前記特定データを前記更新対象の電子制御装置から前記車載更新装置へ退避させる[1]から[6]の何れか一項に記載したソフトウェア更新システム。
【0069】
[8]
前記継続使用可否判定部は、前記更新対象の電子制御装置に保持されている特定データがソフトウェアの更新前後で継続使用可能であるか否かを、配置アドレスに基づいて判定する[1]から[7]の何れか一項に記載したソフトウェア更新システム。
【0070】
[9]
前記継続使用可否判定部は、前記更新対象の電子制御装置に保持されている特定データがソフトウェアの更新前後で継続使用可能であるか否かを、配置アドレス又はファイル名のうち少なくとも何れかに基づいて判定する[1]から[7]の何れか一項に記載したソフトウェア更新システム。
【0071】
[10]
前記退避対象情報算出部は、前記配信装置に設けられている[1]から[9]の何れか一項に記載したソフトウェア更新システム。
【0072】
[11]
前記退避対象情報算出部は、前記車載更新装置に設けられている[1]から[9]の何れか一項に記載したソフトウェア更新システム。
【符号の説明】
【0073】
図面中、1,21はソフトウェア更新システム、2,22は車両側システム、3,23はサーバ(配信装置)、5,24は車載更新装置、6はECU(更新対象の電子制御装置)、9はリプログツール(配信装置)、10a,26aは退避対象情報算出部、12a,26bは継続使用可否判定部、12b,26cは配置アドレス変更判定部、12c,26dは退避対象特定部、12d,26eはデータ退避部、12e,26fはデータ復帰部である。