(57)【要約】      （修正有）【課題】データの転送等に生じる遅延を削減し、アプリケーションを柔軟かつ迅速に移行することができる車両制御装置、割り込み情報管理方法及び割り込み情報管理プログラムを提供する。【解決手段】データ処理システムの車両制御装置であって、ハードウエアデバイスとアプリケーションの間で発生する割り込み情報を仮想化管理部内に実装される割り込み転送部１１４０によって送信先のアプリケーションに転送することで、ハードウエアーデバイスとアプリケーションの接続を中断することなく、アプリケーションを柔軟かつ迅速に移行することができ、割り込み情報転送に生じる遅延を抑えることが可能となる。【選択図】図３
2019215822.tif 000002
【特許請求の範囲】
【請求項１】
車両用デバイスに接続可能な第１の車両制御装置であって、
前記第１の車両制御装置は、
複数の仮想化管理部、記憶部及び演算部とを備え、
アプリケーションソフトウエアが実装されており、
前記記憶部は、前記第１の車両制御装置に接続される車両用デバイスからの割り込み情報を一意に識別する第１の識別子と、前記第１の車両制御装置に実装される前記仮想化管理部を一意に識別する第２の識別子と、前記アプリケーションソフトウエアを一意に識別する第３の識別子と、を対応付けたマッピングテーブルを格納し、
前記演算部は、
前記第１の識別子を含む割り込み情報を前記車両用デバイスから受信した場合に、
前記マッピングテーブルに基づき、前記第１の車両制御装置における前記複数の仮想化管理部の中から、前記割り込み情報の転送先となる仮想化管理部を決定する、
ことを特徴とする車両制御装置。
【請求項２】
前記第１の車両制御装置において、
前記演算部が、前記仮想化管理部に含まれる、
ことを特徴とする請求項１に記載の車両制御装置。
【請求項３】
前記複数の仮想化管理部は、それぞれ構成の異なる車両制御装置に含まれる、
ことを特徴とする請求項２に記載の車両制御装置。
【請求項４】
前記第１の車両制御装置において、
前記記憶部に格納される前記マッピングテーブルは、割り込み情報を転送する際に使用するネットワーク経路を一意に識別する第４の識別子と、前記第２の識別子とを対応付けた情報を含む、
ことを特徴とする請求項３に記載の車両制御装置。
【請求項５】
前記第１の車両制御装置に接続される車両用デバイスは、任意のプログラムが実施可能なデバイスである、
ことを特徴とする請求項１に記載の車両制御装置。
【請求項６】
前記第１の車両制御装置及び第２の車両制御装置が自動車に搭載され、
前記第２の車両制御装置は、
第２の仮想化管理部を実装し、
前記第１の車両制御装置に実装される前記アプリケーションソフトウエアが前記第２の車両制御装置に移行された場合に、
前記第１の車両制御装置の前記演算部は、
前記車両用デバイスから、前記第１の識別子を含む割り込み情報を受信し、
前記第１の識別子を用いて、前記マッピングテーブルから、前記第２の車両制御装置の前記第２の仮想化管理部に対応する前記第２の識別子を抽出し、
前記第２の識別子を用いて、前記マッピングテーブルから、前記アプリケーションソフトウエアに対応する前記第３の識別子を抽出し、
前記第３の識別子を用いて、前記マッピングテーブルから、前記第２の車両制御装置までのネットワーク経路に対応する前記第４の識別子を抽出し、
前記割り込み情報を、前記第２の車両制御装置までの前記ネットワーク経路を介して送信する、
ことを特徴とする請求項４に記載の車両制御装置。
【請求項７】
車両用デバイスに接続可能な第１の車両制御装置における割り込み情報管理方法であって、
前記第１の車両制御装置は、
複数の仮想化管理部、記憶部及び演算部とを備え、
アプリケーションソフトウエアが実装されており、
前記記憶部は、前記第１の車両制御装置に接続される車両用デバイスからの割り込み情報を一意に識別する第１の識別子と、前記第１の車両制御装置に実装される前記仮想化管理部を一意に識別する第２の識別子と、前記アプリケーションソフトウエアを一意に識別する第３の識別子と、を対応付けたマッピングテーブルを格納しており、
前記演算部が、
前記第１の識別子を含む割り込み情報を前記車両用デバイスから受信した場合に、
前記マッピングテーブルに基づき、前記第１の車両制御装置における前記複数の仮想化管理部の中から、前記割り込み情報の転送先となる仮想化管理部を前記演算部によって決定する工程、
を含む割り込み情報管理方法。
【請求項８】
前記第１の車両制御装置において、
前記演算部が、前記仮想化管理部に含まれる、
ことを特徴とする請求項７に記載の割り込み情報管理方法。
【請求項９】
前記複数の仮想化管理部は、それぞれ構成の異なる車両制御装置に含まれる、
ことを特徴とする請求項８に記載の割り込み情報管理方法。
【請求項１０】
前記第１の車両制御装置において、
前記記憶部に格納される前記マッピングテーブルは、割り込み情報を転送する際に使用するネットワーク経路を一意に識別する第４の識別子と、前記第２の識別子とを対応付けた情報を含む、
ことを特徴とする請求項９に記載の割り込み情報管理方法。
【請求項１１】
車両用デバイスに接続可能な第１の車両制御装置における割り込み情報管理プログラムであって、
前記第１の車両制御装置は、
複数の仮想化管理部、記憶部及び演算部とを備え、
アプリケーションソフトウエアが実装されており、
前記記憶部は、前記第１の車両制御装置に接続される車両用デバイスからの割り込み情報を一意に識別する第１の識別子と、前記第１の車両制御装置に実装される前記仮想化管理部を一意に識別する第２の識別子と、前記アプリケーションソフトウエアを一意に識別する第３の識別子と、を対応付けたマッピングテーブルを格納しており、
前記演算部が前記第１の識別子を含む割り込み情報を前記車両用デバイスから受信した場合に、
前記マッピングテーブルに基づき、前記第１の車両制御装置における前記複数の仮想化管理部の中から、前記割り込み情報の転送先となる仮想化管理部を前記演算部によって決定する工程、
をコンピュータに実行させる割り込み情報管理プログラム。
【請求項１２】
前記第１の車両制御装置において、
前記演算部が、前記仮想化管理部に含まれる、
ことを特徴とする請求項１１に記載の割り込み情報管理プログラム。
【請求項１３】
前記複数の仮想化管理部は、それぞれ構成の異なる車両制御装置に含まれる、
ことを特徴とする請求項１２に記載の割り込み情報管理プログラム。
【請求項１４】
前記第１の車両制御装置において、
前記記憶部に格納される前記マッピングテーブルは、割り込み情報を転送する際に使用するネットワーク経路を一意に識別する第４の識別子と、前記第２の識別子とを対応付けた情報を含む、
ことを特徴とする請求項１３に記載の割り込み情報管理プログラム。
【請求項１５】
前記第１の車両制御装置及び第２の車両制御装置が自動車に搭載され、
前記第２の車両制御装置は、
第２の仮想化管理部を実装し、
前記第１の車両制御装置に実装される前記アプリケーションソフトウエアが前記第２の車両制御装置に移行された場合に、
前記第１の車両制御装置の前記演算部は、
前記車両用デバイスから、前記第１の識別子を含む割り込み情報を受信する工程と、
前記第１の識別子を用いて、前記マッピングテーブルから、前記第２の車両制御装置の前記第２の仮想化管理部に対応する前記第２の識別子を抽出する工程と、
前記第２の識別子を用いて、前記マッピングテーブルから、前記アプリケーションソフトウエアに対応する前記第３の識別子を抽出する工程と、
前記第３の識別子を用いて、前記マッピングテーブルから、前記第２の車両制御装置までのネットワーク経路に対応する前記第４の識別子を抽出する工程と、
前記割り込み情報を、前記第２の車両制御装置までの前記ネットワーク経路を介して送信する工程と、
をコンピュータに実行させる、請求項１１に記載の割り込み情報管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両制御装置、割り込み情報管理方法及び割り込み情報管理プログラムに関する。
【背景技術】
【０００２】
複数のハードウエアデバイスが相互接続された電子処理システムや電子処理環境においては、アプリケーションを1つのハードウエアエデバイスから別のハードウエアエデバイスに移行可能であることが重要である。そして，この様なアプリケーション移行プロセスを用いれば、アプリケーションの可用性を維持し、システム全体の性能を向上することが可能であることから、複数のハードウエアデバイスが相互接続された電子処理システムなどにおいて広く使用されている。
【０００３】
このようなアプリケーション移行は、汎用性の高いハードウエアデバイスからなる分散コンピューティング環境においては容易に行うことができる。しかし、自動車などのような、１つの機能に特化した専用の車両用デバイスを多く含む環境では、アプリケーションが要するデータを供給する車両用デバイスとの接続を中断せずにアプリケーションを別の装置に移行することが難しい。
【０００４】
これに対して、特表2017-507401（特許文献１）号公報には、「車両ユーザインターフェースと統合されるコンピュータシステムであって、前記コンピュータシステムは、マルチコアプロセッサを備える処理システムを備え、前記処理システムは、前記マルチコアプロセッサの１つ又は複数の第１のコアにおいて第１のゲストオペレーティングシステムに仮想化を提供し、且つ前記マルチコアプロセッサの１つ又は複数の第２の異なるコアにおいて第２のゲストオペレーティングシステムに仮想化を提供するように構成され、前記第１のゲストオペレーティングシステムは高信頼性動作用に構成され、前記仮想化は前記第２のゲストオペレーティングシステムの動作が前記第１のゲストオペレーティングシステムの前記高信頼性動作を中断することを防ぐ、コンピュータシステム」が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表2017-507401号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の特許文献１においては、車載用のコンピュータ化ユーザインタフェースが記載されている。特許文献１における発明によると、１つのオペレーティングシステムの動作が他のオペレーティングシステムの動作との干渉を防ぐために、実質的に独立して動作する複数の異なるオペレーティングシステムが提供される。しかし、特許文献１においては、自動車ネットワークにおけるアプリケーション移行が検討されておらず、アプリケーションを移行する際には、アプリケーションが要するデータを供給する車両用デバイスとの接続が中断されてしまうため、アプリケーション移行が限られてしまう。
【０００７】
そこで本発明は、ハードウエアデバイスとアプリケーションの間で発生する割り込み信号を仮想化管理部（例えば、ハイパーバイザ）によって転送することで、データの転送等に生じる遅延を削減し、アプリケーションを柔軟かつ迅速に移行することを目的とする。
【課題を解決するための手段】
【０００８】
前述の課題を解決するために、代表的な本発明の一つは、車両用デバイスに接続可能な第１の車両制御装置であって、前記第１の車両制御装置は、複数の仮想化管理部、記憶部及び演算部とを備え、アプリケーションソフトウエアが実装されており、前記記憶部は、前記第１の車両制御装置に接続される車両用デバイスからの割り込み情報を一意に識別する第１の識別子と、前記第１の車両制御装置に実装される前記仮想化管理部を一意に識別する第２の識別子と、前記アプリケーションソフトウエアを一意に識別する第３の識別子と、を対応付けたマッピングテーブルを格納し、前記演算部は、前記第１の識別子を含む割り込み情報を前記車両用デバイスから受信した場合に、前記マッピングテーブルに基づき、前記第１の車両制御装置における前記複数の仮想化管理部の中から、前記割り込み信号要求の転送先となる仮想化管理部を決定する、ことを特徴とする車両制御装置。
【発明の効果】
【０００９】
本発明によると、ハードウエアデバイスとアプリケーションの間で発生する割り込み信号を仮想化管理部によって転送することで、データの転送等に生じる遅延を削減し、アプリケーションを柔軟かつ迅速に移行することを目的とする。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施例における自動車ネットワークを示す概略図である。
【図２】第１の実施形態におけるマッピングテーブルを示す図である。
【図３】第１の実施形態における変更不可能な車両用デバイスからの割り込み信号をアプリケーションに転送するためのデータ処理システムを示す図である。
【図４】第１の実施形態における変更不可能な車両用デバイスからの割り込み信号をアプリケーションに転送する動作を示すフローチャート図である。
【図５】第２の実施形態におけるマッピングテーブルを示す図である。
【図６】第２の実施形における変更可能な車両用デバイスからの割り込み信号をアプリケーションに転送するためのデータ処理システムを示す図である。
【図７】第２の実施形における変更可能な車両用デバイスからの割り込み信号をアプリケーションに転送する動作を示すフローチャート図である。
【発明を実施するための形態】
【００１１】
まず、本発明の全体概要について説明する。本発明は、アプリケーションソフトウェア（以下、「アプリケーション」ともいう。）が現在実装されている装置に関わらず、車両用デバイス等のハードウエアデバイスとの通信において発生する割り込み信号を所望のアプリケーションに転送することで、アプリケーションの装置間移行を容易に行うための技術である。ここでは、アプリケーション移行とは、１つの動作環境（自動車のECU,サーバ装置、クラウドサーバによって構築されている論理空間）から、別の動作環境へと移すことを意味する。このアプリケーション移行は、１つの装置（例えば、ハードウエアデバイス）の上に実装されている仮想化管理部において稼働しているアプリケーションを、別の装置の上に実装されている仮想化管理部に移行することを含んでもよく、アプリケーションを１つの装置の上に実装されている仮想化管理部を同一の装置の別の仮想化管理部に移行することを含んでもよい。
【００１２】
一般的な電子処理環境は、RAMやCPUなどのハードウエア資源を提供するハードウエア層と、一つまたは複数の仮想機械の稼働を管理するハイパーバイザ層と、それぞれの仮想機械のOS（Operating System）を実装するスーパーバイザ層と、アプリケーションソフトウェアが稼働するアプリケーション層からなる。ハイパーバイザは、この構造における最も上位の制御プログラムとして、下位の層で実装されるスーパーバイザやアプリケーションソフトウェアにリソースを分け与え、外部の装置とのコミュニケーションを受け付ける。本発明における仮想化管理部とは、ハイパーバイザであってもよく、スーパーバイザであってもよい。ただし、割り込み情報転送に生じる遅延を最小化することを考慮すると、仮想化管理部をハイパーバイザとして実現することが望ましい。
なお、本明細書では、ハイパーバイザを仮想化管理部の一例として実施形態を説明するが、本発明はこれに限定されず、ハイパーバイザ以外の仮想化管理部を使用する構成であってもよい。
【００１３】
上述したように、クラウド等の分散コンピューティング環境においては、アプリケーションがハードウエアに依存している傾向(以下、「ハードウエア依存性」ということがある)が低く、物理的なリソースさえあれば、QoE(Quality of Experience)改善やリソース使用効率の向上等の理由で、アプリケーションを一つの装置から別の装置へと移行することは広く行われている。しかし、自動車ネットワークでは、アプリケーションは、カメラ、センサ、GPU（Graphic Processing Unit）、FPGA（Field Programmable Gate Array）等の専用ハードウエアと連携して稼働し、ハードウエア依存性が高いため、アプリケーションが移行されると、連携しているハードウエアとの接続が中断されてしまうことがある。
【００１４】
自動車ネットワークにおけるアプリケーション移行は、次世代の自動車アーキテクチャを実現するための重要な一環であり、斯かるアーキテクチャを可能にするために、割り込み信号を柔軟かつ迅速に転送し、アプリケーションを自由に移行できる技術が求められる。
【００１５】
従って、本発明は、ハードウエアデバイスとアプリケーションの間で発生する割り込み信号を仮想化管理部（例えば、ハイパーバイザ）に実装される割り込み転送部によって送信先のアプリケーションに転送することで、ハードウエアデバイスとアプリケーションの接続を中断することなく、アプリケーションを柔軟かつ迅速に1つのハードウエアエデバイスから別のハードウエアエデバイスに移行することを目的とする。具体的には、本発明では、自動車に搭載される車両制御装置の各SOCに実装される仮想化管理部（すなわち、ハイパーバイザ）を利用してこの問題を解決している。すなわち、各SOCの仮想化管理部には、複数のお互いに独立した名称の空間（以下、「名称空間」ともいう。）からなるマッピングテーブルを管理する記憶部を有している。この記憶部とは、上述したマッピングテーブルを割り込み転送部によってアクセス可能な形で格納するストレージ媒体であり、例えば、ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）、フラッシュメモリ（Ｆｌａｓｈ Ｍｅｍｏｒｙ）等の半導体メモリ素子、または、ハードディスク、光ディスク等のよって実現されてもよい。
【００１６】
上述した名称空間とは、IRQ（Interrupt Service Request）を判別するIRQ名空間と、システム内のハイパーバイザ上で動作するアプリケーションを一意に識別するアプリケーション名空間（以下、A名空間）と、SoC上で実装されるハイパーバイザを一意に識別するハイパーバイザ名空間（以下、H名空間）と、SoCに使用可能な伝送経路を特定するためのデータ伝送経路名空間（以下、「接続名空間」ともいう。）とを含む。
【００１７】
これらのIRQ名空間、H名空間、A名空間、及び接続名空間はそれぞれ、車両用デバイスからの割り込み情報を一意に識別する第１の識別子と、仮想化管理部を一意に識別するための第２の識別子と、アプリケーションを一意に識別するための第３の識別子と、割り込み情報を送信するための接続（すなわち、ネットワーク経路）を一意に識別する第４の識別子として機能する。
【００１８】
上述したマッピングテーブルは、一つの名称空間を別の名称空間へとマッピングするためのテーブルであり、IRQ名からA名テーブル、A名からH名テーブル、及びH名から接続テーブルを含む。車両用デバイスからの割り込み信号が発生すると、割り込み転送部は、これらのマッピングテーブルを参照することで、発生した割り込み信号を転送すべき制御装置を特定し、割り込み信号を転送することができる。これにより、アプリケーションが、車両用デバイスと物理的に接続されている制御装置と異なる制御装置に移行されても、割り込み信号を発生させた車両用デバイスと当該車両用デバイスを管理するアプリケーションの通信が中断されない。
【００１９】
以下、図面を参照して、本発明の実施例について説明する。なお、この実施例により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００２０】
（第１の実施形態）
図１は、本発明の第１の実施形態における自動車ネットワーク１００を示す概略図である。図１に示されるように、自動車ネットワーク１００は、車両用デバイス１０５と、車両制御装置１１０、１２０、１３０、１４０とを含む。
【００２１】
ここでの車両制御装置とは、自動車内部に搭載され、自動車における様々なシステムを電子回路を用いて総合的に制御する装置である。車両制御装置は例えば、エンジン、モーター、メーター、トランスミッション、ブレーキ、エアバッグ、ランプ、パワーステアリング、パワーウィンドウ、カーエアコン、電子キーの車両側受信部、カーオーディオ、カーナビゲーション等のシステムの各種機能を制御するECU（Electronic Control Unit）であってもよい。これらの車両制御装置はぞれぞれ、一つまたは複数のSOC（System-on-a-chip）を有する。また、それぞれのSOCには、１つまたは複数のハイパーバイザなどのような仮想化管理部が実装される。これらの仮想化管理部はそれぞれ、構成の異なる車両制御装置（例えば、ECU）に含まれる。ここでは、構成の異なる車両制御装置という表現は、それぞれの車両制御装置がお互いに物理的に独立した装置であることを意味する。また、それぞれの車両制御装置に搭載されているハードウエア（例えば、CPUの数、メモリの容量、センサの種類）またはソフトウエア（例えば、アプリケーションの機能）が他の車両制御装置と異なる構成であってもよい。後述するように、マッピングテーブルをそれぞれの車両制御装置の記憶部に格納することで、構成の異なる車両制御装置の間で、割り込み情報を転送することができる。
【００２２】
また、それぞれの仮想化管理部は、１つまたは複数の仮想機械を実装する。更に、各仮想機械には、上述した自動車の様々なシステムを制御するアプリケーションが実装される。このアプリケーションは、例えば、エンジンの温度を検出するアプリケーション、車に搭載されるカメラに画像を撮像させるアプリケーション、撮像された画像における障害物を特定するアプリケーションなどを含む。なお、ここでは、車両制御装置を4つ含む自動車を一例として説明したが、本発明はこれに限定されず、より多くの車両制御装置やより少ない車両制御装置が搭載される自動車であってもよい。
【００２３】
ここでの車両用デバイスとは、自動車内部に搭載され、予め定めた機能を実施するための専用装置である。車両用デバイスは例えば、カメラ、温度計、車速センサ、空気圧センサ、バッテリ電圧センサなどを含む。これらの車両用デバイス１０５はそれぞれ、１つの車両制御装置に接続し、制御される。これらの車両用デバイス１０５は、変更不可能なデバイス（任意のプログラムが実施不可能なデバイス）であってもよく、変更可能なデバイス（任意のプログラムが実施可能なデバイス）であってもよい。
【００２４】
後述するように、変更可能なデバイスは、割り込み転送部の機能の一部を担うことができるため、変更不可能なデバイスが使用される場合に比べ、処理のフローが異なる。変更不可能なデバイスが使用される場合における処理とフローと、変更可能なデバイスが使用される場合における処理のフローは、それぞれ図４及び図７を参照して説明する。
【００２５】
次に、図２を参照して、本実施形態におけるマッピングテーブルについて説明する。図２に示すマッピングテーブルは、変更不可能なデバイスが車両用デバイスとして使用される場合のマッピングテーブルの一例を示す図である。
【００２６】
図２に示されるように、本実施形態におけるマッピングテーブルは、あるIRQ（割り込み情報に含まれる処理要求）がどのアプリケーションに該当するかを示すIRQからA名テーブル１１４２、３１４２と、それぞれのアプリケーションがどのハイパーバイザによって制御されているかを示すA名からH名テーブル１１４３、３１４３と、それぞれのハイパーバイザをアクセスするための経路を示すH名から接続テーブル１１４４、３１４４とを含む。これらのマッピングテーブルは、各車両制御装置に実装されるハイパーバイザ層が有する割り込み転送部に格納されてもよい。
【００２７】
例えば、マッピングテーブル１１４２、１１４３、及び１１４４は図３に示す車両制御装置１３００に格納され、マッピングテーブル３１４２、３１４３、及び３１４４は車両制御装置３３００に格納されてもよい（例示せず）。これにより、車両用デバイスからの割り込み信号が発生すると、割り込み転送部はこれらのマッピングテーブルを参照することで、当該割り込みを転送すべき送信先を特定することができる。
【００２８】
例えば、一例として、車両用デバイスからの割り込み信号が発生すると、割り込み転送部は、まず、IRQからA名テーブル１１４２を参照し、当該割り込みが対象とするアプリケーション（例えば、A名１２１２に該当するアプリケーション）を特定する。アプリケーションを特定した後、割り込み転送部は、A名からH名テーブル１１４３を参照し、特定したアプリケーションが実装されているハイパーバイザを特定する（例えば、H名１１４１に該当するハイパーバイザ）。
【００２９】
ハイパーバイザを特定した後、割り込み転送部は、H名から接続テーブル１１４４を参照し、特定したハイパーバイザをアクセスするための接続（例えば、接続１０３１）を特定する。これにより、割り込み転送部は、ハイパーバイザを介して、発生した割り込み信号を、割り込み信号が該当するアプリケーションに転送することができる。
【００３０】
次に、図３を参照して、本発明に係るデータ処理システムについて説明する。図３は、本発明の第１の実施形態おける変更不可能な車両用デバイスからの割り込み信号をアプリケーションに転送するためのデータ処理システムを示す図である。
【００３１】
本実施形態に係るデータ処理システムは、図３に示されるように、車両制御装置１３００と、車両用デバイス２３００と、車両制御装置３３００とを含む。上述したように、車両制御装置１３００、３３００は自動車における様々なシステムを電子回路を用いて総合的に制御する装置である。また、車両用デバイス２３００は、カメラ、温度計、車速センサ、空気圧センサ等の予め定めた機能を実施するための装置である。
【００３２】
また、車両制御装置はCPU１０１０及びCPU１０２０とを含む。図３には、二つのCPUを含む車両制御装置が一例として示されているが、本発明では、CPUの数は限定されるものではなく、CPUをｎ個含む構成であってもよい。
【００３３】
また、車両制御装置１３００は、車両用デバイス２３００や車両制御装置３３００の外部装置に相互的に接続されてもよく、外部装置との通信を行うための情報通信部１０３０を含んでもよい。この情報通信部１０３０は、自動車ネットワークにおける他の装置とのデータやり取りを行うものであり、接続１０３１を含む。この接続１０３１とは、外部装置とデータを入出力するためのIOインターフェースである。
【００３４】
また、接続１０３１の「１０３１」とは、車両制御装置１３００までのネットワーク経路を一意に識別する第４の識別子として機能する。なお、図３では、車両制御装置１３００、車両用デバイス２３００、及び車両制御装置３３００のそれぞれがお互いに相互的に接続されている構成を示しているが、車両用デバイス２３００と車両制御装置３３００がお互いに接続されていない構成や、車両制御装置１３００と車両用デバイス２３００がお互いに接続されていない構成も可能である。
【００３５】
車両制御装置１３００は、割り込み転送部１１４０を含むハイパーバイザ１１００を有する。割り込み転送部１１４０は、上述したように、IRQからA名テーブル１１４２と、A名からH名テーブル１１４３と、H名から接続テーブル１１４４とを含み、車両用デバイスから発生した割り込み信号を転送する演算部である。この演算部とは、論理演算や四則演算などの演算を行うソフトウエアモジュールであり、ハイパーバイザ１１００のような仮想化管理部に含まれてもよい。ここでは、「含まれる」という表現は、演算部の機能が仮想化管理部によって処理されることを意味する。具体的には、演算部は仮想化管理部内に実装されていない場合であっても演算部が実質的に仮想化管理部によって制御されている場合、及び、演算部が仮想化管理部上に実装されており、仮想化管理部によって制御されている場合の両方の態様を含む。このように、演算部を仮想化管理部内に実装することにより、割り込み情報を転送する処理をハイパーバイザ層において行うことができ、割り込み転送に生じる遅延を最小化することが可能となる。
【００３６】
ハイパーバイザ１１００は、CPU１０１０、CPU１０２０、及びメモリ１０４０等のリソースを用いて、仮想化環境１２００を生成する。仮想化環境１２００とは、車両制御装置１３００の物理リソースを抽象化し、仮想機械やアプリケーションをお互いに独立した状態で実行させるための論理空間である。仮想化環境１２００内では、WindowsやLinux等のオペレーティングシステムがスーパーバイザ１２１０、１２２０として実装される。それぞれのスーパーバイザ１２１０、１２２０の上では、アプリ１２１１及びアプリ１２２２が実装される。上述したように、これらのアプリ１２１１、１２２２とは、車両用デバイス２３００が取得した生データを処理するプログラムであってもよい。
【００３７】
また、それぞれのアプリ１２１１、１２２２は、お互いに独立した状態で同時に稼働するように構成されてもよい。更に、図３に示されるように、各アプリ１２１１、１２２２は、それぞれがネットワークで一意に識別されるためのA名に対応付けられている。例えば、アプリ１２１１はA名１２１２に対応付けられており、アプリ１２２２はA名１２２２に対応付られている。上述したように、これらのA名は、割り込み転送部１１４０のマッピングテーブルに格納され、割り込み信号を転送すべきハイパーバイザ及びアプリケーションを特定するために用いられる。
【００３８】
上述したように、車両用デバイス２３００は、カメラ、温度計、車速センサ、空気圧センサ等の予め定めた機能を実施するための専用装置である。図３に示されるように、車両用デバイス２３００は情報通信部２０３０を含む。この情報通信部２０３０は、車両制御装置１３００の情報通信部１０３０と同様に、自動車ネットワークにおける他の装置とのデータやり取りを行うものであり、接続２０３１を含む。この接続２０３１とは、外部装置とデータを入出力するためのIOインターフェースである。
【００３９】
また、接続２０３１の「２０３１」とは、車両制御装置２３００を一意に識別する第４の識別子として機能する。本実施形態では、車両用デバイス２３００は、プログラム可能なインタフェースを有しない変更不可能なデバイスであるため、生データを取得し、車両制御装置に送信する機能だけを有する。ただし、本発明はこれに限定されず、車両用デバイス２３００は他の機能を有する構成であってもよい。
【００４０】
上述したように、車両制御装置３３００は、自動車における様々なシステムを電子回路を用いて総合的に制御する装置である。この車両制御装置３３００の構造や機能は、車両制御装置１３００と実質的に同様であるため、同様の構成要素について、詳細な説明を省略する。車両制御装置３３００は、車両制御装置１３００と同様に、CPUやメモリ等の物理リソース、ハイパーバイザ、及び仮想化環境を含む。また、車両制御装置３３００のハイパーバイザやハイパーバイザ上で稼働するアプリケーションは、車両制御装置１３００と同様に、第２の識別子であるH名および第３の識別子であるA名で識別される。
【００４１】
次に、図４を参照して、割り込み信号を転送することでアプリケーションと車両用デバイスとの通信を維持する処理について説明する。図４は、本発明の第１の実施形態における変更不可能な車両用デバイスからの割り込み信号をアプリケーションに転送する動作を示すフローチャート図である。
なお、以下の説明では、「＃」というマークは、対象の装置・機能部を示す意味で使われており、任意の参照符号であってもよい。
【００４２】
図４で示される割り込み転送処理は、あるアプリケーションが１つのハイパーバイザから、別の車両制御装置のハイパーバイザに移行された際に行われる。一例として、本処理は、カメラ（例えば、図３に示す車両用デバイス２３００）が取得した映像データを解析するアプリケーション（例えば、図３に示すアプリ１２１１）が元の車両制御装置のハイパーバイザ（例えば、図３に示す車両制御装置３３００のハイパーバイザ）から、別の車両制御装置のハイパーバイザ（例えば、図３に示す車両制御装置１３００のハイパーバイザ１１００）に移行された場合に適用されてもよい。このアプリケーション移行は、全体のシステムリソースの使用効率の向上、顧客向けのQoS（Quality of Service）改善等の理由で行われてもよい。
【００４３】
アプリケーション移行を行うための具体的な手順やアプリケーションの移行先は、自動車ネットワークのリソース使用率、アプリケーション可用性、ネットワーク負荷や時間等の制約に応じて適宜に決められてもよく、ここでは限定されない。本発明では、アプリケーションは同一のA名（すなわち、アプリケーションのA名が起動時から終了時まで変わらない）を有し、上述したマッピングテーブルが自動車ネットワークの各ハイパーバイザに格納されていればよい。
【００４４】
一例として、自動車ネットワーク起動時に、周知のアルゴリズム（例えば、path finding algorithm、loop-free routing algorithm、ideal link-state algorithm等）が、ネットワーク内でどのハイパーバイザが使用されているか、特定のH名を有するハイパーバイザにアクセスするためにどの経路を使えばよいかを各ハイパーバイザに通知し、マッピングテーブルを更新してもよい。このアルゴリズムを定期的（一定時間ごとに、アプリケーションが追加・削除・変更される度等）に実行することで、それぞれのハイパーバイザが有するマッピングテーブルを更新することができる。
【００４５】
図４に示すように、ステップ４０００では、車両用デバイス（例えば、図３に示す車両用デバイス２３００）が割り込み情報を生成する。この割り込み情報とは、CPUに対して、現在の処理を中断して、指定した処理を強制的に実行させることを要求する信号である。例えば、車両用デバイスがカメラである場合、車両デバイスは映像を撮像した後、撮像した画像をアプリケーションに処理させるために、割り込み情報を生成してもよい。
【００４６】
次に、ステップ４００１では、車両用デバイスの情報通信部は接続＃を介して、割り込み情報を所定の接続＃に送信する。一例として、図３に示す車両用デバイス２３００の情報通信部２０３０は、接続２０３１を介して、割り込み情報を車両制御装置３３００の接続３０３１に送信してもよい。
【００４７】
次に、ステップ４００２では、接続＃は車両用デバイスからの割り込み情報を受信する。
【００４８】
次に、ステップ４００３では、接続＃を有する情報通信部は、受信した割り込み情報を同一の車両制御装置内の割り込み転送部に送信する。
【００４９】
次に、ステップ４００４では、割り込み転送部は、受信した割り込み情報が送信先のハイパーバイザを指定するH名メタデータに対応付けられているか否かを判断する。受信した割り込み情報は、送信先のハイパーバイザを指定するH名メタデータに対応付られている場合には、本処理はステップ４００５に進行する。受信した割り込み情報は、送信先のハイパーバイザを指定するH名メタデータに対応付けられていない場合には、本処理はステップ４００９に進行する。
【００５０】
受信した割り込み情報は、送信先のハイパーバイザを指定するH名メタデータに対応付られていない場合には、次にステップ４００９では、割り込み転送部は受信した割り込み情報からIRQの情報を読み出す。
【００５１】
次に、ステップ４０１０では、割り込み転送部は、ステップ４００９で読み出したIRQ情報を用いて、IRQからA名テーブル＃を参照し、当該IRQに対応するA名を検索する。
【００５２】
次に、ステップ４０１１では、割り込み転送部は、読み出したIRQに対応するA名がIRQからA名テーブル＃に存在するかを判定する。一例としては、割り込み転送部は、ステップ４００９で読み出したIRQ情報を用いて、図２に示すIRQからA名テーブル３１４２を参照し、当該IRQに対応するA名であるA名１２１２を取得する。受信したIRQに対応するA名がIRQからA名テーブル＃にある場合には、本処理はステップ４０１２に進行し、ない場合には、本処理は終了する。
【００５３】
次に、ステップ４０１２では、割り込み転送部は、取得したA名と、割り込み情報とを対応付ける。具体的には、割り込み転送部は、当該割り込み情報が処理すべきアプリケーションに該当するA名を指定するメタデータを割り込み情報に付す。一例として、割り込み転送部は、割り込み情報に、A名１２１２を指定するメタデータを対応付けてもよい。
【００５４】
次に、ステップ４０１３では、ステップ４０１１で取得したA名に該当するアプリケーションがどのハイパーバイザ上に稼働しているかを判定するために、割り込み転送部は、取得したA名を用いて、A名からH名テーブル＃を参照し、当該A名に対応するH名（すなわち、ハイパーバイザ）を検索する。
【００５５】
次に、ステップ４０１４では、割り込み転送部は、取得したA名に対応するH名がA名からH名テーブル＃に存在するかを判定する。一例としては、割り込み転送部は、ステップ４０１１で読み出したIRQ情報を用いて、図２に示すA名からH名テーブル３１４４を参照し、当該A名１２１２に対応するH名であるH名１１４１を取得する。受信したA名に対応するH名がA名からH名テーブル＃にある場合には、本処理はステップ４０１５に進行し、ない場合には、本処理は終了する。
【００５６】
次に、ステップ４０１５では、割り込み転送部は、取得したH名と、割り込み情報とを対応付ける。具体的には、割り込み転送部は、当該割り込み情報が処理すべきアプリケーションを含むハイパーバイザに該当するH名を指定するメタデータを割り込み情報に付す。一例として、割り込み転送部は、割り込み情報に、H名１１４１を指定するメタデータを対応付けてもよい。
【００５７】
次に、A名とH名を割り込み情報に対応付けた後、本処理はステップ４００５に戻る。ステップ４００５では、割り込み転送部は、割り込み情報からH名（ステップ４０１５で対応付けたH名）を抽出する。一例として、割り込み転送部は、割り込み情報からH名１１４１を抽出してもよい。
【００５８】
次に、ステップ４００６では、割り込み転送部は、抽出したH名を用いて、割り込み情報を受信したハイパーバイザがH名に指定されているハイパーバイザと同一のハイパーバイザであるか（つまり、送信先のアプリケーションが、割り込み情報を受信したハイパーバイザと同一の装置内で実装されているか）を判定する。割り込み情報を受信したハイパーバイザは、対応付られているH名に指定されているハイパーバイザと同一のハイパーバイザである場合（すなわち、割り込み情報を受信したハイパーバイザが送信先のハイパーバイザであるため、別の制御装置に転送する必要はない）には、本処理は、ステップ４００７に進行し、そうでない場合には、本処理はステップ４０１６に進行する。
【００５９】
割り込み情報を受信したハイパーバイザは、対応付られているH名に指定されているハイパーバイザと同一のハイパーバイザである場合、ステップ４００７では、割り込み転送部は、ステップ４０１２で割り込み情報に対応付けたA名を割り込み情報から抽出する。一例として、割り込み転送部は、A名１２１２を割り込み情報から抽出してもよい。
【００６０】
次に、ステップ４０１５では、割り込み転送部は、受信した割り込み情報を、抽出したA名を持つアプリケーションに送信する。なお、ここでは、割り込み情報を受信したハイパーバイザは、H名で指定されているハイパーバイザと同一であるため、抽出したA名を持つアプリケーションが当該ハイパーバイザと同一の車両制御装置であり、H名から接続テーブルを参照する必要はない。
【００６１】
ステップ４００６において、割り込み情報を受信したハイパーバイザはH名に指定されているハイパーバイザではないと判定された場合、次に、ステップ４０１６では、割り込み転送部は、抽出したH名を用いて、H名から接続テーブル＃を参照し、当該H名に対応する接続＃を検索する。
【００６２】
次に、ステップ４０１７では、割り込み転送部は、抽出したH名に対応する接続＃がH名から接続テーブル＃に存在するか否かを判定する。一例としては、割り込み転送部は、ステップ４００５で抽出したH名１１４１を用いて、図２に示すH名から接続テーブル３１４３を参照し、当該H名に対応する接続＃である接続１０３１を取得する。受信したH名に対応する接続＃名がH名から接続テーブル＃にある場合には、本処理はステップ４０１８に進行し、ない場合には、本処理は終了する。
【００６３】
次に、ステップ４０１８では、割り込み転送部は、情報通信部#を用いて、ステップ４０１７で取得した接続＃に割り込み情報を送信する。一例として、割り込み転送部は、車両制御装置３３００の接続３０３１（図３に例示せず）を介して、図３に示す割り込み情報を車両制御装置１３００の接続１０３１に送信する。
【００６４】
次に、ステップ４０１９では、送信先の車両制御装置の情報通信部は、接続＃を介してステップ４０１８で送信された割り込み情報を受信し、同一の車両制御装置内の割り込み転送部に送信する。一例として、車両制御装置１３００の情報通信部１０３０は、接続１０３１を介して、受信した割り込み情報を割り込み転送部１１４０に送信する。次に、割り込み情報を受信した割り込み転送部は、上述したステップ４００３からの処理を行うことで、割り込み情報に対応付けられたH名及びA名を用いて、割り込み情報を送信すべきアプリケーションに転送することができる。
【００６５】
このように、上述した割り込み転送部及びマッピングテーブルを用いることで、アプリケーションが、一つの制御装置から別の制御装置へと移行されても、車両用デバイスからの割り込み信号を転送させることによって、割り込み信号を発生させた車両用デバイスと当該車両用デバイスを管理するアプリケーションの通信が中断されない。
（第２の実施形態）
【００６６】
次に、図５〜７を参照して、第２の実施形態におけるマッピングテーブルについて説明する。
【００６７】
図５に示すマッピングテーブルは、変更可能なデバイスが車両用デバイスとして使用される場合のマッピングテーブルの一例を示す図である。
【００６８】
図５に示されるように、本実施形態におけるマッピングテーブルは、あるIRQがどのアプリケーションに該当するかを示すIRQからA名テーブル１１５２、２１５２と、それぞれのアプリケーションがどのハイパーバイザによって制御されているかを示すA名からH名テーブル１１５３、２１５３と、それぞれのハイパーバイザをアクセスするための接続（すなわち、経路）を示すH名から接続テーブル１１５４、２１５４とを含む。これらのマッピングテーブルは、各車両制御装置に実装されるハイパーバイザ層が有する割り込み転送部に格納されてもよい。
例えば、マッピングテーブル１１５２、１１５３、及び１１５４は図６に示す車両制御装置１３００に格納され、マッピングテーブル２１５２、２１５３、及び２１５４は車両制御装置３３００に格納されてもよい（例示せず）。これにより、車両用デバイスからの割り込み信号が発生すると、割り込み転送部はこれらのマッピングテーブルを参照することで、当該割り込みを転送すべき送信先を特定することができる。
【００６９】
後述するように、本実施形態に係るデータ処理システム（図６参照）は、割り込み情報転送処理の一部を担う変更可能な車両用デバイスを備えているため、本実施形態におけるマッピングテーブルの構成は、実施形態１に係るマッピングテーブルと異なる。具体的には、本実施形態におけるマッピングテーブルは、変更可能な車両用デバイスを識別するH名（例えば、H名２１４１）及び変更可能な車両用デバイスの入出力インターフェースとなる接続２０３１を有する点において、実施形態１に係るマッピングテーブルと異なる。このようなマッピングテーブル構成を用いることで、変更可能車両用デバイスは、割り込み情報転送処理の一部を担うことができ、実施形態１に係るデータ処理システムより更に効率よく行うことができる。
【００７０】
次に、図6を参照して、本発明に係るデータ処理システムについて説明する。図6は、本発明の第２の実施形態における変更可能な車両用デバイスからの割り込み信号をアプリケーションに転送するためのデータ処理システムを示す図である。
【００７１】
本実施形態に係るデータ処理システムは、図6に示されるように、車両制御装置１３００と、車両用デバイス２５００と、車両制御装置３３００とを含む。上述したように、車両制御装置１３００、３３００は自動車における様々なシステムを電子回路を用いて総合的に制御する装置である。また、車両用デバイス２５００は、カメラ、温度計、車速センサ、空気圧センサ等の予め定めた機能を実施するための専用装置である。
【００７２】
第２の実施形態に係るデータ処理システムは、変更不可能な車両用デバイス２３００の代わりに、変更可能な車両用デバイス２５００を有する点において、第２の実施形態に係るデータ処理システムと異なる。具体的には、車両用デバイス２５００は、単に生データを取得して送信する車両用デバイス２３００と異なり、情報通信部２０３０及び接続２０３１に加えて、割り込み転送部２１４０、H名２１４１、IRQからA名テーブル２１４２、A名からH名テーブル２１４３、及び、H名から接続テーブル２１４４を含む。このように、変更可能な車両用デバイス２５００は、割り込み転送処理の一部（すなわち、割り込み情報の送信先となるハイパーバイザを判定する処理）を行うことができるため、割り込み信号を転送する処理を、第１の実施形態に係るデータ処理システムより更に効率よく行うことができる。
【００７３】
第２の実施形態に係るデータ処理システムの構成は、変更不可能な車両用デバイス２３００の代わりに、変更可能な車両用デバイス２５００を有する点以外では、第１の実施形態に係るデータ処理システムと同様である。そのため、第１の実施形態に係るデータ処理システムと実質的に同様である構成要素の説明はここで繰り返さない。
【００７４】
次に、図７を参照して、割り込み信号を転送することでアプリケーションと車両用デバイスの通信を維持する処理について説明する。図７は、本発明の一実施例における変更可能な車両用デバイス（例えば、図６に示す変更可能な車両用デバイス２５００）からの割り込み信号をアプリケーションに転送する動作を示すフローチャート図である。図７に示されるフローチャートでは、割り込み情報の送信先となるハイパーバイザを判定する処理が（変更可能な）車両用デバイスによって行われる点において、図４に示される処理と異なる。このように、割り込み情報の送信先となるハイパーバイザを判定する処理を車両用デバイスによって行うことで、割り込み情報を送信先のハイパーバイザに届けるための時間を短縮し、CPUなどのリソースを節約する等の効果が得られる。
なお、以下の説明では、「＃」というマークは、対象の装置・機能部を示す意味で使われており、任意の参照符号であってもよい。
【００７５】
図７で示される割り込み転送処理は、あるアプリケーションが１つのハイパーバイザから、別の車両制御装置のハイパーバイザに移行された際に行われる。一例として、本処理は、カメラ（例えば、図６に示す車両用デバイス２５００）が取得した映像データを解析するアプリケーション（例えば、図６に示すアプリ１２１１）が元の車両制御装置のハイパーバイザ（例えば、図６に示す車両制御装置３３００のハイパーバイザ）から、別の車両制御装置のハイパーバイザ（例えば、図６に示す車両制御装置１３００のハイパーバイザ１１００）に移行された場合に適用されてもよい。このアプリケーション移行は、全体システムのリソースの使用効率の向上、顧客向けのQoS（Quality of Service）改善等の理由で行われてもよい。
【００７６】
上述したように、アプリケーション移行を行うための具体的な手順やアプリケーションの移行先は、自動車ネットワークのリソース使用率、アプリケーション可用性、ネットワーク負荷や時間等の制約に応じて適宜に決められてもよく、ここでは限定されない。本発明では、アプリケーションは同一のA名（すなわち、アプリケーションのA名が起動時から終了時まで変わらない）を有し、上述したマッピングテーブルが自動車ネットワークの各ハイパーバイザに格納されていればよい。一例として、自動車ネットワーク起動時に、周知のアルゴリズム（例えば、path finding algorithm、loop-free routing algorithm、ideal link-state algorithm等）が、ネットワーク内でどのハイパーバイザが使用されているか、特定のH名を有するハイパーバイザにアクセスするためにどの経路を使えばよいかを各ハイパーバイザに通知し、マッピングテーブルを更新してもよい。このアルゴリズムを定期的（一定時間ごとに、アプリケーションが追加・削除・変更される度等）に実行することで、それぞれのハイパーバイザが有するマッピングテーブルを更新することができる。
【００７７】
図７に示すように、ステップ５０００では、車両用デバイス（例えば、図６に示す車両用デバイス２５００）が割り込み情報を生成する。この割り込み情報とは、CPUに対して、現在の処理を中断して、指定した処理を強制的に実行させることを要求する信号である。例えば、車両用デバイスがカメラである場合、車両デバイスは映像を撮像した後、撮像した画像をアプリケーションに処理させるために、割り込み情報を生成してもよい。
【００７８】
次に、ステップ５００１では、割り込み情報を生成した車両用デバイスは、当該車両用のデバイス内の割り込み転送部に送信する。一例として、図６に示す車両用デバイス２５００は、割り込み情報を当該車両用デバイス２５００の割り込み転送部２１４０に送信する。
【００７９】
次に、ステップ５００２では、割り込み情報を受信した割り込み転送部（例えば、図６に示す車両用デバイス２５００の割り込み転送部２１４０）は、受信した割り込み情報が送信先のハイパーバイザを指定するH名メタデータに対応付けられているか否かを判定する。受信した割り込み情報は、送信先のハイパーバイザを指定するH名メタデータに対応付けられている場合には、本処理はステップ５００３に進行する。受信した割り込み情報は、送信先のハイパーバイザを指定するH名メタデータに対応付けられていない場合には、本処理はステップ５００７に進行する。
【００８０】
受信した割り込み情報は、送信先のハイパーバイザを指定するH名メタデータに対応付けられていない場合には、次にステップ５００７では、割り込み転送部は受信した割り込み情報からIRQの情報を読み出す。
【００８１】
次に、ステップ５００８では、割り込み転送部は、ステップ５００７で読み出したIRQ情報を用いて、IRQからA名テーブル＃を参照し、当該IRQに対応するA名を検索する。
【００８２】
次に、ステップ５００９では、割り込み転送部は、読み出したIRQに対応するA名がIRQからA名テーブル＃に存在するかを判定する。一例としては、割り込み転送部は、ステップ５００７で読み出したIRQ情報を用いて、図６に示すIRQからA名テーブル２１５２を参照し、当該IRQに対応するA名であるA名１２２２を取得する。受信したIRQに対応するA名がIRQからA名テーブル＃にある場合には、本処理はステップ５０１０に進行し、受信したIRQに対応するA名がIRQからA名テーブル＃にない場合には、本処理は終了する。
【００８３】
次に、ステップ５０１０では、割り込み転送部は、取得したA名と、割り込み情報とを対応付ける。具体的には、割り込み転送部は、当該割り込み情報が処理すべきアプリケーションに該当するA名を指定するメタデータを割り込み情報に付す。一例として、割り込み転送部２１４０は、割り込み情報に、A名１２２２を指定するメタデータを対応付けてもよい。
【００８４】
次に、ステップ５０１１では、ステップ５００８で取得したA名に該当するアプリケーションがどのハイパーバイザ上に稼働しているかを判定するために、割り込み転送部は、取得したA名を用いて、A名からH名テーブル＃を参照し、当該A名に対応するH名（すなわち、ハイパーバイザ）を検索する。
【００８５】
次に、ステップ５０１２では、割り込み転送部は、取得したA名に対応するH名がA名からH名テーブル＃に存在するかを判定する。一例としては、割り込み転送部２１４０は、ステップ５００７で読み出したIRQ情報を用いて、図６に示すA名からH名テーブル２１５３を参照し、当該A名１２２２に対応するH名であるH名１１４１を取得する。受信したA名に対応するH名がA名からH名テーブル＃にある場合には、本処理はステップ５０１３に進行し、ない場合には、本処理は終了する。
【００８６】
次に、ステップ５０１３では、割り込み転送部は、取得したH名と、割り込み情報とを対応付ける。具体的には、割り込み転送部は、当該割り込み情報が処理すべきアプリケーションを含むハイパーバイザに該当するH名を指定するメタデータを割り込み情報に付す。一例として、割り込み転送部２１４０は、割り込み情報に、H名１１４１を指定するメタデータを対応付けてもよい。
【００８７】
次に、本処理はステップ５００２に戻り、受信した割り込み情報が送信先のハイパーバイザを指定するH名メタデータに対応付けられているか否かを判定する。今回の処理では、H名メタデータがステップ５０１３で割り込み情報に対応付けられたため、H名メタデータが対応付られていると判定され、本処理はステップ５００３に進行する。
【００８８】
次に、ステップ５００３では、割り込み転送部は、割り込み情報からH名（ステップ５０１３で対応付けたH名）を抽出する。一例として、割り込み転送部は、割り込み情報からH名１１４１を抽出してもよい。
【００８９】
次に、ステップ５００４では、割り込み転送部は、抽出したH名を用いて、割り込み情報を受信したハイパーバイザがH名に指定されているハイパーバイザと同一のハイパーバイザであるか（つまり、送信先のアプリケーションが、割り込み情報を受信したハイパーバイザと同一の装置内で実装されているか）を判定する。割り込み情報を受信したハイパーバイザは、対応付けられているH名に指定されているハイパーバイザと同一のハイパーバイザである場合（すなわち、割り込み情報を受信したハイパーバイザが送信先のハイパーバイザであるため、別の制御装置に転送する必要はない）には、本処理は、ステップ５００５に進行し、そうでない場合には、本処理はステップ５０１４に進行する。
【００９０】
割り込み情報を受信したハイパーバイザが、対応付けられているH名に指定されているハイパーバイザと同一のハイパーバイザである場合、ステップ５００５では、割り込み転送部は、ステップ５０１０で割り込み情報に対応付けたA名を割り込み情報から抽出する。一例として、割り込み転送部２１４０は、A名１２２２を割り込み情報から抽出してもよい。
【００９１】
次に、ステップ５００６では、割り込み転送部は、受信した割り込み情報を、抽出したA名を持つアプリケーションに送信し、本処理は終了する。なお、ここでは、割り込み情報を受信したハイパーバイザがH名で指定されているハイパーバイザと同一であるため、抽出したA名を持つアプリケーションが当該ハイパーバイザと同一の車両制御装置であり、H名から接続テーブルを参照する必要はない。
【００９２】
ステップ５００４において、割り込み情報を受信したハイパーバイザはH名に指定されているハイパーバイザではないと判定された場合、次に本処理はステップ５０１４に進行する。ステップ５０１４では、割り込み転送部は、抽出したH名を用いて、H名から接続テーブル＃を参照し、当該H名に対応する接続＃を検索する。
【００９３】
次に、ステップ５０１５では、割り込み転送部は、抽出したH名に対応する接続＃がH名から接続テーブル＃に存在するか否かを判定する。一例としては、割り込み転送部２１４０は、ステップ５００３で抽出したH名１１４１を用いて、図６に示すH名から接続テーブル２１５４を参照し、当該H名に対応する接続＃である接続１０３１を取得する。受信したH名に対応する接続＃名がH名から接続テーブル＃にある場合には、本処理はステップ４５０１６に進行し、ない場合には、本処理は終了する。
【００９４】
次に、ステップ５０１６では、割り込み転送部は、情報通信部#を用いて、ステップ５０１５で取得した送信先の車両制御装置の接続＃に割り込み情報を送信する。一例として、割り込み転送部２１４０は接続２０３１を介して、図６に示す割り込み情報を車両制御装置１３００の接続１０３１に送信する。
【００９５】
次に、ステップ５０１７では、送信先の車両制御装置の情報通信部は、接続＃を介してステップ５０１６で送信された割り込み情報を受信し、同一の車両制御装置内の割り込み転送部に送信する。一例として、車両制御装置１３００の情報通信部１０３０は、接続１０３１を介して、受信した割り込み情報を割り込み転送部１１４０に送信する。次に、割り込み情報を受信した割り込み転送部は、上述したステップ５００２からの処理を行うことで、割り込み情報に対応付けられたH名及びA名を用いて、割り込み情報を送信すべきアプリケーションに転送することができる。
【００９６】
このように、第２の実施形態に係るデータ処理システムは、変更可能な車両用デバイスを用いて割り込み転送処理を行うことで、割り込み信号が送信先の車両制御装置に届くまでの時間を短縮し、車両制御装置の処理負荷を削減できるため、第１の実施形態に係るデータ処理システムに比べて、割り込み転送処理を更に効率よく行うことが可能となる。
【００９７】
次に、実施例１〜４を用いて、本発明に係る割り込み転送を実装した具体例を説明する。
【実施例１】
【００９８】
実施例１は、上述した車両制御装置（例えば、図３に示す車両制御装置１３００、３３００）を、SoCとして半導体基盤に搭載し、PCIExpress等の通信媒体によって相互接続する。このような場合には、各SoC上には、ハイパーバイザ及び割り込み転送部が実装され、これらのSoCは情報通信部として機能するPCIExpress経由で、割り込み情報転送等のデータやり取りを行うことができる（すなわち、PCIExpressは図３における情報通信部１０３０として機能する）。
【実施例２】
【００９９】
実施例２では、上述した車両制御装置（例えば、図３に示す車両制御装置１３００、３３００）は、ECUとして自動車に搭載され、車載Ethernetによって他のデバイス（他のECU及びカメラやセンサ等の車両用デバイス）に相互接続される。このような場合には、各ECU上には、ハイパーバイザ及び割り込み転送部は実装され、車載Ethernetを介してお互いに割り込み情報を転送することができる。また、本実施例では、各ECUには複数のハイパーバイザが実装されてもよい。この場合には、ハイパーバイザごとに、割り込み転送のON・OFFを設定する構成であってもよい。
【実施例３】
【０１００】
本実施例３では、上述した車両制御装置（例えば、図３に示す車両制御装置１３００、３３００）は、それぞれ異なる自動車に搭載される。これらの自動車は、LTEAdvancedや802.11等の無線通信で相互接続される。このような場合には、車両用デバイス（例えば、図３に示す車両用デバイス２３００）は、１つの車両制御装置のみに接続される。
【０１０１】
また、この場合には、それぞれの自動車に、ハイパーバイザや割り込み転送部が実装され、これらのハイパーバイザや割り込み転送部は、上述したLTEAdvancedや802.11等の無線通信を介して、割り込み情報を別の自動車に実装されているアプリケーションに転送することができる。これにより、アプリケーションは、元の自動車の車両用デバイスとの接続を維持しつつ、別の自動車に移行されてもよい。
【実施例４】
【０１０２】
本実施例４では、上述した車両制御装置の１つ（例えば、図３に示す車両制御装置１３００）は自動車に搭載され、１つまたは複数の車両用デバイス（例えば、図３に示す車両用デバイス２３００）に接続される。そして、他の制御装置は、データセンターに設置され、インターネット等のネットワークを介して自動車に搭載されている車両制御装置に相互接続される。このような場合には、自動車に搭載されている制御装置のリソースが不足する場合には、自動車に実装されているアプリケーションがデータセンターに設置されている制御装置に移行され、自動車の割り込み転送部は車両用デバイスからの割り込み情報を、インターネットを介してデータセンターに設置される制御装置に転送することができる。これにより、アプリケーションは、元の自動車の車両用デバイスとの接続を維持しつつ、データセンターの制御装置のリソースを活用することができ、アプリケーションの性能を向上させる効果が得られる。
【０１０３】
以上、本発明のいくつかの実施例を説明してきたが、これらは、本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施する事が可能である。
【符号の説明】
【０１０４】
１０５：車両用デバイス
１１０、１２０、１３０、１４０、１５０：車両制御装置
１１００：ハイパーバイザ
１１４２、２１５２、３１４２：IRQからA名テーブル
１１４３、２１５３、３１４３：A名からH名テーブル
１１４４、２１５４、３１４４：H名から接続テーブル
１３００、３３００：車両制御装置
２３００：変更不可能な車両用デバイス
２５００：変更可能な車両用デバイス
【図１】
2019215822.tif 000003
【図２】
2019215822.tif 000004
【図３】
2019215822.tif 000005
【図４】
2019215822.tif 000006
【図５】
2019215822.tif 000007
【図６】
2019215822.tif 000008
【図７】
2019215822.tif 000009