(57)【要約】【課題】複数のオペレーティングシステム上でのアプリケーション検証作業を容易化する「アプリケーション検証システム及びコンピュータプログラム」を提供する。【解決手段】同期マネージャ４は、各仮想コンピュータシステム３０の表示スクリーンのサイズと、各仮想コンピュータシステム３０のゲストオペレーティングシステム３２上で実行されている検証対象アプリケーション３３のウインドウのサイズと位置を同一にする。そして、マスタの仮想コンピュータシステム３０の同期処理部３４から通知された、マスタの仮想マシン３１からゲストオペレーティングシステム３２へのユーザ操作入力を、スレーブの各仮想コンピュータシステム３０の同期処理部３４に通知し、通知したユーザ操作入力と同じまたは等価なユーザ操作入力を仮想マシン３１を介してゲストオペレーティングシステム３２に投入させる。【選択図】図１
2011028438.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの検証に用いられるアプリケーション検証システムであって、
コンピュータと、
コンピュータ上で稼働するホストオペレーティングシステムと、
前記ホストオペレーティングシステム上に構築された複数の仮想コンピュータシステムと、
同期制御手段とを有し、
前記仮想コンピュータシステムは、仮想マシン環境上で稼働するゲストオペレーティングシステムと、当該ゲストオペレーティングシステム上で実行される検証対象アプリケーションとを備え、
各仮想コンピュータシステムが備えるゲストオペレーティングシステムは、前記検証対象アプリケーションを実行可能な、相互に種類が異なるオペレーティングシステムであって、
前記同期制御手段は、一つの仮想コンピュータシステムに対してユーザによって行われた操作入力と等価な操作入力を、他の仮想コンピュータシステムに対して投入することを特徴とするアプリケーション検証システム。
【請求項２】
請求項１記載のアプリケーション検証システムであって、
前記同期制御手段は、
各仮想コンピュータシステムの表示スクリーンのサイズを同一に設定する表示インタフェース同一化手段と、
一つの仮想コンピュータシステムに対してユーザによって行われた表示スクリーン上の座標入力と同じ座標入力を、他の仮想コンピュータシステムに対して投入する座標入力同期手段とを有することを特徴とするアプリケーション検証システム。
【請求項３】
請求項２記載のアプリケーション検証システムであって、
前記同期制御手段の表示インタフェース同一化手段は、各仮想コンピュータシステムの検証対象アプリケーションのウインドウのサイズと前記表示スクリーン上の位置とを同一に設定することを特徴とするアプリケーション検証システム。
【請求項４】
請求項１、２または３記載のアプリケーション検証システムであって、
前記相互に種類が異なるオペレーティングシステムとは、名称またはバージョンまたは言語バージョンが異なるオペレーティングシステムであることを特徴とするアプリケーション検証システム。
【請求項５】
ホストオペレーティングシステムが稼働するコンピュータによって読み取られ実行されるコンピュータプログラムであって、
前記コンピュータを、
前記ホストオペレーティングシステム上に構築された複数の仮想コンピュータシステムと、
同期制御手段として機能させ、
前記仮想コンピュータシステムは、仮想マシン環境上で稼働するゲストオペレーティングシステムとを備え、
各仮想コンピュータシステムが備えるゲストオペレーティングシステムは、前記検証対象アプリケーションを実行可能な、相互に種類が異なるオペレーティングシステムであって、
前記同期制御手段は、一つの仮想コンピュータシステムに対してユーザによって行われた操作入力と等価な操作入力を、他の仮想コンピュータシステムに対して投入することを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションの動作を検証する技術に関するものである。
【背景技術】
【０００２】
アプリケーションの動作を検証する技術としては、単一のコンピュータ上でオペレーティングシステムを切り替えながら、各オペレーティングシステム上でのアプリケーションの動作の検証を行う技術が知られている（たとえば、特許文献１）。
また、単一のコンピュータ上で、複数のオペレーティングシステムを稼働させる仮想マシンの技術も知られている（たとえば、特許文献２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５-１５７７８６号公報
【特許文献２】特表２００９-５１４１０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
共通のAPIを提供する名称の異なる複数のオペレーティングシステムや、同じオペレーティングシステムの異なるバージョンや、同じオペレーティングシステムの異なる言語バージョン向けに、一つのアプリケーションソフトウエアを作成することがある。
そして、このような場合、アプリケーションソフトウエアの動作の検証は、各オペレーティングシステム上で各々その作業を行う必要があるため、その作業の負担が大きかった。
そこで、本発明は、複数のオペレーティングシステム上でのアプリケーションソフトウエアの動作の検証を容易に行えるようにすることを課題とする。
【課題を解決するための手段】
【０００５】
前記課題達成のために、本発明は、アプリケーションの検証に用いられるアプリケーション検証システムを、コンピュータと、コンピュータ上で稼働するホストオペレーティングシステムと、前記ホストオペレーティングシステム上に構築された複数の仮想コンピュータシステムと、同期制御手段とより構成したものである。但し、前記仮想コンピュータシステムは、仮想マシン環境上で稼働するゲストオペレーティングシステムと、当該ゲストオペレーティングシステム上で実行される検証対象アプリケーションとを備え、各仮想コンピュータシステムが備えるゲストオペレーティングシステムは、前記検証対象アプリケーションを実行可能な、相互に種類が異なるオペレーティングシステムである。また、前記同期制御手段は、一つの仮想コンピュータシステムに対してユーザによって行われた操作入力と等価な操作入力を、他の仮想コンピュータシステムに対して投入するものである。
【０００６】
ここで、このようなアプリケーション検証システムは、より具体的には、前記同期制御手段を、各仮想コンピュータシステムの表示スクリーンのサイズを同一に設定する表示インタフェース同一化手段と、一つの仮想コンピュータシステムに対してユーザによって行われた表示スクリーン上の座標入力と同じ座標入力を、他の仮想コンピュータシステムに対して投入する座標入力同期手段とを含めて構成するようにしてもよい。また、この場合には、表示インタフェース同一化手段は、さらに、各仮想コンピュータシステムの検証対象アプリケーションのウインドウのサイズと前記表示スクリーン上の位置とを同一に設定するように構成してもよい。
【０００７】
なお、前記相互に種類が異なるオペレーティングシステムとは、名称またはバージョンまたは言語バージョンが異なるオペレーティングシステムであってよい。
このようなアプリケーション検証システムによれば、ユーザが、一つの仮想コンピュータシステムに対して操作入力を行うと、入力された操作入力と等価な操作入力が他の仮想コンピュータシステムにも投入される。
したがって、あるゲストオペレーティングシステム上で実行されている検証対象アプリケーションに対してユーザが行った操作と同じ操作が、他のゲストオペレーティングシステム上で実行されている検証対象アプリケーションに対しても自動的に入力されることになる。
【０００８】
よって、ユーザは、一つのオペレーティングシステム上での検証対象アプリケーションに対する操作を行うだけで、複数の異なる種類のオペレーティングシステム上における検証対象アプリケーションの検証を同時に行えるようになる。
【発明の効果】
【０００９】
以上のように、本発明によれば、複数のオペレーティングシステム上でのアプリケーションソフトウエアの動作の検証を容易に行えるようになる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係るアプリケーション検証システムの構成を示す図である。
【図２】本発明の実施形態に係る同期制御処理を示すフローチャートである。
【図３】本発明の実施形態に係るアプリケーション検証システムの表示例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について説明する。
図１に、本実施形態に係るアプリケーション検証システムの構成を示す。
図示するように、アプリケーション検証システムは、コンピュータハードウエア１と、コンピュータハードウエア１の上で稼働するオペレーティングシステムであるホストオペレーティングシステム２と、ホストオペレーティングシステム２の上でアプリケーションとして実行される複数の仮想マシンソフトウエア３と、ホストオペレーティングシステム２の上でアプリケーションとして実行される同期マネージャ４とより構成される。
【００１２】
ここで、コンピュータハードウエア１は、ＣＰＵや主記憶装置や外部記憶装置や表示装置や入力装置などを備えた一般的な汎用コンピュータのハードウエアである。
また、仮想マシンソフトウエア３は、仮想マシン環境を提供するソフトウエアであり、この仮想マシン環境を利用して、仮想的なコンピュータシステムである仮想コンピュータシステム３０が実現される。そして、この仮想コンピュータシステム３０は、仮想的なコンピュータハードウエア１である仮想マシン３１と、仮想マシン３１の上で稼働するオペレーティングシステムであるゲストオペレーティングシステム３２と、ゲストオペレーティングシステム３２の上で実行される検証対象アプリケーション３３と、オペレーティングシステムと協調動作する同期処理部３４とを備えている。
【００１３】
ここで、異なる仮想マシンソフトウエア３を用いて構成される仮想コンピュータシステム３０のゲストオペレーティングシステム３２は、共通のAPIを提供するオペレーティングシステムであり、相互に、その種類（名称、または、バーション、または、言語バージョンの種類）が異なるものである。一方、各仮想コンピュータシステム３０の上で実行される検証対象アプリケーション３３は、各ゲストオペレーティングシステム３２の上に各々インストールされた同じアプリケーションである。
【００１４】
以下、このような構成において、同期マネージャ４と、各仮想マシン３１の上の同期処理部３４によって実現される同期動作について説明する。
図２に、同期マネージャ４が行う同期制御処理の手順を示す。
図示するように、この処理では、まず、同期対象とする仮想コンピュータシステム３０と、同期対象とする各仮想コンピュータシステム３０で実行されているアプリケーションの内で検証対象アプリケーション３３とするアプリケーションの設定と、同期対象とする仮想コンピュータシステム３０の内で、マスタとなる仮想コンピュータシステム３０の設定を、ユーザから受け付ける（ステップ２０２）。
【００１５】
ここで、同期対象とする仮想コンピュータシステム３０と、検証対象アプリケーション３３の設定の受け付けは、たとえば、図３ａに示すような同期コントロールウインドウ３００を表示し、同期コントロールウインドウ３００に設けた複数の同期対象指定ボックス３０１の各々において、同期対象とする仮想コンピュータシステム３０の識別情報（同期対象とする仮想コンピュータシステム３０の仮想マシン３１の名称）と、検証対象アプリケーション３３とするアプリケーションの名称の入力を受け付けることにより行う。
【００１６】
また、マスタとする同期対象とする仮想コンピュータシステム３０の設定は、各同期対象指定ボックス３０１に対応して設けたマスタ/スレーブ切替ボタン３０２によって受け付ける。なお、マスタの仮想コンピュータシステム３０は常に一つ存在しなければならず、マスタに設定されなかった他の同期対象の仮想コンピュータシステム３０の全ては、スレーブの仮想コンピュータシステム３０に自動的に設定される。
【００１７】
図２に戻り、ユーザによって、図３ａの同期コントロールウインドウ３００の同期開始ボタン３０３の操作によって同期開始が指示されたならば（ステップ２０４）、まず、同期対象の各仮想コンピュータシステム３０の同期処理部３４を介して、同期対象の各仮想コンピュータシステム３０のゲストオペレーティングシステム３２に、各仮想コンピュータシステム３０の表示スクリーンのサイズを同一サイズに設定させる（ステップ２０６）。ただし、同期対象の仮想コンピュータシステム３０の全てが起動していない場合には、ステップ２０６に先だって、ホストオペレーティングシステム２に起動要求を発行することにより、同期対象の各仮想コンピュータシステム３０の全てを起動する。
【００１８】
また、同期対象の各仮想コンピュータシステム３０の同期処理部３４を介して、同期対象の各仮想コンピュータシステム３０のゲストオペレーティングシステム３２に、各仮想コンピュータシステム３０で実行されている検証対象アプリケーション３３のウインドウのサイズと、各仮想コンピュータシステム３０で実行されている検証対象アプリケーション３３のウインドウの、仮想コンピュータシステム３０の表示スクリーン上の位置を、同一に設定させる（ステップ２０８）。ただし、同期対象の各仮想コンピュータシステム３０のうちに、検証対象アプリケーション３３が起動していない仮想コンピュータシステム３０が存在する場合には、ステップ２０８に先だって、当該仮想コンピュータシステム３０の同期処理部３４を介して、ゲストオペレーティングシステム３２に検証対象アプリケーション３３を起動させる。また、検証対象アプリケーション３３が、固定サイズのウインドウを、表示スクリーン上の固定位置に設定するように作成されている場合などには、ステップ２０８は設けなくても良い。
【００１９】
そして、同期対象の各仮想コンピュータシステム３０の同期処理部３４とゲストオペレーティングシステム３２を介して、同期対象の各仮想コンピュータシステム３０上で実行されている検証対象アプリケーション３３以外の全てのアプリケーションを終了させると共に（ステップ２１０）、同期対象の各仮想コンピュータシステム３０上で実行されている検証対象アプリケーション３３のウインドウを、ユーザによる入力や操作の対象となるウインドウであるアクティブウインドウに設定する（ステップ２１２）ここで、ステップ２１０は、できるだけ検証対象アプリケーションの動作環境を同じくするために設けたものであり、必ずしも、これを設ける必要はない。
ここで、同期対象の仮想コンピュータシステム３０が、仮想コンピュータシステムＡと仮想コンピュータシステムＢであり、検証対象アプリケーション３３が「DB MGR」である場合に、以上のステップ２０６と２０８の処理の結果、図３ｂに示すように、アプリケーション検証システムの表示スクリーン３５０上に、仮想コンピュータシステムＡの表示スクリーン３６０（ホストコンピュータにとっての仮想コンピュータシステムＡの仮想マシンソフトウエア３のウインドウ）と仮想コンピュータシステムＢの表示スクリーン３７０（ホストコンピュータにとっての仮想コンピュータシステムＢの仮想マシンソフトウエア３のウインドウ）が、同じスクリーンサイズで表示されることになる。また、仮想コンピュータシステムＡの表示スクリーン３６０の上にアプリケーションDB MGRのウインドウ３６１がアクティブウインドウとして表示され、仮想コンピュータシステムＢの表示スクリーン３７０の上にアプリケーションDB MGRのウインドウ３７１がアクティブウインドウとして表示されることとなる。また、アプリケーションDB MGRのウインドウ３６１の仮想コンピュータシステムＡの表示スクリーン３６０の上の位置とサイズは、アプリケーションDB MGRのウインドウ３７１の仮想コンピュータシステムＢの表示スクリーン３７０の上の位置とサイズと等しく設定されることになる。
【００２０】
さて、図２に戻り、次に、マスタの仮想コンピュータシステム３０の同期処理部３４に、マスタの仮想コンピュータシステム３０上で発生した、仮想マシン３１からゲストオペレーティングシステム３２へのユーザ操作入力の、同期マネージャ４への通知処理の開始を指示する（ステップ２１６）。このとき、ユーザ操作入力の同期マネージャ４への通知を行っている他の仮想コンピュータシステム３０が存在する場合には、その同期処理部３４にユーザ操作入力の同期マネージャ４への通知処理の終了も指示する。
【００２１】
ここで、仮想マシン３１からゲストオペレーティングシステム３２へのユーザ操作入力の同期マネージャ４への通知処理の開始を指示された、マスタの仮想コンピュータシステム３０の同期処理部３４は、以降、仮想マシン３１からゲストオペレーティングシステム３２へのユーザ操作入力の発生を監視し、発生したユーザ操作入力を同期マネージャ４に通知する処理を行う。ここで、仮想マシン３１からゲストオペレーティングシステム３２へのユーザ操作入力とは、ユーザのマウスやキーボードなどの入力装置の操作内容を表す入力を指す。
【００２２】
そして、次に、図３ａの同期コントロールウインドウ３００の、マスタ/スレーブ切替ボタン３０２（ステップ２２２）、同期停止ボタン３０４（ステップ２２４）、または、終了ボタン３０５（ステップ２２６）が操作されるまで、以下の処理を繰り返す。
すなわち、マスタの仮想コンピュータシステム３０の同期処理部３４より、マスタの仮想コンピュータシステム３０上で発生した、仮想マシン３１からゲストオペレーティングシステム３２へのユーザ操作入力の通知を受け付ける毎に（ステップ２１８）、スレーブの各仮想コンピュータシステム３０の同期処理部３４に、マスタの仮想コンピュータシステム３０の同期処理部３４から通知されたユーザ操作入力を通知し、同期処理部３４に、通知したユーザ操作入力と同じまたは等価なユーザ操作入力を仮想マシン３１を介してゲストオペレーティングシステム３２に投入させる（ステップ２２０）。
【００２３】
そして、マスタ/スレーブ切替ボタン３０２が操作された場合には（ステップ２２２）、操作に応じて新たにマスタやスレーブとなる仮想コンピュータシステム３０を設定し直し、ステップ２１６からの処理に戻る。
また、図３ａの同期コントロールウインドウ３００の同期停止ボタン３０４が操作された場合には、（ステップ２２４）、ステップ２０４からの処理に戻り、終了ボタン３０５が操作された場合には（ステップ２２６）、同期制御処理を終了する。
以上、本発明の実施形態について説明した。
このように、本実施形態によれば、マスタの仮想コンピュータシステム３０に対してユーザが行った操作に応答してマスタの仮想コンピュータシステム３０のゲストオペレーティングシステム３２に入力されるユーザ操作入力と同じもしくは等価なユーザ操作入力がスレーブのゲストオペレーティングシステム３２にも投入される。
【００２４】
結果、たとえば、上述した図３ｂの表示スクリーン３６０において、仮想コンピュータシステムＡがマスタの仮想コンピュータシステム３０であるとすれば、仮想コンピュータシステムＡにおいて、表示スクリーン３６０上の、位置３６２のユーザのクリック操作が発生すると、位置３６２の表示スクリーン３６０上の座標（通常、表示スクリーン左上を原点とする座標）と同じ、仮想コンピュータシステムＢの表示スクリーン３７０上の座標を持つ表示スクリーン３７０上の位置３７２のクリック操作が仮想コンピュータシステムＢにおいても発生することになる。
【００２５】
したがって、あるゲストオペレーティングシステム３２上で実行されている検証対象アプリケーション３３に対してユーザが行った操作と同じ操作が、他のゲストオペレーティングシステム３２上で実行されている検証対象アプリケーション３３に対しても自動的に入力されることになる。
【００２６】
よって、ユーザは、一つのオペレーティングシステム上での検証対象アプリケーション３３に対する操作を行うだけで、複数の異なる種類のオペレーティングシステム上における検証対象アプリケーション３３の検証を同時に行えるようになる。
また、本実施形態によれば、ユーザは、随時、仮想コンピュータシステム３０間の同期を入り切りしたり、マスタとする仮想コンピュータシステム３０を切り替えることができるので、ユーザは、柔軟、多様な形態で、複数の異なる種類のオペレーティングシステム上における検証対象アプリケーション３３の検証を行うことができる。
【符号の説明】
【００２７】
１…コンピュータハードウエア、２…ホストオペレーティングシステム、３…仮想マシンソフトウエア、４…同期マネージャ、３０…仮想コンピュータシステム、３１…仮想マシン、３２…ゲストオペレーティングシステム、３３…検証対象アプリケーション、３４…同期処理部。
【図１】
2011028438.tif 000003
【図２】
2011028438.tif 000004
【図３】
2011028438.tif 000005