(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-13
(45)【発行日】2023-02-21
(54)【発明の名称】車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
(51)【国際特許分類】
G06F 8/60 20180101AFI20230214BHJP
G06F 21/44 20130101ALI20230214BHJP
B60R 16/02 20060101ALI20230214BHJP
【FI】
G06F8/60
G06F21/44
B60R16/02 660G
(21)【出願番号】P 2019074322
(22)【出願日】2019-04-09
【審査請求日】2021-09-28
(73)【特許権者】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(73)【特許権者】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】呉 ダルマワン
(72)【発明者】
【氏名】小方 賢太
【審査官】三坂 敏夫
(56)【参考文献】
【文献】特開2010-250620(JP,A)
【文献】特開2014-222468(JP,A)
【文献】特開2015-195491(JP,A)
【文献】特開2016-062140(JP,A)
【文献】特開2013-148938(JP,A)
【文献】特開2013-175232(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/00- 8/38
8/60- 8/77
9/44- 9/451
G06F 21/44
B60R 16/02
(57)【特許請求の範囲】
【請求項1】
車載コンピュータであって、
車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、
外部機器が接続される接続部と、
該接続部に前記外部機器が接続された場合、前記物理リソースを割り当てて仮想制御装置を生成する管理処理部と
を備え、
前記仮想制御装置は、
前記車載制御装置と通信する仮想通信部、仮想制御部及び仮想記憶部を有し、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作する
車載コンピュータ。
【請求項2】
前記管理処理部は、
前記接続部に前記外部機器が接続された場合、前記外部機器の認証を行い、
認証に成功した場合、前記仮想制御装置を生成する
請求項1に記載の車載コンピュータ。
【請求項3】
前記管理処理部は、
前記外部機器に係る前記仮想制御装置を動作させるためのプログラムを外部サーバから取得し、
取得した前記プログラムを前記仮想制御装置に与える
請求項1又は請求項2のいずれか1項に記載の車載コンピュータ。
【請求項4】
前記管理処理部は、
前記外部機器に係る前記仮想制御装置を動作させるためのプログラムを前記外部機器から取得し、
取得した前記プログラムを前記仮想制御装置に与える
請求項1又は請求項2のいずれか1項に記載の車載コンピュータ。
【請求項5】
前記管理処理部は、
前記仮想制御装置の生成処理の進捗状況を表示するための情報を送信する
請求項1から請求項4のいずれか1項に記載の車載コンピュータ。
【請求項6】
前記管理処理部は、
前記接続部から前記外部機器が取り外された場合、前記仮想制御装置を消滅させる
請求項1から請求項5のいずれか1項に記載の車載コンピュータ。
【請求項7】
前記接続部から前記外部機器が取り外されたときから所定時間が経過するまで、前記仮想制御装置を保持し、前記所定時間が経過したときに前記仮想制御装置を消滅させる
請求項1から請求項6のいずれか1項に記載の車載コンピュータ。
【請求項8】
前記管理処理部は、
前記仮想制御装置の動作を監視しており、
前記仮想制御装置の動作に異常がある場合、前記仮想制御装置を消滅させる
請求項1から請求項6のいずれか1項に記載の車載コンピュータ。
【請求項9】
前記管理処理部は、
前記仮想制御装置の生成、動作及び消滅のログを記憶する
請求項6から請求項8のいずれか1項に記載の車載コンピュータ。
【請求項10】
車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、外部機器が接続される接続部とを備えた車載コンピュータは、
前記接続部に前記外部機器が接続されたか否かを判定し、
該接続部に前記外部機器が接続されたと判定した場合、前記物理リソースを割り当てて仮想制御装置を生成する
処理を実行し、
前記仮想制御装置は、
前記車載制御装置と通信する仮想通信部、仮想制御部及び仮想記憶部を有し、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作する
コンピュータ実行方法。
【請求項11】
車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、外部機器が接続される接続部とを備えた車載コンピュータに、
前記接続部に前記外部機器が接続されたか否かを判定し、
該接続部に前記外部機器が接続されたと判定した場合、前記物理リソースを割り当てて仮想制御装置を生成し、
前記仮想制御装置は、
前記車載制御装置と通信する仮想通信部、仮想制御部及び仮想記憶部を有し、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作させる
処理を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車載コンピュータ、コンピュータ実行方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
車両には、車載ネットワークに接続された複数の電子制御ユニット(ECU:Electronic Control Unit、以下、ECUと呼ぶ。)が搭載されている。複数のECUは、例えばパワー・トレーン系、ボディ系、空調系等のドメイン毎にまとめられ、セントラルゲートウェイに接続されている。
近年、インターネットに常時接続するコネクティッドカー機能、OTA(Over The Air)リプログラミング機能、先進運転支援システム(ADAS: Advanced Driver-Assistance Systems)、自動運転技術、人工知能技術等の導入に伴い、車載ネットワークが複雑化しており、ECU又は車載ネットワークに追加接続される機器のセキュアな管理、協調動作制御が困難になりつつある。
【0003】
機器が外部接続されるECUに関して、特許文献1には、プラグアンドプレイに準拠するデバイスが外部から接続可能な接続ポートを備えた車載装置が開示されている。当該デバイスは、例えば動作ログ書き込み用の記憶装置である。
【0004】
一方、特許文献2には、HyperVisor等を利用した仮想化技術により、物理プロセッサを複数の仮想プロセッサコアとして並列動作させ、複数の機能処理部を独立的に動作させることが可能な車載装置が開示されている。特許文献2に係る車載装置は、アプリケーションを実行する機能ドメインと、アプリケーションのバックアップデータを揮発性メモリから不揮発性メモリに書き込むバックアップ処理ドメインとを備えており、各ドメインは独立的に動作する。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2016-60328号公報
【文献】特開2017-87773号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1においては、接続ポートに接続されたデバイスを、車載装置のOS上で直接動作させると、起動中の他のアプリケーションに対して悪影響を及ぼすおそれがある。また、外部接続されるデバイスと、車載ネットワークに接続されている他のECUとの協調動作は考慮されていない。特許文献2には追加機器の管理技術は開示されていない。
【0007】
本開示の目的は、車載コンピュータに外部機器が接続された場合において、セキュアに外部機器を動作させることができ、しかも他の車載制御装置と協調動作可能な態様で車載ネットワークに接続することが可能な車載コンピュータ、コンピュータ実行方法及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【0008】
本態様に係る車載コンピュータは、車載コンピュータであって、車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、外部機器が接続される接続部と、該接続部に前記外部機器が接続された場合、前記物理リソースを割り当てて仮想制御装置を生成する管理処理部とを備え、前記仮想制御装置は、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作する。
【0009】
本態様に係るコンピュータ実行方法は、車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、外部機器が接続される接続部とを備えた車載コンピュータは、前記接続部に前記外部機器が接続されたか否かを判定し、該接続部に前記外部機器が接続されたと判定した場合、前記物理リソースを割り当てて仮想制御装置を生成する処理を実行し、前記仮想制御装置は、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作する。
【0010】
本態様に係るコンピュータプログラムは、車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、外部機器が接続される接続部とを備えた車載コンピュータに、前記接続部に前記外部機器が接続されたか否かを判定し、該接続部に前記外部機器が接続されたと判定した場合、前記物理リソースを割り当てて仮想制御装置を生成し、前記仮想制御装置は、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作させる処理を実行させる。
【発明の効果】
【0011】
上記によれば、車載コンピュータに外部機器が接続された場合において、セキュアに外部機器を動作させることができ、しかも他の車載制御装置と協調動作可能な態様で車載ネットワークに接続することが可能な車載コンピュータ、コンピュータ実行方法及びコンピュータプログラムを提供することが可能となる。
【0012】
なお、本願は、このような特徴的な処理部を備える管理処理部として実現することができるだけでなく、上記の通り、かかる特徴的な処理をステップとする管理処理方法として実現したり、かかるステップをコンピュータに実行させるためのプログラムとして実現したりすることができる。また、管理処理部の一部又は全部を実現する半導体集積回路として実現したり、管理処理部を含むその他のシステムとして実現したりすることができる。
【図面の簡単な説明】
【0013】
【
図1】
図1は車載通信システムの構成例を示すブロック図である。
【
図2】
図2は車載通信システムのネットワーク構成を示すブロック図である。
【
図3】
図3は車載コンピュータの機能ブロック図である。
【
図4】
図4は仮想ECUの管理処理手順を示すフローチャートである。
【
図5】
図5は仮想ECUの生成処理手順を示すフローチャートである。
【
図6】
図6は仮想ECUが生成される前の状態を示す機能ブロック図である。
【
図7】
図7は仮想ECUが生成された状態を示す機能ブロック図である。
【
図8】
図8は仮想ECUが消滅した状態を示す機能ブロック図である。
【発明を実施するための形態】
【0014】
[本開示の実施形態の説明]
最初に本開示の実施態様を列記して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0015】
(1)本態様に係る車載コンピュータは、車載コンピュータであって、車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、外部機器が接続される接続部と、該接続部に前記外部機器が接続された場合、前記物理リソースを割り当てて仮想制御装置を生成する管理処理部とを備え、前記仮想制御装置は、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作する。
【0016】
本態様によれば、接続部に外部機器が接続された場合、管理処理部は、車載コンピュータの物理リソースを割り当てて、当該外部機器の動作を制御する仮想制御装置を生成する。言い換えると、仮想制御装置は外部機器に代替し、車載通信線に接続された仮想的な車載制御装置として動作する。外部機器に係る仮想制御装置は、仮想環境上で動作する装置であるため、車載コンピュータのOS、外部の車載制御装置に及ぶ悪影響を低減することができる。また、外部機器は、車載通信線に接続された仮想制御装置として機能するため、他の車載制御装置とデータを送受信する等、協調動作が可能な状態となる。
なお、外部機器は、コンピュータ機器に限定されるものでは無く、車載コンピュータ、車載通信線に接続された他の車載制御装置等の動作に影響を与え得る任意の装置、機器が含まれる。例えば、外部機器はアクチュエータを含む機器、センサを含む機器、画像表示機器、オーディオ機器、通信機器、故障診断機器等が含まれる。
【0017】
(2)前記管理処理部は、前記接続部に前記外部機器が接続された場合、前記外部機器の認証を行い、認証に成功した場合、前記仮想制御装置を生成する構成が好ましい。
【0018】
本態様によれば、外部機器の認証を行った上で、当該外部機器の仮想制御装置を生成する構成であるため、セキュリティを向上させることができる。
【0019】
(3)本態様に係る車載コンピュータは、前記管理処理部は、前記外部機器に係る前記仮想制御装置を動作させるためのプログラムを外部サーバから取得し、取得した前記プログラムを前記仮想制御装置に与える構成が好ましい。
【0020】
本態様によれば、外部機器を仮想制御装置として動作させるためのプログラムを外部サーバから取得する構成であるため、車載コンピュータの記憶部は外部機器用のプログラムを記憶する必要はない。つまり、記憶部の容量を削減することができる。
【0021】
(4)本態様に係る車載コンピュータは、前記管理処理部は、前記外部機器に係る前記仮想制御装置を動作させるためのプログラムを前記外部機器から取得し、取得した前記プログラムを前記仮想制御装置に与える構成が好ましい。
【0022】
本態様によれば、外部機器を仮想制御装置として動作させるためのプログラムを当該外部機器から取得する構成であるため、車載コンピュータの記憶部は外部機器用のプログラムを記憶する必要はない。つまり、記憶部の容量を削減することができる。
【0023】
(5)本態様に係る車載コンピュータは、前記管理処理部は、前記仮想制御装置の生成処理の進捗状況を表示するための情報を送信する構成が好ましい。
【0024】
本態様によれば、仮想制御装置の生成処理の進捗状況を表示するための情報を送信することによって、ユーザは仮想制御装置の生成処理に係る進捗を確認することができる。
【0025】
(6)前記管理処理部は、前記接続部から前記外部機器が取り外された場合、前記仮想制御装置を消滅させる構成が好ましい。
【0026】
本態様によれば、接続部から外部機器が取り外された場合、仮想制御装置を消滅させることができ、物理リソースを解放することができる。
【0027】
(7)前記接続部から前記外部機器が取り外されたときから所定時間が経過するまで、前記仮想制御装置を保持し、前記所定時間が経過したときに前記仮想制御装置を消滅させる構成が好ましい。
【0028】
本態様によれば、接続部から外部機器が取り外された場合、所定時間の経過を待って仮想制御装置を消滅させる構成であるため、所定時間以内に外部機器が再接続された場合、当該外部機器に係る仮想制御装置を直ちに利用することができる。
【0029】
(8)前記管理処理部は、前記仮想制御装置の動作を監視しており、前記仮想制御装置の動作に異常がある場合、前記仮想制御装置を消滅させる構成が好ましい。
【0030】
本態様によれば、仮想制御装置の動作に異常があった場合、仮想制御装置を消滅させることができる。従って、車載システムのセキュリティを向上させることができる。
【0031】
(9)前記管理処理部は、前記仮想制御装置の生成、動作及び消滅のログを記憶する構成が好ましい。
【0032】
本態様によれば、仮想制御装置の生成、動作、消滅に係るログを残すことができる。
【0033】
(10)本態様に係るコンピュータ実行方法は、車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、外部機器が接続される接続部とを備えた車載コンピュータは、前記接続部に外部機器が接続されたか否かを判定し、該接続部に前記外部機器が接続されたと判定した場合、前記物理リソースを割り当てて仮想制御装置を生成する処理を実行し、前記仮想制御装置は、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作する。
【0034】
本態様によれば、上記の通り、車載コンピュータに外部機器が接続された場合において、セキュアに外部機器を動作させることができる。また、他の車載制御装置と協調動作可能な態様で外部機器を車載ネットワークに接続することができる。
【0035】
(11)本態様に係るコンピュータプログラムは、車載通信線を介して車載制御装置と通信する通信部、制御部及び記憶部を含む物理リソースと、外部機器が接続される接続部とを備えた車載コンピュータに、前記接続部に外部機器が接続されたか否かを判定し、該接続部に前記外部機器が接続されたと判定した場合、前記物理リソースを割り当てて仮想制御装置を生成し、前記仮想制御装置は、前記接続部に接続された前記外部機器の動作を制御する、前記車載通信線に接続された仮想的な車載制御装置として動作させる処理を実行させる。
【0036】
本態様によれば、車載コンピュータに外部機器が接続された場合において、セキュアに外部機器を動作させることができる。また、他の車載制御装置と協調動作可能な態様で外部機器を車載ネットワークに接続することができる。
【0037】
[本開示の実施形態の詳細]
本開示の実施形態に係る車載通信システムを、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0038】
以下、本開示をその実施形態を示す図面に基づいて具体的に説明する。
図1は車載通信システムの構成例を示すブロック図、
図2は車載通信システムのネットワーク構成を示すブロック図、
図3は車載コンピュータ1の機能ブロック図である。
【0039】
本実施形態に係る車載通信システムは、車載コンピュータ1と、複数のエリアECU2と、当該エリアECU2に接続された端末機器3と、複数のECU4と、外部機器5と、車外通信装置6と、表示装置7とを備える。複数のエリアECU2及びECU4はそれぞれ第1車載通信線121及び第2車載通信線122にて車載コンピュータ1に接続されている。車外通信装置6及び表示装置7は車載コンピュータ1の入出力I/F14に接続されている。外部機器5は、車載コンピュータ1の接続部13に着脱可能に接続される。外部機器5は、例えばコンピュータ機器である。ただし、外部機器5は、コンピュータ機器に限定されるものでは無く、車載コンピュータ1、第1車載通信線121に接続されたエリアECU2、第2車載通信線122に接続されたECU4の動作に影響を与え得る任意の装置、機器が含まれる。例えば、外部機器5はアクチュエータを含む機器、センサを含む機器、画像表示機器、オーディオ機器、通信機器、故障診断機器等が含まれる。
【0040】
車載コンピュータ1は、制御部10、記憶部11、通信部12、接続部13及び入出力I/F14を備える。車載コンピュータ1は、セントラルECUとも称される。通信部12は、1又は複数のイーサネット(Ethernet/登録商標)通信部12a及び1又は複数のCAN(Control Area Network)通信部12bを含む。なお、本実施形態では、イーサネット通信部12a及びCAN通信部12bの双方を備える例を説明するが、イーサネット通信部12aのみを備える構成であっても良い。
【0041】
記憶部11は、RAM(Random Access Memory)等の揮発性のメモリ素子と、フラッシュメモリ又はEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリ素子とを備える。記憶部11は、仮想化オペレーティングシステム(仮想化OS)11a、本実施形態に係るコンピュータプログラム(コンピュータPG)11b、ゲストOS11c、専用プログラム11d及び汎用プログラム11e、その他制御部10の動作に必要な各種データを記憶する。また、記憶部11は、外部機器5の識別情報と、当該外部機器5を仮想ECU102として動作させるのに適したゲストOS11cと、専用プログラム11d又は汎用プログラム11eとの対応関係を示すテーブルを記憶している。
【0042】
仮想化オペレーティングシステム11aは、例えばHypervisorである。仮想化オペレーティングシステム11aは、当該仮想化オペレーティングシステム11a上に、仮想ECU102が動作可能な複数の仮想環境を構築する機能を有する。仮想環境は、制御部10、記憶部11、通信部12等を含む物理リソースを割り当ててなる仮想制御部、仮想記憶部、仮想イーサネット通信部、仮想CAN通信部(
図3中、空白ブロック)等を含む。仮想ECU102はこれらの仮想ハードウェア上でゲストOS11c及び各種プログラムを動作させることによって、実物の物理的なエリアECU2又はECU4のように動作する。つまり、仮想ECU102は、第1車載通信線121に接続されたエリアECU2、又は第2車載通信線122に接続されたECU4として、他のエリアECU2及びECU4と通信を行うことができる。
また、仮想化オペレーティングシステム11aには、1又は複数の仮想ECU102の生成、動作及び消滅を管理するための仮想管理ECU101が生成されるものとする。仮想管理ECU101は、仮想化オペレーティングシステム11a上で常時動作している。仮想管理ECU101は、仮想化オペレーティングシステム11aを用いて、他の仮想ECU102を生成し、消滅させることができる。仮想管理ECU101には、仮想ECU102を生成するためのゲストOS11c,専用プログラム11d、汎用プログラム11eを記憶する仮想的な記憶部11が割り当てられており、当該プログラム等にアクセスすることができる。仮想ECU102は、外部機器5の動作を制御するための装置であって、第1車載通信線121又は第2車載通信線122に接続された仮想的な車載制御装置として動作するものである。言い換えると、仮想ECU102は、外部機器5に代替して動作する装置である。また、仮想管理ECU101は、仮想化オペレーティングシステム11aを通じて、各仮想ECU102の動作状態を監視することができる。更に、仮想管理ECU101は、仮想化オペレーティングシステム11aを通じて、接続部13に接続される外部機器5の着脱状態を認識することができる。更にまた、仮想管理ECU101は、車外通信装置6を介して外部サーバAにもアクセスできるものとする。
【0043】
コンピュータプログラム11bは、車載コンピュータ1に外部機器5が着脱された際に、外部機器5の動作を制御するための装置であって、第1車載通信線121又は第2車載通信線122に接続された仮想的な車載制御装置として動作する仮想ECU102を生成及び消滅させる等、仮想ECU102の管理を行うためのプログラムである。コンピュータプログラム11bは、例えば、仮想管理ECU101が実行する。
【0044】
ゲストOS11cは、仮想ECU102を動作させるためのOSである。ゲストOS11cは、仮想的ハードウェアを有する仮想ECU102にインストールされ、仮想ECU102の基本OSとして機能する。ゲストOS11cは、例えば、Autosar、Linux(登録商標)、Android(登録商標)、QNX(登録商標)、Ubuntu(登録商標)等である。
【0045】
専用プログラム11d及び汎用プログラム11eは、外部機器5の動作を制御するための装置であって、第1車載通信線121又は第2車載通信線122に接続された仮想的な車載制御装置として動作する仮想ECU102にインストールされ動作するプログラムである。専用プログラム11dは、車載コンピュータ1に接続される特定の外部機器5を動作させるための専用のプログラムである。汎用プログラム11eは、車載コンピュータ1に接続される外部機器5の専用プログラム11dを入手できない場合に、各種外部機器5の基本的な機能を実現するためのプログラムである。
【0046】
なお、上記各種プログラムは、車載コンピュータ1の製造段階において記憶部11に書き込まれてもよい。外部サーバ装置(不図示)などが配信するものを車載コンピュータ1が通信にて取得してもよい。メモリカード又は光ディスク等の記録媒体に記録されたものを車載コンピュータ1が読み出して記憶部11に記憶してもよい。記録媒体に記録されたものを書込装置が読み出して車載コンピュータ1の記憶部11に書き込んでもよい。各種プログラムは、ネットワークを介した配信の態様で提供されてもよい。各種プログラムは、記録媒体に記録された態様で提供されてもよい。
【0047】
制御部10は、例えばCPU(Central Processing Unit)又はMPU(Micro-Processing Unit)等の演算処理装置を用いて構成され、記憶部11に記憶された仮想化オペレーティングシステム11a、コンピュータプログラム11b等を読み出して実行することにより、種々の演算処理を行う。また、制御部10は、任意の経過時間を計時するためのタイマを有する。
【0048】
イーサネット通信部12aは、100BASE-T1又は1000BASE-T1等の通信プロトコルに準拠して通信を行うイーサネットPHY部である。イーサネット通信部12aには、上記通信プロトコルに準拠した第1車載通信線121を介して複数のエリアECU2が接続されている。エリアECU2は、例えば
図2に示すように、車両Cの右前、左前、右後、左後等、特定のエリアに設けられた端末機器3の動作を制御する電子制御ユニットである。端末機器3は、車外を撮像する車載カメラ、LIDAR(Light Detection And Ranging)、車内カメラ等の各種センサである。端末機器3は、エンターテイメント系の画像、音声を出力するオーディオ装置であっても良い。また、端末機器3は、電子制御ユニットであっても良い。
なお、一部又は全部の端末機器3の動作及び各種演算処理は車載コンピュータ1側で実行されるように構成することができる。しかし、安全性確保のためのシステム冗長化の観点から、エリアECU2は、車載コンピュータ1が異常停止した場合に、自装置及び端末機器3の最低限の動作を制御できるように構成することが望ましい。
【0049】
CAN通信部12bは、CAN通信プロトコルに準拠して通信を行うCANトランシーバである。CAN通信部12bには、CAN通信プロトコルに準拠した第2車載通信線122を介して複数のECU4が接続されている。
CAN通信部12bを複数備える場合、複数のECU4は複数の機能ドメイン毎に、それぞれ対応するCAN通信部12bに接続される。複数の機能ドメインには、例えば、認知系のドメイン、判断系のドメイン、操作系のドメイン等がある。車載コンピュータ1は、各CAN通信部12bに接続されたECU4が送受信するデータを中継する中継装置として機能する。
【0050】
認知系のドメインに属するECU4は、例えば、車載カメラ、LIDAR、超音波センサ、ミリ波センサ等のセンサと接続している。当該ECU4は、当該センサから出力された出力値を例えばデジタル変換し、第2車内通信線を介して判断系ドメインのECU4へ送信する。
判断系のドメインに属するECU4は、例えば、認知系ドメインに属するECU4から送信されたデータを受信する。判断系ドメインのECU4は、受信したデータに基づき、車両Cの自動運転機能を発揮するためのデータを生成し、又はデータを加工する処理を行う。判断系ドメインのECU4は、当該生成等したデータを、第2車内通信線を介して操作系ドメインのECU4へ送信する。
操作系のドメインに属するECU4は、例えば、モータ、エンジン又はブレーキ等のアクチュエータと接続している。操作系のドメインのECU4は、判断系ドメインのECU4から送信されたデータを受信し、受信したデータに基づき当該アクチュエータの動作を制御して、車両Cの走行、停止又は操舵等の操作を行い、自動運転機能を発揮する。
なおここでは、CAN通信部12bに接続されたECU4が、認知、判断、操作に係る処理を実行する例を説明したが、エリアECU2及び車載コンピュータ1と協動でかかる操作を実行するように構成しても良い。特に、大容量のデータ通信が必要な処理はエリアECU2側で実行することが望ましい。また、人工知能に係る演算処理等、高負荷の演算処理は、車載コンピュータ1側で実行するように構成しても良い。
【0051】
接続部13は、車載コンピュータ1に外部機器5を着脱可能に接続するための接続ポートである。制御部10又は仮想管理ECU101は、接続部13の状態を監視しており、外部機器5の着脱を検出することができる。また、制御部10は、接続部13を介して外部機器5とデータを送受信する。接続部13は、例えば、プラグアンドプレイが可能なUSBポートである。なお、接続部13は、イーサネットポート、CAN通信ポートであっても良い。接続部13に接続される外部機器5の種類は特に限定されるものでは無く、例えば、プロセッサ、メモリ、通信回路を備え、車載コンピュータ1の制御部10とデータの送受信ができる構成であれば良い。
【0052】
入出力I/F14は、車外通信装置6及び表示装置7等と通信するためのインタフェースである。車外通信装置6及び表示装置7は、シリアルケーブル等のワイヤーハーネスを介して入出力I/F14に接続されている。
【0053】
車外通信装置6は、無線通信を行うためのアンテナ60を備え、WiFi等のインターネット通信ネットワーク、3G、LTE、4G、5G等のモバイル通信ネットワークを通じて無線通信を行う通信装置である。車外通信装置6は、例えばテレマティクス制御ユニット(TCU)である。車外通信装置6は、例えば、外部サーバAとデータの送受信を行う。外部サーバAは、外部機器5を仮想ECU102として動作させるために必要な専用プログラム11dを記憶している。車外通信装置6は、必要な専用プログラム11dの配信を外部サーバAに要求し、外部サーバAは要求に応じて専用プログラム11dを車載通信装置へ無線送信する。車載コンピュータ1は、車外通信装置6にて当該専用プログラム11dを取得することができる。
【0054】
なお、本実施形態は車外通信装置6と車載コンピュータ1が別体であるものとして説明するが、車載コンピュータ1が車外通信装置6の構成ないし機能を有するように構成しても良い。
【0055】
また、外部サーバAは、OTAサーバであっても良い。当該外部サーバAは、車載コンピュータ1、エリアECU2、ECU4等のプログラム、仮想ECU102用のゲストOS11c、専用プログラム11d、汎用プログラム11eを更新するための更新プログラムを送信する。車載コンピュータ1は、外部サーバAから送信された更新プログラムを受信する。車載コンピュータ1は、受信した更新プログラムを用いて、自装置である車載コンピュータ1、エリアECU2、ECU4、仮想ECU102の各種プログラムを更新する。
【0056】
表示装置7は、例えばカーナビゲーションのディスプレイ等のHMI(Human Machine Interface)装置である。表示装置7は、車載コンピュータ1の制御部10から入出力I/F14を介して出力されたデータ又は情報を表示する。
【0057】
図4は仮想ECU102の管理処理手順を示すフローチャートである。仮想管理ECU101は、接続部13に外部機器5が接続されたか否かを判定する(ステップS11)。外部機器5が接続されていないと判定した場合(ステップS11:NO)、仮想管理ECU101は、処理をステップS11へ戻し、待機する。
【0058】
接続部13に外部機器5が接続されたと判定した場合(ステップS11:YES)、仮想ECU102の生成、動作及び消滅に係るログの記録を開始する(ステップS12)。なお、仮想ECU102は、外部機器5の接続の有無にかかわらず、ログを常時記録するように構成しても良い。
【0059】
次いで、仮想管理ECU101は、仮想化オペレーティングシステム11aを用いて、接続部13に接続された外部機器5の動作を制御するための装置であって、第1車載通信線121又は第2車載通信線122に接続された仮想的な車載制御装置として動作する仮想ECU102を生成する処理を実行する(ステップS13)。
【0060】
仮想ECU102の生成処理を説明する。
図5は仮想ECU102の生成処理手順を示すフローチャート、
図6は仮想ECU102が生成される前の状態を示す機能ブロック図、
図7は仮想ECU102が生成された状態を示す機能ブロック図である。
【0061】
仮想管理ECU101は、接続された外部機器5の認証を行い(ステップS51)、認証に成功したか否かを判定する(ステップS52)。外部機器5の認証は公知の手法で行えば良い。例えば、外部機器5の、MACアドレス、IPアドレス、所定の機器コード等の識別情報が予め車載コンピュータ1、認証に係る処理を実行するECU4、外部の認証サーバに登録されているものと一致するか否かを判定することにより行う。以下、仮想管理ECU101は、必要に応じて外部機器5と通信を行うことができるが、他の仮想ECU102は、外部機器5と情報のやり取りを行うことはできず、仮想管理ECU101を通じた通信も制限される。
【0062】
外部機器5の認証に失敗したと判定した場合(ステップS52:NO)、仮想管理ECU101は、仮想ECU102を生成すること無く、処理を終える。
【0063】
外部機器5の認証に成功したと判定した場合(ステップS52:YES)、仮想管理ECU101は、仮想ECU102の生成処理の進捗状況を示す情報を表示装置7に表示する処理を開始する(ステップS53)。具体的には、仮想管理ECU101は、仮想ECU102の生成を開始することを示す情報を表示装置7へ送信する。以後、仮想管理ECU101は、仮想環境が生成されたこと、ゲストOS11cがインストールされたこと、外部機器5用のプログラムがインストールされたこと、仮想ECU102が動作可能になったこと等の情報を表示装置7へ送信する。また、仮想管理ECU101は、仮想ECU102が動作可能になるまでの所要時間を推定し、動作開始までの予想時間を示す情報を表示装置7へ送信しても良い。表示装置7は、仮想管理ECU101から送信された情報を受信し、当該情報に基づく画像を表示する。
【0064】
次いで、仮想管理ECU101は、仮想化オペレーティングシステム11aを用いて、外部機器5の動作を制御する装置であって、第1車載通信線121又は第2車載通信線122に接続された仮想的な車載制御装置として動作する仮想ECU102に必要な物理リソースを割り当てることにより、仮想環境を構成し、当該仮想ECU102を生成する(ステップS54)。
【0065】
次いで、仮想管理ECU101は、外部機器5の識別情報に基づいて、当該外部機器5を動作させるために必要な専用プログラム11dを記憶部11が記憶しているか否かを判定する(ステップS55)。記憶部11が専用プログラム11dを記憶していると判定した場合(ステップS55:YES)、仮想管理ECU101は、記憶部11から専用プログラム11dを読み出す(ステップS56)。
【0066】
ステップS55において記憶部11が専用プログラム11dを記憶していないと判定した場合(ステップS55:NO)、仮想管理ECU101は、外部機器5と通信を行い、外部機器5が専用プログラム11dを有しているか否かを判定する(ステップS57)。外部機器5が専用プログラム11dを有していると判定した場合(ステップS57:YES)、外部機器5から専用プログラム11dを取得し、取得した専用プログラム11dを記憶部11に記憶する(ステップS58)。また、仮想管理ECU101は、外部機器5の識別情報と、専用プログラム11dとの対応関係を記憶部11に記憶させる。
【0067】
ステップS57において外部機器5が専用プログラム11dを有していないと判定した場合(ステップS57:NO)、仮想管理ECU101は、外部サーバAに専用プログラム11dがあるか否かを判定する(ステップS59)。具体的には、仮想管理ECU101は、端末機器3の識別情報を用いて、当該外部機器5用の専用プログラム11dの有無を外部サーバAに問い合わせ、専用プログラム11dの有無を確認する。
【0068】
外部サーバAに専用プログラム11dがあると判定した場合(ステップS59:YES)、仮想管理ECU101は、外部サーバAから、外部機器5用の専用プログラム11dを取得し、記憶部11に記憶させる(ステップS60)。仮想管理ECU101は、外部機器5の識別情報と、専用プログラム11dとの対応関係を記憶部11に記憶させる。
【0069】
ステップS59において、外部サーバAに専用プログラム11dがないと判定した場合(ステップS59:NO)、仮想管理ECU101は、テーブルを参照し、記憶部11から外部機器5に適した汎用プログラム11eを読み出す(ステップS61)。
【0070】
ステップS56、58、60又は61の処理を終えた仮想管理ECU101は、仮想ECU102にゲストOS11cをインストールし、次いで、専用プログラム11d又は汎用プログラム11eをインストールする(ステップS62)。つまり、仮想ECU102は、割り当てられた記憶部11(仮想記憶部)にゲストOS11cと、専用プログラム11d又は汎用プログラム11eとを記憶する。
【0071】
次いで、仮想管理ECU101は、外部機器5に係る仮想ECU102の生成が完了した場合、仮想ECU102の生成が完了したことを示す情報を表示装置7へ送信し、仮想ECU102の生成処理を終了する(ステップS63)。
【0072】
以上の処理により、
図6及び
図7に示すように仮想ECU102が生成される。
図6は、接続部13に外部機器5が接続されておらず、仮想管理ECU101のみが動作している状態を示している。この状態で
図7に示すように接続部13に外部機器5が接続されると、仮想管理ECU101は、仮想化オペレーティングに命令する等して、当該外部機器5の動作を制御する装置であって、第1車載通信線121又は第2車載通信線122に接続された仮想的な車載制御装置として動作する仮想ECU102を生成する。以後、仮想ECU102は、仮想化オペレーティングシステム11a上に生成される他の仮想ECU102、第1車載通信線121に接続されるエリアECU2,第2車載通信線122に接続されるECU4等と通信を行うことが可能になる。もちろん、仮想管理ECU101によって、外部機器5が仮想ECU102としてアクセス可能な範囲は適宜制限される。また、逆にエリアECU2、ECU4が外部機器5の仮想ECU102にアクセスできる範囲も管理する。仮想管理ECU101は、VLANで外部機器5に係る仮想ECU102を適宜分離しても良い。
【0073】
図4に示すように、仮想ECU102の生成処理を終えた仮想管理ECU101は、生成した仮想ECU102の動作を監視し(ステップS14)、仮想ECU102の動作の異常があるか否かを判定する。具体的には、仮想化オペレーティングは、仮想ECU102に割り当てた物理リソースの使用量、外部へのアクセス動作等を監視しており、監視して得た情報を仮想管理ECU101に与える。仮想管理ECU101は、仮想化オペレーティングシステム11aから監視結果に係る情報を取得し、取得した情報に基づいて、仮想ECU102の動作が異常であるか否かを判定する。
【0074】
仮想ECU102の動作が異常であると判定した場合(ステップS15:YES)、仮想管理ECU101は、仮想ECU102を消滅させる(ステップS22)。
【0075】
仮想ECU102の動作が正常であると判定した場合(ステップS15:NO)、仮想管理ECU101は、接続部13から外部機器5が取り外されたか否かを判定する(ステップS16)。外部機器5が取り外されていないと判定した場合(ステップS16:NO)、仮想管理ECU101は処理をステップS14へ戻す。
【0076】
外部機器5が取り外されたと判定した場合(ステップS16:YES)、仮想管理ECU101は、取り外された外部機器5に対応する仮想ECU102の動作を一時的に停止させ(ステップS17)、計時を開始する(ステップS18)。つまり、仮想管理ECU101は、仮想ECU102を即座に消滅させるのでは無く、仮想ECU102を動作再開可能な状態で保持する。
【0077】
次いで、仮想管理ECU101は、外部機器5が取り外されて所定時間が経過したか否かを判定する(ステップS19)。所定時間が経過したと判定した場合(ステップS19:YES)、仮想管理ECU101は、取り外された外部機器5に対応する仮想ECU102を消滅させる(ステップS22)。
【0078】
図8は仮想ECU102が消滅した状態を示す機能ブロック図である。
図7及び
図8に示すように、接続部13から外部機器5が取り外され、所定時間が経過した場合、外部機器5に対応する仮想ECU102は消滅する。
そして、消滅させた仮想管理ECU101の物理リソースを再分配し(ステップS23)、処理を終える。
【0079】
所定時間が経過していないと判定した場合(ステップS19:NO)、動作停止中の仮想ECU102に対応する外部機器5が再び接続部13に接続されたか否かを判定する(ステップS20)。外部機器5の再接続は、当該外部機器5の識別情報に基づいて判定すれば良い。
【0080】
外部機器5が再接続されていないと判定した場合(ステップS20:NO)、仮想管理ECU101は、処理をステップS19へ戻す。外部機器5が再接続されたと判定した場合(ステップS20:YES)、仮想管理ECU101は、再接続された外部機器5に対応する仮想ECU102の動作を再開させ(ステップS21)、処理をステップS14へ戻す。
【0081】
このように構成された車載コンピュータ1、コンピュータ実行方法及びコンピュータプログラム11bによれば、車載コンピュータ1に外部機器5が接続された場合において、セキュアに外部機器5を動作させることができ、しかも他の車載制御装置と協調動作可能な態様で車載ネットワークに接続することができる。
【0082】
外部機器5の認証を行った上で、当該外部機器5の仮想ECU102を生成する構成であるため、セキュリティを向上させることができる。
【0083】
外部機器5を仮想ECU102として動作させるためのプログラムを外部サーバAから取得する構成であるため、記憶部11の容量を削減することができる。
【0084】
外部機器5を仮想ECU102として動作させるためのプログラムを当該外部機器5から取得する構成であるため、記憶部11の容量を削減することができる。
【0085】
仮想ECU102の生成処理の進捗状況を表示するための情報を送信することによって、ユーザは仮想ECU102の生成処理に係る進捗を確認することができる。
【0086】
接続部13から外部機器5が取り外された場合、仮想ECU102を消滅させることができ、物理リソースを解放することができる。
【0087】
接続部13から外部機器5が取り外された場合、所定時間の経過を待って仮想ECU102を消滅させる構成であるため、所定時間以内に外部機器5が再接続された場合、当該外部機器5に係る仮想ECU102を直ちに利用することができる。
【0088】
仮想ECU102の動作に異常があった場合、仮想ECU102を消滅させることができ、車載システムのセキュリティを向上させることができる。
【0089】
仮想ECU102の生成、動作、消滅に係るログを残すことができる。
【0090】
本実施形態では、Hypervisor型の仮想化オペレーティングシステム11aを用いて仮想環境を構築する例を説明したが、ホストOS型の仮想化ソフトウェア、即ち基本OS上で動作する仮想化ソフトウェアを用いて仮想環境を構築しても良い。
【符号の説明】
【0091】
1 車載コンピュータ
2 エリアECU(車載制御装置)
3 端末機器
4 ECU
5 外部機器
6 車外通信装置
7 表示装置
10 制御部
11 記憶部
11a 仮想化オペレーティングシステム
11b コンピュータプログラム
11c ゲストOS
11d 専用プログラム
11e 汎用プログラム
12 通信部
12a イーサネット通信部
12b CAN通信部
13 接続部
14 入出力I/F
60 アンテナ
101 仮想管理ECU(管理処理部)
102 仮想ECU(仮想的な車載制御装置)
121 第1車載通信線
122 第2車載通信線
A 外部サーバ
C 車両