(57)【特許請求の範囲】
【請求項１】
車両に搭載された複数の制御装置と、複数の前記制御装置と車内通信可能な中継装置と、を含むプログラム更新システムであって、
前記中継装置は、
複数の前記制御装置に対する更新プログラムを車外装置から受信する通信部と、
受信した複数の前記更新プログラムを記憶する記憶部と、
記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信する車内通信部と、
下記に定義する第１プログラムの前記記憶部への格納を下記に定義する第２プログラムの前記記憶部への格納よりも優先させる処理部と、を備えるプログラム更新システム。
第１プログラム：更新後の相互間の動作確認が取れている複数の更新プログラム
第２プログラム：単独での更新が可能である更新プログラム
【請求項２】
前記記憶部に、ダウンロード予定の前記第１及び第２プログラムが存在しない場合には、
前記処理部は、現状のメモリ空き領域が前記ダウンロード予定の前記第１及び第２プログラムの全データ容量よりも小さい場合に、前記ダウンロード予定の前記第１プログラムの優先的な受信を前記通信部に実行させる請求項１に記載のプログラム更新システム。
【請求項３】
前記記憶部に、ダウンロード予定の前記第１プログラムが存在せず、前記第２プログラムが存在する場合には、
前記処理部は、現状のメモリ空き容量が前記ダウンロード予定の前記第１プログラムのデータ容量よりも小さい場合に、前記第２プログラムを削除してから、前記ダウンロード予定の前記第１プログラムの受信を前記通信部に実行させる請求項１に記載のプログラム更新システム。
【請求項４】
車両に搭載された複数の制御装置と車内通信可能な中継装置が実行するプログラム更新方法であって、
複数の前記制御装置に対する更新プログラムを車外装置から受信するステップと、
受信した複数の前記更新プログラムを記憶するステップと、
記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信するステップと、
下記に定義する第１プログラムの記憶部への格納を下記に定義する第２プログラムの記憶部への格納よりも優先させるステップと、を含むプログラム更新方法。
第１プログラム：更新後の相互間の動作確認が取れている複数の更新プログラム
第２プログラム：単独での更新が可能である更新プログラム
【請求項５】
車両に搭載された複数の制御装置と車内通信可能な中継装置として、コンピュータを機能させるためのコンピュータプログラムであって、
複数の前記制御装置に対する更新プログラムを車外装置から受信するステップと、
受信した複数の前記更新プログラムを記憶するステップと、
記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信するステップと、
下記に定義する第１プログラムの記憶部への格納を下記に定義する第２プログラムの記憶部への格納よりも優先させるステップと、を含むコンピュータプログラム。
第１プログラム：更新後の相互間の動作確認が取れている複数の更新プログラム
第２プログラム：単独での更新が可能である更新プログラム
【請求項６】
車両に搭載された複数の制御装置と車内通信可能な中継装置であって、
複数の前記制御装置に対する更新プログラムを車外装置から受信する通信部と、
受信した複数の前記更新プログラムを記憶する記憶部と、
記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信する車内通信部と、
下記に定義する第１プログラムの前記記憶部への格納を下記に定義する第２プログラムの前記記憶部への格納よりも優先させる処理部と、を備える中継装置。
第１プログラム：更新後の相互間の動作確認が取れている複数の更新プログラム
第２プログラム：単独での更新が可能である更新プログラム
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラムに関する。具体的には、本発明は、動作確認が取れた複数の制御装置に対する制御プログラムの更新を確実に行うための技術に関する。
【背景技術】
【０００２】
近年、自動車の技術分野においては、車両の高機能化が進行しており、多種多様な車載機器が車両に搭載されている。従って、車両には、各車載機器を制御するための制御装置である、所謂ＥＣＵ（Electronic Control Unit）が多数搭載されている。
ＥＣＵの種類には、例えば、アクセル、ブレーキ、ハンドルの操作に対してエンジンやブレーキ、ＥＰＳ（Electric Power Steering）等の制御を行う走行系に関わるもの、乗員によるスイッチ操作に応じて車内照明やヘッドライトの点灯／消灯と警報器の吹鳴等の制御を行うボディ系ＥＣＵ、運転席近傍に配設されるメータ類の動作を制御するメータ系ＥＣＵなどがある。
【０００３】
一般的にＥＣＵは、マイクロコンピュータ等の演算処理装置によって構成されており、ＲＯＭ（Read Only Memory）に記憶した制御プログラムを読み出して実行することにより、車載機器の制御が実現される。
ＥＣＵの制御プログラムは、車両の仕向け地やグレードなど応じて異なることがあり、制御プログラムのバージョンアップに対応して、旧バージョンの制御プログラムを新バージョンの制御プログラムに書き換える必要がある。
【０００４】
例えば、特許文献１及び２には、車載通信機などのゲートウェイが管理サーバから更新プログラムを受信し、受信した更新プログラム用いてＥＣＵが制御プログラムを旧バーションから新バーションに書き換えることにより、車両の各ＥＣＵに対するプログラム更新を無線通信によって遠隔で実行する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−６５８５６号公報
【特許文献２】特開２０１０−１９８１５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
車両に搭載されたＥＣＵのうち、更新後の相互間の動作確認が取れている複数のＥＣＵの制御プログラムを更新する場合には、ゲートウェイは、管理サーバなどの車外装置から受信した複数の更新プログラムをすべて同時に記憶部に記憶する必要がある。
しかし、例えば、単独での更新が可能である他の更新プログラムが既にメモリ領域に格納されている場合には、更新後の相互間の動作確認が取れている複数のＥＣＵの更新プログラムのためのメモリ空き領域が不足し、これが原因で、複数のＥＣＵについての更新のシーケンスを実行できない可能性がある。
【０００７】
本発明は、かかる従来の問題点に鑑み、中継装置のメモリ空き容量が不足しても、動作確認が取れた複数の制御装置についての更新を実行することができる、プログラム更新システム等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
（１）  本発明の一態様に係るシステムは、車両に搭載された複数の制御装置と、複数の前記制御装置と車内通信可能な中継装置と、を含むプログラム更新システムであって、前記中継装置は、複数の前記制御装置に対する更新プログラムを車外装置から受信する通信部と、受信した複数の前記更新プログラムを記憶する記憶部と、記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信する車内通信部と、下記に定義する第１プログラムの前記記憶部への格納を下記に定義する第２プログラムの前記記憶部への格納よりも優先させる処理部と、を備える。
第１プログラム：更新後の相互間の動作確認が取れている複数の更新プログラム
第２プログラム：単独での更新が可能である更新プログラム
【０００９】
（４）  本発明の一態様に係る方法は、車両に搭載された複数の制御装置と車内通信可能な中継装置が実行するプログラム更新方法であって、複数の前記制御装置に対する更新プログラムを車外装置から受信するステップと、受信した複数の前記更新プログラムを記憶するステップと、記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信するステップと、前記第１プログラムの記憶部への格納を前記第２プログラムの記憶部への格納よりも優先させるステップと、を含む。
【００１０】
（５）  本発明の一態様に係るコンピュータプログラムは、車両に搭載された複数の制御装置と車内通信可能な中継装置として、コンピュータを機能させるためのコンピュータプログラムであって、複数の前記制御装置に対する更新プログラムを車外装置から受信するステップと、受信した複数の前記更新プログラムを記憶するステップと、記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信するステップと、前記第１プログラムの記憶部への格納を前記第２プログラムの記憶部への格納よりも優先させるステップと、を含む。
【００１１】
（６）  本発明の一態様に係る中継装置は、車両に搭載された複数の制御装置と車内通信可能な中継装置であって、複数の前記制御装置に対する更新プログラムを車外装置から受信する通信部と、受信した複数の前記更新プログラムを記憶する記憶部と、記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信する車内通信部と、前記第１プログラムの前記記憶部への格納を前記第２プログラムの前記記憶部への格納よりも優先させる処理部と、を備える。
【発明の効果】
【００１２】
本発明によれば、中継装置のメモリ空き容量が不足しても、動作確認が取れた複数の制御装置についての更新を実行することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係るプログラム更新システムの全体構成図である。
【図２】ゲートウェイの内部構成を示すブロック図である。
【図３】ＥＣＵの内部構成を示すブロック図である。
【図４】管理サーバの内部構成を示すブロック図である。
【図５】ゲートウェイの記憶部に確保された更新プログラムのメモリ領域の説明図である。
【図６】優先ダウンロード処理の一例を示すフローチャートである。
【図７】優先ダウンロード処理の変形例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
＜本発明の実施形態の概要＞  
以下、本発明の実施形態の概要を列記して説明する。
（１）  本実施形態のプログラム更新システムは、車両に搭載された複数の制御装置と、複数の前記制御装置と車内通信可能な中継装置と、を含むプログラム更新システムであって、前記中継装置は、複数の前記制御装置に対する更新プログラムを車外装置から受信する通信部と、受信した複数の前記更新プログラムを記憶する記憶部と、記憶された複数の前記更新プログラムを対応する前記制御装置にそれぞれ送信する車内通信部と、下記に定義する第１プログラムの前記記憶部への格納を下記に定義する第２プログラムの前記記憶部への格納よりも優先させる処理部と、を備える。
第１プログラム：更新後の相互間の動作確認が取れている複数の更新プログラム
第２プログラム：単独での更新が可能である更新プログラム
【００１５】
本実施形態のプログラム更新システムによれば、中継装置の処理部が、第１プログラムの記憶部への格納を第２プログラムの記憶部への格納よりも優先させるので、更新後の相互間の動作確認が取れている複数の更新プログラム（第１プログラム）をより確実に記憶部に記憶させることができる。
このため、中継装置のメモリ空き容量が不足しても、動作確認が取れた複数の制御装置についての更新を実行することができる。
【００１６】
（２）  例えば、本実施形態のプログラム更新システムにおいて、前記記憶部に、ダウンロード予定の前記第１プログラムが存在せず、前記第２プログラムが存在する場合には、前記処理部は、現状のメモリ空き容量が前記ダウンロード予定の前記第１プログラムのデータ容量よりも小さい場合に、前記第２プログラムを削除してから、前記ダウンロード予定の前記第１プログラムの受信を前記通信部に実行させるようにすればよい。
この場合、第２プログラムの削除後に第１プログラムの受信が実行されるので、第１プログラムをより確実に記憶部に記憶させることができる。
【００１７】
（３）  また、本実施形態のプログラム更新システムにおいて、前記記憶部に、ダウンロード予定の前記第１及び第２プログラムが存在しない場合には、前記処理部は、現状のメモリ空き領域が前記ダウンロード予定の前記第１及び第２プログラムの全データ容量よりも小さい場合に、前記ダウンロード予定の前記第１プログラムの優先的な受信を前記通信部に実行させるようにすればよい。
この場合、第１プログラムの優先的な受信が実行されるので、第１プログラムをより確実に記憶部に記憶させることができる。
【００１８】
リコールなどにより、高緊急度の更新プログラムがサーバから配信される場合、前記更新プログラムを第１プログラム及び第２プログラムよりも優先してダウンロードすることにしてもよい。
例えば、高緊急度の更新プログラムのファイル容量がメモリ空き領域よりも大きい場合に、優先度の低い第２プログラムを削除する。第２プログラムを削除してもなおメモリ空き容量が足りない場合、第１プログラムを削除することで、高緊急度の更新プログラムを最優先でダウンロードすることができる。
【００１９】
（４）  本実施形態のプログラム更新方法は、上述の（１）〜（３）のいずれかに記載のプログラム更新システムに含まれる中継装置が実行するプログラム更新方法に関する。
従って、本実施形態のプログラム更新方法は、上述の（１）〜（３）のいずれかに記載のプログラム更新システムと同様の作用効果を奏する。
【００２０】
（５）  本実施形態のコンピュータプログラムは、上述の（１）〜（３）のいずれかに記載のプログラム更新システムに含まれる中継装置として、コンピュータを機能させるためのコンピュータプログラムに関する。
従って、本実施形態のコンピュータプログラムは、上述の（１）〜（３）のいずれかに記載のプログラム更新システムと同様の作用効果を奏する。
【００２１】
（６）  本実施形態の中継装置は、上述の（１）〜（３）のいずれかに記載のプログラム更新システムに含まれる中継装置に関する。
従って、本実施形態の中継装置は、上述の（１）〜（３）のいずれかに記載のプログラム更新システムと同様の作用効果を奏する。
【００２２】
＜本発明の実施形態の詳細＞  
以下、図面を参照して、本発明の実施形態の詳細を説明する。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【００２３】
〔システムの全体構成〕
図１は、本発明の実施形態に係るプログラム更新システムの全体構成図である。
図１に示すように、本実施形態のプログラム更新システムは、広域通信網２を介して通信可能な車両１、管理サーバ５及びＤＬ（ダウンロード）サーバ６を含む。
管理サーバ５及びＤＬサーバ６は、例えば、車両１のカーメーカーにより運営されており、予め会員登録されたユーザが所有する多数の車両１と通信可能である。
【００２４】
車両１には、ゲートウェイ１０及び複数のＥＣＵ３０と、各ＥＣＵ３０によりそれぞれ制御される各種の車載機器（図示せず）が搭載されている。
車両１には、共通の車内通信線にバス接続された複数のＥＣＵ３０による通信グループが存在し、ゲートウェイ１０は、通信グループ間の通信を中継している。このため、ゲートウェイ１０には、複数の車内通信線が接続されている。
【００２５】
ゲートウェイ１０は、携帯電話網などの広域通信網２に通信可能に接続されている。ゲートウェイ１０は、広域通信網２を通じて管理サーバ５及びＤＬサーバ６などの車外装置から受信した情報をＥＣＵ３０に送信する。
ゲートウェイ１０は、ＥＣＵ３０から取得した情報を、広域通信網２を介して管理サーバ５などの車外装置に送信する。
【００２６】
図１では、ゲートウェイ１０が車外装置と直接通信を行う場合が例示されている。もっとも、ゲートウェイ１０に別の通信装置を接続し、別の通信装置を介して車外装置と通信を行う構成としてもよい。
ゲートウェイ１０に接続される別の通信装置としては、例えば、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートＰＣ（Personal Computer）等の装置が考えられる。
【００２７】
図１のプログラム更新システムでは、管理サーバ５とＤＬサーバ６が別個のサーバで構成されているが、これらのサーバ５，６を１つのサーバ装置で構成してもよい。
【００２８】
〔ゲートウェイの内部構成〕
図２はゲートウェイ１０の内部構成を示すブロック図である。
図２に示すように、ゲートウェイ１０は、ＣＰＵ（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）又はＲＳ２３２Ｃ等の規格に応じた通信ケーブルを介して通信装置を接続するコネクタを有し、通信ケーブルを介して接続された別の通信装置と通信を行う。
有線通信部は、ＣＰＵ１１から与えられた情報を別の通信装置により車外装置へ送信するとともに、広域通信網２を通じて車外装置から受信した情報をＣＰＵ１１に与える。
【００３４】
〔ＥＣＵの内部構成〕
図３はＥＣＵ３０の内部構成を示すブロック図である。
図３に示すように、ＥＣＵ３０は、ＣＰＵ３１、ＲＡＭ３２、記憶部３３、通信部３４などを備える。ＥＣＵ３０は、車両１に搭載された複数の車載機器を個別に制御する制御装置である。ＥＣＵ３０の種類には、例えば、エンジン制御ＥＣＵ、ステアリング制御ＥＣＵ、及びドアロック制御ＥＣＵなどがある。
【００３５】
ＣＰＵ３１は、記憶部３３に予め記憶された一又は複数のプログラムをＲＡＭ３２に読み出して実行することにより、自身が担当する車載機器の動作を制御する。
ＲＡＭ３２は、ＳＲＡＭ又はＤＲＡＭ等のメモリ素子で構成され、ＣＰＵ３１が実行するプログラム及び実行に必要なデータ等が一時的に記憶される。
【００３６】
記憶部３３は、フラッシュメモリ若しくはＥＥＰＲＯＭ等の不揮発性のメモリ素子、或いは、ハードディスクなどの磁気記憶装置等により構成されている。
記憶部３３が記憶する情報には、例えば、制御対象である車載装置を制御するための処理をＣＰＵ３１に実行させるためのコンピュータプログラム（以下、「制御プログラム」という。）が含まれる。
【００３７】
通信部３４には、車両１に配設された車内通信線を介してゲートウェイ１０が接続されている。通信部３４は、例えばＣＡＮ、Ｅｔｈｅｒｎｅｔ、又はＭＯＳＴ等の規格に応じて、ゲートウェイ１０との通信を行う。
通信部３４は、ＣＰＵ３１から与えられた情報をゲートウェイ１０へ送信するとともに、ゲートウェイ１０から受信した情報をＣＰＵ３１に与える。通信部３４は、上記通信規格だけなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
【００３８】
〔管理サーバの内部構成〕
図４は、管理サーバ５の内部構成を示すブロック図である。
図４に示すように、管理サーバ５は、ＣＰＵ５１、ＲＯＭ５２、ＲＡＭ５３、記憶部５４、及び通信部５５などを備える。
【００３９】
ＣＰＵ５１は、ＲＯＭ５２に予め記憶された一又は複数のプログラムをＲＡＭ５３に読み出して実行することにより、各ハードウェアの動作を制御し、管理サーバ５をゲートウェイ１０と通信可能な車外装置として機能させる。
ＲＡＭ５３は、ＳＲＡＭ又はＤＲＡＭ等のメモリ素子で構成され、ＣＰＵ５１が実行するプログラム及び実行に必要なデータ等が一時的に記憶される。
【００４０】
記憶部５４は、フラッシュメモリ若しくはＥＥＰＲＯＭ等の不揮発性のメモリ素子、又は、ハードディスクなどの磁気記憶装置等により構成されている。
通信部５５は、所定の通信規格に則って通信処理を実行する通信装置よりなり、携帯電話網等の広域通信網２に接続されて当該通信処理を実行する。通信部５５は、ＣＰＵ５１から与えられた情報を、広域通信網２を介して外部装置に送信するとともに、広域通信網２を介して受信した情報をＣＰＵ５１に与える。
【００４１】
図４に示すように、記憶部５４が記憶する情報には、車両１に搭載されたＥＣＵ３０（ここでは、ＶＩＮ＝１の車両１に搭載されたＥＣＵ３０の識別番号を１〜３とする。）の制御プログラムのバーションを記録したリビジョンテーブルＲＴが含まれる。
リビジョンテーブルＲＴは、車両１の車両識別番号（ＶＩＮ）と、車両識別番号ごとのリビジョンアップの履歴を表す識別情報であるリビジョン番号と、各リビジョン番号に対応するＥＣＵ１〜３のバージョンとを纏めたテーブルよりなる。
【００４２】
図４のリビジョンテーブルＲＴにおいて、同じリビジョン番号に含まれる各ＥＣＵ１〜３の制御プログラムのバーションは、カーメーカーにおいて動作確認が取れていることを示している。
例えば、現状のリビジョン番号である「Ｒ２．０」の場合には、ＥＣＵ１のバーション１．０の制御プログラム、ＥＣＵ２のバージョン１．３の制御プログラム、及びＥＣＵ３のバーション２．０の制御プログラムの相互間の動作確認が取れている。
【００４３】
最新のリビジョン番号である「Ｒ２．４」の場合には、ＥＣＵ１のバーション１．２の制御プログラム、ＥＣＵ２のバージョン２．０の制御プログラム、及びＥＣＵ３のバーション２．２の制御プログラムの相互間の動作確認が取れている。
従って、車両１をＲ２．０からＲ２．４にリビジョンアップする場合には、ＥＣＵ１の１．０から１．２へのバーションアップ、ＥＣＵ２の１．３から２．０へのバーションアップ、及びＥＣＵ３の２．０から２．２へのバーションアップを同時に行う必要がある。
【００４４】
図４のリビジョンテーブルＲＴには、一例として車両識別番号ＶＩＮ＝１の場合のバージョン情報のみが例示されている。
もっとも、管理サーバ５が保持するリビジョンテーブルＲＴには、管理サーバ５の登録会員が所有するすべての車両１の車両識別番号（ＶＩＮ）ごとに、上記と同様のバーション情報が記録されている。また、ＤＬサーバ６には、すべてのＥＣＵ３０に関する複数の更新プログラムが格納されている。
【００４５】
ＣＰＵ５１は、ゲートウェイ１０から車両識別番号と各ＥＣＵ１〜３の現状の制御プログラムのバーションが通知されると、通知されたバーション情報をリビジョンテーブルＲＴに含まれる当該車両識別番号の最新バーションと照合する。
ＣＰＵ５１は、照合の結果、ゲートウェイ１０から通知されたＥＣＵ１〜３のバーション情報が最新でないと判定した場合には、最新バーションに更新するための更新プログラムの保存先ＵＲＬとダウンロード要求をゲートウェイ１０に送信する。
【００４６】
〔ゲートウェイにおける更新プログラムのメモリ領域〕
図５は、ゲートウェイ１０の記憶部１３に確保された更新プログラムのメモリ領域の説明図である。
図５において、ＥＣＵ１〜３は、更新後の制御プログラムの相互間の動作確認が取れているＥＣＵ３０（制御プログラムの同時更新が必要なＥＣＵ３０）を示し、ＥＣＵ４，５は、当該同時更新が不要なＥＣＵ３０（制御プログラムの更新を単独で実行するＥＣＵ３０）であるとする。また、各ＥＣＵ１〜５が制御プログラムの更新に用いる更新プログラムを、それぞれ「Δ１」〜「Δ５」とする。
【００４７】
ＤＬサーバ６から送信されるダウンロード予定の更新プログラムΔ１〜Δ５は、一般的には複数存在する。
各ＥＣＵ１〜５は、ユーザの指定した順序や更新の緊急度などに応じて、順番にリプログラムを実行する場合もあれば、いわゆる同時更新の場合のように、複数のＥＣＵ１〜３が同時並行によりリプログラムしなければならない場合もある。
【００４８】
ここで、複数のＥＣＵ１〜３について同時更新を行う場合には、各ＥＣＵ１〜３のための更新プログラムΔ１〜Δ３を一時的にすべてゲートウェイ１０の記憶部１３の所定のメモリ領域に保存しておく必要がある。
しかし、例えば図５（ａ）に示すように、単純に時刻順で更新プログラムΔ１〜Δ５をダウンロードする場合には、非同時更新のＥＣＵ４，５の更新プログラムΔ４，Δ５が既にメモリ領域に格納されているため、同時更新のＥＣＵ１〜３の更新プログラムΔ１〜Δ３を格納するにはメモリ空き領域が不足する場合が想定される。
【００４９】
この場合、ＥＣＵ１〜３の更新プログラムΔ１〜Δ３のうちの一部（図例では更新プログラムΔ１）がバッファ漏れとなり、これが原因でＥＣＵ１〜３についての同時更新のシーケンスを実行できない。
そこで、ゲートウェイ１０のＣＰＵ１１は、同時更新に必要な更新プログラムΔ１〜Δ３のデータ容量（ファイルサイズ）Ｃｍと現状のメモリ空き容量Ｃｐとを比較し、Ｃｐ＜Ｃｍである場合には同時更新が不要な更新プログラムΔ４，Δ５を削除し、メモリ空き領域を確保してから更新プログラムΔ１〜Δ３のダウンロードを開始する（図５（ｂ））。
【００５０】
これにより、同時更新に用いる更新プログラムΔ１〜Δ３がすべて記憶部１３の所定のメモリ領域に保存することができ、ＥＣＵ１〜３に対する同時更新のシーケンスを実行可能な状態となる。
なお、ゲートウェイ１０のＣＰＵ１１は、容量確保のために削除したＥＣＵ４，５の更新プログラムΔ４，Δ５を、ＥＣＵ１〜３の同時更新が終了した後に改めてダウンロードし、記憶部１３の所定のメモリ領域に格納する。
【００５１】
〔ゲートウェイによる優先ダウンロード処理〕
図６は、ゲートウェイ１０のＣＰＵ１１が実行する優先ダウンロード処理の一例を示すフローチャートである。
図６に示すように、ＣＰＵ１１は、同時更新を実行するか否かを判定しており（ステップＳＴ１）、実行する場合には、同時更新に用いる更新プログラムΔ１〜Δ３のデータ容量Ｃｍを算出する（ステップＳＴ２）。
【００５２】
次に、ＣＰＵ１１は、記憶部１３のメモリ領域の現状での空き容量Ｃｐを算出し（ステップＳＴ３）、Ｃｐ＜Ｃｍであるか否かを判定する（ステップＳＴ４）。
上記の判定結果が肯定的である場合は、ＣＰＵ１１は、非同時更新の更新プログラムΔ４，Δ５を削除した上で（ステップＳＴ５）、同時更新に用いる更新プログラムΔ１〜Δ３をダウンロードし、記憶部１３のメモリ領域に格納する（ステップＳＴ６）。
【００５３】
上記の判定結果が否定的である場合は、ＣＰＵ１１は、非同時更新の更新プログラムΔ４，Δ５の削除（ステップＳＴ５）を行わずに、同時更新に用いる更新プログラムΔ１〜Δ３をダウンロードし、記憶部１３のメモリ領域に格納する（ステップＳＴ６）。
【００５４】
〔更新プログラムが記憶されていない場合の優先ダウンロード手順〕
図５及び図６の例では、記憶部１３のメモリ領域に更新プログラムΔ４，Δ５が既存である場合を例示したが、メモリ領域に更新プログラムΔ４，Δ５が存在しない場合もあり得る。
ここでは、記憶部１３のメモリ領域に更新プログラムΔ１〜Δ５が存在しない状態において、これからダウンロードすべき５つのＥＣＵ１〜５の更新プログラムΔ１〜Δ５が存在し、そのうち３つのＥＣＵ１〜３が、同時更新が必要である場合を想定する。
【００５５】
また、同時更新に用いる更新プログラムΔ１〜Δ３のデータ容量をＣｍ、単独更新の更新プログラムΔ４，Δ５のデータ容量をＣｎ、全更新プログラムΔ１〜Δ５のデータ容量をＣｄ（＝Ｃｍ＋Ｃｎ）、記憶部１３の更新プログラムに関するメモリ容量（＝メモリ空き容量）をＣｐとし、Ｃｐ≧Ｃｍであるとする。
【００５６】
この場合、Ｃｐ＜Ｃｄ（＝Ｃｍ＋Ｃｎ）であるならば、ＥＣＵ１〜５の更新プログラムΔ１〜Δ５を成り行き（例えば、時刻順など）でダウンロードすると、最終的にメモリ容量不足となり、ＥＣＵ１〜３の更新プログラムΔ１〜Δ３を同時に記憶することができず、ＥＣＵ１〜３の同時更新ができない可能性がある。
【００５７】
そこで、ゲートウェイ１０のＣＰＵ１１は、Ｃｐ＜Ｃｄの条件を満たす場合には、同時更新が必要なＥＣＵ１〜３の更新プログラムΔ１〜Δ３を優先的にダウンロードして記憶部１３に記憶させ、記憶したΔ１〜Δ３を各ＥＣＵ１〜３に送信することにより、ＥＣＵ１〜３による同時更新を可能とする。
なお、更新プログラムΔ４，Δ５のダウンロードは、ＥＣＵ１〜３が同時更新を完了してから、更新プログラムΔ１〜３を記憶部１３から削除した後に行えばよい。
【００５８】
〔優先ダウンロード処理の変形例〕
図７は、ゲートウェイ１０のＣＰＵ１１が実行する優先ダウンロード処理の変形例を示すフローチャートである。
図７の変形例が図６の例と異なる点は、ステップＳＴ１１〜ＳＴ１６の処理が追加されている点にある。
【００５９】
図７に示すように、ゲートウェイ１０のＣＰＵ１１は、まず、高緊急度の更新プログラムが無いか否かを判定する（ステップＳＴ１１）。
上記の判定結果が無しの場合は、ＣＰＵ１１は、ステップＳＴ１〜ＳＴ６の処理（図６のフローと同じ）を実行し、上記の判定結果が有りの場合は、ＣＰＵ１１は、ステップＳＴ１２〜ＳＴ１６の処理を実行する。
【００６０】
ステップＳＴ１２〜ＳＴ１６の処理では、ＣＰＵ１１は、高緊急度の更新プログラムのファイル容量Ｃｅとメモリ領域の空き容量Ｃｐをそれぞれ算出し（ステップＳＴ１２，ＳＴ１３）、両者を比較する（ステップＳＴ１４）。
ＣＰＵ１１は、Ｃｐ＜Ｃｅならば、高緊急度ではない更新プログラム（例えば、優先度の低い非同時更新の更新プログラムΔ４，Δ５：第２プログラム）を削除してから（ステップＳＴ１５）、高緊急度の更新プログラムをダウンロードする（ステップＳＴ１６）。
【００６１】
この場合、第２プログラムを削除しても、Ｃｐ＜Ｃｅが成立する場合、ＣＰＵ１１は、優先度の高い同時更新の更新プログラムΔ１〜Δ３（第１プログラム）を削除することにより、高緊急度の更新プログラムを最優先でダウンロードする。
ＣＰＵ１１は、Ｃｐ＜Ｃｅでないならば、高緊急度ではない更新プログラムの削除（ステップＳＴ１５）を行わずに、高緊急度の更新プログラムをダウンロードする（ステップＳＴ１６）。
【００６２】
今回開示した実施形態はすべての点で例示であって制限的なものではない。本発明の権利範囲は、上述の実施形態に限定されるものではなく、特許請求の範囲に記載された構成と均等の範囲内でのすべての変更が含まれる。
【符号の説明】
【００６３】
１  車両
２  広域通信網
５  管理サーバ
６  ＤＬサーバ
１０  ゲートウェイ（中継装置）
１１  ＣＰＵ（処理部）
１２  ＲＡＭ
１３  記憶部
１４  車内通信部
１５  無線通信部
３０  ＥＣＵ（制御装置）
３１  ＣＰＵ
３２  ＲＡＭ
３３  記憶部
３４  通信部
５１  ＣＰＵ（処理部）
５２  ＲＯＭ
５３  ＲＡＭ
５４  記憶部
５５  通信部
【図１】
0006361671.tif 000002
【図２】
0006361671.tif 000003
【図３】
0006361671.tif 000004
【図４】
0006361671.tif 000005
【図５】
0006361671.tif 000006
【図６】
0006361671.tif 000007
【図７】
0006361671.tif 000008