(57)【要約】【課題】ソフトウェアの更新をより良好に行い得るソフトウェア更新装置、車両及びソフトウェア更新方法を提供する。【解決手段】ソフトウェア更新装置１２は、ネットワークを介して供給される新版ソフトウェアを用いて、車両に搭載された複数の電子制御装置１６の各々に対してソフトウェア更新を行う更新制御部３０と、ソフトウェア更新を行う際の更新モードを並列更新モードと逐次更新モードとのうちから選択的に決定する更新モード決定部３１とを有し、更新制御部は、更新モード決定部によって決定された更新モードに基づいて、複数の電子制御装置の各々に対してソフトウェア更新を行う。【選択図】図３
2020132026.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して供給される新版ソフトウェアを取得する取得部と、
前記取得部によって取得される前記新版ソフトウェアを用いて、車両に搭載された複数の電子制御装置の各々に対してソフトウェア更新を行う更新制御部と、
前記複数の電子制御装置の各々に対して前記ソフトウェア更新を行う際の更新モードを、前記複数の電子制御装置に対して並列的に前記ソフトウェア更新を実行する並列更新モードと、前記複数の電子制御装置に対して逐次的に前記ソフトウェア更新を実行する逐次更新モードとのうちから選択的に決定する更新モード決定部とを有し、
前記更新制御部は、前記更新モード決定部によって決定された前記更新モードに基づいて、前記複数の電子制御装置の各々に対して前記ソフトウェア更新を行う、ソフトウェア更新装置。
【請求項２】
請求項１に記載のソフトウェア更新装置において、
前記複数の電子制御装置のうちの第１の電子制御装置には、前記第１の電子制御装置にインストールされた第１の旧版ソフトウェアを更新するための第１の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられており、
前記複数の電子制御装置のうちの第２の電子制御装置に対する第２の新版ソフトウェアのインストール、又は、前記第２の電子制御装置にインストールされた前記第２の新版ソフトウェアのアクティベーションが正常に完了しない場合、前記更新制御部は、前記第２の電子制御装置に対してロールバック処理を行い、前記第１の電子制御装置にインストールされた前記第１の新版ソフトウェアのアクティベーションを実行しない、ソフトウェア更新装置。
【請求項３】
請求項１又は２に記載のソフトウェア更新装置において、
前記更新制御部は、前記車両に備えられている、ソフトウェア更新装置。
【請求項４】
請求項１〜３のいずれか１項に記載のソフトウェア更新装置において、
前記取得部は、無線通信によって前記新版ソフトウェアを取得し得ない場合、充電器に接続されたケーブルを用いた有線通信によって前記新版ソフトウェアを取得する、ソフトウェア更新装置。
【請求項５】
請求項１〜３のいずれか１項に記載のソフトウェア更新装置において、
前記更新モード決定部は、自宅に備えられた充電器に前記車両が接続されている場合には、前記複数の電子制御装置に対する前記ソフトウェア更新を行う際の前記更新モードを前記逐次更新モードと決定する、ソフトウェア更新装置。
【請求項６】
請求項１に記載のソフトウェア更新装置において、
前記複数の電子制御装置のうちの第１の電子制御装置には、前記第１の電子制御装置にインストールされた第１の旧版ソフトウェアを更新するための第１の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられており、
前記更新制御部は、前記第１の電子制御装置に対する前記第１の新版ソフトウェアのインストールを、前記車両の走行中に実行する、ソフトウェア更新装置。
【請求項７】
請求項１〜６のいずれか１項に記載のソフトウェア更新装置において、
前記更新モード決定部は、前記複数の電子制御装置のうちの一部の電子制御装置に対する前記ソフトウェア更新を行う際の前記更新モードを前記並列更新モードと決定し、前記複数の電子制御装置のうちの他の電子制御装置に対する前記ソフトウェア更新を行う際の前記更新モードを前記逐次更新モードと決定する、ソフトウェア更新装置。
【請求項８】
請求項１〜７のいずれか１項に記載のソフトウェア更新装置において、
前記更新制御部は、前記並列更新モードでの前記ソフトウェア更新が正常に完了しなかった場合、前記逐次更新モードでの前記ソフトウェア更新を実行する、ソフトウェア更新装置。
【請求項９】
請求項１〜８のいずれか１項に記載のソフトウェア更新装置において、
前記車両が起動される予定の時刻である起動予定時刻を判定する起動予定時刻判定部を更に有し、
前記更新モード決定部は、前記起動予定時刻判定部によって判定された前記起動予定時刻までに前記複数の電子制御装置に対する前記ソフトウェア更新が完了するように、前記並列更新モードでの前記ソフトウェア更新に費やす時間と、前記逐次更新モードでの前記ソフトウェア更新に費やす時間との時間配分を行う、ソフトウェア更新装置。
【請求項１０】
請求項１〜９のいずれか１項に記載のソフトウェア更新装置において、
時間に余裕があるか否かを判定する時間余裕判定部を更に有し、
前記電子制御装置に対する前記新版ソフトウェアのインストールが正常に完了せず、且つ、時間に余裕があると前記時間余裕判定部が判定した場合、前記更新制御部は、前記電子制御装置に対する前記新版ソフトウェアのインストールのリトライ処理を行う、ソフトウェア更新装置。
【請求項１１】
請求項１に記載のソフトウェア更新装置において、
前記複数の電子制御装置のうちの第１の電子制御装置には、前記第１の電子制御装置にインストールされた第１の旧版ソフトウェアを更新するための第１の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられており、
前記更新制御部は、前記ソフトウェア更新が行われた後の前記第１の電子制御装置が、前記第１の新版ソフトウェアの動作ロジックと、前記第１の旧版ソフトウェアの動作ロジックとを選択的に実行することが可能となるように、前記第１の電子制御装置に対する前記ソフトウェア更新を行う、ソフトウェア更新装置。
【請求項１２】
請求項１〜８のいずれか１項に記載のソフトウェア更新装置において、
前記車両が起動される予定の時刻である起動予定時刻を判定する起動予定時刻判定部を更に有し、
前記更新制御部は、前記起動予定時刻判定部によって判定された前記起動予定時刻までに前記複数の電子制御装置に対する前記ソフトウェア更新が完了すると見込まれる場合に、前記複数の電子制御装置に対する前記ソフトウェア更新を開始する、ソフトウェア更新装置。
【請求項１３】
請求項２、６又は１１に記載のソフトウェア更新装置において、
前記第１の電子制御装置は、表示制御機能を有する電子制御装置である、ソフトウェア更新装置。
【請求項１４】
請求項１３に記載のソフトウェア更新装置において、
前記第１の電子制御装置は、車載インフォテイメント用の電子制御装置である、ソフトウェア更新装置。
【請求項１５】
請求項１〜１４のいずれか１項に記載のソフトウェア更新装置において、
前記車両に備えられたバッテリに存在している電力量が十分であるか否かを判定する電力量判定部を更に有し、
前記バッテリに存在している前記電力量が十分であると前記電力量判定部が判定した場合、前記更新制御部は、前記ソフトウェア更新を開始する、ソフトウェア更新装置。
【請求項１６】
ネットワークを介して供給される新版ソフトウェアを取得する取得部と、
前記取得部によって取得される前記新版ソフトウェアを用いて、車両に搭載された複数の電子制御装置の各々に対してソフトウェア更新を行う更新制御部と、
前記複数の電子制御装置の各々に対して前記ソフトウェア更新を行う際の更新モードを、前記複数の電子制御装置に対して並列的に前記ソフトウェア更新を実行する並列更新モードと、前記複数の電子制御装置に対して逐次的に前記ソフトウェア更新を実行する逐次更新モードとのうちから選択的に決定する更新モード決定部と、
前記車両が起動される予定の時刻である起動予定時刻を判定する起動予定時刻判定部とを備え、
前記更新モード決定部は、前記複数の電子制御装置に対する前記ソフトウェア更新を前記逐次更新モードで行った場合の完了時刻が前記起動予定時刻判定部によって判定された前記起動予定時刻より前である場合には、前記複数の電子制御装置に対するソフトウェアの前記更新モードを前記逐次更新モードと決定し、前記複数の電子制御装置に対する前記ソフトウェア更新を前記逐次更新モードで行った場合の前記完了時刻が前記起動予定時刻判定部によって判定された前記起動予定時刻より後である場合には、前記複数の電子制御装置に対するソフトウェアの前記更新モードを前記並列更新モードと決定し、
前記更新制御部は、前記更新モード決定部によって決定された前記更新モードに基づいて、前記複数の電子制御装置の各々に対して前記ソフトウェア更新を行う、ソフトウェア更新装置。
【請求項１７】
請求項１〜１６のいずれか１項に記載のソフトウェア更新装置を備える車両。
【請求項１８】
ネットワークを介して供給される新版ソフトウェアを用いて、車両に搭載された複数の電子制御装置の各々に対してソフトウェア更新を行うソフトウェア更新方法であって、
前記複数の電子制御装置に対する前記ソフトウェア更新を行う際の更新モードを、前記複数の電子制御装置に対して並列的に前記ソフトウェア更新を実行する並列更新モードと、前記複数の電子制御装置に対して逐次的に前記ソフトウェア更新を実行する逐次更新モードとのうちから選択的に決定するステップと、
前記更新モードを決定するステップにおいて決定された前記更新モードで、前記複数の電子制御装置に対する前記ソフトウェア更新を行うステップと
を有する、ソフトウェア更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア更新装置、車両及びソフトウェア更新方法に関する。
【背景技術】
【０００２】
特許文献１には、サーバから配信される更新用ソフトウェアを用いて制御装置のソフトウェアを更新する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−４５５１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ソフトウェアの更新をより良好に行い得る技術が待望されている。
【０００５】
本発明の目的は、ソフトウェアの更新をより良好に行い得るソフトウェア更新装置、車両及びソフトウェア更新方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一態様によるソフトウェア更新装置は、ネットワークを介して供給される新版ソフトウェアを取得する取得部と、前記取得部によって取得される前記新版ソフトウェアを用いて、車両に搭載された複数の電子制御装置の各々に対してソフトウェア更新を行う更新制御部と、前記複数の電子制御装置の各々に対して前記ソフトウェア更新を行う際の更新モードを、前記複数の電子制御装置に対して並列的に前記ソフトウェア更新を実行する並列更新モードと、前記複数の電子制御装置に対して逐次的に前記ソフトウェア更新を実行する逐次更新モードとのうちから選択的に決定する更新モード決定部とを有し、前記更新制御部は、前記更新モード決定部によって決定された前記更新モードに基づいて、前記複数の電子制御装置の各々に対して前記ソフトウェア更新を行う。
【０００７】
本発明の他の態様によるソフトウェア更新装置は、ネットワークを介して供給される新版ソフトウェアを取得する取得部と、前記取得部によって取得される前記新版ソフトウェアを用いて、車両に搭載された複数の電子制御装置の各々に対してソフトウェア更新を行う更新制御部と、前記複数の電子制御装置の各々に対して前記ソフトウェア更新を行う際の更新モードを、前記複数の電子制御装置に対して並列的に前記ソフトウェア更新を実行する並列更新モードと、前記複数の電子制御装置に対して逐次的に前記ソフトウェア更新を実行する逐次更新モードとのうちから選択的に決定する更新モード決定部と、前記車両が起動される予定の時刻である起動予定時刻を判定する起動予定時刻判定部とを備え、前記更新モード決定部は、前記複数の電子制御装置に対する前記ソフトウェア更新を前記逐次更新モードで行った場合の完了時刻が前記起動予定時刻判定部によって判定された前記起動予定時刻より前である場合には、前記複数の電子制御装置に対するソフトウェアの前記更新モードを前記逐次更新モードと決定し、前記複数の電子制御装置に対する前記ソフトウェア更新を前記逐次更新モードで行った場合の前記完了時刻が前記起動予定時刻判定部によって判定された前記起動予定時刻より後である場合には、前記複数の電子制御装置に対するソフトウェアの前記更新モードを前記並列更新モードと決定し、前記更新制御部は、前記更新モード決定部によって決定された前記更新モードに基づいて、前記複数の電子制御装置の各々に対して前記ソフトウェア更新を行う。
【０００８】
本発明の更に他の態様による車両は、上記のようなソフトウェア更新装置を備える。
【０００９】
本発明の更に他の態様によるソフトウェア更新方法は、ネットワークを介して供給される新版ソフトウェアを用いて、車両に搭載された複数の電子制御装置の各々に対してソフトウェア更新を行うソフトウェア更新方法であって、前記複数の電子制御装置に対する前記ソフトウェア更新を行う際の更新モードを、前記複数の電子制御装置に対して並列的に前記ソフトウェア更新を実行する並列更新モードと、前記複数の電子制御装置に対して逐次的に前記ソフトウェア更新を実行する逐次更新モードとのうちから選択的に決定するステップと、前記更新モードを決定するステップにおいて決定された前記更新モードで、前記複数の電子制御装置に対する前記ソフトウェア更新を行うステップとを有する。
【発明の効果】
【００１０】
本発明によれば、ソフトウェアの更新をより良好に行い得るソフトウェア更新装置、車両及びソフトウェア更新方法を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態によるソフトウェア更新装置を含むソフトウェア更新システムを示すブロック図である。
【図２】図２Ａ〜図２Ｄは、不揮発性メモリの構成の例を概念的に示す図である。
【図３】一実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。
【図４】一実施形態によるソフトウェア更新装置の動作の例を示すタイミングチャートである。
【図５】一実施形態によるソフトウェア更新装置の動作の例を示すタイミングチャートである。
【図６】一実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。
【図７】一実施形態によるソフトウェア更新装置の動作の例を示すタイミングチャートである。
【図８】一実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。
【図９】一実施形態によるソフトウェア更新装置の動作の例を示すタイミングチャートである。
【図１０】一実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。
【図１１】一実施形態によるソフトウェア更新装置の動作の例を示すタイミングチャートである。
【図１２】一実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。
【図１３】一実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。
【図１４】一実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。
【図１５】一実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。
【図１６】一実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
本発明によるソフトウェア更新装置、車両及びソフトウェア更新方法について、好適な実施形態を挙げ、添付の図面を参照して以下に詳細に説明する。
【００１３】
［一実施形態］
一実施形態によるソフトウェア更新装置、車両及びソフトウェア更新方法について図面を用いて説明する。図１は、本実施形態によるソフトウェア更新装置を含むソフトウェア更新システムを示すブロック図である。
【００１４】
本実施形態によるソフトウェア更新システム１１は、車両１０と、サーバ（外部機器）２２とを有する。
【００１５】
車両１０には、ソフトウェア更新装置１２と、通信部１４と、電子制御装置（ＥＣＵ：Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）１６と、イグニッションスイッチ（ＩＧＳＷ）１８と、バッテリ（ＢＡＴ）２０と、表示部２１とが備えられている。なお、電子制御装置一般について説明する際には、符号１６を用い、個々の電子制御装置について説明する際には、符号１６Ａ、１６Ｂ、１６Ｃ、１６Ｄを用いる。車両１０には、多数の電子制御装置１６が備えられているが、図１には、多数の電子制御装置１６のうちの４つの電子制御装置１６が示されている。即ち、図１には、第１の電子制御装置１６Ａと、第２の電子制御装置１６Ｂと、第３の電子制御装置１６Ｃと、第４の電子制御装置１６Ｄとが示されている。ここでは、第１の電子制御装置１６Ａと、第２の電子制御装置１６Ｂと、第３の電子制御装置１６Ｃと、第４の電子制御装置１６Ｄとが協調動作（同期動作）する場合を例に説明する。なお、車両１０には、これらの構成要素以外の構成要素も備えられるが、ここでは説明を省略する。
【００１６】
サーバ２２には、データベース３８と、通信部４０とが備えられている。通信部４０は、車両１０に備えられた通信部１４との間で無線通信を行い得る。データベース３８には、電子制御装置１６にインストールされたソフトウェア（旧版ソフトウェア、現行ソフトウェア）を更新するための新版ソフトウェア（更新用ソフトウェア）が格納され得る。なお、サーバ２２には、これらの構成要素以外の構成要素も備えられるが、ここでは説明を省略する。
【００１７】
通信部１４は、ネットワーク２５を介して、サーバ２２に備えられた通信部４０との間で無線通信を行い得る。ネットワーク２５としては、例えば、インターネット等が挙げられるがこれに限定されるものではない。通信部１４は、セルラー方式で通信を行い得る通信部であってもよいし、無線ＬＡＮ通信を行い得る通信部であってもよい。通信部１４は、ネットワーク２５を介してサーバ２２から供給される新版ソフトウェアを受信し得る。
【００１８】
車両１０には、充電器（外部充電器）４２が接続され得る。車両１０と充電器４２とはケーブル４４を介して接続され得る。ケーブル４４には、不図示の電源線と、不図示の通信線とが備えられている。このため、車両１０と充電器４２とがケーブル４４を介して接続されている場合、通信部１４は、充電器４２との間で有線通信を行い得る。充電器４２は、ネットワーク２５を介して、サーバ２２に備えられた通信部４０との間で有線通信を行い得る。このため、車両１０と充電器４２とがケーブル４４を介して接続されている場合には、通信部１４は、ケーブル４４、充電器４２及びネットワーク２５を介して、サーバ２２に備えられた通信部４０との間で有線通信を行い得る。無線通信によって新版ソフトウェアを取得し得ない場合、通信部１４は、充電器４２に接続されたケーブル４４を用いた有線通信によって新版ソフトウェアを取得し得る。
【００１９】
ソフトウェア更新装置１２には、演算部２４と、記憶部２６とが備えられている。演算部２４は、ソフトウェア更新装置１２の全体の制御を司る。演算部２４は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によって構成されている。演算部２４は、記憶部２６に記憶されているプログラムに基づいて各部を制御することによって、ソフトウェア（ファームウェア）の更新制御を実行する。記憶部２６には、不図示の揮発性メモリと、不図示の不揮発性メモリとが備えられている。サーバ２２からダウンロードされる新版ソフトウェアは、記憶部２６に一時的に記憶され得る。
【００２０】
演算部２４には、取得部２８と、更新制御部３０と、更新モード決定部３１と、時間余裕判定部３２と、電力量判定部３４と、起動予定時刻判定部３６とが備えられている。取得部２８と、更新制御部３０と、更新モード決定部３１と、時間余裕判定部３２と、電力量判定部３４と、起動予定時刻判定部３６とは、記憶部２６に記憶されているプログラムが演算部２４によって実行されることによって実現され得る。
【００２１】
取得部２８は、ネットワーク２５を介してサーバ２２から供給される新版ソフトウェア（ソフトウェア）を取得する。より具体的には、取得部２８は、通信部１４によって受信された新版ソフトウェアを取得する。
【００２２】
更新制御部３０は、取得部２８によって取得される新版ソフトウェアを用いて、車両１０に搭載された複数の電子制御装置１６の各々に対してソフトウェアの更新、即ち、ソフトウェア更新を行う。
【００２３】
ここでは、第１の電子制御装置（電子制御装置）１６Ａに、第１の旧版ソフトウェア（第１の現行ソフトウェア）がインストールされている場合を例に説明する。また、ここでは、第２の電子制御装置（電子制御装置）１６Ｂに、第２の旧版ソフトウェア（第２の現行ソフトウェア）がインストールされている場合を例に説明する。また、ここでは、第３の電子制御装置（電子制御装置）１６Ｃに、第３の旧版ソフトウェア（第３の現行ソフトウェア）がインストールされている場合を例に説明する。また、ここでは、第４の電子制御装置（電子制御装置）１６Ｄに、第４の旧版ソフトウェア（第４の現行ソフトウェア）がインストールされている場合を例に説明する。また、ここでは、第１の電子制御装置１６Ａにインストールされている第１の旧版ソフトウェアが、サーバ２２から供給される第１の新版ソフトウェアによって更新される場合を例に説明する。また、ここでは、第２の電子制御装置１６Ｂにインストールされている第２の旧版ソフトウェアが、サーバ２２から供給される第２の新版ソフトウェアによって更新される場合を例に説明する。また、ここでは、第３の電子制御装置１６Ｃにインストールされている第３の旧版ソフトウェアが、サーバ２２から供給される第３の新版ソフトウェアによって更新される場合を例に説明する。また、ここでは、第４の電子制御装置１６Ｄにインストールされている第４の旧版ソフトウェアが、サーバ２２から供給される第４の新版ソフトウェアによって更新される場合を例に説明する。
【００２４】
第１の電子制御装置１６Ａに備えられている不図示の不揮発性メモリの記憶容量は、比較的大きい。図２Ａは、第１の電子制御装置１６Ａに備えられている不揮発性メモリの構成の例を概念的に示す図である。第１の電子制御装置１６Ａには、不揮発性のメモリチップが複数備えられている。ここでは、不揮発性のメモリチップが２つ備えられている場合、即ち、第１のメモリチップと第２のメモリチップとが備えられている場合を例に説明する。第１のメモリチップは、例えば、不図示の基板の一方の面に搭載されている。第２のメモリチップは、例えば、基板の他方の面に搭載されている。第１のメモリチップは、第１のバンク（第１のメモリバンク、第１の格納箇所）５０Ａを構成している。第２のメモリチップは、第２のバンク（第２のメモリバンク、第２の格納箇所）５０Ｂを構成している。このような構成は、ダブルバンクと称される。第１の電子制御装置１６Ａにおいては、例えば、第１のバンク５０Ａに第１の旧版ソフトウェアがインストールされている状態において、第２のバンク５０Ｂに第１の新版ソフトウェアをインストールすることが可能である。即ち、第２のバンク５０Ｂは、第１の新版ソフトウェアをインストールする際のバッファとして機能し得る。換言すれば、第２のバンク５０Ｂは、第１の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域（インストール可能領域）として機能し得る。なお、ここでは、複数のメモリチップが第１の電子制御装置１６Ａに備えられている場合を例に説明したが、これに限定されるものではない。大容量の１つのメモリチップが第１の電子制御装置１６Ａに備えられているようにしてもよい。そして、第１のバンク５０Ａと第２のバンク５０Ｂとが大容量の１つのメモリチップに備えられているようにしてもよい。
【００２５】
第１の電子制御装置１６Ａは、例えば、表示制御機能が備えられた電子制御装置であるが、これに限定されるものではない。より具体的には、第１の電子制御装置１６Ａは、例えば、車載インフォテイメント（ＩＶＩ：Ｉｎ−Ｖｅｈｉｃｌｅ  Ｉｎｆｏｔａｉｎｍｅｎｔ）用のＥＣＵ、メータ表示部用のＥＣＵ等であるが、これに限定されるものではない。
【００２６】
第２の電子制御装置１６Ｂに備えられている不図示の不揮発性メモリの容量は、比較的小さい。図２Ｂは、第２の電子制御装置１６Ｂに備えられている不揮発性メモリの構成の例を概念的に示す図である。第２の電子制御装置１６Ｂには、不揮発性のメモリチップが例えば１つだけ備えられている。１つのメモリチップによって、バンク５２が構成されている。第２の電子制御装置１６Ｂには、バンク５２が１つのみ備えられている。このような構成は、シングルバンクと称される。第２の電子制御装置１６Ｂにおいては、メモリチップに第２の旧版ソフトウェアがインストールされている状態において、当該メモリチップに第２の新版ソフトウェアをインストールし得ない。このように、第２の電子制御装置１６Ｂには、第２の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられていない。
【００２７】
第３の電子制御装置１６Ｃに備えられている不図示の不揮発性メモリの容量は、比較的小さい。図２Ｃは、第３の電子制御装置１６Ｃに備えられている不揮発性メモリの構成の例を概念的に示す図である。第３の電子制御装置１６Ｃには、不揮発性のメモリチップが例えば１つだけ備えられている。１つのメモリチップによって、バンク５４が構成されている。第３の電子制御装置１６Ｃには、バンク５４が１つのみ備えられている。第３の電子制御装置１６Ｃにおいては、メモリチップに第３の旧版ソフトウェアがインストールされている状態において、当該メモリチップに第３の新版ソフトウェアをインストールし得ない。このように、第３の電子制御装置１６Ｃには、第３の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられていない。
【００２８】
第４の電子制御装置１６Ｄに備えられている不図示の不揮発性メモリの容量は、比較的小さい。図２Ｄは、第４の電子制御装置１６Ｄに備えられている不揮発性メモリの構成の例を概念的に示す図である。第４の電子制御装置１６Ｄには、不揮発性のメモリチップが例えば１つだけ備えられている。１つのメモリチップによって、バンク５６が構成されている。第４の電子制御装置１６Ｄには、バンク５６が１つのみ備えられている。第４の電子制御装置１６Ｄにおいては、メモリチップに第４の旧版ソフトウェアがインストールされている状態において、当該メモリチップに第４の新版ソフトウェアをインストールし得ない。このように、第４の電子制御装置１６Ｄには、第４の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられていない。
【００２９】
上述したように、第１の電子制御装置１６Ａには、第１の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域、即ち、第２のバンク５０Ｂが備えられている。このため、第１の電子制御装置１６Ａに対しては、車両１０の走行中であっても第１の新版ソフトウェアのインストールが行われ得る。
【００３０】
上述したように、第２の電子制御装置１６Ｂ、第３の電子制御装置１６Ｃ及び第４の電子制御装置１６Ｄには、新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられていない。このため、第２の電子制御装置１６Ｂ、第３の電子制御装置１６Ｃ及び第４の電子制御装置１６Ｄに対しては、車両１０の走行中には新版ソフトウェアのインストールが行われ得ない。従って、更新制御部３０は、第２の電子制御装置１６Ｂ、第３の電子制御装置１６Ｃ及び第４の電子制御装置１６Ｄに対する新版ソフトウェアのインストールを、車両１０が停止している際に実行する。換言すれば、更新制御部３０は、電子制御装置１６Ｂ〜１６Ｄに対する新版ソフトウェアのインストールを、車両１０の主電源がオフになっている際、即ち、イグニッションスイッチ１８がオフになっている際に実行する。イグニッションスイッチ１８がオフになっていても、ソフトウェア更新装置１２、通信部１４、電子制御装置１６等に対する電力の供給は、バッテリ２０等から適宜行われ得る。なお、車両１０と充電器４２とがケーブル４４を介して接続されている場合には、電子制御装置１６等に対する電力の供給は、充電器４２から行われ得る。
【００３１】
上述したように、第１の電子制御装置１６Ａに対しては、車両１０の走行中であっても第１の新版ソフトウェアのインストールが行われ得る。ユーザが車両１０を使用し得なくなる時間を短縮する観点からは、車両１０の走行中に第１の新版ソフトウェアのインストールを行い得る第１の電子制御装置１６Ａに対しては、以下のようにすることが好ましい。即ち、第１の電子制御装置１６Ａに対する第１の新版ソフトウェアのインストールを、車両１０の走行中に実行しておくことが好ましい。更新制御部３０は、第１の電子制御装置１６Ａに対する第１の新版ソフトウェアのインストールを、例えば、車両１０の走行中に実行する。例えば、第１のバンク５０Ａに第１の旧版ソフトウェアがインストールされている場合、第２のバンク５０Ｂに第１の新版ソフトウェアがインストールされ得る。このように、更新制御部３０は、第１の旧版ソフトウェアと第１の新版ソフトウェアとを第１の電子制御装置１６Ａに併存させるように、第１の電子制御装置１６Ａに対するソフトウェアの更新を行う。第１の電子制御装置１６Ａにインストールされる第１の新版ソフトウェアのアクティベーションは、車両１０の走行中には行われない。なお、車両１０が停止している際に、第１の電子制御装置１６Ａに対する第１の新版ソフトウェアのインストールが実行されるようにしてもよい。なお、アクティベーションとは、電子制御装置等の初回起動時又は初期化後に、当該電子制御装置等に備えられた機能を実行可能とすることである。
【００３２】
更新モード決定部３１は、複数の電子制御装置１６の各々に対してソフトウェアの更新を行う際の更新モードを、並列更新モード（パラレル更新モード）と逐次更新モード（シリアル更新モード）とのうちから選択的に決定する。並列更新モードは、複数の電子制御装置１６に対して並列的にソフトウェアの更新を実行する更新モードである。逐次更新モードは、複数の電子制御装置１６に対して逐次的にソフトウェアの更新を実行する更新モードである。更新制御部３０は、更新モード決定部３１によって決定された更新モードに基づいて、複数の電子制御装置１６の各々に対してソフトウェアの更新を行う。
【００３３】
更新制御部３０は、第１の電子制御装置１６Ａにインストールされた第１の新版ソフトウェアのアクティベーションを、車両１０が停止している際に実行する。換言すれば、更新制御部３０は、第１の電子制御装置１６Ａにインストールされている第１の新版ソフトウェアのアクティベーションを、車両１０の主電源がオフになっている際、即ち、イグニッションスイッチ１８がオフになっている際に実行する。
【００３４】
更新制御部３０は、第１の新版ソフトウェアがインストールされた第１の電子制御装置１６Ａが、以下のように動作し得るように、第１の電子制御装置１６Ａに対するソフトウェアの更新を行い得る。即ち、更新制御部３０は、第１の電子制御装置１６Ａが、第１の新版ソフトウェアの動作ロジック（ソースコード、プログラムコード、プログラムコードロジック）と、第１の旧版ソフトウェアの動作ロジックとを選択的に実行し得るように、ソフトウェアの更新を行う。
【００３５】
上述したように、第１のバンク５０Ａには、第１の旧版ソフトウェアがインストールされている。このような状態において、第２のバンク５０Ｂに第１の新版ソフトウェアがインストールされる。第１のバンク５０Ａに第１の旧版ソフトウェアがインストールされている状態で、第２のバンク５０Ｂに第１の新版ソフトウェアがインストールされるため、第１の電子制御装置１６Ａは、以下のように動作し得る。即ち、第１の電子制御装置１６Ａは、更新前のソフトウェアである第１の旧版ソフトウェアの動作ロジックと、更新後のソフトウェアである第１の新版ソフトウェアの動作ロジックとを選択的に実行し得る。なお、第１の新版ソフトウェアが、第１の新版ソフトウェアの動作ロジックのみならず、第１の旧版ソフトウェアの動作ロジックをも実現し得てもよい。
【００３６】
電子制御装置１６Ｂ〜１６Ｄに対するソフトウェアの更新が正常に完了した場合、更新制御部３０は、第１の新版ソフトウェアの動作ロジックの実行を第１の電子制御装置１６Ａに開始させる。
【００３７】
更新制御部３０は、電子制御装置１６Ｂ〜１６Ｄのうちのいずれかに対する新版ソフトウェアのインストールが正常に完了しない場合、ロールバック処理を行う。即ち、電子制御装置１６Ｂ〜１６Ｄのうちのいずれかに対する新版ソフトウェアのインストールが正常に完了しない場合、更新制御部３０は、これらの電子制御装置１６Ｂ〜１６Ｄのソフトウェアを更新前の状態に戻す処理を行う。この場合、更新制御部３０は、第１の旧版ソフトウェアの動作ロジックを第１の電子制御装置１６Ａに実行させる。この場合、更新制御部３０は、第１の電子制御装置１６Ａにインストールされた第１の新版ソフトウェアのアクティベーションを実行しないようにしてもよい。
【００３８】
更新制御部３０は、電子制御装置１６Ｂ〜１６Ｄにインストールされた新版ソフトウェアのアクティベーションが正常に完了しない場合、電子制御装置１６Ｂ〜１６Ｄに対してロールバック処理を行う。即ち、電子制御装置１６Ｂ〜１６Ｄに対する新版ソフトウェアのアクティベーションが正常に完了しない場合、更新制御部３０は、電子制御装置１６Ｂ〜１６Ｄのソフトウェアを更新前の状態に戻す処理を行う。この場合、更新制御部３０は、第１の旧版ソフトウェアの動作ロジックを第１の電子制御装置１６Ａに実行させる。この場合、更新制御部３０は、第１の電子制御装置１６Ａにインストールされた第１の新版ソフトウェアのアクティベーションを実行しないようにしてもよい。
【００３９】
このように、本実施形態では、第１の新版ソフトウェアの動作ロジックと、第１の旧版ソフトウェアの動作ロジックとを第１の電子制御装置１６Ａが選択的に実行することが可能となるように、ソフトウェアの更新が行われる。本実施形態によれば、新版ソフトウェアがインストールされた第１の電子制御装置１６Ａと、新版ソフトウェアがインストールされた電子制御装置１６Ｂ〜１６Ｄとが良好に協調動作し得ない場合、以下のようにすることができる。即ち、このような場合、更新制御部３０は、電子制御装置１６Ｂ〜１６Ｄのソフトウェアを更新前の状態に戻し、第１の電子制御装置１６Ａに第１の旧版ソフトウェアの動作ロジックを実行させる。このようにすることにより、本実施形態によれば、第１の新版ソフトウェアが第１の電子制御装置１６Ａにインストールされているにもかかわらず、第１の電子制御装置１６Ａと電子制御装置１６Ｂ〜１６Ｄとを協調動作させることができる。
【００４０】
更新モード決定部３１は、自宅に備えられた充電器４２に車両１０が接続されている場合、複数の電子制御装置１６に対するソフトウェアの更新を行う際の更新モードを例えば逐次更新モードと決定し得る。
【００４１】
更新モード決定部３１は、複数の電子制御装置１６のうちの一部の電子制御装置１６に対するソフトウェアの更新を行う際の更新モードを、例えば、並列更新モードと決定し得る。また、更新モード決定部３１は、複数の電子制御装置１６のうちの他の電子制御装置１６に対するソフトウェアの更新を行う際の更新モードを、例えば、逐次更新モードと決定する。更新モード決定部３１は、電子制御装置１６Ａ、１６Ｂに対するソフトウェアの更新を行う際の更新モードを、例えば、並列更新モードと決定し得る。また、更新モード決定部３１は、電子制御装置１６Ｃ、１６Ｄに対するソフトウェアの更新を行う際の更新モードを、例えば、逐次更新モードと決定し得る。
【００４２】
更新制御部３０は、並列更新モードでのソフトウェアの更新が正常に完了しなかった場合、逐次更新モードでのソフトウェアの更新を実行し得る。
【００４３】
更新モード決定部３１は、車両１０が起動される予定の時刻である起動予定時刻までに複数の電子制御装置１６に対するソフトウェアの更新が完了するように、時間配分を行う。即ち、更新モード決定部３１は、並列更新モードでのソフトウェアの更新に費やす時間と、逐次更新モードでのソフトウェアの更新に費やす時間との時間配分を行う。更新モード決定部３１によって適切な時間配分が行われるため、ソフトウェアの更新を起動予定時刻までに確実に完了させ得る。なお、車両１０が起動される予定の時刻、即ち、車両１０の起動予定時刻は、起動予定時刻判定部３６によって判定され得る。
【００４４】
更新モード決定部３１は、複数の電子制御装置１６に対するソフトウェアの更新を逐次更新モードで行った場合の完了時刻が起動予定時刻判定部３６によって判定された起動予定時刻より前である場合には、以下のような決定を行う。より具体的には、複数の電子制御装置１６に対するソフトウェアの更新を逐次更新モードで行った場合の完了時刻が、起動予定時刻に対して所定時間前の時刻より前である場合には、以下のような決定を行う。即ち、このような場合、更新モード決定部３１は、複数の電子制御装置１６に対するソフトウェアの更新モードを例えば逐次更新モードと決定する。更新モード決定部３１は、複数の電子制御装置１６に対するソフトウェアの更新を逐次更新モードで行った場合の完了時刻が起動予定時刻判定部３６によって判定された起動予定時刻より後である場合には、以下のような決定を行う。より具体的には、複数の電子制御装置１６に対するソフトウェアの更新を逐次更新モードで行った場合の完了時刻が、起動予定時刻に対して所定時間前の時刻より後である場合には、以下のような決定を行う。即ち、このような場合、更新モード決定部３１は、複数の電子制御装置１６に対するソフトウェアの更新モードを例えば並列更新モードと決定する。
【００４５】
時間余裕判定部３２は、新版ソフトウェアのインストールのリトライ処理（再試行処理）を実行する時間的な余裕があるか否かを判定し得る。時間余裕判定部３２は、リトライ処理を実行する時間的な余裕があるか否かを、現在の時刻と、リトライ処理に要する時間と、車両１０が起動される予定の時刻とに基づいて判定し得る。なお、車両１０が起動される予定の時刻、即ち、車両１０の起動予定時刻は、起動予定時刻判定部３６によって判定され得る。
【００４６】
更新制御部３０は、電子制御装置１６に対する新版ソフトウェアのインストールが正常に完了せず、且つ、時間に余裕があると時間余裕判定部３２が判定した場合、以下のような処理を行う。即ち、更新制御部３０は、このような場合、電子制御装置１６に対する新版ソフトウェアのインストールのリトライ処理を行う。
【００４７】
バッテリ２０には、不図示の電圧センサ、不図示の温度センサ、及び、不図示の電流センサが備えられている。バッテリ２０に備えられたこれらのセンサからそれぞれ出力される信号は、ソフトウェア更新装置１２に供給される。電力量判定部３４は、バッテリ２０から供給されるこれらの信号に基づいて、バッテリ２０の充電状態（ＳＯＣ：Ｓｔａｔｅ  Ｏｆ  Ｃｈａｒｇｅ）を判定する。電力量判定部３４は、バッテリ２０に確保されている電力量が十分であるか否かを判定する。より具体的には、電力量判定部３４は、バッテリ２０に確保されている電力量が、ソフトウェアの更新を行う上で十分であるか否かを判定する。電力量判定部３４は、ソフトウェアの更新に要する時間と、ソフトウェアの更新の際に消費する電力と、バッテリ２０に確保されている電力量とに基づいて、バッテリ２０に確保されている電力量が十分であるか否かを判定する。更新制御部３０は、バッテリ２０に確保されている電力量が十分であることが電力量判定部３４によって判定された場合、ソフトウェアの更新を開始し得る。
【００４８】
更新制御部３０は、第１の電子制御装置１６Ａにインストールされた第１の新版ソフトウェアのアクティベーションが正常に完了した場合、第１の電子制御装置１６Ａに対してシャットダウンの処理を行う。更新制御部３０は、第２の電子制御装置１６Ｂにインストールされた第２の新版ソフトウェアのアクティベーションが正常に完了した場合、第２の電子制御装置１６Ｂに対してシャットダウンの処理を行う。更新制御部３０は、第３の電子制御装置１６Ｃにインストールされた第３の新版ソフトウェアのアクティベーションが正常に完了した場合、第３の電子制御装置１６Ｃに対してシャットダウンの処理を行う。更新制御部３０は、第４の電子制御装置１６Ｄにインストールされた第４の新版ソフトウェアのアクティベーションが正常に完了した場合、第４の電子制御装置１６Ｄに対してシャットダウンの処理を行う。
【００４９】
起動予定時刻判定部３６は、車両１０が停止するごとに、即ち、車両１０の主電源がオフになる毎に、以下のような情報を記憶部２６に記憶しておく。即ち、起動予定時刻判定部３６は、車両１０が停止された日付、車両１０が停止された曜日、車両１０の停止が開始された時刻、停止していた車両１０が起動された時刻、車両１０が停止した場所等を記憶部２６に記憶しておく。起動予定時刻判定部３６は、これらの情報に基づいて、停止している車両１０の起動予定時刻を判定する。起動予定時刻判定部３６は、例えば、現在の車両１０の位置と、現在の時刻等とに基づいて、現在停止している車両１０の起動予定時刻を判定する。車両１０には、例えば、不図示のＧＮＳＳ（Ｇｌｏｂａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ  Ｓｙｓｔｅｍ、全地球航法衛星システム）センサが備えられている。起動予定時刻判定部３６は、ＧＮＳＳセンサから供給される情報に基づいて、現在の車両１０の位置を検出し得る。例えば、車両１０の現在の位置が自宅の敷地内であり、且つ、現在の時刻が例えば２１時である場合、起動予定時刻判定部３６は、翌朝の例えば７時に車両１０が起動されると判定し得る。なお、人工知能（ＡＩ：Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ）技術を用いて起動予定時刻判定部３６を実現するようにしてもよい。
【００５０】
更新制御部３０は、起動予定時刻判定部３６によって判定された起動予定時刻より前に複数の電子制御装置１６に対するソフトウェアの更新が完了すると見込まれる場合、複数の電子制御装置１６に対するソフトウェアの更新を開始する。より具体的には、更新制御部３０は、起動予定時刻に対して所定時間だけ前の時刻までに、複数の電子制御装置１６に対するソフトウェアの更新が完了すると見込まれる場合、複数の電子制御装置１６に対するソフトウェアの更新を開始する。なお、電子制御装置１６に対するソフトウェアの更新には、電子制御装置１６への新版ソフトウェアのインストールと、電子制御装置１６にインストールされた新版ソフトウェアのアクティベーションとが含まれる。
【００５１】
表示部２１は、ソフトウェアの更新等に関する表示画面が表示され得る。表示部２１は、例えばタッチパネルであるが、これに限定されるものではない。ユーザは、例えばタッチパネルを操作することにより、ソフトウェア更新装置１２に対して操作入力を行い得る。例えば、ソフトウェアの更新に同意する意思表示を、ユーザは、タッチパネルを操作することによって行い得る。
【００５２】
図３は、本実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。
【００５３】
ステップＳ１において、更新制御部３０は、ソフトウェアの更新を行うことに同意するか否かをユーザに問うための表示画面を、表示部２１に表示する。ステップＳ１は、車両１０の主電源がオンの状態で実行される。ユーザは、例えば、表示部２１に備えられたタッチパネルを操作することによって、ソフトウェアの更新に同意するか否かの意思表示を行い得る。ソフトウェアの更新にユーザが同意した場合（ステップＳ１においてＹＥＳ）、ステップＳ２に遷移する。ソフトウェアの更新にユーザが同意しない場合（ステップＳ１においてＮＯ）、図３に示す処理が完了する。
【００５４】
ステップＳ２において、更新モード決定部３１は、更新モードの決定を実行する。この後、ステップＳ３に遷移する。
【００５５】
ステップＳ３において、更新制御部３０は、車両１０の主電源がオフになったか否かを判定する。即ち、更新制御部３０は、イグニッションスイッチ１８がオフになったか否かを判定する。車両１０の主電源がオフになった場合（ステップＳ３においてＹＥＳ）、ステップＳ４に遷移する。車両１０の主電源がオンである場合（ステップＳ３においてＮＯ）、ステップＳ３が繰り返される。
【００５６】
ステップＳ４において、更新制御部３０は、ステップＳ２において更新モード決定部３１によって決定された更新モードを判定する。ステップＳ２において更新モード決定部３１によって決定された更新モードが並列更新モードである場合（ステップＳ４においてＹＥＳ）、ステップＳ５に遷移する。ステップＳ２において更新モード決定部３１によって決定された更新モードが逐次更新モードである場合（ステップＳ４においてＮＯ）、ステップＳ６に遷移する。
【００５７】
ステップＳ５において、更新制御部３０は、複数の電子制御装置１６の各々に対するソフトウェアの更新を並列更新モードで行う。ステップＳ５が完了した場合には、図３に示す処理が完了する。
【００５８】
ステップＳ６において、更新制御部３０は、複数の電子制御装置１６の各々に対するソフトウェアの更新を逐次更新モードで行う。ステップＳ６が完了した場合には、図３に示す処理が完了する。
【００５９】
図４は、本実施形態によるソフトウェア更新装置の動作の例を示すタイミングチャートである。図４に示すタイミングチャートは、図３におけるステップＳ５に対応している。即ち、図４には、複数の電子制御装置１６に対するソフトウェアの更新が並列更新モードで行われる場合の例が示されている。なお、ここでは、４つの電子制御装置１６Ａ〜１６Ｄに対するソフトウェアの更新が図示されているが、ソフトウェアの更新が行われる電子制御装置１６の数は４つに限定されるものではない。
【００６０】
図４に示すように、タイミングｔ１において、イグニッションスイッチ１８がオフとなる。タイミングｔ１において、複数の電子制御装置１６、即ち、電子制御装置１６Ａ〜１６Ｄに対する新版ソフトウェアのインストールが開始される。
【００６１】
タイミングｔ２において、複数の電子制御装置１６に対する新版ソフトウェアのインストールが完了する。なお、ここでは、説明の簡略化のため、電子制御装置１６Ａ〜１６Ｄへの新版ソフトウェアのインストールが同時に完了する場合を例に説明しているが、これに限定されるものではない。複数の電子制御装置１６に対する新版ソフトウェアのインストールが完了すると、複数の電子制御装置１６にそれぞれインストールされた新版ソフトウェアのアクティベーションが開始される。
【００６２】
タイミングｔ３において、複数の電子制御装置１６にそれぞれインストールされた新版ソフトウェアのアクティベーションが完了する。複数の電子制御装置１６にそれぞれインストールされた新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部３０は、複数の電子制御装置１６の各々に対してシャットダウンの処理を行う。なお、ここでは、説明の簡略化のため、複数の電子制御装置１６に対するシャットダウンの処理が同時に実行される場合を例に説明しているが、これに限定されるものではない。
【００６３】
タイミングｔ４において、イグニッションスイッチ１８がオンとなる。タイミングｔ４以降においては、複数の電子制御装置１６の各々は、新版ソフトウェアの動作ロジックをそれぞれ実行する（ＮＥＷ）。タイミングｔ４以降においては、新版ソフトウェアに基づいて動作する電子制御装置１６Ａ〜１６Ｄが、協調動作（同期動作）を行う。
【００６４】
図４に示す例によれば、複数の電子制御装置１６に対するソフトウェアの更新が並列更新モードで行われるため、ソフトウェアの更新を比較的短い時間で完了させることができる。
【００６５】
図５は、本実施形態によるソフトウェア更新装置の動作の例を示すタイミングチャートである。図５に示すタイミングチャートは、図３におけるステップＳ６に対応している。即ち、図５には、複数の電子制御装置１６Ａ〜１６Ｄに対するソフトウェアの更新が逐次更新モードで行われる場合の例が示されている。なお、ここでは、４つの電子制御装置１６Ａ〜１６Ｄに対するソフトウェアの更新が図示されているが、ソフトウェアの更新が行われる電子制御装置１６の数は４つに限定されるものではない。
【００６６】
図５に示すように、タイミングｔ１１において、イグニッションスイッチ１８がオフとなる。タイミングｔ１１において、第１の電子制御装置１６Ａに対する第１の新版ソフトウェアのインストールが開始される。
【００６７】
タイミングｔ１２において、第１の電子制御装置１６Ａに対する第１の新版ソフトウェアのインストールが完了する。第１の電子制御装置１６Ａに対する第１の新版ソフトウェアのインストールが完了すると、第１の電子制御装置１６Ａにインストールされた第１の新版ソフトウェアのアクティベーションが開始される。
【００６８】
タイミングｔ１３において、第１の電子制御装置１６Ａにインストールされた第１の新版ソフトウェアのアクティベーションが完了する。第１の電子制御装置１６Ａにインストールされた第１の新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部３０は、第１の電子制御装置１６Ａに対してシャットダウンの処理を行う。第１の電子制御装置１６Ａにインストールされた第１の新版ソフトウェアのアクティベーションが完了すると、第２の電子制御装置１６Ｂに対する第２の新版ソフトウェアのインストールが開始される。
【００６９】
タイミングｔ１４において、第２の電子制御装置１６Ｂに対する第２の新版ソフトウェアのインストールが完了する。第２の電子制御装置１６Ｂに対する第２の新版ソフトウェアのインストールが完了すると、第２の電子制御装置１６Ｂにインストールされた第２の新版ソフトウェアのアクティベーションが開始される。
【００７０】
タイミングｔ１５において、第２の電子制御装置１６Ｂにインストールされた第２の新版ソフトウェアのアクティベーションが完了する。第２の電子制御装置１６Ｂにインストールされた第２の新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部３０は、第２の電子制御装置１６Ｂに対してシャットダウンの処理を行う。第２の電子制御装置１６Ｂにインストールされた第２の新版ソフトウェアのアクティベーションが完了すると、第３の電子制御装置１６Ｃに対する第３の新版ソフトウェアのインストールが開始される。
【００７１】
タイミングｔ１６において、第３の電子制御装置１６Ｃに対する第３の新版ソフトウェアのインストールが完了する。第３の電子制御装置１６Ｃに対する第３の新版ソフトウェアのインストールが完了すると、第３の電子制御装置１６Ｃにインストールされた第３の新版ソフトウェアのアクティベーションが開始される。
【００７２】
タイミングｔ１７において、第３の電子制御装置１６Ｃにインストールされた第３の新版ソフトウェアのアクティベーションが完了する。第３の電子制御装置１６Ｃにインストールされた第３の新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部３０は、第３の電子制御装置１６Ｃに対してシャットダウンの処理を行う。第３の電子制御装置１６Ｃにインストールされた第３の新版ソフトウェアのアクティベーションが完了すると、第４の電子制御装置１６Ｄに対する第４の新版ソフトウェアのインストールが開始される。
【００７３】
タイミングｔ１８において、第４の電子制御装置１６Ｄに対する第４の新版ソフトウェアのインストールが完了する。第４の電子制御装置１６Ｄに対する第４の新版ソフトウェアのインストールが完了すると、第４の電子制御装置１６Ｄにインストールされた第４の新版ソフトウェアのアクティベーションが開始される。
【００７４】
タイミングｔ１９において、第４の電子制御装置１６Ｄにインストールされた第４の新版ソフトウェアのアクティベーションが完了する。第４の電子制御装置１６Ｄにインストールされた第４の新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部３０は、第４の電子制御装置１６Ｄに対してシャットダウンの処理を行う。
【００７５】
タイミングｔ２０において、イグニッションスイッチ１８がオンとなる。タイミングｔ２０以降においては、複数の電子制御装置１６の各々は、新版ソフトウェアの動作ロジックをそれぞれ実行する（ＮＥＷ）。タイミングｔ２０以降においては、新版ソフトウェアに基づいて動作する電子制御装置１６Ａ〜１６Ｄが、協調動作（同期動作）を行う。
【００７６】
図５に示す例によれば、複数の電子制御装置１６に対するソフトウェアの更新が逐次更新モードで行われる。並列更新モードではソフトウェアの更新ができない場合であっても、逐次更新モードであればソフトウェアの更新ができる場合がある。図５に示す例によれば、ソフトウェアの更新をより確実に行うことが可能となる。
【００７７】
図６は、本実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。図６には、第１の電子制御装置１６Ａへの第１の新版ソフトウェアのインストールが車両１０の走行中にバックグラウンドで行われる場合の例が示されている。
【００７８】
ステップＳ１において、更新制御部３０は、ソフトウェアの更新を行うことに同意するか否かをユーザに問うための表示画面を、表示部２１に表示する。ステップＳ１は、例えば、車両１０の走行中に実行され得る。ソフトウェアの更新にユーザが同意した場合（ステップＳ１においてＹＥＳ）、ステップＳ２に遷移する。ソフトウェアの更新にユーザが同意しない場合（ステップＳ１においてＮＯ）、図６に示す処理が完了する。
【００７９】
ステップＳ２において、更新モード決定部３１は、更新モードの決定を実行する。この後、ステップＳ１１に遷移する。
【００８０】
ステップＳ１１において、更新制御部３０は、第１の電子制御装置１６Ａに第１の新版ソフトウェアをバックグラウンドでインストールする。なお、新版ソフトウェアをバックグラウンドでインストールすることが可能な電子制御装置１６が、第１の電子制御装置１６Ａ以外にも存在する場合には、そのような電子制御装置１６に対しても新版ソフトウェアのインストールをバックグラウンドで行う。この後、ステップＳ３に遷移する。
【００８１】
ステップＳ３〜Ｓ６は、図３を用いて上述したステップＳ３〜Ｓ６と同様であるため、説明を省略する。こうして、図６に示す処理が完了する。
【００８２】
図７は、本実施形態によるソフトウェア更新装置の動作の例を示すタイミングチャートである。図７に示すタイミングチャートは、図６におけるステップＳ１１、Ｓ６に対応している。即ち、図７には、電子制御装置１６Ａに対する新版ソフトウェアのインストールが車両１０の走行中に行われ、イグニッションスイッチ１８がオフになった後、ソフトウェアの更新が逐次更新モードで行われる場合の例が示されている。なお、ここでは、４つの電子制御装置１６Ａ〜１６Ｄに対するソフトウェアの更新が図示されているが、ソフトウェアの更新が行われる電子制御装置１６の数は４つに限定されるものではない。
【００８３】
図７に示すように、タイミングｔ２１において、第１の電子制御装置１６Ａへの第１の新版ソフトウェアのインストールが開始される。タイミングｔ２１において、イグニッションスイッチ１８はオンになっており、車両１０は走行中である。このように、イグニッションスイッチ１８がオンになっている状態において、第１の新版ソフトウェアのインストールが第１の電子制御装置１６Ａに対して行われる。
【００８４】
タイミングｔ２２において、イグニッションスイッチ１８がオフとなる。イグニッションスイッチ１８がオフになると、第１の電子制御装置１６Ａにインストールされた第１の新版ソフトウェアのアクティベーションが開始される。
【００８５】
タイミングｔ２３において、第１の電子制御装置１６Ａにインストールされた第１の新版ソフトウェアのアクティベーションが完了する。第１の電子制御装置１６Ａにインストールされた第１の新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部３０は、第１の電子制御装置１６Ａに対してシャットダウンの処理を行う。第１の電子制御装置１６Ａにインストールされた第１の新版ソフトウェアのアクティベーションが完了すると、第２の電子制御装置１６Ｂに対する第２の新版ソフトウェアのインストールが開始される。
【００８６】
タイミングｔ２４において、第２の電子制御装置１６Ｂに対する第２の新版ソフトウェアのインストールが完了する。第２の電子制御装置１６Ｂに対する第２の新版ソフトウェアのインストールが完了すると、第２の電子制御装置１６Ｂにインストールされた第２の新版ソフトウェアのアクティベーションが開始される。
【００８７】
タイミングｔ２５において、第２の電子制御装置１６Ｂにインストールされた第２の新版ソフトウェアのアクティベーションが完了する。第２の電子制御装置１６Ｂにインストールされた第２の新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部３０は、第２の電子制御装置１６Ｂに対してシャットダウンの処理を行う。第２の電子制御装置１６Ｂにインストールされた第２の新版ソフトウェアのアクティベーションが完了すると、第３の電子制御装置１６Ｃに対する第３の新版ソフトウェアのインストールが開始される。
【００８８】
タイミングｔ２６において、第３の電子制御装置１６Ｃに対する第３の新版ソフトウェアのインストールが完了する。第３の電子制御装置１６Ｃに対する第３の新版ソフトウェアのインストールが完了すると、第３の電子制御装置１６Ｃにインストールされた第３の新版ソフトウェアのアクティベーションが開始される。
【００８９】
タイミングｔ２７において、第３の電子制御装置１６Ｃにインストールされた第３の新版ソフトウェアのアクティベーションが完了する。第３の電子制御装置１６Ｃにインストールされた第３の新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部３０は、第３の電子制御装置１６Ｃに対してシャットダウンの処理を行う。第３の電子制御装置１６Ｃにインストールされた第３の新版ソフトウェアのアクティベーションが完了すると、第４の電子制御装置１６Ｄに対する第４の新版ソフトウェアのインストールが開始される。
【００９０】
タイミングｔ２８において、第４の電子制御装置１６Ｄに対する第４の新版ソフトウェアのインストールが完了する。第４の電子制御装置１６Ｄに対する第４の新版ソフトウェアのインストールが完了すると、第４の電子制御装置１６Ｄにインストールされた第４の新版ソフトウェアのアクティベーションが開始される。
【００９１】
タイミングｔ２９において、第４の電子制御装置１６Ｄにインストールされた第４の新版ソフトウェアのアクティベーションが完了する。第４の電子制御装置１６Ｄにインストールされた第４の新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部３０は、第４の電子制御装置１６Ｄに対してシャットダウンの処理を行う。
【００９２】
タイミングｔ３０において、イグニッションスイッチ１８がオンとなる。タイミングｔ３０以降においては、複数の電子制御装置１６Ａの各々は、新版ソフトウェアの動作ロジックをそれぞれ実行する（ＮＥＷ）。タイミングｔ３０以降においては、新版ソフトウェアに基づいて動作する電子制御装置１６Ａ〜１６Ｄが、協調動作（同期動作）を行う。
【００９３】
図７に示す例によれば、第１の電子制御装置１６Ａに対する第１の新版ソフトウェアのインストールが車両１０の走行中に行われる。このため、図６に示す例によれば、車両１０を使用し得ない時間を短くすることができる。
【００９４】
図８は、本実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。図８には、並列更新モードによるソフトウェアの更新と逐次更新モードによるソフトウェアの更新とが組み合わせて実行される場合の例が示されている。図８に示す例においては、第１の電子制御装置１６Ａと第２の電子制御装置１６Ｂとに対して並列更新モードでソフトウェアの更新が行われる。また、図８に示す例においては、第３の電子制御装置１６Ｃと第４の電子制御装置１６Ｄとに対して逐次更新モードでソフトウェアの更新が行われる。
【００９５】
ステップＳ１は、図３に示すステップＳ１と同様であるため、説明を省略する。
【００９６】
ステップＳ２において、更新モード決定部３１は、更新モードの決定を実行する。更新モード決定部３１は、例えば、第１の電子制御装置１６Ａと第２の電子制御装置１６Ｂとに対して、並列更新モードでソフトウェアの更新を行うことを決定する。また、更新モード決定部３１は、例えば、第３の電子制御装置１６Ｃと第４の電子制御装置１６Ｄとに対して、逐次更新モードでソフトウェアの更新を行うことを決定する。この後、ステップＳ３に遷移する。
【００９７】
ステップＳ３において、更新制御部３０は、車両１０の主電源がオフになったか否かを判定する。即ち、更新制御部３０は、イグニッションスイッチ１８がオフになったか否かを判定する。車両１０の主電源がオフになった場合（ステップＳ３においてＹＥＳ）、ステップＳ２１に遷移する。車両１０の主電源がオンである場合（ステップＳ３においてＮＯ）、ステップＳ３が繰り返される。
【００９８】
ステップＳ２１において、更新制御部３０は、第１の電子制御装置１６Ａと第２の電子制御装置１６Ｂとに対して並列更新モードでソフトウェアの更新を行う。この後、ステップＳ２２に遷移する。
【００９９】
ステップＳ２２において、更新制御部３０は、第３の電子制御装置１６Ｃと第４の電子制御装置１６Ｄとに対して逐次更新モードでソフトウェアの更新を行う。ステップＳ２２が完了すると、図８に示す処理が完了する。
【０１００】
図９は、本実施形態によるソフトウェア更新装置の動作の例を示すタイミングチャートである。図９に示すタイミングチャートは、図８におけるステップＳ２１、Ｓ２２に対応している。即ち、図９には、並列更新モードによるソフトウェアの更新と逐次更新モードによるソフトウェアの更新とが組み合わせて実行される場合の例が示されている。
【０１０１】
図９に示すように、タイミングｔ３１において、イグニッションスイッチ１８がオフとなる。タイミングｔ３１において、例えば、第１の電子制御装置１６Ａと第２の電子制御装置１６Ｂとに対する新版ソフトウェアのインストールが開始される。
【０１０２】
タイミングｔ３２において、第１の電子制御装置１６Ａと第２の電子制御装置１６Ｂとに対する新版ソフトウェアのインストールが完了する。なお、ここでは、説明の簡略化のため、電子制御装置１６Ａ、１６Ｂへの新版ソフトウェアのインストールが同時に完了する場合を例に説明しているが、これに限定されるものではない。第１の電子制御装置１６Ａと第２の電子制御装置１６Ｂとに対する新版ソフトウェアのインストールが完了すると、第１の電子制御装置１６Ａと第２の電子制御装置１６Ｂとにそれぞれインストールされた新版ソフトウェアのアクティベーションが開始される。
【０１０３】
タイミングｔ３３において、第１の電子制御装置１６Ａと第２の電子制御装置１６Ｂとにそれぞれインストールされた新版ソフトウェアのアクティベーションが完了する。電子制御装置１６Ａ、１６Ｂにそれぞれインストールされた新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部３０は、電子制御装置１６Ａ、１６Ｂの各々に対してシャットダウンの処理を行う。第１の電子制御装置１６Ａと第２の電子制御装置１６Ｂとにそれぞれインストールされた新版ソフトウェアのアクティベーションが完了すると、第３の電子制御装置１６Ｃに対する第３の新版ソフトウェアのインストールが開始される。
【０１０４】
タイミングｔ３４において、第３の電子制御装置１６Ｃに対する第３の新版ソフトウェアのインストールが完了する。第３の電子制御装置１６Ｃに対する第３の新版ソフトウェアのインストールが完了すると、第３の電子制御装置１６Ｃにインストールされた第３の新版ソフトウェアのアクティベーションが開始される。
【０１０５】
タイミングｔ３５において、第３の電子制御装置１６Ｃにインストールされた第３の新版ソフトウェアのアクティベーションが完了する。第３の電子制御装置１６Ｃにインストールされた第３の新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部３０は、第３の電子制御装置１６Ｃに対してシャットダウンの処理を行う。第３の電子制御装置１６Ｃにインストールされた第３の新版ソフトウェアのアクティベーションが完了すると、第４の電子制御装置１６Ｄに対する第４の新版ソフトウェアのインストールが開始される。
【０１０６】
タイミングｔ３６において、第４の電子制御装置１６Ｄに対する第４の新版ソフトウェアのインストールが完了する。第４の電子制御装置１６Ｄに対する第４の新版ソフトウェアのインストールが完了すると、第４の電子制御装置１６Ｄにインストールされた第４の新版ソフトウェアのアクティベーションが開始される。
【０１０７】
タイミングｔ３７において、第４の電子制御装置１６Ｄにインストールされた第４の新版ソフトウェアのアクティベーションが完了する。第４の電子制御装置１６Ｄにインストールされた第４の新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部３０は、第４の電子制御装置１６Ｄに対してシャットダウンの処理を行う。
【０１０８】
タイミングｔ３８において、イグニッションスイッチ１８がオンとなる。タイミングｔ２８以降においては、複数の電子制御装置１６の各々は、新版ソフトウェアの動作ロジックをそれぞれ実行する（ＮＥＷ）。タイミングｔ３８以降においては、新版ソフトウェアに基づいて動作する電子制御装置１６Ａ〜１６Ｄが、協調動作（同期動作）を行う。
【０１０９】
図８及び図９に示す例においては、第１の電子制御装置１６Ａと第２の電子制御装置１６Ｂとに対しては並列更新モードでソフトウェアの更新が行われる。このため、図８及び図９に示す例においては、すべての電子制御装置１６Ａ〜１６Ｄに対して逐次更新モードでソフトウェアの更新を行う図５に示す例と比較して、ソフトウェアの更新に要する時間を短くすることができる。このように、複数の電子制御装置１６のうちの一部の電子制御装置１６Ａ、１６Ｂに対してソフトウェアの更新を行う際の更新モードを、並列更新モードとするようにしてもよい。そして、複数の電子制御装置１６のうちの他の電子制御装置１６Ｃ、１６Ｄに対してソフトウェアの更新を行う際の更新モードを、逐次更新モードとするようにしてもよい。
【０１１０】
図１０は、本実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。図１０には、並列更新モードによるソフトウェアの更新が正常に完了しない場合に、逐次更新モードによるソフトウェアの更新が行われる場合の例が示されている。
【０１１１】
ステップＳ１〜Ｓ４は、図３を用いて上述したステップＳ１〜Ｓ４と同様であるため、説明を省略する。
【０１１２】
ステップＳ５において、更新制御部３０は、複数の電子制御装置１６の各々に対するソフトウェアの更新を並列更新モードで行う。この後、ステップＳ３１に遷移する。
【０１１３】
ステップＳ３１において、更新制御部３０は、複数の電子制御装置１６の各々に対するソフトウェアの更新が正常に完了したか否かを判定する。複数の電子制御装置１６の各々に対するソフトウェアの更新が正常に完了した場合（ステップＳ３１においてＹＥＳ）、図１０に示す処理が完了する。複数の電子制御装置１６の各々に対するソフトウェアの更新が正常に完了しない場合（ステップＳ３１においてＮＯ）、ステップＳ６に遷移する。
【０１１４】
ステップＳ６は、図３を用いて上述したステップＳ６と同様であるため、説明を省略する。ステップＳ６が完了した場合には、図１０に示す処理が完了する。
【０１１５】
図１１は、本実施形態によるソフトウェア更新装置の動作の例を示すタイミングチャートである。図１１に示すタイミングチャートは、図１０に示す処理において、並列更新モードでのソフトウェアの更新が正常に完了しなかった場合に対応している。
【０１１６】
図１１に示すように、タイミングｔ４１において、イグニッションスイッチ１８がオフとなる。タイミングｔ４１において、複数の電子制御装置１６に対する新版ソフトウェアのインストールが並列更新モードで開始される。
【０１１７】
タイミングｔ４２において、複数の電子制御装置１６に対する新版ソフトウェアのインストールが完了する。更新制御部３０は、複数の電子制御装置１６の各々に対する新版ソフトウェアのインストールが正常に完了したか否かを判定する。ここでは、電子制御装置１６への新版ソフトウェアのインストールが正常に完了しなかった場合を例に説明する。このような場合、更新モード決定部３１は、更新モードを並列更新モードから逐次更新モードに変更することを決定する。
【０１１８】
タイミングｔ４３において、第１の電子制御装置１６Ａに対する第１の新版ソフトウェアのインストールが開始される。
【０１１９】
タイミングｔ４４において、第１の電子制御装置１６Ａに対する第１の新版ソフトウェアのインストールが完了する。第１の電子制御装置１６Ａに対する第１の新版ソフトウェアのインストールが完了すると、第１の電子制御装置１６Ａにインストールされた第１の新版ソフトウェアのアクティベーションが開始される。
【０１２０】
タイミングｔ４５において、第１の電子制御装置１６Ａにインストールされた第１の新版ソフトウェアのアクティベーションが完了する。第１の電子制御装置１６Ａにインストールされた第１の新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部３０は、第１の電子制御装置１６Ａに対してシャットダウンの処理を行う。第１の電子制御装置１６Ａにインストールされた第１の新版ソフトウェアのアクティベーションが完了すると、第２の電子制御装置１６Ｂに対する第２の新版ソフトウェアのインストールが開始される。
【０１２１】
タイミングｔ４６において、第２の電子制御装置１６Ｂに対する第２の新版ソフトウェアのインストールが完了する。第２の電子制御装置１６Ｂに対する第２の新版ソフトウェアのインストールが完了すると、第２の電子制御装置１６Ｂにインストールされた第２の新版ソフトウェアのアクティベーションが開始される。
【０１２２】
タイミングｔ４７において、第２の電子制御装置１６Ｂにインストールされた第２の新版ソフトウェアのアクティベーションが完了する。第２の電子制御装置１６Ｂにインストールされた第２の新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部３０は、第２の電子制御装置１６Ｂに対してシャットダウンの処理を行う。第２の電子制御装置１６Ｂにインストールされた第２の新版ソフトウェアのアクティベーションが完了すると、第３の電子制御装置１６Ｃに対する第３の新版ソフトウェアのインストールが開始される。
【０１２３】
タイミングｔ４８において、第３の電子制御装置１６Ｃに対する第３の新版ソフトウェアのインストールが完了する。第３の電子制御装置１６Ｃに対する第３の新版ソフトウェアのインストールが完了すると、第３の電子制御装置１６Ｃにインストールされた第３の新版ソフトウェアのアクティベーションが開始される。
【０１２４】
タイミングｔ４９において、第３の電子制御装置１６Ｃにインストールされた第３の新版ソフトウェアのアクティベーションが完了する。第３の電子制御装置１６Ｃにインストールされた第３の新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部３０は、第３の電子制御装置１６Ｃに対してシャットダウンの処理を行う。第３の電子制御装置１６Ｃにインストールされた第３の新版ソフトウェアのアクティベーションが完了すると、第４の電子制御装置１６Ｄに対する第４の新版ソフトウェアのインストールが開始される。
【０１２５】
タイミングｔ５０において、第４の電子制御装置１６Ｄに対する第４の新版ソフトウェアのインストールが完了する。第４の電子制御装置１６Ｄに対する第４の新版ソフトウェアのインストールが完了すると、第４の電子制御装置１６Ｄにインストールされた第４の新版ソフトウェアのアクティベーションが開始される。
【０１２６】
タイミングｔ５１において、第４の電子制御装置１６Ｄにインストールされた第４の新版ソフトウェアのアクティベーションが完了する。第４の電子制御装置１６Ｄにインストールされた第４の新版ソフトウェアのアクティベーションが正常に完了すると、更新制御部３０は、第４の電子制御装置１６Ｄに対してシャットダウンの処理を行う。
【０１２７】
タイミングｔ５１において、イグニッションスイッチ１８がオンとなる。タイミングｔ２０以降においては、複数の電子制御装置１６の各々は、新版ソフトウェアの動作ロジックをそれぞれ実行する（ＮＥＷ）。タイミングｔ５１以降においては、新版ソフトウェアに基づいて動作する電子制御装置１６Ａ〜１６Ｄが、協調動作（同期動作）を行う。
【０１２８】
このように、並列更新モードでのソフトウェアの更新が正常に完了しない場合に、ソフトウェアの更新が逐次更新モードで行われるようにしてもよい。
【０１２９】
図１２は、本実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。図１２に示す処理は、ソフトウェアの更新が行われた後に実行され得る。
【０１３０】
ステップＳ４１において、更新制御部３０は、ソフトウェアの更新が正常に完了したか否かを判定する。ソフトウェアの更新が正常に完了した場合（ステップＳ４１においてＹＥＳ）、図１２に示す処理が完了する。一方、ソフトウェアの更新が正常に完了しない場合（ステップＳ４１においてＮＯ）、ステップＳ４２に遷移する。
【０１３１】
ステップＳ４２において、更新制御部３０は、ソフトウェアを更新前の状態に戻す。例えば、新版ソフトウェアによるソフトウェアの更新が電子制御装置１６Ｂ〜１６Ｄのうちのいずれかにおいて正常に行われなかった場合、電子制御装置１６Ｂ〜１６Ｄのソフトウェアを更新前の状態に戻す。こうして、図１２に示す処理が完了する。
【０１３２】
図１３は、本実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。図１３に示す処理は、ソフトウェアの更新が行われた後に実行され得る。
【０１３３】
ステップＳ５１において、更新制御部３０は、ソフトウェアの更新が正常に完了したか否かを判定する。ソフトウェアの更新が正常に完了した場合（ステップＳ５１においてＹＥＳ）、図１３に示す処理が完了する。一方、ソフトウェアの更新が正常に完了しない場合（ステップＳ５１においてＮＯ）、ステップＳ５２に遷移する。
【０１３４】
ステップＳ５２において、時間余裕判定部３２は、新版ソフトウェアのインストールのリトライ処理を実行する時間的な余裕があるか否かを判定する。新版ソフトウェアのインストールのリトライ処理を実行する時間的な余裕がある場合（ステップＳ５２においてＹＥＳ）、ステップＳ５３に遷移する。新版ソフトウェアのインストールのリトライ処理を実行する時間的な余裕がない場合（ステップＳ５２においてＮＯ）、図１３に示す処理が完了する。
【０１３５】
ステップＳ５３において、更新制御部３０は、新版ソフトウェアのインストールのリトライ処理を実行する。こうして、図１３に示す処理が完了する。
【０１３６】
図１４は、本実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。図１４に示す処理は、ソフトウェアの更新が開始される前に実行され得る。
【０１３７】
ステップＳ６１において、電力量判定部３４は、バッテリ２０に確保されている電力量が十分であるか否かを判定する。より具体的には、電力量判定部３４は、バッテリ２０に確保されている電力量が、ソフトウェアの更新を行う上で十分であるか否かを判定する。バッテリ２０に確保されている電力量がソフトウェアの更新を行う上で十分であると電力量判定部３４が判定した場合（ステップＳ６１においてＹＥＳ）、ステップＳ６２に遷移する。バッテリ２０に確保されている電力量がソフトウェアの更新を行う上で十分でないと電力量判定部３４が判定した場合（ステップＳ６１においてＮＯ）、図１４に示す処理が完了する。
【０１３８】
ステップＳ６２において、更新制御部３０は、ソフトウェアの更新を開始する。こうして、図１４に示す処理が完了する。
【０１３９】
図１５は、本実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。図１５に示す処理は、電子制御装置１６に対する新版ソフトウェアのアクティベーションが完了した後に実行され得る。
【０１４０】
ステップＳ７１において、電子制御装置１６に対する新版ソフトウェアのアクティベーションが正常に完了したか否かを判定する。電子制御装置１６に対する新版ソフトウェアのアクティベーションが正常に完了した場合（ステップＳ７１においてＹＥＳ）、ステップＳ７２に遷移する。電子制御装置１６に対する新版ソフトウェアのアクティベーションが正常に完了しない場合（ステップＳ７１においてＮＯ）、図１５に示す処理が完了する。
【０１４１】
ステップＳ７２において、更新制御部３０は、アクティベーションが正常に完了した電子制御装置１６に対してシャットダウンの処理を行う。こうして、図１５に示す処理が完了する。
【０１４２】
図１６は、本実施形態によるソフトウェア更新装置の動作の例を示すフローチャートである。図１６に示す処理は、電子制御装置１６に対するソフトウェアのインストールが開始される前に実行され得る。
【０１４３】
ステップＳ８１において、更新制御部３０は、車両１０の起動予定時刻までにソフトウェアの更新が完了するか否かを判定する。車両１０の起動予定時刻までにソフトウェアの更新が完了すると見込まれる場合（ステップＳ８１においてＹＥＳ）、ステップＳ８２に遷移する。車両１０の起動予定時刻までにソフトウェアの更新が完了しないと見込まれる場合（ステップＳ８１においてＮＯ）、図１６に示す処理が完了する。
【０１４４】
ステップＳ８２において、更新制御部３０は、電子制御装置１６に対する新版ソフトウェアのインストールを開始する。こうして、図１６に示す処理が完了する。
【０１４５】
このように、本実施形態では、複数の電子制御装置１６に対して並列的にソフトウェアの更新を実行する並列更新モードでソフトウェアの更新を行い得る。並列更新モードでソフトウェアの更新を行うことにより、ソフトウェアの更新を比較的短い時間で完了させることができる。また、本実施形態では、複数の電子制御装置１６に対して逐次的にソフトウェアの更新を実行する逐次更新モードでソフトウェアの更新を行い得る。並列更新モードではソフトウェアの更新ができない場合であっても、逐次更新モードであればソフトウェアの更新ができる場合がある。従って、本実施形態によれば、ソフトウェアの更新をより確実に行うことが可能となる。
【０１４６】
本発明についての好適な実施形態を上述したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の改変が可能である。
【０１４７】
上記実施形態をまとめると以下のようになる。
【０１４８】
ソフトウェア更新装置（１２）は、ネットワーク（２５）を介して供給される新版ソフトウェアを取得する取得部（２８）と、前記取得部によって取得される前記新版ソフトウェアを用いて、車両（１０）に搭載された複数の電子制御装置（１６）の各々に対してソフトウェア更新を行う更新制御部（３０）と、前記複数の電子制御装置の各々に対して前記ソフトウェア更新を行う際の更新モードを、前記複数の電子制御装置に対して並列的に前記ソフトウェア更新を実行する並列更新モードと、前記複数の電子制御装置に対して逐次的に前記ソフトウェア更新を実行する逐次更新モードとのうちから選択的に決定する更新モード決定部（３１）とを有し、前記更新制御部は、前記更新モード決定部によって決定された前記更新モードに基づいて、前記複数の電子制御装置の各々に対して前記ソフトウェア更新を行う。このような構成によれば、複数の電子制御装置に対して並列的にソフトウェアの更新を実行する並列更新モードでソフトウェアの更新を行い得る。並列更新モードでソフトウェアの更新を行うことにより、ソフトウェアの更新を比較的短い時間で完了させることができる。また、このような構成によれば、複数の電子制御装置に対して逐次的にソフトウェアの更新を実行する逐次更新モードでソフトウェアの更新を行い得る。並列更新モードではソフトウェアの更新ができない場合であっても、逐次更新モードであればソフトウェアの更新ができる場合がある。従って、このような構成によれば、ソフトウェアの更新をより確実に行うことが可能となる。
【０１４９】
前記複数の電子制御装置のうちの第１の電子制御装置（１６Ａ）には、前記第１の電子制御装置にインストールされた第１の旧版ソフトウェアを更新するための第１の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域（５０Ｂ）が備えられており、前記複数の電子制御装置のうちの第２の電子制御装置（１６Ｂ）に対する第２の新版ソフトウェアのインストール、又は、前記第２の電子制御装置にインストールされた前記第２の新版ソフトウェアのアクティベーションが正常に完了しない場合、前記更新制御部は、前記第２の電子制御装置に対してロールバック処理を行い、前記第１の電子制御装置にインストールされた前記第１の新版ソフトウェアのアクティベーションを実行しないようにしてもよい。このような構成によれば、第２の電子制御装置に対する第２の新版ソフトウェアのインストールが完了しない場合には、第２の電子制御装置に対してロールバック処理が行われる。このような場合、第１の電子制御装置にインストールされた第１の新版ソフトウェアのアクティベーションは行われない。このため、本実施形態によれば、第１の電子制御装置と第２の電子制御装置とを協調動作させ得なくなるのを防止することができる。
【０１５０】
前記更新制御部は、前記車両に備えられていてもよい。
【０１５１】
前記取得部は、無線通信によって前記新版ソフトウェアを取得し得ない場合、充電器（４２）に接続されたケーブル（４４）を用いた有線通信によって前記新版ソフトウェアを取得するようにしてもよい。このような構成によれば、無線通信によって新版ソフトウェアを取得し得ない場合、充電器に接続されたケーブルを用いた有線通信によって新版ソフトウェアを取得し得る。このため、このような構成によれば、ソフトウェアの更新をより確実に行うことができる。
【０１５２】
前記更新モード決定部は、自宅に備えられた充電器に前記車両が接続されている場合には、前記複数の電子制御装置に対する前記ソフトウェア更新を行う際の前記更新モードを前記逐次更新モードと決定するようにしてもよい。車両が自宅に位置している場合には、時間に余裕がある場合が多い。また、車両が充電器に接続されている場合には、ソフトウェアの更新に長時間を要しても、バッテリが消耗してしまうことはない。従って、このような構成によれば、特段の問題を生ずることなく、ソフトウェアの更新をより確実に行うことが可能となる。
【０１５３】
前記複数の電子制御装置のうちの第１の電子制御装置には、前記第１の電子制御装置にインストールされた第１の旧版ソフトウェアを更新するための第１の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられており、前記更新制御部は、前記第１の電子制御装置に対する前記第１の新版ソフトウェアのインストールを、前記車両の走行中に実行するようにしてもよい。このような構成によれば、第１の電子制御装置に対する第１のソフトウェアのインストールを車両の走行中に実行するため、ソフトウェアの更新に要する時間を短くすることができる。
【０１５４】
前記更新モード決定部は、前記複数の電子制御装置のうちの一部の電子制御装置に対する前記ソフトウェア更新を行う際の前記更新モードを前記並列更新モードと決定し、前記複数の電子制御装置のうちの他の電子制御装置に対する前記ソフトウェア更新を行う際の前記更新モードを前記逐次更新モードと決定するようにしてもよい。例えば、並列更新モードによって特段の問題を生ずることなくソフトウェアの更新を正常に完了させることができる可能性が高い電子制御装置に対しては、例えば並列更新モードでソフトウェアの更新を行うようにすることができる。一方、並列更新モードによってソフトウェアの更新を正常に完了させることができる可能性が必ずしも十分に高くない電子制御装置に対しては、例えば逐次更新モードでソフトウェアの更新を行うようにすることができる。このような構成によれば、ソフトウェアの更新に要する時間を短縮しつつ、ソフトウェアの更新を確実に行うことができる。
【０１５５】
前記更新制御部は、前記並列更新モードでの前記ソフトウェア更新が正常に完了しなかった場合、前記逐次更新モードでの前記ソフトウェア更新を実行するようにしてもよい。このような構成によれば、並列更新モードでのソフトウェアの更新が正常に完了しなかった場合、逐次更新モードでのソフトウェアの更新を実行する。このような構成によれば、並列更新モードでのソフトウェアの更新が正常に完了しなかった場合でも、ソフトウェアの更新を逐次更新モードによって確実に行うことができる。
【０１５６】
前記車両が起動される予定の時刻である起動予定時刻を判定する起動予定時刻判定部（３６）を更に有し、前記更新モード決定部は、前記起動予定時刻判定部によって判定された前記起動予定時刻までに前記複数の電子制御装置に対する前記ソフトウェア更新が完了するように、前記並列更新モードでの前記ソフトウェア更新に費やす時間と、前記逐次更新モードでの前記ソフトウェア更新に費やす時間との時間配分を行うようにしてもよい。このような構成によれば、前記並列更新モードでのソフトウェアの更新に費やす時間と、前記逐次更新モードでのソフトウェアの更新に費やす時間との時間配分を行うため、ソフトウェアの更新を起動予定時刻までに完了させることができる。
【０１５７】
時間に余裕があるか否かを判定する時間余裕判定部（３２）を更に有し、前記電子制御装置に対する前記新版ソフトウェアのインストールが正常に完了せず、且つ、時間に余裕があると前記時間余裕判定部が判定した場合、前記更新制御部は、前記電子制御装置に対する前記新版ソフトウェアのインストールのリトライ処理を行うようにしてもよい。このような構成によれば、電子制御装置に対する新版ソフトウェアのインストールが正常に行い得なかった場合であっても、リトライ処理によって、電子制御装置に新版ソフトウェアをインストールすることができる。
【０１５８】
前記複数の電子制御装置のうちの第１の電子制御装置には、前記第１の電子制御装置にインストールされた第１の旧版ソフトウェアを更新するための第１の新版ソフトウェアがバックグラウンドでインストールされ得る格納可能領域が備えられており、前記更新制御部は、前記ソフトウェア更新が行われた後の前記第１の電子制御装置が、前記第１の新版ソフトウェアの動作ロジックと、前記第１の旧版ソフトウェアの動作ロジックとを選択的に実行することが可能となるように、前記第１の電子制御装置に対する前記ソフトウェア更新を行うようにしてもよい。このような構成によれば、第１の新版ソフトウェアがインストールされた第１の電子制御装置と、第１の電子制御装置以外の電子制御装置とが良好に協調動作し得ない場合、以下のようにすることができる。即ち、このような場合、更新制御部は、第１の電子制御装置以外の電子制御装置のソフトウェアを更新前の状態に戻し、第１の電子制御装置に第１の旧版ソフトウェアの動作ロジックを実行させる。このようにすることにより、このような構成によれば、第１の新版ソフトウェアが第１の電子制御装置にインストールされているにもかかわらず、第１の電子制御装置と第１の電子制御装置以外の電子制御装置とを協調動作させることができる。このように、このような構成によれば、ソフトウェアの更新をより良好に行うことが可能となる。
【０１５９】
前記車両が起動される予定の時刻である起動予定時刻を判定する起動予定時刻判定部を更に有し、前記更新制御部は、前記起動予定時刻判定部によって判定された前記起動予定時刻までに前記複数の電子制御装置に対する前記ソフトウェア更新が完了すると見込まれる場合に、前記複数の電子制御装置に対する前記ソフトウェア更新を開始するようにしてもよい。このような構成によれば、車両の起動予定時刻までにソフトウェアの更新を完了し得ない場合には、電子制御装置に対するソフトウェアの更新が開始されない。このため、ユーザが車両を使用し得ない事態が生じるのを防止することができる。
【０１６０】
前記第１の電子制御装置は、表示制御機能を有する電子制御装置であるようにしてもよい。表示制御機能を有する電子制御装置には、大容量のメモリチップが備えられている。
【０１６１】
前記第１の電子制御装置は、車載インフォテイメント用の電子制御装置であるようにしてもよい。車載インフォテイメント用の電子制御装置には、大容量のメモリチップが備えられている。
【０１６２】
前記車両に備えられたバッテリ（２０）に確保されている電力量が十分であるか否かを判定する電力量判定部（３４）を更に有し、前記バッテリに存在している前記電力量が十分であると前記電力量判定部が判定した場合、前記更新制御部は、前記ソフトウェア更新を開始するようにしてもよい。このような構成によれば、バッテリに存在している電力量が十分でない場合には、ソフトウェアの更新が行われないため、不具合が生じるのを防止することができる。
【０１６３】
ソフトウェア更新装置は、ネットワークを介して供給される新版ソフトウェアを取得する取得部と、前記取得部によって取得される前記新版ソフトウェアを用いて、車両に搭載された複数の電子制御装置の各々に対してソフトウェア更新を行う更新制御部と、前記複数の電子制御装置の各々に対して前記ソフトウェア更新を行う際の更新モードを、前記複数の電子制御装置に対して並列的に前記ソフトウェア更新を実行する並列更新モードと、前記複数の電子制御装置に対して逐次的に前記ソフトウェア更新を実行する逐次更新モードとのうちから選択的に決定する更新モード決定部と、前記車両が起動される予定の時刻である起動予定時刻を判定する起動予定時刻判定部とを備え、前記更新モード決定部は、前記複数の電子制御装置に対する前記ソフトウェア更新を前記逐次更新モードで行った場合の完了時刻が前記起動予定時刻判定部によって判定された前記起動予定時刻より前である場合には、前記複数の電子制御装置に対するソフトウェアの前記更新モードを前記逐次更新モードと決定し、前記複数の電子制御装置に対する前記ソフトウェア更新を前記逐次更新モードで行った場合の前記完了時刻が前記起動予定時刻判定部によって判定された前記起動予定時刻より後である場合には、前記複数の電子制御装置に対するソフトウェアの前記更新モードを前記並列更新モードと決定し、前記更新制御部は、前記更新モード決定部によって決定された前記更新モードに基づいて、前記複数の電子制御装置の各々に対して前記ソフトウェア更新を行う。このような構成によれば、起動予定時刻に応じて更新モードが適宜選択されるため、電子制御装置に対するソフトウェアの更新を良好に行うことができる。
【０１６４】
車両（１０）は、上記のようなソフトウェア更新装置を備える。
【０１６５】
ソフトウェア更新方法は、ネットワークを介して供給される新版ソフトウェアを用いて、車両に搭載された複数の電子制御装置の各々に対してソフトウェア更新を行うソフトウェア更新方法であって、前記複数の電子制御装置に対する前記ソフトウェア更新を行う際の更新モードを、前記複数の電子制御装置に対して並列的に前記ソフトウェア更新を実行する並列更新モードと、前記複数の電子制御装置に対して逐次的に前記ソフトウェア更新を実行する逐次更新モードとのうちから選択的に決定するステップ（Ｓ２）と、前記更新モードを決定するステップにおいて決定された前記更新モードで、前記複数の電子制御装置に対する前記ソフトウェア更新を行うステップ（Ｓ５、Ｓ６）とを有する。
【符号の説明】
【０１６６】
１０…車両                            １１…ソフトウェア更新システム
１２…ソフトウェア更新装置            １４、４０…通信部
１６Ａ〜１６Ｄ…電子制御装置          １８…イグニッションスイッチ
２０…バッテリ                        ２１…表示部
２２…サーバ                          ２４…演算部
２５…ネットワーク                    ２６…記憶部
２８…取得部                          ３０…更新制御部
３１…更新モード決定部                ３２…時間余裕判定部
３４…電力量判定部                    ３６…起動予定時刻判定部
３８…データベース                    ４２…充電器
４４…ケーブル                        ５０Ａ…第１のバンク
５０Ｂ…第２のバンク                  ５２、５４、５６…バンク
【図１】
2020132026.tif 000003
【図２】
2020132026.tif 000004
【図３】
2020132026.tif 000005
【図４】
2020132026.tif 000006
【図５】
2020132026.tif 000007
【図６】
2020132026.tif 000008
【図７】
2020132026.tif 000009
【図８】
2020132026.tif 000010
【図９】
2020132026.tif 000011
【図１０】
2020132026.tif 000012
【図１１】
2020132026.tif 000013
【図１２】
2020132026.tif 000014
【図１３】
2020132026.tif 000015
【図１４】
2020132026.tif 000016
【図１５】
2020132026.tif 000017
【図１６】
2020132026.tif 000018