(57)【要約】【課題】異常なＥＣＵを検出した場合、当該ＥＣＵの機能を代替する代替装置等を提供する。【解決手段】代替装置は、複数の車載制御装置が実装される車両に搭載される代替装置であって、制御部と、代替部とを備え、前記制御部は、前記複数の車載制御装置から送信される送信データに基づき代替部を制御するものであり、前記送信データに基づき異常な車載制御装置を特定し、特定した前記異常な車載制御装置を無効化し、特定した前記異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを、前記代替部に適用し、前記代替部は、適用された前記プログラムを実行することにより、前記無効化された車載制御装置を代替する。【選択図】図２
2020149130.tif 000002
【特許請求の範囲】
【請求項１】
複数の車載制御装置が実装される車両に搭載される代替装置であって、制御部と、代替部とを備え、
前記制御部は、前記複数の車載制御装置から送信される送信データに基づき代替部を制御するものであり、
前記送信データに基づき異常な車載制御装置を特定し、
特定した前記異常な車載制御装置を無効化し、
特定した前記異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを、前記代替部に適用し、
前記代替部は、適用された前記プログラムを実行することにより、前記無効化された車載制御装置を代替する
代替装置。
【請求項２】
前記複数の車載制御装置は、ＣＡＮ又はＥｔｈｅｒｎｅｔの通信プロトコルにより前記制御部と通信可能に接続されており、
前記代替部は、前記ＣＡＮ及び前記Ｅｔｈｅｒｎｅｔの通信プロトコルにより前記制御部と通信可能に接続されている
請求項１に記載の代替装置。
【請求項３】
前記制御部は、
前記プログラムを前記代替部に適用する前は、前記複数の車載制御装置から送信される前記送信データを中継するための中継経路に、前記代替部を含めず、
前記プログラムを前記代替部に適用した後は、前記中継経路に、前記代替部を含める
請求項１又は請求項２に記載の代替装置。
【請求項４】
前記代替部は、他の車載制御装置と通信するための通信経路を介して取得したデータに基づき、出力するデータを生成し、前記生成したデータを、前記通信経路を介して出力する処理を行う車載制御装置を代替する
請求項１から請求項３のいずれか１項に記載の代替装置。
【請求項５】
前記車両には、車外の外部サーバと通信するための車外通信装置が実装されており、
前記制御部は、
前記車外通信装置を介して前記外部サーバから、前記プログラムを取得し、
取得した前記プログラムを前記代替部に適用する
請求項１から請求項４のいずれか１項に記載の代替装置。
【請求項６】
前記制御部は、
前記無効化された車載制御装置に対し復帰処理を行い、
前記復帰処理により、前記無効化された車載制御装置が正常となった場合、前記代替部による代替を停止させる
請求項１から請求項５のいずれか１項に記載の代替装置。
【請求項７】
前記代替部は、仮想化オペレーティングシステムによって仮想環境を生成しており、
前記プログラムは、前記仮想環境上で実行される
請求項１から請求項５のいずれか１項に記載の代替装置。
【請求項８】
前記仮想環境は、前記無効化された車載制御装置の個数に応じて生成され、
前記プログラムの個数は、前記無効化された車載制御装置の個数と同数であり、
前記プログラム夫々は、前記個数に応じて生成された夫々の仮想環境上で実行される
請求項７に記載の代替装置。
【請求項９】
コンピュータに、
車両に搭載される複数の車載制御装置から送信される送信データに基づき異常な車載制御装置を特定し、
特定した前記異常な車載制御装置を無効化し、
特定した前記異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを実行することにより、前記無効化された車載制御装置を代替する
ための処理を実行させる代替制御プログラム。
【請求項１０】
車両に搭載される複数の車載制御装置から送信される送信データに基づき異常な車載制御装置を特定し、
特定した前記異常な車載制御装置を無効化し、
特定した前記異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを実行することにより、前記無効化された車載制御装置を代替する
代替方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、代替装置、代替制御プログラム及び代替方法に関する。
【背景技術】
【０００２】
車両には、エンジン制御等のパワー・トレーン系、エアコン制御等のボディ系等の車載機器を制御するためのＥＣＵ（Electronic Control Unit）が搭載されている。ＥＣＵは、ＭＰＵ等の演算処理部、ＲＡＭ等の書き換え可能な不揮発性の記憶部、及び他のＥＣＵと通信するための通信部を含み、記憶部に記憶した制御プログラムを読み込んで実行することにより、車載機器の制御を行う。当該車両に搭載されるＥＣＵのいずれかのＥＣＵは、他のＥＣＵから送信されたメッセージが有効なメッセージであるか否かを判断することによりなりすましメッセージを検出し、なりすましメッセージが検出された場合は、なりすましメッセージをデータフレームの受信中にエラーフレームによって上書きする（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１８２７６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のＥＣＵは、なりすましメッセージを送信する異常又は不正なＥＣＵからの不正なメッセージをエラーフレームによって上書きすることができるが、当該異常となったＥＣＵが、本来正常時に実施する機能を代替する点に関する考慮がされていない。
【０００５】
本発明の目的は、異常なＥＣＵを検出した場合、当該ＥＣＵの機能を代替する代替装置等を提供する。
【課題を解決するための手段】
【０００６】
本開示の一態様に係る代替装置は、複数の車載制御装置が実装される車両に搭載される代替装置であって、制御部と、代替部とを備え、
前記制御部は、前記複数の車載制御装置から送信される送信データに基づき代替部を制御するものであり、
前記送信データに基づき異常な車載制御装置を特定し、
特定した前記異常な車載制御装置を無効化し、
特定した前記異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを、前記代替部に適用し、
前記代替部は、適用された前記プログラムを実行することにより、前記無効化された車載制御装置を代替する。
【発明の効果】
【０００７】
本開示の一態様によれば、異常なＥＣＵを検出した場合、当該ＥＣＵの機能を代替する代替装置等を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態１に係る代替装置を含む車載制御装置代替システムの構成を例示する模式図である。
【図２】図２は、代替装置の物理構成を例示するブロック図である。
【図３】図３は、代替装置による代替の一態様を例示する説明図（シーケンス図）である。
【図４】図４は、代替装置の制御部の処理を例示するフローチャートである。
【図５】図５は、実施形態２（仮想環境）に係る代替装置の論理構成を例示するブロック図である。
【発明を実施するための形態】
【０００９】
［本開示の実施形態の説明］
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【００１０】
（１）本開示の一態様に係る代替装置は、複数の車載制御装置が実装される車両に搭載される代替装置であって、制御部と、代替部とを備え、
前記制御部は、前記複数の車載制御装置から送信される送信データに基づき代替部を制御するものであり、
前記送信データに基づき異常な車載制御装置を特定し、
特定した前記異常な車載制御装置を無効化し、
特定した前記異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを、前記代替部に適用し、
前記代替部は、適用された前記プログラムを実行することにより、前記無効化された車載制御装置を代替する。
【００１１】
本態様にあたっては、制御部は、特定した異常な車載制御装置を無効化し、当該異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを、代替部に適用する。当該プログラムが適用された代替部は、当該プログラムを実行することにより、無効化された車載制御装置を代替する。従って、異常となった車載制御装置を無効化して他の車載装置又は車両に対して影響が及ぶことを防止すると共に、異常となった車載制御装置が本来正常時に実施する機能を、代替部に代替させて実施させることができる。
【００１２】
（２）本開示の一態様に係る代替装置は、前記複数の車載制御装置は、ＣＡＮ又はＥｔｈｅｒｎｅｔの通信プロトコルにより前記制御部と通信可能に接続されており、
前記代替部は、前記ＣＡＮ及び前記Ｅｔｈｅｒｎｅｔの通信プロトコルにより前記制御部と通信可能に接続されている。
【００１３】
本態様にあたっては、前記代替部は、ＣＡＮ及びＥｔｈｅｒｎｅｔの通信プロトコルにより制御部と通信可能に接続されているため、通信プロトコルとしてＣＡＮを用いた車載制御装置及びＥｔｈｅｒｎｅｔを用いた車載制御装置の双方の車載制御装置を代替することができる。
【００１４】
（３）本開示の一態様に係る代替装置は、前記制御部は、
前記プログラムを前記代替部に適用する前は、前記複数の車載制御装置から送信される前記送信データを中継するための中継経路に、前記代替部を含めず、
前記プログラムを前記代替部に適用した後は、前記中継経路に、前記代替部を含める。
【００１５】
本態様にあたっては、制御部は、車載制御装置間の通信を中継する際に、異常となった車載制御装置を代替するためのプログラムを代替部に適用する前は、当該中継するための中継経路に代替部を含めない。従って、車載制御装置からの送信データは、代替部に中継されないため、当該送信データが不正なデータ等を含むものであっても、当該不正なデータ等に対する代替部の堅牢性を担保することができる。
【００１６】
（４）本開示の一態様に係る代替装置は、前記代替部は、他の車載制御装置と通信するための通信経路を介して取得したデータに基づき、出力するデータを生成し、前記生成したデータを、前記通信経路を介して出力する処理を行う車載制御装置を代替する。
【００１７】
本態様にあたっては、車載制御装置は、他の車載制御装置と通信するための通信経路を介して取得したデータに基づき、出力するデータを生成し、前記生成したデータを、前記通信経路を介して出力する処理を行う車載制御装置を代替する。すなわち、当該車載制御装置は、制御対象となるモータ、ブレーキ又は各種センサ等の車載装置とワイヤーハーネス等により直接接続されている車載制御装置ではなく、通信経路を介して取得したデータに基づき出力するデータを生成し、当該生成したデータを、通信経路を介して出力する。従って、代替部と、制御対象となる車載装置とを接続するワイヤーハーネス等を不要とし、車両内における配策を簡易化することができる。
【００１８】
（５）本開示の一態様に係る代替装置は、前記車両には、車外の外部サーバと通信するための車外通信装置が実装されており、
前記制御部は、
前記車外通信装置を介して前記外部サーバから、前記プログラムを取得し、
取得した前記プログラムを前記代替部に適用する。
【００１９】
本態様にあたっては、制御部は、車外通信装置を介して外部サーバからプログラムを取得する。従って、特定した異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムが、代替装置が備える記憶部に記憶されていない場合であっても、当該プログラムを外部サーバから取得して、代替部に適用することができる。
【００２０】
（６）本開示の一態様に係る代替装置は、前記制御部は、
前記無効化された車載制御装置に対し復帰処理を行い、
前記復帰処理により、前記無効化された車載制御装置が正常となった場合、前記代替部による代替を停止させる。
【００２１】
本態様にあたっては、制御部は、無効化された車載制御装置に対し、例えば当該車載制御装置の再起動、又は当該車載制御装置へのリプログラミングの実行等の復帰処理を行う。制御部は、当該復帰処理により無効化された車載制御装置が正常となった場合、代替部による代替を停止させるため、異常となった車載制御装置を効率的に復帰させることができる。
【００２２】
（７）本開示の一態様に係る代替装置は、前記代替部は、仮想化オペレーティングシステムによって仮想環境を生成しており、
前記プログラムは、前記仮想環境上で実行される。
【００２３】
本態様にあたっては、代替部には仮想化オペレーティングシステムによって仮想環境が生成されており、プログラムは仮想環境上で実行される。従って、代替部と、代替される車載制御装置とにおいて、例えばハードウェア構成上の差異がある場合であっても、仮想化オペレーティングシステムによる仮想環境により当該差異を吸収することができ、代替部は複数の異なる種類の車載制御装置を効率的に代替することができる。
【００２４】
（８）本開示の一態様に係る代替装置は、前記仮想環境は、前記無効化された車載制御装置の個数に応じて生成され、
前記プログラムの個数は、前記無効化された車載制御装置の個数と同数であり、
前記プログラム夫々は、前記個数に応じて生成された夫々の仮想環境上で実行される。
【００２５】
本態様にあたっては、仮想環境は特定した異常な車載制御装置の個数に応じて生成され、生成された夫々の仮想環境上にて、特定した異常な車載制御装置夫々に対応するプログラム夫々が、実行される。従って、代替部が物理的に単一の装置で構成される場合であっても、当該代替部を含む代替装置は、同時に複数の車載制御装置を代替することができる。
【００２６】
（９）本開示の一態様に係る代替制御プログラムは、コンピュータに、
車両に搭載される複数の車載制御装置から送信される送信データに基づき異常な車載制御装置を特定し、
特定した前記異常な車載制御装置を無効化し、
特定した前記異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを実行することにより、前記無効化された車載制御装置を代替する
ための処理を実行させる。
【００２７】
本態様にあたっては、コンピュータを代替装置として機能させることができる。
【００２８】
（１０）本開示の一態様に係る代替方法は、車両に搭載される複数の車載制御装置から送信される送信データに基づき異常な車載制御装置を特定し、
特定した前記異常な車載制御装置を無効化し、
特定した前記異常な車載制御装置が正常時に実施する機能を発揮するためのプログラムを実行することにより、前記無効化された車載制御装置を代替する。
【００２９】
本態様にあたっては、異常なＥＣＵを検出した場合、当該ＥＣＵの機能を代替する代替方法を提供することができる。
【００３０】
[本開示の実施形態の詳細]
本開示をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る代替装置６を、以下に図面を参照しつつ説明する。なお、本開示はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【００３１】
（実施形態１）
以下、実施の形態について図面に基づいて説明する。図１は、実施形態１に係る代替装置６を含む車載制御装置代替システムＳの構成を例示する模式図である。図２は、代替装置６の物理構成を例示するブロック図である。
【００３２】
車載制御装置代替システムＳは、車両に搭載される代替装置６、車外通信装置１を含み、車外ネットワークＮを介して接続された外部サーバ１００から取得したプログラムを、代替装置６に含まれる代替ＥＣＵ５（代替部）に適用することにより、当該車両Ｃに実装されている複数の車載ＥＣＵ３（Electronic Control Unit／車載制御装置）のいずれかの車載ＥＣＵ３を代替する。
【００３３】
外部サーバ１００は、例えばインターネット又は公衆回線網等の車外ネットワークＮに接続されているサーバ等のコンピュータであり、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）又はハードディスク等による記憶部１０１を備える。外部サーバ１００には、車載ＥＣＵ３の製造メーカ等によって作成された当該車載ＥＣＵ３を制御するためのプログラム又はデータが、記憶部１０１に保存されている。当該プログラム又はデータは、更新プログラムとして、車両Ｃに送信され、車両Ｃに搭載されている車載ＥＣＵ３のプログラム又はデータを更新するために用いられる。このように構成された外部サーバ１００は、ＯＴＡ（Over The Air）サーバとも称される。車両Ｃに搭載される車載ＥＣＵ３は、外部サーバ１００から無線通信により送信された更新プログラムを取得し、当該更新プログラムを実行するプログラムとして適用することにより、自ＥＣＵが実行するプログラムを更新（リプロ）することができる。外部サーバ１００の記憶部１０１には、後述する代替ＥＣＵ５に適用するプログラム（代替プログラム）が記憶されている。
【００３４】
車両Ｃには、車外通信装置１、代替装置６、表示装置７、及び種々の車載機器を制御するための複数の車載ＥＣＵ３が搭載されている。代替装置６は、車載中継装置２及び代替ＥＣＵ５を含む。車載中継装置２と車外通信装置１とは、例えばシリアルケーブル等のワイヤーハーネスにより通信可能に接続されている。車載中継装置２及び車載ＥＣＵ３は、ＣＡＮ（Control Area Network／登録商標）又はイーサネット（Ethernet／登録商標）等の通信プロトコルに対応した通信線４１及び車内ＬＡＮ４によって通信可能に接続されている。
【００３５】
車外通信装置１は、車外通信部（図示せず）及び、車載中継装置２と通信するための入出力Ｉ／Ｆ（図示せず）を含む。車外通信部は、３Ｇ、ＬＴＥ、４Ｇ、ＷｉＦｉ等の移動体通信のプロトコルを用いて無線通信をするための通信装置であり、車外通信部に接続されたアンテナ１１を介して外部サーバ１００とデータの送受信を行う。車外通信装置１と外部サーバ１００との通信は、例えば公衆回線網又はインターネット等の外部ネットワークＮを介して行われる。入出力Ｉ／Ｆは、車載中継装置２と、例えばシリアル通信するための通信インターフェイスである。車外通信装置１と車載中継装置２とは、入出力Ｉ／Ｆ及び入出力Ｉ／Ｆに接続されたシリアルケーブル等のワイヤーハーネスを介して相互に通信する。本実施形態では、車外通信装置１は、車載中継装置２と別装置とし、入出力Ｉ／Ｆ等によってこれら装置を通信可能に接続しているが、これに限定されない。車外通信装置１は、車載中継装置２の一構成部位として、車載中継装置２に内蔵されるものであってもよい。
【００３６】
代替装置６は、車載中継装置２及び代替ＥＣＵ５を含み、車載ＥＣＵ３から送信される送信データに基づき異常な車載ＥＣＵ３を特定し、特定した異常な車載ＥＣＵ３を無効化する共に、特定した異常な車載ＥＣＵ３が正常時に実施する機能を発揮するためのプログラム（代替プログラム）を代替ＥＣＵ５に適用することにより、無効化した車載ＥＣＵ３を代替する。
【００３７】
車載中継装置２は、制御部２０、記憶部２１、入出力Ｉ／Ｆ２２、及び車内通信部２３を含む。車載中継装置２は、例えば、認知系の車載ＥＣＵ３、判断系の車載ＥＣＵ３及び、操作系の車載ＥＣＵ３等の複数の通信線４１による系統のセグメントを統括し、これらセグメント間での車載ＥＣＵ３同士の通信を中継するゲートウェイ（中継器）である。又は、車載中継装置２は、車両Ｃ全体をコントロールするボディＥＣＵの一機能部として構成されるものであってもよい。車載中継装置２は、車外通信装置１が無線通信によって外部サーバ１００から受信した更新プログラムを、車外通信装置１から取得し、車内ＬＡＮ４を介して当該更新プログラムを所定の車載ＥＣＵ３（更新対象の車載ＥＣＵ３）に送信するように構成されているもの（リプロマスター）であってもよい。
【００３８】
制御部２０は、ＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro Processing Unit）等により構成してあり、記憶部２１に予め記憶された制御プログラム及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行うようにしてある。車載中継装置２の制御部２０は、代替装置６の制御部として機能する。
【００３９】
車載中継装置２の制御部２０（代替装置６の制御部）は記憶部２１に記憶されている制御プログラムを実行することにより、車載ＥＣＵから送信される送信データに基づいて、当該送信データが異常であるか否かを判定する判定部として機能する。車載中継装置２の制御部２０（代替装置６の制御部）は記憶部２１に記憶されている制御プログラムを実行することにより、異常と判定した送信データの送信元である異常な車載ＥＣＵを特定する特定部として機能する。車載中継装置２の制御部２０（代替装置６の制御部）は記憶部２１に記憶されている制御プログラムを実行することにより、特定した異常な車載ＥＣＵを無効化する無効化部として機能する。車載中継装置２の制御部２０（代替装置６の制御部）は記憶部２１に記憶されている制御プログラムを実行することにより、特定した異常な車載ＥＣＵが正常時に実施する機能を発揮するためのプログラム（代替プログラム）を、代替ＥＣＵ５に適用する代替プログラム適用部として機能する。車載中継装置２の制御部２０（代替装置６の制御部）は記憶部２１に記憶されている制御プログラムを実行することにより、外部サーバ１００から送信された車載ＥＣＵ３のプログラム又は代替ＥＣＵ５に適用するプログラム（代替プログラム）を、車外通信装置１を介して取得する取得部として機能する。
【００４０】
記憶部２１は、ＲＡＭ（Random Access Memory）等の揮発性のメモリ素子又は、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、制御プログラム及び処理時に参照するデータがあらかじめ記憶してある。記憶部２１に記憶された制御プログラムは、車載中継装置２が読み取り可能な記録媒体２１１から読み出された制御プログラムを記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータから制御プログラムをダウンロードし、記憶部２１に記憶させたものであってもよい。
【００４１】
記憶部２１には、車載ＥＣＵ３間の通信、又は車載ＥＣＵ３と外部サーバ１００との間の通信のための中継処理を行うにあたり用いられる中継経路情報（ルーティングテーブル）が、記憶される。当該中継経路情報は、通信プロトコルに基づき書式が決定される。通信プロトコルがＣＡＮの場合、ＣＡＮ用中継経路情報は、ＣＡＮメッセージに含まれるメッセージ識別子（ＣＡＮ−ＩＤ）及び、当該ＣＡＮ−ＩＤに関連付けられた中継先（ＣＡＮ通信部２３２のＩ／Ｏポート番号）を含む。通信プロトコルがＴＣＰ／ＩＰの場合、ＴＣＰ／ＩＰ用中継経路情報は、ＩＰパケットに含まれる送信先アドレス（ＭＡＣアドレス又はＩＰアドレス）及び、当該送信先アドレスに関連付けられた中継先（イーサネット通信部２３１の物理ポート番号）を含む。
【００４２】
詳細は後述するが、制御部２０は、代替ＥＣＵ５による代替処理の実行又停止に基づき、中継経路情報を変更するものであってもよい。すなわち、代替ＥＣＵ５が代替処理を停止している間は、制御部２０は、例えば中継経路情報から代替ＥＣＵ５を外し、車載ＥＣＵ３間の通信又は外部サーバ１００との通信において、代替ＥＣＵ５がこれら通信経路に含まれないようにするものであってもよい。代替ＥＣＵ５が代替処理を実行している間は、制御部２０は、中継経路情報に代替ＥＣＵ５を含め、車載ＥＣＵ３間の通信又は外部サーバ１００との通信において、代替ＥＣＵ５がこれら中継経路（車載ＥＣＵ３間の通信又は外部サーバ１００との通信を中継するための経路）に含まれるようにする。代替ＥＣＵ５が代替処理を停止している間は、中継経路情報から代替ＥＣＵ５を外すことにより、当該代替ＥＣＵ５を中継経路に含めないことにより、代替ＥＣＵ５が、車外の外部装置又は、車内の不正な車載ＥＣＵ３からの攻撃を受けることを抑制することができる。
【００４３】
記憶部２１には、外部サーバ１００から送信された車載ＥＣＵ３のプログラムが記憶される。記憶部２１には、代替ＥＣＵ５に適用するプログラム（代替プログラム）が記憶される。詳細は後述するが、代替ＥＣＵ５のハードウェア仕様と車載ＥＣＵ３のハードウェア仕様とを同一、又は両仕様において互換性を持たせることにより、代替ＥＣＵ５に適用するプログラム（代替プログラム）として、外部サーバ１００から送信された車載ＥＣＵ３のプログラムを用いることができる。
【００４４】
記憶部２１には、車両Ｃに搭載される全ての車載ＥＣＵ３の構成情報（車両構成情報）が記憶される。記憶部２１に記憶される車載ＥＣＵ３夫々の構成情報（車両構成情報）は、例えば、車載ＥＣＵ３の製造番号（シリアル番号）、ＥＣＵ部番（型番）、Ｓｏｆｔｗａｒｅ部番、プログラムの現バージョン、旧バージョン、動作面数、動作面、ＭＡＣ（Media Access Control）アドレス、ＩＰアドレス、前回更新完了日時、リプロステータス及びＶＩＮ（車両識別番号）を含む。また、車載ＥＣＵ３がＣＡＮによって接続される場合、車載ＥＣＵ３の構成情報は、当該車載ＥＣＵ３がメッセージを送信する際に用いる（含める）ＣＡＮ−ＩＤを含むものであってよい。これら車両構成情報は、個々の車載ＥＣＵ３において重複しないように設定された連番等によるＥＣＵ−ＩＤに関連付けられて管理され、例えばテーブル形式のデータとして記憶部２１に記憶される。制御部２０は、ＩＧスイッチがオン又はオフにされた場合等の所定のタイミングにて、定常的に車両Ｃに搭載されている全ての車載ＥＣＵ３又は特定の車載ＥＣＵ３から、車載ＥＣＵ３夫々の構成情報を取得し、記憶部２１に記憶する。
【００４５】
制御部２０は、記憶部２１に記憶されている車両構成情報に含まれるＳｏｆｔｗａｒｅ部番及びプログラムの現バージョン等を参照することにより、代替する車載ＥＣＵ３のプログラムを特定することができる。制御部２０は、当該特定したプログラムに基づいて、代替ＥＣＵ５に適用するプログラム（代替プログラム）を特定するものであってもよい。又は、個々の車載ＥＣＵ３を一意に識別するＥＣＵ−ＩＤと、当該ＥＣＵ−ＩＤを代替する際に代替ＥＣＵに適用するプログラム（代替プログラム）とを関連づけて記憶部２１に記憶し、制御部２０は、当該ＥＣＵ−ＩＤに基づいて代替プログラムを特定してもよい。
【００４６】
入出力Ｉ／Ｆ２２は、車外通信装置１の入出力Ｉ／Ｆ１２と同様に、例えばシリアル通信するための通信インターフェイスである。入出力Ｉ／Ｆ２２を介して、車載中継装置２は、車外通信装置１、表示装置７（ＨＭＩ装置）及び、車両Ｃの起動及び停止を行うＩＧスイッチ（図示せず）と通信可能に接続される。
【００４７】
車内通信部２３は、例えばＣＡＮ（Control Area Network）又はイーサネット（Ethernet／登録商標）の通信プロトコルを用いた入出力インターフェイス（ＣＡＮ通信部２３２、イーサネット通信部２３１）であり、制御部２０は、車内通信部２３を介して車内ＬＡＮ４に接続されている車載ＥＣＵ３又は他の中継装置等の車載機器と相互に通信する。
【００４８】
イーサネット通信部２３１は、１００ＢＡＳＥ−Ｔ１又は１０００ＢＡＳＥ−Ｔ１等のイーサネットケーブル４１１にて伝送されるＴＣＰ／ＩＰのパケットに対応するイーサネットＰＨＹ部である。
【００４９】
ＣＡＮ通信部２３２は、ＣＡＮバス４１２上にて伝送されるＣＡＮメッセージに対応するものであり、ハイ側及びロー側の２本の配線により構成されるＣＡＮバス４１２上の差動電圧の電位差による波形を受信し、受信した波形を１と０のビット列で表される信号に復号するＣＡＮトランシーバである。又は、ＣＡＮ通信部２３２は、ＣＡＮトランシーバ及びＣＡＮコントローラを含むものであってもよい。
【００５０】
車内通信部２３（イーサネット通信部２３１、ＣＡＮ通信部２３２）は、複数個設けられており、車内通信部２３夫々に、車内ＬＡＮ４を構成する通信線４１（イーサネットケーブル４１１、ＣＡＮバス４１２）が接続されている。このように車内通信部２３を複数個設けることにより、車内ＬＡＮ４を複数個のセグメントに分け、各セグメントに車載ＥＣＵ３を、当該車載ＥＣＵ３の機能（認知系機能、判断系機能、操作系機能）に応じて接続する。
【００５１】
代替ＥＣＵ５は、車載中継装置２の制御部２０（代替装置６の制御部）からの指示に基づき、代替装置６における代替部として機能する。代替ＥＣＵ５は、車載中継装置２と同様に制御部５０、記憶部５１及び車内通信部５２を含む。記憶部５１は、車載中継装置２と同様に揮発性及び不揮発性のメモリ素子により構成してあり、代替する車載ＥＣＵ３と同様の機能を発揮するプログラム（代替プログラム）が記憶される。制御部５０は、車載中継装置２と同様にＣＰＵ等により構成してあり、記憶部５１に記憶されたプログラム（代替プログラム）を読み出し実行することにより車載機器等の制御に関する処理を行い、無効化した車載ＥＣＵ３を代替する。
【００５２】
車内通信部５２は、車載中継装置２と同様にイーサネット通信部５２１及びＣＡＮ通信部５２２の少なくともいずれか一方を含み、イーサネット通信部５２１又はＣＡＮ通信部５２２を介して、代替ＥＣＵ５は、車載中継装置２の制御部２０（代替装置６の制御部）と通信する。
【００５３】
車内通信部５２は、イーサネット通信部５２１及びＣＡＮ通信部５２２を含み、代替ＥＣＵ５はイーサネット通信部５２１及びＣＡＮ通信部５２２の２つの車内通信部５２によって、車載中継装置２と接続することが望ましい。代替ＥＣＵ５が、イーサネット通信部５２１及びＣＡＮ通信部５２２を備えることにより、イーサネット通信部のみを有する車載ＥＣＵ３及びＣＡＮ通信部のみを有する車載ＥＣＵ３の双方の車載ＥＣＵ３を代替することができる。
【００５４】
代替ＥＣＵ５の車内通信部５２（イーサネット通信部５２１及びＣＡＮ通信部５２２）に接続される車載中継装置２の車内通信部２３（イーサネット通信部２３１及びＣＡＮ通信部２３２）は、車載ＥＣＵ３に接続される車内通信部２３（イーサネット通信部２３１及びＣＡＮ通信部２３２）とは異なる車内通信部２３であることが望ましい。代替ＥＣＵ５に接続される車内通信部２３と、車載ＥＣＵ３に接続される車内通信部２３とを、異ならせることにより、車載ＥＣＵ３が接続されるセグメント以外のセグメントに代替ＥＣＵ５を接続し、代替ＥＣＵ５と車載中継装置２との通信の帯域幅を確実に確保することができる。
【００５５】
代替ＥＣＵ５は、車載中継装置２とは別筐体として図示してあるが、これに限定されない。代替ＥＣＵ５は、車載中継装置２と同一の筐体に内蔵され、車載中継装置２と一体化して構成されるものであってもよい。この場合、代替ＥＣＵ５を内蔵する車載中継装置２そのものが、代替装置６に相当する。
【００５６】
代替ＥＣＵ５による代替処理を制御する制御部（代替装置６の制御部）は、車載中継装置２の制御部２０であるとしたが、これに限定されない。代替ＥＣＵ５による代替処理を制御する制御部を含む代替装置６は、車載中継装置２とは別個に構成された専用装置であってもよい。当該専用装置は、車載中継装置２及び代替ＥＣＵ５と通信可能に接続されており、車載中継装置２を介して取得したプログラム（代替プログラム）を代替ＥＣＵ５に送信して、当該プログラムを代替ＥＣＵ５に適用する。又は、車載中継装置２の制御部２０と代替ＥＣＵ５の制御部５０とが協働して、代替装置６の制御部としての機能を発揮するものであってもよい。
【００５７】
代替ＥＣＵ５に適用するプログラム（代替プログラム）は、車載中継装置２が車外通信装置１を介して外部サーバ１００から取得するとしたが、これに限定されない。代替ＥＣＵ５に適用するプログラム（代替プログラム）の個数又は種類は、代替の対象となる車載ＥＣＵ３の個数に応じて複数となり、これら複数の代替プログラムの全て又は一部が、予め車載中継装置２の記憶部２１又は代替ＥＣＵ５の記憶部５１に予め記憶されているものであってもよい。この場合、車載中継装置２の制御部２０は、自装置の記憶部２１を参照することにより、代替プログラムを取得し、取得した代替プログラムを代替ＥＣＵ５に適用する。又は、代替プログラムが代替ＥＣＵ５の記憶部５１に予め記憶されている場合、車載中継装置２の制御部２０は、代替ＥＣＵ５に例えば適用指示信号を送信することにより、代替ＥＣＵ５に自ＥＣＵの記憶部５１に記憶してある代替プログラムを適用させるものであってもよい。
【００５８】
車載ＥＣＵ３は、代替ＥＣＵ５と同様に制御部（図示せず）、記憶部（図示せず）及び車内通信部（図示せず）を含む。記憶部は、ＲＡＭ（Random Access Memory）等の揮発性のメモリ素子又は、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、車載ＥＣＵ３のプログラム又はデータが記憶されている。このプログラム又はデータが、車載中継装置２から送信される更新プログラムによって更新される対象である。又、記憶部には自ＥＣＵの構成情報が記憶されている。車内通信部は、代替ＥＣＵ５又は車載中継装置２と同様にイーサネット通信部又はＣＡＮ通信部を含み、車載ＥＣＵ３は、車内通信部を介して車載中継装置２（代替装置６）と通信する。
【００５９】
車両Ｃに搭載される全ての車載ＥＣＵ３が、代替ＥＣＵ５によって代替されるものである場合に限定されない。車両Ｃに搭載される一部の車載ＥＣＵ３が、代替ＥＣＵ５によって代替されるものであってもよい。代替ＥＣＵ５によって代替される車載ＥＣＵ３のハードウェア仕様は、代替ＥＣＵ５のハードウェア仕様と同一又は、これらハードウェア仕様間において互換性を有するものであってもよい。これらハードウェア仕様が同一又は互換性を有することにより、車載ＥＣＵ３にて実行されるプログラムと同じプログラムを代替ＥＣＵ５で実行することができる。
【００６０】
図１及び図２に示すとおり、車載ＥＣＵ３は、記憶部に記憶されているプログラムを実行することにより、例えば認知系、判断系又は操作系に機能分類されるものであってもよい。
【００６１】
認知系の車載ＥＣＵ３は、例えば、カメラ、赤外線センサ又はＬＩＤＡＲ（Light Detection and Ranging）等のセンサ４２と接続しており、当該センサ４２から出力された出力値を例えばデジタル変換し、車内ＬＡＮ４を介して判断系の車載ＥＣＵ３に送信（出力）する。
【００６２】
判断系の車載ＥＣＵ３は、例えば、認知系の車載ＥＣＵ３から送信されたデータを受信（取得）し、受信したデータに基づき、車両Ｃの自動運転機能を発揮するためのデータを生成、又はデータを加工する処理行い、当該生成等したデータを、車内ＬＡＮ４を介して操作系の車載ＥＣＵ３に送信（出力）する。
【００６３】
操作系の車載ＥＣＵ３は、例えば、モータ、エンジン又はブレーキ等のアクチュエータ４３（車載駆動装置）と接続しており、判断系の車載ＥＣＵ３から送信されたデータを受信（取得）し、受信したデータに基づき当該アクチュエータの動作を制御して、車両Ｃの走行、停止又は操舵等の操作を行い、自動運転機能を発揮する。
【００６４】
すなわち、判断系の車載ＥＣＵ３は、センサ４２又はアクチュエータ４３とは直接接続されておらず、車内ＬＡＮ４を介して取得したデータを加工又は、取得したデータに基づき出力するデータを生成し、当該生成等したデータを、操作系の車載ＥＣＵ３等の他の車載ＥＣＵ３に出力する処理を行う。従って、判断系の車載ＥＣＵ３等、センサ４２又はアクチュエータ４３とは直接接続されておらずデータ生成等を行う車載ＥＣＵ３を代替ＥＣＵ５によって代替することにより、代替ＥＣＵ５と、センサ４２又はアクチュエータ４３とをワイヤーハーネス等により直接的に接続することを不要とし、車内における配策を簡易化することができる。
【００６５】
表示装置７は、例えばカーナビゲーションのディスプレイ等のＨＭＩ（Human Machine Interface）装置である。表示装置７は、車載中継装置２の入出力Ｉ／Ｆ２２とシリアルケーブル等のハーネスにより通信可能に接続されている。表示装置７には、車載中継装置２の制御部２０から入出力Ｉ／Ｆ２２を介して出力されたデータ又は情報が表示される。
【００６６】
代替装置６は、車載中継装置２及び代替ＥＣＵ５を含むものであり、図２において代替装置が含む代替ＥＣＵ５は一つであるとして記載してあるが、これに限定されない。代替装置６は、２つ以上の代替ＥＣＵ５を含むものであってもよい。代替装置６が複数の代替ＥＣＵ５を含むことにより、複数の車載ＥＣＵ３が同時期に異常となった場合であっても、これら複数の車載ＥＣＵ３夫々を、複数の代替ＥＣＵ５夫々によって代替することができる。
【００６７】
図３は、代替装置６による代替の一態様を例示する説明図（シーケンス図）である。図３において、代替装置６が、無効化した車載ＥＣＵ３を代替する処理について、外部サーバ１００、車載ＥＣＵ３及び代替装置６（車載中継装置２、代替ＥＣＵ５）の処理を含むシーケンス図を用いて説明する。
【００６８】
車載ＥＣＵ３は、車載中継装置２にデータを送信する（Ｓ１）。車載ＥＣＵ３は、自ＥＣＵに記憶部に記憶してあるプログラムを実行することにより、車載装置又は車載器の制御に関する処理を実行し、生成したデータを他の車載ＥＣＵ３又はマルチキャストにて送信する。
【００６９】
車載中継装置２は、送信されたデータを取得し、異常検知を行う（Ｓ２）。車載中継装置２は、中継処理を行うため、車両Ｃに搭載された全ての車載ＥＣＵ３から送信されたデータを受信し、当該受信したデータのヘッダ情報及び中継経路情報に基づき中継する。車載中継装置２は、受信したデータを解析等することにより、当該データの正否を判定する判定部として機能し、受信したデータの異常検知を行う。データの正否の判定において、不正なデータとは、例えば、車外通信装置１等を介して車外から侵入したウィルス等により異常な状態となった車載ＥＣＵ３又は不正に交換された車載ＥＣＵ３等の不正な車載ＥＣＵ３から送信されるメッセージである。制御部２０は、受信したデータに対し、診断プログラム（ダイアグプロセス）を実行、又はＩＤＳ（Intrusion Detection System）の機能を発揮することにより、当該データを解析し正否を判定する。又は、制御部２０は、データを送信するにあたり規定されている送信周期とは、異なる周期で送信されているデータを不正なデータとして判定してもよい。
【００７０】
車載中継装置２は、異常と判定したデータの送信元の車載ＥＣＵ３を特定する（Ｓ３）。車載中継装置２は、例えば、異常と判定したデータのヘッダー情報を参照し、当該データの送信元の車載ＥＣＵ３を特定する。当該データがＩＰパケットの場合、車載中継装置２は、ヘッダー情報に含まれる送信元のＩＰアドレス又はＭＡＣアドレスを抽出し、抽出した送信元アドレスに基づき車両構成情報を参照することにより、送信元の車載ＥＣＵ３（ＥＣＵ−ＩＤ）を特定する。当該データがＣＡＮメッセージの場合、車載中継装置２は、ヘッダー情報に含まれるＣＡＮ−ＩＤを抽出し、抽出したＣＡＮ−ＩＤに基づき車両構成情報を参照することにより、送信元の車載ＥＣＵ３３（ＥＣＵ−ＩＤ）を特定する。
【００７１】
車載中継装置２は、特定した異常な車載ＥＣＵ３を無効化する（Ｓ４）。特定した異常な車載ＥＣＵ３を無効化する処理として、車載中継装置２は、例えば、当該異常な車載ＥＣＵ３に対し、強制停止させるための信号を送信する。当該信号を受信した車載ＥＣＵ３は、停止状態に遷移する。当該強制停止させるための信号は、当該信号を受信した車載ＥＣＵ３に給電される電力を遮断させる信号を含むものであってもよい。又は、車載中継装置２は、特定した異常な車載ＥＣＵ３から送信されたデータを中継せず、破棄することにより、当該異常な車載ＥＣＵ３の機能を無効化するものであってもよい。又は、車載中継装置２は、特定した異常な車載ＥＣＵ３のＭＡＣアドレス又はＥＣＵ−ＩＤ等の送信元アドレスを、他の車載ＥＣＵ３に送信（ブロードキャスト）し、当該送信元アドレスを含むデータを無視又は破棄することを他の車載ＥＣＵ３に通知することにより、当該異常な車載ＥＣＵ３の機能を無効化するものであってもよい。
【００７２】
車載中継装置２は、代替ＥＣＵ５に適用するプログラム（代替プログラム）を、外部サーバ１００から取得する（Ｓ５）。車載中継装置２は、例えば、車両構成情報を参照して、無効化した車載ＥＣＵ３が正常時に実施するプログラムを特定し、当該特定したプログラムと同様の機能を発揮するプログラム（代替プログラム）を外部サーバ１００から取得する。前述のとおり、無効化した車載ＥＣＵ３のハードウェア仕様と、代替ＥＣＵ５のハードウェア仕様とが、同一又は互換性を有する場合、代替ＥＣＵ５に適用するプログラム（代替プログラム）は、無効化した車載ＥＣＵ３が正常時に実施するプログラムと同一のプログラムである。
【００７３】
無効化した車載ＥＣＵ３のハードウェア仕様と、代替ＥＣＵ５のハードウェア仕様とが、異なる又は互換性を有しない場合であっても、車載中継装置２は、これらハードウェア仕様の差異を吸収するエミュレータを代替ＥＣＵ５にミドルウェアとして実装（実行）させる。車載中継装置２は、当該エミュレータの上で、無効化した車載ＥＣＵ３が正常時に実施するプログラムを、代替プログラムとして代替ＥＣＵ５に適用するものであってもよい。ハードウェア仕様の差異を吸収するエミュレータを代替ＥＣＵ５に実装させることにより、代替する車載ＥＣＵ３が実行するプログラムと同一のプログラムを、代替プログラムとして代替ＥＣＵ５に適用（実行させる）することができる。
【００７４】
車載中継装置２による代替プログラムの取得は、外部サーバ１００からの取得に限定されない。代替プログラム又はエミュレータが既に車載中継装置２の記憶部２１に予め記憶されている場合、車載中継装置２は、記憶部２１を参照して当該予め記憶されている代替プログラム等を取得するものであってもよい。
【００７５】
車載中継装置２は、代替ＥＣＵ５へプログラム（代替プログラム）を適用する（Ｓ６）。車載中継装置２は取得した代替プログラムを代替ＥＣＵ５に送信すると共に、代替ＥＣＵ５が代替プログラムを実行して起動するように起動信号を送信する。代替プログラムが予め代替ＥＣＵ５の記憶部５１に記憶されている場合、車載中継装置２は、代替ＥＣＵ５に実行する代替プログラムを特定する情報を送信すると共に、代替ＥＣＵ５が当該代替プログラムを実行して起動するように起動信号を送信するものであってもよい。
【００７６】
車載中継装置２は、中継経路情報を変更する（Ｓ７）。車載中継装置２は、代替ＥＣＵ５が、無効化した車載ＥＣＵ３が実行していた機能を発揮できるように、中継経路情報を変更する。代替ＥＣＵ５が、無効化した車載ＥＣＵ３とは異なる車内通信部２３に接続されている場合、代替ＥＣＵ５が他の車載ＥＣＵ３と通信を行うため、車載中継装置２は、中継経路情報において、代替ＥＣＵ５が接続されている車内通信部２３のポート番号と、代替ＥＣＵ５のＭＡＣアドレス、ＩＰアドレス、ＥＣＵ−ＩＤ又はＣＡＮ−ＩＤ等との関連付けを変更する。
【００７７】
代替プログラムが適用された代替ＥＣＵ５は、当該代替プログラムを実行し、無効化された車載ＥＣＵ３の代替を開始する（Ｓ８）。代替プログラムは、無効化された車載ＥＣＵ３が正常時に実施する機能を発揮するためのプログラムであるため、代替ＥＣＵ５は、無効化されたＥＣＵと同等の機能を発揮することができる。無効化されたＥＣＵと、代替ＥＣＵ５とが、車載中継装置２において別個の車内通信部２３に接続されている場合であっても、中継経路情報を変更することにより、代替ＥＣＵ５と他の車載ＥＣＵ３等との通信は、車載中継装置２によって中継され、代替ＥＣＵ５及び他の車載ＥＣＵ３等による透過的な通信環境を担保することができる。
【００７８】
車載中継装置２は、無効化した車載ＥＣＵ３に対し、復帰処理を実行する（Ｓ９）。無効化した車載ＥＣＵ３に対する復帰処理として、車載中継装置２は、例えば、当該無効化した車載ＥＣＵ３に対し再起動（リセット）させる再起動信号を送信する。又は、車載中継装置２は、無効化した車載ＥＣＵ３の正規のプログラムを外部サーバ１００から取得し、取得したプログラムを無効化した車載ＥＣＵ３に適用する処理、すなわちリプロ処理を行うものであってもよい。又は、車載中継装置２は、無効化した車載ＥＣＵ３とダイアグモードで通信し、当該無効化した車載ＥＣＵ３に対し自己回復処理を実行させることにより、復帰処理を試みるものであってもよい。
【００７９】
車載中継装置２は、復帰処理により、無効化した車載ＥＣＵ３が復帰（正常化）したことを確認する（Ｓ１０）。車載中継装置２は、例えば、復帰した車載ＥＣＵ３とダイアグモードで通信し、復帰した車載ＥＣＵ３による自己診断結果を取得することにより、無効化した車載ＥＣＵ３が復帰（正常化）したことを確認する。
【００８０】
車載中継装置２は、無効化した車載ＥＣＵ３が復帰（正常化）した場合、代替ＥＣＵ５に代替を終了させる信号を出力（送信）する（Ｓ１１）。
【００８１】
車載中継装置２から代替を終了させる信号を取得（受信）した代替ＥＣＵ５は、実行している代替プログラムを停止し、代替を終了する（Ｓ１２）。
【００８２】
車載中継装置２は、代替ＥＣＵ５が代替処理を開始する前の中継経路情報となるように、現行の中継経路情報を変更する（Ｓ１３）。代替ＥＣＵ５が代替処理を開始する前の中継経路情報となるように、現行の中継経路情報を変更することにより、正常動作するように復帰した車載ＥＣＵ３と他の車載ＥＣＵ３とが、通信可能にすることができる。
【００８３】
図４は、代替装置６の制御部２０の処理を例示するフローチャートである。車載中継装置２（代替装置６）の制御部２０は、例えば車両Ｃが起動状態（ＩＧスイッチがオン）において、定常的に以下の処理を行う。
【００８４】
車載中継装置２の制御部２０は、車載ＥＣＵ３から送信された送信データを取得する（Ｓ１００）。制御部２０は、車載ＥＣＵ３間の通信を中継するにあたり、これら車載ＥＣＵ３から送信されたデータを受信（取得）する。
【００８５】
車載中継装置２の制御部２０は、取得した送信データは異常であるか否か判定する（Ｓ１０１）。制御部２０は、車載ＥＣＵ３から送信された送信データ（受信した受信データ）に関し、例えば、当該受信データの送信タイミング又はＩＤＳによる解析結果等に基づき、取得した送信データは異常であるか否か判定する。
【００８６】
車載ＥＣＵ３から送信された送信データが異常でない場合（Ｓ１０１：ＮＯ）、すなわち車載ＥＣＵ３から送信された送信データが正常である場合、車載中継装置２の制御部２０は、再度Ｓ１００の処理を実行すべくループ処理を行う。
【００８７】
車載ＥＣＵ３から送信された送信データが異常である場合（Ｓ１０１：ＹＥＳ）、車載中継装置２の制御部２０は、送信データに基づき異常な車載ＥＣＵ３を特定する（Ｓ１０２）。制御部２０は、取得した送信データのヘッダー情報に含まれる送信元アドレス又はメッセージ識別子（ＣＡＮ−ＩＤ）等を抽出し、車両構成情報を参照して、当該異常な送信データの送信元である異常な車載ＥＣＵ３を特定する。
【００８８】
車載中継装置２の制御部２０は、異常な車載ＥＣＵ３を無効化する（Ｓ１０３）。制御部２０は、特定した異常な車載ＥＣＵ３に対し、例えば強制終了させる信号を出力し、当該異常な車載ＥＣＵ３を無効化する。又は、特定した異常な車載ＥＣＵ３から送信されるデータを破棄等することにより、当該異常な車載ＥＣＵ３を無効化するものであってもよい。
【００８９】
車載中継装置２の制御部２０は、代替ＥＣＵ５に適用するためのプログラムを取得する（Ｓ１０４）。制御部２０は、例えば車両構成情報を参照し、無効化した車載ＥＣＵ３のプログラムを特定し、特定したプログラムと同様の機能を発揮するプログラム（代替プログラム）を外部サーバ１００から取得する。又は、代替プログラムが車載中継装置２の記憶部２１など、車載中継装置２の制御部２０が参照（アクセス）することができる記憶領域に予め記憶（保存）されている場合、当該保存されている代替プログラムを取得する（用いる）ものであってもよい。
【００９０】
車載中継装置２の制御部２０は、取得したプログラムを代替ＥＣＵ５に適用する（Ｓ１０５）。制御部２０は、取得したプログラム（代替プログラム）を代替ＥＣＵ５に送信すると共に、代替ＥＣＵ５に対し起動信号を出力（送信）することにより、当該代替プログラムを代替ＥＣＵ５に適用する。代替プログラムが適用された代替ＥＣＵ５は、当該代替プログラムを実行することにより起動し、無効化した車載ＥＣＵ３と同様の機能を発揮することにより、当該車載ＥＣＵ３を代替する。
【００９１】
車載中継装置２の制御部２０は、中継経路情報を変更する（Ｓ１０６）。制御部２０は、代替ＥＣＵ５が他の車載ＥＣＵ３と通信可能となるように、自装置の記憶部２１に記憶してある中継経路情報を変更する。
【００９２】
車載中継装置２の制御部２０は、無効化した車載ＥＣＵ３の復帰を試みる（Ｓ１０７）。制御部２０は、例えば、無効化した車載ＥＣＵ３に再起動信号を送信、リプロ処理を実行又は、無効化した車載ＥＣＵ３とダイアグモードによる通信を行い、無効化した車載ＥＣＵ３に自己回復処理を実行させることにより、復帰処理を試みる。
【００９３】
車載中継装置２の制御部２０は、無効化した車載ＥＣＵ３が復帰したか否かを判定する（Ｓ１０８）。制御部２０は、例えば、復帰した車載ＥＣＵ３とダイアグモードで通信し、復帰した車載ＥＣＵ３による自己診断結果を取得することにより、無効化した車載ＥＣＵ３が復帰（正常化）したか否かを判定する。又は、制御部２０は、無効化した車載ＥＣＵ３をリプロ処理し再起動させた後、再起動した車載ＥＣＵ３から送信される送信データを解析することにより、当該再起動した車載ＥＣＵ３が正常に復帰（正常化）したか否かを判定するものであってもよい。
【００９４】
復帰しなかった場合（Ｓ１０８：ＮＯ）、車載中継装置２の制御部２０は、再度、異常な車載ＥＣＵ３を無効化する（Ｓ１０８１）。復帰処理を試みても無効化した車載ＥＣＵ３が復帰（正常化）しなかった場合、すなわち当該車載ＥＣＵ３の異常な状態が継続した場合、制御部２０は、再度、当該異常な状態が継続している車載ＥＣＵ３を無効化する。
【００９５】
復帰した場合（Ｓ１０８：ＹＥＳ）、車載中継装置２の制御部２０は、代替ＥＣＵ５による代替を終了させる（Ｓ１０９）。復帰処理により無効化した車載ＥＣＵ３が復帰（正常化）した場合、制御部２０は、代替ＥＣＵ５に対し、例えば代替を終了させる信号を出力（送信）する。代替を終了させる信号を取得（受信）した代替ＥＣＵ５は、実行している代替プログラムを停止し、代替を終了する。
【００９６】
車載中継装置２の制御部２０は、中継経路情報を変更する（Ｓ１１０）。制御部２０は、代替ＥＣＵ５が代替処理を開始する前の中継経路情報となるように、現行の中継経路情報を変更する。
【００９７】
車載中継装置２の制御部２０は、Ｓ１１０又はＳ１０８１の処理を行った後、本フローチャートの処理を終了する。又は、制御部２０はＳ１１０の処理を行った後、再度Ｓ１００の処理を実行すべくループ処理を行うものであってもよい。車載中継装置２の制御部２０は、本フローチャートの処理における判定（Ｓ１０１、Ｓ１０８）に関する判定結果、異常であると特定した車載ＥＣＵ３に関する情報を記憶部２１に記憶し、表示装置７又は外部サーバ１００に出力し、これら情報を車両Ｃの操作者又は外部サーバ１００の管理者に報知するものであってもよい。
【００９８】
代替装置６は、異常となった車載ＥＣＵ３を無効化して他の車載装置又は車両Ｃに対して影響が及ぶことを防止すると共に、異常となった車載ＥＣＵ３が本来正常時に実施する機能を、代替ＥＣＵ５に代替させて実施させることができる。従って、例えば、車両Ｃが自動運転機能を備えている場合、いずれかの車載ＥＣＵ３に異常が発生しても、異常な車載ＥＣＵ３を無効化し、代替ＥＣＵ５が代替することにより、自動運転を継続することができる。
【００９９】
代替装置６は、自装置に記憶されている車両構成情報に基づき、代替する車載ＥＣＵ３が実行するプログラムを特定する。代替装置６は、代替ＥＣＵ５に適用することにより当該特定したプログラムと同様の機能を発揮するプログラム（代替プログラム）を外部サーバ１００から取得するため、自装置の記憶部２１の記憶領域を圧迫することなく、複数の車載ＥＣＵ３のプログラムに対応した代替プログラムを取得することができる。
【０１００】
代替装置６は、無効化した車載ＥＣＵ３を代替ＥＣＵ５によって代替した後、当該無効化した車載ＥＣＵ３の復帰を試み、無効化した車載ＥＣＵ３が復帰（正常化）した場合、代替ＥＣＵ５による代替を終了する。従って、異常となった車載ＥＣＵ３の機能を、代替ＥＣＵ５により代替させて継続しつつ、当該異常な車載ＥＣＵ３を効率的に復帰させることができる。
【０１０１】
（実施形態２）
図５は、実施形態２（仮想環境）に係る代替装置６の論理構成を例示するブロック図である。実施形態２の代替装置６は、代替ＥＣＵ５における代替プログラムを仮想環境上で実行する点で、実施形態１と異なる。実施形態２の代替装置６は、実施形態１の代替装置６と同様に車載中継装置２及び代替ＥＣＵ５（代替部）を含む。実施形態２の代替装置６が含む車載中継装置２は、実施形態１の代替装置６と同様の構成及び機能を有するものであり、詳細な説明は省略する。
【０１０２】
実施形態２の代替装置６が含む代替ＥＣＵ５は、実施形態１の代替ＥＣＵ５と同様に制御部５０、記憶部５１及び車内通信部５２を含み、車内通信部５２はイーサネット通信部５２１及びＣＡＮ通信部５２２の少なくともいずれか一方又は双方を含む。すなわち、実施形態１の代替ＥＣＵ５と実施形態２の代替ＥＣＵ５のハードウェア構成は、同様の構成である。
【０１０３】
図５は、実施形態２の代替ＥＣＵ５の論理構成を例示するものであり、制御部５０等によるハードウェア層（物理基盤）を最下層とし、仮想環境下で実行される代替プログラムを最上層とした階層構造を例示するブロック図である。
【０１０４】
代替ＥＣＵ５の記憶部５１には、仮想化オペレーティングシステム５３（Hypervisor）が記憶されており、代替ＥＣＵ５の制御部５０は、仮想化オペレーティングシステム５３を用いて起動することにより、仮想化オペレーティングシステム５３上にて複数の仮想環境を構築することができる。仮想化の方式は、図５に示すように仮想化オペレーティングシステム５３によって直接的に制御部５０等のハードウェアリソースにアクセスするハイパーバイザー方式、又は仮想化オペレーティングシステム５３とハードウェアリソースとの間にＬｉｎｕｘ（登録商標）等のオペレーティングシステムが介在するホストＯＳ方式であってもよい。
【０１０５】
仮想化オペレーティングシステム５３を用いて起動した代替ＥＣＵ５は、仮想化オペレーティングシステム５３の機能により、複数の仮想環境を構築することができ、複数の仮想環境には、代替ＥＣＵ５が備える制御部５０等のハードウェアリソースが割り当てられる。これらハードウェアリソースが割り当てられた仮想環境夫々は、仮想的な制御部（仮想制御部）、記憶部（仮想記憶部）及び車内通信部（仮想車内通信部）を備えるものとなり、仮想ＥＣＵ５４として機能する。
【０１０６】
仮想ＥＣＵ５４夫々の仮想記憶部夫々には、例えばＵｂｕｎｔｕ（登録商標）等のゲストＯＳが記憶され、仮想ＥＣＵ５４夫々はゲストＯＳを起動し、当該ゲストＯＳの上で代替プログラムを実行することにより、無効化した車載ＥＣＵを代替する。上述のごとく仮想記憶部の実体は、仮想ＥＣＵ５４夫々割り当てられた記憶部５１の記憶領域であるため、ゲストＯＳも仮想化オペレーティングシステム５３と同様に記憶部５１に記憶されていることは、言うまでもない。ゲストＯＳの上でのプログラムの動作環境と、代替対象となる無効化した車載ＥＣＵにおけるプログラムの動作環境とが異なる場合、ゲストＯＳ上にて当該動作環境の差異を吸収するエミュレータをミドルウェアとして起動するものであってもよい。又は、コンテナ方式の仮想化オペレーティングシステム５３を用いる場合、ゲストＯＳを不要とし、当該仮想化オペレーティングシステム５３の上でコンテナを生成し、当該コンテナ上にてエミュレータを起動して、当該動作環境の差異を吸収するものであってもよい。
【０１０７】
仮想化オペレーティングシステム５３を用いて起動した代替ＥＣＵ５は、構築したいずれかの仮想環境（仮想ＥＣＵ５４）のうちの一つの仮想ＥＣＵ５４にて、当該仮想環境を管理するプログラム（仮想環境管理プログラム）を実行する。仮想環境管理プログラムを実行する仮想ＥＣＵ５４は、車載中継装置２の制御部２０と通信し、車載中継装置２から送信される信号に基づき、仮想化オペレーティングシステム５３にて用意されるコマンド等を実行することにより、新たな仮想ＥＣＵ５４の生成又は生成した仮想ＥＣＵ５４の削除を行う。すなわち、仮想環境管理プログラムを実行する仮想ＥＣＵ５４は、仮想化オペレーティングシステム５３のコントロールパネルを兼ねるものであってもよい。
【０１０８】
仮想環境管理プログラムを実行する仮想ＥＣＵ５４は、車載中継装置２から代替プログラムが送信された場合、新たな仮想ＥＣＵ５４を生成し、生成した仮想ＥＣＵ５４上で、車載中継装置２から取得した当該代替プログラムを実行させることにより、代替プログラムを代替装置６に適用することができる。仮想環境管理プログラムを実行する仮想ＥＣＵ５４は、車載中継装置２から代替を終了させる信号が送信された場合、当該信号に基づいて、代替処理を実行している仮想ＥＣＵ５４における代替プログラムの停止、又は生成した仮想ＥＣＵ５４を削除するものであってもよい。
【０１０９】
仮想化オペレーティングシステム５３を用いて起動した代替ＥＣＵ５により、仮想ＥＣＵ５４の生成又は削除等の仮想環境の全体管理を行う仮想ＥＣＵ５４と、代替プログラムを実行する仮想ＥＣＵ５４とを、別個の動作環境とし、これら仮想ＥＣＵ５４間における相互干渉を抑制して、仮想ＥＣＵ５４夫々の安定稼働を図ることができる。
【０１１０】
仮想化オペレーティングシステム５３上に実装されるゲストＯＳ又はエミュレータを用いることにより、仮想ＥＣＵ５４のプログラム実行環境と、無効化された車載ＥＣＵ３のプログラム実行環境とを同一とする又は、互換性を持たせることができる。従って、車載ＥＣＵ３と代替ＥＣＵ５とのハードウェア仕様が異なるものであっても当該仕様の差異を吸収し、代替対象の車載ＥＣＵ３のプログラムと同一のプログラムを、代替プログラムとして仮想ＥＣＵ５４にて実行することができる。
【０１１１】
図５に示すとおり、代替ＥＣＵ５は、車載中継装置２の制御部２０からの指示に応じて、複数個の仮想ＥＣＵ５４を生成し、生成した複数個の仮想ＥＣＵ５４夫々において、異なる代替プログラムを実行することができる。従って、同時期に複数の車載ＥＣＵ３が異常となった場合であっても、単一の代替ＥＣＵ５にて複数個の仮想ＥＣＵ５４を生成し、当該複数の車載ＥＣＵ３の代替を行うことができる。
【０１１２】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本開示の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１１３】
Ｃ  車両  
Ｓ  車載制御装置代替システム
１００  外部サーバ（ＯＴＡサーバ）
１０１  記憶部
１  車外通信装置
１１  アンテナ
２  車載中継装置（ゲートウェイ）
２０  制御部
２１  記憶部
２１１  記録媒体
２２  入出力Ｉ／Ｆ
２３  車内通信部
２３１  イーサネット通信部
２３２  ＣＡＮ通信部
３  車載ＥＣＵ（車載制御装置）
４  車内ＬＡＮ
４１  通信線
４１１  イーサネットケーブル
４１２  ＣＡＮバス
４２  センサ
４３  アクチュエータ
５  代替ＥＣＵ（代替部）
５０  制御部
５１  記憶部
５２  車内通信部
５２１  イーサネット通信部
５２２  ＣＡＮ通信部
５３  仮想化オペレーティングシステム
５４  仮想ＥＣＵ（仮想環境）
６  代替装置
７  表示装置
【図１】
2020149130.tif 000003
【図２】
2020149130.tif 000004
【図３】
2020149130.tif 000005
【図４】
2020149130.tif 000006
【図５】
2020149130.tif 000007