(57)【特許請求の範囲】
【請求項１】
ハイパーバイザ上で動作する複数の仮想マシンのうち一の仮想マシンに入力イベントを送信するイベント送信装置であって、
前記複数の仮想マシンのそれぞれに対応して設けられる複数の描画レイヤが、互いに重畳された重畳画像に対して入力される前記入力イベントを受け付ける入力部と、
前記重畳画像における複数の位置と各前記位置における画像が由来する一の描画レイヤとの対応関係に基づき、前記複数の仮想マシンのうち、前記重畳画像における前記入力イベントの入力位置に対応する一の仮想マシンである送信先の仮想マシンに、前記入力イベントを送信するイベント送信部と、
前記複数の描画レイヤを重畳し、前記重畳画像と前記対応関係とを生成する重畳部と、
記憶部と、を備え、
前記重畳部は、前記重畳画像を生成する度に、前記重畳画像に対応する前記対応関係を生成し、
前記記憶部は、前記重畳部によって互いに異なるタイミングで生成された複数の対応関係を記憶し、
前記イベント送信部は、予め定められた選択条件に基づき、前記複数の対応関係から前記送信先の仮想マシンを選択するための一の対応関係を選択するイベント送信装置。
【請求項２】
前記重畳画像と前記複数の描画レイヤの各々とは、それぞれ複数のピクセルを含み、
前記重畳画像は、前記複数の描画レイヤが前記複数のピクセルごとに重畳された画像であり、
前記対応関係における対応の単位である前記重畳画像の各前記位置として、各前記ピクセルの単位が適用される、請求項１に記載のイベント送信装置。
【請求項３】
前記重畳部は、前記対応関係として、前記重畳画像における一のピクセルの座標と、前記一のピクセルの画像が由来している前記一の描画レイヤと、を対応付けたビットマップを生成し、
前記イベント送信部は、前記ビットマップに基づき、前記送信先の仮想マシンに、前記入力イベントを送信する、請求項２に記載のイベント送信装置。
【請求項４】
前記重畳部は、前記ビットマップを含む前記重畳画像を生成し、
前記イベント送信部は、前記重畳画像に含まれる前記ビットマップに基づき、前記送信先の仮想マシンに、前記入力イベントを送信する、請求項３に記載のイベント送信装置。
【請求項５】
前記複数の描画レイヤの各々は、前記複数のピクセルの各々における透明度情報を含み、
前記重畳部は、前記透明度情報と、予め定められた透明度に関する閾値とに基づいて、前記一のピクセルの前記画像が由来している前記一の描画レイヤを決定することにより、前記重畳画像と前記ビットマップとを生成する、請求項３に記載のイベント送信装置。
【請求項６】
前記複数の描画レイヤの各々は、前記複数のピクセルの各々における色情報をさらに含み、
前記重畳部は、前記一の描画レイヤにおける前記一のピクセルの前記透明度情報が透明であり、かつ、前記色情報が特定色である場合、前記一のピクセルの前記座標と前記一の描画レイヤとを対応付けた前記ビットマップを生成する、請求項５に記載のイベント送信装置。
【請求項７】
時刻情報を取得する時刻取得部、をさらに備え、
前記重畳部は、前記重畳画像と前記対応関係とを生成する度に、前記重畳画像と前記対応関係とに前記時刻情報を生成時刻として付与し、
前記入力部は、前記重畳画像に付与された前記生成時刻を取得し、
前記予め定められた選択条件とは、前記入力部にて取得された前記生成時刻と、前記記憶部に記憶された各前記対応関係に付与された前記生成時刻と、に関係する条件である、請求項１に記載のイベント送信装置。
【請求項８】
前記入力部は、
前記入力イベントを受け付けることにより、前記重畳画像から前記ビットマップを取得するレイヤ情報取得部を含み、
前記イベント送信部は、前記レイヤ情報取得部にて取得された前記ビットマップに基づき、前記送信先の仮想マシンに、前記入力イベントを送信する、請求項４に記載のイベント送信装置。
【請求項９】
前記ハイパーバイザ上で動作する前記複数の仮想マシンをさらに備える、請求項１に記載のイベント送信装置。
【請求項１０】
前記ハイパーバイザ上で動作する前記複数の仮想マシンを含む情報処理装置に、ネットワークを介して前記入力イベントを送信する通信部をさらに備える、請求項１に記載のイベント送信装置。
【請求項１１】
ハイパーバイザ上で動作する複数の仮想マシンのうち一の仮想マシンに入力イベントを送信するイベント送信方法であって、
前記複数の仮想マシンのそれぞれに対応して設けられる複数の描画レイヤが、互いに重畳された重畳画像に対して入力される前記入力イベントを受け付け、
前記重畳画像における複数の位置と各前記位置における画像が由来する一の描画レイヤとの対応関係に基づき、前記複数の仮想マシンのうち、前記重畳画像における前記入力イベントの入力位置に対応する一の仮想マシンである送信先の仮想マシンに、前記入力イベントを送信し、
前記複数の描画レイヤを重畳し、前記重畳画像と前記対応関係とを生成し、
前記重畳画像を生成する度に、前記重畳画像に対応する前記対応関係を生成し、
互いに異なるタイミングで生成された複数の対応関係を記憶し、
予め定められた選択条件に基づき、前記複数の対応関係から前記送信先の仮想マシンを選択するための一の対応関係を選択する、イベント送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イベント送信装置、情報処理装置、情報処理システム、およびイベント送信方法に関する。
【背景技術】
【０００２】
ハイパーバイザ上で動作する複数の仮想マシンを搭載するシステムは、その表示装置に各仮想マシンが描画した画像を重畳して表示する。表示装置が入力装置としてタッチパネルを有する場合、タッチパネルが受け付ける入力情報はタッチ座標のみであるため、システムはその入力情報に対応する仮想マシンを認識することはできない。【０００３】
そこで、システムが適切な仮想マシンに入力情報を送信するために、以下の２つの方法が考えられる。その１つの方法においては、システムは入力情報を全ての仮想マシンに一斉に配信する。もう１つの方法においては、システムは予め定められた順序に従い各仮想マシンに順次入力情報を送信する。例えば、システムはまず一の仮想マシンに入力情報を送信する。その入力情報を受信した一の仮想マシンが入力情報を使用しない場合、システムは別の仮想マシンに入力情報を送信する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１９７８５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前者の方法では、ハイパーバイザと各仮想マシンとの間で、無駄な通信が発生する。また、後者の方法では、入力情報が入力されてから、その入力情報を必要とする仮想マシンがその入力情報を受信するまでに時間を要する。【０００６】
特許文献１には、ハイパーバイザ上に複数の仮想マシンが搭載された機能提供装置が提案されている。この機能提供装置においては、メニュー管理機能が実行されるＯＳ（オペレーションシステム）が搭載された１つの仮想マシンに、メニュー画面が表示されている。メニュー画面において、特定の機能に対応した特定のボタンが押下された場合、仮想マシンのメニュー管理機能部は、その特定の機能を制御する仮想マシンを呼び出す。そのため、選択された機能を実行する仮想マシンに処理依頼が到達するまでに時間を要する。また、メニュー画面における入力位置と、特定の機能を実行する仮想マシンとの対応関係が、予め定められている必要がある。すなわち、機能提供装置は、任意の表示画面に対して、上記のメニュー管理機能と同様の機能を実行できるとは限らない。【０００７】
本発明は、以上のような課題を解決するためになされたものであり、ハイパーバイザ上で動作する複数の仮想マシンのうち一の仮想マシンに効率よく入力イベントを送信するイベント送信装置の提供を目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るイベント送信装置は、ハイパーバイザ上で動作する複数の仮想マシンのうち一の仮想マシンに入力イベントを送信する。イベント送信装置は、入力部とイベント送信部と重畳部と記憶部とを含む。入力部は、複数の仮想マシンのそれぞれに対応して設けられる複数の描画レイヤが、互いに重畳された重畳画像に対して入力される入力イベントを受け付ける。イベント送信部は、重畳画像における複数の位置と各位置における画像が由来する一の描画レイヤとの対応関係に基づき、複数の仮想マシンのうち、重畳画像における入力イベントの入力位置に対応する一の仮想マシンである送信先の仮想マシンに、入力イベントを送信する。重畳部は、複数の描画レイヤを重畳し、重畳画像と対応関係とを生成する。重畳部は、重畳画像を生成する度に、重畳画像に対応する対応関係を生成する。記憶部は、重畳部によって互いに異なるタイミングで生成された複数の対応関係を記憶する。イベント送信部は、予め定められた選択条件に基づき、複数の対応関係から送信先の仮想マシンを選択するための一の対応関係を選択する。
【発明の効果】
【０００９】
本発明によれば、ハイパーバイザ上で動作する複数の仮想マシンのうち一の仮想マシンに効率よく入力イベントを送信するイベント送信装置の提供が可能である。【００１０】
本発明の目的、特徴、局面、および利点は、以下の詳細な説明と添付図面とによって、より明白になる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１におけるイベント送信装置の構成を示すブロック図である。
【図２】実施の形態１におけるイベント送信装置が有する処理回路の一例を示す図である。
【図３】実施の形態１におけるイベント送信装置が有する処理回路の別の一例を示す図である。
【図４】実施の形態１におけるイベント送信装置の動作およびイベント送信方法を示すフローチャートである。
【図５】実施の形態２におけるイベント送信装置の構成を示すブロック図である。
【図６】実施の形態２におけるレイヤ構成関係の一例を示す図である。
【図７】実施の形態２における描画レイヤおよび重畳画像の一例を示す図である。
【図８】実施の形態２における描画レイヤおよび重畳画像の一例を示す図である。
【図９】実施の形態２におけるビットマップの一例を示す図である。
【図１０】実施の形態２におけるイベント送信装置のハードウェアとハイパーバイザとの関係を示す図である。
【図１１】実施の形態２における重畳部による重畳画像の生成動作を示すフローチャートである。
【図１２】実施の形態２における重畳部によるビットマップ生成動作を示すフローチャートである。
【図１３】実施の形態２におけるイベント送信装置の動作およびイベント送信方法を示すフローチャートである。
【図１４】実施の形態２の変形例における重畳部によるビットマップ生成動作を示すフローチャートである。
【図１５】実施の形態３におけるイベント送信装置の構成を示すブロック図である。
【図１６】実施の形態３における重畳部によるビットマップ生成動作を示すフローチャートである。
【図１７】実施の形態３におけるイベント送信装置の動作およびイベント送信方法を示すフローチャートである。
【図１８】実施の形態４におけるイベント送信装置の構成を示すブロック図である。
【図１９】実施の形態４における入力部の動作を示すフローチャートである。
【図２０】実施の形態４におけるイベント送信装置の動作およびイベント送信方法を示すフローチャートである。
【図２１】実施の形態５におけるイベント送信装置、情報処理装置および情報処理システムの構成を示すブロック図である。
【図２２】実施の形態５におけるレイヤ構成関係の一例を示す図である。
【図２３】実施の形態５における重畳部による重畳画像の生成動作を示すフローチャートである。
【図２４】実施の形態５における重畳部によるビットマップ生成動作を示すフローチャートである。
【図２５】実施の形態５におけるイベント送信装置の動作およびイベント送信方法を示すフローチャートである。
【図２６】実施の形態５における情報処理装置の動作およびイベント送信方法を示すフローチャートである。
【図２７】実施の形態６におけるイベント送信装置およびそれに関連して動作する装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
＜実施の形態１＞
図１は、実施の形態１におけるイベント送信装置１００の構成を示すブロック図である。また、図１には、イベント送信装置１００と関連して動作する複数の仮想マシン３０が示されている。これら複数の仮想マシン３０は、ハイパーバイザ上で動作する。
【００１３】
イベント送信装置１００は、入力部１０およびイベント送信部２０を有する。
【００１４】
入力部１０は、複数の仮想マシン３０のそれぞれに対応して設けられる複数の描画レイヤが、互いに重畳された重畳画像に対して入力される入力イベントを受け付ける。入力部１０は、例えば、ディスプレイに表示される重畳画像に基づき、タッチパネルに入力される入力イベントを受け付ける。
【００１５】
イベント送信部２０は、重畳画像における複数の位置と、各位置における画像が由来する一の描画レイヤとの対応関係に基づき、複数の仮想マシン３０のうち、重畳画像における入力イベントの入力位置に対応する一の仮想マシンである送信先の仮想マシンに、入力イベントを送信する。
【００１６】
図２は、イベント送信装置１００が有する処理回路９５の一例を示す図である。入力部１０およびイベント送信部２０の各機能は、処理回路９５により実現される。すなわち、処理回路９５は、入力部１０およびイベント送信部２０を有する。
【００１７】
処理回路９５が専用のハードウェアである場合、処理回路９５は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、またはこれらを組み合わせた回路等である。入力部１０およびイベント送信部２０の各機能は、複数の処理回路により個別に実現されてもよいし、１つの処理回路によりまとめて実現されてもよい。
【００１８】
図３は、イベント送信装置１００が有する処理回路の別の一例を示す図である。処理回路は、プロセッサ９６とメモリ９７とを有する。プロセッサ９６がメモリ９７に格納されるプログラムを実行することにより、入力部１０およびイベント送信部２０の各機能が実現される。例えば、プログラムとして記述されたソフトウェアまたはファームウェアがプロセッサ９６により実行されることにより各機能が実現される。すなわち、イベント送信装置１００は、プログラムを格納するメモリ９７と、そのプログラムを実行するプロセッサ９６とを有する。
【００１９】
プログラムには、イベント送信装置１００が、複数の仮想マシン３０のそれぞれに対応して設けられる複数の描画レイヤが、互いに重畳された重畳画像に対して入力される入力イベントを受け付け、重畳画像における複数の位置と、各位置における画像が由来する一の描画レイヤとの対応関係に基づき、複数の仮想マシン３０のうち、重畳画像における入力イベントの入力位置に対応する一の仮想マシンに、入力イベントを送信する機能が記述されている。また、プログラムは、入力部１０およびイベント送信部２０の手順または方法をコンピュータに実行させるものである。
【００２０】
プロセッサ９６は、例えば、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、ＤＳＰ（Digital Signal Processor）等である。メモリ９７は、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等の、不揮発性または揮発性の半導体メモリである。または、メモリ９７は、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等、今後使用されるあらゆる記憶媒体であってもよい。
【００２１】
上述した入力部１０およびイベント送信部２０の各機能は、一部が専用のハードウェアによって実現され、他の一部がソフトウェアまたはファームウェアにより実現されてもよい。このように、処理回路は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現する。
【００２２】
図４は、実施の形態１におけるイベント送信装置１００の動作およびイベント送信方法を示すフローチャートである。
【００２３】
ステップＳ１にて、入力部１０は、重畳画像に対して入力される入力イベントを受け付ける。
【００２４】
ステップＳ２にて、イベント送信部２０は、重畳画像における複数の位置と、各位置における画像が由来する一の描画レイヤとの対応関係に基づき、入力イベントの入力位置に対応する一の仮想マシンに、入力イベントを送信する。
【００２５】
以上をまとめると、実施の形態１におけるイベント送信装置１００は、ハイパーバイザ上で動作する複数の仮想マシン３０のうち一の仮想マシンに入力イベントを送信する。イベント送信装置１００は、複数の仮想マシン３０のそれぞれに対応して設けられる複数の描画レイヤが、互いに重畳された重畳画像に対して入力される入力イベントを受け付ける入力部１０と、重畳画像における複数の位置と各位置における画像が由来する一の描画レイヤとの対応関係に基づき、複数の仮想マシン３０のうち、重畳画像における入力イベントの入力位置に対応する一の仮想マシンである送信先の仮想マシンに、入力イベントを送信するイベント送信部２０と、を含む。
【００２６】
以上の構成により、イベント送信装置１００は、ハイパーバイザ上で動作する送信先の仮想マシンに効率よく入力イベントを送信することができる。イベント送信装置１００は、ハイパーバイザと各仮想マシン３０との間の総通信量を削減する。
【００２７】
以上をまとめると、実施の形態１におけるイベント送信方法は、ハイパーバイザ上で動作する複数の仮想マシン３０のうち一の仮想マシンに入力イベントを送信する方法である。イベント送信方法は、複数の仮想マシン３０のそれぞれに対応して設けられる複数の描画レイヤが、互いに重畳された重畳画像に対して入力される入力イベントを受け付け、重畳画像における複数の位置と各位置における画像が由来する一の描画レイヤとの対応関係に基づき、複数の仮想マシン３０のうち、重畳画像における入力イベントの入力位置に対応する一の仮想マシンに、入力イベントを送信する。
【００２８】
以上の構成により、イベント送信方法は、ハイパーバイザ上で動作する送信先の仮想マシンに効率よく入力イベントを送信することができる。イベント送信方法は、ハイパーバイザと各仮想マシン３０との間の総通信量を削減する。
【００２９】
＜実施の形態２＞
実施の形態２におけるイベント送信装置およびイベント送信方法を説明する。実施の形態２は、実施の形態１の下位概念である。実施の形態２におけるイベント送信装置は、実施の形態１において示されたイベント送信装置１００の各構成を含む。なお、実施の形態１と同様の構成および動作については説明を省略する。
【００３０】
図５は、実施の形態２におけるイベント送信装置１０１の構成を示すブロック図である。また、図５には、イベント送信装置１０１と関連して動作する装置として、ディスプレイ１１０およびタッチパネル１２０が図示されている。イベント送信装置１０１は、重畳部５０、表示制御部６０、入力部１０、レイヤ構成記憶部４０、イベント送信部２０、および複数の仮想マシン３０を有する。
【００３１】
複数の仮想マシン３０は、実施の形態２において、第１仮想マシン３０１から第Ｎ仮想マシン３０Ｎを含む。各仮想マシンは、ハイパーバイザ上で動作する。
【００３２】
重畳部５０は、複数の仮想マシン３０のそれぞれに対応して設けられる複数の描画レイヤを重畳し、重畳画像を生成する。その際、重畳部５０は、まず各仮想マシン３０によって描画された画像を取得する。重畳部５０は、レイヤ構成関係を参照して、その画像が由来する各仮想マシン３０に対応する描画レイヤに、その画像を書き込む。重畳部５０は、各描画レイヤの画像を重畳し、重畳画像を生成する。図６は、実施の形態２におけるレイヤ構成関係の一例を示す図である。ここでは、レイヤ構成関係は、描画レイヤ番号と、使用仮想マシンとが対応づけられたテーブルである。使用仮想マシンとは、描画レイヤ番号の欄に示された描画レイヤに書き込まれるべき画像が由来する仮想マシン３０のことである。例えば、描画レイヤ番号「１」で示される描画レイヤには、第１仮想マシン３０１によって描画される画像が書き込まれる。または、例えば、描画レイヤ番号「２」で示される描画レイヤには、第２仮想マシン３０２によって描画される画像が書き込まれる。
【００３３】
図７および図８は、実施の形態２における描画レイヤ２および重畳画像５の一例を示す図である。図７および図８は、説明を簡略化するため、２つの描画レイヤ２およびその２つの描画レイヤ２が重畳された１つの重畳画像５を示している。２つの描画レイヤ２は、図６における描画レイヤ番号「１」に対応する第１描画レイヤ２Ａおよび描画レイヤ番号「２」に対応する第２描画レイヤ２Ｂからなる。第１描画レイヤ２Ａは、第２描画レイヤ２Ｂよりも上位に位置する。
【００３４】
図７において、第１描画レイヤ２Ａには、第１仮想マシン３０１によって第１領域３が描画されている。その第１仮想マシン３０１は、第１領域３に、ユーザによる操作を受け付ける領域であるボタン、ユーザに対するメッセージもしくは画面内のデザイン等（いずれも図示せず）を描画している。第１領域３以外の領域は透明である。第２描画レイヤ２Ｂには、第２仮想マシン３０２によって第２領域４が描画されている。第２仮想マシン３０２は、第２領域４に、ユーザによる操作を受け付けるボタン、ユーザに対するメッセージまたは画面内のデザイン等（いずれも図示せず）を描画している。第２領域４以外の領域は透明である。重畳画像５は、第１描画レイヤ２Ａと第２描画レイヤ２Ｂとが互いに重畳されている。重畳画像５は、それぞれの描画レイヤ２に由来する第１領域３と第２領域４とを含む。
【００３５】
図８においても、同様である。第１描画レイヤ２Ａには、第１仮想マシン３０１によって第１領域３が描画されている。第１領域３以外の領域は透明である。第２描画レイヤ２Ｂには、第２仮想マシン３０２によって第２領域４が描画されている。第２領域４以外の領域は透明である。重畳画像５において、第１描画レイヤ２Ａが透明である領域には、第２描画レイヤ２Ｂの第２領域４が描画されている。第１領域３と第２領域４とが重なる領域には、第１描画レイヤ２Ａにおける第１領域３が描画されている。
【００３６】
また、実施の形態２において、重畳画像５および各描画レイヤ２は、複数のピクセルを有する。重畳画像５のピクセル数と各描画レイヤ２のピクセル数とは同じである。重畳画像５は、複数の描画レイヤ２が複数のピクセルごとに重畳されている。
【００３７】
また、各描画レイヤ２における各ピクセルは、色情報を示すＲＧＢ値に加え、透明度の情報を示すアルファチャネルを有する。アルファチャネルは、ここでは、α値で示される。例えば、一のピクセルのα値が１の場合、そのピクセルは不透明である。その場合、重畳画像５におけるそのピクセルには、ＲＧＢ値に対応する色が描画される。または、例えば、ピクセルのα値が０の場合、そのピクセルは透明である。その場合、重畳画像５におけるそのピクセルには、ＲＧＢ値に対応する色は描画されない。図７および図８において、第１領域３と第２領域４のα値はともに１であり、透明な領域のα値はともに０である。重畳部５０は、その透明度情報（α値）と、予め定められた透明度に関する閾値とに基づいて、重畳画像５を生成してもよい。閾値が適切に設定されることで、重畳部５０は、２以上の描画レイヤ２が半透明な状態で重畳された重畳画像５の生成が可能である。
【００３８】
また、重畳部５０は、重畳画像５における複数の位置と、各位置における画像が由来する一の描画レイヤ２との対応関係を生成する。例えば、図７または図８において、重畳部５０は、重畳画像５における第１領域３の位置と、その第１領域３の画像が由来する第１描画レイヤ２Ａとを対応付ける。また、重畳部５０は、重畳画像５における第２領域４の位置と、その第２領域４の画像が由来する第２描画レイヤ２Ｂとを対応付ける。
【００３９】
実施の形態２において、重畳部５０は、上記の対応関係として、ビットマップを生成する。ここでは、ビットマップは、重畳画像５および各描画レイヤ２のピクセル数と同じピクセル数を有する。すなわち、上記の対応関係における対応の単位である重畳画像５の各位置として、各ピクセルの単位が適用される。
【００４０】
ビットマップは、重畳画像５における一のピクセルの座標と、その一のピクセルの画像が由来する一の描画レイヤ２とが対応付けられた情報を含む。各画像レイヤの各ピクセルがα値を有する場合、重畳部５０は、α値と、予め定められた透明度に関する閾値とに基づいて、ビットマップを生成する。図９は、実施の形態２におけるビットマップ６の一例を示す図である。ビットマップ６には、各ピクセル７を描画する描画レイヤ番号が格納されている。例えば、図９に示されるビットマップ６において、「１」は第１描画レイヤ２Ａに由来する画像であることが示されている。「２」は第２描画レイヤ２Ｂに由来する画像であることが示されている。なお、実施の形態２においては、ビットマップ６は重畳画像５とは別に生成される。
【００４１】
表示制御部６０は、重畳部５０で生成された重畳画像５をディスプレイ１１０に表示させる制御を行う。
【００４２】
ディスプレイ１１０は、表示制御部６０の制御に従い、重畳画像５を表示する。
【００４３】
タッチパネル１２０は、入力装置である。タッチパネル１２０はディスプレイ１１０に内包された装置であってもよい。
【００４４】
入力部１０は、ディスプレイ１１０に表示される重畳画像５に対してタッチパネル１２０によって入力される入力イベントを受け付ける。その入力イベントは、重畳画像５における入力位置つまりタッチ座標を含む。
【００４５】
レイヤ構成記憶部４０は、上述したレイヤ構成関係を記憶する。図６に示されるように、１つの仮想マシンは複数の描画レイヤ２に対応していてもよいし、図示は省略するが１つの仮想マシンが１つの描画レイヤにだけ対応していてもよい。ただし、１つの描画レイヤ２は、１つの仮想マシンだけに対応している必要がある。
【００４６】
イベント送信部２０は、タッチ座標に対応するピクセル座標と、重畳部５０が生成したビットマップ６とに基づき、タッチ座標に対応する領域の画像が由来する一の描画レイヤ２を特定する。また、イベント送信部２０は、レイヤ構成記憶部４０が記憶するレイヤ構成関係に基づき、特定した描画レイヤ２に対応する送信先の仮想マシンを特定する。そして、イベント送信部２０は、送信先の仮想マシンに入力イベントを送信する。
【００４７】
図１０は、実施の形態２におけるイベント送信装置１０１のハードウェアとハイパーバイザとの関係を示す図である。イベント送信装置１０１は、ハードウェアとしてＳｏＣ（System on Chip）１３０を有する。ＳｏＣ１３０は、実施の形態１に示された処理回路に対応する。つまり、ＳｏＣ１３０は、入力部１０、イベント送信部２０、複数の仮想マシン３０、レイヤ構成記憶部４０、重畳部５０および表示制御部６０を有し、各機能部の機能を実現する。また、ＳｏＣ１３０は、タッチパネル１２０から入力される入力イベントを受け付ける。また、ＳｏＣ１３０は、重畳画像５をディスプレイ１１０に出力する。複数の仮想マシン３０は、ＳｏＣ１３０にインストールされたハイパーバイザ１４０上で動作する。各仮想マシンは、そのハイパーバイザ１４０上にソフトウェアによって仮想的に構築されている。
【００４８】
次に、重畳部５０による重畳画像の生成動作について説明する。図１１は、実施の形態２における重畳画像の生成動作を示すフローチャートである。
【００４９】
ステップＳ５にて、重畳部５０は、各仮想マシン３０によって描画される画像と、レイヤ構成関係とを取得する。
【００５０】
ステップＳ６にて、重畳部５０は、レイヤ構成関係を参照して、各画像が由来する各仮想マシン３０に対応する描画レイヤに、その画像を書き込む。
【００５１】
ステップＳ７にて、重畳部５０は、複数の描画レイヤを重畳し、重畳画像５を生成する。以上のステップにより、重畳画像５が生成される。
【００５２】
次に、重畳部５０によるビットマップの生成動作について説明する。図１２は、実施の形態２におけるビットマップ生成動作を示すフローチャートである。
【００５３】
ステップＳ１０にて、重畳部５０は、ビットマップ６を準備し、そのビットマップ６を初期化する。
【００５４】
ステップＳ２０にて、重畳部５０は、重畳画像５を取得する。
【００５５】
ステップＳ３０にて、重畳部５０は、重畳画像５の全ピクセル７に対してビットマップ６の生成処理が完了したか否かを判定する。重畳部５０が全ピクセル７に対して処理が完了したと判定した場合、ビットマップ生成動作は終了する。重畳部５０が全ピクセル７に対して処理が完了していないと判定した場合、ステップＳ４０が実行される。
【００５６】
ステップＳ４０にて、重畳部５０は、重畳画像５の全描画レイヤ２に対してビットマップ６の生成処理が完了したか否かを判定する。重畳部５０が全描画レイヤ２に対して処理が完了したと判定した場合、ステップＳ８０が実行される。重畳部５０が全描画レイヤ２に対して処理が完了していないと判定した場合、ステップＳ５０が実行される。
【００５７】
ステップＳ５０にて、重畳部５０は、重畳画像５の複数の描画レイヤ２のうち、現在処理中の一の描画レイヤ２における一のピクセル７のデータを取得する。ここでは、一のピクセル７のデータとは、ＲＧＢＡ値である。ＲＧＢＡ値は、色情報であるＲＧＢ値に加え、透明情報であるα値を含む。
【００５８】
ステップＳ６０にて、重畳部５０は、その一のピクセル７において、α値≧閾値の関係式を満たすか否かを判定する。重畳部５０がその関係式を満たすと判定した場合、ステップＳ８０が実行される。重畳部５０がその関係式を満たさないと判定した場合、ステップＳ７０が実行される。
【００５９】
ステップＳ７０にて、重畳部５０は、処理対象の描画レイヤ２を次の描画レイヤ２に設定する。
【００６０】
ステップＳ８０にて、重畳部５０は、現在処理中のピクセル７に対応するビットマップ６のピクセル７に、現在処理中の描画レイヤ番号を出力する。なお、全描画レイヤ２に対する処理が完了した結果としてステップＳ８０が実行されている場合、上記の現在処理中の描画レイヤ番号は、複数の描画レイヤ番号のうち最大値である。
【００６１】
ステップＳ９０にて、重畳部５０は、処理対象のピクセル７を次のピクセル７に設定する。以上のステップにより、ビットマップが生成される。
【００６２】
次に、イベント送信方法について説明する。図１３は、実施の形態２におけるイベント送信装置１０１の動作およびイベント送信方法を示すフローチャートである。
【００６３】
ステップＳ１００にて、入力部１０は、入力イベントが入力されたタッチ座標を取得する。
【００６４】
ステップＳ１１０にて、イベント送信部２０は、重畳部５０から対応関係（ビットマップ６）を取得する。
【００６５】
ステップＳ１２０にて、イベント送信部２０は、タッチ座標とビットマップ６とに基づき描画レイヤ番号を取得する。
【００６６】
ステップＳ１３０にて、イベント送信部２０は、レイヤ構成記憶部４０からレイヤ構成関係を取得する。
【００６７】
ステップＳ１４０にて、イベント送信部２０は、描画レイヤ番号とレイヤ構成関係とに基づき、複数の仮想マシンから送信先の仮想マシンとして一の仮想マシンを選択する。
【００６８】
ステップＳ１５０にて、イベント送信部２０は、送信先の仮想マシンに入力イベントを送信する。
【００６９】
その後のステップにおいて、送信先の仮想マシンが入力イベントに基づいた処理を実行する。イベント送信装置１０１は、その処理に関連する結果を、重畳部５０および表示制御部６０を介して、ディスプレイ１１０に出力してもよい。
【００７０】
また、実施の形態２において、タッチパネル１２０およびディスプレイ１１０は、イベント送信装置１０１とは別の装置として示されたが、イベント送信装置１０１がタッチパネル１２０およびディスプレイ１１０を内包する構成を有していてもよい。
【００７１】
以上をまとめると、実施の形態２におけるイベント送信装置１０１は、複数の描画レイヤ２を重畳し、重畳画像５と対応関係とを生成する重畳部５０をさらに含む。重畳画像５と複数の描画レイヤ２の各々とは、それぞれ複数のピクセル７を含む。重畳画像５は、複数の描画レイヤ２が複数のピクセル７ごとに重畳された画像である。対応関係における対応の単位である重畳画像５の各位置として、各ピクセル７の単位が適用される。
【００７２】
また、実施の形態２におけるイベント送信装置１０１の重畳部５０は、対応関係として、重畳画像５における一のピクセル７の座標と、一のピクセル７の画像が由来している一の描画レイヤ２と、を対応付けたビットマップ６を生成する。イベント送信部２０は、ビットマップ６に基づき、送信先の仮想マシンに、入力イベントを送信する。
【００７３】
このような構成により、イベント送信装置１０１は、重畳画像５の各ピクセル７を最小単位として、入力位置に対応する一の仮想マシンを選択することができるため、入力解像度が向上する。
【００７４】
また、実施の形態２におけるイベント送信装置１０１において、複数の描画レイヤ２の各々は、複数のピクセル７の各々における透明度情報を含む。重畳部５０は、透明度情報と、予め定められた透明度に関する閾値とに基づいて、一のピクセル７の画像が由来している一の描画レイヤ２を決定することにより、重畳画像５とビットマップ６とを生成する。
【００７５】
基本的には、複数の描画レイヤ２のうち、透明度が０％（つまり不透過）であって上位に位置する描画レイヤ２が、ユーザに視認される。その場合、ユーザによる入力イベントは、不透過の描画レイヤ２に対して入力される。しかし、実施の形態２におけるイベント送信装置１０１は、閾値が変更可能であることにより、例えば、半透過の描画レイヤ２に対する入力イベントを処理することも可能である。また、閾値は、動的に変更可能に設定されてもよい。
【００７６】
（実施の形態２の変形例１）
実施の形態２の変形例１において、複数の描画レイヤ２の各々は、複数のピクセル７の各々における色情報をさらに含む。変形例１のビットマップ６の生成動作においては、α値が０であり、かつ、α値以外の値（例えば、色情報であるＲＧＢ値）が特定の値である場合、重畳部５０は、現在処理中のピクセル７に、現在処理中の描画レイヤ番号を出力する。すなわち、重畳部５０は、一の描画レイヤ２における一のピクセル７の透明度情報が透明であり、かつ、色情報が特定色である場合、一の描画レイヤ２と一のピクセル７の座標とを対応付けたビットマップ６を生成する。この処理は、例えば、ステップＳ６０とステップＳ７０との間に実行される。このようなイベント送信装置は、ディスプレイ１１０に表示される重畳画像５には現れない「隠しボタン」に対して入力される入力イベントを、適切な仮想マシンに送信することができる。
【００７７】
（実施の形態２の変形例２）
上記の実施の形態２において、重畳部５０は重畳画像５とは別にビットマップ６を生成していた。実施の形態２の変形例２における重畳部５０は、ビットマップ６を含む重畳画像５を生成する。つまり、重畳画像５には、対応関係を示すビットマップ６が埋め込まれている。
【００７８】
図１４は、実施の形態２の変形例２における重畳部５０によるビットマップ生成動作を示すフローチャートである。
【００７９】
ステップＳ２０にて、重畳部５０は、重畳画像５を取得する。
【００８０】
ステップＳ３０からステップＳ７０までは、図１２に示される各ステップと同様である。
【００８１】
ステップＳ８１にて、重畳部５０は、現在処理中のピクセル７に対応する重畳画像５のピクセル７に現在処理中の描画レイヤ番号を埋め込む。例えば、描画レイヤ番号が０から７である場合、ＲＧＢ値をそれぞれ格納する複数のビットのうち、最下位側の３ｂｉｔに描画レイヤ番号が格納される。
【００８２】
ステップＳ９０は、図１２に示されるステップＳ９０と同様である。
【００８３】
その後、イベント送信部２０は、重畳画像５に含まれるビットマップ６に基づき、入力位置に対応する送信先の仮想マシンに、入力イベントを送信する。そのイベント送信方法は、図１３に示される方法と同様である。
【００８４】
以上の実施の形態２の変形例２においては、重畳部５０は、重畳画像５の生成を完了したあとに、その重畳画像５にビットマップ６を埋め込んでいる。しかし、ビットマップ６の生成と埋め込み方法とは、それに限定されるものではない。重畳部５０は、重畳画像５の生成と同時にビットマップ６の埋め込みを行ってよい。
【００８５】
実施の形態２の変形例２におけるイベント送信装置は、ビットマップ６を出力する際に必要な記憶領域を必要としない。
【００８６】
＜実施の形態３＞
実施の形態３におけるイベント送信装置およびイベント送信方法を説明する。実施の形態３は、実施の形態１の下位概念である。実施の形態３におけるイベント送信装置は、実施の形態１において示されたイベント送信装置１００の各構成を含む。なお、実施の形態１または２と同様の構成および動作については説明を省略する。
【００８７】
イベント送信装置とタッチパネル１２０との間の通信時間が、ディスプレイ１１０の表示更新間隔（フレームレート）よりも長い場合、タッチパネル１２０から入力部１０に入力イベントが到着するまでの間に、ディスプレイ１１０に表示される重畳画像５が更新される。つまり、その重畳画像５に対応するビットマップ６も更新される。この場合、イベント送信部２０は、更新されたビットマップ６と、更新前の重畳画像５に対する入力位置とに基づき、送信先の仮想マシンを選択する。その結果、イベント送信装置が入力イベントを誤送信する可能性が高まる。実施の形態３におけるイベント送信装置は、このような課題を解決する。
【００８８】
図１５は、実施の形態３におけるイベント送信装置１０２の構成を示すブロック図である。イベント送信装置１０２は、実施の形態２に示された構成に加え、時刻取得部７０およびビットマップ記憶部８０をさらに有する。
【００８９】
時刻取得部７０は、時刻情報を取得する。時刻は現在時刻である。
【００９０】
重畳部５０は、重畳画像５を生成した時刻情報を生成時刻として重畳画像５およびビットマップ６に付与する。重畳部５０は、重畳画像５およびビットマップ６を生成する度に、生成時刻をそれぞれ付与する。
【００９１】
表示制御部６０は、重畳画像５をディスプレイ１１０に表示させる制御を行う。また、表示制御部６０は、その重畳画像５に付与された生成時刻を入力部１０に出力する。
【００９２】
ビットマップ記憶部８０は、重畳部５０で生成されたビットマップ６であって、互いに異なる生成時刻が付与された複数のビットマップ６を記憶する。
【００９３】
入力部１０は、タッチパネル１２０からタッチ座標を含む入力イベントを受け付ける。また、入力部１０は、重畳部５０にて重畳画像５に付与された生成時刻を取得する。ここでは、入力部１０は、表示制御部６０からその生成時刻を取得する。
【００９４】
イベント送信部２０は、入力部１０からタッチ座標を含む入力イベントと、重畳画像５に付与された生成時刻と、を取得する。イベント送信部２０は、予め定められた選択条件に基づき、ビットマップ記憶部８０に記憶されている複数のビットマップ６から一のビットマップ６を選択する。予め定められた選択条件とは、入力部１０にて取得された生成時刻と、ビットマップ記憶部８０に記憶された各ビットマップ６に付与された生成時刻と、に関係する条件である。ここでは、イベント送信部２０は、ビットマップ記憶部８０に記憶されている複数のビットマップ６のうち、入力部１０にて取得された生成時刻に一致する生成時刻が付与された一のビットマップ６を選択する。イベント送信部２０は、その一のビットマップ６に基づき、入力位置に対応する送信先の仮想マシンに、入力イベントを送信する。
【００９５】
実施の形態３における時刻取得部７０、重畳部５０、表示制御部６０、ビットマップ記憶部８０、入力部１０、レイヤ構成記憶部４０およびイベント送信部２０の各機能は、例えば、図１０に示されるＳｏＣ１３０により実現される。
【００９６】
図１６は、実施の形態３における重畳部５０によるビットマップ生成動作を示すフローチャートである。
【００９７】
ステップＳ１２にて、重畳部５０は、ビットマップ６を初期化し、生成時刻をビットマップ６に付与する。
【００９８】
ステップＳ２０以降は、図１２に示される各ステップと同様である。
【００９９】
図１７は、実施の形態３におけるイベント送信装置１０２の動作およびイベント送信方法を示すフローチャートである。
【０１００】
ステップＳ１０１にて、入力部１０は、入力イベントが入力されたタッチ座標と重畳画像５に付与された生成時刻とを取得する。
【０１０１】
ステップＳ１１１にて、入力部１０にて取得された生成時刻に一致する生成時刻が付与された一のビットマップ６を選択する。
【０１０２】
ステップＳ１２０以降は、図１３に示される各ステップと同様である。
【０１０３】
以上をまとめると、実施の形態３におけるイベント送信装置１０２は、ビットマップ記憶部８０をさらに含む。重畳部５０は、重畳画像５を生成する度に、重畳画像５に対応するビットマップ６を生成する。ビットマップ記憶部８０は、重畳部５０によって互いに異なるタイミングで生成された複数のビットマップ６を記憶する。イベント送信部２０は、予め定められた選択条件に基づき、複数のビットマップ６から送信先の仮想マシンを選択するための一のビットマップ６を選択する。
【０１０４】
このような構成により、イベント送信装置１０２とタッチパネル１２０との間の通信時間が、ディスプレイ１１０の表示更新間隔より長い場合であっても、イベント送信装置１０２は、入力イベントを正確に適切な仮想マシンに送信する。
【０１０５】
また、実施の形態３におけるイベント送信装置１０２は、時刻情報を取得する時刻取得部７０をさらに含む。重畳部５０は、重畳画像５とビットマップ６とを生成する度に、重畳画像５とビットマップ６とに時刻情報を生成時刻として付与する。入力部１０は、重畳画像５に付与された生成時刻を取得する。予め定められた選択条件とは、入力部１０にて取得された生成時刻と、ビットマップ記憶部８０に記憶された各ビットマップ６に付与された生成時刻と、に関係する条件である。
【０１０６】
このような構成により、イベント送信装置１０２とタッチパネル１２０との間の通信時間が、ディスプレイ１１０の表示更新間隔より長い場合であっても、イベント送信装置１０２は、入力イベントを正確に適切な仮想マシンに送信する。
【０１０７】
＜実施の形態４＞
実施の形態４におけるイベント送信装置およびイベント送信方法を説明する。実施の形態４は、実施の形態１の下位概念である。実施の形態４におけるイベント送信装置は、実施の形態１において示されたイベント送信装置１００の各構成を含む。なお、実施の形態１から３のいずれかと同様の構成および動作については説明を省略する。実施の形態４におけるイベント送信装置は、実施の形態３と同様の課題を解決する。
【０１０８】
図１８は、実施の形態４におけるイベント送信装置１０３の構成を示すブロック図である。
【０１０９】
実施の形態４における重畳部５０は、ビットマップ６、つまり、重畳画像５の一のピクセル７を描画する一の描画レイヤ２とその一のピクセル７の座標との対応関係の情報を含む重畳画像５を生成する。
【０１１０】
表示制御部６０は、重畳画像５をディスプレイ１１０に表示させる制御を行う。ただし、表示制御部６０は、重畳画像５に含まれるビットマップ６を無視して重畳画像５を表示させる制御を行う。つまり、表示制御部６０は、描画レイヤ番号が埋め込まれた領域を無視する、つまり値が０であるとみなす。
【０１１１】
入力部１０は、レイヤ情報取得部１１を有する。入力部１０は、入力イベントを受け付けることにより、重畳部５０にて生成された重畳画像５を取得する。ここでは、入力部１０は、表示制御部６０から重畳画像５を取得する。また、タッチ座標に対応する描画レイヤ番号をレイヤ情報取得部１１から取得し、イベント送信部２０へ出力する。
【０１１２】
レイヤ情報取得部１１は、入力イベントに含まれるタッチ座標と、重畳画像５とを取得する。レイヤ情報取得部１１は、重畳画像５に含まれるビットマップ６に基づき、タッチ座標における画像が由来する描画レイヤ２を特定する。
【０１１３】
イベント送信部２０は、レイヤ情報取得部１１にて特定された描画レイヤ２に対応する仮想マシンに、入力イベントを送信する。
【０１１４】
実施の形態４における重畳部５０、表示制御部６０、入力部１０、レイヤ情報取得部１１、レイヤ構成記憶部４０およびイベント送信部２０の各機能は、例えば、図１０に示されるＳｏＣ１３０により実現される。
【０１１５】
図１９は、実施の形態４における入力部１０の動作を示すフローチャートである。
【０１１６】
ステップＳ２００にて、入力部１０は、入力イベントが入力されたタッチ座標を取得する。
【０１１７】
ステップＳ２１０にて、入力部１０は、ビットマップ６を含む重畳画像５を取得する。
【０１１８】
ステップＳ２２０にて、レイヤ情報取得部１１は、タッチ座標と重畳画像５に含まれるビットマップ６とに基づき描画レイヤ番号を取得する。
【０１１９】
ステップＳ２３０にて、入力部１０は、タッチ座標と描画レイヤ番号とを出力する。
【０１２０】
図２０は、実施の形態４におけるイベント送信装置１０３の動作およびイベント送信方法を示すフローチャートである。
【０１２１】
ステップＳ１０２にて、イベント送信部２０は、タッチ座標および描画レイヤ番号を取得する。
【０１２２】
ステップＳ１３０以降は、実施の形態２における図１３に示された各ステップと同様である。
【０１２３】
以上をまとめると、実施の形態４におけるイベント送信装置１０３の入力部１０は、入力イベントを受け付けることにより、重畳画像５からビットマップ６を取得するレイヤ情報取得部１１を含む。イベント送信部２０は、レイヤ情報取得部１１にて取得されたビットマップ６に基づき、送信先の仮想マシンに、入力イベントを送信する。
【０１２４】
このような構成により、イベント送信装置１０３とタッチパネル１２０との間の通信時間が、ディスプレイ１１０の表示更新間隔より長い場合であっても、イベント送信装置１０３は、入力イベントを正確に適切な仮想マシンに送信する。
【０１２５】
＜実施の形態５＞
実施の形態５におけるイベント送信装置、情報処理装置、情報処理システムおよびイベント送信方法を説明する。実施の形態５におけるイベント送信装置は、実施の形態１において示されたイベント送信装置１００の各構成を含む。なお、実施の形態１から４のいずれかと同様の構成および動作については説明を省略する。
【０１２６】
実施の形態２から４のいずれかに示されたイベント送信装置は、１つのハイパーバイザ１４０上で動作する複数の仮想マシン３０に対して上記の機能を実現する。そのハイパーバイザ１４０は、１つのＳｏＣ１３０において構築されている。一方で、実施の形態５におけるイベント送信装置は、複数のＳｏＣ１３０の各々に構築されたハイパーバイザ１４０上で動作する複数の仮想マシン３０に対して上記の機能を実現する。その複数のＳｏＣ１３０は、イベント送信装置と、そのイベント送信装置とは別の情報処理装置と、に分かれて設けられている。
【０１２７】
図２１は、実施の形態５におけるイベント送信装置１０４、情報処理装置１５０および情報処理システム２００の構成を示すブロック図である。
【０１２８】
情報処理システム２００は、イベント送信装置１０４と、そのイベント送信装置１０４とネットワークで接続される情報処理装置１５０と、を有する。
【０１２９】
イベント送信装置１０４は、各実施の形態に示されたように、重畳部５０、表示制御部６０、入力部１０、レイヤ構成記憶部４０および複数の仮想マシン３０を有する。また、実施の形態５におけるイベント送信装置１０４は、イベント送信部２０として、第１イベント送信部２０Ａを有する。また、イベント送信装置１０４は、第１通信部９０Ａをさらに有する。またイベント送信装置１０４の複数の仮想マシン３０は、第１仮想マシン３０１から第Ｋ仮想マシン３０Ｋを含む。ここでは、Ｋは、Ｋ＞１の関係を満たす。
【０１３０】
情報処理装置１５０は、第２通信部９０Ｂ、第２イベント送信部２０Ｂおよび複数の仮想マシン３０を有する。情報処理装置１５０の複数の仮想マシン３０は、第Ｍ仮想マシン３０Ｍから第Ｎ仮想マシン３０Ｎを含む。ここでは、ＭはＭ＝Ｋ＋１を、ＮはＮ＞Ｍの関係を満たす。
【０１３１】
第１通信部９０Ａは、ネットワークを介して情報処理装置１５０と通信し、データの授受を行う。第１通信部９０Ａは、入力イベントを情報処理装置１５０に送信する。また、第１通信部９０Ａは、情報処理装置１５０の各仮想マシン３０によって描画される画像を含んだ各描画レイヤ２を受信する。
【０１３２】
重畳部５０は、イベント送信装置１０４の複数の仮想マシン３０に対応する複数の描画レイヤ２と、情報処理装置１５０の複数の仮想マシン３０に対応する複数の描画レイヤ２とを、互いに重畳して重畳画像５を生成する。
【０１３３】
レイヤ構成記憶部４０は、レイヤ構成関係を記憶する。図２２は、実施の形態５におけるレイヤ構成関係の一例を示す図である。レイヤ構成関係は、描画レイヤ番号と、使用仮想マシンと、使用装置とが対応づけられたテーブルである。使用装置とは、使用仮想マシンが動作する装置のことである。使用装置は、ここでは、イベント送信装置１０４もしくは情報処理装置１５０である。図２２において、描画レイヤ番号「１」で示される第１描画レイヤ２Ａは、イベント送信装置１０４で動作する第２仮想マシン３０２に対応する。または、例えば、描画レイヤ番号「２」で示される第２描画レイヤ２Ｂは、情報処理装置１５０で動作する第Ｍ仮想マシン３０Ｍに対応する。
【０１３４】
第１イベント送信部２０Ａは、タッチ座標とビットマップ６とに基づき、タッチ座標に対応する領域の画像が由来する一の描画レイヤ２を特定する。第１イベント送信部２０Ａは、レイヤ構成関係に基づき、一の描画レイヤ２に対応する送信先の仮想マシンおよび送信先の装置を特定する。送信先の仮想マシンがイベント送信装置１０４で動作する仮想マシンである場合、イベント送信装置１０４は、その送信先の仮想マシンに入力イベントを送信する。送信先の仮想マシンが情報処理装置１５０で動作する仮想マシンである場合、イベント送信装置１０４は、第１通信部９０Ａを介して、情報処理装置１５０に入力イベントを送信する。
【０１３５】
第２通信部９０Ｂは、ネットワークを介してイベント送信装置１０４と通信し、データの授受を行う。第２通信部９０Ｂは、情報処理装置１５０の各仮想マシン３０によって描画される画像を含んだ各描画レイヤ２をイベント送信装置１０４に送信する。また、第２通信部９０Ｂは、イベント送信装置１０４から入力イベントを受信する。
【０１３６】
第２イベント送信部２０Ｂは、情報処理装置１５０が有する複数の仮想マシン３０のうち、送信先の仮想マシンに入力イベントを送信する。
【０１３７】
実施の形態５における重畳部５０、表示制御部６０、入力部１０、レイヤ構成記憶部４０、第１イベント送信部２０Ａおよび第１通信部９０Ａの各機能は、例えば、図１０に示されるＳｏＣ１３０により実現される。また、情報処理装置１５０もＳｏＣ１３０と同様のハードウェア構成を有する。第２通信部９０Ｂおよび第２イベント送信部２０Ｂの各機能は、そのＳｏＣにより実現される。
【０１３８】
図２３は、実施の形態５における重畳部５０による重畳画像の生成動作を示すフローチャートである。
【０１３９】
ステップＳ５Ａにて、重畳部５０は、各装置の各仮想マシン３０によって描画される画像と、レイヤ構成関係とを取得する。その際、重畳部５０は、第２通信部９０Ｂおよび第１通信部９０Ａを介して、情報処理装置１５０が有する各仮想マシン３０によって描画される画像を取得するとともに、その画像が由来する使用仮想マシンおよび使用装置を特定するための情報を取得する。
【０１４０】
ステップＳ６Ａにて、重畳部５０は、レイヤ構成関係を参照して、各画像が由来する各仮想マシン３０および各使用装置に対応する描画レイヤに、その画像を書き込む。
【０１４１】
ステップＳ７Ａにて、重畳部５０は、複数の描画レイヤを重畳し、重畳画像５を生成する。以上のステップにより、重畳画像５が生成される。
【０１４２】
図２４は、実施の形態５における重畳部５０によるビットマップ生成動作を示すフローチャートである。
【０１４３】
ステップＳ１０は、図１２に示されるステップＳ１０と同様である。
【０１４４】
ステップＳ２０にて、重畳部５０は、重畳画像５を取得する。
【０１４５】
ステップＳ３０からステップＳ９０までは、図１２に示される各ステップと同様である。ステップＳ４０からステップＳ７０の各ステップは、複数の描画レイヤ２の数だけ繰り返し実行される。実施の形態５において、その複数の描画レイヤ２の数は、イベント送信装置１０４における複数の仮想マシン３０の数（＝Ｋ）と、情報処理装置１５０における複数の仮想マシン３０の数（＝（Ｎ−Ｍ）＋１）とを合計した数（＝Ｎ）に対応する。
【０１４６】
図２５は、実施の形態５におけるイベント送信装置１０４の動作およびイベント送信方法を示すフローチャートである。
【０１４７】
ステップＳ１００からステップＳ１３０までは、図１３に示される各ステップと同様である。ただし、実施の形態５において、ステップＳ１１０からステップＳ１３０は、第１イベント送信部２０Ａによって実行される。
【０１４８】
ステップＳ１４１にて、第１イベント送信部２０Ａは、描画レイヤ番号とレイヤ構成関係とに基づき送信先の仮想マシンおよび送信先の装置を選択する。送信先の装置とは、送信先の仮想マシンが含まれる装置のことである。
【０１４９】
ステップＳ１５１にて、第１イベント送信部２０Ａは、送信先の装置がイベント送信装置１０４であるか否かを判定する。第１イベント送信部２０Ａが、送信先の装置はイベント送信装置１０４でないと判定した場合、ステップＳ１５２が実行される。第１イベント送信部２０Ａが、送信先の装置はイベント送信装置１０４であると判定した場合、ステップＳ１５３が実行される。
【０１５０】
ステップＳ１５２にて、第１イベント送信部２０Ａは、第１通信部９０Ａを介して、情報処理装置１５０に入力イベントおよび送信先の仮想マシンの情報を送信する。
【０１５１】
ステップＳ１５３にて、第１イベント送信部２０Ａは、イベント送信装置１０４に含まれる送信先の仮想マシンに入力イベントを送信する。
【０１５２】
図２６は、実施の形態５における情報処理装置１５０の動作およびイベント送信方法を示すフローチャートである。
【０１５３】
ステップＳ３００にて、第２イベント送信部２０Ｂは、第２通信部９０Ｂを介して、入力イベントおよび送信先の仮想マシンの情報を取得する。
【０１５４】
ステップＳ３１０にて、第２イベント送信部２０Ｂは、送信先の仮想マシンに入力イベントを送信する。
【０１５５】
上記のイベント送信装置１０４が、実施の形態３および４のそれぞれに示された構成を有していてもよい。また、上記の複数のＳｏＣ１３０は、イベント送信装置１０４とそのイベント送信装置１０４とは別の情報処理装置１５０とに分けて設けられているが、１台のイベント送信装置の中に含まれていてもよい。また、上記の情報処理装置１５０が、２台目のイベント送信装置であってもよい。情報処理システム２００は、２台以上の情報処理装置を含んでいてもよい。
【０１５６】
以上をまとめると、実施の形態５におけるイベント送信装置１０４は、複数の仮想マシン３０のそれぞれに対応して設けられる複数の描画レイヤ２が、互いに重畳された重畳画像５に対して入力される入力イベントを受け付ける入力部１０と、重畳画像５における複数の位置と各位置における画像が由来する一の描画レイヤ２との対応関係に基づき、複数の仮想マシン３０のうち、重畳画像５における入力イベントの入力位置に対応する一の仮想マシンである送信先の仮想マシンに、入力イベントを送信する第１イベント送信部２０Ａと、情報処理装置１５０に、ネットワークを介して入力イベントを送信する第１通信部９０Ａと、を含む。
【０１５７】
このような構成により、イベント送信装置１０４は、イベント送信装置１０４以外の装置で動作する仮想マシンに対しても、入力イベントを適切に送信することができる。
【０１５８】
また、実施の形態５における情報処理装置１５０は、ハイパーバイザ１４０上で動作する複数の仮想マシン３０のうち一の仮想マシンに入力イベントを送信するイベント送信装置１０４とネットワークで接続される。ハイパーバイザ１４０上で動作する複数の仮想マシン３０と、イベント送信装置１０４の第１通信部９０Ａから、ネットワークを介して入力イベントを受信する第２通信部９０Ｂと、第２通信部９０Ｂにて受信された入力イベントを送信先の仮想マシンに送信する第２イベント送信部２０Ｂと、を含む。
【０１５９】
このような構成により、情報処理装置１５０がイベント送信装置１０４の入力部１０および重畳部５０に対応する機能を有していない場合であっても、入力イベントを適切な仮想マシンに送信することができる。
【０１６０】
また、実施の形態５における情報処理システム２００は、ハイパーバイザ１４０上で動作する複数の仮想マシン３０のうち一の仮想マシンに入力イベントを送信するイベント送信装置１０４と、イベント送信装置１０４とネットワークで接続される情報処理装置１５０と、を含む。イベント送信装置１０４は、複数の仮想マシン３０のそれぞれに対応して設けられる複数の描画レイヤ２が、互いに重畳された重畳画像５に対して入力される入力イベントを受け付ける入力部１０と、重畳画像５における複数の位置と各位置における画像が由来する一の描画レイヤ２との対応関係に基づき、複数の仮想マシン３０のうち、重畳画像５における入力イベントの入力位置に対応する一の仮想マシンである送信先の仮想マシンに、入力イベントを送信する第１イベント送信部２０Ａと、情報処理装置１５０に、ネットワークを介して入力イベントを送信する第１通信部９０Ａと、を含む。情報処理装置１５０は、ハイパーバイザ１４０上で動作する複数の仮想マシン３０と、イベント送信装置１０４の第１通信部９０Ａから、ネットワークを介して入力イベントを受信する第２通信部９０Ｂと、第２通信部９０Ｂにて受信された入力イベントを送信先の仮想マシンに送信する第２イベント送信部２０Ｂと、を含む。
【０１６１】
このような構成により、情報処理システム２００は、イベント送信装置１０４以外の装置で動作する仮想マシンに対しても、入力イベントを適切に送信することができる。また、情報処理システム２００は、情報処理装置１５０がイベント送信装置１０４の入力部１０および重畳部５０に対応する機能を有していない場合であっても、入力イベントを適切な仮想マシンに送信することができる。
【０１６２】
＜実施の形態６＞
上記の各実施の形態に示されるイベント送信装置、ディスプレイ１１０およびタッチパネル１２０は、例えば、車両に搭載される。または、例えば、イベント送信装置は、ナビゲーション装置と、通信端末と、サーバと、これらにインストールされるアプリケーションの機能とを適宜に組み合わせて構築されるシステムにも適用することができる。ここで、ナビゲーション装置とは、例えば、ＰＮＤ（Portable Navigation Device）などを含む。通信端末とは、例えば、携帯電話、スマートフォンおよびタブレットなどの携帯端末を含む。
【０１６３】
図２７は、実施の形態６におけるイベント送信装置１００およびそれに関連して動作する装置の構成を示すブロック図である。
【０１６４】
イベント送信装置１００、複数の仮想マシン３０および通信装置１６０がサーバ３００に設けられている。イベント送信装置１００は、車両１に設けられたタッチパネル１２０から通信装置１７０および通信装置１６０を介して入力イベントを取得する。イベント送信装置１００は、各実施の形態に示された処理を実行し、送信先の仮想マシンに入力イベントを送信する。さらに、送信先の仮想マシンが入力イベントに基づいた処理を実行する。その処理に関連する結果が、イベント送信装置１００の重畳部５０および表示制御部６０を介してディスプレイ１１０に出力されてもよい。
【０１６５】
このように、イベント送信装置１００がサーバ３００に配置されることにより、車載装置の構成を簡素化することができる。
【０１６６】
また、イベント送信装置１００の機能あるいは構成要素の一部がサーバ３００に設けられ、他の一部が車両１に設けられるなど、分散して配置されてもよい。
【０１６７】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。
【０１６８】
本発明は詳細に説明されたが、上記した説明は、全ての局面において、例示であって、本発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
【符号の説明】
【０１６９】
２  描画レイヤ、５  重畳画像、６  ビットマップ、７  ピクセル、１０  入力部、１１  レイヤ情報取得部、２０  イベント送信部、２０Ａ  第１イベント送信部、２０Ｂ  第２イベント送信部、３０  仮想マシン、４０  レイヤ構成記憶部、５０  重畳部、６０  表示制御部、７０  時刻取得部、８０  ビットマップ記憶部、９０Ａ  第１通信部、９０Ｂ  第２通信部、１００  イベント送信装置、１１０  ディスプレイ、１２０  タッチパネル、１４０  ハイパーバイザ、１５０  情報処理装置、２００  情報処理システム。
【図１】
0006964781.tif 000002
【図２】
0006964781.tif 000003
【図３】
0006964781.tif 000004
【図４】
0006964781.tif 000005
【図５】
0006964781.tif 000006
【図６】
0006964781.tif 000007
【図７】
0006964781.tif 000008
【図８】
0006964781.tif 000009
【図９】
0006964781.tif 000010
【図１０】
0006964781.tif 000011
【図１１】
0006964781.tif 000012
【図１２】
0006964781.tif 000013
【図１３】
0006964781.tif 000014
【図１４】
0006964781.tif 000015
【図１５】
0006964781.tif 000016
【図１６】
0006964781.tif 000017
【図１７】
0006964781.tif 000018
【図１８】
0006964781.tif 000019
【図１９】
0006964781.tif 000020
【図２０】
0006964781.tif 000021
【図２１】
0006964781.tif 000022
【図２２】
0006964781.tif 000023
【図２３】
0006964781.tif 000024
【図２４】
0006964781.tif 000025
【図２５】
0006964781.tif 000026
【図２６】
0006964781.tif 000027
【図２７】
0006964781.tif 000028