(57)【要約】【課題】ユーザの利便性や生産性を向上させることができるイベント検出システム、イベント検出方法、およびプログラムを提供する。【解決手段】情報処理装置（イベント検出システム）１は、仮想実行環境１１０ａ〜１１０ｃを実現する複数の仮想マシン部１１ａ〜１１ｃと、仮想実行環境内で発生したイベントを検出するイベント検出部２４と、イベント検出部２４によりユーザが現在使用していない仮想実行環境内で発生したイベントが検出された場合、当該仮想実行環境内で発生したイベントに関するイベント情報を、ユーザが現在使用している仮想実行環境内に提示させる表示制御部２６とを備える。【選択図】図２
2010072703.tif 000002
【特許請求の範囲】
【請求項１】
表示装置とアクセス可能なイベント検出システムにおいて、
複数の仮想実行環境をそれぞれ実現する複数の仮想マシン部と、
前記仮想実行環境内で発生したイベントを検出するイベント検出部と、
前記表示装置に表示されていない仮想実行環境内で発生したイベントが前記イベント検出部により検出された場合に、当該仮想実行環境内で発生したイベントに関するイベント情報を、前記表示装置に現在実際に表示されている仮想実行環境内に提示させるイベント提示部とを備える、イベント検出システム。
【請求項２】
前記イベント検出システムは、入力装置とさらにアクセス可能であって、
前記イベント情報には、前記仮想実行環境内で発生したイベントと、当該イベントが発生した仮想実行環境を実現している仮想マシン部を識別するための識別データとを少なくとも含み、
前記イベント検出システムは、
前記表示装置に現在実際に表示されている仮想実行環境内に提示されたイベント情報に対する選択指示を、前記入力装置を介してユーザから受け付けるイベント選択部と、
前記表示装置に現在実際に表示されている仮想実行環境から、前記イベント選択部により受け付けられた選択指示に対するイベント情報が含む識別データの仮想マシン部が実現する仮想実行環境へ切り替える仮想実行環境切替部とをさらに備える、イベント検出システム。
【請求項３】
前記仮想実行環境内のイベント発生時の動作を表す検出用トリガと当該イベントとを含む検出条件データを、前記入力装置を介してユーザから受け付け、受け付けた検出条件データを条件データ記録部へ登録する条件データ登録部をさらに備え、
前記イベント検出部は、前記仮想実行環境内のイベント発生時の動作が、前記条件データ記録部に登録された検出条件データが含む検出用トリガに適合する場合、当該検出用トリガに対応付けて条件データ記録部に登録されたイベントが前記仮想実行環境内で発生したと検出する、請求項２に記載のイベント検出システム。
【請求項４】
前記仮想実行環境内のイベント発生時の動作は、音声ファイルの再生の開始、またはポップアップウインドウの表示である、請求項３に記載のイベント検出システム。
【請求項５】
表示装置とアクセス可能なイベント検出システムが処理を実行するイベント検出方法において、
前記イベント検出システムが備える複数の仮想マシン部が、複数の仮想実行環境をそれぞれ実現する仮想実行環境実現工程と、
前記イベント検出システムが備えるイベント検出部が、前記仮想実行環境内で発生したイベントを検出するイベント検出工程と、
前記イベント検出システムが備えるイベント提示部が、前記表示装置に表示されていない仮想実行環境内で発生したイベントが前記イベント検出工程により検出された場合に、当該仮想実行環境内で発生したイベントに関するイベント情報を、前記表示装置に現在実際に表示されている仮想実行環境内に提示させるイベント提示工程とを含む、イベント検出方法。
【請求項６】
表示装置とアクセス可能なイベント検出システムに処理を実行させるプログラムにおいて、
複数の仮想実行環境をそれぞれ実現する仮想実行環境実現処理と、
前記仮想実行環境内で発生したイベントを検出するイベント検出処理と、
前記表示装置に表示されていない仮想実行環境内で発生したイベントが前記イベント検出処理により検出された場合に、当該仮想実行環境内で発生したイベントに関するイベント情報を、前記表示装置に現在実際に表示されている仮想実行環境内に提示させるイベント提示処理とを前記イベント検出システムに実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の仮想実行環境をそれぞれ実現する複数の仮想マシン部を備えたイベント検出システム、イベント検出方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータの分野において、仮想化技術が急速に進展してきている（例えば、特許文献１参照）。ここで、仮想化技術とは、コンピュータのリソースの物理的特性を、そのリソースと相互作用するシステム、アプリケーションソフトウェア、あるいはユーザから隠蔽する技術をいう。この仮想化技術を用いることにより、例えば、単一の物理リソースを複数の論理リソースに見せかけたり、複数の物理リソースを単一の論理リソースに見せかけたりすることができる。また、単一の物理リソースを何らかの特性の異なる単一の論理リソースに見せかけることもできる。
【０００３】
このような仮想化技術の一つに、仮想マシン（Virtual Machine）がある。コンピュータに複数の仮想マシンを備えることにより、例えば、１台のコンピュータ上で複数の仮想実行環境（例えば、ＯＳ）を実現（稼動）させることができる。ここで、例えば、１台のコンピュータに、仮想マシンＡ〜Ｃが備えられており、仮想マシンＡがＯＳ−１を実現し、仮想マシンＢがＯＳ−２を実現し、仮想マシンＣがＯＳ−３を実現する場合を考える。この場合、ユーザは、入力デバイスを用いることにより、コンピュータの表示画面に表示されるべきＯＳを切り替えることができる。これにより、例えば、ＯＳ−１は開発用のＯＳ、ＯＳ−２は評価用のＯＳ、ＯＳ−３は事務処理用のＯＳのように、ユーザの用途に応じて複数のＯＳを使い分けることができる。
【特許文献１】特開２００３−３２３３０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、あるＯＳ（仮想実行環境）内であるイベントが発生した場合、ユーザは、現在使用しているＯＳからイベントが発生したＯＳへ切り替えなければ、当該ＯＳ内でイベントが発生していることを知ることができなかった。例えば、ユーザが現在使用しているＯＳがＯＳ−１である場合を考える。ここで、ＯＳ−３内に存在するＩＭ（Instant Messenger）がメッセージを受信した旨のイベントを発生したものとする。この場合、ユーザは、ＯＳ−１からＯＳ−３へ切り替えなければ、ＯＳ−３内でイベントが発生していることを知ることができなかった。このため、ユーザは、イベントの発生の有無に関わらず、入力デバイスを用いて逐次ＯＳを切り替えることにより、ＯＳ内でイベントが発生しているか否かを確認する必要があった。そのため、ユーザの利便性や生産性が損なわれているという問題があった。
【０００５】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ユーザの利便性や生産性を向上させることができるイベント検出システム、イベント検出方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明におけるイベント検出システムは、表示装置とアクセス可能なイベント検出システムにおいて、複数の仮想実行環境をそれぞれ実現する複数の仮想マシン部と、前記仮想実行環境内で発生したイベントを検出するイベント検出部と、前記表示装置に表示されていない仮想実行環境内で発生したイベントが前記イベント検出部により検出された場合に、当該仮想実行環境内で発生したイベントに関するイベント情報を、前記表示装置に現在実際に表示されている仮想実行環境内に提示させるイベント提示部とを備える。
【０００７】
本発明のイベント検出システムによれば、イベント検出部は、仮想実行環境内で発生したイベントを検出する。ここで、仮想実行環境は、仮想マシン部によって実現される。そして、表示装置に表示されていない仮想実行環境内で発生したイベントがイベント検出部により検出された場合に、イベント提示部は、当該仮想実行環境内で発生したイベントに関するイベント情報を、表示装置に現在実際に表示されている仮想実行環境内に提示させる。これにより、ユーザは、仮想実行環境を切り替えることなく、表示装置に表示されていない仮想実行環境内でイベントが発生したことを、表示装置に現在実際に表示されている仮想実行環境内でリアルタイムに確認することができる。この結果、ユーザの利便性や生産性を向上させることができる。
【０００８】
上記目的を達成するために本発明におけるイベント検出方法は、表示装置とアクセス可能なイベント検出システムが処理を実行するイベント検出方法において、前記イベント検出システムが備える複数の仮想マシン部が、複数の仮想実行環境をそれぞれ実現する仮想実行環境実現工程と、前記イベント検出システムが備えるイベント検出部が、前記仮想実行環境内で発生したイベントを検出するイベント検出工程と、前記イベント検出システムが備えるイベント提示部が、前記表示装置に表示されていない仮想実行環境内で発生したイベントが前記イベント検出工程により検出された場合に、当該仮想実行環境内で発生したイベントに関するイベント情報を、前記表示装置に現在実際に表示されている仮想実行環境内に提示させるイベント提示工程とを含む。
【０００９】
上記目的を達成するために本発明におけるプログラムは、表示装置とアクセス可能なイベント検出システムに処理を実行させるプログラムにおいて、複数の仮想実行環境をそれぞれ実現する仮想実行環境実現処理と、前記仮想実行環境内で発生したイベントを検出するイベント検出処理と、前記表示装置に表示されていない仮想実行環境内で発生したイベントが前記イベント検出処理により検出された場合に、当該仮想実行環境内で発生したイベントに関するイベント情報を、前記表示装置に現在実際に表示されている仮想実行環境内に提示させるイベント提示処理とを前記イベント検出システムに実行させる。
【００１０】
なお、本発明におけるイベント検出方法およびプログラムは、上記のイベント検出システムと同様の効果を得る。
【発明の効果】
【００１１】
以上のように、本発明のイベント検出システム、イベント検出方法、およびプログラムは、ユーザの利便性や生産性を向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１２】
本発明の実施形態において、前記イベント検出システムは、入力装置とさらにアクセス可能であって、前記イベント情報には、前記仮想実行環境内で発生したイベントと、当該イベントが発生した仮想実行環境を実現している仮想マシン部を識別するための識別データとを少なくとも含み、前記イベント検出システムは、前記表示装置に現在実際に表示されている仮想実行環境内に提示されたイベント情報に対する選択指示を、前記入力装置を介してユーザから受け付けるイベント選択部と、前記表示装置に現在実際に表示されている仮想実行環境から、前記イベント選択部により受け付けられた選択指示に対するイベント情報が含む識別データの仮想マシン部が実現する仮想実行環境へ切り替える仮想実行環境切替部とをさらに備える態様とするのが好ましい。この態様によれば、イベントが発生した仮想実行環境へ容易に切り替えることができる。
【００１３】
本発明の実施形態において、前記仮想実行環境内のイベント発生時の動作を表す検出用トリガと当該イベントとを含む検出条件データを、前記入力装置を介してユーザから受け付け、受け付けた検出条件データを条件データ記録部へ登録する条件データ登録部をさらに備え、前記イベント検出部は、前記仮想実行環境内のイベント発生時の動作が、前記条件データ記録部に登録された検出条件データが含む検出用トリガに適合する場合、当該検出用トリガに対応付けて条件データ記録部に登録されたイベントが前記仮想実行環境内で発生したと検出する態様とするのが好ましい。ここで、前記仮想実行環境内のイベント発生時の動作は、例えば、音声ファイルの再生の開始、またはポップアップウインドウの表示である。この態様によれば、表示装置に現在実際に表示されている仮想実行環境内に、ユーザが所望するイベント情報を提示させることができる。
【００１４】
以下、本発明のより具体的な実施形態について図面を参照しながら詳細に説明する。
【００１５】
[実施の形態１]
図１は、本実施形態に係る情報処理装置１の概略構成を示すブロック図である。図１に示す情報処理装置（イベント検出システム）１は、入力装置２、および表示装置３に接続されている。情報処理装置１は、例えば、パーソナルコンピュータ、サーバ、ワークステーション等である。入力装置２は、マウス、キーボード、リモートコントローラ、タッチパネル、および音声認識装置等の任意の入力デバイスから構成される。表示装置３は、液晶ディスプレイ、有機ＥＬディスプレイ、無機ＥＬディスプレイ、プラズマディスプレイ、およびＣＲＴディスプレイ等の任意の表示デバイスから構成される。
【００１６】
情報処理装置１は、仮想マシン（ＶＭ：Virtual Machine）部１１ａ〜１１ｃ、ハイパーバイザ１２、および管理部１３を備えている。なお、図１では、説明の便宜上、仮想マシン部を３つ図示したが、複数備えられていればよく、仮想マシン部の数については特に限定されない。
【００１７】
仮想マシン部１１ａ〜１１ｃは、情報処理装置１のリソース（ＣＰＵ、メモリ等）を仮想化した上で、その仮想化した情報処理装置１を実行するためのアーキテクチャまたはソフトウェアである。すなわち、仮想マシン部１１ａ〜１１ｃがそれぞれ動作することにより、情報処理装置１には、仮想実行環境１１０ａ〜１１０ｃがそれぞれ実現（稼動）される。ここで、本実施形態においては、仮想実行環境は、ＯＳ（Operating System）であるものとする。すなわち、本実施形態では、１台の情報処理装置１上で３つのＯＳを稼動させることができる。
【００１８】
また、本実施形態においては、仮想マシン部１１ａ〜１１ｃのそれぞれには、仮想マシン部を一意に識別するためのＶＭ−ＩＤ（Virtual Machine−Identification；識別データ）が割り当てられている。具体的には、仮想マシン部１１ａにはＶＭ−ＩＤ「ＶＭ−００１」、仮想マシン部１１ｂにはＶＭ−ＩＤ「ＶＭ−００２」、仮想マシン部１１ｃにはＶＭ−ＩＤ「ＶＭ−００３」がそれぞれ割り当てられている。
【００１９】
図２は、本実施形態に係る仮想実行環境１１０ａ内に実現された各機能ブロックを示す図である。図２に示すように、仮想実行環境１１０ａ内には、仮想マシン部１１ａによって、アプリケーション部２１、条件データ登録部２２、条件データテーブル２３、イベント検出部２４、ＶＭ使用判定部２５、表示制御部２６、イベント通信部２７、イベント選択部２８、およびＶＭ切替部２９の各機能ブロックが実現されている。なお、仮想実行環境１１０ｂ，１１０ｃ内に実現される各機能ブロックも、これと同様である。
【００２０】
ここで、上記のアプリケーション部２１、条件データ登録部２２、イベント検出部２４、ＶＭ使用判定部２５、表示制御部２６、イベント通信部２７、イベント選択部２８、およびＶＭ切替部２９の各機能を情報処理装置１で実現するためのプログラムまたはそれを記録した記録媒体も本発明の一実施態様である。また、条件データテーブル２３は、情報処理装置１の内蔵記憶装置（例えば、ＲＡＭ、ＲＯＭ、ＨＤＤ等）またはこの情報処理装置１からアクセス可能な記憶装置（例えば、ＣＤ、ＤＶＤ、ＦＤ、サーバ等）によって具現化される。
【００２１】
アプリケーション部２１は、仮想実行環境１１０ａ内で動作可能な１または複数のアプリケーションソフトウェアから構成される。ここで、アプリケーションソフトウェアには、例えば、ＩＭ、スケジューラ、ブラウザ、メールソフト、表計算ソフト、ワードプロセッサ、シミュレーションソフト、コンテンツ開発用ソフト、エンジニアリングソフト、教育用ソフト等があるが、ここでは特に限定されない。
【００２２】
条件データ登録部２２は、アプリケーションソフトウェアのイベント発生時の動作を表す検出用トリガと当該イベントとを含む検出条件データを、入力装置２を介してユーザから受け付ける。条件データ登録部２２は、受け付けた検出条件データを条件データテーブル（条件データ記録部）２３へ登録する。図３は、本実施形態に係る条件データテーブル２３に登録された検出条件データの一例を示す図である。図３に示すように、条件データテーブル２３には、検出条件データとして、アプリケーションソフトウェアと、イベントと、検出用トリガとが登録されている。
【００２３】
すなわち、図３に示す条件データテーブル２３の１レコード目は、サウンドファイル（音声ファイル）１の再生が開始されれば、ＩＭによるメッセージ受信のイベントであることを表している。また、条件データテーブル２３の２レコード目は、サウンドファイル２の再生が開始されれば、スケジューラによる予定の通知のイベントであることを表している。さらに、条件データテーブル２３の３レコード目は、ポップアップウインドウ１が表示装置３に表示されれば、ブラウザによるダウンロード完了のイベントであることを表している。
【００２４】
なお、本実施形態においては、図３に示すように、条件データテーブル２３の検出用トリガには、ファイル名が登録されていている例について説明したが、これに限定されない。例えば、条件データテーブル２３の検出用トリガには、ファイル名の代わりに、ＷＡＶファイル内の識別子やポップアップウインドウ内の識別子が登録されていてもよい。
【００２５】
イベント検出部２４は、アプリケーション部２１を監視することにより、アプリケーションソフトウェアのイベント発生時の動作が、条件データテーブル２３に記録された検出用トリガに適合するか否かを判定する。アプリケーションソフトウェアのイベント発生時の動作が検出用トリガに適合する場合、イベント検出部２４は、当該検出用トリガに対応付けて条件データテーブル２３に記録されたイベントがアプリケーションソフトウェアにて発生したと検出する。すなわち、イベント検出部２４は、アプリケーションソフトウェアにて発生したイベントを検出する。
【００２６】
また、イベント検出部２４は、アプリケーションソフトウェアにて発生したイベントを検出した場合に、イベントが発生したアプリケーションソフトウェアから当該イベントの付加情報を抽出する。例えば、アプリケーションソフトウェアがＩＭである場合、イベント検出部２４は、イベントの付加情報として、受信したメッセージのタイトルをＩＭから抽出する。また、例えば、アプリケーションソフトウェアがスケジューラである場合、イベント検出部２４は、イベントの付加情報として、予定（スケジュール）の内容をスケジューラから抽出する。そして、イベント検出部２４は、検出したイベントに関するイベント情報を生成する。ここで、イベント情報には、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を実現する仮想マシン部のＶＭ−ＩＤと、当該アプリケーションソフトウェアと、当該イベントと、当該イベントの付加情報とを含む。イベント検出部２４は、生成したイベント情報をＶＭ使用判定部２５へ出力する。
【００２７】
ＶＭ使用判定部２５は、イベント検出部２４からイベント情報が出力された場合、当該ＶＭ使用判定部２５が実現されている仮想実行環境（図２では、仮想実行環境１１０ａ）を、ユーザが現在使用しているか否かを判定する。すなわち、ＶＭ使用判定部２５は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用しているか否かを判定する。ここで、仮想実行環境をユーザが現在使用しているとは、仮想実行環境が表示装置３に現在実際に表示されており、かつ、表示装置３に表示された仮想実行環境に対して入力装置２が有効になっている状態をいう。
【００２８】
ＶＭ使用判定部２５は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用していると判定すれば、イベント検出部２４から出力されたイベント情報を、表示制御部２６へ出力する。この場合、表示制御部２６は、ＶＭ使用判定部２５から出力されたイベント情報を、表示装置３に表示させる。これにより、ユーザは、現在使用している仮想実行環境内でアプリケーションソフトウェアにイベントが発生したことを確認することができる。一方、ＶＭ使用判定部２５は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用していないと判定すれば、イベント検出部２４から出力されたイベント情報を、イベント通信部２７へ出力する。この場合、イベント通信部２７は、ＶＭ使用判定部２５から出力されたイベント情報を、ハイパーバイザ１２のイベントチャネル１２ａを介して、管理部１３へ送信する。
【００２９】
イベント選択部２８は、表示装置３に表示されたイベント情報に対する選択指示を、入力装置２を介してユーザから受け付ける。イベント選択部２８は、受け付けた選択指示をＶＭ切替部２９へ出力する。
【００３０】
ＶＭ切替部２９は、ユーザが現在使用している仮想実行環境から、イベント選択部２８により受け付けられた選択指示に対するイベント情報が含むＶＭ−ＩＤの仮想マシン部が実現する仮想実行環境への切り替えを、ハイパーバイザ１２へ指示する。
【００３１】
ハイパーバイザ（仮想実行環境切替部）１２は、仮想マシン部１１ａ〜１１ｃとハードウェアとの間に配置される中間的なレイヤで動作する制御プログラムであって、仮想マシン部１１ａ〜１１ｃを制御する機能を有している。具体的には、ＶＭ切替部２９から仮想実行環境の切り替え指示があった場合、ハイパーバイザ１２は、現在使用している仮想実行環境から切り替え指示のあった仮想実行環境へ切り替える。また、ハイパーバイザ１２は、詳細は後述するように、管理部１３の対応テーブル１３ｃへ対応データを書き込むあるいは書き換える機能を有している。ここで、ハイパーバイザ１２には、イベントチャネル１２ａが設けられている。イベントチャネル１２ａは、仮想マシン部１１ａ〜１１ｃにより実現された仮想実行環境１１０ａ〜１１０ｃと管理部１３との間のデータのやり取りを仲介するチャネルである。
【００３２】
管理部１３は、イベント集配信部１３ａ、イベント情報蓄積テーブル１３ｂ、および対応テーブル１３ｃを備えている。ここで、上記のイベント集配信部１３ａの機能は、情報処理装置１が備えるＣＰＵ等の演算装置が所定のプログラムを実行することによって実現される。したがって、上記の機能を情報処理装置１で実現するためのプログラムまたはそれを記録した記録媒体も本発明の一実施態様である。また、イベント情報蓄積テーブル１３ｂおよび対応テーブル１３ｃは、情報処理装置１の内蔵記憶装置またはこの情報処理装置１からアクセス可能な記憶装置によって具現化される。
【００３３】
イベント集配信部１３ａは、仮想実行環境１１０ａ〜１１０ｃ内のそれぞれに実現されたイベント通信部２７から送信されたイベント情報を収集する。イベント集配信部１３ａは、収集したイベント情報を、イベント情報蓄積テーブル１３ｂへ記録する。図４は、本実施形態に係るイベント情報蓄積テーブル１３ｂに記録されたイベント情報の一例を示す図である。図４に示すように、イベント情報蓄積テーブル１３ａには、イベント情報として、ＶＭ−ＩＤと、アプリケーションソフトウェアと、イベントと、イベントの付加情報とが記録されている。
【００３４】
対応テーブル１３ｃは、ユーザを一意に識別するためのユーザＩＤと、ユーザが現在使用している仮想実行環境を実現する仮想マシン部のＶＭ−ＩＤとの対応関係を表す対応データを記録する。図５は、本実施形態に係る対応テーブル１３ｃに記録された対応データの一例を示す図である。図５に示すように、対応テーブル１３ｃには、対応データとして、ユーザＩＤと、ＶＭ−ＩＤと、ＶＭの状態とが記録されている。ここで、本実施形態においては、情報処理装置１へのログイン時のアカウント情報をユーザＩＤとしている。また、ＶＭの状態として、アクティブまたは非アクティブのいずれかが記録されている。アクティブは、仮想マシン部が実現する仮想実行環境をユーザが現在使用している状態をいう。非アクティブは、仮想マシン部が実現する仮想実行環境をユーザが現在使用していない状態をいう。
【００３５】
すなわち、図５に示す対応テーブル１３ｃは、ユーザＩＤ「Ｕｓｅｒ−１」のユーザが、ＶＭ−ＩＤ「ＶＭ−００２」の仮想マシン部１１ｂが実現する仮想実行環境１１０ｂを現在使用していることを表している。具体的には、仮想実行環境１１０ｂが表示装置３に現在実際に表示されており、かつ、表示装置３に表示された仮想実行環境１１０ｂに対して入力装置２が有効になっている。つまり、言い換えれば、対応テーブル１３ｃは、ユーザＩＤ「Ｕｓｅｒ−１」のユーザは、ＶＭ−ＩＤ「ＶＭ−００１」の仮想マシン部１１ａが実現する仮想実行環境１１０ａ、およびＶＭ−ＩＤ「ＶＭ−００３」の仮想マシン部１１ｃが実現する仮想実行環境１１０ｃを現在使用していないことを表している。
【００３６】
イベント集配信部１３ａは、イベント情報蓄積テーブル１３ｂに記録されたイベント情報を、対応テーブル１３ｃのＶＭの状態「アクティブ」に対応するＶＭ−ＩＤの仮想マシン部が実現する仮想実行環境内のイベント通信部２７へ送信する。すなわち、本実施形態においては、イベント集配信部１３ａは、図４に示すイベント情報蓄積テーブル１３ｂに記録されたイベント情報を、ＶＭ−ＩＤ「ＶＭ−００２」の仮想マシン部１１ｂが実現する仮想実行環境１１０ｂ内のイベント通信部２７へ送信する。仮想実行環境１１０ｂ内のイベント通信部２７は、イベント集配信部１３ａから送信されたイベント情報を受信し、受信したイベント情報を、表示制御部２６へ出力する。表示制御部２６は、イベント通信部２７から出力されたイベント情報を、表示装置３に表示させる。
【００３７】
図６は、表示装置３に表示されたイベント情報の一例を示す図である。図６に示すように、表示装置３には、ユーザが現在使用している仮想実行環境１１０ｂが表示されている。また、仮想実行環境１１０ｂ内には、任意のウインドウＷと、マウスカーソルＣと、このマウスカーソルＣに追随可能なバルーンウインドウＢとが表示されている。ここで、イベント情報は、図６に示すように、バルーンウインドウＢ内に表示されている。これにより、ユーザは、仮想実行環境を切り替えることなく、ユーザが現在使用していない仮想実行環境（ここでは、仮想実行環境１１０ａ，１１０ｃ）内でイベントが発生したことを、ユーザが現在使用している仮想実行環境（ここでは、仮想実行環境１１０ｂ）内でリアルタイムに確認することができる。なお、図６に示す表示態様はあくまで一例であって、これに限定されるものではなく、例えば、ポップアップウインドウによりイベント情報を表示させてもよい。また、イベント情報を表示装置３に表示させる代わりに、イベント情報を音声により提示させてもよい。
【００３８】
ここで、本実施形態においては、バルーンウインドウＢはマウスカーソルＣに追随して仮想実行環境１１０ｂ内に表示されるが、ユーザがマウス（入力装置２）をクリックすることにより、バルーンウインドウＢは仮想実行環境１１０ｂ内に固定表示されるようになっている。仮想実行環境１１０ｂ内にバルーンウインドウＢが固定表示された場合に、ユーザが、マウスを用いて当該バルーンウインドウＢ内に表示されたイベント情報を選択指示（クリック）すれば、仮想実行環境１１０ｂ内のイベント選択部２８は、当該イベント情報に対する選択指示を受け付けることになる。仮想実行環境１１０ｂ内のＶＭ切替部２９は、ユーザが現在使用している仮想実行環境から、選択指示に対するイベント情報が含むＶＭ−ＩＤの仮想マシン部が実現する仮想実行環境への切り替えを、ハイパーバイザ１２へ指示する。
【００３９】
すなわち、例えば、ユーザが、マウスを用いてバルーンウインドウＢ内に表示されたイベント情報“ＶＭ−００１：メッセージの受信「○○の件」”を選択指示（クリック）すれば、仮想実行環境１１０ｂ内のＶＭ切替部２９は、ユーザが現在使用している仮想実行環境１１０ｂから選択指示のあった仮想実行環境１１０ａへの切り替えを、ハイパーバイザ１２へ指示する。ハイパーバイザ１２は、現在使用している仮想実行環境１１０ｂから切り替え指示のあった仮想実行環境１１０ａへ切り替える。これにより、表示装置３には仮想実行環境１１０ｂから仮想実行環境１１０ａが表示されることになる。また、表示装置３に仮想実行環境１１０ａが表示されれば、ユーザは、仮想実行環境１１０ａ内のＩＭを立ち上げることにより、ＩＭで発生したメッセージ受信のイベントの詳細（例えば、メッセージの本文）を確認することができる。
【００４０】
次に、上記の構成に係る情報処理装置１の動作について、図７〜図１０を参照しながら説明する。
【００４１】
図７は、ユーザが情報処理装置１へログインした場合の、情報処理装置１の動作例を示すフローチャートである。図７に示すように、情報処理装置１は、ログインするためのアカウント情報（ユーザＩＤ）を、入力装置２を介してユーザから受け付ける（Ｏｐ１）。そして、情報処理装置１は、仮想マシン部を起動させるための指示を、入力装置２を介してユーザから受け付ける。これにより、仮想マシン部が起動し、情報処理装置１には、仮想実行環境が実現されることになる（Ｏｐ２）。
【００４２】
次に、情報処理装置１のハイパーバイザ１２は、Ｏｐ１にて受け付けたユーザＩＤと、Ｏｐ２にて起動された仮想マシン部のＶＭ−ＩＤとを対応付けて対応テーブル１３ｃへ記録する（Ｏｐ３）。そして、ハイパーバイザ１２は、Ｏｐ２にて実現された仮想実行環境を、ユーザが現在使用しているか否かを判定する（Ｏｐ４）。ここで、仮想実行環境をユーザが現在使用しているとは、仮想実行環境が表示装置３に現在実際に表示されており、かつ、表示装置３に表示された仮想実行環境に対して入力装置２が有効になっている状態をいう。
【００４３】
ハイパーバイザ１２は、Ｏｐ２にて実現された仮想実行環境を、ユーザが現在使用していると判定すれば（Ｏｐ４にてＹＥＳ）、対応テーブル１３のＶＭの状態に“アクティブ”を書き込む（Ｏｐ５）。一方、ハイパーバイザ１２は、Ｏｐ２にて実現された仮想実行環境を、ユーザが現在使用していないと判定すれば（Ｏｐ４にてＮＯ）、対応テーブル１３のＶＭの状態に“非アクティブ”を書き込む（Ｏｐ６）。なお、ユーザが仮想マシン部を新たに起動させる度に、情報処理装置１は、図７に示すＯｐ２〜Ｏｐ６の処理を繰り返す。
【００４４】
図８は、イベント検出部２４がアプリケーションソフトウェアのイベントを検出した場合の、情報処理装置１の動作例を示すフローチャートである。図８に示すように、情報処理装置１は、アプリケーション部２１の動作設定を、入力装置２を介してユーザから受け付ける（Ｏｐ１１）。ここで、アプリケーション部２１の動作設定は、例えば、アプリケーションソフトウェアがＩＭである場合に、ＩＭによるメッセージ受信のイベントがあれば、サウンドファイル１の再生が開始されるように、ＩＭの動作を設定することである。
【００４５】
そして、条件データ登録部２２は、アプリケーションソフトウェアのイベント発生時の動作を表す検出用トリガと当該イベントとを含む検出条件データを、入力装置２を介してユーザから受け付ける（Ｏｐ１２）。条件データ登録部２２は、Ｏｐ１２にて受け付けられた検出条件データを、条件データテーブル２３へ登録する（Ｏｐ１３）。これにより、条件データテーブル２３には、例えば、図３に示すように、検出条件データとして、アプリケーションソフトウェアと、イベントと、検出用トリガとが記録されることになる。
【００４６】
次に、イベント検出部２４は、アプリケーション部２１を監視することにより、アプリケーションソフトウェア（図中、「ＡＳ」）のイベント発生時の動作が、条件データテーブル２３に記録された検出用トリガに適合するか否かを判定する（Ｏｐ１４）。イベント検出部２４は、アプリケーションソフトウェアのイベント発生時の動作が検出用トリガに適合すると判定すれば（Ｏｐ１４にてＹＥＳ）、当該検出用トリガに対応付けて条件データテーブル２３に記録されたイベントがアプリケーションソフトウェアにて発生したと検出する。すなわち、イベント検出部２４は、アプリケーションソフトウェアにて発生したイベントを検出する。この場合、イベント検出部２４は、イベントが発生したアプリケーションソフトウェアからイベントの付加情報を抽出する（Ｏｐ１５）。一方、イベント検出部２４は、アプリケーションソフトウェアのイベント発生時の動作が検出用トリガに適合しないと判定すれば（Ｏｐ１４にてＮＯ）、Ｏｐ１４へ戻り、Ｏｐ１４の判定処理を繰り返す。
【００４７】
Ｏｐ１５の後、イベント検出部２４は、検出したイベントに関するイベント情報を生成する（Ｏｐ１６）。ここで、イベント情報には、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を実現する仮想マシン部のＶＭ−ＩＤと、当該アプリケーションソフトウェアと、当該イベントと、Ｏｐ１５にて抽出されたイベントの付加情報とを含む。
【００４８】
そして、ＶＭ使用判定部２５は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用しているか否かを判定する（Ｏｐ１７）。ＶＭ使用判定部２５は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用していると判定すれば（Ｏｐ１７にてＹＥＳ）、Ｏｐ１６にて生成されたイベント情報を、表示制御部２６へ出力する。この場合、表示制御部２６は、ＶＭ使用判定部２５から出力されたイベント情報を、表示装置３に表示させる（Ｏｐ１８）。一方、ＶＭ使用判定部２５は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用していないと判定すれば（Ｏｐ１７にてＮＯ）、Ｏｐ１６にて生成されたイベント情報を、イベント通信部２７へ出力する。この場合、イベント通信部２７は、ＶＭ使用判定部２５から出力されたイベント情報を、ハイパーバイザ１２のイベントチャネル１２ａを介して、管理部１３へ送信する（Ｏｐ１９）。
【００４９】
図９は、イベント集配信部１３ａが各仮想実行環境内のイベント通信部２７から送信されたイベント情報を収集した場合の、情報処理装置１の動作例を示すフローチャートである。図９に示すように、イベント集配信部１３ａは、各仮想実行環境内のイベント通信部２７から送信されたイベント情報（図８のＯｐ１９）を収集する（Ｏｐ２１）。イベント集配信部１３ａは、Ｏｐ２１にて収集されたイベント情報を、イベント情報蓄積テーブル１３ｂへ記録する（Ｏｐ２２）。これにより、イベント情報蓄積テーブル１３ｂには、例えば、図４に示すように、イベント情報が記録されることになる。
【００５０】
そして、イベント集配信部１３ａは、対応テーブル１３ｃを参照することにより、イベント情報蓄積テーブル１３ｂに記録されたイベント情報を、ハイパーバイザ１２のイベントチャネル１２ａを介して、ユーザが現在使用している仮想実行環境内のイベント通信部２７へ送信する（Ｏｐ２３）。すなわち、言い換えれば、イベント集配信部１３ａは、イベント情報蓄積テーブル１３ｂに記録されたイベント情報を、対応テーブル１３ｃのＶＭの状態「アクティブ」に対応するＶＭ−ＩＤの仮想マシン部が実現する仮想実行環境内のイベント通信部２７へ送信する。
【００５１】
図１０は、ユーザが現在使用している仮想実行環境内のイベント通信部２７がイベント集配信部１３ａからイベント情報を受信した場合の、情報処理装置１の動作例を示すフローチャートである。図１０に示すように、ユーザが現在使用している仮想実行環境内のイベント通信部２７は、図９のＯｐ２３にて送信されたイベント情報を受信する（Ｏｐ３１）。表示制御部２６は、Ｏｐ３１にて受信されたイベント情報を、表示装置３に表示させる（Ｏｐ３２）。これにより、表示装置３には、例えば、図６に示すように、イベント情報が表示されることになる。
【００５２】
ここで、イベント選択部２８は、表示装置３に表示されたイベント情報に対する選択指示を、入力装置２を介してユーザから受け付けたか否かを判定する（Ｏｐ３３）。イベント選択部２８は、イベント情報に対する選択指示をユーザから受け付けたと判定すれば（Ｏｐ３３にてＹＥＳ）、受け付けた選択指示をＶＭ切替部２９へ出力する。この場合、ＶＭ切替部２９は、ユーザが現在使用している仮想実行環境から、イベント選択部２８により受け付けられた選択指示に対するイベント情報が含むＶＭ−ＩＤの仮想マシン部が実現する仮想実行環境への切り替えを、ハイパーバイザ１２へ指示する（Ｏｐ３４）。一方、イベント選択部２８は、イベント情報に対する選択指示をユーザから受け付けていないと判定すれば（Ｏｐ３３にてＮＯ）、図１０の処理を終了する。
【００５３】
Ｏｐ３４の後、ハイパーバイザ１２は、現在使用している仮想実行環境から、Ｏｐ３４にて指示のあった仮想実行環境へ切り替える（Ｏｐ３５）。そして、ハイパーバイザ１２は、Ｏｐ３５にて切り替えられた後の仮想実行環境を実現する仮想マシン部のＶＭ−ＩＤに対応付けて対応テーブル１３ｃに記録されたＶＭの状態を“非アクティブ”から“アクティブ”へ書き換える（Ｏｐ３６）。また、ハイパーバイザ１２は、Ｏｐ３５にて切り替えられる前の仮想実行環境を実現する仮想マシン部のＶＭ−ＩＤに対応付けて対応テーブル１３ｃに記録されたＶＭの状態を“アクティブ”から“非アクティブ”へ書き換える（Ｏｐ３６）。
【００５４】
以上のように、本実施形態に係る情報処理装置１によれば、イベント検出部２４は、仮想実行環境内で発生したイベントを検出する。表示制御部２６は、イベント検出部２４によりユーザが現在使用していない仮想実行環境内で発生したイベントが検出された場合、当該仮想実行環境内で発生したイベントに関するイベント情報を、ユーザが現在使用している仮想実行環境内に提示させる。これにより、ユーザは、仮想実行環境を切り替えることなく、表示装置３に表示されていない仮想実行環境内でイベントが発生したことを、表示装置３に現在実際に表示されている仮想実行環境内でリアルタイムに確認することができる。この結果、ユーザの利便性や生産性を向上させることができる。
【００５５】
[実施の形態２]
図１１は、本実施形態に係る情報処理装置１ａの概略構成を示すブロック図である。すなわち、本実施形態に係る情報処理装置１ａには、図１に示す管理部１３が備えられていない。また、本実施形態に係る情報処理装置１ａは、図１に示す仮想マシン部１１ａ〜１１ｃの代わりに、仮想マシン部１４ａ〜１４ｃを備えている。なお、図１１において、図１と同様の機能を有する構成については、同じ参照符号を付記し、その詳細な説明を省略する。
【００５６】
仮想マシン部１４ａ〜１４ｃは、図１に示す仮想マシン部１１ａ〜１１ｃと同様、情報処理装置１ａのリソースを仮想化した上で、その仮想化した情報処理装置１ａを実行するためのアーキテクチャまたはソフトウェアである。すなわち、仮想マシン部１４ａ〜１４ｃがそれぞれ動作することにより、情報処理装置１ａには、仮想実行環境１４０ａ〜１４０ｃがそれぞれ実現される。
【００５７】
なお、本実施形態においても、仮想マシン部１４ａ〜１４ｃのそれぞれには、仮想マシン部を一意に識別するためのＶＭ−ＩＤが割り当てられている。具体的には、仮想マシン部１４ａにはＶＭ−ＩＤ「ＶＭ−００１」、仮想マシン部１４ｂにはＶＭ−ＩＤ「ＶＭ−００２」、仮想マシン部１４ｃにはＶＭ−ＩＤ「ＶＭ−００３」がそれぞれ割り当てられている。
【００５８】
図１２は、本実施形態に係る仮想実行環境１４０ａ内に実現された各機能ブロックを示す図である。図１２に示すように、仮想実行環境１４０ａ内には、仮想マシン部１４ａによって、各機能ブロックが実現されている。すなわち、仮想実行環境１４０ａ内には、図２に示す仮想実行環境１１０ａ内に実現されたイベント通信部２７の代わりに、イベント通信部３１が実現されている。また、仮想実行環境１４０ａ内には、図２に示す仮想実行環境１１０ａ内に実現された各機能ブロックに加えて、イベント情報蓄積テーブル３２および対応テーブル３３が実現されている。なお、図１２において、図２と同様の機能を有する構成については、同じ参照符号を付記し、その詳細な説明を省略する。
【００５９】
イベント通信部３１は、ＶＭ使用判定部２５から出力されたイベント情報を、ハイパーバイザ１２のイベントチャネル１２ａを介して、仮想実行環境１４０ｂ内のイベント通信部３１、および仮想実行環境１４０ｃ内のイベント通信部３１へ送信する。すなわち、イベント通信部３１は、ＶＭ使用判定部２５から出力されたイベント情報を、仮想実行環境１４０ｂ，１４０ｃの各イベント通信部３１へブロードキャストする。なお、例えば、仮想実行環境１４０ｂ，１４０ｃのうち仮想実行環境１４０ｃを他のユーザが使用していた場合、イベント通信部３１は、ＶＭ使用判定部２５から出力されたイベント情報を、仮想実行環境１４０ｂ内のイベント通信部３１のみに送信する。すなわち、同じユーザが使用する仮想実行環境内のイベント通信部のみにイベント情報が送信されることを保証するために、イベント通信部３１は、送信すべきイベント情報にユーザＩＤを含ませることが好ましい。
【００６０】
また、イベント通信部３１は、他の仮想実行環境内のイベント通信部３１から送信されたイベント情報を、ハイパーバイザ１２のイベントチャネル１２ａを介して受信する。イベント通信部３１は、受信したイベント情報をイベント情報蓄積テーブル３２へ記録する。ここで、イベント情報蓄積テーブル３２のデータ構造は、図４に示すイベント情報蓄積テーブル１３ｂのデータ構造と同様である。
【００６１】
対応テーブル３３は、ユーザを一意に識別するためのユーザＩＤと、ユーザが現在使用している仮想実行環境を実現する仮想マシン部のＶＭ−ＩＤとの対応関係を表す対応データを記録する。ここで、対応テーブル３３のデータ構造は、図５に示す対応テーブル１３ｃのデータ構造と同様である。
【００６２】
イベント通信部３１は、対応テーブル３３を参照することにより、当該イベント通信部３１が実現されている仮想実行環境（図１２では、仮想実行環境１４０ａ）を実現する仮想マシン部１４ａのＶＭの状態が「アクティブ」であるか否かを判定する。ＶＭの状態が「アクティブ」であれば、イベント通信部３１は、イベント情報蓄積テーブル３２に記録されたイベント情報を読み出し、読み出したイベント情報を表示制御部２６へ出力する。表示制御部２６は、イベント通信部３１から出力されたイベント情報を、表示装置３に表示させる。
【００６３】
以上のように、本実施形態に係る情報処理装置１ａによれば、第１の実施形態に係る情報処理装置１と比較して、情報処理装置１ａに管理部を備える必要がない。すなわち、本実施形態に係る情報処理装置１ａは、各仮想実行環境内のそれぞれに実現されたイベント通信部からイベント情報を収集する必要がない。このため、本実施形態に係る情報処理装置１ａは、第１の実施形態に係る情報処理装置１と比較して、備えるべき機能を簡素化することができる。
【００６４】
[実施の形態３]
図１３は、本実施形態に係る通信システムＴの概略構成を示すブロック図である。すなわち、本実施形態に係る通信システムＴは、情報処理装置１ｂ、および端末装置４を備えている。ここで、情報処理装置１ｂ、および端末装置４は、ネットワークＮに接続されている。ネットワークＮは、例えば、インターネットであって、情報処理装置１ｂ、および端末装置４は、ＴＣＰ／ＩＰ、ＵＤＰ／ＩＰ等、予め定められたプロトコルで相互に通信できる。なお、ネットワークＮは、インターネットの代わりに、イーサネット（登録商標）、ホームネットワーク、無線ＬＡＮ等であってもよい。また、図１３に示す端末装置４は、入力装置２、および表示装置３に接続されている。なお、図１３において、図１と同様の機能を有する構成については、同じ参照符号を付記し、その詳細な説明を省略する。
【００６５】
図１３では、説明の簡略化のために、情報処理装置１ｂ、および端末装置４をそれぞれ１台図示したが、通信システムＴを構成する情報処理装置１ｂ、および端末装置４の数は任意である。また、１台の情報処理装置１ｂに対して、複数台の端末装置４が備えられていてもよい。さらに、通信システムＴ上に、Ｗｅｂサーバ、プロキシサーバ、ＤＮＳサーバ、ＤＨＣＰサーバ等が存在していてもよい。
【００６６】
本実施形態に係る情報処理装置１ｂは、図１３に示すように、インタフェース部（図中、ＩＦ部）１５を備えている。また、本実施形態に係る情報処理装置１ｂは、図１に示す仮想マシン部１１ａ〜１１ｃの代わりに、仮想マシン部１６ａ〜１６ｃを備えている。なお、本実施形態に係る情報処理装置１ｂには、図１に示す管理部１３が備えられていない。
【００６７】
インタフェース部１５は、端末装置４と情報処理装置１ｂのハイパーバイザ１２との間のデータのやり取りを、ネットワークＮを介して仲介する。
【００６８】
仮想マシン部１６ａ〜１６ｃは、図１に示す仮想マシン部１１ａ〜１１ｃと同様、情報処理装置１ｂのリソースを仮想化した上で、その仮想化した情報処理装置１ｂを実行するためのアーキテクチャまたはソフトウェアである。すなわち、仮想マシン部１６ａ〜１６ｃがそれぞれ動作することにより、情報処理装置１ｂには、仮想実行環境１６０ａ〜１６０ｃがそれぞれ実現される。
【００６９】
なお、本実施形態においても、仮想マシン部１６ａ〜１６ｃのそれぞれには、仮想マシン部を一意に識別するためのＶＭ−ＩＤが割り当てられている。具体的には、仮想マシン部１６ａにはＶＭ−ＩＤ「ＶＭ−００１」、仮想マシン部１６ｂにはＶＭ−ＩＤ「ＶＭ−００２」、仮想マシン部１６ｃにはＶＭ−ＩＤ「ＶＭ−００３」がそれぞれ割り当てられている。
【００７０】
図１４は、本実施形態に係る仮想実行環境１６０ａ内に実現された各機能ブロックを示す図である。図１４に示すように、仮想実行環境１６０ａ内には、仮想マシン部１６ａによって、各機能ブロックが実現されている。すなわち、仮想実行環境１６０ａ内には、図２に示す仮想実行環境１１０ａ内に実現されたＶＭ使用判定部２５およびイベント通信部２７の代わりに、ＶＭ使用判定部３４およびイベント通信部３５が実現されている。また、仮想実行環境１６０ａ内には、図２に示す仮想実行環境１１０ａ内に実現された表示制御部２６、イベント選択部２８、およびＶＭ切替部２９の各機能ブロックが実現されていない。なお、図１４において、図２と同様の機能を有する構成については、同じ参照符号を付記し、その詳細な説明を省略する。
【００７１】
ＶＭ使用判定部３４は、図２に示すＶＭ使用判定部２５と同様、イベント検出部２４からイベント情報が出力された場合、当該ＶＭ使用判定部３４が実現されている仮想実行環境（図１４では、仮想実行環境１６０ａ）を、ユーザが現在使用しているか否かを判定する。すなわち、ＶＭ使用判定部３４は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用しているか否かを判定する。ここで、仮想実行環境をユーザが現在使用しているとは、仮想実行環境がネットワークＮを介して表示装置３に現在実際に表示されており、かつ、表示装置３に表示された仮想実行環境に対して入力装置２が有効になっている状態をいう。
【００７２】
ＶＭ使用判定部３４は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用していると判定すれば、イベント検出部２４から出力されたイベント情報に、仮想実行環境をユーザが現在使用していることを表す使用状況情報を挿入する。一方、ＶＭ使用判定部２５は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用していないと判定すれば、イベント検出部２４から出力されたイベント情報に、仮想実行環境をユーザが現在使用していないことを表す使用状況情報を挿入する。ＶＭ使用判定部３４は、使用状況情報を挿入したイベント情報を、イベント通信部３５へ出力する。
【００７３】
イベント通信部３５は、ＶＭ使用判定部３４から出力されたイベント情報を、ハイパーバイザ１２のイベントチャネル１２ａを介して、インタフェース部１５へ出力する。インタフェース部１５は、イベント通信部３５から出力されたイベント情報を、ネットワークＮを介して端末装置４へ送信する。
【００７４】
端末装置４は、インタフェース部４１、表示制御部４２、イベント集約部４３、イベント情報蓄積テーブル４４、対応テーブル４５、イベント選択部４６、およびＶＭ切替部４７を備えている。
【００７５】
ここで、情報処理装置１ｂと、上記の表示制御部４２およびイベント選択部４６とが、本発明に係るイベント検出システムの一実施形態となる。
【００７６】
インタフェース部４１は、情報処理装置１ｂから送信されたイベント情報を、ネットワークＮを介して受信する。ここで、情報処理装置１ｂから送信されたイベント情報に、仮想実行環境をユーザが現在使用していることを表す使用状況情報が含まれていれば、インタフェース部４１は、情報処理装置１ｂから送信されたイベント情報を、表示制御部４２へ出力する。この場合、表示制御部４２は、インタフェース部４１から出力されたイベント情報を、表示装置３に表示させる。これにより、ユーザは、現在使用している仮想実行環境内でアプリケーションソフトウェアにイベントが発生したことを確認することができる。一方、情報処理装置１ｂから送信されたイベント情報に、仮想実行環境をユーザが現在使用していないことを表す使用状況情報が含まれていれば、インタフェース部４１は、情報処理装置１ｂから送信されたイベント情報を、イベント集約部４３へ出力する。この場合、イベント集約部４３は、インタフェース部４１から出力されたイベント情報を、イベント情報蓄積テーブル４４へ記録する。ここで、イベント情報蓄積テーブル４４のデータ構造は、図４に示すイベント情報蓄積テーブル１３ｂのデータ構造と同様である。
【００７７】
対応テーブル４５は、ユーザを一意に識別するためのユーザＩＤと、ユーザが現在使用している仮想実行環境を実現する仮想マシン部のＶＭ−ＩＤとの対応関係を表す対応データを記録する。ここで、対応テーブル４５のデータ構造は、図５に示す対応テーブル１３ｃのデータ構造と同様である。
【００７８】
イベント集約部４３は、イベント情報蓄積テーブル４４に記録されたイベント情報を、対応テーブル４５のＶＭの状態「アクティブ」に対応するＶＭ−ＩＤの仮想マシン部が実現する仮想実行環境内に表示させるように、表示制御部４２に対して指示する。このため、イベント集約部４５は、イベント情報蓄積テーブル４４に記録されたイベント情報を読み出し、読み出したイベント情報を表示制御部４２へ出力する。表示制御部４２は、イベント集約部４５から出力されたイベント情報を、表示装置３に表示させる。これにより、ユーザは、仮想実行環境を切り替えることなく、ユーザが現在使用していない仮想実行環境内でイベントが発生したことを、ユーザが現在使用している仮想実行環境内でリアルタイムに確認することができる。
【００７９】
イベント選択部４６は、表示装置３に表示されたイベント情報に対する選択指示を、入力装置２を介してユーザから受け付ける。イベント選択部４６は、受け付けた選択指示をＶＭ切替部４７へ出力する。
【００８０】
ＶＭ切替部４７は、ユーザが現在使用している仮想実行環境から、イベント選択部４６により受け付けられた選択指示に対するイベント情報が含むＶＭ−ＩＤの仮想マシン部が実現する仮想実行環境への切り替えを、インタフェース部４１およびネットワークＮを介して情報処理装置１ｂのハイパーバイザ１２へ指示する。
【００８１】
以上のように、本実施形態に係る通信システムＴによれば、情報処理装置１ｂと端末装置４とがネットワークＮを介して接続された場合であっても、第１および第２の実施形態と同様、ユーザは、仮想実行環境を切り替えることなく、表示装置３に表示されていない仮想実行環境内でイベントが発生したことを、表示装置３に現在実際に表示されている仮想実行環境内でリアルタイムに確認することができる。
【産業上の利用可能性】
【００８２】
以上のように、本発明は、ユーザの利便性や生産性を向上させることができるイベント検出システム、イベント検出方法、またはプログラムとして有用である。
【図面の簡単な説明】
【００８３】
【図１】図１は、本発明の第１の実施形態に係る情報処理装置の概略構成を示すブロック図である。
【図２】図２は、仮想実行環境１１０ａ内に実現された各機能ブロックを示す図である。
【図３】図３は、条件データテーブルに登録された検出条件データの一例を示す図である。
【図４】図４は、イベント情報蓄積テーブルに記録されたイベント情報の一例を示す図である。
【図５】図５は、対応テーブルに記録された対応データの一例を示す図である。
【図６】図６は、表示装置に表示されたイベント情報の一例を示す図である。
【図７】図７は、ユーザが情報処理装置へログインした場合の、情報処理装置の動作例を示すフローチャートである。
【図８】図８は、イベント検出部がアプリケーションソフトウェアのイベントを検出する場合の、情報処理装置の動作例を示すフローチャートである。
【図９】図９は、イベント集配信部が各仮想実行環境内のイベント通信部から送信されたイベント情報を収集した場合の、情報処理装置の動作例を示すフローチャートである。
【図１０】図１０は、ユーザが現在使用している仮想実行環境内のイベント通信部がイベント集配信部からイベント情報を受信した場合の、情報処理装置の動作例を示すフローチャートである。
【図１１】図１１は、本発明の第２の実施形態に係る情報処理装置の概略構成を示すブロック図である。
【図１２】図１２は、仮想実行環境１４０ａ内に実現された各機能ブロックを示す図である。
【図１３】図１３は、本発明の第３の実施形態に係る通信システムの概略構成を示すブロック図である。
【図１４】図１４は、仮想実行環境１６０ａ内に実現された各機能ブロックを示す図である。
【符号の説明】
【００８４】
１，１ａ  情報処理装置（イベント検出システム）
１ｂ  情報処理装置
２  入力装置
３  表示装置
１１ａ〜１１ｃ  仮想マシン部
１４ａ〜１４ｃ  仮想マシン部
１６ａ〜１６ｃ  仮想マシン部
１２  ハイパーバイザ（仮想実行環境切替部）
２２  条件データ登録部
２３  条件データテーブル（条件データ記録部）
２４  イベント検出部
２６，４２  表示制御部（イベント提示部）
２８，４６  イベント選択部
１１０ａ〜１１０ｃ  仮想実行環境
１４０ａ〜１４０ｃ  仮想実行環境
１６０ａ〜１６０ｃ  仮想実行環境
【図１】
2010072703.tif 000003
【図２】
2010072703.tif 000004
【図３】
2010072703.tif 000005
【図４】
2010072703.tif 000006
【図５】
2010072703.tif 000007
【図６】
2010072703.tif 000008
【図７】
2010072703.tif 000009
【図８】
2010072703.tif 000010
【図９】
2010072703.tif 000011
【図１０】
2010072703.tif 000012
【図１１】
2010072703.tif 000013
【図１２】
2010072703.tif 000014
【図１３】
2010072703.tif 000015
【図１４】
2010072703.tif 000016