(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）またはＲＳ２３２Ｃ等の規格に応じた通信ケーブルが接続されるコネクタを有し、通信ケーブルを介して接続された別の通信装置と有線通信を行う。
別の通信装置と管理サーバ５等の車外装置とが広域通信網２を通じた無線通信が可能である場合には、車外装置→別の通信装置→有線通信部→ゲートウェイ１０の通信経路により、車外装置とゲートウェイ１０とが通信可能になる。
【００３４】
〔ＥＣＵの内部構成〕
図３は、ＥＣＵ３０の内部構成を示すブロック図である。
図３に示すように、ＥＣＵ３０は、ＣＰＵ３１、ＲＡＭ３２、記憶部３３、および通信部３４などを備える。ＥＣＵ３０は、車両１に搭載された対象機器を個別に制御する車載制御装置である。ＥＣＵ３０の種類には、たとえば、電源制御ＥＣＵ、エンジン制御ＥＣＵ、ステアリング制御ＥＣＵ、およびドアロック制御ＥＣＵなどがある。
【００３５】
ＣＰＵ３１は、記憶部３３に予め記憶された一または複数のプログラムをＲＡＭ３２に読み出して実行することにより、自身が担当する対象機器の動作を制御する。ＣＰＵ３１もまた複数のＣＰＵ群を代表するものであってもよく、ＣＰＵ３１による制御は、複数のＣＰＵ群が協働することによる制御であってもよい。
ＲＡＭ３２は、ＳＲＡＭまたはＤＲＡＭ等のメモリ素子で構成され、ＣＰＵ３１が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
【００３６】
記憶部３３は、フラッシュメモリ若しくはＥＥＰＲＯＭ等の不揮発性のメモリ素子、或いは、ハードディスクなどの磁気記憶装置等により構成されている。
記憶部３３は、ＣＰＵ３１が読み出して実行するプログラムを格納する。記憶部３３が記憶する情報には、たとえば、車内の制御対象である対象機器を制御するための情報処理をＣＰＵ３１に実行させるためのコンピュータプログラム（以下、「制御プログラム」という。）が含まれる。
【００３７】
通信部３４には、車両１に配設された車内通信線を介してゲートウェイ１０が接続されている。通信部３４は、たとえばＣＡＮ、Ｅｔｈｅｒｎｅｔ、またはＭＯＳＴ等の規格に応じて、ゲートウェイ１０との通信を行う。
通信部３４は、ＣＰＵ３１から与えられた情報をゲートウェイ１０へ送信するとともに、ゲートウェイ１０から受信した情報をＣＰＵ３１に与える。通信部３４は、上記の通信規格だけなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
【００３８】
ＥＣＵ３０のＣＰＵ３１には、当該ＣＰＵ３１による制御モードを、「通常モード」または「リプログラミングモード」（以下、「リプロモード」ともいう。）のいずれかに切り替える起動部３５が含まれる。
ここで、通常モードとは、ＥＣＵ３０のＣＰＵ３１が、対象機器に対する本来的な制御（たとえば、燃料エンジンに対するエンジン制御、ドアロックモータに対するドアロック制御、など）を実行する制御モードのことである。
【００３９】
リプログラミングモードとは、対象機器の制御に用いる制御プログラムを更新する制御モードである。
すなわち、リプログラミングモードは、ＣＰＵ３１が、記憶部３３のＲＯＭ領域に対して、制御プログラムの消去および書き換えを行う制御モードのことである。ＣＰＵ３１は、この制御モードのときにのみ、記憶部３３のＲＯＭ領域に格納された制御プログラムを新バージョンに更新することが可能となる。
【００４０】
リプロモードにおいてＣＰＵ３１が新バージョンの制御プログラムを記憶部３３に書き込むと、起動部３５は、ＥＣＵ３０をいったん再起動（リセット）させ、新バージョンの制御プログラムが書き込まれた記憶領域についてベリファイ処理を実行する。
起動部３５は、上記のベリファイ処理の完了後に、ＣＰＵ３１を更新後の制御プログラムによって動作させる。
【００４１】
〔ＤＬサーバの内部構成〕
図４は、ＤＬサーバ６の内部構成を示すブロック図である。
図４に示すように、ＤＬサーバ６は、ＣＰＵ６１、ＲＯＭ６２、ＲＡＭ６３、記憶部６４、および通信部６５などを備える。
【００４２】
ＣＰＵ６１は、ＲＯＭ６２に予め記憶された一または複数のプログラムをＲＡＭ６３に読み出して実行することにより、各ハードウェアの動作を制御し、ＤＬサーバ６をゲートウェイ１０と通信可能な車外装置として機能させる。ＣＰＵ６１もまた複数のＣＰＵ群を代表するものであってもよく、ＣＰＵ６１の実現する機能は、複数のＣＰＵ群が協働して実現するものであってもよい。
ＲＡＭ６３は、ＳＲＡＭまたはＤＲＡＭ等のメモリ素子で構成され、ＣＰＵ６１が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
【００４３】
記憶部６４は、フラッシュメモリ若しくはＥＥＰＲＯＭ等の不揮発性のメモリ素子、または、ハードディスクなどの磁気記憶装置等により構成されている。記憶部６４は、ダウンロードする更新用プログラムを格納する。
通信部６５は、所定の通信規格に則って通信処理を実行する通信装置よりなり、携帯電話網等の広域通信網２に接続されて当該通信処理を実行する。通信部６５は、ＣＰＵ６１から与えられた情報を、広域通信網２を介して外部装置に送信するとともに、広域通信網２を介して受信した情報をＣＰＵ６１に与える。
【００４４】
〔制御プログラムの更新シーケンス〕
図５は、本実施形態のプログラム更新システムにおいて実行される、制御プログラムの更新の一例を示すシーケンス図である。ＤＬサーバ６に１または複数の更新用プログラムが格納され、一例として、管理サーバ５が、予め登録された車両１について、当該車両１のＥＣＵの制御プログラムを更新するタイミングを決定する。更新のタイミングは、たとえば、車両１のカーメーカーなどによって設定されてもよい。
【００４５】
ＥＣＵの制御プログラムを更新するタイミングに達すると、管理サーバ５は、該当する車両１のゲートウェイ１０宛てに、ＥＣＵ３０の更新用プログラムの保存先ＵＲＬとダウンロード要求とを送信する（ステップＳ１）。管理サーバ５から更新要求を受信したゲートウェイ１０は、更新用プログラムのダウンロードをＤＬサーバ６に要求する（ステップＳ２）。
【００４６】
ゲートウェイ１０からダウンロードが要求されたＤＬサーバ６は、ダウンロード対象の更新用プログラムが記憶部６４に複数格納されている場合、当該複数の更新用プログラムに対してダウンロードする順（ＤＬ順）を決定する（ステップＳ３）。ステップＳ３でＤＬサーバ６は、当該複数の更新用プログラムそれぞれに対して安全性に関する指標（以下、安全指標）に基づいて定められる優先度を決定し、各更新用プログラムの優先度に基づいたＤＬ順で当該複数の更新用プログラムをダウンロードする。ステップＳ３のＤＬ順決定処理については後述する。
【００４７】
ＤＬサーバ６は、複数の更新用プログラムΔ１〜Δ３を決定したＤＬ順に従ってゲートウェイ１０に転送するとともに、制御プログラムの更新を要求する（ステップＳ４−１〜Ｓ４−３）。
【００４８】
ゲートウェイ１０は、更新用プログラムΔ１〜Δ３をダウンロードすると、ダウンロード順に、対象のＥＣＵ３０に更新用プログラムΔを転送して制御プログラムの更新を要求する。ゲートウェイ１０は、ユーザから制御プログラムの更新の許可を受けてから対象のＥＣＵ３０に制御プログラムの更新を要求してもよい。
【００４９】
詳しくは、ＤＬサーバ６から更新用プログラムΔ１をダウンロードすると（ステップＳ４−１）、ゲートウェイ１０は、対象のＥＣＵ３０に更新用プログラムΔ１を転送して制御プログラムの更新を要求する（ステップＳ７）。更新用プログラムΔ１をダウンロードした対象のＥＣＵ３０はゲートウェイ１０からの要求に従って更新用プログラムΔ１を展開し、制御プログラムを更新する（ステップＳ８）。更新が完了すると、対象のＥＣＵ３０はゲートウェイ１０を介してＤＬサーバ６に更新完了を通知する（ステップＳ９，１０）。
【００５０】
次に、ゲートウェイ１０は、ＤＬサーバ６から更新用プログラムΔ２をダウンロードすると（ステップＳ４−２）、対象のＥＣＵ３０に更新用プログラムΔ２を転送して制御プログラムの更新を要求する（ステップＳ１１）。更新用プログラムΔ２をダウンロードした対象のＥＣＵ３０はゲートウェイ１０からの要求に従って更新用プログラムΔ２を展開し、制御プログラムを更新する（ステップＳ１２）。更新が完了すると、対象のＥＣＵ３０はゲートウェイ１０に更新完了を通知する（ステップＳ１３，１４）。
【００５１】
次に、ゲートウェイ１０は、ＤＬサーバ６から更新用プログラムΔ３をダウンロードすると（ステップＳ４−３）、対象のＥＣＵ３０に更新用プログラムΔ３を転送して制御プログラムの更新を要求する（ステップＳ１５）。更新用プログラムΔ３をダウンロードした対象のＥＣＵ３０はゲートウェイ１０からの要求に従って更新用プログラムΔ３を展開し、制御プログラムを更新する（ステップＳ１６）。更新が完了すると、対象のＥＣＵ３０はゲートウェイ１０に更新完了を通知する（ステップＳ１７，１８）。
【００５２】
〔ＤＬサーバの機能構成〕
ＤＬサーバ６のＣＰＵ６１は、ＤＬ順を決定し（ステップＳ３）、ダウンロードを制御するための機能として、図４において決定部６１１および制御部６１２と表された機能を含む。これら機能は、ＣＰＵ６１がＲＯＭ６２に記憶されている１つまたは複数のプログラムを読み出して実行することによって、ＣＰＵ６１において実現される機能である。しかしながら、少なくとも一部機能が、電子回路などのハードウェアによって実現されてもよい。
【００５３】
決定部６１１で表されたＣＰＵ６１の機能（以下、決定部６１１）は、ダウンロード対象の更新用プログラムが複数ある場合に、それら複数の更新用プログラムのダウンロードの優先度を決定する。
【００５４】
更新用プログラムには、それぞれ、安全指標が関連付けられている。該指標は、更新用プログラムに付加、または当該更新用プログラムと関連付けてＤＬサーバ６に渡される。
【００５５】
車両の安全性とは、たとえば、車両ユーザの身体および生命の安全性、車外の人および物体の安全性のための走行機能、操舵機能などの機能安全、ならびに、財産としての車両本体およびネットワークに接続される通信機としてのセキュリティ確保、などが挙げられる。
【００５６】
機能安全の規格としては、たとえば、ＩＳＯ（International  Organization  for  Standardization（国際標準化機構））の規定するＩＳＯ  ２６２６２機能安全規格が知られている。ＩＳＯ  ２６２６２規格は、機能安全の指標としてＡＳＩＬ（Automotive  Safety  Integrity  Level：安全性要求レベル）を規定し、各安全要求にＱＭ（Quality Management），Ａ，Ｂ，Ｃ，Ｄのレベルを割り当てる。Ｄが割り当てられた機能は最も高いレベルの安全方策が求められ、Ａが割り当てられた機能は最も低い。ＱＭが割り当てられた機能は、安全性と関連がないことを指す。本実施の形態では、各更新用プログラムに対して対象の制御プログラムを用いる機能の機能安全についての指標としてＡＳＩＬが用いられるものとする。
【００５７】
各更新用プログラムに対しては、少なくとも１つの安全指標が関連付けられる。好ましくは２つの安全指標が関連付けられる。本実施の形態では、ＡＳＩＬとセキュリティレベルとが関連付けられるものとする。
【００５８】
決定部６１１は、複数の更新用プログラムそれぞれについて、関連付けられている安全指標を特定する。そして、関連付けられている安全指標に基づいて、更新用プログラムごとの優先度を示す値（以下、優先度値）を特定する。
【００５９】
決定部６１１は、１つ以上の安全指標と優先度値との対応関係を予め記憶している。該対応関係の一例として、決定部６１１は、図６に示される安全指標の組み合わせに対する優先度値の関係グラフを記憶している。決定部６１１は、更新用プログラムごとに関連付けられている安全指標を図６の関係グラフに当てはめることによって、当該更新用プログラムの優先度値を特定する。すなわち、決定部６１１は、２つ以上の安全指標の組み合わせに基づいて当該更新用プログラムの優先度値を特定する。
【００６０】
図６の関係グラフは、縦軸がＡＳＩＬ、横軸がセキュリティレベルを表し、大きくなるほど高いレベルを表している。また、図６の関係グラフは、ＡＳＩＬとセキュリティレベルとの少なくとも一方のレベルが高い場合には優先度値が高く、両レベルが低い場合には優先度値が低い関係であって、ＡＳＩＬとセキュリティレベルとのうちのＡＳＩＬをやや重視して優先度値を特定する関係グラフの例である。なお、図６に示された関係は関係グラフの一例である。また、決定部６１１が優先度値を特定するために用いる対応関係は図６の関係グラフに限定されず、安全指標を変数として優先度値を計算するための関数、関係式、および、安全指標と優先度値との対応を表した表であってもよい。さらに、ＤＬサーバ６に記憶されている当該対応関係自体も、カーメーカーなどの更新用プログラムの提供者からの更新用プログラムを用いた更新対象であってもよい。言い換えると、決定部６１１において優先度を決定するためのアルゴリズムおよび該アルゴリズムで用いるパラメータは変更可能であってもよい。そして、ＤＬサーバ６は、当該変更のためのプログラムまたはパラメータを、カーメーカーなどの更新用プログラムの提供者または他の装置から受け取り、該アルゴリズムまたは該パラメータを変更する。これにより、安全性の評価の変化および性能の向上などに伴って柔軟に優先度を変更することができる。
【００６１】
なお、安全指標に替えて、安全指標に基づいて特定される優先度値が更新用プログラムごとに関連付けられていてもよい。言い換えると、１つ以上の安全指標に替えて優先度値が更新用プログラムごとに関連付けられていてもよい。この場合、優先度値は、更新用プログラムに付加してＤＬサーバ６に格納されていてもよいし、または当該更新用プログラムと関連付けてＤＬサーバ６に格納されていてもよい。
【００６２】
決定部６１１は、複数の更新用プログラムそれぞれについて特定された優先度値に基づいて、複数の更新用プログラムの優先度、つまりＤＬ順を決定する。一例として、優先度値が小さいほど優先度が高く、ＤＬ順が早くなるものとする。したがって、決定部６１１は、複数の更新用プログラムにおいて、同一の優先度値の更新用プログラムが存在しない場合、決定部６１１は、各更新用プログラムの優先度値をそのまま優先度とする。同一の優先度値の更新用プログラムが存在する場合、決定部６１１は、それら更新用プログラムに対して、予め規定している基準を適用して、さらにこれら更新用プログラムの間での優先度を決定してもよい。基準は、たとえば、作成日時の順、カーメーカーなどの更新用プログラムの提供者から渡された順、および、データサイズ順、などである。または、決定部６１１は、これら更新用プログラムを同列の優先度のままとして、同じＤＬ順としてもよい。
【００６３】
図７は、ＤＬサーバ６の決定部６１１でのダウンロードの優先度の決定方法を説明するための図である。図７の例では、更新用プログラムΔ１〜Δ４が優先度を決定する対象の複数の更新用プログラムである。更新用プログラムΔ１は、たとえば、ステアリング制御機能を更新するための更新用プログラムである。更新用プログラムΔ２は、たとえば、ナビゲーション機能を更新するための更新用プログラムである。更新用プログラムΔ３は、たとえば、セキュリティ機能を更新するための更新用プログラムである。更新用プログラムΔ４は、たとえば、地図を更新するための更新用プログラムである。
【００６４】
図７を参照して、更新用プログラムΔ１に対してＡＳＩＬ「Ｃ」、セキュリティレベル「Ａ」が設定されている。更新用プログラムΔ２に対してＡＳＩＬ「ＱＭ」、セキュリティレベル「ＱＭ」が設定されている。更新用プログラムΔ３に対してＡＳＩＬ「ＱＭ」、セキュリティレベル「Ｃ」が設定されている。更新用プログラムΔ４に対してＡＳＩＬ「ＱＭ」、セキュリティレベル「ＱＭ」が設定されている。
【００６５】
決定部６１１は、図６の関係グラフを参照して、ＡＳＩＬ「Ｃ」、セキュリティレベル「Ａ」である更新用プログラムΔ１の優先度値を「１」と特定する。ＡＳＩＬ「ＱＭ」、セキュリティレベル「ＱＭ」である更新用プログラムΔ２の優先度値を「４」と特定する。ＡＳＩＬ「ＱＭ」、セキュリティレベル「Ｃ」である更新用プログラムΔ３の優先度値を「２」と特定する。ＡＳＩＬ「ＱＭ」、セキュリティレベル「ＱＭ」である更新用プログラムΔ４の優先度値を「４」と特定する。
【００６６】
決定部６１１は、一例として、優先度値の小さい更新用プログラムほど優先度が高い、つまり、ＤＬ順が早くなるように、各更新用プログラムの優先度を決定する。具体的には、優先度値「１」の更新用プログラムΔ１と優先度値「２」の更新用プログラムΔ３とについて、決定部６１１は、他の更新用プログラムの優先度値と重複していないために、当該優先度値に基づいて、更新用プログラムΔ１の優先度を最も上位を示す「１」、更新用プログラムΔ３の優先順を次に上位を示す「２」と決定する。同じ優先度値「４」と特定された更新用プログラムΔ２と更新用プログラムΔ４とについて、決定部６１１は、一例として作成日時の早い順に優先度を決定する。すなわち、更新用プログラムΔ４の方が更新用プログラムΔ２よりも作成日時が早い場合、決定部６１１は、更新用プログラムΔ４の優先度を上位側である「３」、更新用プログラムΔ２の優先順度を下位側である「４」と決定する。
【００６７】
制御部６１２で表されたＣＰＵ６１の機能（以下、制御部６１２）は、決定部６１１によって決定された優先度に従ったＤＬ順として、優先度の高いものから順に更新用プログラムをダウンロードするように制御する。
【００６８】
［スケジュール決定処理］
図８は、図５のシーケンスを実現する際のＤＬサーバ６の処理の具体的な内容を表したフローチャートである。図８のフローチャートに表された処理は、ＤＬサーバ６のＣＰＵ６１がＲＯＭ６３に記憶された１つまたは複数のプログラムをＲＡＭ６２上に読み出して実行することによって、主にＣＰＵ６１により実現される。図８の処理は、ゲートウェイ１０から更新用プログラムのダウンロードが要求されると（ステップＳ２）、開始される。
【００６９】
図８を参照して、ＤＬサーバ６のＣＰＵ６１は、ダウンロードする更新用プログラムが記憶部６４に複数、格納されている場合に（ステップＳ１０１でＹＥＳ）、それら複数の更新用プログラムそれぞれに対して設定されている１つ以上の安全指標に基づいてＤＬ順を決定する（ステップＳ１０３）。
【００７０】
ＣＰＵ６１は、決定したＤＬ順が最上位、つまり優先度が最も高い更新用プログラムをゲートウェイ１０にダウンロードし、更新を要求する（ステップＳ１０５）。対象のＥＣＵ３０から制御プログラムの更新の完了が通知されると（ステップＳ１０７）、次のＤＬ順の更新用プログラムがあるか否かを確認する。そして、次のＤＬ順の更新用プログラムがある場合（ステップＳ１１１でＹＥＳ）、ＣＰＵ６１は、ステップＳ１０５からの処理を繰り返す。これにより、複数の更新用プログラムがステップＳ１０３で決定したＤＬ順に従って順にゲートウェイ１０にダウンロードされ、対象のＥＣＵ３０で制御プログラムが更新される。
【００７１】
ＤＬ順の最も低い更新用プログラムまでダウンロードおよび制御プログラムの更新が完了すると（ステップＳ１１１でＮＯ）、ＣＰＵ６１は一連の処理を終了する。
【００７２】
〔第１の実施の形態の効果〕
第１の実施の形態にかかるプログラム更新システムでは、ダウンロードする更新用プログラムが複数ある場合に、各更新用プログラムに対して設定された１つ以上の安全指標に基づいてダウンロード順が決定されてダウンロードされ、制御プログラムが更新される。そのため、緊急度の高い制御プログラムのほど優先的に更新される。すなわち、優先度の低い更新用プログラムによって優先度の高い制御プログラムの更新が妨げられることがなく、優先度の高い制御プログラムの更新を迅速に行うことができる。そのため、車両の安全性を迅速に向上させることができる。
【００７３】
＜変形例＞
なお、上の例では、ＤＬサーバ６は、決定されたＤＬ順に従って更新用プログラムのダウンロードとともに制御プログラムの更新を要求するものとしているが、更新用プログラムのダウンロードのみ行ってもよい。これは、以降の実施の形態でも同様である。これにより、優先度の高い更新用プログラムほど優先的にダウンロードされる。すなわち、優先度の低い更新用プログラムによって優先度の高い更新用プログラムのダウンロードが妨げられることがなく、優先度の高い更新用プログラムのダウンロードを迅速に行うことができる。更新用プログラムのダウンロードが早いほど、対象のＥＣＵでの制御プログラムの更新も早く行われる可能性を高くする。つまり、優先度の高い制御プログラムほど迅速に更新される可能性が高い。そのため、車両の安全性を迅速に向上させることができる。
【００７４】
＜第２の実施の形態＞
第２の実施の形態にかかるプログラム更新システムでは、ＤＬサーバ６は、決定したＤＬ順に従って複数の更新用プログラムをゲートウェイ１０にダウンロード中にカーメーカーなどの更新用プログラムの提供者から更新用プログラムが追加された場合、複数の更新用プログラムに追加された更新用プログラムも含めてダウンロード順を決定する。
【００７５】
図９は、第２の実施の形態にかかるＤＬサーバ６の処理の具体的な内容を表したフローチャートである。図９のフローチャートに表された処理もまた、ＤＬサーバ６のＣＰＵ６１がＲＯＭ６３に記憶された１つまたは複数のプログラムをＲＡＭ６２上に読み出して実行することによって、主にＣＰＵ６１により実現される。図９の処理は、ＤＬサーバ６において更新用プログラムをダウンロード中に、当該ダウンロードのための処理と並行して実行される。
【００７６】
図９を参照して、更新用プログラムをダウンロード中にダウンロード対象の更新用プログラムが追加されると（ステップＳ２０１でＹＥＳ）、ＣＰＵ６１は、当該更新用プログラムに対して設定された１つ以上の安全指標に基づいて優先度を特定する（ステップＳ２０５）。そして、ＣＰＵ６１は、追加された更新用プログラムの優先度とダウンロード中の更新用プログラムの優先度とを比較する。
【００７７】
追加された更新用プログラムの優先度がダウンロード中の更新用プログラムの優先度よりも高い場合（ステップＳ２０５でＹＥＳ）、ＣＰＵ６１は、ダウンロード中の更新用プログラムのダウンロードを中断する（ステップＳ２０７）。そして、ＣＰＵ６１は、追加された更新用プログラムをダウンロードする（ステップＳ２０９）。ＣＰＵ６１は、追加された更新用プログラムのダウンロードが完了し、対象の制御プログラムの更新が完了したことが通知されると（ステップＳ２１１でＹＥＳ）、上記ステップＳ２０７で中断したダウンロードを再開する（ステップＳ２１５）。ＣＰＵ６１は、以上の処理を、更新用プログラムのダウンロードが完了するまで繰り返す（ステップＳ２１７でＮＯ）。
【００７８】
〔第２の実施の形態の効果〕
第２の実施の形態にかかるプログラム更新システムでは、ある更新用プログラムのダウンロード中により優先度の高い更新用プログラムが渡された場合に、ダウンロードが中断され、より優先度の高い更新用プログラムが先にダウンロードされる。これにより、柔軟に緊急度の高い制御プログラムの更新用プログラムほど優先的にダウンロードされ、当該制御プログラムの更新が優先的に行われるようになる。そのため、車両の安全性を迅速に向上させることができる。
【００７９】
〔変形例〕
なお、上の例は一例である。他の例として、ダウンロード中の更新用プログラムのダウンロードを完了した後に、追加された更新用プログラムをダウンロードするようにしてもよい。このようにすることで、ダウンロード中の更新用プログラムのダウンロードを途切れることなく完了させることができる。
【００８０】
＜第３の実施の形態＞
第１〜第２の実施の形態にかかるプログラム更新システムでは、複数の更新用プログラムのＤＬ順を各更新用プログラムに関連付けられた１つ以上の安全指標に基づいて決定し、ダウンロードを制御する処理をＤＬサーバ６で行うものとしている。しかしながら、当該処理はＤＬサーバ６とは異なる装置で行われてもよい。他の例として、ゲートウェイ１０によって行われてもよい。
【００８１】
一例として、第３の実施の形態にかかるプログラム更新システムでは、ＤＬサーバ６から複数の更新用プログラムがゲートウェイ１０にダウンロードされると、ゲートウェイ１０は、各更新用プログラムに関連付けられた１つ以上の安全指標に基づいて当該複数の更新用プログラムのＤＬ順を決定する。そして、ゲートウェイ１０は、決定したＤＬ順に従って対象のＥＣＵ３０に更新用プログラムを転送し、制御プログラムの更新を要求する。
【００８２】
この場合、図２に表わされたように、ゲートウェイ１０のＣＰＵ１１がＤＬ順を決定してダウンロードを制御するための機能として、上記の決定部６１１に相当する決定部１１１、および制御部６１２に相当する制御部１１２を有する。これらの機能は、ＣＰＵ１１がＲＯＭ１２に記憶されている１つまたは複数のプログラムを読み出して実行することによって、主にＣＰＵ１１によって実現される。しかしながら、少なくとも一部機能が電気回路などのハードウェアによって実現されてもよい。
【００８３】
第３の実施の形態にかかるゲートウェイ１０の決定部１１１は、図６の関係グラフのような、１つ以上の安全指標と優先度値との対応関係を用いて各更新用プログラムの優先度を決定する。この対応関係はＤＬサーバ６に格納されていて、ゲートウェイ１０に更新用プログラムとともにダウンロードされてもよいし、決定部１１１が優先度を決定する際にＤＬサーバ６に格納されている対応関係を読み出して用いてもよい。または、対応関係はゲートウェイ１０に記憶されていてもよい。この場合、ゲートウェイ１０に記憶されている対応関係自体も更新の対象であってもよい。言い換えると、決定部１１１において優先度を決定するためのアルゴリズムまたは該アルゴリズムで用いるパラメータは変更可能であってもよい。そして、ゲートウェイ１０は、当該変更のためのプログラムまたはパラメータを、ＤＬサーバ６またはカーメーカーなどの更新用プログラムの提供者などから受け取り、該アルゴリズムまたは該パラメータを変更する。
【００８４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８５】
１  車両
２  広域通信網
５  管理サーバ
６  ＤＬサーバ
１０  ゲートウェイ
１１，３１，６１  ＣＰＵ
１２，３２，６３  ＲＡＭ
１３，３３，６４  記憶部
１４  車内通信部
１５  無線通信部
３０  ＥＣＵ
３４，６５  通信部
３５  起動部
６２  ＲＯＭ
１１１，６１１  決定部
１１２，６１２  制御部
【図１】
0006525105.tif 000002
【図２】
0006525105.tif 000003
【図３】
0006525105.tif 000004
【図４】
0006525105.tif 000005
【図５】
0006525105.tif 000006
【図６】
0006525105.tif 000007
【図７】
0006525105.tif 000008
【図８】
0006525105.tif 000009
【図９】
0006525105.tif 000010