(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】ソフトウェア更新装置、更新制御方法、更新制御プログラム及びOTAマスタ
(51)【国際特許分類】
G06F 8/65 20180101AFI20231205BHJP
B60R 16/02 20060101ALI20231205BHJP
H04L 67/00 20220101ALI20231205BHJP
【FI】
G06F8/65
B60R16/02 660U
H04L67/00
(21)【出願番号】P 2020142008
(22)【出願日】2020-08-25
【審査請求日】2022-08-09
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110001276
【氏名又は名称】弁理士法人小笠原特許事務所
(72)【発明者】
【氏名】高綱 雄介
【審査官】北川 純次
(56)【参考文献】
【文献】特開2004-005152(JP,A)
【文献】特開2001-229014(JP,A)
【文献】米国特許出願公開第2019/0268420(US,A1)
【文献】特開2004-152122(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/65
B60R 16/02
H04L 67/00
(57)【特許請求の範囲】
【請求項1】
車両に搭載された電子制御ユニットのソフトウェア更新を制御するソフトウェア更新装置であって、
サーバから前記電子制御ユニットの更新データをダウンロードするための互いに異なる第1ソフトウェア及び第2ソフトウェアを記憶する記憶部と、
前記第1ソフトウェア及び前記第2ソフトウェアのいずれかを実行することにより前記更新データを前記サーバからダウンロードする制御部
と、
前記サーバにおいて前記更新データの配信に利用しているソフトウェアを特定するソフトウェア情報を前記サーバから受信する通信部とを備え
、
前記制御部は、前記第1ソフトウェア及び前記第2ソフトウェアのうち、受信した前記ソフトウェア情報により特定される前記サーバのソフトウェアに対応するソフトウェアを実行する、ソフトウェア更新装置。
【請求項2】
前記サーバから前記更新データをダウンロード可能なソフトウェアが前記記憶部に記憶されていないと前記制御部が判定した場合、前記通信部は、前記ソフトウェア情報により特定される前記サーバのソフトウェアに対応するソフトウェアを前記サーバから受信する、請求項1に記載のソフトウェア更新装置。
【請求項3】
プロセッサと、メモリと、記憶装置とを備えるコンピュータが、車両に搭載された電子制御ユニットのソフトウェア更新を制御するために実行する更新制御方法であって、
サーバから前記電子制御ユニットの更新データをダウンロードするための互いに異なる第1ソフトウェア及び第2ソフトウェアを記憶するステップと、
前記サーバにおいて前記更新データの配信に利用しているソフトウェアを特定するソフトウェア情報を前記サーバから受信するステップと、
前記第1ソフトウェア及び前記第2ソフトウェアの
うち、受信した前記ソフトウェア情報により特定される前記サーバのソフトウェアに対応するソフトウェアを実行することにより前記更新データを前記サーバからダウンロードするステップとを備える、更新制御方法。
【請求項4】
プロセッサと、メモリと、記憶装置とを備えるコンピュータが、車両に搭載された電子制御ユニットのソフトウェア更新を制御するために実行する更新制御プログラムであって、
サーバから前記電子制御ユニットの更新データをダウンロードするための互いに異なる第1ソフトウェア及び第2ソフトウェアを記憶するステップと、
前記サーバにおいて前記更新データの配信に利用しているソフトウェアを特定するソフトウェア情報を前記サーバから受信するステップと、
前記第1ソフトウェア及び前記第2ソフトウェアの
うち、受信した前記ソフトウェア情報により特定される前記サーバのソフトウェアに対応するソフトウェアを実行することにより前記更新データを前記サーバからダウンロードするステップとを備える、更新制御プログラム。
【請求項5】
車両に搭載された電子制御ユニットのソフトウェア更新を制御するOTAマスタであって、
センタから前記電子制御ユニットの更新データをダウンロードするための互いに異なる第1ソフトウェア及び第2ソフトウェアを記憶するストレージと、
前記第1ソフトウェア及び前記第2ソフトウェアのいずれかを実行することにより前記更新データを前記センタからダウンロードする制御部
と、
前記センタにおいて前記更新データの配信に利用しているソフトウェアを特定するソフトウェア情報を前記センタから受信する通信部とを備え
、
前記制御部は、前記第1ソフトウェア及び前記第2ソフトウェアのうち、受信した前記ソフトウェア情報により特定される前記センタのソフトウェアに対応するソフトウェアを実行する、OTAマスタ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、電子制御ユニットのソフトウェアの更新を制御するためのソフトウェア更新装置、更新制御方法、更新制御プログラム及びOTAマスタに関する。
【背景技術】
【0002】
車両には、車両の動作を制御するための複数の電子制御ユニット(ECU)が搭載されている。ECUは、プロセッサと、RAMのような一時的な記憶部と、フラッシュROMのような不揮発性の記憶部とを備え、プロセッサが不揮発性の記憶部に記憶されるソフトウェアを実行することによりECUの制御機能を実現する。各ECUが記憶するソフトウェアは書き換え可能であり、より新しいバージョンのソフトウェアに更新することにより、各ECUの機能を改善したり、新たな車両制御機能を追加したりすることができる。
【0003】
ECUのソフトウェアを更新する技術として、車載ネットワークに接続された車載通信機器とインターネット等の通信ネットワークとを無線で接続し、無線通信を介してサーバからソフトウェアをダウンロードし、ダウンロードしたソフトウェアをインストールすることによりECUのプログラム更新や追加を行うOTA(Over The Air)技術が知られている(例えば、特許文献1参照)。
【0004】
センタに設けられるサーバには、OTA用ソフトウェアをインストールすることによりのソフトウェア配信機能が実装される。一方、車両に搭載されるソフトウェア更新装置は、サーバが実行するOTA用ソフトウェアに対応したクライアントソフトウェアを用いて、サーバに対する更新データの確認要求や更新データのダウンロードを行う。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
車両の使用期間中にサーバで利用されるOTA用ソフトウェアが変更される可能性がある。サーバで利用されるOTA用ソフトウェアが変更され、サーバと車両とでOTA用ソフトウェアのベンダが異なった場合、ベンダ間にソフトウェアの互換性がなければ、OTAによるソフトウェア更新ができなくなる。
【0007】
それ故に、本開示は、サーバにおけるOTA用ソフトウェアが変更されても、OTAによるソフトウェア更新が可能なソフトウェア更新装置、更新制御方法、更新制御プログラム及びOTAマスタを提供することを目的とする。
【課題を解決するための手段】
【0008】
本開示に係るソフトウェア更新装置は、サーバから電子制御ユニットの更新データをダウンロードするための互いに異なる第1ソフトウェア及び第2ソフトウェアを記憶する記憶部と、第1ソフトウェア及び第2ソフトウェアのいずれかを実行することにより更新データをサーバからダウンロードする制御部と、サーバにおいて更新データの配信に利用しているソフトウェアを特定するソフトウェア情報をサーバから受信する通信部とを備え、制御部は、第1ソフトウェア及び第2ソフトウェアのうち、受信したソフトウェア情報により特定されるサーバのソフトウェアに対応するソフトウェアを実行する。
【0009】
本開示に係る更新制御方法は、プロセッサと、メモリと、記憶装置とを備えるコンピュータが、車両に搭載された電子制御ユニットのソフトウェア更新を制御するために実行する方法であって、サーバから電子制御ユニットの更新データをダウンロードするための互いに異なる第1ソフトウェア及び第2ソフトウェアを記憶するステップと、サーバにおいて更新データの配信に利用しているソフトウェアを特定するソフトウェア情報をサーバから受信するステップと、第1ソフトウェア及び第2ソフトウェアのうち、受信したソフトウェア情報により特定されるサーバのソフトウェアに対応するソフトウェアを実行することにより更新データをサーバからダウンロードするステップとを備える。
【0010】
本開示に係る更新制御プログラムは、プロセッサと、メモリと、記憶装置とを備えるコンピュータが、車両に搭載された電子制御ユニットのソフトウェア更新を制御するために実行するプログラムであって、サーバから電子制御ユニットの更新データをダウンロードするための互いに異なる第1ソフトウェア及び第2ソフトウェアを記憶するステップと、サーバにおいて更新データの配信に利用しているソフトウェアを特定するソフトウェア情報をサーバから受信するステップと、第1ソフトウェア及び第2ソフトウェアのうち、受信したソフトウェア情報により特定されるサーバのソフトウェアに対応するソフトウェアを実行することにより更新データをサーバからダウンロードするステップとを備える。
【発明の効果】
【0011】
本開示によれば、サーバにおけるOTA用ソフトウェアが変更されても、OTAによるソフトウェア更新が可能なソフトウェア更新装置、更新制御方法、更新制御プログラム及びOTAマスタを提供できる。
【図面の簡単な説明】
【0012】
【
図1】実施形態に係るネットワークシステムの全体構成を示すブロック図
【
図2】
図1に示したサーバの概略構成を示すブロック図
【
図3】
図1に示したソフトウェア更新装置の概略構成を示すブロック図
【
図4】第1の実施形態に係るサーバの機能ブロック図
【
図5】第1の実施形態に係るソフトウェア更新装置の機能ブロック図
【
図6A】第1の実施形態におけるソフトウェア切替の概略を示す模式図
【
図6B】第1の実施形態におけるソフトウェア切替の概略を示す模式図
【
図6C】第1の実施形態におけるソフトウェア切替の概略を示す模式図
【
図7】第1の実施形態に係るサーバが実行する制御処理の一例を示すフローチャート
【
図8】第1の実施形態に係るソフトウェア更新装置が実行する制御処理の一例を示すフローチャート
【
図9】第2の実施形態に係るサーバの機能ブロック図
【
図10】第2の実施形態に係るソフトウェア更新装置の機能ブロック図
【
図11A】第2の実施形態におけるソフトウェア選択の概略を示す模式図
【
図11B】第2の実施形態におけるソフトウェア選択の概略を示す模式図
【
図12A】第2の実施形態におけるソフトウェア追加の概略を示す模式図
【
図12B】第2の実施形態におけるソフトウェア追加の概略を示す模式図
【
図12C】第2の実施形態におけるソフトウェア追加の概略を示す模式図
【
図13】第2の実施形態に係るサーバが実行する制御処理の一例を示すフローチャート
【
図14】第2の実施形態に係るソフトウェア更新装置が実行する制御処理の一例を示すフローチャート
【発明を実施するための形態】
【0013】
(第1及び第2の実施形態に共通の構成)
図1は、実施形態に係るネットワークシステムの全体構成を示すブロック図であり、
図2は、
図1に示したサーバの概略構成を示すブロック図であり、
図3は、
図1に示したソフトウェア更新装置の概略構成を示すブロック図である。
【0014】
図1に示すネットワークシステムは、車両に搭載された電子制御ユニット13a~13dのソフトウェアを更新するためのシステムであり、サーバ1(センタ)と、車両に搭載される車載ネットワーク2とを備える。
【0015】
サーバ1は、ネットワーク5を介して車両に搭載されたソフトウェア更新装置11と通信可能であり、車両に搭載された電子制御ユニット13a~13dのソフトウェア更新を管理する。
【0016】
図2に示すように、サーバ1は、CPU21と、RAM22と、記憶装置23と、通信装置24とを備える。記憶装置23は、ハードディスクやSSD等の読み書き可能な記憶媒体を備え、ソフトウェアの更新管理を実行するためのプログラムや、更新管理に用いる情報、電子制御ユニットの更新データを記憶する。サーバ1において、CPU21は、記憶装置23から読み出したプログラムを、RAM22を作業領域として用いて実行することにより、後述する制御処理を実行する。通信装置24は、ネットワークを介してソフトウェア更新装置11と通信を行う機器である。
【0017】
車載ネットワーク2は、ソフトウェア更新装置11(OTAマスタ)と、通信モジュール12と、複数の電子制御ユニット13a~13dと、表示装置14とを備える。ソフトウェア更新装置11は、バス15aを介して通信モジュール12と接続され、バス15bを介して電子制御ユニット13a及び13bと接続され、バス15cを介して電子制御ユニット13c及び13dと接続され、バス15dを介して表示装置14と接続されている。ソフトウェア更新装置11は、通信モジュール12を介してサーバ1と無線での通信が可能である。ソフトウェア更新装置11は、サーバ1から取得した更新データに基づいて、電子制御ユニット13a~13dのうちの更新対象の電子制御ユニット(ターゲットECU)のソフトウェア更新を制御する。ソフトウェア更新装置11は、セントラルゲートウェイと称される場合もある。通信モジュール12は、車載ネットワーク2とサーバ1とを接続する通信機器である。電子制御ユニット13a~13dは、車両の各部の動作を制御する。表示装置14(HMI)は、電子制御ユニット13a~13dのソフトウェアの更新処理時に、更新データがあることの表示や、ユーザや管理者にソフトウェア更新に対する承諾を求めるための承諾要求画面の表示、更新結果の表示等の各種表示を行うために用いられる。表示装置14としては、典型的にはカーナビゲーションシステムの表示装置を用いることができるが、プログラムの更新処理時に必要な情報を表示可能なものであれば特に限定されない。尚、
図1においては、4つの電子制御ユニット13a~13dを例示したが、電子制御ユニットの数は特に限定されない。また、
図1に示すバス15dには、表示装置14以外の電子制御ユニットが更に接続されていても良い。
【0018】
電子制御ユニット13a~13dは、CPUと、RAMと、不揮発性メモリ(ストレージ)と、通信装置とを備える。CPUは、不揮発性メモリから読み出したソフトウェア(プログラム)を、RAMを作業領域として用いて実行することにより、各電子制御ユニットの機能を実現する。ここで、電子制御ユニットには、ソフトウェアを格納するための1つのデータ格納領域(バンク)を有するものと、ソフトウェアを格納するための2つのデータ格納領域(バンク)を有するものとがある。電子制御ユニットのデータ格納領域には、電子制御ユニットの機能を実現するためのソフトウェアの他に、バージョン情報やパラメータデータ、起動用のブートプログラム、ソフトウェア更新用のプログラム等が格納される場合がある。1つのデータ格納領域を持つ電子制御ユニットにおいては、データ格納領域に更新データをインストールすることにより、電子制御ユニットのソフトウェアに影響が生じる。一方、2つのデータ格納領域を持つ電子ユニットにおいては、2つのデータ格納領域のうち、いずれか一方を読み出し対象の格納領域(運用面)とし、読み出し対象の格納領域に格納されるソフトウェアを実行する。読み出し対象でない他方の格納領域(非運用面)には、読み出し対象の格納領域(運用面)のプログラムの実行中に、バックグラウンドで更新データを書き込み可能である。ソフトウェア更新処理におけるアクティベート時には、CPU41によるプログラムの読み出し対象の格納領域を切り替えることにより、更新版のソフトウェアを有効化することができる。
【0019】
尚、本開示において、2つのデータ格納領域を有する電子制御ユニットには、不揮発性メモリが有する1面のデータ格納領域を擬似的に2面に区画し、一方の面のプログラムを実行中に他方の面にプログラムを書き込み可能にした「1面サスペンドメモリ」と呼ばれる構成のメモリを備えた電子制御ユニットと、1面のデータ格納領域を有する不揮発性メモリに加え、1面のデータ格納領域を有する拡張不揮発性メモリを備え、これら2つの不揮発性メモリを運用面及び非運用面として使用可能な電子制御ユニットも含まれる。
【0020】
図3に示すように、ソフトウェア更新装置11は、CPU31と、RAM32と、ROM33と、記憶装置34とを備えるマイクロコンピュータ35と、通信装置36とを備える。ソフトウェア更新装置11において、マイクロコンピュータ35のCPU31は、ROM33または記憶装置34から読み出したプログラムを、RAM32を作業領域として用いて実行することにより、後述する制御処理を実行する。通信装置36は、
図1に示したバス15a~15dを介して、通信モジュール12、電子制御ユニット13a~13d、表示装置14と通信を行う機器である。
【0021】
ここで、ソフトウェアの更新処理は、サーバ1から更新データをダウンロードするフェーズと、ダウンロードした更新データを更新対象の電子制御ユニットに転送し、更新対象の電子制御ユニットの記憶領域に更新データをインストールするフェーズと、更新対象の電子制御ユニットにおいてインストールした更新版のソフトウェアを有効化するアクティベートのフェーズとからなる。
【0022】
ダウンロードは、電子制御ユニットのソフトウェアを更新するための更新データをサーバ1から受信して記憶する処理である。ダウンロードのフェーズでは、更新データの受信だけでなく、ダウンロードの実行可否判断、更新データの検証等、ダウンロードに関する一連の処理の制御を含む。インストールは、ダウンロードした更新データに基づいて、更新対象の電子制御ユニットに車載機器の記憶部に更新版のプログラム(更新ソフトウェア)を書き込む処理である。インストールのフェーズでは、インストール実行だけでなく、インストールの実行可否判断、更新データの転送および更新版のプログラムの検証等、インストールに関する一連の処理の制御を含む。アクティベートは、インストールした更新版のプログラムを有効化(アクティベート)する処理である。アクティベートする制御は、アクティベート実行だけでなく、アクティベートの実行可否判断、実行結果の検証等、アクティベートに関する一連の制御を含む。
【0023】
サーバ1からソフトウェア更新装置11に送信される更新データは、電子制御ユニットの更新ソフトウェア、更新ソフトウェアを圧縮した圧縮データ、更新ソフトウェアまたは圧縮データを分割した分割データのいずれを含んでいても良い。また、更新データは、更新対象の電子制御ユニットを識別する識別子(ECU ID)と、更新前のソフトウェアを識別する識別子(ECU ソフトウェア ID)を含んでいても良い。更新データは、上述した配信パッケージとしてダウンロードされるが、配信パッケージには、単一または複数の電子制御ユニットの更新データが含まれる。
【0024】
更新データが更新ソフトウェアそのものを含む場合は、インストールのフェーズにおいて、ソフトウェア更新装置が更新データ(更新ソフトウェア)を更新対象の電子制御ユニットに転送する。また、更新データが更新ソフトウェアの圧縮データ、差分データあるいは分割データを含む場合、ソフトウェア更新装置11が更新対象の電子制御ユニットに更新データを転送し、更新対象の電子制御ユニットが更新データから更新ソフトウェアを生成しても良いし、ソフトウェア更新装置11が更新データから更新ソフトウェアを生成してから、更新ソフトウェアを更新対象の電子制御ユニットに転送しても良い。ここで、更新ソフトウェアの生成は、圧縮データの解凍、差分データまたは分割データの組み付けにより行うことができる。
【0025】
更新ソフトウェアのインストールは、ソフトウェア更新装置11からのインストール要求に基づき、更新対象の電子制御ユニットが行うことができる。あるいは、更新データを受信した更新対象の電子制御ユニットが、ソフトウェア更新装置11からの明示の指示を受けることなく、自律的にインストールを行っても良い。
【0026】
更新ソフトウェアのアクティベートは、ソフトウェア更新装置11からのアクティベート要求に基づき、更新対象の電子制御ユニットが行うことができる。あるいは、更新データを受信した更新対象の電子制御ユニットが、ソフトウェア更新装置11からの明示の指示を受けることなく、自律的にアクティベートを行っても良い。
【0027】
尚、ソフトウェアの更新処理は、複数の電子制御ユニットのそれぞれに対して、連続的あるいは並列的に行うことができる。
【0028】
また、本明細書における「プログラム更新処理」は、ダウンロード・インストール・アクティベートの全てを連続して行う処理だけでなく、ダウンロード・インストール・アクティベートの一部のみを行う処理も含む。
【0029】
(第1の実施形態)
図4は、第1の実施形態に係るサーバの機能ブロック図である。
【0030】
サーバ1は、記憶部26と、第1通信部27と、制御部28とを備える。
【0031】
記憶部26は、OTA用の第1ソフトウェアと、電子制御ユニットのソフトウェアの更新を管理するために用いる更新管理情報と、電子制御ユニットのソフトウェアの更新データとを記憶する。記憶部26は、
図2に示した記憶装置23により実現される。第1ソフトウェアは、
図2に示したCPU21が実行可能なサーバ側のソフトウェア(プログラム)であって、車両に搭載されたソフトウェア更新装置11と無線通信を行い、無線通信により電子制御ユニットのソフトウェアの更新データを配信する機能を実現するソフトウェアである。
図2に示したCPU21が第1ソフトウェアを実行することにより、後述する第1通信部27及び制御部28が実現される。
【0032】
記憶部26が記憶する更新管理情報は、車両を識別する車両識別情報(車両ID)毎に、車両に搭載された1以上の電子制御ユニットで利用可能なソフトウェアを示す情報とを関連付けた情報である。電子制御ユニットで利用可能なソフトウェアを示す情報として、例えば、複数の電子制御ユニットのそれぞれのソフトウェアの最新のバージョン情報の組み合わせが定義される。更新管理情報及び更新データは、電子制御ユニットのソフトウェア更新のキャンペーン登録時に記憶部26に格納される。
【0033】
第1通信部27は、ソフトウェア更新装置11からソフトウェアの更新確認要求を受信可能である。更新確認要求は、例えば、車両において電源またはイグニッションがオンされたときに、ソフトウェア更新装置11からサーバ1へと送信される情報であって、電子制御ユニットの更新データがあるか否かの確認をサーバ1に要求するための情報である。第1通信部27は、ソフトウェア更新装置11から受信した更新確認要求に応答して、更新データの有無を示す情報をソフトウェア更新装置11に送信する。また、第1通信部27は、ソフトウェア更新装置11からの配信パッケージの送信要求(ダウンロード要求)を受信可能である。第1通信部27は、配信パッケージのダウンロード要求を受信すると、電子制御ユニットのソフトウェアの更新データを含む配信パッケージをソフトウェア更新装置11に送信する。
【0034】
制御部28は、第1通信部27が更新確認要求を受信すると、記憶部26に記憶される更新管理情報に基づいて、更新確認要求に含まれる車両IDで特定される車両のソフトウェアの更新データがあるか否かを判定する。制御部28による更新データがあるか否かの判定結果は、第1通信部27によってソフトウェア更新装置11に送信される。制御部28は、電子制御ユニットの更新データがあると判定した場合、ソフトウェア更新装置11から配信パッケージのダウンロード要求を受信すると、記憶部26に記憶される更新データを含む配信パッケージを生成する。この配信パッケージは、第1通信部27によりソフトウェア更新装置11に送信される。
【0035】
図5は、
図1に示したソフトウェア更新装置の機能ブロック図である。
【0036】
ソフトウェア更新装置11は、記憶部37と、制御部38とを備える。記憶部37は、
図3に示した記憶装置34によって実現され、制御部38とは、
図3に示したCPU31がRAM32を用いてROM33に記憶されるプログラム(ソフトウェア更新装置11の制御用プログラム)を実行することにより実現される。
【0037】
記憶部37は、OTA用の第1ソフトウェアと、OTA用の第2ソフトウェアとを記憶する。記憶部26は、
図3に示した記憶装置34により実現される。第1ソフトウェア及び第2ソフトウェアはいずれも
図3に示したCPU31が実行可能なクライアント側のソフトウェア(プログラム)であって、サーバ1と無線通信を行い、無線通信により電子制御ユニットのソフトウェアの更新データをダウンロードする機能を実現するソフトウェアである。第1ソフトウェア及び第2ソフトウェアは、更新データのダウンロード及びこれに付随する各種機能(例えば、サーバ1に対する更新データの有無を確認する機能や、ダウンロードが完了した後にサーバ1に通知する機能、エラー発生時にエラー情報をサーバ1に送信する機能等)は共通であるが、この機能を実現するための具体的な処理やサーバ側のソフトウェアとの通信手順が異なる。第1ソフトウェア及び第2ソフトウェアの具体的処理や通信手順等の違いは、第1ソフトウェアと第2ソフトウェアとのベンダの違いやバージョンの違いにより生じ得る。サーバ側のOTA用ソフトウェアとクライアント側のOTA用ソフトウェアとは、更新データのダウンロード機能を実現可能な組み合わせが定まっており、第1ソフトウェア及び第2ソフトウェアは、それぞれに対応したサーバ側のソフトウェアと組み合わせて実行される。
【0038】
また、記憶部37は、電子制御ユニット13a~13dのソフトウェア更新を実行するためのプログラムや、ソフトウェア更新を実行する際に用いる各種データの他、サーバ1からダウンロードしたソフトウェアの更新データを記憶する。
【0039】
制御部38は、電子制御ユニットのソフトウェア更新を制御するための種々の処理を行う。より詳細には、制御部38は、第1ソフトウェア及び第2ソフトウェアのいずれかを実行することにより、更新データのダウンロードを行う。制御部38は、車両の電源またはイグニッションがオンされたこと等を契機として、ソフトウェアの更新確認要求をサーバ1に送信する。更新確認要求は、例えば、車両を識別するための車両IDと、車載ネットワーク2に接続される電子制御ユニット13a~13dのソフトウェアのバージョンとを含む。車両ID及び電子制御ユニット13a~13dのソフトウェアのバージョンは、サーバ1が車両ID毎に保持する最新のソフトウェアのバージョンとの比較により、電子制御ユニットのソフトウェアの更新データがあるか否かを判定するために用いられる。また、制御部38は、更新確認要求に対する応答としてサーバ1から更新データの有無を示す確認結果を受信し、確認結果に基づいて更新データの有無を判定する。いずれかの電子制御ユニットのソフトウェアの更新データがある場合、制御部38は、配信パッケージのダウンロード要求をサーバ1に送信し、サーバ1から送信される配信パッケージを受信する。配信パッケージは、更新データの他に、更新データの真正性を検証するための検証用データや、更新データの数、インストール順、ソフトウェア更新時に用いる各種制御情報等を含んでいても良い。制御部38は、サーバ1から更新データを含む配信パッケージを受信すると、受信した配信パッケージの真正性を検証する。
【0040】
また、制御部38は、更新データを含む配信パッケージをダウンロードした場合、更新データのインストール処理、アクティベート処理、インストール処理またはアクティベート処理の実行時の承諾要求処理を行う。制御部38は、ソフトウェア更新の実行時に、承諾要求処理として、ソフトウェア更新に対して承諾が必要である旨の通知やソフトウェア更新を承諾した旨の入力を促す通知を出力装置に出力させる処理と、ユーザからの操作入力を受け付ける処理とを行う。出力装置としては、車載ネットワーク2に設けられた表示装置14や、音声による通知を行う音声出力装置等を利用できる。例えば、承諾要求処理において、表示装置14を出力装置として用いる場合、制御部38は、ソフトウェア更新の承諾を求めるための承諾要求画面を表示装置14に表示させ、ユーザまたは管理者が承諾した場合に承諾ボタンを押下する等の特定の入力操作を促す通知を表示装置14に表示させる。また、制御部38は、承諾要求処理において、電子制御ユニットのソフトウェアの更新データがあることを通知する文言やアイコン等を表示装置14に表示させたり、ソフトウェア更新処理の実行中における制限事項等を表示装置14に表示させたりする。
【0041】
図6A~
図6Cは、第1の実施形態におけるソフトウェア切替の概略を示す模式図である。以降の説明において、サーバ側の第1ソフトウェア及びクライアント側の第1ソフトウェアの組み合わせと、サーバ側の第2ソフトウェア及びクライアント側の第2ソフトウェアの組み合わせとが、更新データをダウンロード可能なものであり、これ以外のソフトウェアの組み合わせでは更新データのダウンロードができないものとする。
【0042】
まず、
図6Aに示すように、サーバ1において、OTA用ソフトウェアとして第1ソフトウェアが稼働している場合を想定する。ソフトウェア更新装置11の記憶部37には、クライアント側のOTA用ソフトウェアとして、デフォルトで使用される第1ソフトウェアと、予備の第2ソフトウェアとがインストールされている。ソフトウェア更新装置11においてデフォルトで実行される第1ソフトウェアは、サーバ1で稼働している第1ソフトウェアに対応している。したがって、この場合、制御部38は、第1ソフトウェアを実行することにより、サーバ1に対する更新データの確認要求やダウンロードが可能である。
【0043】
次に、
図6Bに示すように、サーバ1において稼働するOTA用ソフトウェアが第2ソフトウェアに変更された場合を想定する。サーバ側の第2ソフトウェアの例として、例えば、第1ソフトウェアと異なるベンダが開発し、第1ソフトウェアとは互換性のないソフトウェアが考えられる。第2ソフトウェアの他の例として、例えば、第1ソフトウェアと同じベンダが開発したソフトウェアであるが、サーバOSの種類変更やバージョンアップ等に対応して更新された結果、第1ソフトウェアとの互換性が少なくとも部分的に損なわれたソフトウェアが考えられる。
【0044】
ソフトウェア更新装置11においてデフォルトで実行される第1ソフトウェアは、サーバ1で稼働している第2ソフトウェアに対応していない。したがって、この場合、制御部38は、第1ソフトウェアを実行することにより、サーバ1に対する更新データの確認要求やダウンロードを行うことができない。
【0045】
この場合、
図6Cに示すように、制御部38は、実行するソフトウェアをデフォルトの第1ソフトウェアから予備の第2ソフトウェアに切り替える。切り替え後の第2ソフトウェアは、サーバ1で稼働している第2ソフトウェアに対応している。したがって、この場合、制御部38は、第2ソフトウェアを実行することにより、サーバ1に対する更新データの確認要求やダウンロードを行うことが可能となる。
【0046】
図7は、第1の実施形態に係るサーバが実行する制御処理の一例を示すフローチャートである。
図7に示す制御処理は、例えば所定の時間間隔で繰り返し実行される。
【0047】
ステップS1において、第1通信部27は、ソフトウェア更新装置11から更新確認要求を受信したか否かを判定する。ステップS1の判定がYESの場合、処理はステップS2に進み、それ以外の場合、処理はステップS3に進む。
【0048】
ステップS2において、第1通信部27は、更新確認要求を送信した車両に対して、電子制御ユニットのソフトウェアの更新データがあるか否かを示す情報を送信する。更新データの有無は、例えば、制御部28が、更新確認要求に含まれる車両IDに関連付けて更新管理情報に記憶されているソフトウェアのバージョンの組み合わせと、更新確認要求に含まれる現在のソフトウェアのバージョンの組み合わせとを比較し、更新確認要求に含まれる現在のソフトウェアのバージョンの組み合わせが、更新管理情報に記憶されているバージョンの組み合わせより古い場合に、更新データがあると判定することができる。その後、処理はステップS3に進む。
【0049】
ステップS3において、第1通信部27は、ソフトウェア更新装置11から更新データ(配信パッケージ)のダウンロード要求を受信したか否かを判定する。ステップS3の判定がYESの場合、処理はステップS4に進み、それ以外の場合、処理はステップS1に進む。
【0050】
ステップS4において、第1通信部27は、制御部28が生成した、ソフトウェアの更新データを含む配信パッケージをソフトウェア更新装置11に送信する。その後、処理はステップS1に進む。
【0051】
図8は、第1の実施形態に係るソフトウェア更新装置が実行する制御処理の一例を示すフローチャートである。
図8に示す制御処理は、例えば、車両の電源またはイグニッションがオンされたことを契機として実行される。
【0052】
ステップS11において、制御部38は、OTA用の第1ソフトウェアを実行し、電子制御ユニットのソフトウェアの更新データがあるか否かの確認をサーバ1に要求する。第1ソフトウェアは、制御部38がデフォルトで実行するソフトウェアであり、車両の製造時あるいは販売後にOTAによるソフトウェアの更新機能が車両に付加された際に、サーバ1で稼働するOTA用ソフトウェアに対応してインストールされたものである。制御部38は、更新データがあるか否かを確認するために、車両IDと電子制御ユニットのソフトウェアのバージョンの組み合わせとを含む更新確認要求をサーバ1に送信する。その後、処理はステップS12に進む。
【0053】
ステップS12において、制御部38は、サーバ1からデータをダウンロード可能な状態であるか否かを判定する。データをダウンロード可能な状態とは、制御部38が、OTA用ソフトウェアで定められた手順に従って、サーバ1で稼働しているOTA用ソフトウェアと通信を介してメッセージやデータの送受信が可能であり、実行中のソフトウェアの機能で更新データをサーバ1からダウンロードできる状態をいう。制御部38は、例えば、サーバ1とのリンクが確立できないこと、サーバ1との通信にタイムアウトが発生したこと、OTA用ソフトウェアでエラーが発生したことの1以上の事象を検出したときに、ダウンロード可能な状態でないと判定することができる。ステップS12の判定がYESの場合、処理はステップS15に進み、それ以外の場合、処理はステップS13に進む。
【0054】
ステップS13において、制御部38は、OTA用の第2ソフトウェアを実行し、電子制御ユニットのソフトウェアの更新データがあるか否かの確認をサーバ1に要求する。第2ソフトウェアは、車両の製造時あるいは販売後にインストールされる予備のソフトウェアであるが、当初サーバ1で稼働するOTA用ソフトウェアには対応していない(互換性がない)。制御部38は、更新データがあるか否かを確認するために、車両IDと電子制御ユニットのソフトウェアのバージョンの組み合わせとを含む更新確認要求をサーバ1に送信する。その後、処理はステップS14に進む。尚、ステップS13において、制御部38は、第2ソフトウェアを実行する前に、第1ソフトウェアを終了することが好ましい。
【0055】
ステップS14において、制御部38は、サーバ1からデータをダウンロード可能な状態であるか否かを判定する。ステップS14の判定処理は、ステップS12の判定処理と同じである。ステップS14の判定がYESの場合、処理はステップS15に進み、それ以外の場合、処理を終了する。尚、ステップS14でNOと判定された場合、サーバ1で稼働しているOTA用ソフトウェアに対応するソフトウェアがなく、OTAによるソフトウェア更新ができないため、エラーの通知や販売店や整備工場等での対応を促す通知を行うことが好ましい。
【0056】
ステップS15において、制御部38は、サーバ1から更新確認要求に対する確認結果を受信する。その後、処理はステップS16に進む。
【0057】
ステップS16において、制御部38は、ステップS15で受信した確認結果に基づいて、電子制御ユニット13a~13dのいずれかのソフトウェアの更新データがあるか否かを判定する。ステップS16の判定がYESの場合、処理はステップS17に進み、それ以外の場合、処理はステップS18に進む。
【0058】
ステップS17において、制御部38は、OTA用ソフトウェアの機能によりダウンロード処理を実行する。より詳細には、制御部38は、サーバ1に配信パッケージのダウンロード要求を送信し、ダウンロード要求に応答して送信される配信パッケージを受信し、受信した配信パッケージを記憶部37に格納する。制御部38は、受信した配信パッケージに含まれる更新データの真正性を検証する。ステップS17において、ダウンロードの実行可否の判定や、サーバ1に対してダウンロードが完了したことの通知を行っても良い。その後、処理はステップS19に進む。
【0059】
ステップS18において、制御部38は、ソフトウェア更新処理を実行する指示を受け付けたか否かを判定する。ソフトウェア更新処理は、必ずしも連続して実行されるわけではなく、例えば、ダウンロードが完了した段階、または、インストールが完了した段階で中断され、続きの更新処理が後から実行される場合がある。そこで、本実施形態では、ステップS16において更新データがないと判定された場合に、ステップS18の判定を設けることにより、中断されたソフトウェア更新処理の再開を可能としている。ステップS18の判定は、例えば、中断されたソフトウェア更新処理があることを通知する文言やアイコン等を表示装置14に表示させた後、入力ボタン等を用いた特定の操作入力を受け付けたか否かによって行うことができる。ステップS18の判定がYESの場合、処理はステップS19に進み、それ以外の場合、処理を終了する。
【0060】
ステップS19において、制御部38は、更新対象の電子制御ユニット(ターゲットECU)に対してインストール処理及びアクティベート処理を実行する。より詳細には、制御部38は、更新対象の電子制御ユニットに更新データを転送し、インストールを指示する。更新対象の電子制御ユニットは、ソフトウェア更新装置11から受信した更新データをデータ格納領域に書き込む。次に、制御部38は、更新対象の電子制御ユニットに対して、更新版のソフトウェアのアクティベートを指示する。更新対象の電子制御ユニットは、電源またはイグニッションOFFにより等の特定の操作が行われたことを契機として、再起動し、更新後のソフトウェアを実行する。これにより、電子制御ユニットのソフトウェア更新(機能更新)が完了する。インストール処理またはアクティベート処理の終了後、
図8の処理を終了する。
【0061】
尚、更新対象の電子制御ユニットが1つのデータ格納領域を持つ構成である場合、データ格納領域に更新データをインストールした時点で電子制御ユニットのソフトウェアに影響が及ぶため、インストール及びアクティベートを連続して行うことが好ましい。また、この場合、更新対象の電子制御ユニットが1つのデータ格納領域を持つ構成である場合、インストール実行前にインストール及びアクティベートに対する承諾要求処理を行い、アクティベート実行前の承諾要求処理を省略しても良い。
【0062】
また、インストールの実行前に、制御部38は、インストールの実行可否の判定処理や、インストールに対する承諾要求処理を実行することが好ましい。インストールに対する承諾要求処理として、制御部38は、例えば、電子制御ユニットのソフトウェア更新を開始する旨の表示と、ソフトウェア更新に対するユーザの承諾を要求する旨の表示と、必要に応じて、更新データのインストールに要する時間や、インストール中の制限事項や注意事項の表示を表示装置14に表示させ、タッチパネルや操作ボタン等の入力手段を用いたユーザによる操作入力を受け付ける。その後、制御部38は、ソフトウェア更新(インストール)を承諾する旨の操作入力が行われた否かを判定する。インストールを承諾する旨の操作入力は、例えば、表示装置14に表示された「承諾する」あるいは「更新を開始する」等のボタンが押下されたか否かに基づいて判定することができる。また、ユーザがソフトウェアの更新開始(インストール)をすぐに承諾せず、後でソフトウェアの更新開始(インストール)を行うことを希望する場合は、「後で行う」等のボタンを押下することによりその旨を受け付けることができる。
【0063】
同様に、アクティベートの実行前に、制御部38は、アクティベートの実行可否の判定処理や、アクティベートに対する承諾要求処理を実行することが好ましい。インストールに対する承諾要求処理として、制御部38は、例えば、電子制御ユニットのソフトウェア更新の準備が整い、電源またはイグニッションOFF等の特定の操作を行うことによりプログラムが更新される旨の表示と、必要に応じて、アクティベートに要する時間や、アクティベート中の制限事項や注意事項の表示を表示装置14に表示させ、タッチパネルや操作ボタン等の入力手段を用いたユーザによる操作入力を受け付ける。その後、制御部38は、ソフトウェア更新(アクティベート)を承諾する旨の操作入力が行われたか否かを判定する。アクティベートを承諾する旨の操作入力は、例えば、表示装置14に表示された「承諾する」あるいは「更新する」等のボタンが押下されたか否かに基づいて判定することができる。また、ユーザがソフトウェア更新(アクティベート)をすぐに承諾せず、後でソフトウェア更新を行うことを希望する場合は、「後で行う」等のボタンを押下することによりその旨を受け付けることができる。
【0064】
本実施形態に係るソフトウェア更新装置11は、OTA用ソフトウェアとして、互いに異なる第1ソフトウェア及び第2ソフトウェアを記憶部37に有し、いずれかのソフトウェアを実行することによりサーバ1から更新データをダウンロードする。したがって、本実施形態に係るソフトウェア更新装置11は、第1ソフトウェアに対応したサーバ側ソフトウェアが稼働するサーバと、第2ソフトウェアに対応したサーバ側ソフトウェアが稼働するサーバとのそれぞれに対応することができる。
【0065】
また、車両のライフサイクル中に、サーバ1で稼働するOTA用ソフトウェアが変更され、変更後のソフトウェアと当初サーバ1で稼働していたソフトウェアとの互換性がなくなるケースが想定される。本実施形態に係るソフトウェア更新装置11は、OTA用の第1ソフトウェアの機能で更新データのダウンロードができない状態にある場合、記憶部37に記憶される第2ソフトウェアを実行する。このように構成すれば、第1ソフトウェアで更新データの受信ができなかった場合に、実行するソフトウェアを第2ソフトウェアに切り替えることにより、更新データのダウンロードを行うことが可能となる。
【0066】
(第2の実施形態)
図9は、第2の実施形態に係るサーバの機能ブロック図である。
【0067】
第2の実施形態に係るサーバ1は、第1の実施形態の構成に第2通信部29を加えたものである。第2通信部29は、OTA用ソフトウェアを介さずに、ソフトウェア更新装置と通信を行う。具体的に、第2通信部29は、ソフトウェア更新装置11からソフトウェア情報の送信要求を受信可能であり、送信要求に応答してソフトウェア情報をソフトウェア更新装置11に送信する。ソフトウェア情報は、サーバ1において更新データの配信に利用しているOTA用ソフトウェアを特定する情報である。また、第2通信部29は、ソフトウェア更新装置11からOTA用ソフトウェアの送信要求を受信可能であり、送信要求に応答して、サーバ1で稼働しているOTA用ソフトウェアに対応するクライアント側ソフトウェアをソフトウェア更新装置11に送信する。
【0068】
図10は、第2の実施形態に係るソフトウェア更新装置の機能ブロック図である。
【0069】
第2の実施形態に係るソフトウェア更新装置11は、第1の実施形態の構成に通信部39を加えたものである。通信部39は、OTA用ソフトウェアを介さずに、サーバの第2通信部29と通信を行うことが可能である。通信部39は、上述したソフトウェア情報の送信要求をサーバ1に送信し、送信要求に対する応答としてサーバ1から送信されるソフトウェア情報を受信する。受信したソフトウェア情報は、サーバ1で稼働しているOTA用ソフトウェアに対応するソフトウェアが記憶部37に記憶されているか否かを制御部38が判定するために参照する情報である。サーバ1で稼働しているOTA用ソフトウェアに対応するソフトウェアが記憶部37に記憶されていないと制御部38が判定した場合、通信部39は、サーバ1で稼働しているOTA用ソフトウェアに対応するソフトウェアの送信をサーバ1に要求し、当該ソフトウェアをダウンロードする。通信部39は、ダウンロードした新たなOTA用ソフトウェアを記憶部37に格納する。
【0070】
図11A及び
図11Bは、第2の実施形態におけるソフトウェア選択の概略を示す模式図である。
【0071】
サーバ1において、OTA用ソフトウェアとして第2ソフトウェアが稼働している場合を想定する。ソフトウェア更新装置11の記憶部37には、クライアント側のOTA用ソフトウェアとして、第1ソフトウェア及び第2ソフトウェアがインストールされている。
【0072】
まず、
図11Aに示すように、ソフトウェア更新装置11の通信部39は、サーバ1からソフトウェア情報を受信する。次に、
図11Bに示すように、制御部38は、受信したソフトウェア情報によって特定されるサーバ側の第2ソフトウェアに対応するクライアント側の第2ソフトウェアを実行する。このように、サーバ1から受信したソフトウェア情報により特定されるサーバ側ソフトウェアに対応するソフトウェアが記憶部37に格納されている場合、制御部38は、サーバ1から受信したソフトウェア情報に基づいて適切なソフトウェアを選択し、サーバ1に対する更新データの確認要求やダウンロードを行うことが可能となる。
【0073】
図12A~
図12Cは、第2の実施形態におけるソフトウェア追加の概略を示す模式図である。
図12B及び
図12Cに示す第3ソフトウェアは、第1ソフトウェア及び第2ソフトウェアのいずれとも異なるものであり、サーバ側の第3ソフトウェア及びクライアント側の第3ソフトウェアの組み合わせが更新データをダウンロード可能なものであり、これ以外のソフトウェアの組み合わせでは更新データのダウンロードができないものとする。
【0074】
サーバ1において、OTA用ソフトウェアとして第3ソフトウェアが稼働している場合を想定する。ソフトウェア更新装置11の記憶部37には、クライアント側のOTA用ソフトウェアとして、第1ソフトウェア及び第2ソフトウェアがインストールされている。第1ソフトウェア及び第2ソフトウェアはいずれも、サーバ1で稼働している第3ソフトウェアから更新データをダウンロードできないものである。
【0075】
まず、
図12Aに示すように、ソフトウェア更新装置11の通信部39は、サーバ1からソフトウェア情報を受信する。しかしながら、ソフトウェア情報によって特定されるサーバ側の第3ソフトウェアに対応したソフトウェアが記憶部37に記憶されていない。そこで、通信部39は、
図12Bに示すように、サーバ1で稼働する第3ソフトウェアに対応するクライアント側の第3ソフトウェアを受信する。そして、
図12Cに示すように、制御部38は、受信した第3ソフトウェアを実行することにより、サーバ1に対する更新データの確認要求やダウンロードを行うことが可能となる。
【0076】
図13は、第2の実施形態に係るサーバが実行する制御処理の一例を示すフローチャートである。第2の実施形態に係るサーバは、
図7に示した制御処理も実行するが、繰り返しの説明を省略する。
図13に示す制御処理は、
図7に示した制御処理と並行して、例えば所定の時間間隔で繰り返し実行される。
【0077】
ステップS5において、第2通信部29は、ソフトウェア更新装置11からソフトウェア情報の送信要求を受信したか否かを判定する。ステップS5の判定がYESの場合、処理はステップS6に進み、それ以外の場合、処理はステップS7に進む。
【0078】
ステップS6において、第2通信部29は、ソフトウェア情報の送信要求を送信した車両に対して、ソフトウェア情報を送信する。その後、処理はステップS7に進む。
【0079】
ステップS7において、第2通信部29は、OTA用ソフトウェア(クライアント側)の送信要求を受信したか否かを判定する。ステップS7の判定がYESの場合処理はステップS8に進み、それ以外はステップS5に進む。
【0080】
ステップS8において、第2通信部29は、OTA用ソフトウェアの送信要求を送信した車両に対して、OTA用ソフトウェア(クライアント側)を送信する。その後処理はステップS5に進む。
【0081】
図14は、第2の実施形態に係るソフトウェア更新装置が実行する制御処理の一例を示すフローチャートである。
図14に示す制御処理は、例えば、車両の電源またはイグニッションがオンされたことを契機として実行される。
【0082】
ステップS20において、通信部39は、ソフトウェア情報の送信要求をサーバ1に送信する。その後、処理はステップS21に進む。
【0083】
ステップS21において、通信部39は、ソフトウェア情報をサーバ1から受信する。その後、処理はステップS22に進む。
【0084】
ステップS22において、制御部38は、受信したソフトウェア情報により特定されるサーバ側ソフトウェアに対応するソフトウェアが記憶部37に格納されているか否かを判定する。ステップS22の判定がYESの場合、処理はステップS23に進み、それ以外の場合、処理はステップS24に進む。
【0085】
ステップ23において、制御部38は、ソフトウェア情報により特定されるサーバ側ソフトウェアに対応するソフトウェアを実行し、電子制御ユニットのソフトウェアの更新データがあるか否かの確認をサーバ1に要求する。その後、処理はステップS15に進む。
【0086】
ステップS24において、通信部39は、ソフトウェア情報により特定されるサーバ側ソフトウェアに対応するクライアント側ソフトウェアの送信要求をサーバ1に送信する。その後、処理はステップS25に進む。
【0087】
ステップS25において、通信部39は、ソフトウェア情報により特定されるサーバ側ソフトウェアに対応するクライアント側ソフトウェアをサーバ1から受信し、受信したソフトウェアを記憶部37に格納する。その後、処理はステップS23に進む。尚、ステップS25において、通信部39がサーバ1からOTA用ソフトウェアを受信した場合、ステップ23において、制御部38は、ステップS25で受信したソフトウェアを実行する。
【0088】
尚、
図14に示すステップS15~S19の処理は、
図8で説明したものと同じであるため、繰り返しの説明を省略する。
【0089】
また、ステップS20及びS21におけるソフトウェア情報の送信要求及び受信、ステップS24及びS25におけるOTA用ソフトウェアの送信要求及び受信は、OTA用ソフトウェアを介さずに実行可能な処理である。
【0090】
本実施形態に係るソフトウェア更新装置11は、OTA用ソフトウェアとして、互いに異なる第1ソフトウェア及び第2ソフトウェアを記憶部37に有し、サーバ1から受信したソフトウェア情報に基づいて、サーバ側ソフトウェアに対応するソフトウェアを選択して実行する。サーバ1で稼働するOTA用ソフトウェアが変更された場合でも、サーバ側に対応したソフトウェアを実行し更新データのダウンロードが可能となる。
【0091】
また、サーバ側ソフトウェアに対応するソフトウェアがない場合、サーバ1からソフトウェアをダウンロードできるため、ダウンロードしたソフトウェアを用いて更新データのダウンロードを行うことが可能となる。
【0092】
上記の第2の実施形態においては、ソフトウェア情報は、サーバ1で稼働しているOTA用ソフトウェアを特定する情報とした例を説明したが、ソフトウェア情報は、ソフトウェア更新装置11において実行すべきOTA用ソフトウェアを指定する情報であっても良い。
【0093】
上記の第2の実施形態において、ソフトウェア情報の送信要求及び受信と、OTA用ソフトウェアの送信要求及び受信を、記憶部37に記憶されるOTA用ソフトウェアの機能を介さずに行う例を説明したが、ソフトウェア情報の送信要求及び受信と、OTA用ソフトウェアの送信要求及び受信に関する手順を共通化して、全てのOTA用ソフトウェア(サーバ側及びクライアント側)に実装しても良い。
【0094】
(その他の変形例)
上記の各実施形態で例示したサーバ1の機能は、プロセッサ(CPU)とメモリと記憶装置とを備えるコンピュータが実行する更新管理方法、あるいは、当該コンピュータに実行させる更新管理プログラム、更新管理プログラムを記憶したコンピュータ読み取り可能な非一時的記憶媒体として実現することも可能である。同様に、各実施形態で例示したソフトウェア更新装置11の機能は、プロセッサ(CPU)とメモリと記憶装置とを備える、車載されたコンピュータが実行する更新制御方法、あるいは、当該車載されたコンピュータに実行させる更新制御プログラム、更新制御プログラムを記憶したコンピュータ読み取り可能な非一時的記憶媒体として実現することも可能である。
【0095】
上記の各実施形態では、車両側において、車載ネットワークに設けられたソフトウェア更新装置11が、マスタ装置として、全ての電子制御ユニット13a~13dのプログラム更新を制御する例を説明したが、ソフトウェア更新装置11を設ける代わりに、電子制御ユニット13a~13dのいずれか1つが
図8または
図14に示した更新制御機能を有しており、他の電子制御ユニットのプログラム更新を制御しても良い。また、ソフトウェア更新装置11を設ける代わりに、
図8または
図14に示した更新制御機能を、車載ネットワーク2に有線で接続可能な外部機器に設け、この外部機器を用いて電子制御ユニット13a~13dのプログラム更新処理を行うことも可能である。
【産業上の利用可能性】
【0096】
本開示技術は、電子制御ユニットのプログラムを更新するためのネットワークシステムに利用できる。
【符号の説明】
【0097】
1 サーバ
2 車載ネットワーク
5 ネットワーク
11 ソフトウェア更新装置
13a~13d 電子制御ユニット
26 記憶部
27 第1通信部
28 制御部
29 第2通信部
37 記憶部
38 制御部
39 通信部