(57)【要約】  車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載ＥＣＵのプログラムを更新するための処理を行う車載更新装置であって、前記車載ＥＣＵへの前記更新プログラムの送信を制御する制御部を備え、前記制御部は、前記送信が中断された後に該送信を再開する際、前記車載ＥＣＵの識別情報が、前記送信が中断される前の識別情報と異なる場合は、前記送信が中断している間に前記車載ＥＣＵは交換されたと判定し、所定の処理を実行する。
2020080321.tif 000002
【特許請求の範囲】
【請求項１】
車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載ＥＣＵのプログラムを更新するための処理を行う車載更新装置であって、
前記車載ＥＣＵへの前記更新プログラムの送信を制御する制御部を備え、
前記制御部は、前記送信が中断された後に該送信を再開する際、前記車載ＥＣＵの識別情報が、前記送信が中断される前の識別情報と異なる場合は、前記送信が中断している間に前記車載ＥＣＵは交換されたと判定し、所定の処理を実行する
車載更新装置。
【請求項２】
前記制御部が実行する前記所定の処理は、該判定に関する情報を前記外部サーバ又は、前記車両に設けられている表示装置に送信する処理である
請求項１に記載の車載更新装置。
【請求項３】
前記制御部が実行する前記所定の処理は、該判定に関する情報を記憶する処理である
請求項１又は請求項２に記載の車載更新装置。
【請求項４】
前記制御部が実行する前記所定の処理は、前記更新プログラムの送信を中止する処理である
請求項１から請求項３のいずれか一つに記載の車載更新装置。
【請求項５】
前記制御部は、前記送信が中断された後に該送信を再開する際、
前記車載ＥＣＵの識別情報に含まれる所定項目と、前記送信が中断される前の識別情報に含まれる所定項目とが、同一の場合は、前記更新プログラムの送信を最初から再開し、
前記車載ＥＣＵの識別情報に含まれる所定項目と、前記送信が中断される前の識別情報に含まれる所定項目とが、同一でない場合は、前記更新プログラムの送信を中止する
請求項１から請求項３のいずれか一つに記載の車載更新装置。
【請求項６】
前記車載ＥＣＵの識別情報に含まれる所定項目は、該車載ＥＣＵのＥＣＵ部番に関する情報である
請求項５に記載の車載更新装置。
【請求項７】
前記制御部は、前記送信が中断された後に該送信を再開する際、前記車載ＥＣＵの識別情報が、前記送信が中断される前の識別情報と同一の場合、前記更新プログラムの送信を再開する
請求項１から請求項６のいずれか一つに記載の車載更新装置。
【請求項８】
前記制御部は、
前記車載ＥＣＵへの前記更新プログラムの送信状況に関する情報を記憶し、
前記送信が中断された場合、前記車載ＥＣＵから前記更新プログラムの受信状況に関する情報を取得し、
前記送信状況に関する情報と、取得した前記受信状況に関する情報とが整合した場合、前記送信状況に関する情報又は前記受信状況に関する情報に基づき決定される中断ポイントから、前記車載ＥＣＵへの前記更新プログラムの送信を再開し、
前記送信状況に関する情報と、取得した前記受信状況に関する情報とが整合しなかった場合、前記車載ＥＣＵへの前記更新プログラムの送信を最初から再開する
請求項７に記載の車載更新装置。
【請求項９】
コンピュータに、
車外の外部サーバから送信される更新プログラムを取得し、
前記更新プログラムを車載ＥＣＵへ送信し、
前記送信が中断された後に該送信を再開する際、前記車載ＥＣＵの識別情報が、前記送信が中断される前の識別情報と異なる場合は、前記送信が中断している間に前記車載ＥＣＵは交換されたと判定し、所定の処理を実行する
処理を実行させる更新処理プログラム。
【請求項１０】
車外の外部サーバから送信される更新プログラムを取得し、
前記更新プログラムを車載ＥＣＵへ送信し、
前記送信が中断された後に該送信を再開する際、前記車載ＥＣＵの識別情報が、前記送信が中断される前の識別情報と異なる場合は、前記送信が中断している間に前記車載ＥＣＵは交換されたと判定し、所定の処理を実行する
プログラムの更新方法。
【請求項１１】
車両に搭載される車載更新システムであって、
車外の外部サーバから送信される更新プログラムを受信する車外通信装置と、
前記車外通信装置を介して前記外部サーバから送信される更新プログラムを取得する車載更新装置と、
前記車載更新装置から送信される前記更新プログラムによって、プログラムの更新を行う車載ＥＣＵとを備え、
前記車載更新装置は、前記車載ＥＣＵへの前記更新プログラムの送信を制御する制御部を含み、
前記制御部は、前記送信が中断された後に該送信を再開する際、前記車載ＥＣＵの識別情報が、前記送信が中断される前の識別情報と異なる場合は、前記送信が中断している間に前記車載ＥＣＵは交換されたと判定し、所定の処理を実行する
車載更新システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載更新装置、更新処理プログラム、プログラムの更新方法及び車載更新システムに関する。
【背景技術】
【０００２】
車両には、エンジン制御等のパワー・トレーン系、エアコン制御等のボディ系等の車載機器を制御するための車載ＥＣＵ（Electronic Control Unit）が搭載されている。車載ＥＣＵは、ＭＰＵ等の演算処理部、ＲＡＭ等の書き換え可能な不揮発性の記憶部、及び他の車載ＥＣＵと通信するための通信部を含み、記憶部に記憶した制御プログラムを読み込んで実行することにより、車載機器の制御を行う。更に車両には、無線通信の機能を備えた中継装置が実装されており、中継装置を介して、車外のネットワークに接続されているプログラム提供装置と通信し、当該プログラム提供装置から車載ＥＣＵの制御プログラムをダウンロード（受信）し、当該車載ＥＣＵの制御プログラムを更新することができる（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−９７８５１号公報
【発明の概要】
【０００４】
本開示の一態様に係る車載更新装置は、車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載ＥＣＵのプログラムを更新するための処理を行う車載更新装置であって、前記車載ＥＣＵへの前記更新プログラムの送信を制御する制御部を備え、前記制御部は、前記送信が中断された後に該送信を再開する際、前記車載ＥＣＵの識別情報が、前記送信が中断される前の識別情報と異なる場合は、前記送信が中断している間に前記車載ＥＣＵは交換されたと判定し、所定の処理を実行する。
【図面の簡単な説明】
【０００５】
【図１】実施形態１に係る車載更新システムの構成を例示する模式図である。
【図２】車載更新装置等の構成を例示するブロック図である。
【図３】車載ＥＣＵの構成情報の一態様を例示する説明図である。
【図４】車載更新装置の制御部の処理を例示するフローチャートである。
【図５】車載更新装置の制御部の処理を例示するフローチャートである。
【図６】車載更新装置の制御部の処理を例示するフローチャートである。
【図７】実施形態２に係る車載更新装置の制御部の処理を例示するフローチャートである。
【図８】実施形態２に係る車載更新装置の制御部の処理を例示するフローチャートである。
【図９】実施形態３に係る車載ＥＣＵ３の構成を例示するブロック図である。
【図１０】車載ＥＣＵの構成情報の一態様を例示する説明図である。
【発明を実施するための形態】
【０００６】
［本開示が解決しようとする課題］
特許文献１の中継装置は、ダウンロードした制御プログラムを車載ＥＣＵに送信する処理において、中継装置と車載ＥＣＵとの間の送信が中断された間に当該車載ＥＣＵが交換された場合の対応に関する考慮がされていないという問題点がある。
【０００７】
本開示の目的は、車載ＥＣＵのプログラムを更新するにあたり、車載更新装置と車載ＥＣＵとの間の送信が中断された間に当該車載ＥＣＵが交換された場合、適切に対応することができる車載更新装置等を提供する。
【０００８】
［本開示の効果］
本開示の一態様によれば、車載ＥＣＵのプログラムを更新するにあたり、車載更新装置と車載ＥＣＵとの間の送信が中断された間に当該車載ＥＣＵが交換された場合、適切に対応することができる車載更新装置等を提供することができる。
【０００９】
［本開示の実施形態の説明］
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【００１０】
（１）本開示の一態様に係る車載更新装置は、車外の外部サーバから送信される更新プログラムを取得し、車両に搭載される車載ＥＣＵのプログラムを更新するための処理を行う車載更新装置であって、前記車載ＥＣＵへの前記更新プログラムの送信を制御する制御部を備え、前記制御部は、前記送信が中断された後に該送信を再開する際、前記車載ＥＣＵの識別情報が、前記送信が中断される前の識別情報と異なる場合は、前記送信が中断している間に前記車載ＥＣＵは交換されたと判定し、所定の処理を実行する。
【００１１】
本態様にあたっては、送信が中断された後に該送信を再開する際、車載ＥＣＵの識別情報が、送信が中断される前の識別情報と異なる場合は、送信が中断している間に前記車載ＥＣＵは交換されたと判定し所定の処理を実行するため、当該車載ＥＣＵが交換された場合、適切に対応することができる。
【００１２】
（２）本開示の一態様に係る車載更新装置は、前記制御部が実行する前記所定の処理は、該判定に関する情報を前記外部サーバ又は、前記車両に設けられている表示装置に送信する処理である。
【００１３】
本態様にあたっては、送信が中断された後に該送信を再開する際、車載ＥＣＵの識別情報が、送信が中断される前の識別情報と異なる場合は、送信が中断している間に前記車載ＥＣＵは交換されたと判定し、当該判定結果を外部サーバ又は、前記車両に設けられている表示装置に送信するため、当該判定結果を報知することができる。
【００１４】
（３）本開示の一態様に係る車載更新装置は、前記制御部が実行する前記所定の処理は、該判定に関する情報を記憶する処理である。
【００１５】
本態様にあたっては、送信が中断された後に該送信を再開する際、車載ＥＣＵの識別情報が、送信が中断される前の識別情報と異なる場合は、送信が中断している間に前記車載ＥＣＵは交換されたと判定し、当該判定結果を車載更新装置の記憶部に記憶するため、当該判定結果を保存することができる。
【００１６】
（４）本開示の一態様に係る車載更新装置は、前記制御部が実行する前記所定の処理は、前記更新プログラムの送信を中止する処理である。
【００１７】
本態様にあたっては、送信が中断された後に該送信を再開する際、車載ＥＣＵの識別情報が、送信が中断される前の識別情報と異なる場合は、送信が中断している間に前記車載ＥＣＵは交換されたと判定し、更新プログラムの送信を中止するため、交換された車載ＥＣＵによって、更新プログラムが受信されることを防止することができる。
【００１８】
（５）本開示の一態様に係る車載更新装置は、前記制御部は、前記送信が中断された後に該送信を再開する際、前記車載ＥＣＵの識別情報に含まれる所定項目と、前記送信が中断される前の識別情報に含まれる所定項目とが、同一の場合は、前記更新プログラムの送信を最初から再開し、前記車載ＥＣＵの識別情報に含まれる所定項目と、前記送信が中断される前の識別情報に含まれる所定項目とが、同一でない場合は、前記更新プログラムの送信を中止する。
【００１９】
本態様にあたっては、識別情報に含まれる所定項目の同異に基づき、更新プログラムの送信を最初から再開、又は更新プログラムの送信を中止するため、送信が中断している間に車載ＥＣＵが交換された場合に適切に対応することができる。
【００２０】
（６）本開示の一態様に係る車載更新装置は、前記車載ＥＣＵの識別情報に含まれる所定項目は、該車載ＥＣＵのＥＣＵ部番に関する情報である。
【００２１】
本態様にあたっては、車載ＥＣＵの識別情報に含まれる所定項目は、該車載ＥＣＵのＥＣＵ部番に関する情報とすることにより、送信が中断している間に車載ＥＣＵが交換された場合であっても、交換された車載ＥＣＵのＥＣＵ部番が、送信が中断した際の車載ＥＣＵの部番と同一の場合は、更新プログラムの送信を最初から再開する。従って、送信が中断している間に車載ＥＣＵが交換された場合に更に適切に対応することができる。なお、車載更新装置は送信を最初から再開するにあたり、車載更新装置と車載ＥＣＵとの間でのプログラミングセッションの確立後、更新プログラムの送信（データ転送）を最初から再開するものであってもよい。
【００２２】
（７）本開示の一態様に係る車載更新装置は、前記制御部は、前記送信が中断された後に該送信を再開する際、前記車載ＥＣＵの識別情報が、前記送信が中断される前の識別情報と同一の場合、前記更新プログラムの送信を再開する。
【００２３】
本態様にあたっては、送信が中断された後に該送信を再開する際、前記車載ＥＣＵの識別情報が、前記送信が中断される前の識別情報と同一の場合、前記更新プログラムの送信を再開するため、車載ＥＣＵのプログラムの更新を確実に行うことができる。
【００２４】
（８）本開示の一態様に係る車載更新装置は、前記制御部は、前記車載ＥＣＵへの前記更新プログラムの送信状況に関する情報を記憶し、前記送信が中断された場合、前記車載ＥＣＵから前記更新プログラムの受信状況に関する情報を取得し、前記送信状況に関する情報と、取得した前記受信状況に関する情報とが整合した場合、前記送信状況に関する情報又は前記受信状況に関する情報に基づき決定される中断ポイントから、前記車載ＥＣＵへの前記更新プログラムの送信を再開し、前記送信状況に関する情報と、取得した前記受信状況に関する情報とが整合しなかった場合、前記車載ＥＣＵへの前記更新プログラムの送信を最初から再開する。
【００２５】
本態様にあたっては、送信状況に関する情報と取得した受信状況に関する情報とが整合した場合、送信が中断された中断ポイントから前記プログラムの車載ＥＣＵへの送信を再開するので、当該送信を効率的に再開することができる。
【００２６】
（９）本開示の一態様に係る更新処理プログラムは、コンピュータに、車外の外部サーバから送信される更新プログラムを取得し、前記更新プログラムを車載ＥＣＵへ送信し、前記送信が中断された後に該送信を再開する際、前記車載ＥＣＵの識別情報が、前記送信が中断される前の識別情報と異なる場合は、前記送信が中断している間に前記車載ＥＣＵは交換されたと判定し、所定の処理を実行する処理を実行させる。
【００２７】
本態様にあたっては、コンピュータを車載更新装置として機能させることができる。
【００２８】
（１０）本開示の一態様に係るプログラムの更新方法は、車外の外部サーバから送信される更新プログラムを取得し、前記更新プログラムを車載ＥＣＵへ送信し、前記送信が中断された後に該送信を再開する際、前記車載ＥＣＵの識別情報が、前記送信が中断される前の識別情報と異なる場合は、前記送信が中断している間に前記車載ＥＣＵは交換されたと判定し、所定の処理を実行する。
【００２９】
本態様にあたっては、車載ＥＣＵのプログラムを更新するにあたり、車載更新装置と車載ＥＣＵとの間の送信が中断された間に当該車載ＥＣＵが交換された場合、適切に対応することができる。
【００３０】
（１１）本開示の一態様に係る車載更新システムは、車両に搭載される車載更新システムであって、車外の外部サーバから送信される更新プログラムを受信する車外通信装置と、前記車外通信装置を介して前記外部サーバから送信される更新プログラムを取得する車載更新装置と、前記車載更新装置から送信される更新プログラムによって、プログラムの更新を行う車載ＥＣＵとを備え、前記車載更新装置は、前記車載ＥＣＵへの前記更新プログラムの送信を制御する制御部を含み、前記制御部は、前記送信が中断された後に該送信を再開する際、前記車載ＥＣＵの識別情報が、前記送信が中断される前の識別情報と異なる場合は、前記送信が中断している間に前記車載ＥＣＵは交換されたと判定し、所定の処理を実行する。
【００３１】
本態様にあたっては、車載ＥＣＵのプログラムを更新するにあたり、車載更新装置と車載ＥＣＵとの間の送信が中断された間に当該車載ＥＣＵが交換された場合、適切に対応することができる。
【００３２】
［本開示の実施形態の詳細］
本開示をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る車載更新装置２を、以下に図面を参照しつつ説明する。なお、本開示はこれらの例示に限定されるものではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【００３３】
（実施形態１）
以下、実施の形態について図面に基づいて説明する。図１は、実施形態１に係る車載更新システムの構成を示す模式図である。図２は、車載更新装置２等の構成を示すブロック図である。車載更新システムＳは、車両Ｃに搭載された車外通信装置１及び車載更新装置２を含み、車外ネットワークＮを介して接続されたプログラム提供装置Ｓ１から取得したプログラム又はデータを、車両Ｃに搭載されている車載ＥＣＵ３（Electronic Control Unit）に送信する。
【００３４】
プログラム提供装置Ｓ１は、例えばインターネット又は公衆回線網等の車外ネットワークＮに接続されているサーバ等のコンピュータであり、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）又はハードディスク等による記憶部Ｓ１１を備え、車外の外部サーバに相当する。プログラム提供装置Ｓ１には、車載ＥＣＵ３の製造メーカ等によって作成された当該車載ＥＣＵ３を制御するためのプログラム又はデータが、記憶部Ｓ１１（所定の記憶領域）に保存されている。当該プログラム又はデータは、更新プログラムとして、後述のごとく車両Ｃに送信され、車両Ｃに搭載されている車載ＥＣＵ３のプログラム又はデータを更新するために用いられる。このように構成されたプログラム提供装置Ｓ１（外部サーバ）は、ＯＴＡ（Over The Air）サーバとも称される。車両に搭載される車載ＥＣＵ３は、プログラム提供装置Ｓ１から無線通信により送信された更新プログラムを取得し、当該更新プログラムを実行するプログラムとして適用することにより、自ＥＣＵが実行するプログラムを更新（リプロ）することができる。
【００３５】
以降、プログラムは、車載ＥＣＵ３が処理を行うための制御構文等を含むプログラムコード及び、当該プログラムコードを実行するにあたり参照するデータが記載される外部ファイルを含むものとして説明する。更新プログラムの送信時において、これらプログラムコード及びデータが記載される外部ファイルは、例えば暗号化されたアーカイブファイルとして、プログラム提供装置Ｓ１から送信される。
【００３６】
車両Ｃには、車外通信装置１、車載更新装置２、表示装置５、及び種々の車載機器を制御するための複数の車載ＥＣＵ３が搭載されている。車外通信装置１と車載更新装置２とは、例えばシリアルケーブル等のハーネスにより通信可能に接続されている。車載更新装置２及び車載ＥＣＵ３は、ＣＡＮ（Control Area Network／登録商標）又はＥｔｈｅｒｎｅｔ（登録商標）等の通信プロトコルに対応した車内ＬＡＮ４によって通信可能に接続されている。
【００３７】
車外通信装置１は、車外通信部１１及び、車載更新装置２と通信するための入出力Ｉ／Ｆ（インターフェイス）１２を含む。車外通信部１１は、３Ｇ、ＬＴＥ、４Ｇ、ＷｉＦｉ等の移動体通信のプロトコルを用いて無線通信をするための通信装置であり、車外通信部１１に接続されたアンテナ１３を介してプログラム提供装置Ｓ１とデータの送受信を行う。車外通信装置１とプログラム提供装置との通信は、例えば公衆回線網又はインターネット等の外部ネットワークを介して行われる。
【００３８】
入出力Ｉ／Ｆ１２は、車載更新装置２と、例えばシリアル通信するための通信インターフェイスである。車外通信装置１と車載更新装置２とは、入出力Ｉ／Ｆ１２及び入出力Ｉ／Ｆ１２に接続されたシリアルケーブル等のハーネスを介して相互に通信する。本実施形態では、車外通信装置１は、車載更新装置２と別装置とし、入出力Ｉ／Ｆ１２等によってこれら装置を通信可能に接続しているが、これに限定されない。車外通信装置１は、車載更新装置２の一構成部位として、車載更新装置２に内蔵されるものであってもよい。
【００３９】
車載更新装置２は、制御部２０、記憶部２１及び車内通信部２３を含む。車載更新装置２は、車外通信装置１が無線通信によってプログラム提供装置Ｓ１から受信した更新プログラムを、車外通信装置１から取得し、車内ＬＡＮ４を介して当該更新プログラムを所定の車載ＥＣＵ３（更新対象の車載ＥＣＵ３）に送信するように構成されている。車載更新装置２は、例えば、制御系の車載ＥＣＵ３、安全系の車載ＥＣＵ３及び、ボディ系の車載ＥＣＵ３等の複数の系統のセグメントを統括し、これらセグメント間での車載ＥＣＵ３同士の通信を中継するゲートウェイ（中継器）である。又は、車載更新装置２は、車両Ｃ全体をコントロールするボディＥＣＵの一機能部として構成されるものであってもよい。
【００４０】
制御部２０は、ＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro Processing Unit）等により構成してあり、記憶部２１に予め記憶された制御プログラム及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行うようにしてある。制御部２０は、プログラム提供装置Ｓ１から送信された更新プログラムを、車外通信装置１を介して取得する取得部に相当する。
【００４１】
記憶部２１は、ＲＡＭ（Random Access Memory）等の揮発性のメモリ素子又は、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、制御プログラム及び処理時に参照するデータがあらかじめ記憶してある。記憶部２１に記憶された制御プログラムは、車載更新装置２が読み取り可能な記録媒体２２から読み出された制御プログラムを記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータから制御プログラムをダウンロードし、記憶部２１に記憶させたものであってもよい。更に、記憶部２１（所定の記憶領域）には、車両Ｃに搭載される全ての車載ＥＣＵ３の構成情報が記憶される。記憶部２１には、プログラム提供装置Ｓ１から取得した更新プログラム、及び車載ＥＣＵ３に更新プログラムを送信する際の進捗状況に関する情報が、記憶される。
【００４２】
車内通信部２３は、ＣＡＮ（Control Area Network）又はＥｔｈｅｒｎｅｔ（登録商標）等の通信プロトコルを用いた入出力インターフェイスであり、制御部２０は、車内通信部２３を介して車内ＬＡＮ４に接続されている車載ＥＣＵ３又は他の中継装置等の車載機器と相互に通信する。車内通信部２３は、複数個（図面上では３つ）設けられており、車内通信部２３夫々に、車内ＬＡＮ４を構成する通信線が接続されている。このように車内通信部２３を複数個設けることにより、車内ＬＡＮ４は複数個のセグメントに分け、各セグメントに車載ＥＣＵを、当該車載ＥＣＵの機能（制御系機能、安全系機能、ボディ系機能）に応じて接続する。
【００４３】
車載ＥＣＵ３は、制御部３０、記憶部３１及び車内通信部３２を含む。記憶部３１は、ＲＡＭ（Random Access Memory）等の揮発性のメモリ素子又は、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、車載ＥＣＵ３のプログラム又はデータが記憶されている。このプログラム又はデータが、車載更新装置２から送信される更新プログラムによって更新される対象である。
【００４４】
記憶部３１は、第１記憶領域（第１面）３１１及び第２記憶領域（第２面）３１２を含む。記憶部３１には、現状において車載ＥＣＵ３が実行（適用）しているプログラム（現バージョン）及び、現バージョンの以前に適用されていたプログラム（旧バージョン）の２つのプログラムが記憶されている。これら現バージョンのプログラムと、旧バージョンのプログラムとは、第１記憶領域３１１又は第２記憶領域３１２のいずれかの記憶領域に分かれて、記憶されている。すなわち、第１記憶領域３１１に現バージョンのプログラムが記憶されている場合、第２記憶領域３１２に旧バージョンのプログラムが記憶されている。第１記憶領域３１１に旧バージョンのプログラムが記憶されている場合、第２記憶領域３１２に現バージョンのプログラムが記憶されている。このように現バージョン及び旧バージョンの２つのプログラムを、いわいる２面持ちとして記憶することにより、万が一現バージョンのプログラムに問題が生じた場合であっても、制御部３０は、以前に適用して正常に動作していた旧バージョンのプログラムを読み込み実行する（切替える）ことで、車載ＥＣＵ３の信頼性を担保することができる。
【００４５】
記憶部３１には、現バージョン及び旧バージョンの２つのプログラム夫々のバージョンに関する情報、及び現在実行（適用）しているプログラムが記憶されている領域（動作面）に関する情報が記憶されている。すなわち、現状において第１記憶領域（第１面）３１１に記憶されているプログラムを実行している場合、記憶部３１には、動作面は第１記憶領域（第１面）３１１であると記憶される。現状において第２記憶領域（第２面）３１２に記憶されているプログラムを実行している場合、記憶部３１には、動作面は第２記憶領域（第２面）３１２であると記憶される。記憶部３１には、プログラム（現バージョン及び旧バージョン）のバージョン情報及び動作面に関する情報を含め、自ＥＣＵの構成情報、車載更新装置２から更新プログラムを受信する際の進捗状況に関する情報、及び過去に行われた単数又は複数回の更新履歴に関する情報が、記憶される。
【００４６】
制御部３０は、ＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro Processing Unit）等により構成してあり、記憶部３１（動作面）に記憶されたプログラム及びデータを読み出し実行して制御処理等を行い、当該車載ＥＣＵ３を含む車載機器又はアクチュエータ等が制御される。
【００４７】
車載ＥＣＵ３の制御部３０は、車載更新装置２から送信される更新プログラムを、車内通信部３２を介して受信し、当該更新プログラムを取得する。従って、車載ＥＣＵ３の制御部３０は、プログラム提供装置Ｓ１から送信された更新プログラムを、車外通信装置１及び車載更新装置２を介して取得する。制御部３０は、取得した更新プログラムを、動作面でない記憶領域（第１記憶領域３１１又は第２記憶領域３１２）に記憶する。すなわち、制御部３０は、車載更新装置２から送信された更新プログラムを取得するにあたり、当該取得の準備処理として、動作面でない記憶領域（非動作面）に記憶されているプログラムを削除する。通常、動作面でない記憶領域に記憶されているプログラムは、現バージョンのプログラムの以前に実行された旧バージョンのプログラムであるため、車載ＥＣＵ３における車載装置への制御機能を停止させることなく、当該旧バージョンを削除することができる。制御部３０は、動作面でない記憶領域（非動作面）に記憶されている旧バージョンのプログラムを削除し、車載更新装置２から送信された更新プログラムを、当該非動作面に記憶する。
【００４８】
詳細は後述するが、車載更新装置２からの更新プログラムの送信は、当該更新プログラムを、例えば所定のデータサイズで分割したブロック単位で行われる。送信されるブロック夫々には、当該ブロックを個々に識別するためのブロックＩＤが付与されており、車載ＥＣＵ３の制御部３０は、受信したブロックＩＤを記憶部３１に記憶することにより、更新プログラムの受信に関する進捗状況を記憶することができる。
【００４９】
車載ＥＣＵ３の制御部３０は、更新プログラムの受信を正常終了、すなわち分割された全てのブロックの受信を正常終了した後、車両ＣのＩＧスイッチのオン及びオフ等の所定の動作が実行された場合、動作面の切替えを行い、受信した更新プログラムを現バージョンのプログラムとして適用して実行する。車載ＥＣＵ３の制御部３０は、更新プログラムの受信を正常終了した場合、又は動作面の切替えを正常に行った場合、プログラムの更新が完了（正常終了）したことを記憶部３１に記憶し、更に車載更新装置２に送信（通知）するものであってもよい。
【００５０】
表示装置５は、例えばカーナビゲーションのディスプレイ等のＨＭＩ（Human Machine Interface）装置である。表示装置５は、車載更新装置２の入出力Ｉ／Ｆ２４とシリアルケーブル等のハーネスにより通信可能に接続されている。表示装置５には、車載更新装置２の制御部２０から入出力Ｉ／Ｆ２４を介して出力されたデータ又は情報が表示される。表示装置５と車載更新装置２との接続形態は、入出力Ｉ／Ｆ２４等による接続形態に限定されず、表示装置５と車載更新装置２とは、車内ＬＡＮ４を介した接続形態であってもよい。
【００５１】
図３は、車載ＥＣＵ３の構成情報の一態様を例示する説明図である。車載更新装置２の制御部２０は、ＩＧ（イグニッション）スイッチがオンにされた場合、又は所定のタイミングにて、定常的に車両Ｃに搭載されている全ての車載ＥＣＵ３に対し、車載ＥＣＵ３の構成情報（車両構成情報）及び当該構成情報の更新履歴（車両構成情報更新履歴）を送信することを要求し、送信された構成情報及び更新履歴を取得し、記憶部２１に記憶する。又は、車載更新装置２の制御部２０は、車載ＥＣＵ３に対し車載ＥＣＵ３の構成情報及び更新履歴を送信することを要求することなく、車載ＥＣＵ３夫々が自発的に送信した構成情報及び更新履歴を取得し、記憶部２１に記憶するものであってもよい。上述のごとく、車載ＥＣＵ３夫々の記憶部２１には、自ＥＣＵの構成情報及び更新履歴が記憶されている。従って、車載更新装置２は、車載ＥＣＵ３夫々に記憶されている構成情報及び更新履歴の夫々を集約し、車載ＥＣＵ３夫々の構成情報及び更新履歴を記憶する。車載更新装置２は、集約して記憶した車載ＥＣＵ３夫々の構成情報及び更新履歴を、プログラム提供装置Ｓ１に送信するものであってもよい。構成情報及び更新履歴をプログラム提供装置Ｓ１に送信することにより、プログラム提供装置Ｓ１の記憶部Ｓ１１に、当該構成情報及び更新履歴のバックアップを行うことができる。
【００５２】
図３に示すごとく、車載ＥＣＵ３の構成情報（車両構成情報マスターテーブル）は、例えば車載ＥＣＵ３の製造番号（シリアル番号）、ＥＣＵ部番（部番、型番）、Ｓｏｆｔｗａｒｅ部番、プログラムの現バージョン、旧バージョン、動作面数、動作面、ＭＡＣ（Media Access Control）アドレス、ＩＰアドレス、前回更新完了日時及びリプロステータスを含み、個々の車載ＥＣＵ３において重複しないように設定された連番等によるＥＣＵ−ＩＤに関連付けられて管理される。
【００５３】
製造番号（シリアル番号）は、車載ＥＣＵ３の製造時に付与される番号であり、生産拠点等を示すロット番号及び製造時の連番等により構成され、当該ＥＣＵを一意に特定することができるユニークな番号である。ＥＣＵ部番（部番、型番）は、車載ＥＣＵの種類を特定する番号であり、例えば部品番号である。Ｓｏｆｔｗａｒｅ部番は、更新プログラムのソフトウェアの種類を特定するための番号である。
【００５４】
動作面数とは、異なるバージョンの更新プログラムを記憶する記憶領域の数である。すなわち、動作面数が２つの場合、２つの異なるバージョンの更新プログラムを記録することができる。動作面数１つの場合、単一のバージョンの更新プログラムのみを記憶することができる。動作面は、現状において、車載ＥＣＵ３が実行（適用）しているプログラムが記憶されているいずれかの記憶領域（第１記憶領域３１１又は第２記憶領域３１２）を特定する情報である。
【００５５】
現バージョンは、現状において、車載ＥＣＵ３が実行（適用）しているプログラムのバージョン番号であり、動作面に記憶されているプログラムのバージョン番号である。旧バージョンは、以前に車載ＥＣＵ３が実行（適用）していたプログラムのバージョン番号であり、非動作面（動作面でない記憶領域）に記憶されているプログラムのバージョン番号である。
【００５６】
ＭＡＣアドレスは、車載ＥＣＵ３の車内通信部２３がＥｔｈｅｒｎｅｔに対応した通信ポートである場合、データリング層に対応するアドレスである。ＭＡＣアドレスは、当該車内通信部２３の製造時付与される番号であり、製造者を示すベンダーコード及び製造時の連番等により構成され、当該ＥＣＵを一意に特定することができるユニークな番号である。
【００５７】
ＩＰアドレスは、車内通信部２３がＥｔｈｅｒｎｅｔに対応した通信ポートである場合、ＴＣＰ／ＩＰを用いた通信を行う際のネットワーク層に対応するアドレスである。
【００５８】
車載ＥＣＵ３の構成情報は、当該車載ＥＣＵ３を識別するための識別情報を含む。ＩＰアドレスは、車内通信部２３の設定に応じて任意に決定できるアドレスであるため、車載ＥＣＵ３を識別するための識別情報としては、シリアル番号又はＭＡＣアドレスを用いることが望ましい。又、識別情報には、当該シリアル番号又はＭＡＣアドレスに加え、車載ＥＣＵ３のＥＣＵ部番（部番、型番）を含むものであってもよい。識別情報にＥＣＵ部番を含ませることにより、車載ＥＣＵ３の部品としての同一性に関する判定を行うことができる。すなわち、２つの構成情報を比較する際、シリアル番号又はＭＡＣアドレスは異なるが、ＥＣＵ部番が同一の場合、これら構成情報を持つ車載ＥＣＵ３夫々は、部品（部番、型番）としては同一であることを意味する。
【００５９】
前回更新完了日時は、前回に実施された更新（更新プログラムの送信）が完了した日時である。リプロステータスは、更新に関する最新の状態を示すものである。なお、これら情報は、後述の更新履歴に関する情報（車両構成情報更新履歴テーブル）との関連性を保持している。
【００６０】
図３の下段に示すとおり、車載更新装置２の記憶部２１には、車載ＥＣＵ３夫々の構成情報に加え、当該構成情報の更新履歴に関する情報が記憶されている。車載ＥＣＵ３夫々の構成情報（車両構成情報マスターテーブル）と、該構成情報の更新履歴（車両構成情報更新管理テーブル）とは、例えば別テーブルにより登録又は管理されていてもよい。構成情報の更新履歴に関する情報は、履歴内容及び当該履歴内容が行われた日時を含み、これら履歴内容及び日時と、各車載ＥＣＵのＥＣＵ−ＩＤとを関連付けて登録又は管理する。履歴内容は、例えば更新プログラムを受信してから更新完了の通知（完了通知）を発信するまでの各処理（更新プログラム受信開始、更新プログラム受信完了、動作面切替え及び完了通知）を含む。又、履歴内容は、これら各処理の対象となる更新プログラムのバージョンを含めるものであってもよい。車両構成情報マスターテーブルと車両構成情報更新管理テーブルとは、関連性が保持されており、各車載ＥＣＵにおける最も新しい日時の履歴内容に応じて、構成情報におけるリプロステータスが導出されるものであってもよい。
【００６１】
車載ＥＣＵ３の構成情報に含まれる情報は、図３に示す項目の情報に限定されない。車載ＥＣＵ３がＣＡＮによって接続される場合、車載ＥＣＵ３の構成情報は、当該車載ＥＣＵ３がメッセージを送信する際に用いる（含める）ＣＡＮ−ＩＤを含むものであってよい。
【００６２】
車載ＥＣＵ３の識別情報は、車載ＥＣＵ３の構成情報に含まれるシリアル番号又はＭＡＣアドレスを含む。車載更新装置２の制御部２０は、構成情報に含まれるシリアル番号又はＭＡＣアドレスによる車載ＥＣＵ３の識別情報と、当該車載ＥＣＵ３への更新プログラムの送信の進捗状況に関する情報とを関連づけて、記憶部２１に記憶する。
【００６３】
図４は、車載更新装置２の制御部２０の処理を示すフローチャートである。図５は、車載更新装置２の制御部２０の処理を示すフローチャートである。図６は、車載更新装置２の制御部２０の処理を示すフローチャートである。車載更新装置２の制御部２０は、車両Ｃが起動状態（ＩＧスイッチがオン）において、車外通信装置１を介して、定常的にプログラム提供装置Ｓ１と通信し、以下の処理を行う。
【００６４】
車載更新装置２の制御部２０は、更新途中の車載ＥＣＵ３があるかを判定する（Ｓ１１）。制御部２０は、記憶部２１に記憶されている前回の更新プログラムの送信の進捗状況に関する情報を参照し、更新途中の車載ＥＣＵ３があるかを判定する。詳細は後述するが、更新プログラムの送信の進捗状況に関する情報は、更新対象の車載ＥＣＵ３を特定する識別情報（例えば、シリアル番号又はＭＡＣアドレス）と、送信した更新プログラムのブロックＩＤを含む。更に、更新プログラムの送信の進捗状況に関する情報は、当該車載ＥＣＵ３への更新プログラムの送信が完了したか否かに関する情報を含む。制御部２０は、例えば、前回送信した更新プログラムのブロックＩＤが、更新プログラムを送信するにあたり最後のブロックのブロックＩＤでない場合、又は更新プログラムの送信が完了していない車載ＥＣＵ３がある場合、更新途中の車載ＥＣＵ３があると判定する。制御部２０は、例えば、前回送信した更新プログラムのブロックＩＤが、更新プログラムを送信するにあたり最後のブロックのブロックＩＤである場合、又は更新プログラムの送信が途中の車載ＥＣＵ３がない場合、更新途中の車載ＥＣＵ３がないと判定する。
【００６５】
更新途中の車載ＥＣＵ３がある場合（Ｓ１１：ＹＥＳ）、車載更新装置２の制御部２０は、更新対象の車載ＥＣＵ３の識別情報を取得する（Ｓ１２）。車載更新装置２の制御部２０は、更新対象の車載ＥＣＵ３へ自ＥＣＵの識別情報を送信することを要求する。制御部２０は、当該車載ＥＣＵ３から送信された識別情報を受信し、取得する。車載ＥＣＵ３から送信された識別情報は、例えば当該車載ＥＣＵ３のシリアル番号又はＭＡＣアドレス、及びＥＣＵ部番を含む。更に、車載ＥＣＵ３から送信された識別情報は、当該車載ＥＣＵ３のプログラムのバージョンに関する情報を含むものであってもよい。又は、当該車載ＥＣＵ３は、記憶部３１に記憶してある自ＥＣＵの構成情報の全てを車載更新装置２に送信するものであってもよい。
【００６６】
車載更新装置２の制御部２０は、更新対象の車載ＥＣＵ３から取得した識別情報は異なるかを判定する（Ｓ１３）。制御部２０は、更新対象の車載ＥＣＵ３から取得した識別情報と、更新プログラムを送信中であるとして記憶部２１に記憶している車載ＥＣＵ３の識別情報とを比較し、これら識別情報夫々が同一か異なるかを判定する。同一か異なるかを判定するにあたり、制御部２０は、識別情報に含まれる全ての項目を比較するものであってもよい。すなわち、例えば識別情報に所定の項目として、シリアル番号、ＭＡＣアドレス及びＥＣＵ部番が含まれる場合、シリアル番号、ＭＡＣアドレス及びＥＣＵ部番の全ての項目が同一である場合、これら識別情報夫々が一致すると判定してもよい。更新対象の車載ＥＣＵ３が送信要求に応答せず識別情報を取得できなかった場合は、識別情報が一致しなかった場合に含め、制御部２０は、取得した識別情報は同一ではない、すなわち異なると判定する。
【００６７】
識別情報は異なると判定した場合（Ｓ１３：ＹＥＳ）、車載更新装置２の制御部２０は、更新対象の車載ＥＣＵ３は、更新プログラムの送信が中断している間に交換されたと判定する（Ｓ１４）。制御部２０は、更新対象の車載ＥＣＵ３から取得した識別情報と、更新プログラムを送信中であるとして記憶している車載ＥＣＵ３の識別情報とが一致しなかった場合、又は当該更新対象の車載ＥＣＵ３が送信要求に応答せず識別情報を取得できなかった場合、更新プログラムの送信が中断している間に車載ＥＣＵ３は交換されたと判定する。車載更新装置２の制御部２０は、当該更新対象の車載ＥＣＵ３が送信要求に応答せず識別情報を取得できなかった場合、更新プログラムの送信が中断している間に当該更新対象の車載ＥＣＵ３は取り外されたと判定してもよい。又、制御部２０は、当該更新対象の車載ＥＣＵ３が送信要求に応答せず識別情報を取得できなかった場合、更新プログラムの送信を中止するものあってもよい。
【００６８】
車載更新装置２の制御部２０は、識別情報に含まれるＥＣＵ部番は、異なるかを判定する（Ｓ１５）。上述のごとく、識別情報には、車載ＥＣＵ３を一意に決定する特有の項目であるシリアル番号又はＭＡＣアドレス、及び車載ＥＣＵ３の部品としての同一性を示すＥＣＵ部番を含む。制御部２０は、中断される前の識別情報及び再開する際の識別情報に含まれるＥＣＵ部番夫々を比較し、これらＥＣＵ部番が同一か異なるかを判定する。
【００６９】
ＥＣＵ部番が異なる場合（Ｓ１５：ＹＥＳ）、車載更新装置２の制御部２０は、更新プログラムの送信を中止する（Ｓ１６）。この場合、送信を再開する際の車載ＥＣＵ３は、送信が中断される前の車載ＥＣＵ３とは、シリアル番号、ＭＡＣアドレス及びＥＣＵ部番が異なる全く別個の車載ＥＣＵ３である。従って、制御部２０は、送信が中断している間に行われた車載ＥＣＵ３の交換は不当な交換であると判定し、更新対象の車載ＥＣＵ３への更新プログラムの送信を再開することなく、当該更新プログラムの送信を中止する。
【００７０】
ＥＣＵ部番が異ならない場合（Ｓ１５：ＮＯ）、すなわちＥＣＵ部番が同一の場合、車載更新装置２の制御部２０は、更新プログラムを最初から送信する（Ｓ１５１）。中断される前の識別情報と、再開する際の識別情報との間において、シリアル番号又はＭＡＣアドレスは異なるが、ＥＣＵ部番は同一となる場合がある。このような場合、送信が中断している間に車載ＥＣＵ３は交換されているが、当該交換の前後において、これら車載ＥＣＵ３は、同一の型番又は部番の部品である。従って、送信が中断している間に行われた車載ＥＣＵ３の交換は正当な交換であると判定し、更新対象の車載ＥＣＵ３への更新プログラムを最初から送信して、当該送信を再開する。制御部２０は、更新プログラムを最初から送信するにあたり、後述するＳ１１４，Ｓ１１５及びＳ１１６と同様にブロック単位で送信し、全ブロックを送信した後に更新完了を記憶部に２１記憶するものであってもよい。
【００７１】
車載更新装置２の制御部２０は、判定結果を送信及び記憶する（Ｓ１７）。制御部２０は、更新対象の車載ＥＣＵ３が、更新プログラムの送信が中断された間に交換又は取り外されたとする判定結果を、車外のプログラム提供装置Ｓ１、車両Ｃに設けられた表示装置５又は、プログラム提供装置Ｓ１及び車両Ｃに設けられた表示装置５の両装置に送信し、当該交換又は取り外された旨を報知する。制御部２０は、判定結果に、更新プログラムを送信中であるとして記憶部２１に記憶している車載ＥＣＵ３の識別情報を含めて、送信し報知するものであってもよい。又、制御部２０は、判定結果にＥＣＵ部番の同異に関する判定を含めるものであってもよい。又、制御部２０は、更新プログラムの送信が中断された間に交換されたと判定した車載ＥＣＵ３の識別情報（交換後の車載ＥＣＵ３から受信した識別情報）についても、判定結果と共に送信し報知するものであってもよい。又は、車載更新装置２の制御部２０は、車外通信装置１を介して、車両Ｃの操作者が保持するスマートホン等の携帯端末に送信し、更新対象の車載ＥＣＵ３が交換又は取り外された旨を報知してもよい。制御部２０は、受信した識別情報又は受信できなかった旨を含め、更新対象の車載ＥＣＵ３が交換又は取り外された旨を、更新プログラムを送信中であるとした車載ＥＣＵ３の構成情報と関連づけて、記憶部２１に記憶する。
【００７２】
更新途中の車載ＥＣＵ３がない場合（Ｓ１１：ＮＯ）、車載更新装置２の制御部２０は、更新情報及び更新プログラムを取得する（Ｓ１１１）。車載更新装置２の制御部２０は、車外通信装置１を介してプログラム提供装置Ｓ１と通信し、更新情報の有無を確認し、更新情報があれば対応する更新プログラムを取得する。制御部２０は、取得した更新情報に基づき、更新対象の車載ＥＣＵ３を特定する。更新情報は、更新プログラムとは別個のデータファイルである場合に限定されない。更新情報は、更新プログラムのデータファイルに、例えばヘッダー情報として含まれるものであってもよい。
【００７３】
車載更新装置２の制御部２０は、更新開始を記憶する（Ｓ１１２）。制御部２０は、更新対象の車載ＥＣＵ３の識別情報と関連付けて、当該車載ＥＣＵ３の更新を開始すること（当該車載ＥＣＵ３が更新中であること）を記憶部２１に記憶する。
【００７４】
車載更新装置２の制御部２０は、車載ＥＣＵ３に更新プログラムを送信する（Ｓ１１３）。制御部２０は、更新プログラムの送信を開始する。制御部２０は、更新プログラムの送信を開始するにあたり、送信先となる車載ＥＣＵ３とセッションを確立するものであってもよい。Ｓ１１にて制御部２０は、取得した更新情報に基づき、更新対象の車載ＥＣＵ３を特定するとしたが、これに限定されない。制御部２０は、例えば、更新情報に基づき生成した所定のパケット又はメッセージをマルチキャストで車両Ｃに搭載される全ての車載ＥＣＵ３に送信する。そして、制御部２０は、当該マルチキャストに対し自ＥＣＵの構成情報を含めて返信して応答した車載ＥＣＵ３を更新対象の車載ＥＣＵ３として特定し、当該車載ＥＣＵ３の更新を開始すること（当該車載ＥＣＵ３が更新中であること）を記憶部２１に記憶してもよい。
【００７５】
車載更新装置２の制御部２０は、更新プログラムをブロック単位で送信する（Ｓ１１４）。制御部２０は、更新プログラムを所定のデータサイズで分割したブロック単位で送信する。又は、制御部２０は、更新プログラムに含まれるセパレータを抽出し、当該セパレータに基づいて、更新プログラムを分割しブロックとしてもよい。ブロックには、ブロック夫々を識別するためのブロックＩＤが付与される。制御部２０は、送信したブロックのブロックＩＤ及び送信時点を含む更新プログラムの送信の進捗状況（送信状況）に関する情報を記憶部２１に記憶する。
【００７６】
車載更新装置２の制御部２０は、今回送信したブロックが、最後のブロックか否かを判定する（Ｓ１１５）。制御部２０は、例えば、更新プログラムを所定のデータサイズで分割してブロック化するにあたり、生成されるブロックの個数を確定する。当該確定したプロックの個数が、ブロックＩＤの末尾の番号となり、制御部２０は、今回送信するブロックのブロックＩＤが末尾の番号であるか否かにより、更新プログラムの送信を完了させるにあたり最後のブロックであるか否かを判定する。
【００７７】
今回送信したブロックが最後のブロックでない場合（Ｓ１１５：ＮＯ）、車載更新装置２の制御部２０は、再度Ｓ１１４の処理を実行すべくループ処理を行う。ループ処理により再度、ブロック単位の送信の処理（Ｓ１１４）を行うにあたり、制御部２０は、前回送信したブロックＩＤの次の順番となるブロックＩＤを送信する。このようにループ処理を行うことにより、制御部２０は、更新プログラムを所定のデータサイズで分割したブロックを、更新対象の車載ＥＣＵ３に順次送信する。
【００７８】
車載更新装置２から送信されたブロックを受信した更新対象の車載ＥＣＵ３は、当該ブロックを非動作面の記憶領域（第１記憶領域３１１又は第２記憶領域３１２）に記憶し、受信したブロックのブロックＩＤ及び受信時点を含む更新プログラムの受信の進捗状況（受信状況）に関する情報を記憶部３１に記憶する。
【００７９】
当該ループ処理を行っている間、すなわちブロック単位の送信（Ｓ１１４）をループ処理（Ｓ１１５）にて順次行っている間に、例えば、車両Ｃの電源がオフ（ＩＧスイッチがオフ）にされた場合、当該ブロック単位の送信は、中断される。そして、車載更新装置２の記憶部２１には、更新プログラム及び最後の送信したブロックのブロックＩＤの情報が残っている。又、車載更新装置２の記憶部２１には、当該車載ＥＣＵ３が更新中（リプロステータスは更新中）であるとして、記憶されている。従って、これら記憶部２１に記憶されている情報により、更新対象の車載ＥＣＵ３への更新プログラムの送信は、途中状態（当該車載ＥＣＵ３はプログラム更新中／リプロステータスは更新中）であることが示される。
【００８０】
今回送信したブロックが最後のブロックである場合（Ｓ１１５：ＹＥＳ）、車載更新装置２の制御部２０は、更新完了を記憶部２１に記憶する（Ｓ１１６）。車載更新装置２の制御部２０は、最後のブロックを送信することにより、車載ＥＣＵ３の更新プログラムの送信を終了し、当該車載ＥＣＵ３の更新が完了したことを、当該車載ＥＣＵ３の識別情報と関連付けて、記憶部２１に記憶する。
【００８１】
車載ＥＣＵ３は、車載更新装置２から送信された最後のブロックを受信した後、自ＥＣＵの更新が完了したことを記憶部３１に記憶する。車載ＥＣＵ３は、最後のブロックの受信及び受信を完了した更新プログラムへの切替え、すなわち動作面を更新プログラムが記憶されている記憶領域に切替えた後、更新プログラムへの切替えが完了したことを車載更新装置２に送信（通知）してもよい。車載更新装置２の制御部２０は、更新対象の車載ＥＣＵ３から更新プログラムへの切替えが完了した通知を受信した後、動作面の切替えが行われたことを含め当該車載ＥＣＵ３の更新が完了したことを、当該車載ＥＣＵ３の識別情報と関連付けて、記憶部２１に記憶してもよい。車載更新装置２の制御部２０は、車載ＥＣＵ３の更新が完了ことを記憶部２１に記憶した後、更新プログラムを削除してもよい。
【００８２】
識別情報は異ならないと判定した場合（Ｓ１３：ＮＯ）、すなわち識別情報は同一であると判定した場合、車載更新装置２の制御部２０は、更新対象の車載ＥＣＵ３から、更新プログラムの受信状況に関する情報を取得する（Ｓ１３１）。制御部２０は、記憶部２１に記憶されている前回の更新プログラムの送信の進捗状況に関する情報を参照し、更新途中の車載ＥＣＵ３の識別情報から、当該車載ＥＣＵ３を特定する。制御部２０は、更新途中の車載ＥＣＵ３に対し、当該車載ＥＣＵ３による更新プログラムの受信状況に関する情報を送信するように要求する。更新途中の車載ＥＣＵ３の記憶部２１には、受信したブロックＩＤ及び受信時点等の更新プログラムの受信の進捗状況（受信状況）に関する情報が記憶されており、車載ＥＣＵ３の制御部３０は、車内通信部３２を介して更新プログラムの受信状況を車載更新装置２に送信する。車載更新装置２の制御部２０は、車載ＥＣＵ３から更新プログラムの受信状況を取得する。又は、車載ＥＣＵ３の制御部３０は、前回送信された更新プログラムの受信が完了していない場合、自発的に車載更新装置２に更新プログラムの受信状況を送信してもよい。
【００８３】
車載更新装置２の制御部２０は、送信状況に関する情報と、受信状況に関する情報とが整合しているかを判定する（Ｓ１３２）。制御部２０は、例えば、記憶部２１に記憶している最後に送信したブロックのブロックＩＤと、車載ＥＣＵ３から取得した当該車載ＥＣＵ３が最後に受信したプロックのブロックＩＤとを、比較する。制御部２０は、これらブロックＩＤが同一であるか否かによって、送信の進捗状況（送信状況）に関する情報と、受信の進捗状況（受信状況）に関する情報とが、整合しているか否かを判定する。
【００８４】
制御部２０は、例えば、送受信したブロック夫々のブロックＩＤが同一の場合、送信状況に関する情報と、受信状況に関する情報とが整合していると判定する。制御部２０は、例えば、送受信したブロック夫々のブロックＩＤが同一でない場合、又は更新対象の車載ＥＣＵ３が送信要求に応答せず、更新プログラムの受信状況に関する情報を取得できなかった場合、送信状況に関する情報と、受信状況に関する情報とが整合していないと判定する。又は、車載更新装置２及び車載ＥＣＵ３夫々は、送受信したブロックのブロックＩＤによって決定されるチェックポイントを記憶する。車載更新装置２の制御部２０は、自装置に記憶されているチェックポイントと、車載ＥＣＵ３に記憶されているチェックポイントとを照合して、送信状況に関する情報と、受信状況に関する情報とが整合しているか判定してもよい。このように送受信したブロック夫々のブロックＩＤによって、前回の更新プログラムの送受信が中断された中断ポイントを特定することができる。
【００８５】
整合している場合（Ｓ１３２：ＹＥＳ）、車載更新装置２の制御部２０は、中断ポイントから更新プログラムの送信を再開する（Ｓ１３３）。制御部２０は、前回の更新プログラムの送信において、最後に送信したブロックのブロックＩＤの次の順番となるブロックの送信を行い、更新プログラムの送信を再開する。制御部２０は、更新プログラムの送信を再開するにあたり、車載ＥＣＵとの間でのプログラミングセッションを再度確立した後、当該次の順番となるブロックの送信を行うものであってもよい。当該プログラミングセッションは、例えばISO14229-1によるＵＤＳ（Unified diagnostic services）に基づくものであってもよい。中断ポイントから更新プログラムの送信を再開することにより、前回の更新プログラムの送信において既に送信しているブロックを送信する処理を不要とし、更新プログラムの再開から完了までに要する所要時間の短縮、及び車内ＬＡＮ４におけるトラフィックが増加すること抑制することができる。
【００８６】
車載更新装置２の制御部２０は、Ｓ１１４，Ｓ１１５及びＳ１１６の処理を同様に、Ｓ１３４，Ｓ１３５及びＳ１３６の処理を行う。
【００８７】
整合していない場合（Ｓ１３２：ＮＯ）、車載更新装置２の制御部２０は、更新プログラムを最初から送信する（Ｓ１３２１）。この場合、更新プログラムの送受信が中断される前後にて、更新対象の車載ＥＣＵ３は同一のものであり、送信が中断している間に、当該車載ＥＣＵ３は交換されていない。しかしながら、例えば、更新プログラムの送受信の中断により発生した通信エラー等により、車載更新装置２が最後に送信したブロックＩＤと、車載ＥＣＵ３が最後に受信したブロックＩＤとが、異なる場合がある。このような場合であっても、更新プログラムの送受信が中断される前後にて更新対象の車載ＥＣＵ３は同一であるため、車載更新装置２の制御部２０は、更新プログラムを最初、すなわち最初のブロックから送信を再開する。制御部２０は、更新プログラムを最初から送信するにあたり、車載更新装置２と車載ＥＣＵ３との間でのプログラミングセッションの確立後、更新プログラムの送信（データ転送）を最初から再開する。制御部２０は更新プログラムをブロック単位で送信する場合、最初のブロックＩＤのブロックからの送信を行う。当該プログラミングセッションは、例えばISO14229-1によるＵＤＳ（Unified diagnostic services ）に基づくものであってもよい。又、プログラミングセッションの確立後、車載更新装置２の制御部２０は、車載ＥＣＵ３に対し前回中断した送信において受信した更新プログラム（受信したブロック）を削除させる指示（通知）を行った後、更新プログラムの送信を最初から再開するものであってもよい。従って、送受信したブロック夫々のブロックＩＤが異なり、車載更新装置２及び車載ＥＣＵ３の間で中断ポイントに乖離があった場合であっても、更新プログラムの送信を最初から再開することにより、当該更新プログラムを確実に車載ＥＣＵ３に送信することができる。
【００８８】
車載更新装置２の制御部２０は、Ｓ１１４，Ｓ１１５及びＳ１１６の処理を同様に、Ｓ１３２２，Ｓ１３２３及びＳ１３２４の処理を行う。
【００８９】
本実施形態において、ＥＣＵ部番が異なる場合、更新プログラムの送信を中止するとしたが、これに限定されない。車載更新装置２の制御部２０は、識別情報は異なると判定した場合、送信が中断されている間に更新対象の車載ＥＵＣ３は交換されたと判定し、当該更新対象の車載ＥＣＵへの更新プログラムの送信を再開することなく、当該更新プログラムの送信を中止するものであってもよい。すなわち、制御部２０は、ＥＣＵ部番の同異を考慮することなく、識別情報夫々に含まれるシリアル番号又はＭＡＣアドレスの対比結果に基づき、これら識別情報の同異を判定し、異なる場合、車載ＥＣＵ３は送信が中断している間に交換されたと判定し、更新プログラムの送信を中止してもよい。
【００９０】
更新対象の車載ＥＣＵ３が、更新プログラムの送信が中断された間に交換又は取り外された場合、当該更新プログラムの送信を中止し、当該送信を中止する。このような交換又は取り外しは、不正に行われた場合も懸念されるところ、不正に交換された車載ＥＣＵ３に対し、更新プログラムの送信は再開されないため、当該更新プログラムが不正に交換された車載ＥＣＵ３に受信されることを防止することができる。又、更新対象の車載ＥＣＵ３が交換又は取り外された旨が、車両Ｃの操作者等に報知されるので、当該操作者は適切な対応を行うことができる。
【００９１】
更新対象の車載ＥＣＵ３が交換等は、更新プログラムが中断している間に行われたものであり、制御部２０は、更新プログラムのブロック単位での送信において、各ブロックの送信時点に関する情報を、送信状況に関する情報に含めて記憶してある。従って、制御部２０は、当該送信時点に関する情報と、更新プログラムを再開する時点とに基づき、更新プログラムが中断している時間帯を導出し、導出した時間帯に車載ＥＣＵ３が交換等されたと特定することができる。制御部２０は、当該導出した時間帯を、判定結果に含めて出力（送信）して、報知するものであってもよい。車両Ｃの操作者等は、車載ＥＣＵ３の交換又は取り外しに関するより詳細な情報を認識することができる。
【００９２】
（実施形態２）
図７は、車載更新装置２の制御部２０の処理を示すフローチャートである。図８は、車載更新装置２の制御部２０の処理を示すフローチャートである。車載更新装置２の制御部２０は、車両Ｃが起動状態（ＩＧスイッチがオン）において、車外通信装置１を介して、定常的にプログラム提供装置Ｓ１と通信し、以下の処理を行う。
【００９３】
車載更新装置２の制御部２０は、更新途中の車載ＥＣＵ３があるかを判定する（Ｓ２１）。制御部２０は、記憶部２１に記憶されている前回の更新プログラムの送信の進捗状況に関する情報を参照し、更新途中の車載ＥＣＵ３があるかを判定する。詳細は後述するが、更新プログラムの送信の進捗状況に関する情報は、更新対象の車載ＥＣＵ３を特定する識別情報（例えば、シリアル番号又はＭＡＣアドレス）と、送信した更新プログラムのブロックＩＤを含む。更に、更新プログラムの送信の進捗状況に関する情報は、当該車載ＥＣＵ３への更新プログラムの送信が完了したか否かに関する情報を含む。制御部２０は、例えば、前回送信した更新プログラムのブロックＩＤが、更新プログラムを送信するにあたり最後のブロックのブロックＩＤでない場合、又は更新プログラムの送信が完了していない車載ＥＣＵ３がある場合、更新途中の車載ＥＣＵ３があると判定する。制御部２０は、例えば、前回送信した更新プログラムのブロックＩＤが、更新プログラムを送信するにあたり最後のブロックのブロックＩＤである場合、又は更新プログラムの送信が途中の車載ＥＣＵ３がない場合、更新途中の車載ＥＣＵ３がないと判定する。
【００９４】
更新途中の車載ＥＣＵ３がない場合（Ｓ２１：ＮＯ）、車載更新装置２の制御部２０は、更新情報及び更新プログラムを取得する（Ｓ２１１）。車載更新装置２の制御部２０は、車外通信装置１を介してプログラム提供装置Ｓ１と通信し、更新情報の有無を確認し、更新情報があれば対応する更新プログラムを取得する。制御部２０は、取得した更新情報に基づき、更新対象の車載ＥＣＵ３を特定する。
【００９５】
車載更新装置２の制御部２０は、更新開始を記憶する（Ｓ２１２）。制御部２０は、更新対処の車載ＥＣＵ３の識別情報と関連付けて、当該車載ＥＣＵ３の更新を開始すること（当該車載ＥＣＵ３が更新中であること）を記憶部２１に記憶する。
【００９６】
車載更新装置２の制御部２０は、車載ＥＣＵ３に更新プログラムを送信する（Ｓ２１３）。制御部２０は、更新プログラムの送信を開始する。制御部２０は、更新プログラムの送信を開始するにあたり、送信先となる車載ＥＣＵ３とセッションを確立するものであってもよい。Ｓ２１にて制御部２０は、取得した更新情報に基づき、更新対象の車載ＥＣＵ３を特定するとしたが、これに限定されない。制御部２０は、例えば、更新情報に基づき生成した所定のパケット又はメッセージをマルチキャストで車両Ｃに搭載される全ての車載ＥＣＵ３に送信する。そして、制御部２０は、当該マルチキャストに対し自ＥＣＵの構成情報を含めて返信して応答した車載ＥＣＵ３を更新対象の車載ＥＣＵ３として特定し、当該車載ＥＣＵ３の更新を開始すること（当該車載ＥＣＵ３が更新中であること）を記憶部２１に記憶してもよい。
【００９７】
車載更新装置２の制御部２０は、更新プログラムをブロック単位で送信する（Ｓ２１４）。制御部２０は、更新プログラムを所定のデータサイズで分割したブロック単位で送信する。又は、制御部２０は、更新プログラムに含まれるセパレータを抽出し、当該セパレータに基づいて、更新プログラムを分割しブロックとしてもよい。ブロックには、ブロック夫々を識別するためのブロックＩＤが付与される。制御部２０は、送信したブロックのブロックＩＤ及び送信時点を含む更新プログラムの送信の進捗状況（送信状況）に関する情報を記憶部２１に記憶する。
【００９８】
車載更新装置２の制御部２０は、今回送信したブロックが、最後のブロックか否かを判定する（Ｓ２１５）。制御部２０は、例えば、更新プログラムを所定のデータサイズで分割してブロック化するにあたり、生成されるブロックの個数を確定する。当該確定したプロックの個数が、ブロックＩＤの末尾の番号となり、制御部２０は、今回送信するブロックのブロックＩＤが末尾の番号であるか否かにより、更新プログラムの送信を完了させるにあたり最後のブロックであるか否かを判定する。
【００９９】
今回送信したブロックが最後のブロックでない場合（Ｓ２１５：ＮＯ）、車載更新装置２の制御部２０は、再度Ｓ２１４の処理を実行すべくループ処理を行う。ループ処理により再度、ブロック単位の送信の処理（Ｓ２１４）を行うにあたり、制御部２０は、前回送信したブロックＩＤの次の順番となるブロックＩＤを送信する。このようにループ処理を行うことにより、制御部２０は、更新プログラムを所定のデータサイズで分割したブロックを、更新対象の車載ＥＣＵ３に順次送信する。
【０１００】
車載更新装置２から送信されたブロックを受信した更新対象の車載ＥＣＵ３は、当該ブロックを非動作面の記憶領域（第１記憶領域３１１又は第２記憶領域３１２）に記憶し、受信したブロックのブロックＩＤ及び受信時点を含む更新プログラムの受信の進捗状況（受信状況）に関する情報を記憶部３１に記憶する。
【０１０１】
当該ループ処理を行っている間、すなわちブロック単位の送信（Ｓ２１４）をループ処理（Ｓ２１５）にて順次行っている間に、例えば、車両Ｃの電源がオフ（ＩＧスイッチがオフ）にされた場合、当該ブロック単位の送信は、中断される。そして、車載更新装置２の記憶部２１には、更新プログラム及び最後の送信したブロックのブロックＩＤの情報が残っている。又、車載更新装置２の記憶部２１には、当該車載ＥＣＵ３が更新中（リプロステータスは更新中）であるとして、記憶されている。従って、これら記憶部２１に記憶されている情報により、更新対象の車載ＥＣＵ３への更新プログラムの送信は、途中状態（当該車載ＥＣＵ３はプログラム更新中／リプロステータスは更新中）であることが示される。
【０１０２】
今回送信したブロックが最後のブロックである場合（Ｓ２１５：ＹＥＳ）、車載更新装置２の制御部２０は、更新完了を記憶部２１に記憶する（Ｓ２１６）。車載更新装置２の制御部２０は、最後のブロックを送信することにより、車載ＥＣＵ３の更新プログラムの送信を終了し、当該車載ＥＣＵ３の更新が完了したことを、当該車載ＥＣＵ３の識別情報と関連付けて、記憶部２１に記憶する。
【０１０３】
車載ＥＣＵ３は、車載更新装置２から送信された最後のブロックを受信した後、自ＥＣＵの更新が完了したことを記憶部３１に記憶する。車載ＥＣＵ３は、最後のブロックの受信及び受信を完了した更新プログラムへの切替え、すなわち動作面を更新プログラムが記憶されている記憶領域に切替えた後、更新プログラムへの切替えが完了したことを車載更新装置２に送信（通知）してもよい。車載更新装置２の制御部２０は、更新対象の車載ＥＣＵ３から更新プログラムへの切替えが完了した通知を受信した後、動作面の切替えが行われたことを含め当該車載ＥＣＵ３の更新が完了したことを、当該車載ＥＣＵ３の識別情報と関連付けて、記憶部２１に記憶してもよい。車載更新装置２の制御部２０は、車載ＥＣＵ３の更新が完了ことを記憶部２１に記憶した後、更新プログラムを削除してもよい。
【０１０４】
更新途中の車載ＥＣＵ３がある場合（Ｓ２１：ＹＥＳ）、車載更新装置２の制御部２０は、更新対象の車載ＥＣＵ３から、更新プログラムの受信状況に関する情報を取得する（Ｓ２２）。制御部２０は、記憶部２１に記憶されている前回の更新プログラムの送信の進捗状況に関する情報を参照し、更新途中の車載ＥＣＵ３の識別情報から、当該車載ＥＣＵ３を特定する。制御部２０は、更新途中の車載ＥＣＵ３に対し、当該車載ＥＣＵ３による更新プログラムの受信状況に関する情報を送信するように要求する。更新途中の車載ＥＣＵ３の記憶部２１には、受信したブロックＩＤ及び受信時点等の更新プログラムの受信の進捗状況（受信状況）に関する情報が記憶されており、車載ＥＣＵ３の制御部３０は、車内通信部３２を介して更新プログラムの受信状況を車載更新装置２に送信する。車載更新装置２の制御部２０は、車載ＥＣＵ３から更新プログラムの受信状況を取得する。又は、車載ＥＣＵ３の制御部３０は、前回送信された更新プログラムの受信が完了していない場合、自発的に車載更新装置２に更新プログラムの受信状況を送信してもよい。
【０１０５】
車載更新装置２の制御部２０は、送信状況に関する情報と、受信状況に関する情報とが整合しているかを判定する（Ｓ２３）。制御部２０は、例えば、記憶部２１に記憶している最後に送信したブロックのブロックＩＤと、車載ＥＣＵ３から取得した当該車載ＥＣＵ３が最後に受信したプロックのブロックＩＤとを、比較する。制御部２０は、これらブロックＩＤが同一であるか否かによって、送信の進捗状況（送信状況）に関する情報と、受信の進捗状況（受信状況）に関する情報とが、整合しているか否かを判定する。
【０１０６】
制御部２０は、例えば、送受信したブロック夫々のブロックＩＤが同一の場合、送信状況に関する情報と、受信状況に関する情報とが整合していると判定する。制御部２０は、例えば、送受信したブロック夫々のブロックＩＤが同一でない場合、又は更新対象の車載ＥＣＵ３が送信要求に応答せず、更新プログラムの受信状況に関する情報を取得できなかった場合、送信状況に関する情報と、受信状況に関する情報とが整合していないと判定する。又は、車載更新装置２及び車載ＥＣＵ３夫々は、送受信したブロックのブロックＩＤによって決定されるチェックポイントを記憶する。車載更新装置２の制御部２０は、自装置に記憶されているチェックポイントと、車載ＥＣＵ３に記憶されているチェックポイントとを照合して、送信状況に関する情報と、受信状況に関する情報とが整合しているか判定してもよい。このように送受信したブロック夫々のブロックＩＤによって、前回の更新プログラムの送受信が中断された中断ポイントを特定することができる。
【０１０７】
整合している場合（Ｓ２３：ＹＥＳ）、車載更新装置２の制御部２０は、中断ポイントから更新プログラムの送信を再開する（Ｓ２４）。制御部２０は、前回の更新プログラムの送信において、最後に送信したブロックのブロックＩＤの次の順番となるブロックの送信を行い、更新プログラムの送信を再開する。制御部２０は、更新プログラムの送信を再開するにあたり、車載ＥＣＵとの間でのプログラミングセッションを再度確立した後、当該次の順番となるブロックの送信を行うものであってもよい。当該プログラミングセッションは、例えばISO14229-1によるＵＤＳ（Unified diagnostic services）に基づくものであってもよい。中断ポイントから更新プログラムの送信を再開することにより、前回の更新プログラムの送信において既に送信しているブロックを送信する処理を不要とし、更新プログラムの再開から完了までに要する所要時間の短縮、及び車内ＬＡＮ４におけるトラフィックが増加することを抑制することができる。
【０１０８】
車載更新装置２の制御部２０は、Ｓ２１４，Ｓ２１５及びＳ２１６の処理を同様に、Ｓ２５，Ｓ２６及びＳ２７の処理を行う。
【０１０９】
整合していない場合（Ｓ２３：ＮＯ）、車載更新装置２の制御部２０は、更新対象の車載ＥＣＵ３の識別情報を取得する（Ｓ２３１）。車載更新装置２の制御部２０は、更新対象の車載ＥＣＵ３へ自ＥＣＵの識別情報を送信することを要求する。制御部２０は、当該車載ＥＣＵ３から送信された識別情報を受信し、取得する。車載ＥＣＵ３から送信された識別情報は、例えば当該車載ＥＣＵ３のシリアル番号又はＭＡＣアドレスを含む。更に、車載ＥＣＵ３から送信された識別情報は、当該車載ＥＣＵ３のプログラムのバージョンに関する情報を含むものであってもよい。又は、当該車載ＥＣＵ３は、記憶部３１に記憶してある自ＥＣＵの構成情報の全てを車載更新装置２に送信するものであってもよい。
【０１１０】
車載更新装置２の制御部２０は、更新対象の車載ＥＣＵ３から取得した識別情報は正当か否かを判定する（Ｓ２３２）。制御部２０は、更新対象の車載ＥＣＵ３から取得した識別情報と、更新プログラムを送信中であるとして記憶部２１に記憶している車載ＥＣＵ３の識別情報とを比較し、一致した場合、取得した識別情報は正当であると判定する。一致しなかった場合、制御部２０は、取得した識別情報は正当でない、すなわち不当であると判定する。なお、更新対象の車載ＥＣＵ３が送信要求に応答せず識別情報を取得できなかった場合は、識別情報が一致しなかった場合に含め、制御部２０は、取得した識別情報は正当でない、すなわち不当であると判定する。
【０１１１】
制御部２０は、記憶部２１に記憶している車載ＥＣＵ３の識別情報を比較するとしたが、これに限定されない。車両Ｃに搭載されている車載ＥＣＵ３の構成情報をプログラム提供装置Ｓ１に記憶させておき、制御部２０は、プログラム提供装置Ｓ１から送信された車載ＥＣＵ３の構成情報に基づき、更新プログラムを送信中の車載ＥＣＵ３の識別情報を導出してもよい。車載ＥＣＵ３の構成情報をプログラム提供装置Ｓ１に記憶させることにより、車載更新装置２の記憶部２１の空き容量を確保することができる。又、車載更新装置２が交換された場合であっても当該交換の影響を低減することができる。
【０１１２】
正当であると判定した場合（Ｓ２３２：ＹＥＳ）、車載更新装置２の制御部２０は、更新プログラムを最初から送信する（Ｓ２３３）。正当であると判定した場合は、更新プログラムの送受信が中断される前後にて、更新対象の車載ＥＣＵ３は同一のものである。しかしながら、例えば、更新プログラムの送受信の中断により発生した通信エラー等により、車載更新装置２が最後に送信したブロックＩＤと、車載ＥＣＵ３が最後に受信したブロックＩＤとが、異なる場合がある。このような場合であっても、更新プログラムの送受信が中断される前後にて更新対象の車載ＥＣＵ３は同一であるため、車載更新装置２の制御部２０は、更新プログラムを最初、すなわち最初のブロックから送信を再開する。制御部２０は、更新プログラムを最初から送信するにあたり、車載更新装置２と車載ＥＣＵ３との間でのプログラミングセッションの確立後、更新プログラムの送信（データ転送）を最初から再開する。制御部２０は更新プログラムをブロック単位で送信する場合、最初のブロックＩＤのブロックからの送信を行う。当該プログラミングセッションは、例えばISO14229-1によるＵＤＳ（Unified diagnostic services ）に基づくものであってもよい。又、プログラミングセッションの確立後、車載更新装置２の制御部２０は、車載ＥＣＵ３に対し前回中断した送信において受信した更新プログラム（受信したブロック）を削除させる指示（通知）を行った後、更新プログラムの送信を最初から再開するものであってもよい。従って、送受信したブロック夫々のブロックＩＤが異なり、車載更新装置２及び車載ＥＣＵ３の間で中断ポイントに乖離があった場合であっても、更新プログラムの送信を最初から再開することにより、当該更新プログラムを確実に車載ＥＣＵ３に送信することができる。
【０１１３】
車載更新装置２の制御部２０は、Ｓ２１４，Ｓ２１５及びＳ２１６の処理を同様に、Ｓ２３４，Ｓ２３５及びＳ２３６の処理を行う。
【０１１４】
正当でない（不当である）と判定した場合（Ｓ２３２：ＮＯ）、車載更新装置２の制御部２０は、車載ＥＣＵ３は交換されたと判定する（Ｓ２３２１）。制御部２０は、更新対象の車載ＥＣＵ３から取得した識別情報と、更新プログラムを送信中であるとして記憶している車載ＥＣＵ３の識別情報とが一致しなかった場合、又は当該更新対象の車載ＥＣＵ３が送信要求に応答せず識別情報を取得できなかった場合、更新プログラムの送信が中断している間に車載ＥＣＵ３は交換されたと判定する。車載更新装置２の制御部２０は、当該更新対象の車載ＥＣＵ３が送信要求に応答せず識別情報を取得できなかった場合、更新プログラムの送信が中断している間に当該更新対象の車載ＥＣＵ３は取り外されたと判定してもよい。制御部２０は、車載ＥＣＵ３は交換又は取り外されたと判定し、更新プログラムの送信を再開することなく、当該送信を中止する。
【０１１５】
更新プログラムの送信の中断は、例えば車両Ｃの電源がオフ（ＩＧスイッチがオフ）によって発生する。従って、更新プログラムの送信途中にて車両Ｃの電源がオフにされ、当該更新プログラムの送信が中断された間に、更新対象の車載ＥＣＵ３が交換又は取り外された場合であっても、当該交換又は取り外された事態を確実に検知することができる。
【０１１６】
車載更新装置２の制御部２０は、判定結果を送信及び記憶する（Ｓ２３２２）。制御部２０は、更新対象の車載ＥＣＵ３が、更新プログラムの送信が中断された間に交換又は取り外されたとする判定結果を、車外のプログラム提供装置Ｓ１、車両Ｃに設けられた表示装置５又は、プログラム提供装置Ｓ１及び車両Ｃに設けられた表示装置５の両装置に出力（送信）し、当該交換又は取り外された旨を報知する。制御部２０は、判定結果に、更新プログラムを送信中であるとして記憶部２１に記憶している車載ＥＣＵ３の識別情報を含めて、出力（送信）し報知するものであってもよい。又、制御部２０は、更新プログラムの送信が中断された間に交換されたと判定した車載ＥＣＵ３の識別情報（交換後の車載ＥＣＵ３から受信した識別情報）についても、判定結果と共に出力（送信）し報知するものであってもよい。又は、車載更新装置２の制御部２０は、車外通信装置１を介して、車両Ｃの操作者が保持するスマートホン等の携帯端末に送信し、更新対象の車載ＥＣＵ３が交換又は取り外された旨を報知してもよい。制御部２０は、受信した識別情報又は受信できなかった旨を含め、更新対象の車載ＥＣＵ３が交換又は取り外された旨を、更新プログラムを送信中であるとした車載ＥＣＵ３の構成情報と関連づけて、記憶部２１に記憶する。
【０１１７】
本実施形態において、車載更新装置２は、複数の車載ＥＣＵ３の系統のセグメントを統括するゲートウェイ（中継器）であるとしたが、これに限定されない。車載更新装置２は、特定のセグメントに接続され、ゲートウェイとは別個の専用装置であってもよい。
【０１１８】
本実施形態において、車載更新装置２の制御部２０が、車載ＥＵＣの構成情報の集約、送受信の状況に関する情報の整合性判定、及び更新対象の車載ＥＣＵ３の識別情報の正当性判定を行うとしたが、これに限定されない。構成情報の集約、送受信の状況に関する情報の整合性判定、及び更新対象の車載ＥＣＵ３の識別情報の正当性判定を行う夫々の機能部は、ゲートウェイ及びボディＥＣＵ等の複数の車載機器に分散して構成され、相互に通信して連携又は協働することによって、機能するものであってもよい。
【０１１９】
（実施形態３）
図９は、実施形態３に係る車載ＥＣＵ３の構成を例示するブロック図である。実施形態３に係る車載ＥＣＵ３は、制御部２０及び記憶部２１から成る複数のマイコンを含むものであり、車載更新装置２の制御部２０は、このような複数のマイコンを含む車載ＥＣＵ３に対応した構成情報（車両構成情報）及び当該構成情報の更新履歴（車両構成情報更新履歴）を、当該車載ＥＣＵ３から取得し、記憶部２１に記憶する。
【０１２０】
車載ＥＣＵ３は、実施形態１と同様に制御部３０、記憶部３１及び車内通信部３２を含む。制御部３０、記憶部３１及び車内通信部３２の個々の構成は、実施形態１と同様である。
【０１２１】
車載ＥＣＵ３は、制御部３０及び記憶部３１から成るマイコン又は基板回路を複数（図面上、２つ）含み、各マイコン等における記憶部３１夫々には、異なるプログラムが記憶されている。車載ＥＣＵ３の制御部３０夫々は、自部と同じマイコン等に配置されている記憶部２１に記憶されているプログラムを実行することにより、異なるプログラムによる別個の処理を並行して行うように構成されている。このように複数マイコンを含む車載ＥＣＵ３の車両構成情報は、同一の製造番号（シリアル番号）及びＥＣＵ部番（部番、型番）に対し、当該マイコンの個数に応じた複数のＳｏｆｔｗａｒｅ部番、プログラムの現バージョン、旧バージョンを有するものとなる。
【０１２２】
図１０は、車載ＥＣＵ３の構成情報の一態様を例示する説明図である。車載更新装置２の記憶部２１には、実施形態１と同様に車両Ｃに搭載される全ての車載ＥＣＵ３の構成情報が記憶される。本実施形態における車載ＥＣＵ３の構成情報（車両構成情報マスターテーブル）は、実施形態１と同様の管理項目（フィールド）を含む。車載更新装置２の制御部２０は、複数のマイコンを含む車載ＥＣＵ３から車両構成情報を取得した場合、例えば車載ＥＣＵ３が含むマイコンの個数に応じた枝番をＥＣＵ−ＩＤに付与（００１−１、００１−２、００１−ｎ）することにより、単一の車載ＥＣＵ３に含まれる個々のマイコンの記憶部２１に記憶されるプログラムを別レコードとして記憶し、管理するものであってもよい。図１０に示すごとく、本実施形態では、このような枝番付きＥＣＵ−ＩＤを、例えば、ＥＣＵ−ＩＤの本番号（００１）と、枝番号（１，２，ｎ）とを「−」にて接続する番号形態としている。上述のとおり、複数マイコンを含む車載ＥＣＵ３の車両構成情報は、同一の製造番号（シリアル番号）及びＥＣＵ部番（部番、型番）に対し、当該マイコンの個数に応じた複数のＳｏｆｔｗａｒｅ部番等を含む。車載更新装置２の制御部２０は、同一の製造番号（シリアル番号）及びＥＣＵ部番（部番、型番）に対応した同じＥＣＵ−ＩＤに枝番を付与した枝番付きＥＣＵ−ＩＤを発番し、当該枝番付きＥＣＵ−ＩＤをユニークな番号として、マイコン夫々にて実行されるプログラムのＳｏｆｔｗａｒｅ部番、プログラムの現バージョン、旧バージョン、動作面数、動作面を車両構成情報マスターテーブルに登録するものであってもよい。この場合、本番号が同一の枝番付きＥＣＵ−ＩＤ夫々に関連付けられて登録される製造番号（シリアル番号）及びＥＣＵ部番（部番、型番）は、同じものとなる。
【０１２３】
車載更新装置２の制御部２０は、実施形態１と同様に、更新対象の車載ＥＣＵ３から取得した識別情報が異なるかを判定する処理（Ｓ１３）又は、識別情報に含まれるＥＣＵ部番が異なるかを判定する処理（Ｓ１５）を行う際、車載ＥＣＵ３が含むマイコンの個数に応じた枝番付きＥＣＵ−ＩＤに基づき、これら判定処理を行う。
【０１２４】
このように車載ＥＣＵ３が含むマイコンの個数に応じた枝番付きＥＣＵ−ＩＤにより、同一の製造番号（シリアル番号）及びＥＣＵ部番（部番、型番）であって、複数の異なるプログラムのＳｏｆｔｗａｒｅ部番、プログラムの現バージョン等を含む車両構成情報を有する車載ＥＣＵ３（複数のマイコンを含む車載ＥＣＵ３）に対応することができる。すなわち、当該複数のマイコンを含む車載ＥＣＵ３のいずれかのマイコンのみが、更新プログラムの送信が中断された間に交換又は取り外された場合であっても、当該交換等を検知し、実施形態１と同様に適切に対応することができる。
【０１２５】
本実施形態にて、枝番付きＥＣＵ−ＩＤを、ＥＣＵ−ＩＤのフィールドに格納するとしたが、これに限定されない。例えば、車両構成情報マスターテーブルにおいて、ＥＣＵ−ＩＤの本番号用フィールドと、枝番号用フィールドとを別個のフィールドとして設定し、本番号用フィールドにＥＣＵ−ＩＤの本番号（００１）を格納し、枝番号用フィールドに枝番号（１，２，ｎ）を格納するものであってもよい。
【０１２６】
本実施形態にて、複数マイコンを含む車載ＥＣＵ３の車両構成情報は、枝番付きＥＣＵ−ＩＤを用いて記憶及び管理するとしたが、当該態様は一例示であり、これに限定されない。車載更新装置２の制御部２０は、複数のマイコンを含む車載ＥＣＵ３から車両構成情報を取得した場合、実施形態１と同様に単一のＥＣＵ−ＩＤをユニークキーとして、マイコン夫々にて実行されるプログラム夫々を、同一レコードのフィールドに格納して記憶するものであってもよい。すなわち、車載更新装置２の制御部２０は、複数のマイコンを含む車載ＥＣＵ３から車両構成情報に含まれるプログラム夫々のＳｏｆｔｗａｒｅ部番等の夫々を文字列結合し、文字列結合した値を、ＥＣＵ−ＩＤのレコードにおけるＳｏｆｔｗａｒｅ部番のフィールドに格納するものであってもよい。このようにＳｏｆｔｗａｒｅ部番等の夫々を文字列結合して管理することにより、複数のマイコンを含む車載ＥＣＵ３のいずれかのマイコンが不正に交換された場合であっても、当該交換等を検知し、実施形態１と同様に適切に対応することができる。
【０１２７】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２８】
Ｃ  車両
Ｓ  車載更新システム
Ｓ１  プログラム提供装置（外部サーバ）
Ｓ１１  記憶部（所定の記憶領域）
１  車外通信装置
１１  車外通信部
１２  入出力Ｉ／Ｆ
１３  アンテナ
２  車載更新装置
２０  制御部
２１  記憶部（所定の記憶領域）
２２  記録媒体
２３  車内通信部
２４  入出力Ｉ／Ｆ
３  車載ＥＣＵ
３０  制御部
３１  記憶部
３１１  第１記憶領域（第１面）
３１２  第２記憶領域（第２面）
３２  車内通信部
４  車内ＬＡＮ
５  表示装置
【図１】
2020080321.tif 000003
【図２】
2020080321.tif 000004
【図３】
2020080321.tif 000005
【図４】
2020080321.tif 000006
【図５】
2020080321.tif 000007
【図６】
2020080321.tif 000008
【図７】
2020080321.tif 000009
【図８】
2020080321.tif 000010
【図９】
2020080321.tif 000011
【図１０】
2020080321.tif 000012
【手続補正書】
【提出日】令和3年1月6日(2021.1.6)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００５１
【補正方法】変更
【補正の内容】
【００５１】
図３は、車載ＥＣＵ３の構成情報の一態様を例示する説明図である。車載更新装置２の制御部２０は、ＩＧ（イグニッション）スイッチがオンにされた場合、又は所定のタイミングにて、定常的に車両Ｃに搭載されている全ての車載ＥＣＵ３に対し、車載ＥＣＵ３の構成情報（車両構成情報）及び当該構成情報の更新履歴（車両構成情報更新履歴）を送信することを要求し、送信された構成情報及び更新履歴を取得し、記憶部２１に記憶する。又は、車載更新装置２の制御部２０は、車載ＥＣＵ３に対し車載ＥＣＵ３の構成情報及び更新履歴を送信することを要求することなく、車載ＥＣＵ３夫々が自発的に送信した構成情報及び更新履歴を取得し、記憶部２１に記憶するものであってもよい。上述のごとく、車載ＥＣＵ３夫々の記憶部３１には、自ＥＣＵの構成情報及び更新履歴が記憶されている。従って、車載更新装置２は、車載ＥＣＵ３夫々に記憶されている構成情報及び更新履歴の夫々を集約し、車載ＥＣＵ３夫々の構成情報及び更新履歴を記憶する。車載更新装置２は、集約して記憶した車載ＥＣＵ３夫々の構成情報及び更新履歴を、プログラム提供装置Ｓ１に送信するものであってもよい。構成情報及び更新履歴をプログラム提供装置Ｓ１に送信することにより、プログラム提供装置Ｓ１の記憶部Ｓ１１に、当該構成情報及び更新履歴のバックアップを行うことができる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１１９
【補正方法】変更
【補正の内容】
【０１１９】
（実施形態３）
図９は、実施形態３に係る車載ＥＣＵ３の構成を例示するブロック図である。実施形態３に係る車載ＥＣＵ３は、制御部３０及び記憶部３１から成る複数のマイコンを含むものであり、車載更新装置２の制御部２０は、このような複数のマイコンを含む車載ＥＣＵ３に対応した構成情報（車両構成情報）及び当該構成情報の更新履歴（車両構成情報更新履歴）を、当該車載ＥＣＵ３から取得し、記憶部２１に記憶する。
【国際調査報告】
2020080321.tif 000013
2020080321.tif 000014
2020080321.tif 000015
2020080321.tif 000016