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