(57)【要約】【課題】対象の車載制御装置に更新用プログラムを伝送可能な複数の伝送経路が存在する場合に、最適な伝送経路で更新用プログラムを伝送することができる制御装置を提供する。【解決手段】車載制御装置と通信する車内通信部と、前記車内通信部から前記車載制御装置までの複数種類の通信経路を記憶する記憶部と、記憶された前記複数種類の通信経路の中から、更新用プログラムを前記車載制御装置に送信するための伝送経路を選択する選択部と、を備える、制御装置。【選択図】図２
2019036855.tif 000002
【特許請求の範囲】
【請求項１】
車載制御装置と通信する車内通信部と、
前記車内通信部から前記車載制御装置までの複数種類の通信経路を記憶する記憶部と、
記憶された前記複数種類の通信経路の中から、更新用プログラムを前記車載制御装置に送信するための伝送経路を選択する選択部と、を備える、制御装置。
【請求項２】
前記選択部は、前記複数種類の通信経路それぞれについて指標値を算出し、算出された前記指標値の比較結果に基づいて前記伝送経路を選択する、請求項１に記載の制御装置。
【請求項３】
前記指標値は、前記通信経路で前記更新用プログラムを送信する際に消費される電力量を含み、
前記選択部は、前記複数種類の通信経路のうち、前記電力量が最大となる通信経路以外の通信経路を選択する、請求項２に記載の制御装置。
【請求項４】
前記指標値は、前記通信経路で前記更新用プログラムを送信する際に必要な所要時間を含み、
前記選択部は、前記複数種類の通信経路のうち、前記所要時間が最大となる通信経路以外の通信経路を選択する、請求項２に記載の制御装置。
【請求項５】
前記指標値は、
前記通信経路で前記更新用プログラムを送信する際に消費される電力量と、
前記通信経路で前記更新用プログラムを送信する際に必要な所要時間と、を含み、
前記選択部は、
所定条件を満たす場合には、前記複数種類の通信経路のうち、前記所要時間が最大となる通信経路以外の通信経路を選択し、
前記所定条件を満たさない場合には、前記複数種類の通信経路のうち、前記電力量が最大となる通信経路以外の通信経路を選択する、請求項２〜請求項４のいずれか１項に記載の制御装置。
【請求項６】
前記所定条件は、前記更新用プログラムに設定されている、当該更新用プログラムを用いた制御プログラムの更新の緊急度が高いことである、請求項５に記載の制御装置。
【請求項７】
前記所定条件は、前記通信経路に接続された各装置に電力供給するバッテリが充電中であることである、請求項５に記載の制御装置。
【請求項８】
前記複数種類の通信経路は異なる通信方式の通信経路を含み、
前記記憶部は、さらに、通信経路ごとの伝送速度を記憶し、
前記選択部は、前記伝送速度と前記更新用プログラムのサイズとから前記所要時間を算出する、請求項５〜請求項７のいずれか１項に記載の制御装置。
【請求項９】
前記記憶部は、さらに、通信経路ごとの当該通信経路での通信の単位時間あたりの消費電力を記憶し、
前記選択部は、前記消費電力に前記所要時間を乗じて前記電力量を算出する、請求項５〜請求項８のいずれか１項に記載の制御装置。
【請求項１０】
前記車内通信部を制御する制御部をさらに備え、
前記記憶部は、さらに、他の制御装置から前記車載制御装置までの通信経路を記憶し、
前記選択部は、記憶された、前記車内通信部または前記他の制御装置から前記車載制御装置までの通信経路の中から前記伝送経路を選択し、
前記制御部は、選択された前記伝送経路が前記他の制御装置から前記車載制御装置までの通信経路である場合に、前記車内通信部に、前記更新用プログラムの前記車載制御装置への送信の指示を前記他の制御装置に送信させる、請求項１〜請求項９のいずれか１項に記載の制御装置。
【請求項１１】
車載制御装置と車内通信線を介して通信する制御装置による、前記車載制御装置に対する更新用プログラムの送信を制御する方法であって、
前記制御装置は、前記車載制御装置と通信する車内通信部と、前記車内通信部から前記車載制御装置までの複数種類の通信経路を記憶する記憶部と、を有し、
記憶された前記複数種類の通信経路の中から、更新用プログラムを前記車載制御装置に送信するための伝送経路を選択するステップを備える、制御方法。
【請求項１２】
車載制御装置と車内通信線を介して通信する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータは、前記車載制御装置と通信する車内通信部と、前記車内通信部から前記車載制御装置までの複数種類の通信経路を記憶する記憶部と、を有し、
前記コンピュータを、記憶された前記複数種類の通信経路の中から、更新用プログラムを前記車載制御装置に送信するための伝送経路を選択する選択部として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は制御装置、制御方法、およびコンピュータプログラムに関し、特に、サーバからダウンロードされる車載制御装置の制御プログラムの更新用プログラムを用いた当該車載制御装置の更新を制御する制御装置、その制御方法、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、自動車の技術分野においては、車両の高機能化が進行しており、多種多様な車載機器が車両に搭載されている。従って、車両には、各車載機器を制御するための制御装置である、所謂ＥＣＵ（Electronic  Control  Unit）が多数搭載されている。
ＥＣＵの種類には、例えば、アクセル、ブレーキ、ハンドルの操作に対してエンジンやブレーキ、ＥＰＳ（Electric  Power  Steering）等の制御を行う走行系に関わるもの、乗員によるスイッチ操作に応じて車内照明やヘッドライトの点灯／消灯と警報器の吹鳴等の制御を行うボディ系ＥＣＵ、運転席近傍に配設されるメータ類の動作を制御するメータ系ＥＣＵなどがある。
【０００３】
一般的にＥＣＵは、マイクロコンピュータ等の演算処理装置によって構成されており、ＲＯＭ（Read  Only  Memory）に記憶した制御プログラムを読み出して実行することにより、車載機器の制御が実現される。
ＥＣＵの制御プログラムは、車両の仕向け地やグレードなど応じて異なることがあり、制御プログラムのバージョンアップに対応して、旧バージョンの制御プログラムを新バージョンの制御プログラムに書き換える必要がある。また、たとえば地図情報や制御用のパラメータなど、制御プログラムの実行に必要なデータも書き換える必要がある。
【０００４】
たとえば、特許文献１には、ネットワークを介して更新用のプログラムをダウンロードし、プログラムの更新を行う技術（オンライン更新機能）が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−３７９３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
車両の高機能化に伴って搭載されるＥＣＵは増加し、それらを繋ぐ車内ネットワークが複雑化している。そのため、制御プログラムを更新するＥＣＵまで更新用プログラムを伝送可能な通信経路が複数ある場合がある。このような場合には、複数の通信経路の中から最適な経路を更新用プログラムの伝送経路とすることが好ましい。
【０００７】
本発明のある局面における目的は、対象の車載制御装置に更新用プログラムを伝送可能な複数の通信経路が存在する場合に、最適な通信経路で更新用プログラムを伝送することができる制御装置、制御方法、およびコンピュータプログラムを提供することである。
【課題を解決するための手段】
【０００８】
ある実施の形態に従うと、制御装置は、車載制御装置と通信する車内通信部と、車内通信部から車載制御装置までの複数種類の通信経路を記憶する記憶部と、記憶された複数種類の通信経路の中から、更新用プログラムを車載制御装置に送信するための伝送経路を選択する選択部と、を備える。
【０００９】
他の実施の形態に従うと、制御方法は車載制御装置と車内通信線を介して通信する制御装置による、車載制御装置に対する更新用プログラムの送信を制御する方法であって、制御装置は、車載制御装置と通信する車内通信部と、車内通信部から車載制御装置までの複数種類の通信経路を記憶する記憶部と、を有し、記憶された複数種類の通信経路の中から、更新用プログラムを車載制御装置に送信するための伝送経路を選択するステップを備える。
【００１０】
他の実施の形態に従うと、コンピュータプログラムは車載制御装置と車内通信線を介して通信する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、コンピュータは、車載制御装置と通信する車内通信部と、車内通信部から車載制御装置までの複数種類の通信経路を記憶する記憶部と、を有し、コンピュータを、記憶された複数種類の通信経路の中から、更新用プログラムを車載制御装置に送信するための伝送経路を選択する選択部として機能させる。
【発明の効果】
【００１１】
この発明によると、対象の車載制御装置に更新用プログラムを伝送可能な複数の通信経路が存在する場合に、最適な通信経路で更新用プログラムを伝送することができる。
【図面の簡単な説明】
【００１２】
【図１】プログラム更新システムの全体構成、および車両の電源構成も含めた構成を表した図である。
【図２】第１のゲートウェイの内部構成を示すブロック図である。
【図３】ＥＣＵの内部構成を示すブロック図である。
【図４】管理サーバの内部構成を示すブロック図である。
【図５】プログラム更新システムにおいて実行される、制御プログラムのオンライン更新の流れの一例を示すシーケンス図である。
【図６】第１の実施の形態にかかるプログラム更新システムでの、図５のステップＳ６の更新制御処理に含まれる経路選択処理の具体的な流れを表したフローチャートである。
【図７】第２の実施の形態にかかるプログラム更新システムでの、図５のステップＳ６の更新制御処理に含まれる経路選択処理の具体的な流れを表したフローチャートである。
【発明を実施するための形態】
【００１３】
［実施の形態の説明］
本実施の形態には、少なくとも以下のものが含まれる。すなわち、
（１）本実施の形態に含まれる制御装置は、車載制御装置と通信する車内通信部と、車内通信部から車載制御装置までの複数種類の通信経路を記憶する記憶部と、記憶された複数種類の通信経路の中から、更新用プログラムを車載制御装置に送信するための伝送経路を選択する選択部と、を備える。
制御装置から車載制御装置までの複数種類の通信経路から適切に設定された選択基準を用いて更新用プログラムを送信する伝送経路が選択されることで、適切な伝送経路で更新用プログラムを送信することができる。
【００１４】
（２）好ましくは、選択部は、複数種類の通信経路それぞれについて指標値を算出し、算出された指標値の比較結果に基づいて伝送経路を選択する。
適切な指標値を用いることによって、適切な伝送経路で更新用プログラムを送信することができる。
【００１５】
（３）好ましくは、通信経路で更新用プログラムを送信する際に消費される電力量を含み、選択部は、複数種類の通信経路のうち、電力量が最大となる通信経路以外の通信経路を選択する。
これにより、更新用プログラムの送信の際の消費電力量を抑えることができる。
【００１６】
（４）好ましくは、指標値は、通信経路で前記更新用プログラムを送信する際に必要な所要時間を含み、選択部は、複数種類の通信経路のうち、所要時間が最大となる通信経路以外の通信経路を選択する。
これにより、更新用プログラムの送信を高速に行うことができる。
【００１７】
（５）好ましくは、指標値は、通信経路で更新用プログラムを送信する際に消費される電力量と、通信経路で更新用プログラムを送信する際に必要な所要時間と、を含み、選択部は、所定条件を満たす場合には、複数種類の通信経路のうち、所要時間が最大となる通信経路以外の通信経路を選択し、所定条件を満たさない場合には、複数種類の通信経路のうち、電力量が最大となる通信経路以外の通信経路を選択する。
これにより、所定条件を満たすか否かに応じて、指標値を、所要時間と消費電力量とで使い分けることができる。その結果、上記条件を満たすか否かに応じてより適した伝送経路で更新用プログラムを送信することができる。
【００１８】
（６）好ましくは、所定条件は、更新用プログラムに設定されている、当該更新用プログラムを用いた制御プログラムの更新の緊急度が高いことである。
これにより、緊急度の高い更新用プログラムの場合には、所要時間の方が消費電力量よりも優先されて伝送経路が選択される。その結果、緊急度の高い更新用プログラムは車載制御装置に早く送信され、制御プログラムの更新を早く実行することができる。
【００１９】
（７）好ましくは、所定条件は、通信経路に接続された各装置に電力供給するバッテリが充電中であることである。
これにより、バッテリの充電中には、所要時間の方が消費電力量よりも優先されて伝送経路が選択される。その結果、電力供給に制約がない状況下では更新用プログラムが車載制御装置に早く送信され、制御プログラムの更新を早く実行することができる。
【００２０】
（８）好ましくは、複数種類の通信経路は異なる通信方式の通信経路を含み、記憶部は、さらに、通信経路ごとの伝送速度を記憶し、選択部は、伝送速度と更新用プログラムのサイズとから所要時間を算出する。
これにより、指標値としての所要時間を得ることができ、当該指標値を用いて伝送経路を選択できる。
【００２１】
（９）好ましくは、記憶部は、さらに、通信経路ごとの当該通信経路での通信の単位時間あたりの消費電力を記憶し、選択部は、消費電力に所要時間を乗じて電力量を算出する。
これにより、指標値としての消費電力量を得ることができ、当該指標値を用いて伝送経路を選択できる。
【００２２】
（１０）好ましくは、制御装置は、車内通信部を制御する制御部をさらに備え、記憶部は、さらに、他の制御装置から車載制御装置までの通信経路を記憶し、選択部は、記憶された、車内通信部または他の制御装置から車載制御装置までの通信経路の中から伝送経路を選択し、制御部は、選択された伝送経路が他の制御装置から車載制御装置までの通信経路である場合に、車内通信部に、更新用プログラムの車載制御装置への送信の指示を他の制御装置に送信させる。
車両に搭載された複数の制御装置それぞれから更新用プログラムを車載制御装置に送信可能である場合には、各制御装置から車載制御装置までの通信経路の中から伝送経路が選択される。これにより、より適した伝送経路で更新用プログラムを車載制御装置に送信することができる。
【００２３】
（１１）本実施の形態に含まれる制御方法は、（１）〜（１０）のいずれか１つに記載の制御装置において車載制御装置に対する更新用プログラムの送信を制御する方法である。
かかる制御方法は、上記（１）〜（１０）の制御装置と同様の効果を奏する。
【００２４】
（１２）本実施の形態に含まれるコンピュータプログラムは、コンピュータを、（１）〜（１０）のいずれか１つに記載の制御装置として機能させる。
かかるコンピュータプログラムは、上記（１）〜（１０）の制御装置と同様の効果を奏する。
【００２５】
［実施の形態の詳細］
以下に、図面を参照しつつ、好ましい実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
【００２６】
＜第１の実施の形態＞
〔システムの全体構成〕
図１は、本発明の実施形態にかかるプログラム更新システムの全体構成、および車両１の電源構成も含めた構成を表した図である。
図１に示すように、本実施形態のプログラム更新システムは、広域通信網２を介して通信可能な車両１、管理サーバ５およびＤＬ（ダウンロード）サーバ６を含む。
管理サーバ５は、車両１の更新情報を管理する。ＤＬサーバ６は、更新用プログラムを保存する。管理サーバ５およびＤＬサーバ６は、たとえば、車両１のカーメーカーにより運営されており、予め会員登録されたユーザが所有する多数の車両１と通信可能である。
【００２７】
車両１には、車内通信線で接続された複数のＥＣＵ３０Ａ〜３０Ｄ（これらを代表してＥＣＵ３０という）とゲートウェイ１０とを含む車内ネットワーク（通信ネットワーク）４と、無線通信部１５と、各ＥＣＵ３０によりそれぞれ制御される各種の車載機器（図示せず）と、各ＥＣＵ３０に電力供給する電源と、が搭載されている。
【００２８】
ゲートウェイ１０は、第１のゲートウェイ（ＧＷ−１）１０Ａおよび第２のゲートウェイ（ＧＷ−２）１０Ｂを含む、複数のゲートウェイからなり、各ゲートウェイに１または複数のＥＣＵ３０が接続されている。すなわち、ゲートウェイ１０Ａには、ＥＣＵ３０Ａ〜３０Ｅが車内通信線１６Ａで接続されるとともに、ゲートウェイ１０Ｂが車内通信線１６Ｂで接続されている。ゲートウェイ１０Ｂには、ＥＣＵ３０Ａが車内通信線１６Ｂで接続されるとともに、ゲートウェイ１０Ａが車内通信線１６Ｂで接続されている。さらに、ＥＣＵ３０Ｂ〜３０ＥがＥＣＵ３０Ａを介して車内通信線１６Ａで接続される。車内通信線１６Ａと車内通信線１６Ｂとを車内通信線１６とも総称する。
【００２９】
電源は、常時電源（＋Ｂ電源）１８Ａと、アクセサリ電源（ＡＣＣ電源）１８Ｂとを含む。常時電源１８Ａは、ゲートウェイ１０ＡおよびＥＣＵ３０Ｅに電力線１７Ａで接続されて、これらに常時、電力を供給する。アクセサリ電源１８Ｂは、ゲートウェイ１０Ｂ、ＥＣＵ３０Ｂ〜３０Ｄに電力線１７Ｂで接続されて、これらに電力供給する。アクセサリ電源１８Ｂは電源リレー１８によってＯＮ／ＯＦＦが切り替えられる。ＥＣＵ３０Ｅはリレー制御用のＥＣＵであって、電源リレー１８の動作を制御することによってアクセサリ電源１８ＢのＯＮ／ＯＦＦを制御する。
【００３０】
車内通信線１６Ａと車内通信線１６Ｂとは、一例として、それぞれ通信規格が異なる。車内通信線１６Ａを介した通信（第１の通信）は、たとえば、ＣＡＮ（Controller  Area  Network）の規格に応じた通信（ＣＡＮ通信とも称する）である。したがって、ゲートウェイ１０ＡとＥＣＵ３０Ａ〜３０Ｅとは、互いにＣＡＮ通信が可能である。車内通信線１６Ｂを介した通信（第２の通信）は、たとえば、イーサネット（Ｅｔｈｅｒｎｅｔ）（登録商標）の規格に応じた通信である。したがって、ゲートウェイ１０Ｂは、ゲートウェイ１０ＡおよびＥＣＵ３０Ａとイーサネット通信が可能であるとともに、ゲートウェイ１０Ｂを介したゲートウェイ１０ＡとＥＣＵ３０Ａとの通信と、ゲートウェイ１０ＢとＥＣＵ３０Ａとの通信とを切り替えるイーサネットスイッチとして機能する。
【００３１】
なお、第１の通信および第２の通信は、それぞれ、ＣＡＮおよびイーサネットに限定されず、ＣＡＮＦＤ（ＣＡＮ  with  Flexible  Data  Rate）、ＬＩＮ（Local  Interconnect  Network）、ＭＯＳＴ（Media  Oriented  Systems  Transport：ＭＯＳＴは登録商標）等の他の規格であってもよい。第１の実施の形態にかかるシステムでは、ゲートウェイ１０Ａが第１の通信と第２の通信との、複数種類の通信が可能であって、第２の通信の方が第１の通信よりも通信速度（伝送レート）が速いものとする。
【００３２】
無線通信部１５は、携帯電話網などの広域通信網２に通信可能に接続され、車内通信線によりゲートウェイ１０に接続されている。ゲートウェイ１０は、広域通信網２を通じて管理サーバ５およびＤＬサーバ６などの車外装置から無線通信部１５が受信した情報を、車内通信線１６を介してＥＣＵ３０に送信する。
ゲートウェイ１０は、ＥＣＵ３０から取得した情報を無線通信部１５に送信し、無線通信部１５は、その情報を管理サーバ５などの車外装置に送信する。
また、ＥＣＵ３０同士は、車内通信線を介して情報を送受信する。
【００３３】
車両１に搭載される無線通信部１５としては、車載の専用通信端末の他に、たとえば、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートＰＣ（Personal  Computer）等の装置が考えられる。
図１では、ゲートウェイ１０が無線通信部１５を介して車外装置と通信を行う場合が例示されているが、ゲートウェイ１０が無線通信の機能を有する場合には、ゲートウェイ１０自身が管理サーバ５などの車外装置と無線通信を行う構成としてもよい。
【００３４】
また、図１のプログラム更新システムでは、管理サーバ５とＤＬサーバ６とが別個のサーバで構成されているが、これらのサーバ５，６を１つのサーバ装置で構成してもよい。また、管理サーバ５およびＤＬサーバ６は、いずれも、複数の装置からなるものであってもよい。
【００３５】
〔ゲートウェイの内部構成〕
図２は、ゲートウェイ１０Ａの内部構成を示すブロック図である。
図２に示すように、ゲートウェイ１０Ａは、ＣＰＵ１１、ＲＡＭ（Random  Access  Memory）１２、記憶部１３、第１車内通信部１４、および第２車内通信部１９などを備える。ゲートウェイ１０は、無線通信部１５と車内通信線を介して接続されているが、これらは一つの装置で構成してもよい。
【００３６】
ＣＰＵ１１は、記憶部１３に記憶された一または複数のプログラムをＲＡＭ１２に読み出して実行することにより、ゲートウェイ１０を各種情報の中継装置として機能させる。
ＣＰＵ１１は、たとえば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。なお、ＣＰＵ１１は複数のＣＰＵ群を代表するものであってもよい。この場合、ＣＰＵ１１の実現する機能は、複数のＣＰＵ群が協働して実現するものである。ＲＡＭ１２は、ＳＲＡＭ（Static  ＲＡＭ）またはＤＲＡＭ（Dynamic  ＲＡＭ）等のメモリ素子で構成され、ＣＰＵ１１が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
【００３７】
ＣＰＵ１１が実現するコンピュータプログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの周知の記録媒体に記録した状態で譲渡することもできるし、サーバコンピュータなどのコンピュータ装置からの情報伝送によって譲渡することもできる。
この点は、後述のＥＣＵ３０のＣＰＵ３１（図３参照）が実行するコンピュータプログラム、および、後述の管理サーバ５のＣＰＵ５１（図４参照）が実行するコンピュータプログラムについても同様である。
なお、以降の説明において、上位装置が下位装置にデータを転送（送信）することを「ダウンロードする」ともいう。
【００３８】
記憶部１３は、フラッシュメモリ若しくはＥＥＰＲＯＭ等の不揮発性のメモリ素子などにより構成されている。記憶部１３は、ＣＰＵ１１が実行するプログラムおよび実行に必要なデータ等を記憶するとともに、ＤＬサーバ６から受信した、ダウンロード対象の各ＥＣＵ３０の更新用プログラムなどを記憶する。
【００３９】
第１車内通信部１４は、車内通信線１６Ａで接続された他の装置と車内通信線１６Ａを介して第１の通信を行う。第２車内通信部１９は、車内通信線１６Ｂで接続された他の装置と車内通信線１６Ｂを介して第２の通信を行う。
第１車内通信部１４および第２車内通信部１９は、ＣＰＵ１１から与えられた情報を対象のＥＣＵ３０などの他の装置へ送信するとともに、ＥＣＵ３０などから受信した情報をＣＰＵ１１に与える。
【００４０】
無線通信部１５は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。無線通信部１５は、携帯電話網等の広域通信網２に接続されることにより車外装置との通信が可能である。
無線通信部１５は、図示しない基地局により形成される広域通信網２を介して、ＣＰＵ１１から与えられた情報を管理サーバ５等の車外装置に送信するとともに、車外装置から受信した情報をＣＰＵ１１に与える。
【００４１】
図２に示す無線通信部１５に代えて、車両１内の中継装置として機能する有線通信部を採用してもよい。この有線通信部は、ＵＳＢ（Universal  Serial  Bus）またはＲＳ２３２Ｃ等の規格に応じた通信ケーブルが接続されるコネクタを有し、通信ケーブルを介して接続された別の通信装置と有線通信を行う。
別の通信装置と管理サーバ５等の車外装置とが広域通信網２を通じた無線通信が可能である場合には、車外装置→別の通信装置→有線通信部→ゲートウェイ１０の通信経路により、車外装置とゲートウェイ１０とが通信可能になる。
【００４２】
〔ＥＣＵの内部構成〕
図３は、ＥＣＵ３０の内部構成を示すブロック図である。
図３に示すように、ＥＣＵ３０は、ＣＰＵ３１、ＲＡＭ３２、記憶部３３、および通信部３４などを備える。ＥＣＵ３０は、車両１に搭載された対象機器を個別に制御する車載制御装置である。ＥＣＵ３０の種類には、たとえば、電源制御ＥＣＵ、エンジン制御ＥＣＵ、ステアリング制御ＥＣＵ、およびドアロック制御ＥＣＵなどがある。
【００４３】
ＣＰＵ３１は、記憶部３３に予め記憶された一または複数のプログラムをＲＡＭ３２に読み出して実行することにより、自身が担当する対象機器の動作を制御する。ＣＰＵ３１もまた複数のＣＰＵ群を代表するものであってもよく、ＣＰＵ３１による制御は、複数のＣＰＵ群が協働することによる制御であってもよい。
ＲＡＭ３２は、ＳＲＡＭまたはＤＲＡＭ等のメモリ素子で構成され、ＣＰＵ３１が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
【００４４】
記憶部３３は、フラッシュメモリ若しくはＥＥＰＲＯＭ等の不揮発性のメモリ素子、或いは、ハードディスクなどの磁気記憶装置等により構成されている。
記憶部３３は、ＣＰＵ３１が読み出して実行するプログラムを格納する。記憶部３３が記憶する情報には、たとえば、車内の制御対象である対象機器を制御するための情報処理をＣＰＵ３１に実行させるためのコンピュータプログラムや、パラメータや地図情報などの、当該プログラムを実行する際に用いるデータである制御プログラムが含まれる。
【００４５】
通信部３４には、車両１に配設された車内通信線を介してゲートウェイ１０が接続されている。通信部３４は、たとえばＣＡＮ、Ｅｔｈｅｒｎｅｔ、またはＭＯＳＴ等の規格に応じて、ゲートウェイ１０との通信を行う。
通信部３４は、ＣＰＵ３１から与えられた情報をゲートウェイ１０へ送信するとともに、ゲートウェイ１０から受信した情報をＣＰＵ３１に与える。通信部３４は、上記の通信規格だけなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
【００４６】
ＥＣＵ３０のＣＰＵ３１には、当該ＣＰＵ３１による制御モードを、「通常モード」または「リプログラミングモード」（以下、「リプロモード」ともいう。）のいずれかに切り替える起動部３５が含まれる。
ここで、通常モードとは、ＥＣＵ３０のＣＰＵ３１が、対象機器に対する本来的な制御（たとえば、燃料エンジンに対するエンジン制御や、ドアロックモータに対するドアロック制御など）を実行する制御モードのことである。
【００４７】
リプログラミングモードとは、対象機器の制御に用いる制御プログラムを更新する制御モードである。
すなわち、リプログラミングモードは、ＣＰＵ３１が、記憶部３３のＲＯＭ領域に対して、制御プログラムのデータの消去や書き換えを行う制御モードのことである。ＣＰＵ３１は、この制御モードのときにのみ、記憶部３３のＲＯＭ領域に格納された制御プログラムを新バージョンに更新することが可能となる。
【００４８】
リプロモードにおいてＣＰＵ３１が新バージョンの制御プログラムを記憶部３３に書き込むと、起動部３５は、ＥＣＵ３０をいったん再起動（リセット）させ、新バージョンの制御プログラムが書き込まれた記憶領域についてベリファイ処理を実行する。
起動部３５は、上記のベリファイ処理の完了後に、ＣＰＵ３１を更新後の制御プログラムによって動作させる。
ＤＬサーバ６からゲートウェイ１０を介してＥＣＵ３０に更新用プログラムがダウンロードされ、当該更新用プログラムを用いて制御プログラムを更新することを、オンライン更新とも称する。
【００４９】
〔管理サーバの内部構成〕
図４は、管理サーバ５の内部構成を示すブロック図である。
図４に示すように、管理サーバ５は、ＣＰＵ５１、ＲＯＭ５２、ＲＡＭ５３、記憶部５４、および通信部５５などを備える。
【００５０】
ＣＰＵ５１は、ＲＯＭ５２に予め記憶された一または複数のプログラムをＲＡＭ５３に読み出して実行することにより、各ハードウェアの動作を制御し、管理サーバ５をゲートウェイ１０と通信可能な車外装置として機能させる。ＣＰＵ５１もまた複数のＣＰＵ群を代表するものであってもよく、ＣＰＵ５１の実現する機能は、複数のＣＰＵ群が協働して実現するものであってもよい。
ＲＡＭ５３は、ＳＲＡＭまたはＤＲＡＭ等のメモリ素子で構成され、ＣＰＵ５１が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
【００５１】
記憶部５４は、フラッシュメモリ若しくはＥＥＰＲＯＭ等の不揮発性のメモリ素子、または、ハードディスクなどの磁気記憶装置等により構成されている。
通信部５５は、所定の通信規格に則って通信処理を実行する通信装置よりなり、携帯電話網等の広域通信網２に接続されて当該通信処理を実行する。通信部５５は、ＣＰＵ５１から与えられた情報を、広域通信網２を介して外部装置に送信するとともに、広域通信網２を介して受信した情報をＣＰＵ５１に与える。
【００５２】
〔制御プログラムの更新シーケンス〕
図５は、本実施形態のプログラム更新システムにおいて実行される、制御プログラムのオンライン更新の流れの一例を示すシーケンス図である。ＤＬサーバ６に１または複数の更新用プログラムが格納され、一例として、管理サーバ５が、予め登録された車両１について、当該車両１のＥＣＵの制御プログラムを更新するタイミングを決定する。更新のタイミングは、たとえば、車両１のカーメーカーなどによって設定されてもよい。本実施の形態にかかるプログラム更新システムにおいては、複数のゲートウェイ１０Ａ，１０Ｂのうちのいずれか１つのゲートウェイ（たとえばゲートウェイ１０Ａ）が、オンライン更新の際の更新用プログラムを中継する中継装置として機能する。以降の説明において、中継装置として機能するゲートウェイをマスタゲートウェイ（マスタＧＷ）とも称する。
【００５３】
なお、制御プログラムは、プログラムそのもののみならず、パラメータや地図情報などの、当該プログラムを実行する際に用いるデータも含む。それらを代表させて「制御プログラム」と表現している。そのため、更新用プログラムは、プログラムの更新用のプログラムのみならず、当該プログラムを実行する際に用いるデータの更新用のデータを含む。
【００５４】
制御プログラムを更新するタイミングに達すると、管理サーバ５は、該当する車両１のマスタＧＷ１０宛てに、更新を通知する（ステップＳ１）。ステップ１では、管理サーバ５からマスタＧＷ１０に、ダウンロード要求とともに更新用プログラムの保存先ＵＲＬや更新用プログラムのサイズなどの更新用の情報が送られる。
【００５５】
管理サーバ５から更新の通知を受信したマスタＧＷ１０は、ＤＬサーバ６からダウンロードされる更新用プログラムを、制御プログラムを更新するＥＣＵ３０（以下、対象ＥＣＵ）に中継する。すなわち、マスタＧＷ１０は、更新用の情報に基づいてＤＬサーバ６に対して更新用プログラムのダウンロードを要求する（ステップＳ２）。
【００５６】
マスタＧＷ１０からダウンロードが要求されたＤＬサーバ６は、ダウンロード対象の更新用プログラムをマスタＧＷ１０に送信するとともに、制御プログラムの更新を要求する（ステップＳ３）。
【００５７】
マスタＧＷ１０は、更新用プログラムをダウンロードすると、更新制御処理を実行する（ステップＳ４）。更新制御処理は、当該更新用プログラムを対象ＥＣＵ３０に伝送する経路を選択する処理である経路選択処理（ステップＳ４１）を含む。マスタＧＷ１０は、更新制御処理の結果に従って更新用プログラムを対象ＥＣＵに転送し、制御プログラムの更新を要求する（ステップＳ５）。マスタＧＷ１０は、ユーザから更新の許可を受けることによって更新用プログラムを転送してもよい。
【００５８】
更新用プログラムを受信した対象ＥＣＵは、マスタＧＷ１０からの要求に従って更新用プログラムを展開し、制御プログラムを更新する（ステップＳ６）。制御プログラムの更新が完了すると、対象ＥＣＵはマスタＧＷ１０に更新完了を通知する（ステップＳ７）。この通知を受けたマスタＧＷ１０は、ＤＬサーバ６に更新完了を通知する（ステップＳ８）。
【００５９】
［ゲートウェイの機能構成］
図２を参照して、マスタＧＷとして機能するゲートウェイ１０のＣＰＵ１１は、更新制御処理を実行するための機能として、更新制御部１１１を含む。更新制御部１１１は、経路選択処理を実行する経路選択部１１２を含む。これら機能は、ＣＰＵ１１が記憶部１３に記憶されている１つまたは複数のプログラムを読み出して実行することによって、ＣＰＵ１１において実現される機能である。しかしながら、当該機能の少なくとも一部が、電子回路などのハードウェアによって実現されてもよい。
【００６０】
記憶部１３は、経路選択部１１２において経路選択処理を実行するために、対象ＥＣＵとなるＥＣＵごとに、マスタＧＷからの経路に関する経路情報を予め記憶しておく。対象ＥＣＵが図１のＥＣＵ３０Ａである場合、マスタＧＷであるゲートウェイ１０Ａから対象ＥＣＵまでの更新用プログラムの伝送経路とする候補（以降、候補経路とも称する）は、下の経路１，２の２経路がある。ゲートウェイ１０Ａから対象ＥＣＵまでの経路情報は、下の経路１，２を特定する情報を含む。
経路１：ゲートウェイ１０Ａ→ＥＣＵ３０Ａ
経路２：ゲートウェイ１０Ａ→ゲートウェイ１０Ｂ→ＥＣＵ３０Ａ
経路情報がＥＣＵごとに用意されることによって、当該経路情報を参照することで、対象ＥＣＵへの更新用プログラムの候補経路が複数あるか否かを確認することができる。
【００６１】
経路選択部１１２で表された機能（以下、経路選択部１１２）は、候補経路が複数ある場合、複数の候補経路の中から伝送経路を選択する。経路選択部１１２は、１以上の指標を用いて伝送経路を選択する。すなわち、経路選択部１１２は、候補経路ごとに指標値を算出し、それらの比較結果に基づいて伝送経路を選択する。
【００６２】
指標は、たとえば、更新用プログラムの転送に要する時間（転送所要時間）である（第１の指標）。この指標値を算出するために、経路情報は、経路ごとの伝送速度（伝送レート）を示す情報を含む。経路選択部１１２は、たとえば、経路１，２それぞれの伝送レートの逆数に更新用プログラムのサイズを乗じることによって、経路１，２それぞれの転送所要時間Ｔを算出する。一例として、経路選択部１１２は、複数の候補経路のうちの転送所要時間Ｔが最大の候補経路よりも小さい経路を選択する。
【００６３】
転送所要時間Ｔが最大の候補経路よりも小さい経路は、好ましくは、複数の候補経路のうちの転送所要時間Ｔが最小の経路である。しかしながら、転送所要時間Ｔが最大の候補経路よりも小さい経路は転送所要時間Ｔが最小の経路に限定されず、それよりも転送所要時間Ｔが大きい経路であっても、転送所要時間Ｔが最大の候補経路よりも転送所要時間Ｔが小さいものであれば、その経路であってもよい。たとえば、候補経路が３つある場合、転送所要時間Ｔが最も小さい経路であってもよいし、２番目に小さい経路であってもよい。これは、後述する、消費電力量Ｐ・Ｔが最大の候補経路よりも小さい経路についても同様である。
【００６４】
またたとえば、指標は、更新用プログラムの転送によって消費される電力量（消費電力量）である（第２の指標）。この指標値を算出するために、経路情報は、経路ごとの通信時の消費電力Ｐを示す情報を含む。経路選択部１１２は、たとえば、経路１，２それぞれの消費電力Ｐに当該経路での転送所要時間Ｔを乗じることによって、経路１，２それぞれの消費電力量Ｐ・Ｔを算出する。一例として、経路選択部１１２は、複数の候補経路のうちの消費電力量Ｐ・Ｔが最大の候補経路よりも小さい経路を選択する。
【００６５】
消費電力Ｐは、一例として、当該経路の通信によって起動するＥＣＵの数に関連する。たとえば、経路２に含まれるゲートウェイ１０Ｂに電力を供給するＡＣＣ電源１８Ｂは、対象ＥＣＵではないＥＣＵ３０Ｂ，３０Ｃ，３０Ｄを起動させる。そのため、経路２の消費電力Ｐは、これらＥＣＵ３０Ｂ，３０Ｃ，３０Ｄの起動のための消費電力を含む。そこで、経路情報に含まれる消費電力Ｐを示す情報は、経路２の消費電力Ｐそのものに替えて、当該経路の通信によって起動するＥＣＵの数であってもよい。この場合、予め記憶している、ＥＣＵ１つを起動するための消費電力を当該ＥＣＵの数に乗じることで消費電力Ｐを算出することができる。
【００６６】
なお、他の例として、消費電力Ｐは、ゲートウェイ１０Ａ，１０Ｂそれぞれの消費電力に関連する。たとえば、当該経路の通信によって起動するＥＣＵの数が同数であっても、ゲートウェイ１０の消費電力が大きい方が当該ゲートウェイ１０を含む経路における消費電力Ｐが大きくなる。この場合、予め記憶している、当該ゲートウェイ１０の消費電力に規定された係数を乗じることで消費電力Ｐを算出することができる。
【００６７】
対象ＥＣＵがＥＣＵ３０Ａである場合、つまり、候補経路が経路１，２の２つである場合、イーサネット通信の方がＣＡＮ通信よりも伝送レートは速いため、経路２の方が経路１よりも転送所要時間Ｔは小さい。従って、第１の指標に基づいて伝送経路を選択する場合、経路選択部１１２は、経路２を選択する。
【００６８】
一方、経路２に含まれるゲートウェイ１０Ｂに電力を供給するＡＣＣ電源１８Ｂは、対象ＥＣＵではないＥＣＵ３０Ｂ，３０Ｃ，３０Ｄも起動するため、経路２の方が経路１よりも消費電力が大きい。さらに、ＡＣＣ電源１８ＢがＯＦＦの場合には電源リレー１８によってアクセサリ電源をＯＮにするリレー切替が必要になるため、経路２の方が経路１よりもさらに消費電力が大きい。従って、第２の指標に基づいて伝送経路を選択する場合には、経路選択部１１２は、消費電力量に応じて、経路２を選択しない（経路１を選択する）場合がある。
【００６９】
好ましくは、経路選択部１１２は、所定条件を満たすか否かに応じて、伝送経路の選択に用いる指標を切り替える。所定条件は、たとえば、伝送経路の選択時が充電中であること、である。またたとえば、所定条件は、伝送経路の選択時のバッテリ残量が閾値以上であること、である。すなわち、選択時が充電中である場合、または、バッテリ残量が閾値以上である場合、経路選択部１１２は、第１の指標（転送所要時間）に基づいて伝送経路を選択する。この場合、バッテリから充分な電力が供給可能であるため、更新完了までの所要時間を短縮する方が重視される。経路選択部１１２は、車両１が充電中であるか否か、または、バッテリ残量を、図示しないバッテリ制御用のＥＣＵから送信されるフレームを監視することによって取得することができる。
【００７０】
また、他の例として、所定条件は、更新用プログラムに設定されている、当該更新用プログラムを用いた制御プログラムの更新の緊急度合いが高いこと、である。すなわち、更新の緊急度合いが高い更新用プログラムの場合、経路選択部１１２は、第１の指標（転送所要時間）に基づいて伝送経路を選択する。この場合も、消費電力量よりも更新完了までの所要時間を短縮する方が重視されるためである。緊急度合いは、予め更新用プログラムに付与された情報から判断してもよいし、更新用プログラムの種類によって判断してもよい。たとえば、更新用プログラムが地図などのデータである場合には緊急度合いが低い、制御プログラムの一部である場合には緊急度合いが高い、と判断することができる。
【００７１】
上記条件を満たさない場合、すなわち、上記のいずれでもない場合には、経路選択部１１２は、第２の指標（消費電力量）に基づいて伝送経路を選択する。また、所定条件は、さらに、車両１が走行中であること、を含んでもよい。すなわち、上記のいずれもなく、かつ、車両１が駐車中の場合、経路選択部１１２は、第２の指標（消費電力量）に基づいて伝送経路を選択する。これにより、消費電力を抑えつつ、制御プログラムの更新を実行することができる。停車中にオンライン更新を実行する場合、消費電力が大きいとバッテリの残電量が、車両１の始動に必要な電力量を下回り、走行できなくなるおそれがあるためである。
【００７２】
更新制御部１１１で表された機能（以下、更新制御部１１１）は、ダウンロードした更新用プログラムを、経路選択部１１２によって選択された伝送経路で対象ＥＣＵに送信する。具体的に、更新制御部１１１は、第１車内通信部１４と第２車内通信部１９とのうちの選択された伝送経路に応じた車内通信部に更新用プログラムを渡して、対象ＥＣＵに送信させる。また、更新制御部１１１は、必要に応じて電源リレー１８にＡＣＣ電源１８ＢをＯＮすることを指示する。具体的に、更新制御部１１１は、リレー制御用のＥＣＵ３０ＥにＡＣＣ電源１８ＢのＯＮを指示するデータを含むフレームを生成し、第１車内通信部１４に、当該フレームをＥＣＵ３０Ｅに送信させる。
【００７３】
［動作フロー］
図６は、第１の実施の形態にかかるプログラム更新システムでの、図５のステップＳ６の更新制御処理に含まれる経路選択処理の具体的な流れを表したフローチャートである。図６のフローチャートに表された動作は、マスタＧＷの記憶部１３に、図５のステップＳ３でダウンロードされた更新用プログラムが記憶されているときに開始される。図６のフローチャートに表された処理は、ゲートウェイ１０のＣＰＵ１１が、記憶部１３に記憶された１つまたは複数のプログラムをＲＡＭ１２上に読み出して実行することによって図２に示された各機能を実現することで実行される。
【００７４】
図６を参照して、始めに、マスタＧＷのＣＰＵ１１は、対象の更新用プログラムの対象ＥＣＵへの伝送経路の候補となる経路が複数あるか否かを確認する。候補経路が複数ある場合（ステップＳ１０１でＹＥＳ）、ＣＰＵ１１は、第１の実施の形態にかかる経路選択処理を実行する。
【００７５】
すなわち、ＣＰＵ１１は、各候補経路における転送所要時間Ｔを算出する。また、経路情報から消費電力Ｐを読み出して、または経路情報を参照して消費電力Ｐを算出して、転送所要時間Ｔに乗じて、候補経路それぞれについて消費電力量Ｐ・Ｔを算出する（ステップＳ１０３）。
【００７６】
車両１が充電中である場合（ステップＳ１０５でＹＥＳ）、ＣＰＵ１１は、複数の候補経路のうちの転送所要時間Ｔが最小となる候補経路を伝送経路として選択する（ステップＳ１０９）。
【００７７】
車両１が充電中ではなく、かつ、当該更新が緊急性の高いものである場合も（ステップＳ１０５でＮＯ、かつ、ステップＳ１０７でＹＥＳ）、ＣＰＵ１１は、複数の候補経路のうちの転送所要時間Ｔが最小となる候補経路を伝送経路として選択する（ステップＳ１０９）。
【００７８】
上のいずれでもない場合（ステップＳ１０５でＮＯ、かつ、ステップＳ１０７でＮＯ）、好ましくは、さらに車両１が駐車中の場合、ＣＰＵ１１は、複数の候補経路のうちの消費電力量Ｐ・Ｔが最小となる候補経路を伝送経路として選択する（ステップＳ１１１）。
【００７９】
［第１の実施の形態の効果］
車両の高機能化に伴って搭載されるＥＣＵは増加し、それらを繋ぐ車内ネットワークが複雑化する傾向にある。そのため、対象ＥＣＵまで更新用プログラムを伝送可能な経路が複数存在する場合もある。この場合、第１の実施の形態にかかる経路選択処理が実行されることによって、複数の経路（候補経路）のうちの、更新用プログラムの伝送の際の消費電力量が最も低い経路を更新用プログラムの伝送経路として用いることができる。これにより、制御プログラムの更新のための消費電力量を抑えることができる。
【００８０】
車両１が停車中にオンライン更新する場合、バッテリから供給される電力を用いて更新処理が実行される。その際の消費電力が大きくなってバッテリ残量が大幅に減少すると、車両１が走行を開始するための電力が不足する場合がある。そのため、特に車両１が駐車中にオンライン更新を実行する場合には、経路選択処理によって消費電力量の最も低い候補経路が選択されることが、車両１の走行に必要な電力を確保するために有効である。
【００８１】
なお、選択時の条件に応じて転送所要時間が最も短い候補経路が選択される、つまり、所定の条件下では、消費電力量よりも転送所要時間をして候補経路が選択される。所定の条件は、たとえば、更新の緊急性が高いことや、車両１が充電中であること、などである。これにより、上記のような所定の条件下では、更新完了までの所要時間を短くすることができる。
【００８２】
＜第２の実施の形態＞
第２の実施の形態にかかるプログラム更新システムでは、複数のゲートウェイ１０Ａ，１０Ｂのいずれもが、マスタＧＷとして機能することができる。つまり、いずれのゲートウェイ１０も、当該装置から対象ＥＣＵに対して更新用プログラムを送信することができる。
【００８３】
さらに、第２の実施の形態にかかるプログラム更新システムでは、複数のゲートウェイ１０Ａ，１０Ｂ間で、更新用プログラムの中継装置となるマスタＧＷを交代することができる。すなわち、マスタＧＷであるゲートウェイ１０は、自身をマスタＧＷとした伝送経路を選択可能であるとともに、他のゲートウェイ１０をマスタＧＷとした伝送経路も選択可能である。
【００８４】
そこで、第２の実施の形態にかかるマスタＧＷであるゲートウェイ１０の経路選択部１１２は、マスタＧＷとなることができる他のゲートウェイ１０が存在する場合に、各ゲートウェイ１０をマスタＧＷとした場合の対象ＥＣＵまでの候補経路のうちから、上記指標を用いて選択された候補経路のマスタＧＷとなるゲートウェイ１０を、マスタＧＷとして選択する。
【００８５】
選択されたゲートウェイ１０が現在のマスタＧＷと一致している場合、つまり、当該ゲートウェイ１０がマスタＧＷである候補経路が選択された場合、第２の実施の形態にかかる更新制御部１１１は、第１の実施の形態と同様の制御を行う。すなわち、経路選択処理によって選択された伝送経路で更新用プログラムを送信するための制御を行う。
【００８６】
選択されたゲートウェイ１０が現在のマスタＧＷと異なるゲートウェイ１０である場合、つまり、他のゲートウェイ１０がマスタＧＷである候補経路が選択された場合、第２の実施の形態にかかる更新制御部１１１は、マスタＧＷを交代する制御を行う。すなわち、更新制御部１１１は、選択されたゲートウェイ１０に更新用プログラムを渡すとともに、マスタＧＷとして機能することを指示する。具体的には、更新制御部１１１は、当該指示するデータを含むフレームを生成して第１車内通信部１４または第２車内通信部１９に当該フレームを送信させる。この場合、当該指示を受けたゲートウェイ１０は、マスタＧＷとして機能して図６の経路選択処理を実行し、選択した伝送経路で対象ＥＣＵに更新用プログラムを送信するとともに、更新を要求する。
【００８７】
または、更新制御部１１１は、選択されたゲートウェイ１０に更新用プログラムを渡すとともに、マスタＧＷとして機能して経路選択処理によって選択された伝送経路で更新用プログラムを送信することを指示してもよい。この場合、当該指示を受けたゲートウェイ１０は、マスタＧＷとして機能して、図６の経路選択処理を実行することなく指示された伝送経路で対象ＥＣＵに更新用プログラムを送信するとともに、更新を要求する。
【００８８】
図７は、第２の実施の形態にかかるプログラム更新システムでの、図５のステップＳ６の更新制御処理に含まれる経路選択処理の具体的な流れを表したフローチャートである。図７のフローチャートに表された処理もまた、ゲートウェイ１０のＣＰＵ１１が、記憶部１３に記憶された１つまたは複数のプログラムをＲＡＭ１２上に読み出して実行することによって図２に示された各機能を実現することで実行される。
【００８９】
図７を参照して、始めに、マスタＧＷのＣＰＵ１１は、車内ネットワーク４に、マスタＧＷとなり得るゲートウェイ１０が複数存在するか否かを確認する。マスタＧＷとなり得るゲートウェイ１０が複数存在する場合（ステップＳ２０１でＹＥＳ）、ＣＰＵ１１は、第２の実施の形態にかかる経路選択処理を実行する。
【００９０】
すなわち、ＣＰＵ１１は、各ゲートウェイ１０をマスタＧＷとした場合の候補経路それぞれについて転送所要時間Ｔを算出する。また、経路情報から消費電力Ｐを読み出して、または経路情報を参照して消費電力Ｐを算出して、転送所要時間Ｔに乗じて、候補経路それぞれについて消費電力量Ｐ・Ｔを算出する（ステップＳ２０３）。
【００９１】
このとき、ＣＰＵ１１は、各ゲートウェイ１０に記憶されている経路情報を用いて転送所要時間Ｔ、消費電力Ｐ、および消費電力量Ｐ・Ｔの指標値を算出してもよい。他の例として、ＣＰＵ１１は、自身がマスタＧＷとなる候補経路については第１の実施の形態にかかる経路選択処理と同様にこれら指標値を算出し、他のゲートウェイ１０がマスタＧＷとなる候補経路については当該他のゲートウェイ１０に指標の算出を指示して、当該他のゲートウェイ１０から指標値を取得してもよい。
【００９２】
車両１が充電中である場合（ステップＳ２０５でＹＥＳ）、ＣＰＵ１１は、複数のゲートウェイ１０のうちの転送所要時間Ｔが最小となる候補経路のマスタＧＷとなるゲートウェイ１０をマスタＧＷとして選択する（ステップＳ２０９）。
【００９３】
車両１が充電中ではなく、かつ、当該更新が緊急性の高いものである場合も（ステップＳ２０５でＮＯ、かつ、ステップＳ２０７でＹＥＳ）、ＣＰＵ１１は、複数のゲートウェイ１０のうちの転送所要時間Ｔが最小となる候補経路のマスタＧＷとなるゲートウェイ１０をマスタＧＷとして選択する（ステップＳ２０９）。
【００９４】
上のいずれでもない場合（ステップＳ２０５でＮＯ、かつ、ステップＳ２０７でＮＯ）、好ましくは、さらに車両１が駐車中の場合、ＣＰＵ１１は、複数のゲートウェイ１０のうちの消費電力量Ｐ・Ｔが最小となる候補経路のマスタＧＷとなるゲートウェイ１０をマスタＧＷとして選択する（ステップＳ２１１）。
【００９５】
［第２の実施の形態の効果］
車両１に複数のゲートウェイ１０が搭載される場合、複数のゲートウェイそれぞれを中継装置として、当該中継装置から対象ＥＣＵまで更新用プログラムを伝送可能な経路がより多く存在することになる。この場合、第２の実施の形態にかかる経路選択処理が実行されることによって、伝送元のゲートウェイも含めた複数の経路（候補経路）のうちの、更新用プログラムの伝送の際の消費電力量が最も低い経路を更新用プログラムの伝送経路として用いることができる。これにより、制御プログラムの更新のための消費電力量をより抑えることができる。
【００９６】
＜第３の実施の形態＞
第１の実施の形態および第２の実施の形態にかかるプログラム更新システムでは、マスタＧＷであるゲートウェイ１０Ａが異なる種類の複数の通信方式で通信可能であるものとしている。すなわち、対象ＥＣＵまで、通信方式の異なる複数種類の通信経路があるものとしている。
【００９７】
マスタＧＷであるゲートウェイ１０Ａから対象ＥＣＵまでの複数種類の通信経路は、通信方式は同じで、経路が異なるものを含む。たとえば、図１の例では、上記経路１，２が同じ通信方式（たとえばイーサネット通信）であってもよい。この場合、車内通信を行う通信用の機構は１つであってよく、第１車内通信部１４および第２車内通信部１９は、それぞれ、経路１，２用の物理ポートを指す。
【００９８】
第３の実施の形態にかかるプログラム更新システムでは、伝送レートは経路１，２とも同じであるが、消費電力が異なる。そのため、第１、第２の実施の形態にかかるプログラム更新システムと同様に経路選択処理を実行することによって、消費電力量に基づいて適切な伝送経路が選択される。
【００９９】
開示された特徴は、１つ以上のモジュールによって実現される。たとえば、当該特徴は、回路素子その他のハードウェアモジュールによって、当該特徴を実現する処理を規定したソフトウェアモジュールによって、または、ハードウェアモジュールとソフトウェアモジュールとの組み合わせによって実現され得る。
【０１００】
上述の動作をコンピュータに実行させるための、１つ以上のソフトウェアモジュールの組み合わせであるプログラムとして提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact  Disk-Read  Only  Memory）、ＲＯＭ、ＲＡＭおよびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【０１０１】
なお、本開示にかかるプログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本開示にかかるプログラムに含まれ得る。
【０１０２】
また、本開示にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本開示にかかるプログラムに含まれ得る。提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０１０３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１０４】
１  車両
２  広域通信網
４  車内ネットワーク
５  管理サーバ
６  ＤＬサーバ
１０，１０Ａ，１０Ｂ  ゲートウェイ
１１  ＣＰＵ
１２  ＲＡＭ
１３  記憶部
１４  第１車内通信部（通信部）
１５  無線通信部
１６，１６Ａ，１６Ｂ  車内通信線
１７Ａ，１７Ｂ  電力線
１８  電源リレー
１８Ａ  常時電源
１８Ｂ  アクセサリ電源
１９  第２車内通信部（通信部）
３０  ＥＣＵ
３１  ＣＰＵ
３２  ＲＡＭ
３３  記憶部
３４  通信部
３５  起動部
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５４  記憶部
５５  通信部
１１１  更新制御部（制御部）
１１２  経路選択部（選択部）
【図１】
2019036855.tif 000003
【図２】
2019036855.tif 000004
【図３】
2019036855.tif 000005
【図４】
2019036855.tif 000006
【図５】
2019036855.tif 000007
【図６】
2019036855.tif 000008
【図７】
2019036855.tif 000009