[go: up one dir, main page]

JP5251385B2 - イベント検出システム、イベント検出方法、およびプログラム - Google Patents

イベント検出システム、イベント検出方法、およびプログラム Download PDF

Info

Publication number
JP5251385B2
JP5251385B2 JP2008236528A JP2008236528A JP5251385B2 JP 5251385 B2 JP5251385 B2 JP 5251385B2 JP 2008236528 A JP2008236528 A JP 2008236528A JP 2008236528 A JP2008236528 A JP 2008236528A JP 5251385 B2 JP5251385 B2 JP 5251385B2
Authority
JP
Japan
Prior art keywords
event
execution environment
virtual execution
unit
detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008236528A
Other languages
English (en)
Other versions
JP2010072703A (ja
Inventor
秀樹 田中
昌朋 矢崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008236528A priority Critical patent/JP5251385B2/ja
Priority to US12/494,804 priority patent/US20100070980A1/en
Priority to GB0911368.9A priority patent/GB2463345B/en
Publication of JP2010072703A publication Critical patent/JP2010072703A/ja
Application granted granted Critical
Publication of JP5251385B2 publication Critical patent/JP5251385B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、複数の仮想実行環境をそれぞれ実現する複数の仮想マシン部を備えたイベント検出システム、イベント検出方法、およびプログラムに関する。
近年、コンピュータの分野において、仮想化技術が急速に進展してきている(例えば、特許文献1参照)。ここで、仮想化技術とは、コンピュータのリソースの物理的特性を、そのリソースと相互作用するシステム、アプリケーションソフトウェア、あるいはユーザから隠蔽する技術をいう。この仮想化技術を用いることにより、例えば、単一の物理リソースを複数の論理リソースに見せかけたり、複数の物理リソースを単一の論理リソースに見せかけたりすることができる。また、単一の物理リソースを何らかの特性の異なる単一の論理リソースに見せかけることもできる。
このような仮想化技術の一つに、仮想マシン(Virtual Machine)がある。コンピュータに複数の仮想マシンを備えることにより、例えば、1台のコンピュータ上で複数の仮想実行環境(例えば、OS)を実現(稼動)させることができる。ここで、例えば、1台のコンピュータに、仮想マシンA〜Cが備えられており、仮想マシンAがOS−1を実現し、仮想マシンBがOS−2を実現し、仮想マシンCがOS−3を実現する場合を考える。この場合、ユーザは、入力デバイスを用いることにより、コンピュータの表示画面に表示されるべきOSを切り替えることができる。これにより、例えば、OS−1は開発用のOS、OS−2は評価用のOS、OS−3は事務処理用のOSのように、ユーザの用途に応じて複数のOSを使い分けることができる。
特開2003−323306号公報
しかしながら、あるOS(仮想実行環境)内であるイベントが発生した場合、ユーザは、現在使用しているOSからイベントが発生したOSへ切り替えなければ、当該OS内でイベントが発生していることを知ることができなかった。例えば、ユーザが現在使用しているOSがOS−1である場合を考える。ここで、OS−3内に存在するIM(Instant Messenger)がメッセージを受信した旨のイベントを発生したものとする。この場合、ユーザは、OS−1からOS−3へ切り替えなければ、OS−3内でイベントが発生していることを知ることができなかった。このため、ユーザは、イベントの発生の有無に関わらず、入力デバイスを用いて逐次OSを切り替えることにより、OS内でイベントが発生しているか否かを確認する必要があった。そのため、ユーザの利便性や生産性が損なわれているという問題があった。
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ユーザの利便性や生産性を向上させることができるイベント検出システム、イベント検出方法、およびプログラムを提供することにある。
上記目的を達成するために本発明におけるイベント検出システムは、表示装置とアクセス可能なイベント検出システムにおいて、複数の仮想実行環境をそれぞれ実現する複数の仮想マシン部と、前記仮想実行環境内で発生したイベントを検出するイベント検出部と、前記表示装置に表示されていない仮想実行環境内で発生したイベントが前記イベント検出部により検出された場合に、当該仮想実行環境内で発生したイベントに関するイベント情報を、前記表示装置に現在実際に表示されている仮想実行環境内に提示させるイベント提示部とを備える。
本発明のイベント検出システムによれば、イベント検出部は、仮想実行環境内で発生したイベントを検出する。ここで、仮想実行環境は、仮想マシン部によって実現される。そして、表示装置に表示されていない仮想実行環境内で発生したイベントがイベント検出部により検出された場合に、イベント提示部は、当該仮想実行環境内で発生したイベントに関するイベント情報を、表示装置に現在実際に表示されている仮想実行環境内に提示させる。これにより、ユーザは、仮想実行環境を切り替えることなく、表示装置に表示されていない仮想実行環境内でイベントが発生したことを、表示装置に現在実際に表示されている仮想実行環境内でリアルタイムに確認することができる。この結果、ユーザの利便性や生産性を向上させることができる。
上記目的を達成するために本発明におけるイベント検出方法は、表示装置とアクセス可能なイベント検出システムが処理を実行するイベント検出方法において、前記イベント検出システムが備える複数の仮想マシン部が、複数の仮想実行環境をそれぞれ実現する仮想実行環境実現工程と、前記イベント検出システムが備えるイベント検出部が、前記仮想実行環境内で発生したイベントを検出するイベント検出工程と、前記イベント検出システムが備えるイベント提示部が、前記表示装置に表示されていない仮想実行環境内で発生したイベントが前記イベント検出工程により検出された場合に、当該仮想実行環境内で発生したイベントに関するイベント情報を、前記表示装置に現在実際に表示されている仮想実行環境内に提示させるイベント提示工程とを含む。
上記目的を達成するために本発明におけるプログラムは、表示装置とアクセス可能なイベント検出システムに処理を実行させるプログラムにおいて、複数の仮想実行環境をそれぞれ実現する仮想実行環境実現処理と、前記仮想実行環境内で発生したイベントを検出するイベント検出処理と、前記表示装置に表示されていない仮想実行環境内で発生したイベントが前記イベント検出処理により検出された場合に、当該仮想実行環境内で発生したイベントに関するイベント情報を、前記表示装置に現在実際に表示されている仮想実行環境内に提示させるイベント提示処理とを前記イベント検出システムに実行させる。
なお、本発明におけるイベント検出方法およびプログラムは、上記のイベント検出システムと同様の効果を得る。
以上のように、本発明のイベント検出システム、イベント検出方法、およびプログラムは、ユーザの利便性や生産性を向上させることができるという効果を奏する。
本発明の実施形態において、前記イベント検出システムは、入力装置とさらにアクセス可能であって、前記イベント情報には、前記仮想実行環境内で発生したイベントと、当該イベントが発生した仮想実行環境を実現している仮想マシン部を識別するための識別データとを少なくとも含み、前記イベント検出システムは、前記表示装置に現在実際に表示されている仮想実行環境内に提示されたイベント情報に対する選択指示を、前記入力装置を介してユーザから受け付けるイベント選択部と、前記表示装置に現在実際に表示されている仮想実行環境から、前記イベント選択部により受け付けられた選択指示に対するイベント情報が含む識別データの仮想マシン部が実現する仮想実行環境へ切り替える仮想実行環境切替部とをさらに備える態様とするのが好ましい。この態様によれば、イベントが発生した仮想実行環境へ容易に切り替えることができる。
本発明の実施形態において、前記仮想実行環境内のイベント発生時の動作を表す検出用トリガと当該イベントとを含む検出条件データを、前記入力装置を介してユーザから受け付け、受け付けた検出条件データを条件データ記録部へ登録する条件データ登録部をさらに備え、前記イベント検出部は、前記仮想実行環境内のイベント発生時の動作が、前記条件データ記録部に登録された検出条件データが含む検出用トリガに適合する場合、当該検出用トリガに対応付けて条件データ記録部に登録されたイベントが前記仮想実行環境内で発生したと検出する態様とするのが好ましい。ここで、前記仮想実行環境内のイベント発生時の動作は、例えば、音声ファイルの再生の開始、またはポップアップウインドウの表示である。この態様によれば、表示装置に現在実際に表示されている仮想実行環境内に、ユーザが所望するイベント情報を提示させることができる。
以下、本発明のより具体的な実施形態について図面を参照しながら詳細に説明する。
[実施の形態1]
図1は、本実施形態に係る情報処理装置1の概略構成を示すブロック図である。図1に示す情報処理装置(イベント検出システム)1は、入力装置2、および表示装置3に接続されている。情報処理装置1は、例えば、パーソナルコンピュータ、サーバ、ワークステーション等である。入力装置2は、マウス、キーボード、リモートコントローラ、タッチパネル、および音声認識装置等の任意の入力デバイスから構成される。表示装置3は、液晶ディスプレイ、有機ELディスプレイ、無機ELディスプレイ、プラズマディスプレイ、およびCRTディスプレイ等の任意の表示デバイスから構成される。
情報処理装置1は、仮想マシン(VM:Virtual Machine)部11a〜11c、ハイパーバイザ12、および管理部13を備えている。なお、図1では、説明の便宜上、仮想マシン部を3つ図示したが、複数備えられていればよく、仮想マシン部の数については特に限定されない。
仮想マシン部11a〜11cは、情報処理装置1のリソース(CPU、メモリ等)を仮想化した上で、その仮想化した情報処理装置1を実行するためのアーキテクチャまたはソフトウェアである。すなわち、仮想マシン部11a〜11cがそれぞれ動作することにより、情報処理装置1には、仮想実行環境110a〜110cがそれぞれ実現(稼動)される。ここで、本実施形態においては、仮想実行環境は、OS(Operating System)であるものとする。すなわち、本実施形態では、1台の情報処理装置1上で3つのOSを稼動させることができる。
また、本実施形態においては、仮想マシン部11a〜11cのそれぞれには、仮想マシン部を一意に識別するためのVM−ID(Virtual Machine−Identification;識別データ)が割り当てられている。具体的には、仮想マシン部11aにはVM−ID「VM−001」、仮想マシン部11bにはVM−ID「VM−002」、仮想マシン部11cにはVM−ID「VM−003」がそれぞれ割り当てられている。
図2は、本実施形態に係る仮想実行環境110a内に実現された各機能ブロックを示す図である。図2に示すように、仮想実行環境110a内には、仮想マシン部11aによって、アプリケーション部21、条件データ登録部22、条件データテーブル23、イベント検出部24、VM使用判定部25、表示制御部26、イベント通信部27、イベント選択部28、およびVM切替部29の各機能ブロックが実現されている。なお、仮想実行環境110b,110c内に実現される各機能ブロックも、これと同様である。
ここで、上記のアプリケーション部21、条件データ登録部22、イベント検出部24、VM使用判定部25、表示制御部26、イベント通信部27、イベント選択部28、およびVM切替部29の各機能を情報処理装置1で実現するためのプログラムまたはそれを記録した記録媒体も本発明の一実施態様である。また、条件データテーブル23は、情報処理装置1の内蔵記憶装置(例えば、RAM、ROM、HDD等)またはこの情報処理装置1からアクセス可能な記憶装置(例えば、CD、DVD、FD、サーバ等)によって具現化される。
アプリケーション部21は、仮想実行環境110a内で動作可能な1または複数のアプリケーションソフトウェアから構成される。ここで、アプリケーションソフトウェアには、例えば、IM、スケジューラ、ブラウザ、メールソフト、表計算ソフト、ワードプロセッサ、シミュレーションソフト、コンテンツ開発用ソフト、エンジニアリングソフト、教育用ソフト等があるが、ここでは特に限定されない。
条件データ登録部22は、アプリケーションソフトウェアのイベント発生時の動作を表す検出用トリガと当該イベントとを含む検出条件データを、入力装置2を介してユーザから受け付ける。条件データ登録部22は、受け付けた検出条件データを条件データテーブル(条件データ記録部)23へ登録する。図3は、本実施形態に係る条件データテーブル23に登録された検出条件データの一例を示す図である。図3に示すように、条件データテーブル23には、検出条件データとして、アプリケーションソフトウェアと、イベントと、検出用トリガとが登録されている。
すなわち、図3に示す条件データテーブル23の1レコード目は、サウンドファイル(音声ファイル)1の再生が開始されれば、IMによるメッセージ受信のイベントであることを表している。また、条件データテーブル23の2レコード目は、サウンドファイル2の再生が開始されれば、スケジューラによる予定の通知のイベントであることを表している。さらに、条件データテーブル23の3レコード目は、ポップアップウインドウ1が表示装置3に表示されれば、ブラウザによるダウンロード完了のイベントであることを表している。
なお、本実施形態においては、図3に示すように、条件データテーブル23の検出用トリガには、ファイル名が登録されていている例について説明したが、これに限定されない。例えば、条件データテーブル23の検出用トリガには、ファイル名の代わりに、WAVファイル内の識別子やポップアップウインドウ内の識別子が登録されていてもよい。
イベント検出部24は、アプリケーション部21を監視することにより、アプリケーションソフトウェアのイベント発生時の動作が、条件データテーブル23に記録された検出用トリガに適合するか否かを判定する。アプリケーションソフトウェアのイベント発生時の動作が検出用トリガに適合する場合、イベント検出部24は、当該検出用トリガに対応付けて条件データテーブル23に記録されたイベントがアプリケーションソフトウェアにて発生したと検出する。すなわち、イベント検出部24は、アプリケーションソフトウェアにて発生したイベントを検出する。
また、イベント検出部24は、アプリケーションソフトウェアにて発生したイベントを検出した場合に、イベントが発生したアプリケーションソフトウェアから当該イベントの付加情報を抽出する。例えば、アプリケーションソフトウェアがIMである場合、イベント検出部24は、イベントの付加情報として、受信したメッセージのタイトルをIMから抽出する。また、例えば、アプリケーションソフトウェアがスケジューラである場合、イベント検出部24は、イベントの付加情報として、予定(スケジュール)の内容をスケジューラから抽出する。そして、イベント検出部24は、検出したイベントに関するイベント情報を生成する。ここで、イベント情報には、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を実現する仮想マシン部のVM−IDと、当該アプリケーションソフトウェアと、当該イベントと、当該イベントの付加情報とを含む。イベント検出部24は、生成したイベント情報をVM使用判定部25へ出力する。
VM使用判定部25は、イベント検出部24からイベント情報が出力された場合、当該VM使用判定部25が実現されている仮想実行環境(図2では、仮想実行環境110a)を、ユーザが現在使用しているか否かを判定する。すなわち、VM使用判定部25は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用しているか否かを判定する。ここで、仮想実行環境をユーザが現在使用しているとは、仮想実行環境が表示装置3に現在実際に表示されており、かつ、表示装置3に表示された仮想実行環境に対して入力装置2が有効になっている状態をいう。
VM使用判定部25は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用していると判定すれば、イベント検出部24から出力されたイベント情報を、表示制御部26へ出力する。この場合、表示制御部26は、VM使用判定部25から出力されたイベント情報を、表示装置3に表示させる。これにより、ユーザは、現在使用している仮想実行環境内でアプリケーションソフトウェアにイベントが発生したことを確認することができる。一方、VM使用判定部25は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用していないと判定すれば、イベント検出部24から出力されたイベント情報を、イベント通信部27へ出力する。この場合、イベント通信部27は、VM使用判定部25から出力されたイベント情報を、ハイパーバイザ12のイベントチャネル12aを介して、管理部13へ送信する。
イベント選択部28は、表示装置3に表示されたイベント情報に対する選択指示を、入力装置2を介してユーザから受け付ける。イベント選択部28は、受け付けた選択指示をVM切替部29へ出力する。
VM切替部29は、ユーザが現在使用している仮想実行環境から、イベント選択部28により受け付けられた選択指示に対するイベント情報が含むVM−IDの仮想マシン部が実現する仮想実行環境への切り替えを、ハイパーバイザ12へ指示する。
ハイパーバイザ(仮想実行環境切替部)12は、仮想マシン部11a〜11cとハードウェアとの間に配置される中間的なレイヤで動作する制御プログラムであって、仮想マシン部11a〜11cを制御する機能を有している。具体的には、VM切替部29から仮想実行環境の切り替え指示があった場合、ハイパーバイザ12は、現在使用している仮想実行環境から切り替え指示のあった仮想実行環境へ切り替える。また、ハイパーバイザ12は、詳細は後述するように、管理部13の対応テーブル13cへ対応データを書き込むあるいは書き換える機能を有している。ここで、ハイパーバイザ12には、イベントチャネル12aが設けられている。イベントチャネル12aは、仮想マシン部11a〜11cにより実現された仮想実行環境110a〜110cと管理部13との間のデータのやり取りを仲介するチャネルである。
管理部13は、イベント集配信部13a、イベント情報蓄積テーブル13b、および対応テーブル13cを備えている。ここで、上記のイベント集配信部13aの機能は、情報処理装置1が備えるCPU等の演算装置が所定のプログラムを実行することによって実現される。したがって、上記の機能を情報処理装置1で実現するためのプログラムまたはそれを記録した記録媒体も本発明の一実施態様である。また、イベント情報蓄積テーブル13bおよび対応テーブル13cは、情報処理装置1の内蔵記憶装置またはこの情報処理装置1からアクセス可能な記憶装置によって具現化される。
イベント集配信部13aは、仮想実行環境110a〜110c内のそれぞれに実現されたイベント通信部27から送信されたイベント情報を収集する。イベント集配信部13aは、収集したイベント情報を、イベント情報蓄積テーブル13bへ記録する。図4は、本実施形態に係るイベント情報蓄積テーブル13bに記録されたイベント情報の一例を示す図である。図4に示すように、イベント情報蓄積テーブル13aには、イベント情報として、VM−IDと、アプリケーションソフトウェアと、イベントと、イベントの付加情報とが記録されている。
対応テーブル13cは、ユーザを一意に識別するためのユーザIDと、ユーザが現在使用している仮想実行環境を実現する仮想マシン部のVM−IDとの対応関係を表す対応データを記録する。図5は、本実施形態に係る対応テーブル13cに記録された対応データの一例を示す図である。図5に示すように、対応テーブル13cには、対応データとして、ユーザIDと、VM−IDと、VMの状態とが記録されている。ここで、本実施形態においては、情報処理装置1へのログイン時のアカウント情報をユーザIDとしている。また、VMの状態として、アクティブまたは非アクティブのいずれかが記録されている。アクティブは、仮想マシン部が実現する仮想実行環境をユーザが現在使用している状態をいう。非アクティブは、仮想マシン部が実現する仮想実行環境をユーザが現在使用していない状態をいう。
すなわち、図5に示す対応テーブル13cは、ユーザID「User−1」のユーザが、VM−ID「VM−002」の仮想マシン部11bが実現する仮想実行環境110bを現在使用していることを表している。具体的には、仮想実行環境110bが表示装置3に現在実際に表示されており、かつ、表示装置3に表示された仮想実行環境110bに対して入力装置2が有効になっている。つまり、言い換えれば、対応テーブル13cは、ユーザID「User−1」のユーザは、VM−ID「VM−001」の仮想マシン部11aが実現する仮想実行環境110a、およびVM−ID「VM−003」の仮想マシン部11cが実現する仮想実行環境110cを現在使用していないことを表している。
イベント集配信部13aは、イベント情報蓄積テーブル13bに記録されたイベント情報を、対応テーブル13cのVMの状態「アクティブ」に対応するVM−IDの仮想マシン部が実現する仮想実行環境内のイベント通信部27へ送信する。すなわち、本実施形態においては、イベント集配信部13aは、図4に示すイベント情報蓄積テーブル13bに記録されたイベント情報を、VM−ID「VM−002」の仮想マシン部11bが実現する仮想実行環境110b内のイベント通信部27へ送信する。仮想実行環境110b内のイベント通信部27は、イベント集配信部13aから送信されたイベント情報を受信し、受信したイベント情報を、表示制御部26へ出力する。表示制御部26は、イベント通信部27から出力されたイベント情報を、表示装置3に表示させる。
図6は、表示装置3に表示されたイベント情報の一例を示す図である。図6に示すように、表示装置3には、ユーザが現在使用している仮想実行環境110bが表示されている。また、仮想実行環境110b内には、任意のウインドウWと、マウスカーソルCと、このマウスカーソルCに追随可能なバルーンウインドウBとが表示されている。ここで、イベント情報は、図6に示すように、バルーンウインドウB内に表示されている。これにより、ユーザは、仮想実行環境を切り替えることなく、ユーザが現在使用していない仮想実行環境(ここでは、仮想実行環境110a,110c)内でイベントが発生したことを、ユーザが現在使用している仮想実行環境(ここでは、仮想実行環境110b)内でリアルタイムに確認することができる。なお、図6に示す表示態様はあくまで一例であって、これに限定されるものではなく、例えば、ポップアップウインドウによりイベント情報を表示させてもよい。また、イベント情報を表示装置3に表示させる代わりに、イベント情報を音声により提示させてもよい。
ここで、本実施形態においては、バルーンウインドウBはマウスカーソルCに追随して仮想実行環境110b内に表示されるが、ユーザがマウス(入力装置2)をクリックすることにより、バルーンウインドウBは仮想実行環境110b内に固定表示されるようになっている。仮想実行環境110b内にバルーンウインドウBが固定表示された場合に、ユーザが、マウスを用いて当該バルーンウインドウB内に表示されたイベント情報を選択指示(クリック)すれば、仮想実行環境110b内のイベント選択部28は、当該イベント情報に対する選択指示を受け付けることになる。仮想実行環境110b内のVM切替部29は、ユーザが現在使用している仮想実行環境から、選択指示に対するイベント情報が含むVM−IDの仮想マシン部が実現する仮想実行環境への切り替えを、ハイパーバイザ12へ指示する。
すなわち、例えば、ユーザが、マウスを用いてバルーンウインドウB内に表示されたイベント情報“VM−001:メッセージの受信「○○の件」”を選択指示(クリック)すれば、仮想実行環境110b内のVM切替部29は、ユーザが現在使用している仮想実行環境110bから選択指示のあった仮想実行環境110aへの切り替えを、ハイパーバイザ12へ指示する。ハイパーバイザ12は、現在使用している仮想実行環境110bから切り替え指示のあった仮想実行環境110aへ切り替える。これにより、表示装置3には仮想実行環境110bから仮想実行環境110aが表示されることになる。また、表示装置3に仮想実行環境110aが表示されれば、ユーザは、仮想実行環境110a内のIMを立ち上げることにより、IMで発生したメッセージ受信のイベントの詳細(例えば、メッセージの本文)を確認することができる。
次に、上記の構成に係る情報処理装置1の動作について、図7〜図10を参照しながら説明する。
図7は、ユーザが情報処理装置1へログインした場合の、情報処理装置1の動作例を示すフローチャートである。図7に示すように、情報処理装置1は、ログインするためのアカウント情報(ユーザID)を、入力装置2を介してユーザから受け付ける(Op1)。そして、情報処理装置1は、仮想マシン部を起動させるための指示を、入力装置2を介してユーザから受け付ける。これにより、仮想マシン部が起動し、情報処理装置1には、仮想実行環境が実現されることになる(Op2)。
次に、情報処理装置1のハイパーバイザ12は、Op1にて受け付けたユーザIDと、Op2にて起動された仮想マシン部のVM−IDとを対応付けて対応テーブル13cへ記録する(Op3)。そして、ハイパーバイザ12は、Op2にて実現された仮想実行環境を、ユーザが現在使用しているか否かを判定する(Op4)。ここで、仮想実行環境をユーザが現在使用しているとは、仮想実行環境が表示装置3に現在実際に表示されており、かつ、表示装置3に表示された仮想実行環境に対して入力装置2が有効になっている状態をいう。
ハイパーバイザ12は、Op2にて実現された仮想実行環境を、ユーザが現在使用していると判定すれば(Op4にてYES)、対応テーブル13のVMの状態に“アクティブ”を書き込む(Op5)。一方、ハイパーバイザ12は、Op2にて実現された仮想実行環境を、ユーザが現在使用していないと判定すれば(Op4にてNO)、対応テーブル13のVMの状態に“非アクティブ”を書き込む(Op6)。なお、ユーザが仮想マシン部を新たに起動させる度に、情報処理装置1は、図7に示すOp2〜Op6の処理を繰り返す。
図8は、イベント検出部24がアプリケーションソフトウェアのイベントを検出した場合の、情報処理装置1の動作例を示すフローチャートである。図8に示すように、情報処理装置1は、アプリケーション部21の動作設定を、入力装置2を介してユーザから受け付ける(Op11)。ここで、アプリケーション部21の動作設定は、例えば、アプリケーションソフトウェアがIMである場合に、IMによるメッセージ受信のイベントがあれば、サウンドファイル1の再生が開始されるように、IMの動作を設定することである。
そして、条件データ登録部22は、アプリケーションソフトウェアのイベント発生時の動作を表す検出用トリガと当該イベントとを含む検出条件データを、入力装置2を介してユーザから受け付ける(Op12)。条件データ登録部22は、Op12にて受け付けられた検出条件データを、条件データテーブル23へ登録する(Op13)。これにより、条件データテーブル23には、例えば、図3に示すように、検出条件データとして、アプリケーションソフトウェアと、イベントと、検出用トリガとが記録されることになる。
次に、イベント検出部24は、アプリケーション部21を監視することにより、アプリケーションソフトウェア(図中、「AS」)のイベント発生時の動作が、条件データテーブル23に記録された検出用トリガに適合するか否かを判定する(Op14)。イベント検出部24は、アプリケーションソフトウェアのイベント発生時の動作が検出用トリガに適合すると判定すれば(Op14にてYES)、当該検出用トリガに対応付けて条件データテーブル23に記録されたイベントがアプリケーションソフトウェアにて発生したと検出する。すなわち、イベント検出部24は、アプリケーションソフトウェアにて発生したイベントを検出する。この場合、イベント検出部24は、イベントが発生したアプリケーションソフトウェアからイベントの付加情報を抽出する(Op15)。一方、イベント検出部24は、アプリケーションソフトウェアのイベント発生時の動作が検出用トリガに適合しないと判定すれば(Op14にてNO)、Op14へ戻り、Op14の判定処理を繰り返す。
Op15の後、イベント検出部24は、検出したイベントに関するイベント情報を生成する(Op16)。ここで、イベント情報には、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を実現する仮想マシン部のVM−IDと、当該アプリケーションソフトウェアと、当該イベントと、Op15にて抽出されたイベントの付加情報とを含む。
そして、VM使用判定部25は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用しているか否かを判定する(Op17)。VM使用判定部25は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用していると判定すれば(Op17にてYES)、Op16にて生成されたイベント情報を、表示制御部26へ出力する。この場合、表示制御部26は、VM使用判定部25から出力されたイベント情報を、表示装置3に表示させる(Op18)。一方、VM使用判定部25は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用していないと判定すれば(Op17にてNO)、Op16にて生成されたイベント情報を、イベント通信部27へ出力する。この場合、イベント通信部27は、VM使用判定部25から出力されたイベント情報を、ハイパーバイザ12のイベントチャネル12aを介して、管理部13へ送信する(Op19)。
図9は、イベント集配信部13aが各仮想実行環境内のイベント通信部27から送信されたイベント情報を収集した場合の、情報処理装置1の動作例を示すフローチャートである。図9に示すように、イベント集配信部13aは、各仮想実行環境内のイベント通信部27から送信されたイベント情報(図8のOp19)を収集する(Op21)。イベント集配信部13aは、Op21にて収集されたイベント情報を、イベント情報蓄積テーブル13bへ記録する(Op22)。これにより、イベント情報蓄積テーブル13bには、例えば、図4に示すように、イベント情報が記録されることになる。
そして、イベント集配信部13aは、対応テーブル13cを参照することにより、イベント情報蓄積テーブル13bに記録されたイベント情報を、ハイパーバイザ12のイベントチャネル12aを介して、ユーザが現在使用している仮想実行環境内のイベント通信部27へ送信する(Op23)。すなわち、言い換えれば、イベント集配信部13aは、イベント情報蓄積テーブル13bに記録されたイベント情報を、対応テーブル13cのVMの状態「アクティブ」に対応するVM−IDの仮想マシン部が実現する仮想実行環境内のイベント通信部27へ送信する。
図10は、ユーザが現在使用している仮想実行環境内のイベント通信部27がイベント集配信部13aからイベント情報を受信した場合の、情報処理装置1の動作例を示すフローチャートである。図10に示すように、ユーザが現在使用している仮想実行環境内のイベント通信部27は、図9のOp23にて送信されたイベント情報を受信する(Op31)。表示制御部26は、Op31にて受信されたイベント情報を、表示装置3に表示させる(Op32)。これにより、表示装置3には、例えば、図6に示すように、イベント情報が表示されることになる。
ここで、イベント選択部28は、表示装置3に表示されたイベント情報に対する選択指示を、入力装置2を介してユーザから受け付けたか否かを判定する(Op33)。イベント選択部28は、イベント情報に対する選択指示をユーザから受け付けたと判定すれば(Op33にてYES)、受け付けた選択指示をVM切替部29へ出力する。この場合、VM切替部29は、ユーザが現在使用している仮想実行環境から、イベント選択部28により受け付けられた選択指示に対するイベント情報が含むVM−IDの仮想マシン部が実現する仮想実行環境への切り替えを、ハイパーバイザ12へ指示する(Op34)。一方、イベント選択部28は、イベント情報に対する選択指示をユーザから受け付けていないと判定すれば(Op33にてNO)、図10の処理を終了する。
Op34の後、ハイパーバイザ12は、現在使用している仮想実行環境から、Op34にて指示のあった仮想実行環境へ切り替える(Op35)。そして、ハイパーバイザ12は、Op35にて切り替えられた後の仮想実行環境を実現する仮想マシン部のVM−IDに対応付けて対応テーブル13cに記録されたVMの状態を“非アクティブ”から“アクティブ”へ書き換える(Op36)。また、ハイパーバイザ12は、Op35にて切り替えられる前の仮想実行環境を実現する仮想マシン部のVM−IDに対応付けて対応テーブル13cに記録されたVMの状態を“アクティブ”から“非アクティブ”へ書き換える(Op36)。
以上のように、本実施形態に係る情報処理装置1によれば、イベント検出部24は、仮想実行環境内で発生したイベントを検出する。表示制御部26は、イベント検出部24によりユーザが現在使用していない仮想実行環境内で発生したイベントが検出された場合、当該仮想実行環境内で発生したイベントに関するイベント情報を、ユーザが現在使用している仮想実行環境内に提示させる。これにより、ユーザは、仮想実行環境を切り替えることなく、表示装置3に表示されていない仮想実行環境内でイベントが発生したことを、表示装置3に現在実際に表示されている仮想実行環境内でリアルタイムに確認することができる。この結果、ユーザの利便性や生産性を向上させることができる。
[実施の形態2]
図11は、本実施形態に係る情報処理装置1aの概略構成を示すブロック図である。すなわち、本実施形態に係る情報処理装置1aには、図1に示す管理部13が備えられていない。また、本実施形態に係る情報処理装置1aは、図1に示す仮想マシン部11a〜11cの代わりに、仮想マシン部14a〜14cを備えている。なお、図11において、図1と同様の機能を有する構成については、同じ参照符号を付記し、その詳細な説明を省略する。
仮想マシン部14a〜14cは、図1に示す仮想マシン部11a〜11cと同様、情報処理装置1aのリソースを仮想化した上で、その仮想化した情報処理装置1aを実行するためのアーキテクチャまたはソフトウェアである。すなわち、仮想マシン部14a〜14cがそれぞれ動作することにより、情報処理装置1aには、仮想実行環境140a〜140cがそれぞれ実現される。
なお、本実施形態においても、仮想マシン部14a〜14cのそれぞれには、仮想マシン部を一意に識別するためのVM−IDが割り当てられている。具体的には、仮想マシン部14aにはVM−ID「VM−001」、仮想マシン部14bにはVM−ID「VM−002」、仮想マシン部14cにはVM−ID「VM−003」がそれぞれ割り当てられている。
図12は、本実施形態に係る仮想実行環境140a内に実現された各機能ブロックを示す図である。図12に示すように、仮想実行環境140a内には、仮想マシン部14aによって、各機能ブロックが実現されている。すなわち、仮想実行環境140a内には、図2に示す仮想実行環境110a内に実現されたイベント通信部27の代わりに、イベント通信部31が実現されている。また、仮想実行環境140a内には、図2に示す仮想実行環境110a内に実現された各機能ブロックに加えて、イベント情報蓄積テーブル32および対応テーブル33が実現されている。なお、図12において、図2と同様の機能を有する構成については、同じ参照符号を付記し、その詳細な説明を省略する。
イベント通信部31は、VM使用判定部25から出力されたイベント情報を、ハイパーバイザ12のイベントチャネル12aを介して、仮想実行環境140b内のイベント通信部31、および仮想実行環境140c内のイベント通信部31へ送信する。すなわち、イベント通信部31は、VM使用判定部25から出力されたイベント情報を、仮想実行環境140b,140cの各イベント通信部31へブロードキャストする。なお、例えば、仮想実行環境140b,140cのうち仮想実行環境140cを他のユーザが使用していた場合、イベント通信部31は、VM使用判定部25から出力されたイベント情報を、仮想実行環境140b内のイベント通信部31のみに送信する。すなわち、同じユーザが使用する仮想実行環境内のイベント通信部のみにイベント情報が送信されることを保証するために、イベント通信部31は、送信すべきイベント情報にユーザIDを含ませることが好ましい。
また、イベント通信部31は、他の仮想実行環境内のイベント通信部31から送信されたイベント情報を、ハイパーバイザ12のイベントチャネル12aを介して受信する。イベント通信部31は、受信したイベント情報をイベント情報蓄積テーブル32へ記録する。ここで、イベント情報蓄積テーブル32のデータ構造は、図4に示すイベント情報蓄積テーブル13bのデータ構造と同様である。
対応テーブル33は、ユーザを一意に識別するためのユーザIDと、ユーザが現在使用している仮想実行環境を実現する仮想マシン部のVM−IDとの対応関係を表す対応データを記録する。ここで、対応テーブル33のデータ構造は、図5に示す対応テーブル13cのデータ構造と同様である。
イベント通信部31は、対応テーブル33を参照することにより、当該イベント通信部31が実現されている仮想実行環境(図12では、仮想実行環境140a)を実現する仮想マシン部14aのVMの状態が「アクティブ」であるか否かを判定する。VMの状態が「アクティブ」であれば、イベント通信部31は、イベント情報蓄積テーブル32に記録されたイベント情報を読み出し、読み出したイベント情報を表示制御部26へ出力する。表示制御部26は、イベント通信部31から出力されたイベント情報を、表示装置3に表示させる。
以上のように、本実施形態に係る情報処理装置1aによれば、第1の実施形態に係る情報処理装置1と比較して、情報処理装置1aに管理部を備える必要がない。すなわち、本実施形態に係る情報処理装置1aは、各仮想実行環境内のそれぞれに実現されたイベント通信部からイベント情報を収集する必要がない。このため、本実施形態に係る情報処理装置1aは、第1の実施形態に係る情報処理装置1と比較して、備えるべき機能を簡素化することができる。
[実施の形態3]
図13は、本実施形態に係る通信システムTの概略構成を示すブロック図である。すなわち、本実施形態に係る通信システムTは、情報処理装置1b、および端末装置4を備えている。ここで、情報処理装置1b、および端末装置4は、ネットワークNに接続されている。ネットワークNは、例えば、インターネットであって、情報処理装置1b、および端末装置4は、TCP/IP、UDP/IP等、予め定められたプロトコルで相互に通信できる。なお、ネットワークNは、インターネットの代わりに、イーサネット(登録商標)、ホームネットワーク、無線LAN等であってもよい。また、図13に示す端末装置4は、入力装置2、および表示装置3に接続されている。なお、図13において、図1と同様の機能を有する構成については、同じ参照符号を付記し、その詳細な説明を省略する。
図13では、説明の簡略化のために、情報処理装置1b、および端末装置4をそれぞれ1台図示したが、通信システムTを構成する情報処理装置1b、および端末装置4の数は任意である。また、1台の情報処理装置1bに対して、複数台の端末装置4が備えられていてもよい。さらに、通信システムT上に、Webサーバ、プロキシサーバ、DNSサーバ、DHCPサーバ等が存在していてもよい。
本実施形態に係る情報処理装置1bは、図13に示すように、インタフェース部(図中、IF部)15を備えている。また、本実施形態に係る情報処理装置1bは、図1に示す仮想マシン部11a〜11cの代わりに、仮想マシン部16a〜16cを備えている。なお、本実施形態に係る情報処理装置1bには、図1に示す管理部13が備えられていない。
インタフェース部15は、端末装置4と情報処理装置1bのハイパーバイザ12との間のデータのやり取りを、ネットワークNを介して仲介する。
仮想マシン部16a〜16cは、図1に示す仮想マシン部11a〜11cと同様、情報処理装置1bのリソースを仮想化した上で、その仮想化した情報処理装置1bを実行するためのアーキテクチャまたはソフトウェアである。すなわち、仮想マシン部16a〜16cがそれぞれ動作することにより、情報処理装置1bには、仮想実行環境160a〜160cがそれぞれ実現される。
なお、本実施形態においても、仮想マシン部16a〜16cのそれぞれには、仮想マシン部を一意に識別するためのVM−IDが割り当てられている。具体的には、仮想マシン部16aにはVM−ID「VM−001」、仮想マシン部16bにはVM−ID「VM−002」、仮想マシン部16cにはVM−ID「VM−003」がそれぞれ割り当てられている。
図14は、本実施形態に係る仮想実行環境160a内に実現された各機能ブロックを示す図である。図14に示すように、仮想実行環境160a内には、仮想マシン部16aによって、各機能ブロックが実現されている。すなわち、仮想実行環境160a内には、図2に示す仮想実行環境110a内に実現されたVM使用判定部25およびイベント通信部27の代わりに、VM使用判定部34およびイベント通信部35が実現されている。また、仮想実行環境160a内には、図2に示す仮想実行環境110a内に実現された表示制御部26、イベント選択部28、およびVM切替部29の各機能ブロックが実現されていない。なお、図14において、図2と同様の機能を有する構成については、同じ参照符号を付記し、その詳細な説明を省略する。
VM使用判定部34は、図2に示すVM使用判定部25と同様、イベント検出部24からイベント情報が出力された場合、当該VM使用判定部34が実現されている仮想実行環境(図14では、仮想実行環境160a)を、ユーザが現在使用しているか否かを判定する。すなわち、VM使用判定部34は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用しているか否かを判定する。ここで、仮想実行環境をユーザが現在使用しているとは、仮想実行環境がネットワークNを介して表示装置3に現在実際に表示されており、かつ、表示装置3に表示された仮想実行環境に対して入力装置2が有効になっている状態をいう。
VM使用判定部34は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用していると判定すれば、イベント検出部24から出力されたイベント情報に、仮想実行環境をユーザが現在使用していることを表す使用状況情報を挿入する。一方、VM使用判定部25は、イベントが発生したアプリケーションソフトウェアが動作している仮想実行環境を、ユーザが現在使用していないと判定すれば、イベント検出部24から出力されたイベント情報に、仮想実行環境をユーザが現在使用していないことを表す使用状況情報を挿入する。VM使用判定部34は、使用状況情報を挿入したイベント情報を、イベント通信部35へ出力する。
イベント通信部35は、VM使用判定部34から出力されたイベント情報を、ハイパーバイザ12のイベントチャネル12aを介して、インタフェース部15へ出力する。インタフェース部15は、イベント通信部35から出力されたイベント情報を、ネットワークNを介して端末装置4へ送信する。
端末装置4は、インタフェース部41、表示制御部42、イベント集約部43、イベント情報蓄積テーブル44、対応テーブル45、イベント選択部46、およびVM切替部47を備えている。
ここで、情報処理装置1bと、上記の表示制御部42およびイベント選択部46とが、本発明に係るイベント検出システムの一実施形態となる。
インタフェース部41は、情報処理装置1bから送信されたイベント情報を、ネットワークNを介して受信する。ここで、情報処理装置1bから送信されたイベント情報に、仮想実行環境をユーザが現在使用していることを表す使用状況情報が含まれていれば、インタフェース部41は、情報処理装置1bから送信されたイベント情報を、表示制御部42へ出力する。この場合、表示制御部42は、インタフェース部41から出力されたイベント情報を、表示装置3に表示させる。これにより、ユーザは、現在使用している仮想実行環境内でアプリケーションソフトウェアにイベントが発生したことを確認することができる。一方、情報処理装置1bから送信されたイベント情報に、仮想実行環境をユーザが現在使用していないことを表す使用状況情報が含まれていれば、インタフェース部41は、情報処理装置1bから送信されたイベント情報を、イベント集約部43へ出力する。この場合、イベント集約部43は、インタフェース部41から出力されたイベント情報を、イベント情報蓄積テーブル44へ記録する。ここで、イベント情報蓄積テーブル44のデータ構造は、図4に示すイベント情報蓄積テーブル13bのデータ構造と同様である。
対応テーブル45は、ユーザを一意に識別するためのユーザIDと、ユーザが現在使用している仮想実行環境を実現する仮想マシン部のVM−IDとの対応関係を表す対応データを記録する。ここで、対応テーブル45のデータ構造は、図5に示す対応テーブル13cのデータ構造と同様である。
イベント集約部43は、イベント情報蓄積テーブル44に記録されたイベント情報を、対応テーブル45のVMの状態「アクティブ」に対応するVM−IDの仮想マシン部が実現する仮想実行環境内に表示させるように、表示制御部42に対して指示する。このため、イベント集約部45は、イベント情報蓄積テーブル44に記録されたイベント情報を読み出し、読み出したイベント情報を表示制御部42へ出力する。表示制御部42は、イベント集約部45から出力されたイベント情報を、表示装置3に表示させる。これにより、ユーザは、仮想実行環境を切り替えることなく、ユーザが現在使用していない仮想実行環境内でイベントが発生したことを、ユーザが現在使用している仮想実行環境内でリアルタイムに確認することができる。
イベント選択部46は、表示装置3に表示されたイベント情報に対する選択指示を、入力装置2を介してユーザから受け付ける。イベント選択部46は、受け付けた選択指示をVM切替部47へ出力する。
VM切替部47は、ユーザが現在使用している仮想実行環境から、イベント選択部46により受け付けられた選択指示に対するイベント情報が含むVM−IDの仮想マシン部が実現する仮想実行環境への切り替えを、インタフェース部41およびネットワークNを介して情報処理装置1bのハイパーバイザ12へ指示する。
以上のように、本実施形態に係る通信システムTによれば、情報処理装置1bと端末装置4とがネットワークNを介して接続された場合であっても、第1および第2の実施形態と同様、ユーザは、仮想実行環境を切り替えることなく、表示装置3に表示されていない仮想実行環境内でイベントが発生したことを、表示装置3に現在実際に表示されている仮想実行環境内でリアルタイムに確認することができる。
以上のように、本発明は、ユーザの利便性や生産性を向上させることができるイベント検出システム、イベント検出方法、またはプログラムとして有用である。
図1は、本発明の第1の実施形態に係る情報処理装置の概略構成を示すブロック図である。 図2は、仮想実行環境110a内に実現された各機能ブロックを示す図である。 図3は、条件データテーブルに登録された検出条件データの一例を示す図である。 図4は、イベント情報蓄積テーブルに記録されたイベント情報の一例を示す図である。 図5は、対応テーブルに記録された対応データの一例を示す図である。 図6は、表示装置に表示されたイベント情報の一例を示す図である。 図7は、ユーザが情報処理装置へログインした場合の、情報処理装置の動作例を示すフローチャートである。 図8は、イベント検出部がアプリケーションソフトウェアのイベントを検出する場合の、情報処理装置の動作例を示すフローチャートである。 図9は、イベント集配信部が各仮想実行環境内のイベント通信部から送信されたイベント情報を収集した場合の、情報処理装置の動作例を示すフローチャートである。 図10は、ユーザが現在使用している仮想実行環境内のイベント通信部がイベント集配信部からイベント情報を受信した場合の、情報処理装置の動作例を示すフローチャートである。 図11は、本発明の第2の実施形態に係る情報処理装置の概略構成を示すブロック図である。 図12は、仮想実行環境140a内に実現された各機能ブロックを示す図である。 図13は、本発明の第3の実施形態に係る通信システムの概略構成を示すブロック図である。 図14は、仮想実行環境160a内に実現された各機能ブロックを示す図である。
符号の説明
1,1a 情報処理装置(イベント検出システム)
1b 情報処理装置
2 入力装置
3 表示装置
11a〜11c 仮想マシン部
14a〜14c 仮想マシン部
16a〜16c 仮想マシン部
12 ハイパーバイザ(仮想実行環境切替部)
22 条件データ登録部
23 条件データテーブル(条件データ記録部)
24 イベント検出部
26,42 表示制御部(イベント提示部)
28,46 イベント選択部
110a〜110c 仮想実行環境
140a〜140c 仮想実行環境
160a〜160c 仮想実行環境

Claims (5)

  1. 表示装置および入力装置とアクセス可能なイベント検出システムにおいて、
    複数の仮想実行環境をそれぞれ実現する複数の仮想マシン部と、
    前記仮想実行環境内で発生したイベントを検出するイベント検出部と、
    前記表示装置に表示されていない仮想実行環境内で発生したイベントが前記イベント検出部により検出された場合に、当該仮想実行環境内で発生したイベントに関するイベント情報を、前記表示装置に現在実際に表示されている仮想実行環境内に提示させるイベント提示部と
    前記仮想実行環境で実行されるアプリケーションにおけるイベント発生時の動作を表す検出用トリガと当該イベントとを含む検出条件データを、前記入力装置を介してユーザから受け付け、受け付けた検出条件データを条件データ記録部へ登録する条件データ登録部を備え、
    前記イベント検出部は、前記仮想実行環境内のイベント発生時の動作が、前記条件データ記録部に登録された検出条件データが含む検出用トリガに適合する場合、当該検出用トリガに対応付けて条件データ記録部に登録されたイベントが前記仮想実行環境内で発生したと検出する、イベント検出システム。
  2. 前記イベント検出システムは、入力装置とさらにアクセス可能であって、
    前記イベント情報には、前記仮想実行環境内で発生したイベントと、当該イベントが発生した仮想実行環境を実現している仮想マシン部を識別するための識別データとを少なくとも含み、
    前記イベント検出システムは、
    前記表示装置に現在実際に表示されている仮想実行環境内に提示されたイベント情報に対する選択指示を、前記入力装置を介してユーザから受け付けるイベント選択部と、
    前記表示装置に現在実際に表示されている仮想実行環境から、前記イベント選択部により受け付けられた選択指示に対するイベント情報が含む識別データの仮想マシン部が実現する仮想実行環境へ切り替える仮想実行環境切替部とをさらに備える、請求項1に記載のイベント検出システム。
  3. 前記仮想実行環境内の特定のイベント発生時の動作は、特定の音声ファイルの再生の開始、または特定のポップアップウインドウの表示である、請求項1又は2に記載のイベント検出システム。
  4. 表示装置および入力装置とアクセス可能なイベント検出システムが処理を実行するイベント検出方法において、
    前記イベント検出システムが備える複数の仮想マシン部が、複数の仮想実行環境をそれぞれ実現する仮想実行環境実現工程と、
    前記イベント検出システムが備えるイベント検出部が、前記仮想実行環境内で発生したイベントを検出するイベント検出工程と、
    前記イベント検出システムが備えるイベント提示部が、前記表示装置に表示されていない仮想実行環境内で発生したイベントが前記イベント検出工程により検出された場合に、当該仮想実行環境内で発生したイベントに関するイベント情報を、前記表示装置に現在実際に表示されている仮想実行環境内に提示させるイベント提示工程と
    前記仮想実行環境で実行されるアプリケーションにおけるイベント発生時の動作を表す検出用トリガと当該イベントとを含む検出条件データを、前記入力装置を介してユーザから受け付け、受け付けた検出条件データを条件データ記録部へ登録する条件データ登録工程とを含み、
    前記イベント検出工程において、前記仮想実行環境内のイベント発生時の動作が、前記条件データ記録部に登録された検出条件データが含む検出用トリガに適合する場合、当該検出用トリガに対応付けて条件データ記録部に登録されたイベントが前記仮想実行環境内で発生したと検出する、イベント検出方法。
  5. 表示装置および入力装置とアクセス可能なイベント検出システムに処理を実行させるプログラムにおいて、
    複数の仮想実行環境をそれぞれ実現する仮想実行環境実現処理と、
    前記仮想実行環境内で発生したイベントを検出するイベント検出処理と、
    前記表示装置に表示されていない仮想実行環境内で発生したイベントが前記イベント検
    出処理により検出された場合に、当該仮想実行環境内で発生したイベントに関するイベント情報を、前記表示装置に現在実際に表示されている仮想実行環境内に提示させるイベント提示処理と
    前記仮想実行環境で実行されるアプリケーションにおけるイベント発生時の動作を表す検出用トリガと当該イベントとを含む検出条件データを、前記入力装置を介してユーザから受け付け、受け付けた検出条件データを条件データ記録部へ登録する条件データ登録処理とを前記イベント検出システムに実行させ、
    前記イベント検出処理において、前記仮想実行環境内のイベント発生時の動作が、前記条件データ記録部に登録された検出条件データが含む検出用トリガに適合する場合、当該検出用トリガに対応付けて条件データ記録部に登録されたイベントが前記仮想実行環境内で発生したと検出する処理を前記イベント検出システムに実行させる、プログラム。
JP2008236528A 2008-09-16 2008-09-16 イベント検出システム、イベント検出方法、およびプログラム Expired - Fee Related JP5251385B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008236528A JP5251385B2 (ja) 2008-09-16 2008-09-16 イベント検出システム、イベント検出方法、およびプログラム
US12/494,804 US20100070980A1 (en) 2008-09-16 2009-06-30 Event detection system, event detection method, and program
GB0911368.9A GB2463345B (en) 2008-09-16 2009-06-30 Event detection system, event detection method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008236528A JP5251385B2 (ja) 2008-09-16 2008-09-16 イベント検出システム、イベント検出方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2010072703A JP2010072703A (ja) 2010-04-02
JP5251385B2 true JP5251385B2 (ja) 2013-07-31

Family

ID=41008541

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008236528A Expired - Fee Related JP5251385B2 (ja) 2008-09-16 2008-09-16 イベント検出システム、イベント検出方法、およびプログラム

Country Status (3)

Country Link
US (1) US20100070980A1 (ja)
JP (1) JP5251385B2 (ja)
GB (1) GB2463345B (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5458708B2 (ja) * 2009-07-09 2014-04-02 株式会社リコー 画像処理装置、表示制御方法、及び表示制御プログラム
US8904518B2 (en) 2010-05-07 2014-12-02 Panasonic Corporation Information processing device, information processing method, and program distribution system
AU2011202840B2 (en) * 2010-12-21 2014-04-17 Lg Electronics Inc. Mobile terminal and method of controlling a mode switching therein
US9178981B2 (en) * 2010-12-22 2015-11-03 Lg Electronics Inc. Mobile terminal and method of sharing information therein
JP5812608B2 (ja) * 2011-01-07 2015-11-17 Necパーソナルコンピュータ株式会社 入出力装置の切替システムおよび切替器
JP2012155600A (ja) * 2011-01-27 2012-08-16 Fujitsu Ltd 情報処理装置、制御方法、および制御プログラム
JP5585721B2 (ja) * 2011-03-22 2014-09-10 富士通株式会社 情報装置、画面切替え方法、及び画面切替えプログラム
JP5741136B2 (ja) * 2011-03-30 2015-07-01 富士通株式会社 制御プログラム、携帯端末および仮想計算機の制御プログラム
US8832690B1 (en) * 2011-06-21 2014-09-09 Google Inc. Multi-threaded virtual machine processing on a web page
JP5696603B2 (ja) * 2011-06-29 2015-04-08 富士通株式会社 計算機システム、計算機システムの電力制御方法およびプログラム
US9171139B2 (en) * 2011-08-05 2015-10-27 Vmware, Inc. Lock screens to access work environments on a personal mobile device
ES2691471T3 (es) * 2011-12-19 2018-11-27 Orange Método para notificación de eventos en un dispositivo que ejecuta identidades de múltiples usuarios
JP5962106B2 (ja) * 2012-03-22 2016-08-03 日本電気株式会社 ログ作成装置、ログ作成システム、ログ作成プログラムならびにログ作成方法
US9672059B2 (en) * 2013-02-21 2017-06-06 Nec Corporation Virtualization system
KR102210995B1 (ko) * 2013-04-24 2021-02-02 삼성전자 주식회사 전자 장치에서 보안 정보를 통지하기 위한 장치와 방법 및 이를 위한 컴퓨터로 판독 가능한 기록 매체
US9830178B2 (en) * 2014-03-06 2017-11-28 Intel Corporation Dynamic reassignment for multi-operating system devices
JP6785684B2 (ja) * 2017-02-28 2020-11-18 三菱電機株式会社 シミュレータシステム
WO2020031320A1 (ja) * 2018-08-09 2020-02-13 三菱電機株式会社 イベント送信装置、情報処理装置、情報処理システム、およびイベント送信方法
CN110971502B (zh) 2018-09-30 2021-09-28 腾讯科技(深圳)有限公司 应用程序中的声音消息显示方法、装置、设备及存储介质
US20230409357A1 (en) * 2022-05-25 2023-12-21 Citrix Systems, Inc. Asymmetric workspace application notification and interaction
CN117170982B (zh) * 2023-11-02 2024-02-13 建信金融科技有限责任公司 人机检测方法、装置、电子设备和计算机可读介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06274354A (ja) * 1993-03-12 1994-09-30 Internatl Business Mach Corp <Ibm> 破壊的なハードウェア動作を制御する方法及びシステム
US6792564B2 (en) * 2001-03-01 2004-09-14 International Business Machines Corporation Standardized format for reporting error events occurring within logically partitioned multiprocessing systems
US7023459B2 (en) * 2001-03-01 2006-04-04 International Business Machines Corporation Virtual logical partition terminal
US6961806B1 (en) * 2001-12-10 2005-11-01 Vmware, Inc. System and method for detecting access to shared structures and for maintaining coherence of derived structures in virtualized multiprocessor systems
US6920587B2 (en) * 2002-04-25 2005-07-19 International Business Machines Corporation Handling multiple operating system capabilities in a logical partition data processing system
WO2006079867A1 (en) * 2005-01-31 2006-08-03 Nokia Corporation Method and device for inhibiting interruption of a running application by an event
US7937701B2 (en) * 2005-06-30 2011-05-03 Intel Corporation ACPI communication between virtual machine monitor and policy virtual machine via mailbox
US20080243521A9 (en) * 2005-10-24 2008-10-02 Tacitus, Llc Simulating user immersion in data representations
JP2007199819A (ja) * 2006-01-24 2007-08-09 Fujitsu Ltd メッセージ表示制御プログラムおよびメッセージ表示制御装置
US8117554B1 (en) * 2006-04-25 2012-02-14 Parallels Holdings, Ltd. Seamless integration of non-native widgets and windows with dynamically scalable resolution into native operating system
US20080082936A1 (en) * 2006-09-28 2008-04-03 Richard Eric Helvick Method and system for displaying alternative task data on mobile electronic device
US8037473B2 (en) * 2006-10-20 2011-10-11 International Business Machines Corporation Method to share licensed applications between virtual machines
US7984449B2 (en) * 2007-08-15 2011-07-19 International Business Machines Corporation In-band communication with virtual machines via a hypervisor message bus

Also Published As

Publication number Publication date
GB2463345A (en) 2010-03-17
GB2463345B (en) 2012-05-30
JP2010072703A (ja) 2010-04-02
GB0911368D0 (en) 2009-08-12
US20100070980A1 (en) 2010-03-18

Similar Documents

Publication Publication Date Title
JP5251385B2 (ja) イベント検出システム、イベント検出方法、およびプログラム
US9286094B2 (en) Human interface device virtualization using paravirtual USB system
EP2616930B1 (en) Message queue management
US7698706B2 (en) Methods and apparatus for implementing an integrated user interface for managing multiple virtual machines operative in a computing system
US8468522B2 (en) Virtual machine system, system for forcing policy, method for forcing policy, and virtual machine control program
US8863122B2 (en) Remote control of a plurality of virtual machines using actions facilitated through a graphic user interface
US20060230105A1 (en) Method of providing a remote desktop session with the same look and feel as a local desktop
JP4782042B2 (ja) 電子計算機及びソフトウェアによるユーザインタフェースの実現方法
CN102959495A (zh) 管理针对计算机系统的处理任务即基于用户操作的任务的系统及显示关于该种任务的信息的方法
KR20010095534A (ko) 홈 페이지 광고 방법
CA2730389A1 (en) Apparatus and method for providing user interface service in a multimedia system
US20120185799A1 (en) Managing windows in virtual environment
JP2011123677A5 (ja) 情報処理装置、Webサーバ、それらの制御方法、及びプログラム
JP4874908B2 (ja) 情報処理システム、および監視方法
JP2015219890A (ja) 管理装置、その制御方法およびプログラム
US20130201107A1 (en) Simulating Input Types
US20140364968A1 (en) Equipment management device, equipment management method, program and equipment management system
US9286088B2 (en) User interface for interaction with virtual machine
JP5803935B2 (ja) 可用性分析装置及び可用性分析方法
JP2013186794A (ja) 情報処理装置及びクライアント管理方法
CN114090188A (zh) 基于安卓系统虚拟化的实现独立多用户系统的方法及应用
JP5407386B2 (ja) サーバ装置及びプログラム
WO2024087958A1 (zh) 应用的功能界面的打开方法、装置和终端设备
CN101859307B (zh) 键盘-屏幕-鼠标切换器、计算机系统与文件搜寻方法
JP2011198157A (ja) 仮想計算機システム、仮想計算機制御装置および仮想計算機制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120924

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130401

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees