(57)【要約】【課題】車載コンピュータに外部機器が接続された場合において、セキュアに外部機器を動作させることができ、しかも他の車載制御装置と協調動作可能な態様で車載ネットワークに接続することが可能な車載コンピュータを提供する。【解決手段】車載コンピュータは、車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、外部機器が接続される接続部と、接続部に外部機器が接続された場合、物理リソースを割り当てて仮想制御装置を生成する管理処理部とを備え、仮想制御装置は、接続部に接続された外部機器の動作を制御する、車載通信線に接続された仮想的な車載制御装置として動作する。【選択図】図３
2020173560.tif 000002
【特許請求の範囲】
【請求項１】
車載コンピュータであって、
車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、
外部機器が接続される接続部と、
該接続部に前記外部機器が接続された場合、前記物理リソースを割り当てて仮想制御装置を生成する管理処理部と
を備え、
前記仮想制御装置は、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作する
車載コンピュータ。
【請求項２】
前記管理処理部は、
前記接続部に前記外部機器が接続された場合、前記外部機器の認証を行い、
認証に成功した場合、前記仮想制御装置を生成する
請求項１に記載の車載コンピュータ。
【請求項３】
前記管理処理部は、
前記外部機器に係る前記仮想制御装置を動作させるためのプログラムを外部サーバから取得し、
取得した前記プログラムを前記仮想制御装置に与える
請求項１又は請求項２のいずれか１項に記載の車載コンピュータ。
【請求項４】
前記管理処理部は、
前記外部機器に係る前記仮想制御装置を動作させるためのプログラムを前記外部機器から取得し、
取得した前記プログラムを前記仮想制御装置に与える
請求項１又は請求項２のいずれか１項に記載の車載コンピュータ。
【請求項５】
前記管理処理部は、
前記仮想制御装置の生成処理の進捗状況を表示するための情報を送信する
請求項１から請求項４のいずれか１項に記載の車載コンピュータ。
【請求項６】
前記管理処理部は、
前記接続部から前記外部機器が取り外された場合、前記仮想制御装置を消滅させる
請求項１から請求項５のいずれか１項に記載の車載コンピュータ。
【請求項７】
前記接続部から前記外部機器が取り外されたときから所定時間が経過するまで、前記仮想制御装置を保持し、前記所定時間が経過したときに前記仮想制御装置を消滅させる
請求項１から請求項６のいずれか１項に記載の車載コンピュータ。
【請求項８】
前記管理処理部は、
前記仮想制御装置の動作を監視しており、
前記仮想制御装置の動作に異常がある場合、前記仮想制御装置を消滅させる
請求項１から請求項６のいずれか１項に記載の車載コンピュータ。
【請求項９】
前記管理処理部は、
前記仮想制御装置の生成、動作及び消滅のログを記憶する
請求項６から請求項８のいずれか１項に記載の車載コンピュータ。
【請求項１０】
車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、外部機器が接続される接続部とを備えた車載コンピュータは、
前記接続部に前記外部機器が接続されたか否かを判定し、
該接続部に前記外部機器が接続されたと判定した場合、前記物理リソースを割り当てて仮想制御装置を生成する
処理を実行し、
前記仮想制御装置は、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作する
コンピュータ実行方法。
【請求項１１】
車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、外部機器が接続される接続部とを備えた車載コンピュータに、
前記接続部に前記外部機器が接続されたか否かを判定し、
該接続部に前記外部機器が接続されたと判定した場合、前記物理リソースを割り当てて仮想制御装置を生成し、
前記仮想制御装置は、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作させる
処理を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、車載コンピュータ、コンピュータ実行方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
車両には、車載ネットワークに接続された複数の電子制御ユニット（ECU：Electronic Control Unit、以下、ＥＣＵと呼ぶ。）が搭載されている。複数のＥＣＵは、例えばパワー・トレーン系、ボディ系、空調系等のドメイン毎にまとめられ、セントラルゲートウェイに接続されている。
近年、インターネットに常時接続するコネクティッドカー機能、ＯＴＡ（Over The Air）リプログラミング機能、先進運転支援システム（ADAS: Advanced Driver-Assistance Systems）、自動運転技術、人工知能技術等の導入に伴い、車載ネットワークが複雑化しており、ＥＣＵ又は車載ネットワークに追加接続される機器のセキュアな管理、協調動作制御が困難になりつつある。
【０００３】
機器が外部接続されるＥＣＵに関して、特許文献１には、プラグアンドプレイに準拠するデバイスが外部から接続可能な接続ポートを備えた車載装置が開示されている。当該デバイスは、例えば動作ログ書き込み用の記憶装置である。
【０００４】
一方、特許文献２には、ＨｙｐｅｒＶｉｓｏｒ等を利用した仮想化技術により、物理プロセッサを複数の仮想プロセッサコアとして並列動作させ、複数の機能処理部を独立的に動作させることが可能な車載装置が開示されている。特許文献２に係る車載装置は、アプリケーションを実行する機能ドメインと、アプリケーションのバックアップデータを揮発性メモリから不揮発性メモリに書き込むバックアップ処理ドメインとを備えており、各ドメインは独立的に動作する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−６０３２８号公報
【特許文献２】特開２０１７−８７７７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１においては、接続ポートに接続されたデバイスを、車載装置のＯＳ上で直接動作させると、起動中の他のアプリケーションに対して悪影響を及ぼすおそれがある。また、外部接続されるデバイスと、車載ネットワークに接続されている他のＥＣＵとの協調動作は考慮されていない。特許文献２には追加機器の管理技術は開示されていない。
【０００７】
本開示の目的は、車載コンピュータに外部機器が接続された場合において、セキュアに外部機器を動作させることができ、しかも他の車載制御装置と協調動作可能な態様で車載ネットワークに接続することが可能な車載コンピュータ、コンピュータ実行方法及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本態様に係る車載コンピュータは、車載コンピュータであって、車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、外部機器が接続される接続部と、該接続部に前記外部機器が接続された場合、前記物理リソースを割り当てて仮想制御装置を生成する管理処理部とを備え、前記仮想制御装置は、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作する。
【０００９】
本態様に係るコンピュータ実行方法は、車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、外部機器が接続される接続部とを備えた車載コンピュータは、前記接続部に前記外部機器が接続されたか否かを判定し、該接続部に前記外部機器が接続されたと判定した場合、前記物理リソースを割り当てて仮想制御装置を生成する処理を実行し、前記仮想制御装置は、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作する。
【００１０】
本態様に係るコンピュータプログラムは、車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、外部機器が接続される接続部とを備えた車載コンピュータに、前記接続部に前記外部機器が接続されたか否かを判定し、該接続部に前記外部機器が接続されたと判定した場合、前記物理リソースを割り当てて仮想制御装置を生成し、前記仮想制御装置は、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作させる処理を実行させる。
【発明の効果】
【００１１】
上記によれば、車載コンピュータに外部機器が接続された場合において、セキュアに外部機器を動作させることができ、しかも他の車載制御装置と協調動作可能な態様で車載ネットワークに接続することが可能な車載コンピュータ、コンピュータ実行方法及びコンピュータプログラムを提供することが可能となる。
【００１２】
なお、本願は、このような特徴的な処理部を備える管理処理部として実現することができるだけでなく、上記の通り、かかる特徴的な処理をステップとする管理処理方法として実現したり、かかるステップをコンピュータに実行させるためのプログラムとして実現したりすることができる。また、管理処理部の一部又は全部を実現する半導体集積回路として実現したり、管理処理部を含むその他のシステムとして実現したりすることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は車載通信システムの構成例を示すブロック図である。
【図２】図２は車載通信システムのネットワーク構成を示すブロック図である。
【図３】図３は車載コンピュータの機能ブロック図である。
【図４】図４は仮想ＥＣＵの管理処理手順を示すフローチャートである。
【図５】図５は仮想ＥＣＵの生成処理手順を示すフローチャートである。
【図６】図６は仮想ＥＣＵが生成される前の状態を示す機能ブロック図である。
【図７】図７は仮想ＥＣＵが生成された状態を示す機能ブロック図である。
【図８】図８は仮想ＥＣＵが消滅した状態を示す機能ブロック図である。
【発明を実施するための形態】
【００１４】
［本開示の実施形態の説明］
最初に本開示の実施態様を列記して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【００１５】
（１）本態様に係る車載コンピュータは、車載コンピュータであって、車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、外部機器が接続される接続部と、該接続部に前記外部機器が接続された場合、前記物理リソースを割り当てて仮想制御装置を生成する管理処理部とを備え、前記仮想制御装置は、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作する。
【００１６】
本態様によれば、接続部に外部機器が接続された場合、管理処理部は、車載コンピュータの物理リソースを割り当てて、当該外部機器の動作を制御する仮想制御装置を生成する。言い換えると、仮想制御装置は外部機器に代替し、車載通信線に接続された仮想的な車載制御装置として動作する。外部機器に係る仮想制御装置は、仮想環境上で動作する装置であるため、車載コンピュータのＯＳ、外部の車載制御装置に及ぶ悪影響を低減することができる。また、外部機器は、車載通信線に接続された仮想制御装置として機能するため、他の車載制御装置とデータを送受信する等、協調動作が可能な状態となる。
なお、外部機器は、コンピュータ機器に限定されるものでは無く、車載コンピュータ、車載通信線に接続された他の車載制御装置等の動作に影響を与え得る任意の装置、機器が含まれる。例えば、外部機器はアクチュエータを含む機器、センサを含む機器、画像表示機器、オーディオ機器、通信機器、故障診断機器等が含まれる。
【００１７】
（２）前記管理処理部は、前記接続部に前記外部機器が接続された場合、前記外部機器の認証を行い、認証に成功した場合、前記仮想制御装置を生成する構成が好ましい。
【００１８】
本態様によれば、外部機器の認証を行った上で、当該外部機器の仮想制御装置を生成する構成であるため、セキュリティを向上させることができる。
【００１９】
（３）本態様に係る車載コンピュータは、前記管理処理部は、前記外部機器に係る前記仮想制御装置を動作させるためのプログラムを外部サーバから取得し、取得した前記プログラムを前記仮想制御装置に与える構成が好ましい。
【００２０】
本態様によれば、外部機器を仮想制御装置として動作させるためのプログラムを外部サーバから取得する構成であるため、車載コンピュータの記憶部は外部機器用のプログラムを記憶する必要はない。つまり、記憶部の容量を削減することができる。
【００２１】
（４）本態様に係る車載コンピュータは、前記管理処理部は、前記外部機器に係る前記仮想制御装置を動作させるためのプログラムを前記外部機器から取得し、取得した前記プログラムを前記仮想制御装置に与える構成が好ましい。
【００２２】
本態様によれば、外部機器を仮想制御装置として動作させるためのプログラムを当該外部機器から取得する構成であるため、車載コンピュータの記憶部は外部機器用のプログラムを記憶する必要はない。つまり、記憶部の容量を削減することができる。
【００２３】
（５）本態様に係る車載コンピュータは、前記管理処理部は、前記仮想制御装置の生成処理の進捗状況を表示するための情報を送信する構成が好ましい。
【００２４】
本態様によれば、仮想制御装置の生成処理の進捗状況を表示するための情報を送信することによって、ユーザは仮想制御装置の生成処理に係る進捗を確認することができる。
【００２５】
（６）前記管理処理部は、前記接続部から前記外部機器が取り外された場合、前記仮想制御装置を消滅させる構成が好ましい。
【００２６】
本態様によれば、接続部から外部機器が取り外された場合、仮想制御装置を消滅させることができ、物理リソースを解放することができる。
【００２７】
（７）前記接続部から前記外部機器が取り外されたときから所定時間が経過するまで、前記仮想制御装置を保持し、前記所定時間が経過したときに前記仮想制御装置を消滅させる構成が好ましい。
【００２８】
本態様によれば、接続部から外部機器が取り外された場合、所定時間の経過を待って仮想制御装置を消滅させる構成であるため、所定時間以内に外部機器が再接続された場合、当該外部機器に係る仮想制御装置を直ちに利用することができる。
【００２９】
（８）前記管理処理部は、前記仮想制御装置の動作を監視しており、前記仮想制御装置の動作に異常がある場合、前記仮想制御装置を消滅させる構成が好ましい。
【００３０】
本態様によれば、仮想制御装置の動作に異常があった場合、仮想制御装置を消滅させることができる。従って、車載システムのセキュリティを向上させることができる。
【００３１】
（９）前記管理処理部は、前記仮想制御装置の生成、動作及び消滅のログを記憶する構成が好ましい。
【００３２】
本態様によれば、仮想制御装置の生成、動作、消滅に係るログを残すことができる。
【００３３】
（１０）本態様に係るコンピュータ実行方法は、車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、外部機器が接続される接続部とを備えた車載コンピュータは、前記接続部に外部機器が接続されたか否かを判定し、該接続部に前記外部機器が接続されたと判定した場合、前記物理リソースを割り当てて仮想制御装置を生成する処理を実行し、前記仮想制御装置は、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作する。
【００３４】
本態様によれば、上記の通り、車載コンピュータに外部機器が接続された場合において、セキュアに外部機器を動作させることができる。また、他の車載制御装置と協調動作可能な態様で外部機器を車載ネットワークに接続することができる。
【００３５】
（１１）本態様に係るコンピュータプログラムは、車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、外部機器が接続される接続部とを備えた車載コンピュータに、前記接続部に外部機器が接続されたか否かを判定し、該接続部に前記外部機器が接続されたと判定した場合、前記物理リソースを割り当てて仮想制御装置を生成し、前記仮想制御装置は、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作させる処理を実行させる。
【００３６】
本態様によれば、車載コンピュータに外部機器が接続された場合において、セキュアに外部機器を動作させることができる。また、他の車載制御装置と協調動作可能な態様で外部機器を車載ネットワークに接続することができる。
【００３７】
［本開示の実施形態の詳細］
本開示の実施形態に係る車載通信システムを、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【００３８】
以下、本開示をその実施形態を示す図面に基づいて具体的に説明する。図１は車載通信システムの構成例を示すブロック図、図２は車載通信システムのネットワーク構成を示すブロック図、図３は車載コンピュータ１の機能ブロック図である。
【００３９】
本実施形態に係る車載通信システムは、車載コンピュータ１と、複数のエリアＥＣＵ２と、当該エリアＥＣＵ２に接続された端末機器３と、複数のＥＣＵ４と、外部機器５と、車外通信装置６と、表示装置７とを備える。複数のエリアＥＣＵ２及びＥＣＵ４はそれぞれ第１車載通信線１２１及び第２車載通信線１２２にて車載コンピュータ１に接続されている。車外通信装置６及び表示装置７は車載コンピュータ１の入出力Ｉ／Ｆ１４に接続されている。外部機器５は、車載コンピュータ１の接続部１３に着脱可能に接続される。外部機器５は、例えばコンピュータ機器である。ただし、外部機器５は、コンピュータ機器に限定されるものでは無く、車載コンピュータ１、第１車載通信線１２１に接続されたエリアＥＣＵ２、第２車載通信線１２２に接続されたＥＣＵ４の動作に影響を与え得る任意の装置、機器が含まれる。例えば、外部機器５はアクチュエータを含む機器、センサを含む機器、画像表示機器、オーディオ機器、通信機器、故障診断機器等が含まれる。
【００４０】
車載コンピュータ１は、制御部１０、記憶部１１、通信部１２、接続部１３及び入出力Ｉ／Ｆ１４を備える。車載コンピュータ１は、セントラルＥＣＵとも称される。通信部１２は、１又は複数のイーサネット（Ethernet／登録商標）通信部１２ａ及び１又は複数のＣＡＮ（Control Area Network）通信部１２ｂを含む。なお、本実施形態では、イーサネット通信部１２ａ及びＣＡＮ通信部１２ｂの双方を備える例を説明するが、イーサネット通信部１２ａのみを備える構成であっても良い。
【００４１】
記憶部１１は、ＲＡＭ（Random Access Memory）等の揮発性のメモリ素子と、フラッシュメモリ又はＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等の不揮発性のメモリ素子とを備える。記憶部１１は、仮想化オペレーティングシステム（仮想化ＯＳ）１１ａ、本実施形態に係るコンピュータプログラム（コンピュータＰＧ）１１ｂ、ゲストＯＳ１１ｃ、専用プログラム１１ｄ及び汎用プログラム１１ｅ、その他制御部１０の動作に必要な各種データを記憶する。また、記憶部１１は、外部機器５の識別情報と、当該外部機器５を仮想ＥＣＵ１０２として動作させるのに適したゲストＯＳ１１ｃと、専用プログラム１１ｄ又は汎用プログラム１１ｅとの対応関係を示すテーブルを記憶している。
【００４２】
仮想化オペレーティングシステム１１ａは、例えばＨｙｐｅｒｖｉｓｏｒである。仮想化オペレーティングシステム１１ａは、当該仮想化オペレーティングシステム１１ａ上に、仮想ＥＣＵ１０２が動作可能な複数の仮想環境を構築する機能を有する。仮想環境は、制御部１０、記憶部１１、通信部１２等を含む物理リソースを割り当ててなる仮想制御部、仮想記憶部、仮想イーサネット通信部、仮想ＣＡＮ通信部（図３中、空白ブロック）等を含む。仮想ＥＣＵ１０２はこれらの仮想ハードウェア上でゲストＯＳ１１ｃ及び各種プログラムを動作させることによって、実物の物理的なエリアＥＣＵ２又はＥＣＵ４のように動作する。つまり、仮想ＥＣＵ１０２は、第１車載通信線１２１に接続されたエリアＥＣＵ２、又は第２車載通信線１２２に接続されたＥＣＵ４として、他のエリアＥＣＵ２及びＥＣＵ４と通信を行うことができる。
また、仮想化オペレーティングシステム１１ａには、１又は複数の仮想ＥＣＵ１０２の生成、動作及び消滅を管理するための仮想管理ＥＣＵ１０１が生成されるものとする。仮想管理ＥＣＵ１０１は、仮想化オペレーティングシステム１１ａ上で常時動作している。仮想管理ＥＣＵ１０１は、仮想化オペレーティングシステム１１ａを用いて、他の仮想ＥＣＵ１０２を生成し、消滅させることができる。仮想管理ＥＣＵ１０１には、仮想ＥＣＵ１０２を生成するためのゲストＯＳ１１ｃ，専用プログラム１１ｄ、汎用プログラム１１ｅを記憶する仮想的な記憶部１１が割り当てられており、当該プログラム等にアクセスすることができる。仮想ＥＣＵ１０２は、外部機器５の動作を制御するための装置であって、第１車載通信線１２１又は第２車載通信線１２２に接続された仮想的な車載制御装置として動作するものである。言い換えると、仮想ＥＣＵ１０２は、外部機器５に代替して動作する装置である。また、仮想管理ＥＣＵ１０１は、仮想化オペレーティングシステム１１ａを通じて、各仮想ＥＣＵ１０２の動作状態を監視することができる。更に、仮想管理ＥＣＵ１０１は、仮想化オペレーティングシステム１１ａを通じて、接続部１３に接続される外部機器５の着脱状態を認識することができる。更にまた、仮想管理ＥＣＵ１０１は、車外通信装置６を介して外部サーバＡにもアクセスできるものとする。
【００４３】
コンピュータプログラム１１ｂは、車載コンピュータ１に外部機器５が着脱された際に、外部機器５の動作を制御するための装置であって、第１車載通信線１２１又は第２車載通信線１２２に接続された仮想的な車載制御装置として動作する仮想ＥＣＵ１０２を生成及び消滅させる等、仮想ＥＣＵ１０２の管理を行うためのプログラムである。コンピュータプログラム１１ｂは、例えば、仮想管理ＥＣＵ１０１が実行する。
【００４４】
ゲストＯＳ１１ｃは、仮想ＥＣＵ１０２を動作させるためのＯＳである。ゲストＯＳ１１ｃは、仮想的ハードウェアを有する仮想ＥＣＵ１０２にインストールされ、仮想ＥＣＵ１０２の基本ＯＳとして機能する。ゲストＯＳ１１ｃは、例えば、Ａｕｔｏｓａｒ、Ｌｉｎｕｘ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）、ＱＮＸ（登録商標）、Ｕｂｕｎｔｕ（登録商標）等である。
【００４５】
専用プログラム１１ｄ及び汎用プログラム１１ｅは、外部機器５の動作を制御するための装置であって、第１車載通信線１２１又は第２車載通信線１２２に接続された仮想的な車載制御装置として動作する仮想ＥＣＵ１０２にインストールされ動作するプログラムである。専用プログラム１１ｄは、車載コンピュータ１に接続される特定の外部機器５を動作させるための専用のプログラムである。汎用プログラム１１ｅは、車載コンピュータ１に接続される外部機器５の専用プログラム１１ｄを入手できない場合に、各種外部機器５の基本的な機能を実現するためのプログラムである。
【００４６】
なお、上記各種プログラムは、車載コンピュータ１の製造段階において記憶部１１に書き込まれてもよい。外部サーバ装置（不図示）などが配信するものを車載コンピュータ１が通信にて取得してもよい。メモリカード又は光ディスク等の記録媒体に記録されたものを車載コンピュータ１が読み出して記憶部１１に記憶してもよい。記録媒体に記録されたものを書込装置が読み出して車載コンピュータ１の記憶部１１に書き込んでもよい。各種プログラムは、ネットワークを介した配信の態様で提供されてもよい。各種プログラムは、記録媒体に記録された態様で提供されてもよい。
【００４７】
制御部１０は、例えばＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro-Processing Unit）等の演算処理装置を用いて構成され、記憶部１１に記憶された仮想化オペレーティングシステム１１ａ、コンピュータプログラム１１ｂ等を読み出して実行することにより、種々の演算処理を行う。また、制御部１０は、任意の経過時間を計時するためのタイマを有する。
【００４８】
イーサネット通信部１２ａは、１００ＢＡＳＥ−Ｔ１又は１０００ＢＡＳＥ−Ｔ１等の通信プロトコルに準拠して通信を行うイーサネットＰＨＹ部である。イーサネット通信部１２ａには、上記通信プロトコルに準拠した第１車載通信線１２１を介して複数のエリアＥＣＵ２が接続されている。エリアＥＣＵ２は、例えば図２に示すように、車両Ｃの右前、左前、右後、左後等、特定のエリアに設けられた端末機器３の動作を制御する電子制御ユニットである。端末機器３は、車外を撮像する車載カメラ、ＬＩＤＡＲ（Light Detection And Ranging）、車内カメラ等の各種センサである。端末機器３は、エンターテイメント系の画像、音声を出力するオーディオ装置であっても良い。また、端末機器３は、電子制御ユニットであっても良い。
なお、一部又は全部の端末機器３の動作及び各種演算処理は車載コンピュータ１側で実行されるように構成することができる。しかし、安全性確保のためのシステム冗長化の観点から、エリアＥＣＵ２は、車載コンピュータ１が異常停止した場合に、自装置及び端末機器３の最低限の動作を制御できるように構成することが望ましい。
【００４９】
ＣＡＮ通信部１２ｂは、ＣＡＮ通信プロトコルに準拠して通信を行うＣＡＮトランシーバである。ＣＡＮ通信部１２ｂには、ＣＡＮ通信プロトコルに準拠した第２車載通信線１２２を介して複数のＥＣＵ４が接続されている。
ＣＡＮ通信部１２ｂを複数備える場合、複数のＥＣＵ４は複数の機能ドメイン毎に、それぞれ対応するＣＡＮ通信部１２ｂに接続される。複数の機能ドメインには、例えば、認知系のドメイン、判断系のドメイン、操作系のドメイン等がある。車載コンピュータ１は、各ＣＡＮ通信部１２ｂに接続されたＥＣＵ４が送受信するデータを中継する中継装置として機能する。
【００５０】
認知系のドメインに属するＥＣＵ４は、例えば、車載カメラ、ＬＩＤＡＲ、超音波センサ、ミリ波センサ等のセンサと接続している。当該ＥＣＵ４は、当該センサから出力された出力値を例えばデジタル変換し、第２車内通信線を介して判断系ドメインのＥＣＵ４へ送信する。
判断系のドメインに属するＥＣＵ４は、例えば、認知系ドメインに属するＥＣＵ４から送信されたデータを受信する。判断系ドメインのＥＣＵ４は、受信したデータに基づき、車両Ｃの自動運転機能を発揮するためのデータを生成し、又はデータを加工する処理を行う。判断系ドメインのＥＣＵ４は、当該生成等したデータを、第２車内通信線を介して操作系ドメインのＥＣＵ４へ送信する。
操作系のドメインに属するＥＣＵ４は、例えば、モータ、エンジン又はブレーキ等のアクチュエータと接続している。操作系のドメインのＥＣＵ４は、判断系ドメインのＥＣＵ４から送信されたデータを受信し、受信したデータに基づき当該アクチュエータの動作を制御して、車両Ｃの走行、停止又は操舵等の操作を行い、自動運転機能を発揮する。
なおここでは、ＣＡＮ通信部１２ｂに接続されたＥＣＵ４が、認知、判断、操作に係る処理を実行する例を説明したが、エリアＥＣＵ２及び車載コンピュータ１と協動でかかる操作を実行するように構成しても良い。特に、大容量のデータ通信が必要な処理はエリアＥＣＵ２側で実行することが望ましい。また、人工知能に係る演算処理等、高負荷の演算処理は、車載コンピュータ１側で実行するように構成しても良い。
【００５１】
接続部１３は、車載コンピュータ１に外部機器５を着脱可能に接続するための接続ポートである。制御部１０又は仮想管理ＥＣＵ１０１は、接続部１３の状態を監視しており、外部機器５の着脱を検出することができる。また、制御部１０は、接続部１３を介して外部機器５とデータを送受信する。接続部１３は、例えば、プラグアンドプレイが可能なＵＳＢポートである。なお、接続部１３は、イーサネットポート、ＣＡＮ通信ポートであっても良い。接続部１３に接続される外部機器５の種類は特に限定されるものでは無く、例えば、プロセッサ、メモリ、通信回路を備え、車載コンピュータ１の制御部１０とデータの送受信ができる構成であれば良い。
【００５２】
入出力Ｉ／Ｆ１４は、車外通信装置６及び表示装置７等と通信するためのインタフェースである。車外通信装置６及び表示装置７は、シリアルケーブル等のワイヤーハーネスを介して入出力Ｉ／Ｆ１４に接続されている。
【００５３】
車外通信装置６は、無線通信を行うためのアンテナ６０を備え、ＷｉＦｉ等のインターネット通信ネットワーク、３Ｇ、ＬＴＥ、４Ｇ、５Ｇ等のモバイル通信ネットワークを通じて無線通信を行う通信装置である。車外通信装置６は、例えばテレマティクス制御ユニット（ＴＣＵ）である。車外通信装置６は、例えば、外部サーバＡとデータの送受信を行う。外部サーバＡは、外部機器５を仮想ＥＣＵ１０２として動作させるために必要な専用プログラム１１ｄを記憶している。車外通信装置６は、必要な専用プログラム１１ｄの配信を外部サーバＡに要求し、外部サーバＡは要求に応じて専用プログラム１１ｄを車載通信装置へ無線送信する。車載コンピュータ１は、車外通信装置６にて当該専用プログラム１１ｄを取得することができる。
【００５４】
なお、本実施形態は車外通信装置６と車載コンピュータ１が別体であるものとして説明するが、車載コンピュータ１が車外通信装置６の構成ないし機能を有するように構成しても良い。
【００５５】
また、外部サーバＡは、ＯＴＡサーバであっても良い。当該外部サーバＡは、車載コンピュータ１、エリアＥＣＵ２、ＥＣＵ４等のプログラム、仮想ＥＣＵ１０２用のゲストＯＳ１１ｃ、専用プログラム１１ｄ、汎用プログラム１１ｅを更新するための更新プログラムを送信する。車載コンピュータ１は、外部サーバＡから送信された更新プログラムを受信する。車載コンピュータ１は、受信した更新プログラムを用いて、自装置である車載コンピュータ１、エリアＥＣＵ２、ＥＣＵ４、仮想ＥＣＵ１０２の各種プログラムを更新する。
【００５６】
表示装置７は、例えばカーナビゲーションのディスプレイ等のＨＭＩ（Human Machine Interface）装置である。表示装置７は、車載コンピュータ１の制御部１０から入出力Ｉ／Ｆ１４を介して出力されたデータ又は情報を表示する。
【００５７】
図４は仮想ＥＣＵ１０２の管理処理手順を示すフローチャートである。仮想管理ＥＣＵ１０１は、接続部１３に外部機器５が接続されたか否かを判定する（ステップＳ１１）。外部機器５が接続されていないと判定した場合（ステップＳ１１：ＮＯ）、仮想管理ＥＣＵ１０１は、処理をステップＳ１１へ戻し、待機する。
【００５８】
接続部１３に外部機器５が接続されたと判定した場合（ステップＳ１１：ＹＥＳ）、仮想ＥＣＵ１０２の生成、動作及び消滅に係るログの記録を開始する（ステップＳ１２）。なお、仮想ＥＣＵ１０２は、外部機器５の接続の有無にかかわらず、ログを常時記録するように構成しても良い。
【００５９】
次いで、仮想管理ＥＣＵ１０１は、仮想化オペレーティングシステム１１ａを用いて、接続部１３に接続された外部機器５の動作を制御するための装置であって、第１車載通信線１２１又は第２車載通信線１２２に接続された仮想的な車載制御装置として動作する仮想ＥＣＵ１０２を生成する処理を実行する（ステップＳ１３）。
【００６０】
仮想ＥＣＵ１０２の生成処理を説明する。
図５は仮想ＥＣＵ１０２の生成処理手順を示すフローチャート、図６は仮想ＥＣＵ１０２が生成される前の状態を示す機能ブロック図、図７は仮想ＥＣＵ１０２が生成された状態を示す機能ブロック図である。
【００６１】
仮想管理ＥＣＵ１０１は、接続された外部機器５の認証を行い（ステップＳ５１）、認証に成功したか否かを判定する（ステップＳ５２）。外部機器５の認証は公知の手法で行えば良い。例えば、外部機器５の、ＭＡＣアドレス、ＩＰアドレス、所定の機器コード等の識別情報が予め車載コンピュータ１、認証に係る処理を実行するＥＣＵ４、外部の認証サーバに登録されているものと一致するか否かを判定することにより行う。以下、仮想管理ＥＣＵ１０１は、必要に応じて外部機器５と通信を行うことができるが、他の仮想ＥＣＵ１０２は、外部機器５と情報のやり取りを行うことはできず、仮想管理ＥＣＵ１０１を通じた通信も制限される。
【００６２】
外部機器５の認証に失敗したと判定した場合（ステップＳ５２：ＮＯ）、仮想管理ＥＣＵ１０１は、仮想ＥＣＵ１０２を生成すること無く、処理を終える。
【００６３】
外部機器５の認証に成功したと判定した場合（ステップＳ５２：ＹＥＳ）、仮想管理ＥＣＵ１０１は、仮想ＥＣＵ１０２の生成処理の進捗状況を示す情報を表示装置７に表示する処理を開始する（ステップＳ５３）。具体的には、仮想管理ＥＣＵ１０１は、仮想ＥＣＵ１０２の生成を開始することを示す情報を表示装置７へ送信する。以後、仮想管理ＥＣＵ１０１は、仮想環境が生成されたこと、ゲストＯＳ１１ｃがインストールされたこと、外部機器５用のプログラムがインストールされたこと、仮想ＥＣＵ１０２が動作可能になったこと等の情報を表示装置７へ送信する。また、仮想管理ＥＣＵ１０１は、仮想ＥＣＵ１０２が動作可能になるまでの所要時間を推定し、動作開始までの予想時間を示す情報を表示装置７へ送信しても良い。表示装置７は、仮想管理ＥＣＵ１０１から送信された情報を受信し、当該情報に基づく画像を表示する。
【００６４】
次いで、仮想管理ＥＣＵ１０１は、仮想化オペレーティングシステム１１ａを用いて、外部機器５の動作を制御する装置であって、第１車載通信線１２１又は第２車載通信線１２２に接続された仮想的な車載制御装置として動作する仮想ＥＣＵ１０２に必要な物理リソースを割り当てることにより、仮想環境を構成し、当該仮想ＥＣＵ１０２を生成する（ステップＳ５４）。
【００６５】
次いで、仮想管理ＥＣＵ１０１は、外部機器５の識別情報に基づいて、当該外部機器５を動作させるために必要な専用プログラム１１ｄを記憶部１１が記憶しているか否かを判定する（ステップＳ５５）。記憶部１１が専用プログラム１１ｄを記憶していると判定した場合（ステップＳ５５：ＹＥＳ）、仮想管理ＥＣＵ１０１は、記憶部１１から専用プログラム１１ｄを読み出す（ステップＳ５６）。
【００６６】
ステップＳ５５において記憶部１１が専用プログラム１１ｄを記憶していないと判定した場合（ステップＳ５５：ＮＯ）、仮想管理ＥＣＵ１０１は、外部機器５と通信を行い、外部機器５が専用プログラム１１ｄを有しているか否かを判定する（ステップＳ５７）。外部機器５が専用プログラム１１ｄを有していると判定した場合（ステップＳ５７：ＹＥＳ）、外部機器５から専用プログラム１１ｄを取得し、取得した専用プログラム１１ｄを記憶部１１に記憶する（ステップＳ５８）。また、仮想管理ＥＣＵ１０１は、外部機器５の識別情報と、専用プログラム１１ｄとの対応関係を記憶部１１に記憶させる。
【００６７】
ステップＳ５７において外部機器５が専用プログラム１１ｄを有していないと判定した場合（ステップＳ５７：ＮＯ）、仮想管理ＥＣＵ１０１は、外部サーバＡに専用プログラム１１ｄがあるか否かを判定する（ステップＳ５９）。具体的には、仮想管理ＥＣＵ１０１は、端末機器３の識別情報を用いて、当該外部機器５用の専用プログラム１１ｄの有無を外部サーバＡに問い合わせ、専用プログラム１１ｄの有無を確認する。
【００６８】
外部サーバＡに専用プログラム１１ｄがあると判定した場合（ステップＳ５９：ＹＥＳ）、仮想管理ＥＣＵ１０１は、外部サーバＡから、外部機器５用の専用プログラム１１ｄを取得し、記憶部１１に記憶させる（ステップＳ６０）。仮想管理ＥＣＵ１０１は、外部機器５の識別情報と、専用プログラム１１ｄとの対応関係を記憶部１１に記憶させる。
【００６９】
ステップＳ５９において、外部サーバＡに専用プログラム１１ｄがないと判定した場合（ステップＳ５９：ＮＯ）、仮想管理ＥＣＵ１０１は、テーブルを参照し、記憶部１１から外部機器５に適した汎用プログラム１１ｅを読み出す（ステップＳ６１）。
【００７０】
ステップＳ５６、５８、６０又は６１の処理を終えた仮想管理ＥＣＵ１０１は、仮想ＥＣＵ１０２にゲストＯＳ１１ｃをインストールし、次いで、専用プログラム１１ｄ又は汎用プログラム１１ｅをインストールする（ステップＳ６２）。つまり、仮想ＥＣＵ１０２は、割り当てられた記憶部１１（仮想記憶部）にゲストＯＳ１１ｃと、専用プログラム１１ｄ又は汎用プログラム１１ｅとを記憶する。
【００７１】
次いで、仮想管理ＥＣＵ１０１は、外部機器５に係る仮想ＥＣＵ１０２の生成が完了した場合、仮想ＥＣＵ１０２の生成が完了したことを示す情報を表示装置７へ送信し、仮想ＥＣＵ１０２の生成処理を終了する（ステップＳ６３）。
【００７２】
以上の処理により、図６及び図７に示すように仮想ＥＣＵ１０２が生成される。図６は、接続部１３に外部機器５が接続されておらず、仮想管理ＥＣＵ１０１のみが動作している状態を示している。この状態で図７に示すように接続部１３に外部機器５が接続されると、仮想管理ＥＣＵ１０１は、仮想化オペレーティングに命令する等して、当該外部機器５の動作を制御する装置であって、第１車載通信線１２１又は第２車載通信線１２２に接続された仮想的な車載制御装置として動作する仮想ＥＣＵ１０２を生成する。以後、仮想ＥＣＵ１０２は、仮想化オペレーティングシステム１１ａ上に生成される他の仮想ＥＣＵ１０２、第１車載通信線１２１に接続されるエリアＥＣＵ２，第２車載通信線１２２に接続されるＥＣＵ４等と通信を行うことが可能になる。もちろん、仮想管理ＥＣＵ１０１によって、外部機器５が仮想ＥＣＵ１０２としてアクセス可能な範囲は適宜制限される。また、逆にエリアＥＣＵ２、ＥＣＵ４が外部機器５の仮想ＥＣＵ１０２にアクセスできる範囲も管理する。仮想管理ＥＣＵ１０１は、ＶＬＡＮで外部機器５に係る仮想ＥＣＵ１０２を適宜分離しても良い。
【００７３】
図４に示すように、仮想ＥＣＵ１０２の生成処理を終えた仮想管理ＥＣＵ１０１は、生成した仮想ＥＣＵ１０２の動作を監視し（ステップＳ１４）、仮想ＥＣＵ１０２の動作の異常があるか否かを判定する。具体的には、仮想化オペレーティングは、仮想ＥＣＵ１０２に割り当てた物理リソースの使用量、外部へのアクセス動作等を監視しており、監視して得た情報を仮想管理ＥＣＵ１０１に与える。仮想管理ＥＣＵ１０１は、仮想化オペレーティングシステム１１ａから監視結果に係る情報を取得し、取得した情報に基づいて、仮想ＥＣＵ１０２の動作が異常であるか否かを判定する。
【００７４】
仮想ＥＣＵ１０２の動作が異常であると判定した場合（ステップＳ１５：ＹＥＳ）、仮想管理ＥＣＵ１０１は、仮想ＥＣＵ１０２を消滅させる（ステップＳ２２）。
【００７５】
仮想ＥＣＵ１０２の動作が正常であると判定した場合（ステップＳ１５：ＮＯ）、仮想管理ＥＣＵ１０１は、接続部１３から外部機器５が取り外されたか否かを判定する（ステップＳ１６）。外部機器５が取り外されていないと判定した場合（ステップＳ１６：ＮＯ）、仮想管理ＥＣＵ１０１は処理をステップＳ１４へ戻す。
【００７６】
外部機器５が取り外されたと判定した場合（ステップＳ１６：ＹＥＳ）、仮想管理ＥＣＵ１０１は、取り外された外部機器５に対応する仮想ＥＣＵ１０２の動作を一時的に停止させ（ステップＳ１７）、計時を開始する（ステップＳ１８）。つまり、仮想管理ＥＣＵ１０１は、仮想ＥＣＵ１０２を即座に消滅させるのでは無く、仮想ＥＣＵ１０２を動作再開可能な状態で保持する。
【００７７】
次いで、仮想管理ＥＣＵ１０１は、外部機器５が取り外されて所定時間が経過したか否かを判定する（ステップＳ１９）。所定時間が経過したと判定した場合（ステップＳ１９：ＹＥＳ）、仮想管理ＥＣＵ１０１は、取り外された外部機器５に対応する仮想ＥＣＵ１０２を消滅させる（ステップＳ２２）。
【００７８】
図８は仮想ＥＣＵ１０２が消滅した状態を示す機能ブロック図である。図７及び図８に示すように、接続部１３から外部機器５が取り外され、所定時間が経過した場合、外部機器５に対応する仮想ＥＣＵ１０２は消滅する。
そして、消滅させた仮想管理ＥＣＵ１０１の物理リソースを再分配し（ステップＳ２３）、処理を終える。
【００７９】
所定時間が経過していないと判定した場合（ステップＳ１９：ＮＯ）、動作停止中の仮想ＥＣＵ１０２に対応する外部機器５が再び接続部１３に接続されたか否かを判定する（ステップＳ２０）。外部機器５の再接続は、当該外部機器５の識別情報に基づいて判定すれば良い。
【００８０】
外部機器５が再接続されていないと判定した場合（ステップＳ２０：ＮＯ）、仮想管理ＥＣＵ１０１は、処理をステップＳ１９へ戻す。外部機器５が再接続されたと判定した場合（ステップＳ２０：ＹＥＳ）、仮想管理ＥＣＵ１０１は、再接続された外部機器５に対応する仮想ＥＣＵ１０２の動作を再開させ（ステップＳ２１）、処理をステップＳ１４へ戻す。
【００８１】
このように構成された車載コンピュータ１、コンピュータ実行方法及びコンピュータプログラム１１ｂによれば、車載コンピュータ１に外部機器５が接続された場合において、セキュアに外部機器５を動作させることができ、しかも他の車載制御装置と協調動作可能な態様で車載ネットワークに接続することができる。
【００８２】
外部機器５の認証を行った上で、当該外部機器５の仮想ＥＣＵ１０２を生成する構成であるため、セキュリティを向上させることができる。
【００８３】
外部機器５を仮想ＥＣＵ１０２として動作させるためのプログラムを外部サーバＡから取得する構成であるため、記憶部１１の容量を削減することができる。
【００８４】
外部機器５を仮想ＥＣＵ１０２として動作させるためのプログラムを当該外部機器５から取得する構成であるため、記憶部１１の容量を削減することができる。
【００８５】
仮想ＥＣＵ１０２の生成処理の進捗状況を表示するための情報を送信することによって、ユーザは仮想ＥＣＵ１０２の生成処理に係る進捗を確認することができる。
【００８６】
接続部１３から外部機器５が取り外された場合、仮想ＥＣＵ１０２を消滅させることができ、物理リソースを解放することができる。
【００８７】
接続部１３から外部機器５が取り外された場合、所定時間の経過を待って仮想ＥＣＵ１０２を消滅させる構成であるため、所定時間以内に外部機器５が再接続された場合、当該外部機器５に係る仮想ＥＣＵ１０２を直ちに利用することができる。
【００８８】
仮想ＥＣＵ１０２の動作に異常があった場合、仮想ＥＣＵ１０２を消滅させることができ、車載システムのセキュリティを向上させることができる。
【００８９】
仮想ＥＣＵ１０２の生成、動作、消滅に係るログを残すことができる。
【００９０】
本実施形態では、Ｈｙｐｅｒｖｉｓｏｒ型の仮想化オペレーティングシステム１１ａを用いて仮想環境を構築する例を説明したが、ホストＯＳ型の仮想化ソフトウェア、即ち基本ＯＳ上で動作する仮想化ソフトウェアを用いて仮想環境を構築しても良い。
【符号の説明】
【００９１】
１  車載コンピュータ
２  エリアＥＣＵ（車載制御装置）
３  端末機器
４  ＥＣＵ
５  外部機器
６  車外通信装置
７  表示装置
１０  制御部
１１  記憶部
１１ａ  仮想化オペレーティングシステム
１１ｂ  コンピュータプログラム
１１ｃ  ゲストＯＳ
１１ｄ  専用プログラム
１１ｅ  汎用プログラム
１２  通信部
１２ａ  イーサネット通信部
１２ｂ  ＣＡＮ通信部
１３  接続部
１４  入出力Ｉ／Ｆ
６０  アンテナ
１０１  仮想管理ＥＣＵ（管理処理部）
１０２  仮想ＥＣＵ（仮想的な車載制御装置）
１２１  第１車載通信線
１２２  第２車載通信線
Ａ  外部サーバ
Ｃ  車両
【図１】
2020173560.tif 000003
【図２】
2020173560.tif 000004
【図３】
2020173560.tif 000005
【図４】
2020173560.tif 000006
【図５】
2020173560.tif 000007
【図６】
2020173560.tif 000008
【図７】
2020173560.tif 000009
【図８】
2020173560.tif 000010