(57)【要約】      （修正有）【課題】サーバの処理負荷を抑制しつつ、効率的に更新プログラムを伝送する。【解決手段】車載制御装置の更新プログラムを車載制御装置に中継する中継装置は、更新プログラムのサーバと移動体通信網を介して通信する第１通信部と、他車両と車車間通信を行う第２通信部と、第１又は第２通信部から受信した更新プログラムを車載制御装置に送信する車内通信部と、車車間通信による更新プログラムの転送元として選択可能な他車両が存在する場合に、更新プログラムを他車両から受信するように第２通信部を制御する処理部と、を備える。【選択図】図１
2017228107.tif 000002
【特許請求の範囲】
【請求項１】
車載制御装置の更新プログラムを前記車載制御装置に中継する装置であって、
前記更新プログラムのサーバと移動体通信網を介して通信する第１通信部と、
他車両と車車間通信を行う第２通信部と、
前記第１又は第２通信部から受信した前記更新プログラムを前記車載制御装置に送信する車内通信部と、
車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信するように前記第２通信部を制御する処理部と、を備える中継装置。
【請求項２】
前記処理部は、前記転送元として選択可能な前記他車両が存在しない場合に、前記更新プログラムを前記サーバから受信するように前記第１通信部を制御する請求項１に記載の中継装置。
【請求項３】
前記処理部は、前記他車両の走行状態に応じて、前記他車両を前記転送元として選択可能か否かを判定する請求項１又は請求項２に記載の中継装置。
【請求項４】
前記処理部は、信号待ち中の前記他車両、駐車中の前記他車両、及び自車両と隊列走行中の前記他車両のうちの少なくとも１つを、前記転送元として選択可能であると判定する請求項１〜請求項３のいずれか１項に記載の中継装置。
【請求項５】
前記処理部は、自車両と進行方向が異なる前記他車両を、前記転送元として選択不能であると判定する請求項１〜請求項４のいずれか１項に記載の中継装置。
【請求項６】
前記処理部は、車車間通信による前記更新プログラムの伝送時間の多寡に応じて、前記他車両を前記転送元として選択可能か否かを判定する請求項１〜請求項５のいずれか１項に記載の中継装置。
【請求項７】
前記処理部は、前記他車両との車車間通信の推定接続時間の多寡に応じて、前記他車両を前記転送元として選択可能か否かを判定する請求項１〜請求項６のいずれか１項に記載の中継装置。
【請求項８】
前記処理部は、前記他車両との車車間通信の推定接続時間が車車間通信による前記更新プログラムの伝送時間よりも大きい前記他車両を、前記転送元として選択可能であると判定する請求項１〜請求項７のいずれか１項に記載の中継装置。
【請求項９】
前記第１又は第２通信部が受信した前記更新プログラムを記憶する記憶部を更に備え、
前記処理部は、前記車載制御装置による前記更新プログラムを用いた制御プログラムの更新終了後に、前記記憶部に前記更新プログラムを所定期間だけ保持させる請求項１〜請求項８のいずれか１項に記載の中継装置。
【請求項１０】
車載制御装置の更新プログラムを前記車載制御装置に中継する方法であって、
前記更新プログラムのサーバと移動体通信網を介して通信する第１ステップと、
他車両と車車間通信を行う第２ステップと、
前記第１及び第２ステップのいずれかにより受信した前記更新プログラムを前記車載制御装置に送信する第３ステップと、を含み、
前記第３ステップにおいて、車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信する中継方法。
【請求項１１】
車載制御装置の更新プログラムを前記車載制御装置に中継する装置として、コンピュータを機能させるためのコンピュータプログラムであって、前記コンピュータを、
前記更新プログラムのサーバと移動体通信網を介して通信する第１通信部の制御、
他車両と車車間通信を行う第２通信部の制御、及び、
前記第１又は第２通信部が受信した前記更新プログラムを前記車載制御装置に送信する車内通信部の制御を行う処理部として機能させ、
前記処理部は、車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信するように前記第２通信部を制御するコンピュータプログラム。
【請求項１２】
車載制御装置の更新プログラムを前記車載制御装置に中継する装置であって、
前記更新プログラムのサーバとの移動体通信網を介した通信である第１通信と、他車両との車車間通信である第２通信とを行う無線通信部と、
前記無線通信部が受信した前記更新プログラムを前記車載制御装置に送信する車内通信部と、
車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信するように前記無線通信部を制御する処理部と、を備える中継装置。
【請求項１３】
前記処理部は、前記転送元として選択可能な前記他車両が存在しない場合に、前記更新プログラムを前記サーバから受信するように前記無線通信部を制御する請求項１２に記載の中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、中継方法及びコンピュータプログラムに関する。具体的には、本発明は、車載機器を制御する車載制御装置の更新プログラムを中継する技術に関する。
【背景技術】
【０００２】
近年、自動車の技術分野においては、車両の高機能化が進行しており、多種多様な車載機器が車両に搭載されている。従って、車両には、各車載機器を制御するための車載制御装置である、所謂ＥＣＵ（Electronic Control Unit）が多数搭載されている。
ＥＣＵには、例えば、アクセル、ブレーキ、ハンドルの操作に対してエンジンやブレーキ、ＥＰＳ（Electric Power Steering）等の制御を行う走行系に関わるもの、乗員によるスイッチ操作に応じてヘッドライトの点灯／消灯やワイパーＯＮ／ＯＦＦ、ドアロック／アンロック等、運転席近傍に配設されるメータ類の動作を行うものがある。
【０００３】
一般的にＥＣＵは、マイクロコンピュータ等の演算処理装置によって構成されており、ＲＯＭ（Read Only Memory）に記憶した制御プログラムを読み出して実行することにより、車載機器の制御が実現される。
ＥＣＵの制御プログラムは、車両の仕向け地やグレードなどに応じて異なることがあり、制御プログラムのバージョンアップに対応して、旧バージョンの制御プログラムを新バージョンの制御プログラムに書き換える必要がある。
【０００４】
例えば、特許文献１及び２には、車載通信機などのゲートウェイが管理サーバから更新プログラムを受信し、受信した更新プログラム用いてＥＣＵが制御プログラムを旧バージョンから新バージョンに書き換えることにより、車両の各ＥＣＵに対するプログラム更新を無線通信によって遠隔で実行する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−６５８５６号公報
【特許文献２】特開２０１０−１９８１５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＥＣＵに必要な更新プログラムを遠隔で多数の車両に提供するには、更新プログラムを保持する情報源（サーバ）が、例えば移動体通信網を介して各車両の車載通信機と通信する必要がある。
しかし、多数の車両からのダウンロード要求が一斉に発生すると、サーバの処理負荷が過大となる可能性がある。この問題は、サーバが管理する車両台数が多くなるほど顕著になる。
【０００７】
本発明は、かかる従来の問題点に鑑み、サーバの処理負荷を抑制しつつ、効率的に更新プログラムを伝送できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
（１）  本発明の一態様に係る中継装置は、車載制御装置の更新プログラムを前記車載制御装置に中継する装置であって、前記更新プログラムのサーバと移動体通信網を介して通信する第１通信部と、他車両と車車間通信を行う第２通信部と、前記第１又は第２通信部から受信した前記更新プログラムを前記車載制御装置に送信する車内通信部と、車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信するように前記第２通信部を制御する処理部と、を備える。
【０００９】
（１０）  本発明の一態様に係る中継方法は、車載制御装置の更新プログラムを前記車載制御装置に中継する方法であって、前記更新プログラムのサーバと移動体通信網を介して通信する第１ステップと、他車両と車車間通信を行う第２ステップと、前記第１及び第２ステップのいずれかにより受信した前記更新プログラムを前記車載制御装置に送信する第３ステップと、を含み、前記第３ステップにおいて、車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信する。
【００１０】
（１１）  本発明の一態様に係るコンピュータプログラムは、車載制御装置の更新プログラムを前記車載制御装置に中継する装置として、コンピュータを機能させるためのコンピュータプログラムであって、前記コンピュータを、前記更新プログラムのサーバと移動体通信網を介して通信する第１通信部の制御、他車両と車車間通信を行う第２通信部の制御、及び、前記第１又は第２通信部が受信した前記更新プログラムを前記車載制御装置に送信する車内通信部の制御を行う処理部として機能させ、前記処理部は、車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信するように前記第２通信部を制御する。
【００１１】
（１２）  本発明の別態様に係る中継装置は、車載制御装置の更新プログラムを前記車載制御装置に中継する装置であって、前記更新プログラムのサーバとの移動体通信網を介した通信である第１通信と、他車両との車車間通信である第２通信とを行う無線通信部と、前記無線通信部が受信した前記更新プログラムを前記車載制御装置に送信する車内通信部と、車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信するように前記無線通信部を制御する処理部と、を備える。
【００１２】
本発明は、このような特徴的な処理部を備える中継装置として実現できるだけでなく、かかる特徴的な処理のステップをコンピュータに実行させるためのプログラムとして実現することができる。
また、本発明は、中継装置の一部又は全部を実現する半導体集積回路として実現したり、中継装置を含むシステムとして実現したりすることができる。
【発明の効果】
【００１３】
本発明によれば、サーバの処理負荷を抑制しつつ、効率的に更新プログラムを伝送することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係るプログラム更新システムの全体構成図である。
【図２】ゲートウェイの内部構成を示すブロック図である。
【図３】ＥＣＵの内部構成を示すブロック図である。
【図４】管理サーバの内部構成を示すブロック図である。
【図５】更新プログラムのダウンロード処理の一例を示すフローチャートである。
【図６】更新プログラムの転送元の適否判定の一例を示す説明図である。
【図７】転送元の選択条件の一例を示す説明図である。
【図８】更新プログラムに関する通信手順の一例を示すシーケンス図である。
【図９】更新プログラムに関する通信手順の別例を示すシーケンス図である。
【発明を実施するための形態】
【００１５】
＜本発明の実施形態の概要＞  
以下、本発明の実施形態の概要を列記して説明する。
（１）  本実施形態の中継装置は、車載制御装置の更新プログラムを前記車載制御装置に中継する装置であって、前記更新プログラムのサーバと移動体通信網を介して通信する第１通信部と、他車両と車車間通信を行う第２通信部と、前記第１又は第２通信部から受信した前記更新プログラムを前記車載制御装置に送信する車内通信部と、車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信するように前記第２通信部を制御する処理部と、を備える。
【００１６】
本実施形態の中継装置によれば、処理部が、車車間通信による更新プログラムの転送元として選択可能な他車両が存在する場合に、更新プログラムを他車両から受信するように第２通信部を制御するので、自車両は、移動体通信網を介したサーバとの通信ではなく、他車両との車車間通信により更新プログラムを受信できるようになる。
このため、サーバの処理負荷を抑制しつつ、効率的に更新プログラムを伝送することができる。
【００１７】
（２）  本実施形態の中継装置において、前記処理部は、前記転送元として選択可能な前記他車両が存在しない場合に、前記更新プログラムを前記サーバから受信するように前記第１通信部を制御することが好ましい。
このようにすれば、自車両は、車車間通信による更新プログラムの転送元として選択可能な他車両が存在しない場合でも、移動体通信網を介したサーバとの通信により、更新プログラムを受信できるようになる。
【００１８】
（３）  本実施形態の中継装置において、前記処理部は、前記他車両の走行状態に応じて、前記他車両を前記転送元として選択可能か否かを判定することが好ましい。
その理由は、他車両の走行状態によっては、当該他車両からの更新プログラムの転送を最後まで完了できない場合があるからである。
【００１９】
（４）  具体的には、前記処理部は、信号待ち中の前記他車両、駐車中の前記他車両、及び自車両と隊列走行中の前記他車両のうちの少なくとも１つを、前記転送元として選択可能であると判定することが好ましい。
その理由は、これらの走行状態の他車両は、更新プログラムの転送が完了するまで自車両との車車間通信を継続できる可能性が高いからである。
【００２０】
（５）  また、前記処理部は、自車両と進行方向が異なる前記他車両を、前記転送元として選択不能であると判定することが好ましい。
その理由は、上記の走行状態の他車両は、更新プログラムの転送が完了するまで自車両との車車間通信を継続できない可能性が高いからである。
【００２１】
（６）  本実施形態の中継装置において、前記処理部は、車車間通信による前記更新プログラムの伝送時間の多寡に応じて、前記他車両を前記転送元として選択可能か否かを判定することが好ましい。
その理由は、更新プログラムの伝送時間の多寡を考慮すれば、他車両を転送元として選択すべきか否かをより正確に判定できるからである。
【００２２】
（７）  本実施形態の中継装置において、前記処理部は、前記他車両との車車間通信の推定接続時間の多寡に応じて、前記他車両を前記転送元として選択可能か否かを判定することが好ましい。
その理由は、他車両との車車間通信の推定接続時間を考慮すれば、他車両を転送元として選択すべきか否かをより正確に判定できるからである。
【００２３】
（８）  具体的には、前記処理部は、前記他車両との車車間通信の推定接続時間が車車間通信による前記更新プログラムの伝送時間よりも大きい前記他車両を、前記転送元として選択可能であると判定すればよい。
その理由は、上記の推定接続時間が上記の伝送時間よりも大きい場合は、更新プログラムの転送が完了するまで自車両との車車間通信を継続できると推定されるからである。
【００２４】
（９）  本実施形態の中継装置において、前記第１又は第２通信部が受信した前記更新プログラムを記憶する記憶部を更に備え、前記処理部は、前記車載制御装置による前記更新プログラムを用いた制御プログラムの更新終了後に、前記記憶部に前記更新プログラムを所定期間だけ保持させることが好ましい。
このようにすれば、他車両から更新プログラムの送信を要求された場合に、逆に自車両が更新プログラムの転送元の役割を果たせるようになる。
【００２５】
（１０）  本実施形態の中継方法は、上述の（１）〜（９）の中継装置が実行する中継方法に関する。
従って、本実施形態の中継方法は、上述の（１）〜（９）の中継装置と同様の作用効果を奏する。
【００２６】
（１１）  本実施形態のコンピュータプログラムは、上述の（１）〜（９）の中継装置の処理部として、コンピュータを機能させるためのコンピュータプログラムに関する。
従って、本実施形態のコンピュータプログラムは、上述の（１）〜（９）の中継装置と同様の作用効果を奏する。
【００２７】
（１２）  本実施形態の別の中継装置は、車載制御装置の更新プログラムを前記車載制御装置に中継する装置であって、前記更新プログラムのサーバとの移動体通信網を介した通信である第１通信と、他車両との車車間通信である第２通信とを行う無線通信部と、前記無線通信部が受信した前記更新プログラムを前記車載制御装置に送信する車内通信部と、車車間通信による前記更新プログラムの転送元として選択可能な前記他車両が存在する場合に、前記更新プログラムを前記他車両から受信するように前記無線通信部を制御する処理部と、を備える。
【００２８】
本実施形態の別の中継装置によれば、処理部が、車車間通信による更新プログラムの転送元として選択可能な他車両が存在する場合に、更新プログラムを他車両から受信するように無線通信部を制御するので、自車両は、サーバとの第１通信ではなく、他車両との第２通信により更新プログラムを受信できるようになる。
このため、サーバの処理負荷を抑制しつつ、効率的に更新プログラムを伝送することができる。
【００２９】
（１３）  本実施形態の別の中継装置において、前記処理部は、前記転送元として選択可能な前記他車両が存在しない場合に、前記更新プログラムを前記サーバから受信するように前記無線通信部を制御することが好ましい。
このようにすれば、自車両は、車車間通信による更新プログラムの転送元として選択可能な他車両が存在しない場合でも、サーバとの第１通信により、更新プログラムを受信できるようになる。
【００３０】
＜本発明の実施形態の詳細＞  
以下、図面を参照して、本発明の実施形態の詳細を説明する。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【００３１】
〔システムの全体構成〕
図１は、本発明の実施形態に係るプログラム更新システムの全体構成図である。
図１に示すように、本実施形態のプログラム更新システムは、広域通信網２を介して通信可能な車両１、管理サーバ５及びＤＬ（ダウンロード）サーバ６を含む。
管理サーバ５及びＤＬサーバ６は、例えば、車両１のカーメーカーにより運営されており、予め会員登録されたユーザが所有する多数の車両１と通信可能である。
【００３２】
広域通信網２には、移動体通信網（携帯電話網）が含まれる。移動体通信網は、例えば、第３世代（３Ｇ）の拡張版（３．９Ｇ）であるＬＴＥ（Long Term Evolution）又はＷｉＭＡＸ（Worldwide interoperability for Microwave Access）、第４世代（４Ｇ）であるＬＴＥ−Advanced又はＷｉＭＡＸ２、或いは、第３世代（３Ｇ）などの通信規格に則った携帯電話網よりなる。
【００３３】
車両１には、ゲートウェイ１０と、第１及び第２通信部１５，１６と、複数のＥＣＵ３０と、各ＥＣＵ３０によりそれぞれ制御される各種の車載機器（図示せず）とが搭載されている。
車両１には、共通の車内通信線にバス接続された複数のＥＣＵ３０による通信グループが存在し、ゲートウェイ１０は、通信グループ間の通信を中継している。このため、ゲートウェイ１０には、複数の車内通信線が接続されている。
【００３４】
第１通信部１５は、広域通信網２の基地局（図示せず）と無線通信する無線通信機よりなる。第１通信部１５は、車内通信線によりゲートウェイ１０に接続されている。ゲートウェイ１０は、広域通信網２を通じて管理サーバ５及びＤＬサーバ６などの車外装置から第１通信部１５が受信した情報を、ＥＣＵ３０に送信する。
ゲートウェイ１０は、ＥＣＵ３０から取得した情報を第１通信部１５に送信し、第１通信部１５は、その情報を管理サーバ５などの車外装置に送信する。
【００３５】
車両１に搭載される第１通信部１５としては、例えば、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートＰＣ（Personal Computer）等の装置が考えられる。
図１では、ゲートウェイ１０が第１通信部１５を介して車外装置と通信を行う場合が例示されているが、ゲートウェイ１０が携帯通信機能を有する場合には、ゲートウェイ１０自身が管理サーバ５などの車外装置と無線通信を行う構成としてもよい。
【００３６】
第２通信部１６は、車車間通信を行う無線通信機よりなり、例えば、「Wireless Access in Vehicle Environment」（ＷＡＶＥ）、「７００ＭＨｚ帯高度道路交通システム標準規格（ARIB STD-T109）」などの通信規格に準拠する。
従って、第２通信部１６は、他の車両１が送信したプローブカーデータを含む通信パケットを受信可能であり、自車両のプローブカーデータを含む通信パケットをブロードキャストで他の車両２に送信可能である。
【００３７】
第２通信部１６は、車内通信線によりゲートウェイ１０に接続されている。ゲートウェイ１０は、第２通信部１６が車車間通信により他の車両１から受信したプローブカーデータなどの情報を、ＥＣＵ３０に送信することができる。
ゲートウェイ１０は、ＥＣＵ３０から収集したプローブカーデータなどの情報を第２通信部１６に送信する。第２通信部１６は、その情報を他の車両１に送信する。車車間通信により送受信されるデータには、後述の「更新プログラム」も含まれる。
【００３８】
車車間通信により送受信されるプローブカーデータには、例えば、車両ＩＤ、データ生成時刻、車両位置、車両速度及び車両方位などの各種の車両情報が含まれる。
このため、車両１のＥＣＵ３０には、受信したプローブカーデータに含まれる他車両の車両位置と、ＧＰＳ（Global Positioning System）受信機により得られる自車両の車両位置とに基づいて、出会い頭衝突などの危険性を事前に搭乗者に通知する、安全運転制御を行うＥＣＵが含まれる。
【００３９】
ゲートウェイ１０は、ＥＣＵ３０から収集したプローブカーデータなどの情報を第１通信部１５にも送信し、第１通信部１５は、その情報を管理サーバ５に送信する。
管理サーバ５は、会員登録された多数の車両１から収集したプローブカーデータに基づいて、リンク旅行時間や渋滞情報などの交通情報を生成し、生成した交通情報を登録会員の各車両１に情報提供することができる。
【００４０】
図１では、ゲートウェイ１０が第２通信部１６を介して車車間通信を行う場合が例示されているが、ゲートウェイ１０が車車間通信機能を有する場合には、ゲートウェイ１０自身が他の車両１と車車間通信を行う構成としてもよい。
また、図１のプログラム更新システムでは、管理サーバ５とＤＬサーバ６が別個のサーバで構成されているが、これらのサーバ５，６を１つのサーバ装置で構成してもよい。
【００４１】
〔ゲートウェイの内部構成〕
図２は、ゲートウェイ１０の内部構成を示すブロック図である。
図２に示すように、ゲートウェイ１０は、ＣＰＵ（Central Processing Unit）１１、ＲＡＭ（Random Access Memory）１２、記憶部１３、及び車内通信部１４などを備える。ゲートウェイ１０は、無線通信部１５，１６と車内通信線を介して接続されているが、これらは一つの装置で構成してもよい。
【００４２】
ＣＰＵ１１は、記憶部１３に記憶された一又は複数のコンピュータプログラムをＲＡＭ１２に読み出して実行することにより、ゲートウェイ１０及び第１及び第２通信部１５，１６を、更新プログラムを含む各種情報の中継装置として機能させる。
ＣＰＵ１１は、例えば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。ＲＡＭ１２は、ＳＲＡＭ（Static ＲＡＭ）又はＤＲＡＭ（Dynamic ＲＡＭ）等のメモリ素子で構成され、ＣＰＵ１１が実行するプログラム及び実行に必要なデータ等が一時的に記憶される。
【００４３】
ＣＰＵ１１が実行するコンピュータプログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの周知の記録媒体に記録した状態で譲渡することもできるし、サーバコンピュータなどのコンピュータ装置からの情報伝送（ダウンロード）によって譲渡することもできる。
この点は、後述のＥＣＵ３０のＣＰＵ３１（図３参照）が実行するコンピュータプログラム、及び、後述の管理サーバ５のＣＰＵ５１（図４参照）が実行するコンピュータプログラムについても同様である。
【００４４】
記憶部１３は、フラッシュメモリ若しくはＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等の不揮発性のメモリ素子などにより構成されている。
記憶部１３は、ＣＰＵ１１が実行するプログラム及び実行に必要なデータ等を記憶する記憶領域を有する。記憶部１３は、ＤＬサーバ６又は他の車両１などから受信した各ＥＣＵ３０の更新プログラムなども記憶する。
【００４５】
車内通信部１４には、車両１に配設された車内通信線を介して複数のＥＣＵ３０が接続されている。車内通信部１４は、例えばＣＡＮ（Controller Area Network）、ＣＡＮＦＤ（ＣＡＮ with Flexible Data Rate）、ＬＩＮ（Local Interconnect Network）、Ｅｔｈｅｒｎｅｔ（登録商標）、又はＭＯＳＴ（Media Oriented Systems Transport：ＭＯＳＴは登録商標）等の規格に応じて、ＥＣＵ３０との通信を行う。
車内通信部１４は、ＣＰＵ１１から与えられた情報を対象のＥＣＵ３０へ送信するとともに、ＥＣＵ３０から受信した情報をＣＰＵ１１に与える。車内通信部１４は、上記の通信規格だけでなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
【００４６】
第１通信部１５は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。第１通信部１５は、携帯電話網等を含む広域通信網２に接続されることにより車外装置との無線通信が可能である。
第１通信部１５は、図示しない基地局を含む広域通信網２を介して、ＣＰＵ１１から与えられた情報を管理サーバ５等の車外装置に送信するとともに、車外装置から受信した情報をＣＰＵ１１に与える。
【００４７】
第２通信部１６は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。第２通信部１６は、他の車両１との無線通信（車車間通信）や、路側通信機との無線通信（路車間通信）などが可能である。
第２通信部１６は、ＣＰＵ１１から与えられた情報を他の車両１や路側通信機などの車外装置に送信するとともに、車外装置から受信した情報をＣＰＵ１１に与える。
【００４８】
図２に示す第１通信部１５に代えて、車両１内の中継装置として機能する有線通信部を採用してもよい。この有線通信部は、ＵＳＢ（Universal Serial Bus）又はＲＳ２３２Ｃ等の規格に応じた通信ケーブルが接続されるコネクタを有し、通信ケーブルを介して接続された別の通信装置と有線通信を行う。
別の通信装置と管理サーバ５等の車外装置とが広域通信網２を通じた無線通信が可能である場合には、車外装置→別の通信装置→有線通信部→ゲートウェイ１０の通信経路により、車外装置とゲートウェイ１０が通信可能になる。
【００４９】
〔ＥＣＵの内部構成〕
図３は、ＥＣＵ３０の内部構成を示すブロック図である。
図３に示すように、ＥＣＵ３０は、ＣＰＵ３１、ＲＡＭ３２、記憶部３３、通信部３４などを備える。ＥＣＵ３０は、車両１に搭載された対象機器を個別に制御する車載制御装置である。ＥＣＵ３０の種類には、例えば、エンジン制御ＥＣＵ、ステアリング制御ＥＣＵ、ドアロック制御ＥＣＵ及び安全運転制御ＥＣＵなどがある。
【００５０】
ＣＰＵ３１は、記憶部３３に予め記憶された一又は複数のコンピュータプログラムをＲＡＭ３２に読み出して実行することにより、自身が担当する対象機器の動作を制御する。
ＲＡＭ３２は、ＳＲＡＭ又はＤＲＡＭ等のメモリ素子で構成され、ＣＰＵ３１が実行するプログラム及び実行に必要なデータ等が一時的に記憶される。
【００５１】
記憶部３３は、フラッシュメモリ若しくはＥＥＰＲＯＭ等の不揮発性のメモリ素子、或いは、ハードディスクなどの磁気記憶装置等により構成されている。
記憶部３３が記憶する情報には、例えば、車内の制御対象である対象機器を制御するための情報処理をＣＰＵ３１に実行させるためのコンピュータプログラム（以下、「制御プログラム」という。）が含まれる。
【００５２】
通信部３４には、車両１に配設された車内通信線を介してゲートウェイ１０が接続されている。通信部３４は、例えばＣＡＮ、Ｅｔｈｅｒｎｅｔ、又はＭＯＳＴ等の規格に応じて、ゲートウェイ１０との通信を行う。
通信部３４は、ＣＰＵ３１から与えられた情報をゲートウェイ１０へ送信するとともに、ゲートウェイ１０から受信した情報をＣＰＵ３１に与える。通信部３４は、上記の通信規格だけなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
【００５３】
ＥＣＵ３０のＣＰＵ３１には、当該ＣＰＵ３１による制御モードを、「通常モード」又は「リプログラミングモード」（以下、「リプロモード」ともいう。）のいずれかに切り替える起動部３５が含まれる。
ここで、通常モードとは、ＥＣＵ３０のＣＰＵ３１が、対象機器に対する本来的な制御（例えば、燃料エンジンに対するエンジン制御や、ドアロックモータに対するドアロック制御など）を実行する制御モードのことである。
【００５４】
リプログラミングモードとは、対象機器の制御に用いる制御プログラムを更新する制御モードである。
すなわち、リプログラミングモードは、ＣＰＵ３１が、記憶部３３のＲＯＭ領域に対して、制御プログラムの消去や書き換えを行う制御モードのことである。ＣＰＵ３１は、この制御モードのときにのみ、記憶部３３のＲＯＭ領域に格納された制御プログラムを新バージョンに更新することが可能となる。
【００５５】
リプロモードにおいてＣＰＵ３１が新バージョンの制御プログラムを記憶部３３に書き込むと、起動部３５は、ＥＣＵ３０をいったん再起動（リセット）させ、新バージョンの制御プログラムが書き込まれた記憶領域についてベリファイ処理を実行する。
起動部３５は、上記のベリファイ処理の完了後に、ＣＰＵ３１を更新後の制御プログラムによって動作させる。
【００５６】
〔管理サーバの内部構成〕
図４は、管理サーバ５の内部構成を示すブロック図である。
図４に示すように、管理サーバ５は、ＣＰＵ５１、ＲＯＭ５２、ＲＡＭ５３、記憶部５４、及び通信部５５などを備える。
【００５７】
ＣＰＵ５１は、ＲＯＭ５２に予め記憶された一又は複数のコンピュータプログラムをＲＡＭ５３に読み出して実行することにより、各ハードウェアの動作を制御し、管理サーバ５をゲートウェイ１０と通信可能な車外装置として機能させる。
ＲＡＭ５３は、ＳＲＡＭ又はＤＲＡＭ等のメモリ素子で構成され、ＣＰＵ５１が実行するプログラム及び実行に必要なデータ等が一時的に記憶される。
【００５８】
記憶部５４は、フラッシュメモリ若しくはＥＥＰＲＯＭ等の不揮発性のメモリ素子、又は、ハードディスクなどの磁気記憶装置等により構成されている。
通信部５５は、所定の通信規格に則って通信処理を実行する通信装置よりなり、携帯電話網等の広域通信網２に接続されて当該通信処理を実行する。通信部５５は、ＣＰＵ５１から与えられた情報を、広域通信網２を介して外部装置に送信するとともに、広域通信網２を介して受信した情報をＣＰＵ５１に与える。
【００５９】
記憶部５４が記憶する情報には、登録会員であるユーザの個人情報や、車両１に搭載されたＥＣＵ３０が実行する制御プログラムのバージョン情報などを管理するための管理テーブル（図示せず）などが含まれる。
管理テーブルは、例えば、登録会員が所有する車両１の車両識別番号（ＶＩＮ）と、車両識別番号ごとのＥＣＵ３０の種別と、各ＥＣＵ３０が実行する制御プログラムのバージョン情報の履歴とを纏めた参照テーブルよりなる。
【００６０】
ＤＬサーバ６には、すべての種別のＥＣＵ３０について、当該ＥＣＵ３０が実行する制御プログラムのバージョンごとの更新プログラムが格納されている。
ＤＬサーバ６が保持する更新プログラムは、当該ＥＣＵ３０にインストールさせる最新バージョンの制御プログラムそのものであってもよいし、旧バージョンの制御プログラムと新バージョンの制御プログラムとの差分プログラムであってもよい。
【００６１】
車両１のゲートウェイ１０は、自車両に搭載されたＥＣＵ３０が使用中の制御プログラムのバージョン情報と、自車両の車両識別番号とを含む通信パケット（確認メッセージ）を、所定時間おきに管理サーバ５に送信している。
管理サーバ５のＣＰＵ５１は、ゲートウェイ１０から受信した確認メッセージに含まれる制御プログラムのバージョン情報が最新バージョンであるか否かを判定する。
【００６２】
上記の判定の結果、ゲートウェイ１０から通知された制御プログラムのバージョン情報が最新である場合には、管理サーバ５のＣＰＵ５１は、更新不要の応答メッセージをゲートウェイ１０に送信する。
上記の判定の結果、ゲートウェイ１０から通知された制御プログラムのバージョン情報が最新でない場合には、管理サーバ５のＣＰＵ５１は、更新必要の応答メッセージをゲートウェイ１０に送信する。
【００６３】
更新必要の応答メッセージには、更新プログラムの保存先であるＤＬサーバ６のＵＲＬ（Uniform Resource Locator）が含まれる。
従って、更新必要の応答メッセージを受信したゲートウェイ１０は、管理サーバ５から通知されたＵＲＬ宛ての通信パケットにより、リプログラミングを実行すべきＥＣＵ３０の更新プログラムの種別及びバーション情報など含むダウンロード要求をＤＬサーバ６に送信可能な状態となる。
【００６４】
〔更新プログラムのダウンロード処理〕
図５は、ゲートウェイ１０のＣＰＵ１１が実行する、更新プログラムのダウンロード処理の一例を示すフローチャートである。
図５に示すように、ゲートウェイ１０のＣＰＵ１１は、まず、更新プログラムの有無を管理サーバ５に問い合わせる（ステップＳＴ１）。この処理は、上述のバージョン情報等を含む確認メッセージを管理サーバ５に送信することにより行われる。
【００６５】
次に、ＣＰＵ１１は、管理サーバ５からの応答メッセージから、自車両に必要な更新プログラムの有無を判定する（ステップＳＴ２）。
具体的には、ＣＰＵ１１は、管理サーバ５から更新不要の応答メッセージを受信した場合には、自車両に必要な更新プログラムなしと判定し、管理サーバ５から更新必要の応答メッセージを受信した場合には、自車両に必要な更新プログラム有りと判定する。
【００６６】
ステップＳＴ２の判定結果が否定的である場合は、ＣＰＵ１１は処理を終了する。
ステップＳＴ２の判定結果が肯定的である場合は、ＣＰＵ１１は、更に、第２通信部１６による他車両との車車間通信により、更新プログラムの転送元として選択可能な他車両が存在するか否かを判定する（ステップＳＴ３）。このステップＳＴ３の判定（以下、「転送元の適否判定」ともいう。）の詳細については、図６により後述する。
【００６７】
ステップＳＴ３の判定結果が肯定的である場合は、ＣＰＵ１１は、第２通信部１６が実行する他車両との車車間通信により、更新プログラムをダウンロードし（ステップＳＴ４）、受信した更新プログラムを記憶部１３に記憶させる。
ステップＳＴ３の判定結果が否定的である場合は、ＣＰＵ１１は、第１通信部１５が実行する広域通信網２を介したＤＬサーバ６との通信により、更新プログラムをダウンロードし（ステップＳＴ５）、受信した更新プログラムを記憶部１３に記憶させる。
【００６８】
〔更新プログラムの転送元の適否判定〕
図６は、更新プログラムの転送元の適否判定の一例を示す説明図である。
図６において、符号Ｘを付した車両１は、更新プログラムを必要とする「自車両」であり、符号Ａ〜Ｃを付した車両１は、自車両Ｘとの車車間通信が可能な距離だけ離れた「他車両」である。以下の説明では、通信制御の主体が車両Ｘ及び車両Ａ〜Ｃとなっているが、実際の通信制御は各車両１のゲートウェイ１０のＣＰＵ１１が実行する。
【００６９】
図６に示すように、転送元の存否判定（図５のステップＳＴ３）には、「更新プログラムの保持確認」（図６Ａ）と、「転送元の選択処理」（図６Ｂ）とが含まれる。
図６Ａの更新プログラムの保持確認は、問い合わせメッセージに対応する応答メッセージに基づいて、他車両Ａ〜Ｃが更新プログラムを保持するか否かを確認する処理である。図６Ｂの転送元の選択処理は、自車両Ｘと車車間通信する複数の他車両Ａ〜Ｃから、更新プログラムの転送を要求する他車両を選択する処理である。
【００７０】
図６Ａに示すように、車両Ｘは、更新プログラムの「問い合わせメッセージ」を車車間通信によりブロードキャストする。問い合わせメッセージには、自車両Ｘが必要とするＥＣＵ３０の更新プログラムの種別情報とバーション情報が含まれる。
問い合わせメッセージを受信した車両Ａ〜Ｃは、当該メッセージに含まれる種別及びバージョンの更新プログラムを、自身の記憶部１３が保持するか否かを判定し、保持する場合に限り応答メッセージを車両Ｘに送信する。
【００７１】
従って、車両Ｘは、問い合わせメッセージに対応する応答メッセージの受信の有無により、周囲の車両Ａ〜Ｃのうちのどの車両が、必要な更新プログラムを保持するかを判定することができる。
例えば、図６Ａの例では、車両Ａ及び車両Ｂが応答メッセージを返信し、車両Ｃが応答メッセージを返信していないので、車両Ｘは、車両Ａ及び車両Ｂが更新プログラムを保持中であると判定する。
【００７２】
図６Ａにおいて、応答メッセージの返信がゼロである場合は、自車両Ｘは、必要な更新プログラムを保持する他車両は存在しないと判定する。
この場合、車車間通信により更新プログラムを転送できる他車両Ａ〜Ｃが存在しないことになるので、図５のステップＳＴ３の判定結果は否定的となる。
【００７３】
図６Ｂに示すように、車両Ｘは、更新プログラムを保持する車両Ａ及び車両Ｂの中から、所定の選択条件を満たす転送元の他車両（図例では車両Ａ）を選択し、選択した車両Ａに対して更新プログラムの「要求メッセージ」を送信する。
要求メッセージを受信した車両Ａは、自身が保持する更新プログラムを車両Ｘに送信する。車両Ｘは、更新プログラムの受信を無事に完了すると、ダウンロード完了通知を車両Ａに送信する。
【００７４】
所定の選択条件を満たす他車両が複数存在する場合には、車両Ｘは、例えば、自車両Ｘから最も近い１つの他車両を選択したり、１つの他車両をランダムに選択したりして、要求メッセージを送信する他車両を１つに特定する。
或いは、所定の選択条件を満たす複数の他車両すべてに要求メッセージを送信し、各他車両から受信する更新プログラムを個別に記憶するようにすれば、更新プログラムの受信完了の可能性を高めることができる。
【００７５】
図６の例とは逆に、転送元の選択処理（図６Ｂ）を先に実行し、所定の選択条件を満たす他車両に対して問い合わせメッセージをマルチキャストで送信することにより、更新プログラムの保持確認（図６Ａ）を後に実行することにしてもよい。
【００７６】
〔転送元の選択条件〕
図７は、転送元の選択条件の一例を示す説明図である。
図７に示すように、車両Ｘは、他車両Ａ，Ｂの走行状態に応じて、転送元として採用する他車両を選択する。ここでは、車両Ｘが必要とする更新プログラムの伝送時間を例えば２０秒とする。なお、一般に、ＥＣＵ３０の更新プログラムの伝送時間は、数十秒から数分程度である。
【００７７】
図７において、車両Ｘは、自車両が交差点手前で停止中である場合に、自車両と同じ進行方向でかつ所定距離（例えば５０ｍ）以内に停止中の車両Ａについては、更新プログラムの転送元として選択可能と判定する。
その理由は、上記の走行状態の車両Ａは、車両Ｘと同様に交差点手前で停止中であると推定されることから、伝送時間が２０秒の更新プログラムの車両Ａからの転送を信号待ち中に完了できる可能性が高いからである。
【００７８】
逆に、車両Ｘは、自車両が交差点手前で停止中である場合に 自車両と進行方向が反対向きである車両Ｂについては、更新プログラムの転送元から外す。つまり、車両Ｂを更新プログラムの転送元として選択不能と判定する。
その理由は、上記の走行状態の車両Ｂは、自車両Ｘにすれ違う対向車と推定されることから、伝送時間が２０秒の更新プログラムの車両Ｂからの転送を信号待ち中に完了できない可能性が高いからである。
【００７９】
転送元から除外する車両Ｂは、自車両Ｘと逆向きの進行方向である他車両に限らず、自車両Ｘの進行方向とほぼ９０度交差する進行方向の他車両であってもよい。
上記の走行状態の車両Ｂは、自車両Ｘの進行方向の交差道路を通行する他車両と推定されることから、伝送時間が２０秒の更新プログラムの車両Ｂからの転送を信号待ち中に完了できない可能性が高いからである。
【００８０】
車両Ｘは、車両Ａが路肩又はパーキングエリアなどに駐車中である場合には、当該車両Ａを更新プログラムの転送元として選択可能と判定してもよい。
その理由は、駐車中の車両Ａは、長時間一定位置に停止すると推定されるので、その近隣に車両Ｘが駐車するのであれば、伝送時間が２０秒の更新プログラムの他車両Ａからの転送を完了できる可能性が高いからである。なお、車両Ａが駐車中であるか否かは、プローブカーデータに含まれるパーキングブレーキの動作情報から判定できる。
【００８１】
車両Ｘは、自車両がＣＡＣＣ（Cooperative Adaptive Cruise Control）などの自動運転が可能である場合には、自車両とのＣＡＣＣ（隊列走行）を実行中の車両Ａを更新プログラムの転送元として選択可能と判定することにしてもよい。
その理由は、自車両と隊列走行する車両Ａは、車間距離が一定のまま自車両との車車間通信を長時間継続するので、伝送時間が２０秒の更新プログラムの車両Ａからの転送を完了できる可能性が高いからである。
【００８２】
車両Ｘは、車車間通信による更新プログラムの伝送時間の多寡に応じて、他車両Ａ，Ｂ転送元として選択可能か否かを判定してもよい。
その理由は、更新プログラムの伝送時間の多寡を考慮すれば、他車両Ａ，Ｂを転送元として選択すべきか否かをより正確に判定できるからである。
【００８３】
例えば、伝送時間が比較的短い（例えば３秒）の更新プログラムの場合には、図７に示す進行方向が異なる車両Ｂについても、転送を最後まで完了できると推定されるので、更新プログラムの転送元として選択することが可能となる。
逆に、伝送時間が比較的長い（例えば５分）の更新プログラムの場合には、図７に示す進行方向が異なる車両Ｂについては、転送を最後まで完了できないと考えられるので、更新プログラムの転送元として選択すべきではない。
【００８４】
車両Ｘは、他車両Ａ，Ｂとの車車間通信の推定接続時間の多寡に応じて、他車両Ａ，Ｂ転送元として選択可能か否かを判定してもよい。
その理由は、他車両Ａ，Ｂとの車車間通信の推定接続時間の多寡を考慮すれば、他車両Ａ，Ｂを転送元として選択すべきか否かをより正確に判定できるからである。
【００８５】
車両Ｂとの車車間通信の推定接続時間は、車車間通信の通信可能距離（例えば１００ｍ）を、プローブカーデータに含まれる車両Ｂの車両速度と車両Ｘの車両速度との速度差（車両Ｂと車両Ｘの相対速度）で除することによって算出することができる。
この場合、車両Ｘは、算出した推定接続時間が、必要な更新プログラムの伝送時間よりも大きい場合には、車両Ｂを更新プログラムの転送元として選択すればよい。
【００８６】
その理由は、車両Ｂとの推定接続時間が更新プログラムの伝送時間よりも大きい場合は、更新プログラムの転送が完了するまで車両Ｘと車両Ｂとの車車間通信を継続できると推定されるからである。
このように、車車間通信の推定接続時間と車車間通信による更新プログラムの伝送時間との比較により転送元として選択可能か否かを判定すれば、他車両Ｂの走行状態のみから転送元として選択可能な否かを判定する場合に比べて、更新プログラムの転送元の選択をより正確に行うことができる。
【００８７】
〔更新プログラムに関する通信手順の一例〕
図８は、プログラム更新システムにおいて実行される、更新プログラムに関する通信手順の一例を示すシーケンス図である。図８中の「Δ」は、更新プログラムを意味する。図８のシーケンスでは、車両Ｘが他車両Ａから更新プログラムΔを受信する。
以下の説明では、通信制御の主体が車両Ｘ、車両Ａ〜Ｃとなっているが、実際の通信制御は各車両１のゲートウェイ１０のＣＰＵ１１が実行する。
【００８８】
図８に示すように、車両Ｘは、自車両のＥＣＵ３０に関する制御プログラムの現状のバージョン情報と、自車両の車両識別番号（ＶＩＮ）とを含む確認メッセージを、管理サーバ５に送信する（ステップＳ１）。
管理サーバ５は、車両Ｘから通知されたバージョン情報と車両識別番号に基づいて、車両Ｘから通知された制御プログラムのバージョン情報が最新バージョンであるか否かを判定し、その判定結果を含む応答メッセージを車両Ｘに送信する。
【００８９】
ここでは、最新バージョンでなかったと仮定する。この場合、管理サーバ５は、ＥＣＵ３０の更新プログラムΔの保存先ＵＲＬを含む応答メッセージを車両Ｘ宛てに送信する（ステップＳ２）。
次に、車両Ｘは、車車間通信により、問い合わせメッセージを周囲の車両Ａ〜Ｃにブロードキャストする（ステップＳ３）。
【００９０】
ここでは、車両Ａ，Ｂが応答メッセージを返信してきたと仮定し（ステップＳ４）、上述の転送元の選択処理（図６Ｂ）により、車両Ａが更新プログラムΔの転送元として選択されたと仮定する（ステップＳ５）。
この場合、車両Ｘは、更新プログラムΔの要求メッセージを車両Ａに送信する（ステップＳ６）。要求メッセージを受信した車両Ａは、自身が保持する更新プログラムΔを車両Ｘに転送する（ステップＳ７）。
【００９１】
これにより、車両Ｘは、ＥＣＵ３０のための更新プログラムΔを車両Ａから取得する。車両Ｘは、受信した更新プログラムΔを記憶部１３に保存する。
更新プログラムΔの保存が完了すると、車両Ｘは、ダウンロードが正常に完了したことを管理サーバ５に通知する（ステップＳ８）。その後、管理サーバ５は、更新要求メッセージを車両Ｘに送信する（ステップＳ９）。
【００９２】
更新要求メッセージを受信した車両Ｘは、記憶部１３に保存した更新プログラムΔを対応するＥＣＵ３０に送信し、制御プログラムの更新処理（リプログラミング）を当該ＥＣＵ３０に実行させる（ステップＳ１０）。
ＥＣＵ３０のリプログラミングが完了すると、車両Ｘは、更新完了メッセージを管理サーバ５に送信する（ステップＳ１１）。これにより、管理サーバ５は、車両ＸのＥＣＵ３０について、制御プログラムの更新が完了したことを察知する。
【００９３】
車両Ｘは、更新完了メッセージを管理サーバ５に送信した後も、記憶部１３に更新プログラムΔを所定期間（例えば１日〜１週間程度）だけ保持させる（ステップＳ１２）。
その理由は、他車両Ａ〜Ｃから更新プログラムΔの要求メッセージを受信した場合に、逆に自車両Ｘが更新プログラムΔの転送元の役割を果たせるようにするためである。
なお、更新プログラムΔを保持する所定期間は、時間ではなく、更新プログラムΔの転送回数（例えば、少なくとも１回）で規定することにしてもよい。
【００９４】
〔更新プログラムに関する通信手順の別例〕
図９は、プログラム更新システムにおいて実行される、更新プログラムに関する通信手順の別例を示すシーケンス図である。図９中の「Δ」は、更新プログラムを意味する。図９のシーケンスでは、車両ＸがＤＬサーバ６から更新プログラムΔを受信する。
以下の説明では、通信制御の主体が車両Ｘ、車両Ａ〜Ｃとなっているが、実際の通信制御は各車両１のゲートウェイ１０のＣＰＵ１１が実行する。
【００９５】
図９に示すように、車両Ｘは、自車両のＥＣＵ３０に関する制御プログラムの現状のバージョン情報と、自車両の車両識別番号（ＶＩＮ）とを含む確認メッセージを、管理サーバ５に送信する（ステップＳ２１）。
管理サーバ５は、車両Ｘから通知されたバージョン情報と車両識別番号に基づいて、車両Ｘから通知された制御プログラムのバージョン情報が最新バージョンであるか否かを判定し、その判定結果を含む応答メッセージを車両Ｘに送信する。
【００９６】
ここでは、最新バージョンでなかったと仮定する。この場合、管理サーバ５は、ＥＣＵ３０の更新プログラムΔの保存先ＵＲＬを含む応答メッセージを車両Ｘ宛てに送信する（ステップＳ２２）。
次に、車両Ｘは、車車間通信により、問い合わせメッセージを周囲の車両Ａ〜Ｃにブロードキャストする（ステップＳ２３）。
【００９７】
ここでは、車両Ａ，Ｂが応答メッセージを返信してきたと仮定し（ステップＳ２４）、上述の転送元の選択処理（図６Ｂ）により、更新プログラムΔの転送元として選択可能な他車両が存在しなかったと仮定する（ステップＳ２５）。
この場合、車両Ｘは、更新プログラムΔの要求メッセージをＤＬサーバ６に送信する（ステップＳ２６）。要求メッセージを受信したＤＬサーバ６は、自身が保持する更新プログラムΔを車両Ｘに転送する（ステップＳ２７）。
【００９８】
これにより、車両Ｘは、ＥＣＵ３０のための更新プログラムΔをＤＬサーバ６から取得する。車両Ｘは、受信した更新プログラムΔを記憶部１３に保存する。
更新プログラムΔの保存が完了すると、車両Ｘは、ダウンロードが正常に完了したことを管理サーバ５に通知する（ステップＳ２８）。その後、管理サーバ５は、更新要求メッセージを車両Ｘに送信する（ステップＳ２９）。
【００９９】
更新要求メッセージを受信した車両Ｘは、記憶部１３に保存した更新プログラムΔを対応するＥＣＵ３０に送信し、制御プログラムの更新処理（リプログラミング）を当該ＥＣＵ３０に実行させる（ステップＳ３０）。
ＥＣＵ３０のリプログラミングが完了すると、車両Ｘは、更新完了メッセージを管理サーバ５に送信する（ステップＳ３１）。これにより、管理サーバ５は、車両ＸのＥＣＵ３０について、制御プログラムの更新が完了したことを察知する。
【０１００】
車両Ｘは、更新完了メッセージを管理サーバ５に送信した後も、記憶部１３に更新プログラムΔを所定期間（例えば１日〜１週間程度）だけ保持させる（ステップＳ３２）。
その理由は、他車両Ａ〜Ｃから更新プログラムΔの要求メッセージを受信した場合に、逆に自車両Ｘが更新プログラムΔの転送元の役割を果たせるようにするためである。
なお、更新プログラムΔを保持する所定期間は、時間ではなく、更新プログラムΔの転送回数（例えば、少なくとも１回）で規定することにしてもよい。
【０１０１】
〔本実施形態の効果〕
上述の通り、本実施形態のゲートウェイ（中継装置）１０によれば、ＣＰＵ１１が、更新プログラムを他車両Ａ〜Ｃから転送可能である場合に、更新プログラムを他車両Ａ〜Ｃから受信するように第２通信部１６を制御する（図５のステップＳＴ４）。
従って、自車両Ｘは、移動体通信網を介したＤＬサーバ６との通信ではなく、他車両Ａ〜Ｃとの車車間通信により更新プログラムを受信できる。このため、ＤＬサーバ６の処理負荷を抑制しつつ、効率的に更新プログラムを伝送することができる。
【０１０２】
また、本実施形態のゲートウェイ１０によれば、ＣＰＵ１１が、更新プログラムを他車両Ａ〜Ｃから転送不能である場合に、更新プログラムをＤＬサーバ６から受信するように第１通信部１５を制御する（図５のステップＳＴ５）。
従って、自車両Ｘは、他車両Ａ〜Ｃとの車車間通信により更新プログラムを受信できない場合でも、移動体通信網を介したＤＬサーバ６との通信により、更新プログラムを受信できる。
【０１０３】
〔第１の変形例〕
上述の実施形態では、第１及び第２通信部１５，１６が別の無線通信機よりなる場合を想定したが、１つの無線通信機（無線通信部）が、移動体通信網２を介した無線通信である第１通信と、他車両との車車間通信である第２通信の双方を行う構成としてもよい。
すなわち、上述の実施形態において、第１及び第２通信部１５，１６は、それぞれ別個の無線通信機（無線通信部）により構成してもよいし、１つの無線通信機（無線通信部）により構成してもよい。
【０１０４】
〔その他の変形例〕
今回開示した実施形態はすべての点で例示であって制限的なものではない。本発明の権利範囲は、上述の実施形態に限定されるものではなく、特許請求の範囲に記載された構成と均等の範囲内でのすべての変更が含まれる。
例えば、Ｗｉ−Ｆｉ対応の無線通信機を更に備える車両１の場合には、Ｗｉ−Ｆｉ通信によってＤＬサーバ６から更新プログラムを受信することにしてもよい。
【０１０５】
〔他の中継装置等〕
以上の説明は、下記に付記する特徴を含む。
（付記１）
車載制御装置の更新プログラムを他車両に中継する装置であって、
前記更新プログラムのサーバとの移動体通信網を介した通信である第１通信と、他車両との車車間通信である第２通信とを行う無線通信部と、
前記無線通信部が受信した前記更新プログラムを記憶する記憶部と、
前記更新プログラムの転送を要求する前記他車両に対して、記憶した前記更新プログラムを車車間通信により転送するように前記無線通信部を制御する処理部と、を備える中継装置。
【０１０６】
（付記２）
車載制御装置の更新プログラムを他車両に中継する装置であって、
前記他車両と車車間通信を行う無線通信部と、
前記無線通信部が受信した前記更新プログラムを記憶する記憶部と、
前記更新プログラムの転送を要求する前記他車両に対して、記憶した前記更新プログラムを車車間通信により転送するように前記無線通信部を制御する処理部と、を備える中継装置。
【０１０７】
（付記３）
前記処理部は、前記更新プログラムの転送が少なくとも１回行われるまで当該更新プログラムを保持するように、前記記憶部を制御する付記１又は付記２に記載の中継装置。
【０１０８】
（付記４）
前記更新プログラムの転送元である、付記１及び付記２に記載の前記中継装置のうちの少なくとも１つの中継装置と、
前記更新プログラムの転送先である、前記他車両に搭載された車車間通信用の無線通信機と、を備える更新プログラムの中継システム。
【０１０９】
付記１及び付記２の中継装置によれば、処理部が、更新プログラムの転送を要求する他車両に対して、記憶した更新プログラムを車車間通信により転送するように無線通信部を制御するので、他車両は、移動体通信網を介したサーバとの通信ではなく、自車両との車車間通信により更新プログラムを受信できるようになる。
このため、サーバの処理負荷を抑制しつつ、効率的に更新プログラムを伝送することができる。
【０１１０】
付記３の中継装置によれば、処理部が、更新プログラムの転送が少なくとも１回行われるまで当該更新プログラムを保持するように、記憶部を制御するので、更新プログラムの転送を要求する他車両に当該更新プログラムを確実に転送できるようになる。
【符号の説明】
【０１１１】
１  車両
２  広域通信網（移動体通信網）
５  管理サーバ（サーバ）
６  ＤＬサーバ（サーバ）
１０  ゲートウェイ
１１  ＣＰＵ（処理部）
１２  ＲＡＭ
１３  記憶部
１４  車内通信部
１５  第１通信部（無線通信部）
１６  第２通信部（無線通信部）
３０  ＥＣＵ（車載制御装置）
３１  ＣＰＵ
３３  記憶部
３４  通信部
３５  起動部
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５４  記憶部
５５  通信部
【図１】
2017228107.tif 000003
【図２】
2017228107.tif 000004
【図３】
2017228107.tif 000005
【図４】
2017228107.tif 000006
【図５】
2017228107.tif 000007
【図６】
2017228107.tif 000008
【図７】
2017228107.tif 000009
【図８】
2017228107.tif 000010
【図９】
2017228107.tif 000011