(57)【要約】【課題】より適切に操作環境毎の状態を出力することが可能なプログラム等を提供することにある。【解決手段】第１取得部は、ハードウェア資源に対するＶＭ２毎の割当量を示す第１処理量を取得する。第２取得部はＶＭ２にて実行されるアプリケーションプログラムに基づき変動する第２処理量を取得する。第３取得部は、ＶＭ２毎に第１取得部により取得した第１処理量と第２取得部により取得した第２処理量との差分に基づき、ＶＭ２毎に第３処理量を算出する。出力部は、ＶＭ２毎に算出部により算出した第３処理量及び第２取得部により取得した第２処理量に基づき、操作環境毎の状態をＶＭ２へ出力する。【選択図】図１
2010237787.tif 000002
【特許請求の範囲】
【請求項１】
区分けされた複数の操作環境を制御する情報処理装置に用いられるプログラムであって、
情報処理装置を、
該情報処理装置のハードウェア資源に対する操作環境毎の割当量を示す第１処理量を取得する第１取得部と、
前記操作環境にて実行されるアプリケーションプログラムに基づき変動する第２処理量を取得する第２取得部と、
前記操作環境毎に前記第１取得部により取得した第１処理量と前記第２取得部により取得した第２処理量との差分に基づき、前記操作環境毎に第３処理量を算出する算出部と、
前記操作環境毎に前記算出部により算出した第３処理量及び前記第２取得部により取得した第２処理量に基づき、前記操作環境毎の状態を出力する出力部と
して機能させるためのプログラム。
【請求項２】
前記出力部は、
前記操作環境毎に前記算出部により算出した第３処理量と前記第２取得部により取得した第２処理量との大小関係に応じて各操作環境の状態を出力する
請求項１に記載のプログラム。
【請求項３】
前記出力部は、
前記操作環境毎に前記算出部により算出した第３処理量と前記第２取得部により取得した第２処理量と前記第１取得部により取得した第１処理量との大小関係に応じて各操作環境の状態を出力する
請求項１に記載のプログラム。
【請求項４】
各操作環境がハードウェア資源を消費する割合を示す第４処理量を取得する第４取得部をさらに機能させ、
前記出力部は、
前記操作環境毎に前記算出部により算出した第３処理量と前記第２取得部により取得した第２処理量と前記第４取得部により取得した第４処理量との大小関係に応じて各操作環境の状態を出力する
請求項１に記載のプログラム。
【請求項５】
各操作環境がハードウェア資源を消費する割合を示す第４処理量を取得する第４取得部をさらに機能させ、
前記出力部は、
前記操作環境毎に前記算出部により算出した第３処理量と前記第２取得部により取得した第２処理量と前記第４取得部により取得した第４処理量と前記第１取得部により取得した第１処理量との大小関係に応じて各操作環境の状態を出力する状態出力部と、
前記操作環境毎に前記算出部により算出した第３処理量と前記第２取得部により取得した第２処理量と前記第４取得部により取得した第４処理量と前記第１取得部により取得した第１処理量との大小関係に応じて、前記状態出力部により出力する状態より後の予測される状態を出力する予測状態出力部と
を含む請求項１に記載のプログラム。
【請求項６】
区分けされた複数の操作環境を制御する情報処理装置であって、
ハードウェア資源に対する操作環境毎の割当量を示す第１処理量を取得する第１取得部と、
前記操作環境にて実行されるアプリケーションプログラムに基づき変動する第２処理量を取得する第２取得部と、
前記操作環境毎に前記第１取得部により取得した第１処理量と前記第２取得部により取得した第２処理量との差分に基づき、前記操作環境毎に第３処理量を算出する算出部と、
前記操作環境毎に前記算出部により算出した第３処理量及び前記第２取得部により取得した第２処理量に基づき、前記操作環境毎の状態を出力する出力部と
を備える情報処理装置。
【請求項７】
区分けされた複数の操作環境を制御する情報処理装置の状態を出力する状態出力方法であって、
前記情報処理装置のハードウェア資源に対する操作環境毎の割当量を示す第１処理量を取得する第１取得ステップと、
前記操作環境にて実行されるアプリケーションプログラムに基づき変動する第２処理量を取得する第２取得ステップと、
前記操作環境毎に前記第１取得ステップにより取得した第１処理量と前記第２取得ステップにより取得した第２処理量との差分に基づき、前記操作環境毎に第３処理量を算出する算出ステップと、
前記操作環境毎に前記算出ステップにより算出した第３処理量及び前記第２取得ステップにより取得した第２処理量に基づき、前記操作環境毎の状態を出力する出力ステップと
を含む状態出力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、区分けされた複数の操作環境を制御する情報処理装置に用いられるプログラム、情報処理装置及び状態出力方法に関する。
【背景技術】
【０００２】
近年、複数の仮想マシンを仮想的に制御するコンピュータ等、複数の操作環境を制御する情報処理装置が普及している（例えば、特許文献１参照）。従来は、情報処理装置の資源に関する情報及び操作環境の性能に関する情報を出力する試みがなされている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２９３１１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の装置は、各仮想マシンが使用する現在のＣＰＵ（Central Processing Unit）使用率を元に、操作環境の性能に関する情報を算出しており、適切な情報を出力しているとはいえなかった。
【０００５】
本発明は斯かる事情に鑑みてなされたものである。その目的は、各操作環境において実行されるアプリケーションプログラムによる影響をも考慮することにより、より適切に操作環境毎の状態を出力することが可能なプログラム等を提供することにある。
【課題を解決するための手段】
【０００６】
本願に開示するプログラムは、区分けされた複数の操作環境を制御する情報処理装置に用いられるプログラムであって、情報処理装置を、該情報処理装置のハードウェア資源に対する操作環境毎の割当量を示す第１処理量を取得する第１取得部と、前記操作環境にて実行されるアプリケーションプログラムに基づき変動する第２処理量を取得する第２取得部と、前記操作環境毎に前記第１取得部により取得した第１処理量と前記第２取得部により取得した第２処理量との差分に基づき、前記操作環境毎に第３処理量を算出する算出部と、前記操作環境毎に前記算出部により算出した第３処理量及び前記第２取得部により取得した第２処理量に基づき、前記操作環境毎の状態を出力する出力部として機能させる。
【発明の効果】
【０００７】
当該装置の一観点によれば、選択環境において実行されるアプリケーションプログラムもが考慮されることから、より適切に操作環境毎の状態を適切に提供することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】状態出力システムの概要を示す説明図である。
【図２】物理マシン及びＶＭのハードウェア及びソフトウェアを示すブロック図である。
【図３】第１ファイルのレコードレイアウトを示す説明図である。
【図４】負荷量ＤＢのレコードレイアウトを示す説明図である。
【図５】コンピュータの表示部に表示される画面イメージを示す説明図である。
【図６】第２ファイルのレコードレイアウトを示す説明図である。
【図７】第３ファイルのレコードレイアウトを示す説明図である。
【図８】決定ファイルのレコードレイアウトを示す説明図である。
【図９】コンピュータの表示部に表示される状態のイメージを示す説明図である。
【図１０】第１処理量の取得処理の手順を示すフローチャートである。
【図１１】アプリケーションＩＤの出力処理手順を示すフローチャートである。
【図１２】アプリケーションＩＤの出力処理手順を示すフローチャートである。
【図１３】第２処理量の取得処理手順を示すフローチャートである。
【図１４】算出処理の手順を示すフローチャートである。
【図１５】算出処理の手順を示すフローチャートである。
【図１６】算出処理の手順を示すフローチャートである。
【図１７】算出処理の手順を示すフローチャートである。
【図１８】第３処理量の配分例を示す説明図である。
【図１９】状態決定処理の手順を示すフローチャートである。
【図２０】実施の形態２に係る物理マシン及びＶＭのハードウェア及びソフトウェアを示すブロック図である。
【図２１】決定ファイルのレコードレイアウトを示す説明図である。
【図２２】状態決定処理の手順を示すフローチャートである。
【図２３】実施の形態４に係る物理マシン及びＶＭのハードウェア及びソフトウェアを示すブロック図である。
【図２４】第４ファイルのレコードレイアウトを示す説明図である。
【図２５】決定ファイルのレコードレイアウトを示す説明図である。
【図２６】状態決定処理の手順を示すフローチャートである。
【図２７】コンピュータの表示部に表示される状態のイメージを示す説明図である。
【図２８】決定ファイルのレコードレイアウトを示す説明図である。
【図２９】状態決定処理の手順を示すフローチャートである。
【図３０】第２処理量の取得処理の手順を示すフローチャートである。
【図３１】第２処理量の遷移を示す説明図である。
【図３２】第２処理量の取得処理の手順を示すフローチャートである。
【図３３】第２処理量の取得処理の手順を示すフローチャートである。
【図３４】実施の形態８に係る物理マシン及びＶＭのハードウェア及びソフトウェアを示すブロック図である。
【図３５】第２処理量の取得処理の手順を示すフローチャートである。
【図３６】第２処理量の取得処理の手順を示すフローチャートである。
【図３７】第２処理量の変化を示す説明図である。
【図３８】実施の形態９に係る物理マシン及びＶＭのハードウェア及びソフトウェアを示すブロック図である。
【図３９】実施の形態１０に係る状態出力システムの概要を示す模式図である。
【図４０】実施の形態１０に係るサーバコンピュータ及びアプリケーションサーバのハードウェア及びソフトウェアを示す説明図である。
【発明を実施するための形態】
【０００９】
実施の形態１
以下実施の形態を、図面を参照して説明する。図１は状態出力システムの概要を示す説明図である。状態出力システムは情報処理装置１、操作環境２１、２２、２３、・・・（以下、場合により２で代表する。）及び端末装置３１、３２、３３・・（以下、場合により３で代表する。）等を含む。本実施の形態においては、状態出力システムを複数の仮想マシン（以下、ＶＭ：(Virtual Machine)という）を制御する物理マシンに適用する例を挙げて説明する。情報処理装置１はサーバコンピュータまたはパーソナルコンピュータ等である。端末装置３は例えばパーソナルコンピュータ、または、通信機能、入出力装置及びモニタを有する入出力装置等である。端末装置３は、モニタ、キーボード、マウスなどの入出力装置のみで構成されていてもよい。その場合、物理マシンと端末装置３は、ディスプレイケーブルなどのケーブルもしくは無線などにより接続される。以下では、一例として情報処理装置１は物理マシン１であるものとして説明し、端末装置３はパーソナルコンピュータ（以下、コンピュータ３という）であるものとして説明する。
【００１０】
コンピュータ３と物理マシン１とはＵＳＢ（Universal Serial Bus）ケーブル、または、インターネット若しくはＬＡＮ（Local Area Network）等の通信網を介して接続されており、所定のプロトコルにて情報を送受信する。本実施の形態においては、コンピュータ３は物理マシン１に対しＬＡＮにより接続されている例を挙げて説明する。コンピュータ３を使用するユーザは物理マシン１を介して操作環境２（以下、ＶＭ２という）を起動する。物理マシン１上では論理的に区分けされた複数のＶＭ２１、２２、２３、・・・が動作している。以下ではＶＭ２１乃至２３の３台のＶＭ２を物理マシン１が制御する例を挙げて説明するが、この数に限定するものではない。
【００１１】
続いて本実施形態の概要を説明する。物理マシン１はＶＭ２毎に、物理マシン１のハードウェア資源（以下、ハードウェアリソースという）に対するＶＭ２毎の割当量を示す第１処理量を割り当てる。図１の例では、物理マシン１がハードウェアリソースの一つであるＣＰＵのＣＰＵ使用率を各ＶＭ２に対し割り当てた量を第１処理量としている。円グラフで示す如くＶＭ２２及びＶＭ２３と比較して、ＶＭ２１に対し多くの第１処理量が割り当てられていることが理解できる。すなわち、図１に示す円グラフは、各ＶＭに割り当てる第１処理量を斜線部分で示している。ＶＭ２は各ＶＭ２上でアプリケーションプログラム（以下、アプリケーションという）を実行する。第２処理量は実行中のアプリケーションの種類、実行中のアプリケーション数、または実行中のアプリケーションの処理内容等により変動する。
【００１２】
物理マシン１はＶＭ２毎に、第１処理量及び第２処理量を取得する。物理マシン１はＶＭ２毎に取得した第１処理量及び第２処理量の差分に基づき、ＶＭ２毎の第３処理量を算出する。物理マシン１は算出した第３処理量及び第２処理量に基づき、各ＶＭ２の状態を出力する。物理マシン１から出力されるＶＭ２の状態は、例えば晴れ、または、雨を示すアイコン等によりコンピュータ３へ出力され、表示部に表示される。詳細な手順は以下に示すが、晴れのアイコンが表示されている場合は、ＶＭ２の状態が優れ、処理が高速に行われることが期待できる。一方、雨のアイコンが表示されている場合は、ＶＭ２の状態が悪く、処理が高速に行われることが期待しにくくなる。むしろ、処理に時間がかかる可能性があることを示している。
【００１３】
図２は物理マシン１及びＶＭ２のハードウェア及びソフトウェアを示すブロック図である。物理マシン１はハードウェアリソース１０及び仮想化レイヤ１７を含む。ハードウェアリソース１０は、ＣＰＵ１１、ＲＡＭ（Random Access Memory）１２、記憶部（ＨＤ１５）、ＮＩＣ（Network Interface Card）１６、時計部１８及び電源制御部１９等を含む。ハードウェアリソース１０は仮想化ソフトウェアである仮想化レイヤ１７の制御下におかれる。ＣＰＵ１１は仮想化レイヤ１７及び仮想化レイヤ１７上の制御モジュール１７０の指示に従い、バス（図示せず）を介して接続される各ハードウェアを制御する。
【００１４】
メモリとしてのＲＡＭ１２は例えばＳＲＡＭ（Static ＲＡＭ）、ＤＲＡＭ（Dynamic ＲＡＭ）、フラッシュメモリ等である。ＲＡＭ１２は、ＣＰＵ１１による仮想化レイヤ１７等各種プログラムの実行時に発生する種々のデータを一時的に記憶する。記憶部は、例えばハードディスクまたは大容量メモリが利用される。本実施の形態においては、記憶部はハードディスクであるものとして説明し、以下ではＨＤ１５という。ＨＤ１５はＶＭ２にて作成されたファイル及び仮想化レイヤ１７の指示により記憶すべき各種データ等を記憶する。ＮＩＣ１６はイーサーネットカード等であり、コンピュータ３または図示しない他のＷｅｂサーバ等とＨＴＴＰ（HyperText Transfer Protocol）等により情報を送受信する。時計部１８は時刻情報をＣＰＵ１１へ出力する。
【００１５】
仮想化レイヤ１７と連携する制御モジュール１７０はＶＭ２１、２２、２３で実行されるアプリケーションの監視、第１処理量乃至第３処理量の取得または算出、ＶＭ２の起動または停止、及び、物理マシン１の電源管理を含む各種処理を行う。制御モジュール１７０は第１取得部１７１、第２取得部１７２、算出部１７３、決定部１７６、ＶＭ管理部１７８、起動部１７９及び停止部１７１０等を含む。制御モジュール１７０はＲＡＭ１２にロードされて実行される。なお、制御モジュール１７０は説明を容易にするために、主要なモジュールを図２に記載し、他はフローチャート内において図示した。
【００１６】
ＲＡＭ１２またはＨＤ１５には第１ファイル１５１、第２ファイル１５２、第３ファイル１５３、負荷量データベース（以下、ＤＢという）１５６、決定ファイル１５７及び画像データファイル１５８等が記憶されている。なお、本実施の形態においてはハードウェアリソース１０上で仮想化レイヤ１７が直接動作するハイパーバイザー型の仮想化ソフトウェアを用いる例を説明するが、これに限るものではない。Windows（登録商標）またはLinux（登録商標）上で仮想化ソフトウェアが動作するホスト型を用いても良いことはもちろんである。
【００１７】
停止状態にある物理マシン１を起動し、ＶＭ２１の利用を希望するユーザはコンピュータ３により物理マシン１を起動する。コンピュータ３は物理マシン１に対し起動命令を出力する。また、コンピュータ３は複数のＶＭ２の内、起動を希望するＶＭ２を特定するための識別情報（以下、ＶＭＩＤという）及びＶＭ２の起動命令を物理マシン１へ出力する。なお、本実施の形態においてはＶＭ２１を起動する例を挙げて説明する。ＮＩＣ１６はWake On Lanに対応しており、物理マシン１の起動命令を受けて電源制御部１９へ起動命令を出力する。コンピュータ３は物理マシン１の電源を投入するためのマジックパケットをＮＩＣ１６へ出力する。
【００１８】
電源制御部１９は図示しない交流電源からの電力を物理マシン１へ供給する。これにより、物理マシン１が起動し、また仮想化レイヤ１７及び制御モジュール１７０も起動する。起動部１７９はＶＭ２１を起動すると共に、起動命令をＶＭ管理部１７８へ出力する。ＶＭ２１は仮想化レイヤ１７の制御下で動作する。ＶＭ２１に対してインストールされたＯＳ(Operating System)２１１は各種アプリケーション２１２を実行する。アプリケーション２１２は例えば文書作成用アプリケーション、ブラウザ、表計算文書作成用アプリケーション、ＰＤＦ（登録商標：Portable Document Format）ビューワ、メーラ、または、プレゼンテーション用文書作成アプリケーション等である。その他、アプリケーション２１２は、音楽若しくは映像再生アプリケーション、または、ＤＶＤ（Digital Versatile Disc）再生用アプリケーション等であっても良い。
【００１９】
ＶＭ２１はＮＩＣ１６を介してコンピュータ３へ画面情報を出力する。同様に他のユーザは他のコンピュータ３を用いてＶＭ２２及びＶＭ２３を利用することができる。ＶＭ２２を利用する場合、他のコンピュータ３はＶＭ２２のＶＭＩＤ及びＶＭ２２の起動命令を物理マシン１へ出力する。起動部１７９はこれを受けてＶＭ２２を起動する。なお、ユーザを特定するための固有のユーザ識別情報を付与し、複数のユーザが一のＶＭ２１を共有するようにしても良い。
【００２０】
コンピュータ３からＶＭ２１の停止命令が出力された場合、停止部１７１０はこれを受け付け、ＶＭ２１を停止する。停止部１７１０は、停止命令をＶＭ管理部１７８へ出力する。これにより、ＶＭ２１が使用していたハードウェアリソース１０は解放される。なお、ＶＭ２１の停止とは、ＶＭ２１が使用しているＯＳ２１１及びアプリケーション２１２を全て終了し、ＲＡＭ１２の領域内の情報をＨＤ１５に記憶することなく開放することをいう。本実施の形態においてはＶＭ２１を停止する例を挙げて説明するが、ＶＭ２１を中断させても良い。
【００２１】
ＶＭ２１の中断は、例えばＶＭ２１が使用しているＲＡＭ１２の領域内の情報をＨＤ１５へ記憶させＶＭ２１をハイバーネーション (もしくは休止)することをいう。この場合、ＶＭ２１が使用していたＲＡＭ１２の領域は開放される。ハイバーネーション (もしくは休止)の後、再度ＶＭ２１を起動した場合、ＨＤ１５へ記憶させた情報がＲＡＭ１２の領域に記憶され、中断時の作業内容が復元される。その他ＶＭ２１の中断は、ＶＭ２１が使用しているＲＡＭ１２の領域内の情報を、ＲＡＭ１２内に保持し、電源制御部１９によりＲＡＭ１２に通電し続けるサスペンド (もしくはスリープ、スタンバイ)であっても良い。サスペンド (もしくはスリープ、スタンバイ)の後、再度ＶＭ２１を起動した場合、ＶＭ２１は保持されたＲＡＭ１２の領域内の情報を利用することで、中断時の作業内容が早期に復元される。以下では説明を容易にするために、ＶＭ２が運転状態または停止状態どちらかにある例を挙げて説明する。
【００２２】
ＶＭ管理部１７８はＶＭ２１乃至ＶＭ２３の運転状態または停止状態を監視し、ＨＤ１５に記憶された所定条件下で、ハードウェアリソース１０の割り当てを行う。ハードウェアリソース１０の割当量である第１処理量は、例えばＣＰＵ使用率、ＨＤ使用率、または、ＮＩＣ使用率等である。ＣＰＵ使用率とは運転中のＶＭ２がＣＰＵ１１を占有している時間の割合である。例えばＣＰＵ使用率が５０％の場合、１秒間に０．５秒間対応するＶＭ２がＣＰＵ１１を占有することになる。
【００２３】
また、ＣＰＵ使用率が１００％の場合、１秒間常に対応するＶＭ２がＣＰＵ１１を占有することになる。また例えばインテル社のCore Duo（登録商標）プロセッサの如く、２つのＣＰＵ１１を使用している際のＣＰＵ使用率が１００％の場合、２００％の半分であるので、１秒間に０．５秒間対応するＶＭ２が２つのＣＰＵ１１を占有することになる。これは、きっちり０．５秒という意味ではなく、２つのＣＰＵ１１の占有の割合や時間は変動するが、１秒間でＣＰＵ１１を半分使用しているという意味である。同様にＨＤ使用率とは運転中のＶＭ２がＨＤ１５を占有している時間の割合をいい、ＮＩＣ使用率とは運転中のＶＭ２がＮＩＣ１６を占有している時間の割合をいう。本実施の形態においては、説明を容易にするために、ＶＭ管理部１７８が各ＶＭ２に割り当てるＣＰＵ使用率を第１処理量の一例として説明する。また、本実施の形態においては、ＣＰＵ１１は２つのプロセッサを有し、割り当てることが可能な最大の第１処理量（以下、最大第１処理量という）が２００％であるものとして説明する。
【００２４】
ＶＭ管理部１７８はＨＤ１５に記憶された所定条件に従い、ＶＭ２毎の第１処理量を決定し、決定した第１処理量を第１取得部１７１へ出力する。例えば、ＶＭ管理部１７８は起動中のＶＭ２に対し、均等に第１処理量を割り振るようにすればよい。ＶＭ２１及びＶＭ２２が起動中の場合、ＶＭ管理部１７８はＶＭ２１及びＶＭ２２に、それぞれ均等に第１処理量１００％、第１処理量１００％を割り振る。また、ＶＭ管理部１７８は、ＶＭ２の運転状態、及び、時計部１８から出力される時刻情報に応じて、第１処理量を決定しても良い。さらに、Xen（登録商標）のCreditスケジューラを用いても良い。この場合、ＶＭ２毎に重みが設定される。ＶＭ管理部１７８はＶＭ２に付与された重みを参照して、第１処理量を決定する。
【００２５】
例えば、ＶＭ２１に重みが１、ＶＭ２２に重みが２、ＶＭ２３に重みが１と設定されている場合、ＶＭ２１の第１処理量は５０％、ＶＭ２２の第１処理量は１００％、ＶＭ２３の第１処理量は５０％となる。なお、必ずしも２００％の全てを割り振る必要はなく、最大第１処理量の一部、例えば１８０％を割り振るようにしても良い。その他、時刻情報に応じて、午前は、ＶＭ２１に重み１を、ＶＭ２２に重み２を、ＶＭ２３に重み１を付与し、午後は、ＶＭ２１に重み２を、ＶＭ２２に重み１を、ＶＭ２３に重み１を付与しても良い。本実施の形態においては、一例としてＶＭ２１に重みが１、ＶＭ２２に重みが２、ＶＭ２３に重みが１と設定されている場合を例に挙げて説明する。
【００２６】
図３は第１ファイル１５１のレコードレイアウトを示す説明図である。第１取得部１７１はＶＭ管理部１７８から取得したＶＭ２毎の第１処理量を第１ファイル１５１に記憶する。第１ファイル１５１はＶＭＩＤフィールド及び第１処理量フィールド等を含む。ＶＭＩＤフィールドにはＶＭＩＤが記憶され、第１処理量フィールドにはＶＭＩＤに対応づけて第１処理量が記憶されている。ＶＭ管理部１７８はＶＭ２が起動または停止した場合、起動後または停止後の各ＶＭ２の第１処理量を決定し、決定後の第１処理量を第１ファイル１５１へ出力する。第１取得部１７１はＶＭ２の起動または停止をトリガに、第１ファイル１５１の記憶内容を更新する。
【００２７】
図４は負荷量ＤＢ１５６のレコードレイアウトを示す説明図である。負荷量ＤＢ１５６はアプリケーションＩＤフィールド及び負荷量フィールド等を含む。アプリケーションＩＤフィールドには、ＶＭ２にて実行されるアプリケーション２１２を特定するための識別情報であるアプリケーションＩＤが記憶されている。また負荷量フィールドにはアプリケーションＩＤに対応づけて負荷量が記憶されている。この負荷量は、ＶＭ２にて実行中のアプリケーション２１２に基づき変動する第２処理量を決定する際に参照される値である。負荷量ＤＢ１５６は、すべてのＶＭ２に対して共通に用意することもできるが、ＶＭ２毎に用意することもできる。そうすることで、同じアプリケーション２１２を使用していたとしても、ＶＭ２が異なれば、異なる負荷量とすることができる。第２処理量はＶＭ２にて実行中のアプリケーション２１２がハードウェアリソース１０を消費する量として予測される値であり、負荷量ＤＢ１５６に基づき決定される。
【００２８】
実行中のアプリケーション２１２がハードウェアリソース１０を消費する量はリアルタイムで変動するため、本実施の形態においては実行中のアプリケーション２１２がハードウェアリソース１０を消費すると予測される最大の消費量を負荷量として記憶している。なお、負荷量はＣＰＵ１１、ＨＤ１５またはＮＩＣ１６等のいずれかであるが、本実施の形態においては、ＣＰＵ１１に対する負荷量を例に挙げて説明する。例えばブラウザにはアプリケーションＩＤ「Ａ０４」が付与され、負荷量は「３０」と記憶されている。また、ＣＰＵ１１の消費量が比較的大きいＤＶＤ再生用アプリケーション（アプリケーションＩＤ「Ａ０６」）の場合、負荷量は「５０」と記憶されている。
【００２９】
オペレータはコンピュータ３のキーボード（図示せず）等を通じて、負荷量ＤＢ１５６に記憶された負荷量の値を適宜変更することが可能である。なお、負荷量は実行中のアプリケーション２１２がＣＰＵ１１を消費するであろうと予測される最大の消費量を例に挙げたがこれに限るものではない。アプリケーション２１２がＣＰＵ１１を消費するであろうと予測される消費量の平均値、または、最大値に所定の係数（０．８または１．２等）を乗算、加算または減算したものであっても良く、設計に応じて適宜の値とすればよい。
【００３０】
ＶＭ２のＯＳ２１１は実行中のアプリケーション２１２のアプリケーションＩＤを第２取得部１７２へ出力する。第２取得部１７２は負荷量ＤＢ１５６からアプリケーションＩＤに対応する負荷量を第２処理量として取得する。ＶＭ２において複数のアプリケーション２１２が実行されている場合、ＯＳ２１１は現在選択中のアプリケーション２１２のアプリケーションＩＤを出力する。第２取得部１７２は当該アプリケーションＩＤに対応する負荷量を負荷量ＤＢ１５６から読み出し、第２処理量とする。
【００３１】
図５はコンピュータ３の表示部に表示される画面イメージを示す説明図である。コンピュータ３を使用するユーザは運転中のＶＭ２にて、アプリケーション２１２を実行する。図５の例では一例として、３つのアプリケーション２１２が実行されている。表示部にはアプリケーションＩＤ「Ａ０１」のウィンドウ３４１、アプリケーションＩＤ「Ａ０２」のウィンドウ３４２、及び、アプリケーションＩＤ「Ａ０３」のウィンドウ３４３が表示される。ユーザはコンピュータ３のマウス（図示せず）等により使用を希望するウィンドウ３４１、３４２、３４３（以下、場合によりＷで代表する）のいずれかを選択する。
【００３２】
コンピュータ３にて選択されたウィンドウＷの情報はＮＩＣ１６を介してＯＳ２１１へ出力される。図５の例ではウィンドウ３４１が選択されていることが理解できる。ここで、他のウィンドウ３４２及び３４３は非選択の状態である。この状態でウィンドウ３４２をクリックした場合、ウィンドウ３４２が選択されたことになり、逆にウィンドウ３４１及び３４３は非選択の状態となる。なお、ウィンドウＷをクリックして選択する以外にも、表示部下部に表示されるタスクバーに表示された矩形状のボタンをクリックすることによりウィンドウＷを選択しても良い。また、新たにアプリケーション２１２を起動した場合、当該新たに起動したアプリケーション２１２が選択されたアプリケーション２１２となる。なお、アプリケーション２１２を終了した場合、直前に選択していたアプリケーション２１２または最前面に表示されているウィンドウＷに係るアプリケーション２１２が選択されたアプリケーション２１２となる。ＯＳ２１１はアプリケーション２１２の選択を受け付けた場合、選択されたアプリケーションＩＤを第２取得部１７２へ出力する。なお、ウィンドウＷ以外をクリックすることで、アプリケーション２１２を一つも選択しない状態にできる。このような場合は、選択アプリケーション２１２がないものとして、非実行情報を第２取得部１７２へ出力する。
【００３３】
図６は第２ファイル１５２のレコードレイアウトを示す説明図である。第２ファイル１５２はＶＭＩＤフィールド及び第２処理量フィールド等を含む。第２処理量フィールドには、ＶＭＩＤに対応づけて、各ＶＭ２の第２処理量を記憶している。第２取得部１７２は各ＶＭ２のＯＳ２から出力されるアプリケーションＩＤを元に負荷量ＤＢ１５６から、負荷量を抽出する。第２取得部１７２はＶＭＩＤに対応づけて抽出した負荷量を第２処理量として第２ファイル１５２に記憶する。このように、第２ファイル１５２の記憶内容は、ＶＭ２において実行されるアプリケーション２１２の実行または終了を含む選択により変動する。なお実施の形態で述べる各種ファイルのレコードレイアウトはあくまで一例でありこれに限るものではない。データ間の関連づけが確保されているのであれば、他のデータの持ち方を採用しても良い。
【００３４】
第１取得部１７１はＶＭ２の起動または停止をトリガに第１処理量を取得し、取得した第１処理量を算出部１７３へ出力する。また第２取得部１７２は各ＶＭ２におけるアプリケーション２１２の選択をトリガに取得したＶＭ２毎の第２処理量を算出部１７３へ出力する。算出部１７３は、各ＶＭ２の第１処理量または第２処理量が変更される度に、各ＶＭ２の第１処理量と第２処理量との差分に基づき、各ＶＭ２の第３処理量を算出する。なお、第３処理量の詳細な算出手順は後述するフローチャートを用いて説明する。
【００３５】
図７は第３ファイル１５３のレコードレイアウトを示す説明図である。第３ファイル１５３はＶＭＩＤフィールド及び第３処理量フィールド等を含む。第３処理量フィールドには算出部１７３からＶＭＩＤと共に出力された第３処理量が、ＶＭＩＤに対応づけて記憶されている。第２取得部１７２は取得した各ＶＭ２の第２処理量を決定部１７６へ出力する。算出部１７３は算出した各ＶＭ２の第３処理量を決定部１７６へ出力する。決定部１７６は、各ＶＭ２の第２処理量及び第３処理量の大小関係に基づき、各ＶＭ２の状態を決定する。具体的には、決定部１７６は決定ファイル１５７を参照して各ＶＭ２の状態を決定する。
【００３６】
図８は決定ファイル１５７のレコードレイアウトを示す説明図である。決定ファイル１５７は第３処理量フィールド、第２処理量フィールド及び状態フィールド等を含む。第３処理量フィールド及び第２処理量フィールドには、第３処理量または第２処理量の大小関係を示す数字が記憶されている。図８の第３処理量フィールド及び第２処理量フィールドに示す数字は、処理量の値が大きいものから降順に整列した場合の順位を示す。すなわち、数字が小さい方が、順位が高く、処理量の値が大きいことを示す。状態フィールドには、ＶＭ２のハードウェアリソース１０に関する状態を示す情報が記憶されている。例えば、第３処理量が第２処理量よりも大きい場合、第３処理量フィールドの「１」（順位）、第２処理量フィールドの「２」（順位）を元に、状態「晴れ」が読み出される。一方、第３処理量が第２処理量よりも小さい場合、第３処理量フィールドの「２」、第２処理量フィールドの「１」を元に、状態「雨」が読み出される。
【００３７】
ＶＭ２の第３処理量が、実行中のアプリケーション２１２に基づき変動する第２処理量よりも大きい場合、現在は快適にアプリケーション２１２を使用できることから、状態を晴れとしている。状態が雨の場合、逆に第３処理量が第２処理量より小さいことを示す。当該ＶＭ２の第３処理量が、実行中のアプリケーション２１２に基づき変動する第２処理量よりも小さいため、現在はアプリケーション２１２の処理が遅くなる可能性があり、状態を雨としている。なお、状態が快適であることを示す晴れ及び状態が不快適であることを示す雨、並びに、実施の形態で述べる決定ファイル１５７の内容はあくまで一例でありこれに限るものではない。また値が同一の場合、例えば第３処理量と第２処理量とが同一の場合はいずれか一方を大きいものとして同様の処理を行えばよい。
【００３８】
図９はコンピュータ３の表示部に表示される状態のイメージを示す説明図である。決定部１７６は各ＶＭ２の状態を、決定ファイル１５７を参照して決定し、状態に対応する画像データを画像データファイル１５８から読み出す。画像データファイル１５８は状態に対応づけて各種画像データを記憶している。例えば、天気予報に使用される画像と同じく、晴れ、雨、曇り時々雨、または、晴れ時々曇り等が記憶されている。なお状態「曇り」は、状態が適当であることを示し、快適な状態「晴れ」と、不快適な状態「雨」との間の状態であることを示す。出力部としての決定部１７６は、ＶＭＩＤを参照し、各ＶＭ２１、２２、２３のＯＳ２１１へ、読み出した状態に対応する画像データを出力する。その他、決定部１７６は第３処理量から第２処理量を減じた値が正の場合、状態が良い方向に向かう晴れを出力し、第３処理量から第２処理量を減じた値が負の場合、状態が悪い方向に向かう雨を出力しても良い。
【００３９】
ＯＳ２１１は図９に示す如く、タスクバー上に状態に係る画像データ３４４を表示する。本実施の形態においてはタスクバーに画像データ３４４を表示する例を挙げたがこれに限るものではない。例えばデスクトップ上に画像データ３４４を出力しても良い。またWindows（登録商標）のサイドバー上にガジェットとして画像データ３４４を表示しても良い。その他、状態を示すものであれば他の画像データ３４４であっても良い。例えば状態が良いことを示す１、通常であることを示す２、悪いことを示す３の三段階に分かれる場合、青、黄色、赤の如く色に係る画像データ３４４を出力しても良い。また、大笑いする顔、ほほえむ顔、または、泣き顔等、顔の表情に係る画像データ３４４を出力しても良い。さらには、画像データ３４４ではなく、良い、中、悪い等、状態に係る文字データ、または状態に対応する音楽データを出力しても良い。
【００４０】
以上のハードウェアにおいて各種ソフトウェア処理を、フローチャートを用いて説明する。図１０は第１処理量の取得処理の手順を示すフローチャートである。ＶＭ管理部１７８は、起動部１７９を介して、コンピュータ３からＶＭＩＤ及びＶＭ２の起動命令を受け付けたか否かを判断する（ステップＳ１０１）。ＶＭ管理部１７８は、起動部１７９を介してＶＭＩＤ及びＶＭ２の起動命令を受け付けていないと判断した場合（ステップＳ１０１でＮＯ）、ステップＳ１０２へ移行する。ＶＭ管理部１７８は、停止部１７１０を介して、コンピュータ３からＶＭＩＤ及びＶＭ２の停止命令を受け付けたか否かを判断する（ステップＳ１０２）。
【００４１】
ＶＭ管理部１７８は停止部１７１０を介してＶＭＩＤ及びＶＭ２の停止命令を受け付けていないと判断した場合（ステップＳ１０２でＮＯ）、処理をステップＳ１０１へ戻す。一方、ＶＭ管理部１７８は、停止部１７１０を介してＶＭＩＤ及びＶＭ２の停止命令を受け付けたと判断した場合（ステップＳ１０２でＹＥＳ）、処理をステップＳ１０３へ移行させる。ＶＭ管理部１７８は第１ファイル１５１、第２ファイル１５２及び第３ファイル１５３のＶＭ２の停止命令のあったＶＭＩＤに対応するレコードを消去する（ステップＳ１０３）。
【００４２】
ステップＳ１０３の後、及び、ステップＳ１０１において、ＶＭＩＤ及びＶＭ２の起動命令を受け付けたと判断した場合（ステップＳ１０１でＹＥＳ）、ＶＭ管理部１７８はＨＤ１５（またはＲＡＭ１２）から所定条件を読み出す（ステップＳ１０４）。ＶＭ管理部１７８は、運転中のＶＭ２に付与された重みに基づき、運転中のＶＭ２毎の第１処理量を算出する（ステップＳ１０５）。具体的には、ＶＭ管理部１７８は、最大の第１処理量、及び、現在運転中のＶＭ２に係る重みをＨＤ１５から読み出す。そして、ＶＭ管理部１７８は、重みが大きいほど、第１処理量が大きくなるよう、ＶＭ２毎に第１処理量を算出する。
【００４３】
ＶＭ管理部１７８は算出した各ＶＭ２のＶＭＩＤ及び第１処理量を第１取得部１７１へ出力する（ステップＳ１０６）。ＶＭ管理部１７８はＶＭＩＤ及び第１処理量を取得する（ステップＳ１０７）。第１取得部１７１は第１ファイル１５１に、ＶＭＩＤに対応づけて、第１処理量を記憶する（ステップＳ１０８）。第１取得部１７１は、運転中のＶＭ２毎に、ＶＭＩＤ及び第１処理量を算出部１７３へ出力する（ステップＳ１０９）。
【００４４】
図１１及び図１２はアプリケーションＩＤの出力処理手順を示すフローチャートである。運転中のＶＭ２のＯＳ２１１は以下の処理を実行する。ＯＳ２１１の起動当初はアプリケーション２１２が実行されていないものとする。ＯＳ２１１はＶＭＩＤ及びアプリケーション２１２が実行されていないことを示す非実行情報を第２取得部１７２へ出力する（ステップＳ１１１）。ＯＳ２１１はアプリケーション２１２の起動命令を、コンピュータ３からＮＩＣ１６を介して受け付けたか否かを判断する（ステップＳ１１２）。
【００４５】
ＯＳ２１１はアプリケーション２１２の起動命令を受け付けたと判断した場合（ステップＳ１１２でＹＥＳ）、ＶＭＩＤ及びアプリケーションＩＤを第２取得部１７２へ出力する（ステップＳ１１３）。その後処理をステップＳ１１２へ戻す。ＯＳ２１１はアプリケーション２１２の起動命令を受け付けていないと判断した場合（ステップＳ１１２でＮＯ）、アプリケーション２１２の停止命令を受け付けたか否かを判断する（ステップＳ１１４）。ＯＳ２１１はアプリケーション２１２の停止命令を受け付けたと判断した場合（ステップＳ１１４でＹＥＳ）、他のアプリケーション２１２が実行中であるか否かを判断する（ステップＳ１１５）。
【００４６】
ＯＳ２１１は他のアプリケーション２１２が実行中でないと判断した場合（ステップＳ１１５でＮＯ）、ＶＭＩＤ及び非実行情報を第２取得部１７２へ出力する（ステップＳ１１７）。ＯＳ２１１は他のアプリケーション２１２が実行中であると判断した場合（ステップＳ１１５でＹＥＳ）、ステップＳ１１６へ移行する。ＯＳ２１１はＶＭＩＤ及び前回選択されていた、つまり時系列で見て直前に選択されていた他のアプリケーションのアプリケーションＩＤを第２取得部１７２へ出力する（ステップＳ１１６）。その後処理をステップＳ１１２へ戻す。
【００４７】
ＯＳ２１１はアプリケーション２１２の停止命令を受け付けていないと判断した場合（ステップＳ１１４でＮＯ）、実行中のアプリケーション２１２の選択を受け付けたか否かを判断する（ステップＳ１１８）。ＯＳ２１１は選択を受け付けていないと判断した場合（ステップＳ１１８でＮＯ）、処理をステップＳ１１２へ戻す。ＯＳ２１１はアプリケーション２１２の選択を受け付けたと判断した場合（ステップＳ１１８でＹＥＳ）、ＶＭＩＤ及び選択後のアプリケーション２１２のアプリケーションＩＤを第２取得部１７２へ出力する（ステップＳ１１９）。その後処理をステップＳ１１２へ戻す。
【００４８】
図１３は第２処理量の取得処理手順を示すフローチャートである。第２取得部１７２は各ＶＭ２からＶＭＩＤ及びアプリケーションＩＤが受け付けたか否かを判断する（ステップＳ１３１）。第２取得部１７２はＶＭＩＤ及びアプリケーションＩＤを受け付けたと判断した場合（ステップＳ１３１でＹＥＳ）、アプリケーションＩＤに基づき、負荷量ＤＢ１５６から負荷量を読み出す（ステップＳ１３２）。第２取得部１７２はＶＭＩＤ及びアプリケーションＩＤを受け付けていないと判断した場合（ステップＳ１３１でＮＯ）、各ＶＭ２からＶＭＩＤ及び非実行情報を受け付けたか否かを判断する（ステップＳ１３３）。第２取得部１７２はＶＭＩＤ及び非実行情報を受け付けていないと判断した場合（ステップＳ１３３でＮＯ）、処理をステップＳ１３１へ戻す。
【００４９】
第２取得部１７２はＶＭＩＤ及び非実行情報を受け付けたと判断した場合（ステップＳ１３３でＹＥＳ）、負荷量を０に設定する（ステップＳ１３４）。すなわち実行中のアプリケーション２１２が存在しないため、負荷量及び第２処理量を最低値とするためである。ステップＳ１３４及びＳ１３２の後、第２取得部１７２はステップＳ１３４またはＳ１３２の負荷量をＶＭ２の第２処理量として取得する（ステップＳ１３５）。第２取得部１７２はＶＭＩＤに対応づけて第２ファイル１５２に取得した第２処理量を記憶する（ステップＳ１３６）。第２取得部１７２はＶＭＩＤ及び取得した第２処理量を算出部１７３へ出力する（ステップＳ１３７）。
【００５０】
図１４乃至図１７は算出処理の手順を示すフローチャートである。算出部１７３は第１取得部１７１からＶＭＩＤ及び第１処理量を受け付けたか否かを判断する（ステップＳ１４１）。算出部１７３はＶＭＩＤ及び第１処理量を受け付けていないと判断した場合（ステップＳ１４１でＮＯ）、第２取得部１７２からＶＭＩＤ及び第２処理量を受け付けたか否かを判断する（ステップＳ１４２）。算出部１７３はＶＭＩＤ及び第２処理量を受け付けていないと判断した場合（ステップＳ１４２でＮＯ）、ステップＳ１４１へ処理を戻す。
【００５１】
算出部１７３はＶＭＩＤ及び第１処理量を受け付けた場合（ステップＳ１４１でＹＥＳ）、または、ＶＭＩＤ及び第２処理量を受け付けた場合（ステップＳ１４２でＹＥＳ）、ステップＳ１４３へ移行する。算出部１７３はＨＤ１５に記憶された最大第１処理量を読み出す（ステップＳ１４３）。なお、この最大第１処理量は、例えばＣＰＵ１１が２つの場合、一つのＣＰＵ１１のＣＰＵ使用率１００％を２倍して２００％とすれば良い。算出部１７３は第１ファイル１５１からＶＭＩＤ及び第１処理量を読み出す（ステップＳ１４４）。なお、停止中のＶＭ２についてはステップＳ１０３の処理により、第１ファイル１５１乃至第３ファイル１５３の、レコードが消去されている。
【００５２】
算出部１７３は読み出した第１処理量の合計値を算出する（ステップＳ１４５）。算出部１７３はステップＳ１４３で読み出した最大第１処理量から第１処理量の合計値を減じて初期合計値を算出する（ステップＳ１４６）。算出部１７３はステップＳ１４４で読み出した各ＶＭ２のＶＭＩＤに対応する第１処理量を、各ＶＭ２の第３処理量としてそれぞれ決定する（ステップＳ１４７）。算出部１７３は第３ファイル１５３にＶＭＩＤに対応づけて決定した第３処理量を記憶する（ステップＳ１４８）。
【００５３】
算出部１７３は第２ファイル１５２からＶＭＩＤ及び第２処理量を読み出す（ステップＳ１４９）。算出部１７３は読み出した第１処理量が第２処理量よりも大きいＶＭＩＤ、第１処理量及び第２処理量の組み合わせを抽出する（ステップＳ１５１）。算出部１７３は、抽出した組み合わせについて、ＶＭＩＤ毎に第１処理量から第２処理量を減算し、差分値を算出する（ステップＳ１５２）。
【００５４】
算出部１７３はステップＳ１５２の処理を全ての組み合わせについて実行し、全てのＶＭＩＤの差分値の合計値を算出する（ステップＳ１５３）。算出部１７３は差分値の合計値にステップＳ１４６で算出した初期合計値を加算して、合計値を算出する（ステップＳ１５４）。算出部１７３は合計値が０よりも大きいか否かを判断する（ステップＳ１５５）。算出部１７３は合計値が０よりも大きくないと判断した場合（ステップＳ１５５でＮＯ）、処理を終了する。
【００５５】
算出部１７３は合計値が０よりも大きいと判断した場合（ステップＳ１５５でＹＥＳ）、第２処理量が第１処理量より大きいＶＭＩＤ、第１処理量及び第２処理量の組み合わせを抽出する（ステップＳ１５６）。算出部１７３は抽出したＶＭＩＤ毎に第２処理量から第１処理量を減算し、差分値を算出する（ステップＳ１５７）。算出部１７３は全てのＶＭＩＤの差分値を加算することにより、差分値の補助合計値を算出する（ステップＳ１５８）。なお、補助合計値の算出例はあくまで一例でありこれに限るものではない。例えば第２処理量が第１処理量より大きい場合、大きい第２処理量の合計値から、小さい第１処理量の合計値を減じることにより補助合計値を求めても良い。
【００５６】
算出部１７３は合計値が補助合計値以上か否かを判断する（ステップＳ１５９）。算出部１７３は合計値が補助合計値より小さい場合（ステップＳ１５９でＮＯ）、第２処理量が第１処理量よりも大きいＶＭＩＤ及び第１処理量を抽出する（ステップＳ１６１）。算出部１７３はＨＤ１５に記憶したスケジューリングに関する所定条件を読み出す（ステップＳ１６２）。算出部１７３は合計値を所定条件に従い、抽出したＶＭＩＤに対応する配分値を算出する（ステップＳ１６３）。例えば重みに基づいて配分値を算出すればよい。ＶＭ２１の重みが１、ＶＭ２２の重みが３であり、合計値が４０の場合、ＶＭ２１に１０を配分し、ＶＭ２２に３０を配分すればよい。その他均等に割り振るなど、適宜の配分とすれば良い。
【００５７】
算出部１７３はＶＭＩＤに対応する第１処理量に算出した配分値を加算する（ステップＳ１６４）。算出部１７３は加算後の値をＶＭＩＤに対応する第３処理量として算出する（ステップＳ１６５）。算出部１７３はＶＭＩＤ及び第３処理量を第３ファイル１５３に記憶する。その後、ステップＳ１７７へ処理を移す。なお、以下の処理を行っても良い。算出部１７３は第１処理量が第２処理量より大きいＶＭＩＤ及び第１処理量を抽出する。算出部１７３は抽出したＶＭＩＤに係る第１処理量を第３処理量として決定する。算出部１７３はＶＭＩＤ及び第３処理量を第３ファイル１５３に記憶する。
【００５８】
算出部１７３は合計値が補助合計値以上と判断した場合（ステップＳ１５９でＹＥＳ）、第２処理量が第１処理量より大きいＶＭＩＤ及び第２処理量を抽出する（ステップＳ１７１）。算出部１７３は抽出したＶＭＩＤに係る第２処理量を第３処理量として決定する（ステップＳ１７２）。算出部１７３はＶＭＩＤ及び第３処理量を第３ファイル１５３に記憶する（ステップＳ１７３）。なお、以下の処理を行っても良い。算出部１７３は第１処理量が第２処理量より大きいＶＭＩＤ及び第１処理量を抽出する。算出部１７３は抽出したＶＭＩＤに係る第１処理量を第３処理量として決定する。算出部１７３はＶＭＩＤ及び第３処理量を第３ファイル１５３に記憶する。
【００５９】
算出部１７３はＶＭＩＤ及び第２処理量を第２ファイル１５２から読み出す（ステップＳ１７７）。算出部１７３はＶＭＩＤ及び第３処理量を第３ファイル１５３から読み出す（ステップＳ１７８）。算出部１７３は読み出したＶＭＩＤ、第２処理量及び第３処理量を決定部１７６へ出力する（ステップＳ１７９）。
【００６０】
図１８は第３処理量の配分例を示す説明図である。物理マシン１のＣＰＵ１１の数を２個とし、２つのＶＭ２１、ＶＭ２２が運転中に、ＶＭ２３が起動した後の例を示す。なお、各処理量及び値は変化があった場合のみ記している。最大第１処理量に基づき合計値が２００とされる。次いで、最大第１処理量（２００）から各ＶＭ２の第１処理量合計値（５０＋１００＋５０）を減算し、合計値０（初期合計値）を算出する。
【００６１】
各ＶＭ２の第３処理量を、第１処理量で上書きする。そして、第１処理量が第２処理量よりも大きいＶＭ２を抽出する。この場合ＶＭ２２が抽出される。第１処理量（１００）から第２処理量（８０）を減じる。この減じた値（２０）を初期合計値（０）に加算し合計値（２０）を算出する。第２処理量が第１処理量よりも大きいＶＭ２を抽出する。この場合ＶＭ２１が抽出される。第２処理量（８０）から第１処理量（５０）を減じる。この減じた値を補助合計値（３０）とする。
【００６２】
ここで、合計値（２０）は補助合計値（３０）よりも小さいため、第２処理量が第１処理量よりも大きいＶＭ２を抽出する。ここではＶＭ２１が抽出される。ＶＭ２１には合計値（２０）が配分される。ＶＭ２１の第１処理量（５０）に配分された値（２０）が加算され、ＶＭ２１の第３処理量は７０となる。ＶＭ２２については第１処理量（１００）が第３処理量（１００）となり、ＶＭ２３については第１処理量（５０）が第３処理量（５０）となる。
【００６３】
図１９は状態決定処理の手順を示すフローチャートである。決定部１７６は算出部１７３から出力されるＶＭＩＤ、第２処理量及び第３処理量を受け付けたか否かを判断する（ステップＳ１８１）。決定部１７６はＶＭＩＤ、第２処理量及び第３処理量を受け付けていないと判断した場合（ステップＳ１８１でＮＯ）、処理を再び繰り返す。決定部１７６はＶＭＩＤ、第２処理量及び第３処理量を受け付けたと判断した場合（ステップＳ１８１でＹＥＳ）、第２処理量と第３処理量との大小関係、及び、決定ファイル１５７を参照し、各ＶＭＩＤの状態を決定する（ステップＳ１８２）。
【００６４】
決定部１７６はＶＭＩＤ毎に状態に対応する画像データ３４４を画像データファイル１５８から読み出す（ステップＳ１８３）。決定部１７６はＶＭＩＤを参照し、各ＶＭ２のＯＳ２１１へ画像データ３４４を出力する（ステップＳ１８４）。ＯＳ２１１は画像データ３４４を受け付け、図９の如くＯＳ２１１の画面上に表示する（ステップＳ１８５）。これにより、各ＶＭ２１、２２、２３・・・で実行されるアプリケーション２１２の状況に応じて、または、ＶＭ２の運転状況に応じた適切な状態判断が可能となる。
【００６５】
実施の形態２
実施の形態２は一部のモジュール１７０をＶＭ２側で実行させる形態に関する。実施の形態で述べた各処理は一例であり、一部のモジュール１７０に係る処理をＶＭ２において適宜実行させても良い。図２０は実施の形態２に係る物理マシン１及びＶＭ２のハードウェア及びソフトウェアを示すブロック図である。負荷量ＤＢ１５６、決定ファイル１５７、決定部１７６及び画像データファイル１５８は各ＶＭ２に設けられている。また各ＶＭ２には第２処理量決定部１７２１が新たに設けられている。第２処理量決定部１７２１は実施の形態１の第２取得部１７２と同じく、負荷量ＤＢ１５６を参照し、第２処理量を決定する。第２処理量決定部１７２１は決定した第２処理量及びＶＭＩＤを第２取得部１７２へ出力する。
【００６６】
第２取得部１７２は第２処理量決定部１７２１から出力された第２処理量を取得する。実施の形態１で述べた如く算出部１７３は対応するＶＭ２へ第２処理量及び第３処理量を出力する。決定部１７６は第２処理量及び第３処理量、並びに、決定ファイル１５７を参照し、ＶＭ２の状態を決定する。決定部１７６は画像データファイル１５８から状態に対応する画像データ３４４を読み出す。決定部１７６は画像データ３４４及びＶＭＩＤをＯＳ２１１へ出力する。ＯＳ２１１は画像データ３４４を表示する。
【００６７】
本実施の形態で述べた決定部１７６、決定ファイル１５７及び画像データファイル１５８をＶＭ２に設け、第２処理量決定部１７２１及び負荷量ＤＢ１５６をＶＭ２に設けない形態としても良い。この場合実施の形態１と同じく、負荷量ＤＢ１５６は物理マシン１側に設けられる。さらに、本実施の形態で述べた第２処理量決定部１７２１及び負荷量ＤＢ１５６をＶＭ２に設け、決定部１７６、決定ファイル１５７及び画像データファイル１５８をＶＭ２に設けず、実施の形態１と同様に物理マシン１側に設けても良い。このように設計に応じてモジュール１７０を適宜配分することで、様々な形態で情報の出力が可能となる。
【００６８】
本実施の形態２は以上の如きであり、その他は実施の形態１と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【００６９】
実施の形態３
実施の形態３は第１処理量乃至第３処理量の３つを総合的に考慮して状態を決定する形態に関する。なお、以降の実施例は実施の形態１に適用した例を挙げて説明するが、実施の形態２に適用しても良い。算出部１７３はＶＭＩＤ、第１処理量、第２処理量及び第３処理量を決定部１７６へ出力する。決定部１７６は、第１処理量、第２処理量及び第３処理量の大小関係、並びに、決定ファイル１５７を参照し状態を決定する。
【００７０】
図２１は決定ファイル１５７のレコードレイアウトを示す説明図である。決定ファイル１５７は第３処理量フィールド、第１処理量フィールド、第２処理量フィールド及び状態フィールド等を含む。第３処理量フィールド、第１処理量フィールド及び第２処理量フィールドには、第３処理量、第１処理量または第２処理量の大小関係を示す数字が記憶されている。図２１の第３処理量フィールド、第１処理量フィールド、第２処理量フィールドに示す数字は、処理量の値が大きいものから降順に整列した場合の順位を示す。すなわち、数字が小さい方が、順位が高く、処理量の値が大きいことを示す。状態フィールドには、ＶＭ２のハードウェアリソース１０の状態を示す情報が記憶されている。例えば、第３処理量が最も大きく、次いで第１処理量が大きく、第２処理量が最も小さい場合、第３処理量フィールドの「１」（順位）、第１処理量フィールドの「２」（順位）、第２処理量フィールドの「３」（順位）を元に、状態「晴れ」が読み出される。
【００７１】
なお状態フィールドにＸを記した部分は、第１処理量が第３処理量より大きい場合であるが、上述したとおり、係る組み合わせは存在しないため、Ｘとしている。以下の実施形態においても同様の表記とする。状態が「晴れ」の場合、第３処理量、第１処理量、第２処理量の順である。第２処理量が第１処理量より小さいため、確実に割り当てられるＣＰＵ使用率よりアプリケーション２１２が使用するＣＰＵ使用率の方が小さく、アプリケーション２１２は快適に使用できることから、状態を晴れとしている。
【００７２】
状態が「晴れ時々くもり」の場合、第３処理量、第２処理量、第１処理量の順である。第３処理量が第２処理量より大きいため、状態を「晴れ」としている。しかし、第１処理量は第２処理量より小さいため、他のＶＭ２次第で第３処理量が変動する可能性がある。従って、最終的に状態を「晴れ時々くもり」としている。状態が「雨」の場合、第２処理量、第３処理量、第１処理量の順である。当該ＶＭ２が使用する第２処理量が、第３処理量より大きいため、アプリケーション２１２の処理が遅くなる可能性がある。従って、状態を「雨」としている。
【００７３】
図２２は状態決定処理の手順を示すフローチャートである。決定部１７６は算出部１７３から出力されるＶＭＩＤ、第１処理量、第２処理量及び第３処理量を受け付けたか否かを判断する（ステップＳ２２１）。決定部１７６はＶＭＩＤ、第１処理量、第２処理量及び第３処理量を受け付けていないと判断した場合（ステップＳ２２１でＮＯ）、処理を再び繰り返す。決定部１７６はＶＭＩＤ、第１処理量、第２処理量及び第３処理量を受け付けたと判断した場合（ステップＳ２２１でＹＥＳ）、第１処理量と第２処理量と第３処理量との大小関係、及び、決定ファイル１５７を参照し、各ＶＭＩＤの状態を決定する（ステップＳ２２２）。
【００７４】
決定部１７６はＶＭＩＤ毎に状態に対応する画像データ３４４を画像データファイル１５８から読み出す（ステップＳ２２３）。決定部１７６はＶＭＩＤを参照し、各ＶＭ２のＯＳ２１１へ画像データ３４４を出力する（ステップＳ２２４）。ＯＳ２１１は画像データ３４４を受け付け、図９の如くＯＳ２１１の画面上に表示する（ステップＳ２２５）。これにより、ハードウェアリソース１０の割当に関する第１処理量をも考慮することでより詳細な状態をユーザに提供することが可能となる。
【００７５】
本実施の形態３は以上の如きであり、その他は実施の形態１及び２と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【００７６】
実施の形態４
実施の形態４は第４処理量を考慮して状態を決定する形態に関する。図２３は実施の形態４に係る物理マシン１及びＶＭ２のハードウェア及びソフトウェアを示すブロック図である。第４取得部１７４及び第４ファイル１５４がさらに設けられている。第４取得部１７４は、各ＶＭ２がＣＰＵ１１等を消費する割合を示す第４処理量を取得する。例えばＶＭ２１の現在のＣＰＵ使用率を第４処理量とするほか、ＶＭ２１がＮＩＣ１６を単位時間当たりに占有する率、または、ＶＭ２１がＨＤ１５を単位時間当たりに占有する率を第４処理量としても良い。本実施の形態においては、一例としてＶＭ２１のＣＰＵ使用率を第４処理量であるものとして説明する。
【００７７】
第４取得部１７４は各ＶＭ２のＯＳ２１１から出力されるＶＭＩＤ及び第４処理量を取得する。第４取得部１７４は第４ファイル１５４にＶＭＩＤ及び第４処理量を記憶する。また第４取得部１７４はＶＭＩＤ及び第４処理量を決定部１７６へ出力する。なお、第４取得部１７４はＯＳ２１１から出力される第４処理量をリアルタイムで決定部１７６へ出力するほか、一定時間おきに出力するようにしても良い。その他一定時間内の平均第４処理量を第４処理量として決定部１７６及び第４ファイル１５４へ出力しても良い。また、仮想化レイヤ１７にて、各ＶＭ２のＣＰＵ使用率を取得してもよい。各ＶＭ２のＣＰＵ使用率は、仮想化レイヤ１７における図示しないスケジューラが、一定時間にどれだけＣＰＵ１１を各ＶＭ２に割り当てたかに基づき計算される。本実施の形態においてはリアルタイムで第４処理量を出力する例を挙げて説明する。
【００７８】
図２４は第４ファイル１５４のレコードレイアウトを示す説明図である。第４取得部１７４はＯＳ２１１から出力されたＶＭ２毎の第４処理量を第４ファイル１５４に記憶する。第４ファイル１５４はＶＭＩＤフィールド及び第４処理量フィールド等を含む。ＶＭＩＤフィールドにはＶＭＩＤが記憶され、第４処理量フィールドにはＶＭＩＤに対応づけて第４処理量が記憶されている。
【００７９】
決定部１７６は第４取得部１７４または第４ファイル１５４から出力されるＶＭＩＤ及び第４処理量、並びに、算出部１７３から出力される第２処理量及び第３処理量の大小関係に基づき状態を決定する。この際決定部１７６は決定ファイル１５７を参照し、現在の状態及び当該現在の状態よりも後に予測される状態（以下、予測状態）をも決定する。以降では予測状態と対比すべく現在の状態を現在状態という。
【００８０】
図２５は決定ファイル１５７のレコードレイアウトを示す説明図である。決定ファイル１５７は第３処理量フィールド、第２処理量フィールド、第４処理量フィールド、現在状態フィールド及び予測状態フィールド等を含む。第３処理量フィールド、第２処理量フィールド及び第４処理量フィールドには、第３処理量、第２処理量または第４処理量の大小関係を示す数字が記憶されている。図２５の第３処理量フィールド、第２処理量フィールド、第４処理量フィールドに示す数字は、処理量の値が大きいものから降順に整列した場合の順位を示す。すなわち、数字が小さい方が、順位が高く、処理量の値が大きいことを示す。現在状態フィールドには、ＶＭ２のハードウェアリソース１０に関する現在の状態を示す情報が記憶されている。予測状態フィールドには、ＶＭ２のハードウェアリソース１０に関する現在の状態よりも時系列で後に予測される状態を示す情報が記憶されている。例えば、第３処理量が最も大きく、次いで第２処理量が大きく、第４処理量が最も小さい場合、第３処理量フィールドの「１」（順位）、第２処理量フィールドの「２」（順位）、第４処理量フィールドの「３」（順位）を元に、現在状態「晴れ」が読み出される。また予測状態も「晴れ」と読み出される。
【００８１】
図８と同じく、第３処理量が第２処理量よりも大きい場合、現在状態を「晴れ」としている。そのため、１、２及び４行目の現在状態は「晴れ」である。また、図８と同じく、第３処理量が第２処理量よりも小さい場合、現在状態を「雨」とした。ただし、現在の第４処理量をも考慮して、第４処理量が第３処理量よりも小さい場合、ＶＭ２の使用環境如何では「雨」とならないということを示すために、状態を「くもり時々雨」としている。そのため、３行目は現在状態が「くもり時々雨」、５及び６行目は現在状態が「雨」である。
【００８２】
予測状態は、現在の第４処理量に第２処理量が変更された場合、状態がどのように変化するかという観点で決定している。１、３及び５行目は、第２処理量が第４処理量よりも大きいため、予測される状態も現在と同じ状態である。２行目は、第２処理量と第４処理量が入れ替わり１行目になるため、予測状態は「晴れ」である。４行目は、第２処理量が１、第４処理量が２、第３処理量が３となり５行目となるため、予測状態は「雨」である。６行目は、第２処理量と第４処理量とが入れ替わり５行目となるため、予測状態は「雨」である。
【００８３】
４行目は、第２処理量が更新されない場合には、つまり、負荷ＤＢ１５６のアプリケーション毎の負荷量が更新されない場合には、現在状態が「晴れ」で予測状態が「雨」となってしまう。そこで、第２処理量が更新されない場合、前回の予測状態と今回の現在状態とが同じでなければ、今回の現在状態は、予測状態とすることで、引き続き状態が「晴れ」となることを防止できる。つまり、そのようなときには、現在状態及び予測状態も「雨」とする。
【００８４】
図２６は状態決定処理の手順を示すフローチャートである。決定部１７６は算出部１７３及び第４取得部１７４から出力されるＶＭＩＤ、第４処理量、第２処理量及び第３処理量を受け付けたか否かを判断する（ステップＳ２６１）。決定部１７６はＶＭＩＤ、第４処理量、第２処理量及び第３処理量を受け付けていないと判断した場合（ステップＳ２６１でＮＯ）、処理を再び繰り返す。決定部１７６はＶＭＩＤ、第４処理量、第２処理量及び第３処理量を受け付けたと判断した場合（ステップＳ２６１でＹＥＳ）、第４処理量と第２処理量と第３処理量との大小関係、及び、決定ファイル１５７を参照し、各ＶＭＩＤの現在状態を決定する（ステップＳ２６２）。
【００８５】
また決定部１７６は第４処理量と第２処理量と第３処理量との大小関係、及び、決定ファイル１５７を参照し、各ＶＭＩＤの予測状態を決定する（ステップＳ２６３）。決定部１７６はＶＭＩＤ毎に現在状態及び予測状態に対応する画像データ３４４を画像データファイル１５８から読み出す（ステップＳ２６４）。決定部１７６はＶＭＩＤを参照し、各ＶＭ２のＯＳ２１１へ現在状態及び予測状態の画像データ３４４を出力する（ステップＳ２６５）。ＯＳ２１１は現在状態及び予測状態の画像データ３４４を受け付け、ＯＳ２１１の画面上に表示する（ステップＳ２６６）。
【００８６】
図２７はコンピュータ３の表示部に表示される状態のイメージを示す説明図である。デスクトップ上には現在状態（晴れ）及び予測状態（雨）を容易に視認できる画像データ３４４が表示される。予測状態が時系列で後であることを理解できるよう、現在状態の画像と予測状態の画像との間に現在状態から予測状態へ向かう矢印等の先後を示す画像を記述することが好ましい。なお、先後を示す画像データも状態に対応する画像データ３４４と同じく画像データファイル１５８に記憶されている。これにより、ハードウェアリソース１０の消費の割合に関する第４処理量をも考慮することでより現在の状態のみならず将来的な予測状態をユーザに提供することが可能となる。
【００８７】
本実施の形態４は以上の如きであり、その他は実施の形態１乃至３と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【００８８】
実施の形態５
実施の形態５は第１処理量乃至第４処理量の全てを考慮する形態に関する。算出部１７３は第１処理量乃至第３処理量を決定部１７６へ出力する。第４取得部１７４は第４処理量を決定部１７６へ出力する。決定部１７６は第１処理量乃至第４処理量の大小関係並びに決定ファイル１５７を参照して、現在状態及び予測状態を決定する。
【００８９】
図２８は決定ファイル１５７のレコードレイアウトを示す説明図である。決定ファイル１５７は第３処理量フィールド、第１処理量フィールド、第２処理量フィールド、第４処理量フィールド、現在状態フィールド及び予測状態フィールド等を含む。第３処理量フィールド、第１処理量フィールド、第２処理量フィールド及び第４処理量フィールドには、第３処理量、第１処理量、第２処理量及び第４処理量の大小関係を示す数字が記憶されている。図２８の第３処理量フィールド、第１処理量フィールド、第２処理量フィールド、第４処理量フィールドに示す数字は、処理量の値が大きいものから降順に整列した場合の順位を示す。すなわち、数字が小さい方が、順位が高く、処理量の値が大きいことを示す。
【００９０】
現在状態フィールドには、ＶＭ２のハードウェアリソース１０に関する現在状態が記憶されている。予測状態フィールドには、ＶＭ２のハードウェアリソース１０に関する現在の状態よりも後の予測状態が記憶されている。例えば、第３処理量が最も大きく、次いで第１処理量が大きく、３番目に第２処理量が大きく、第４処理量が最も小さい場合、以下のとおりとなる。第３処理量フィールドの「１」（順位）、第１処理量フィールドの「２」（順位）、第２処理量フィールドの「３」（順位）、第４処理量フィールドの「４」（順位）を元に、現在状態「晴れ」が読み出される。また予測状態も「晴れ」と読み出される。
【００９１】
図２１に従い、第３処理量、第１処理量、第２処理量の順である場合、現在状態を「晴れ」とする条件とした。そのため、１、２、４及び１０行目の現在状態は「晴れ」である。また、図２１に従い、第３処理量、第２処理量、第１処理量の順である場合、現在状態を「晴れ時々くもり」とした。そのため、３、５、６及び１２行目の現在状態は「晴れ時々くもり」である。さらに、図２１に従い、第２処理量、第３処理量、第１処理量の順である場合、現在状態を「雨」とする条件ともできる。ただし本実施の形態においては、第４処理量をも加味する。そして、第４処理量が第３処理量よりも小さい場合、ＶＭ２の使い方次第では現在状態「雨」とはならないということを示すために、現在状態「くもり時々雨」とした。またそれ以外は現在状態「雨」とした。
【００９２】
従って、９及び１１行目は現在状態が「くもり時々雨」、１７及び１８行目は現在状態が「雨」である。予測状態は、第４処理量に対し、第２処理量が変更された場合、状態がどのようになるかという観点で決定している。１、３、５、９、１１及び１７行目は、第２処理量が第４処理量よりも大きいため、予測状態は現在状態と同じ状態である。２行目は、第２処理量と第４処理量とが入れ替わり、１行目になるため、予測状態は「晴れ」である。４行目は、第３処理量、第２処理量、第４処理量、第１処理量の順となり５行目となる。従って、予測状態は「晴れ時々くもり」である。
【００９３】
６行目は、第２処理量と第４処理量とが入れ替わり５行目になるため、予測状態は「晴れ時々くもり」である。１０行目は、第２処理量、第４処理量、第３処理量、第１処理量の順となり１７行目となるため、予測状態は「雨」である。１２行目は、第２処理量、第４処理量、第３処理量、第１処理量の順となり１７行目となるため、予測状態は「雨」である。１８行目は、第２処理量と第４処理量が入れ替わり１７行目になるため、予測状態は「雨」である。図２５と同様に、４、１０及び１２行目は、第２処理量が更新されない場合には、予測状態に移行しなくなってしまう。このため、前回の予測状態と今回の現在状態とが同じでない場合、今回の現在状態は、予測状態とする。なお、以上述べた順位はあくまで一例であり、適宜変更しても良い。オペレータはコンピュータ３から決定ファイル１５７の内容を適宜変更することが可能である。
【００９４】
図２９は状態決定処理の手順を示すフローチャートである。決定部１７６は算出部１７３及び第４取得部１７４から出力されるＶＭＩＤ、第４処理量、第１処理量、第２処理量及び第３処理量を受け付けたか否かを判断する（ステップＳ２９１）。決定部１７６はＶＭＩＤ、第４処理量、第１処理量、第２処理量及び第３処理量を受け付けていないと判断した場合（ステップＳ２９１でＮＯ）、処理を再び繰り返す。決定部１７６はＶＭＩＤ、第４処理量、第１処理量、第２処理量及び第３処理量を受け付けたと判断した場合（ステップＳ２９１でＹＥＳ）、第４処理量と第１処理量と第２処理量と第３処理量との大小関係、及び、決定ファイル１５７を参照し、各ＶＭＩＤの現在状態を決定する（ステップＳ２９２）。
【００９５】
また決定部１７６は第４処理量と第１処理量と第２処理量と第３処理量との大小関係、及び、決定ファイル１５７を参照し、各ＶＭＩＤの予測状態を決定する（ステップＳ２９３）。決定部１７６はＶＭＩＤ毎に現在状態及び予測状態に対応する画像データ３４４を画像データファイル１５８から読み出す（ステップＳ２９４）。決定部１７６はＶＭＩＤを参照し、各ＶＭ２のＯＳ２１１へ現在状態及び予測状態の画像データ３４４を出力する（ステップＳ２９５）。ＯＳ２１１は現在状態及び予測状態の画像データ３４４を受け付け、ＯＳ２１１の画面上に表示する（ステップＳ２９６）。これにより、ハードウェアリソース１０の消費の割合に関する第４処理量及び割当に関する第１処理量をも考慮することでより現在の状態のみならず将来的な予測状態をユーザに提供することが可能となる。
【００９６】
本実施の形態５は以上の如きであり、その他は実施の形態１乃至４と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【００９７】
実施の形態６
実施の形態６は負荷量及び第４処理量に応じて第２処理量を決定する形態に関する。第２取得部１７２は実施の形態１で述べた選択されたアプリケーションＩＤに対応する負荷量を負荷量ＤＢ１５６から取得する。第２取得部１７２は第４取得部１７４から第４処理量を取得する。第２取得部１７２は第４処理量と第２処理量とを比較し、第２処理量を決定する。
【００９８】
図３０は第２処理量の取得処理の手順を示すフローチャートである。第２取得部１７２は第４取得部１７４から出力されるＶＭＩＤ及び第４処理量を受け付けたか否かを判断する（ステップＳ３０１）。第２取得部１７２は第４取得部１７４から出力されるＶＭＩＤ及び第４処理量を受け付けていないと判断した場合（ステップＳ３０１でＮＯ）、各ＯＳ２１１からＶＭＩＤ及びアプリケーションＩＤを受け付けたか否かを判断する（ステップＳ３０２）。なおアプリケーションＩＤは実施の形態１で述べた如く実行中のアプリケーション２１２の内、選択されているアプリケーション２１２のアプリケーションＩＤがＯＳ２１１から第２取得部１７２へ出力される。
【００９９】
第２取得部１７２はＶＭＩＤ及びアプリケーションＩＤを受け付けていないと判断した場合（ステップＳ３０２でＮＯ）、処理をステップＳ３０１へ戻す。一方、第２取得部１７２はＶＭＩＤ及び第４処理量を受け付けたと判断した場合（ステップＳ３０１でＹＥＳ）、または、ＶＭＩＤ及びアプリケーションＩＤを受け付けたと判断した場合（ステップＳ３０２でＹＥＳ）、ステップＳ３０３へ処理を移行させる。第２取得部１７２は選択中のアプリケーションＩＤに対応する負荷量を負荷量ＤＢ１５６から読み出す（ステップＳ３０３）。
【０１００】
第２取得部１７２は第４取得部１７４から出力される第４処理量を取得する（ステップＳ３０４）。第２取得部１７２は第４処理量が、負荷量を超えるか否かを判断する（ステップＳ３０５）。第２取得部１７２は第４処理量が負荷量を超えないと判断した場合（ステップＳ３０５でＮＯ）、ステップＳ３０３で読み出した現在選択中の負荷量を、第２処理量として取得する（ステップＳ３０６）。一方、第２取得部１７２は第４処理量が負荷量を超えると判断した場合（ステップＳ３０５でＹＥＳ）、ステップＳ３０４で取得した第４処理量を第２処理量として取得する（ステップＳ３０７）。
【０１０１】
第２取得部１７２は負荷量ＤＢ１５６内のステップＳ３０３におけるアプリケーションＩＤに対応する負荷量を、第４処理量で書き換える（ステップＳ３０８）。なお、ステップＳ３０６及びステップＳ３０７で取得した第２処理量は、第３処理量の計算のため算出部１７３へ出力される。図３１は第２処理量の遷移を示す説明図である。１行目に示す如く、当初はアプリケーションＩＤ「Ａ０１」に係るアプリケーション２１２が選択されている。選択されたアプリケーション２１２の負荷量は「７０」であり、第２処理量は「７０」となる。第４処理量「４０」は第２処理量「７０」を超えないため、第２処理量は「７０」のままである。その後、アプリケーションＩＤ「Ａ０３」に係るアプリケーション２１２が選択された。
【０１０２】
アプリケーションＩＤ「Ａ０３」の負荷量は「４０」であり、第２取得部１７２は当該負荷量「４０」を第２処理量として取得する。ＶＭ２で実行されるアプリケーション２１２の状況により、負担が増加したことを想定する。この場合、第４取得部１７４から第２取得部１７２へ第４処理量「６０」が出力される。第２取得部１７２は第４処理量が第２処理量を超えるか否かを判断する。本例では第４処理量「６０」が第２処理量「４０」を超えている。この場合、第２取得部１７２は第４処理量「６０」を第２処理量「６０」として取得する。また対応するアプリケーションＩＤ「Ａ０３」の負荷量を第４処理量と同じ「６０」とする。なお、各アプリケーション２１２の負荷量の値は、増加するが、ＶＭ２が停止した場合、図４に示した初期の負荷量に再設定しても構わない。これにより、第４処理量が実行中のアプリケーション２１２の負荷量を超える場合は、第２処理量を適宜変更することで、より適切に状態を判断することが可能となる。
【０１０３】
本実施の形態６は以上の如きであり、その他は実施の形態１乃至５と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【０１０４】
実施の形態７
実施の形態７はＶＭ２にて実行中の複数のアプリケーション２１２に基づき第２処理量を決定する形態に関する。第２取得部１７２は、アプリケーション２１２が複数実行中である場合、複数の負荷量の合計値または複数の負荷量の平均値を第２処理量として取得しても良い。その他負荷量の合計値または平均値に所定の係数を乗じた値を第２処理量として取得しても良い。本実施の形態においては複数の負荷量の合計値を第２処理量として取得する形態に関する。
【０１０５】
図３２及び図３３は第２処理量の取得処理の手順を示すフローチャートである。以下の処理は各ＶＭ２に対し並行して行う。ＯＳ２１１はコンピュータ３からアプリケーション２１２の起動または停止命令を検出したか否かを判断する（ステップＳ３２０）。ＯＳ２１１はコンピュータ３からアプリケーション２１２の起動または停止命令を検出していないと判断した場合（ステップＳ３２０でＮＯ）、以上の処理を繰り返す。ＯＳ２１１はコンピュータ３からアプリケーション２１２の起動または停止命令を検出したと判断した場合（ステップＳ３２０でＹＥＳ）、少なくとも一つのアプリケーション２１２が実行されているか否かを判断する（ステップＳ３２１）。なお、ＯＳ２１１はステップＳ３２１の判断においては、負荷量ＤＢ１５６に記憶したアプリケーションＩＤに対応するアプリケーション２１２が少なくとも一つ起動されたか否かを判断するようにすれば良い。例えば、スタートアップにより毎回必ず起動される時刻表示用のアプリケーション２１２、または、負荷の小さい電卓アプリケーション２１２等が起動された場合、ステップＳ３２０の判断をＮＯとしても良い。
【０１０６】
ＯＳ２１１はアプリケーション２１２が実行中であると判断した場合（ステップＳ３２１でＹＥＳ）、ＶＭＩＤ及び実行中のアプリケーションＩＤを全て第２取得部１７２へ出力する（ステップＳ３２２）。第２取得部１７２はＯＳ２１１から出力されたＶＭＩＤ及びアプリケーションＩＤを受け付ける（ステップＳ３２３）。第２取得部１７２は各アプリケーションＩＤに対応する負荷量を、負荷量ＤＢ１５６から読み出す（ステップＳ３２４）。第２取得部１７２は読み出した複数の負荷量を加算することにより、合計値を算出する（ステップＳ３２５）。なお、同一のアプリケーション２１２において複数のウィンドウＷが起動されている場合、ＯＳ２１１はアプリケーションＩＤ及びウィンドウＷの数をステップＳ３２２で出力する。この場合第２取得部１７２はアプリケーションＩＤに対応して読み出した負荷量に、ウィンドウＷの数を乗じた数を、当該アプリケーション２１２に係る負荷量とすればよい。その他、第２取得部１７２はアプリケーションＩＤに対応して読み出した負荷量に、ウィンドウＷの数から１を減じた値と読み出した負荷量と所定の１よりも小さい係数を乗じた数を加算し、当該アプリケーション２１２に係る負荷量としても良い。
【０１０７】
第２取得部１７２は算出した合計値を第２処理量として取得する（ステップＳ３２６）。ＯＳ２１１はアプリケーション２１２が実行中でないと判断した場合（ステップＳ３２１でＮＯ）、ＶＭＩＤ及び非実行情報を第２取得部１７２へ出力する（ステップＳ３２７）。第２取得部１７２はＶＭＩＤ及び非実行情報を受け付ける（ステップＳ３２８）。第２取得部１７２は負荷量を０と設定する（ステップＳ３２９）。第２取得部１７２は負荷量０を第２処理量として取得する（ステップＳ３３１）。ステップＳ３３１の後及びステップＳ３２６の処理の後、ステップＳ３３２へ移行する。
【０１０８】
第２取得部１７２はＶＭＩＤに対応づけて第２処理量を第２ファイル１５２に記憶する（ステップＳ３３２）。第２取得部１７２は第３処理量の算出のため、ＶＭＩＤ及び第２処理量を算出部１７３へ出力する（ステップＳ３３３）。これにより実行中のアプリケーション２１２の数に応じた状態を決定することができ、よりきめ細かくユーザにＶＭ２の状態を提供することが可能となる。
【０１０９】
本実施の形態７は以上の如きであり、その他は実施の形態１乃至６と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【０１１０】
実施の形態８
実施の形態８は第５処理量を考慮して第２処理量を取得する形態に関する。図３４は実施の形態８に係る物理マシン１及びＶＭ２のハードウェア及びソフトウェアを示すブロック図である。ＯＳ２１１は実行中の各アプリケーション２１２がハードウェアリソース１０を消費する割合である第５処理量を取得する。この第５処理量はアプリケーション２１２毎のＣＰＵ使用率、ＨＤ１５の単位時間当たりに占有する割合、または、ＮＩＣ１６を単位時間当たりに占有する割合等である。アプリケーション２１２毎のＣＰＵ使用率は例えばWindows（登録商標）の場合、タスクマネージャにより取得することができる。
【０１１１】
またＨＤ１５が単位時間当たりに占有する割合も、アプリケーション２１２毎のＨＤ１５に対するアクセス頻度を解析することで取得することができる。さらに、ＮＩＣ１６を単位時間当たりに占有する割合も、単位時間当たりのデータの送信量または受信量等に基づき取得することができる。本実施の形態においては、第５処理量はアプリケーション２１２毎のＣＰＵ使用率であるものとして説明する。ＯＳ２１１はＶＭＩＤ、アプリケーションＩＤ及び第５処理量を第５取得部１７５へ出力する。第５取得部１７５はＶＭＩＤ、アプリケーションＩＤ及び第５処理量を第２取得部１７２へ出力する。第２取得部１７２はＶＭＩＤ、アプリケーションＩＤ及び第５処理量、並びに、負荷量を総合的に判断して第２処理量を取得する。
【０１１２】
図３５及び図３６は第２処理量の取得処理の手順を示すフローチャートである。以下の処理は各ＶＭ２に対し並行して行う。ＯＳ２１１はコンピュータ３からアプリケーション２１２の起動または停止命令を検出したか否かを判断する（ステップＳ３５１）。ＯＳ２１１はコンピュータ３からアプリケーション２１２の起動または停止命令を検出していないと判断した場合（ステップＳ３５１でＮＯ）、以上の処理を繰り返す。ＯＳ２１１はコンピュータ３からアプリケーション２１２の起動または停止命令を検出したと判断した場合（ステップＳ３５１でＹＥＳ）、少なくとも一つのアプリケーション２１２が実行されているか否かを判断する（ステップＳ３５２）。
【０１１３】
ＯＳ２１１はアプリケーション２１２が実行中であると判断した場合（ステップＳ３５２でＹＥＳ）、実行中の全てのアプリケーション２１２の第５処理量を取得する（ステップＳ３５３）。ＯＳ２１１は、ＶＭＩＤ、実行中のアプリケーションＩＤ及びアプリケーション２１２の第５処理量を全て第５取得部１７５へ出力する（ステップＳ３５４）。第５取得部１７５は第５処理量を取得する。第５取得部１７５は取得したＶＭＩＤ、アプリケーションＩＤ及び第５処理量を第２取得部１７２へ出力する。
【０１１４】
第２取得部１７２は第５取得部１７５から出力されたＶＭＩＤ、アプリケーションＩＤ及び第５処理量を受け付ける（ステップＳ３５５）。第２取得部１７２は各アプリケーションＩＤに対応する負荷量を、負荷量ＤＢ１５６から読み出す（ステップＳ３５６）。第２取得部１７２はステップＳ３５５で受け付けたアプリケーション２１２の第５処理量が、ステップＳ３５６で読み出したアプリケーション２１２に対応する負荷量を超えるアプリケーション２１２が存在するか否かを判断する（ステップＳ３５７）。
【０１１５】
第２取得部１７２は第５処理量が負荷量を超えるアプリケーション２１２が存在すると判断した場合（ステップＳ３５７でＹＥＳ）、第５処理量が負荷量を超えるアプリケーション２１２のアプリケーションＩＤを抽出する（ステップＳ３５８）。第２取得部１７２は、負荷量ＤＢ１５６内の、アプリケーションＩＤに対応する負荷量を第５処理量へ書き換える（ステップＳ３５９）。なお、負荷量ＤＢ１５６の内容は書き換えられるが、ＶＭ２が停止した場合には、図４に示す初期の負荷量に戻しても良い。
【０１１６】
第２取得部１７２は第５処理量が負荷量を超えるアプリケーション２１２が存在しないと判断した場合（ステップＳ３５７でＮＯ）、または、ステップＳ３５９の処理後、ステップＳ３６１へ移行する。第２取得部１７２は各アプリケーションＩＤに対応する負荷量を負荷量ＤＢ１５６から読み出す（ステップＳ３６１）。第２取得部１７２は読み出した複数の負荷量を加算することにより、合計値を算出する（ステップＳ３６２）。
【０１１７】
第２取得部１７２は算出した合計値を第２処理量として取得する（ステップＳ３６２１）。なお本実施の形態においては合計値を算出する例を挙げたがこれに限るものではない。第２処理量は実行中の複数のアプリケーション２１２に起因するものであれば、他の取得処理であっても良い。例えば第２取得部１７２は読み出した複数の負荷量の平均値を第２処理量としても良い。また第２取得部１７２は読み出した複数の負荷量の合計値または平均値等に予め定めた係数を乗じ、乗じた後の値を第２処理量として取得しても良い。さらに、アプリケーション２１２に対応づけて重みを設定しておき、各アプリケーション２１２の負荷量にアプリケーション２１２毎の重みを乗じ、重みを乗じた後の各アプリケーション２１２の負荷量の合計値を第２処理量として取得しても良い。
【０１１８】
ＯＳ２１１はアプリケーション２１２が実行中でないと判断した場合（ステップＳ３５２でＮＯ）、ＶＭＩＤ及び非実行情報を第２取得部１７２へ出力する（ステップＳ３６３）。第２取得部１７２はＶＭＩＤ及び非実行情報を受け付ける（ステップＳ３６４）。第２取得部１７２は負荷量を０と設定する（ステップＳ３６５）。第２取得部１７２は負荷量０を第２処理量として取得する（ステップＳ３６６）。ステップＳ３６６の後及びステップＳ３６２１の処理の後、ステップＳ３６７へ移行する。
【０１１９】
第２取得部１７２はＶＭＩＤに対応づけて第２処理量を第２ファイル１５２に記憶する（ステップＳ３６７）。第２取得部１７２は第３処理量の算出のため、ＶＭＩＤ及び第２処理量を算出部１７３へ出力する（ステップＳ３６８）。
【０１２０】
図３７は第２処理量の変化を示す説明図である。現在実行中のアプリケーション２１２は、アプリケーションＩＤが「Ａ０３」、「Ａ０４」及び「Ａ０６」のアプリケーション２１２である。そして、現在は、アプリケーションＩＤ「Ａ０３」のアプリケーション２１２が選択されている。各アプリケーション２１２の第５処理量は、それぞれ、３０％、２％、４０％である。負荷量の合計値は４０＋３０＋５０で１２０となる。第２処理量は負荷量の合計値であり１２０となる。
【０１２１】
ここで、アプリケーションＩＤ「Ａ０３」のアプリケーション２１２が終了したものとする。なお、アプリケーションＩＤ「Ａ０３」は終了したことから、「Ｘ」で表記している。負荷量の合計値は３０＋５０で８０となる。そして第２処理量は８０となる。次にアプリケーションＩＤ「Ａ０４」が選択され、バックグラウンドで動作しているアプリケーションＩＤ「Ａ０６」の第５処理量が６０となった。アプリケーションＩＤ「Ａ０６」の負荷量は５０であることから、第５処理量が負荷量を超える。この場合、負荷量ＤＢ１５６内のアプリケーションＩＤ「Ａ０６」の負荷量は６０に書き換えられる。そして、負荷量の合計値は３０＋６０により９０となる。最終的に第２処理量は合計値の９０となる。これにより実行中のアプリケーション２１２の負荷に係る第５処理量に応じた状態を決定することができ、よりきめ細かくユーザにＶＭ２の状態を提供することが可能となる。
【０１２２】
本実施の形態８は以上の如きであり、その他は実施の形態１乃至７と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【０１２３】
実施の形態９
図３８は実施の形態９に係る物理マシン１及びＶＭ２のハードウェア及びソフトウェアを示すブロック図である。実施の形態１乃至８に係る物理マシン１を動作させるためのプログラムは、本実施の形態９のように、読み取り部（図示せず）にＣＤ−ＲＯＭ等の可搬型記録媒体１Ａを読み取らせてＨＤ１５に記憶しても良い。また、当該プログラムは、インターネット等の通信網を介して接続される他のサーバコンピュータ（図示せず）からダウンロードすることも可能である。以下に、その内容を説明する。
【０１２４】
図３８に示す物理マシン１は、第１処理量を取得等させるプログラムを、可搬型記録媒体１Ａによりまたは通信網を介して他のサーバコンピュータ（図示せず）からダウンロードする。当該プログラムは、制御モジュール１７０としてインストールされ、ＲＡＭ１２にロードして実行される。これにより、上述した物理マシン１として機能する。
【０１２５】
また上述の形態は例えばCitrix Presentation Server（登録商標）等の如く、ＯＳ２１１及びアプリケーション２１２の画面イメージをテンプレート化し、通信網を介してコンピュータ３に画面イメージを送信しても良い。また上述の実施形態においては各ＶＭ２がＯＳ２１１を有する例を挙げたが必ずしも必要ではない。例えば、X Window Systemに適用した場合、各ＶＭ２には上述したＯＳ２１１と同様の機能を有するモジュール１７０を用意しておけばよい。例えば、第２処理量決定部１７２１の如く、ＶＭ２のアプリケーション２１２の内、どのアプリケーション２１２が実行されているか、また、選択されているかを第２取得部１７２へ出力するモジュールを用意しておけばよい。その他、負荷量ＤＢ１５６を格納しておいても良い。
【０１２６】
本実施の形態９は以上の如きであり、その他は実施の形態１乃至８と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【０１２７】
実施の形態１０
図３９は実施の形態１０に係る状態出力システムの概要を示す模式図である。実施の形態１０に係る状態出力システムは、操作環境２、情報処理装置１、通信網Ｎ及び端末装置３等を含む。情報処理装置１は例えばインターネットまたは携帯電話網等を含む通信網Ｎに接続されるサーバコンピュータである。以下では情報処理装置１をサーバコンピュータ１という。サーバコンピュータ１には物理的に区分けされた操作環境２１、２２、２３、・・・（以下、場合により２で代表する）が接続されている。操作環境２は例えば、コンピュータ３の要求に応じてＣＧＩ（Common Gateway Interface）により複数のアプリケーション２１２を実行するアプリケーションサーバである。その他操作環境２はコンピュータ３の要求に応じてＳＱＬ（Structured Query Language）により情報の検索を行うデータベースサーバ等であっても良い。
【０１２８】
本実施の形態においては、操作環境２はアプリケーションサーバ２であるものとして説明する。サーバコンピュータ１はアプリケーションサーバ２に対してハードウェアリソース１０を適宜割り当てる。本実施の形態においてはサーバコンピュータ１内のＮＩＣ１６の単位時間当たりの占有量を割り当てる。そして占有量を第１処理量であるものとして説明する。図３９の円グラフに示す如くアプリケーションサーバ２１には最も多くの第１処理量が割り当てられている。アプリケーションサーバ２２及び２３にはアプリケーションサーバ２１の半分の第１処理量が割り当てられている。
【０１２９】
アプリケーションサーバ２は、上述した実施の形態と同じく、第２処理量をサーバコンピュータ１へ出力する。サーバコンピュータ１は第１処理量及び第２処理量の差分に基づき、第３処理量を算出する。そしてサーバコンピュータ１は第２処理量及び第３処理量に基づき、状態を決定する。そして状態に対応する画像データ３４４を各アプリケーションサーバ２の表示部に出力する。その他、サーバコンピュータ１またはアプリケーションサーバ２は、画像データ３４４を、アプリケーションサーバ２を使用しているコンピュータ３へ通信網Ｎを介して出力する。
【０１３０】
図４０は実施の形態１０に係るサーバコンピュータ１及びアプリケーションサーバ２のハードウェア及びソフトウェアを示す説明図である。上述した実施の形態に対し、仮想化レイヤ１７はソフトウェアレイヤ１７と変更されている。またＶＭ２に代えてＮＩＣ１６を介して接続されるアプリケーションサーバ２を示している。さらにＶＭ管理部１７８に代えて通信管理部１７８が設けられている。他のモジュール１７０、各種ファイル及びハードウェアリソース１０の内容は重複するため説明は省略する。サーバコンピュータ１の通信管理部１７８は、各アプリケーションサーバ２１、２２、２３が、ＮＩＣ１６を介して送受信するデータを監視している。通信管理部１７８は各アプリケーションサーバ２に対しＮＩＣ１６を占有する第１処理量を割り当てるほか、送受信するデータ量を監視する。
【０１３１】
アプリケーションサーバ２はアプリケーション２１２に基づき変動する第２処理量を第２取得部１７２に出力する。アプリケーションサーバ２は複数のアプリケーション２１２の実行がコンピュータ３から要求されている場合、以下の処理を行う。アプリケーションサーバ２はＶＭＩＤに代えてアプリケーションサーバのＩＰ（Internet Protocol）アドレスまたはＭＡＣアドレス、及び、アプリケーションＩＤを、図示しない通信部を介して第２取得部１７２へ出力する。なお各種処理は図示しないＣＰＵが行う。また以下ではＩＰアドレスを用いる例を挙げて説明する。これにより、第２取得部１７２は上述した実施形態と同じく、負荷量ＤＢ１５６から負荷量を読み出し、第２処理量を取得する。
【０１３２】
またアプリケーション２１２に基づき変動する第２処理量は以下の形態であっても良い。例えば、アプリケーションサーバ２は単一のアプリケーション２１２を実行する場合、以下のように処理しても良い。アプリケーションサーバ２は、複数のコンピュータ３から出力される単位時間当たりのデータ受信量、単位時間当たりのアプリケーション２１２の実行要求数、または、通信状態にあるコンピュータ３の数を抽出する。以下では単位時間当たりの実行要求数を例に挙げて説明する。複数のコンピュータ３から出力されるアプリケーション２１２を実行するための要求数が多いほど、実行中のアプリケーション２１２に対する負荷は高くなる。アプリケーションサーバ２はＩＰアドレス及び要求数をサーバコンピュータ１へ出力する。
【０１３３】
サーバコンピュータ１の第２取得部１７２は要求数を受け付ける。負荷量ＤＢ１５６には単位時間当たりの実行要求数に応じて値が大きくなる負荷量が記憶されている。第２取得部１７２は実行数に対応する負荷量を第２処理量として取得する。以下は上述した実施の形態と同様の処理を行うことにより、算出部１７３が第３処理量を算出する。また、決定部１７６は第２処理量及び第３処理量等に基づいて、状態を決定する。なお、第４処理量は各アプリケーションサーバ２がＮＩＣ１６を単位時間当たりに占有する量であり、第４取得部１７４が通信管理部１７８から取得する。
【０１３４】
アプリケーションサーバ２が複数のアプリケーション２１２を実行中の場合、アプリケーション２１２を特定するためのアプリケーションＩＤ及びデータがサーバコンピュータ１を介してコンピュータ３へ送信される。第５取得部１７５はデータパケットのヘッダを参照し、アプリケーション２１２毎に単位時間あたりにＮＩＣ１６を占有する割合を第５処理量として取得する。アプリケーションサーバ２が、送受信するデータを監視してアプリケーション毎の通信量を第５取得部１７５へ通知しても良い。決定部１７６は決定した状態に対応する画像データ３４４を各アプリケーションサーバ２へ、ＮＩＣ１６を介して出力する。アプリケーションサーバ２は画像データ３４４をアプリケーションサーバ２の表示部またはコンピュータ３へ出力する。これにより、コンピュータ３のユーザ及びアプリケーションサーバ２の管理者は、アプリケーションサーバ２の現在の状態または予測状態を把握することが可能となる。
【０１３５】
本実施の形態１０は以上の如きであり、その他は実施の形態１乃至９と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【０１３６】
以上の実施の形態１乃至１０を含む実施形態に関し、さらに以下の付記を開示する。
【０１３７】
（付記１）
区分けされた複数の操作環境を制御する情報処理装置に用いられるプログラムであって、
情報処理装置を、
該情報処理装置のハードウェア資源に対する操作環境毎の割当量を示す第１処理量を取得する第１取得部と、
前記操作環境にて実行されるアプリケーションプログラムに基づき変動する第２処理量を取得する第２取得部と、
前記操作環境毎に前記第１取得部により取得した第１処理量と前記第２取得部により取得した第２処理量との差分に基づき、前記操作環境毎に第３処理量を算出する算出部と、
前記操作環境毎に前記算出部により算出した第３処理量及び前記第２取得部により取得した第２処理量に基づき、前記操作環境毎の状態を出力する出力部と
して機能させるためのプログラム。
【０１３８】
（付記２）
前記出力部は、
前記操作環境毎に前記算出部により算出した第３処理量と前記第２取得部により取得した第２処理量との大小関係に応じて各操作環境の状態を出力する
付記１に記載のプログラム。
【０１３９】
（付記３）
前記出力部は、
前記操作環境毎に前記算出部により算出した第３処理量と前記第２取得部により取得した第２処理量と前記第１取得部により取得した第１処理量との大小関係に応じて各操作環境の状態を出力する
付記１に記載のプログラム。
【０１４０】
（付記４）
各操作環境がハードウェア資源を消費する割合を示す第４処理量を取得する第４取得部をさらに機能させ、
前記出力部は、
前記操作環境毎に前記算出部により算出した第３処理量と前記第２取得部により取得した第２処理量と前記第４取得部により取得した第４処理量との大小関係に応じて各操作環境の状態を出力する
付記１に記載のプログラム。
【０１４１】
（付記５）
各操作環境がハードウェア資源を消費する割合を示す第４処理量を取得する第４取得部をさらに機能させ、
前記出力部は、
前記操作環境毎に前記算出部により算出した第３処理量と前記第２取得部により取得した第２処理量と前記第４取得部により取得した第４処理量と前記第１取得部により取得した第１処理量との大小関係に応じて各操作環境の状態を出力する状態出力部と、
前記操作環境毎に前記算出部により算出した第３処理量と前記第２取得部により取得した第２処理量と前記第４取得部により取得した第４処理量と前記第１取得部により取得した第１処理量との大小関係に応じて、前記状態出力部により出力する状態より後の予測される状態を出力する予測状態出力部と
を含む付記１に記載のプログラム。
【０１４２】
（付記６）
前記算出部は、
前記第１取得部により取得した第１処理量が前記第２取得部により取得した第２処理量よりも大きい場合に、各操作環境の第１処理量から第２処理量を減算した値の合計値を算出する合計値算出部と、
前記第２取得部により取得した第２処理量が前記第１取得部により取得した第１処理量よりも大きい操作環境に係る第１処理量を抽出する抽出部と、
前記合計値算出部により算出した合計値を前記抽出部により抽出した操作環境に係る第１処理量へ配分することにより、前記操作環境に係る第３処理量を算出する第３処理量算出部と
を含む付記１乃至５のいずれか一つに記載のプログラム。
【０１４３】
（付記７）
前記算出部は、
前記第１取得部により取得した第１処理量が前記第２取得部により取得した第２処理量よりも大きい操作環境に係る第１処理量を前記操作環境に係る第３処理量と決定する決定部
をさらに含む付記６に記載のプログラム。
【０１４４】
（付記８）
前記算出部は、
前記第１取得部により取得した第１処理量が前記第２取得部により取得した第２処理量よりも大きい場合に、各操作環境の第１処理量から第２処理量を減算した値の合計値を算出する合計値算出部と、
前記第２取得部により取得した第２処理量が前記第１取得部により取得した第１処理量よりも大きい場合に、各操作環境の第２処理量から第１処理量を減算した値の補助合計値を算出する補助合計値算出部と、
前記合計値算出部により算出した合計値が前記補助合計値算出部により算出した補助合計値よりも大きいか否かを判断する判断部と、
該判断部により大きくないと判断した場合に、前記第２取得部により取得した第２処理量が前記第１取得部により取得した第１処理量よりも大きい操作環境に係る第１処理量を抽出する抽出部と、
前記合計値算出部により算出した合計値を前記抽出部により抽出した操作環境に係る第１処理量へ配分することにより、前記操作環境に係る第３処理量を算出する第３処理量算出部と
を含む付記１乃至５のいずれか一つに記載のプログラム。
【０１４５】
（付記９）
前記算出部は、
前記判断部により大きくないと判断した場合に、前記第１取得部により取得した第１処理量が前記第２取得部により取得した第２処理量よりも大きい操作環境に係る第１処理量を前記操作環境に係る第３処理量と決定する決定部
をさらに含む付記８に記載のプログラム。
【０１４６】
（付記１０）
前記判断部により大きいと判断した場合に、前記第２取得部により取得した第２処理量が前記第１取得部により取得した第１処理量よりも大きい操作環境に係る第２処理量を抽出する補助抽出部と、
該補助抽出部により抽出した操作環境に係る第２処理量を前記操作環境に係る第３処理量と決定する補助決定部と
を含む付記９に記載のプログラム。
【０１４７】
（付記１１）
区分けされた複数の操作環境を制御する情報処理装置であって、
ハードウェア資源に対する操作環境毎の割当量を示す第１処理量を取得する第１取得部と、
前記操作環境にて実行されるアプリケーションプログラムに基づき変動する第２処理量を取得する第２取得部と、
前記操作環境毎に前記第１取得部により取得した第１処理量と前記第２取得部により取得した第２処理量との差分に基づき、前記操作環境毎に第３処理量を算出する算出部と、
前記操作環境毎に前記算出部により算出した第３処理量及び前記第２取得部により取得した第２処理量に基づき、前記操作環境毎の状態を出力する出力部と
を備える情報処理装置。
【０１４８】
（付記１２）
前記出力部により出力された操作環境に係る状態に対応する画像データを記憶部から読み出す読み出し部を備え、
前記出力部は、
読み出した画像データを、前記操作環境を特定する情報に関連づけて外部へ出力する
付記１１に記載の情報処理装置。
【０１４９】
（付記１３）
アプリケーションプログラムが選択された場合に、アプリケーションプログラム毎に負荷量を記憶した記憶部から、選択されたアプリケーションプログラムに対応する負荷量を読み出す負荷量読み出し部を備え、
前記第２取得部は、
前記負荷量み出し部により読み出した負荷量を第２処理量として取得する
付記１１または１２に記載の情報処理装置。
【０１５０】
（付記１４）
アプリケーションプログラムが選択された場合に、アプリケーションプログラム毎に負荷量を記憶した記憶部から、選択されたアプリケーションプログラムに対応する負荷量を読み出す負荷量読み出し部と、
各操作環境が前記ハードウェア資源を消費する割合を示す第４処理量を取得する第４取得部とを備え、
前記第２取得部は、
該第４取得部により取得した第４処理量が前記負荷量読み出し部により読み出した負荷量を超える場合に、前記第４処理量を第２処理量として取得し、前記第４取得部により取得した第４処理量が前記負荷量読み出し部により読み出した負荷量を超えない場合に、前記負荷量み出し部により読み出した負荷量を第２処理量として取得する
付記１１または１２に記載の情報処理装置。
【０１５１】
（付記１５）
アプリケーションプログラムに負荷量が記憶された記憶部から、操作環境にて実行中のアプリケーションプログラムに対応する負荷量を読み出し、読み出した負荷量の合計値を算出する合計算出部を備え、
前記第２取得部は、
前記合計算出部により算出した合計値を第２処理量として取得する
付記１１または１２に記載の情報処理装置。
【０１５２】
（付記１６）
アプリケーションプログラムに負荷量が記憶された記憶部から、操作環境にて実行中のアプリケーションプログラムに対応する負荷量を読み出し、読み出した負荷量の合計値を算出する合計算出部と、
操作環境にて実行中の各アプリケーションプログラムが前記ハードウェア資源を消費する割合を示す第５処理量を取得する第５取得部と、
該第５取得部により取得した実行中のアプリケーションプログラムに係る第５処理量が、前記記憶部から読み出した実行中のアプリケーションプログラムに係る負荷量を超えるか否かを判断する負荷判断部と、
該負荷判断部により負荷量を超えると判断した場合に、前記実行中のアプリケーションプログラムに係る負荷量を前記第５処理量へ書き換える書き換え部とを備え、
前記第２取得部は、
前記負荷判断部により負荷量を超えないと判断した場合、前記合計値算出部により算出した合計値を第２処理量として取得し、前記負荷判断部により負荷量を超えると判断した場合、前記書き換え部により書き換えた後の負荷量に基づき、合計算出部により算出された負荷量の合計値を第２取得部として取得する
付記１１または１２に記載の情報処理装置。
【０１５３】
（付記１７）
区分けされた複数の操作環境を制御する情報処理装置の状態を出力する状態出力方法であって、
前記情報処理装置のハードウェア資源に対する操作環境毎の割当量を示す第１処理量を取得する第１取得ステップと、
前記操作環境にて実行されるアプリケーションプログラムに基づき変動する第２処理量を取得する第２取得ステップと、
前記操作環境毎に前記第１取得ステップにより取得した第１処理量と前記第２取得ステップにより取得した第２処理量との差分に基づき、前記操作環境毎に第３処理量を算出する算出ステップと、
前記操作環境毎に前記算出ステップにより算出した第３処理量及び前記第２取得ステップにより取得した第２処理量に基づき、前記操作環境毎の状態を出力する出力ステップと
を含む状態出力方法。
【符号の説明】
【０１５４】
１      物理マシン
１Ａ    可搬型記録媒体
２、２１、２２、２３      ＶＭ
３      コンピュータ
１０    ハードウェアリソース
１１    ＣＰＵ
１２    ＲＡＭ
１５    ＨＤ
１６    ＮＩＣ
１７    仮想化レイヤ（ソフトウェアレイヤ）
１８    時計部
１９    電源制御部
１５１  第１ファイル
１５２  第２ファイル
１５３  第３ファイル
１５４  第４ファイル
１５６  負荷量ＤＢ
１５７  決定ファイル
１５８  画像データファイル
１７０  制御モジュール
１７１  第１取得部
１７２  第２取得部
１７３  算出部
１７４  第４取得部
１７５  第５取得部
１７６  決定部
１７８  ＶＭ管理部
１７９  起動部
１７１０  停止部
２１１  ＯＳ
２１２  アプリケーション
３４４  画像データ
Ｎ      通信網
Ｗ      ウィンドウ
【図１】
2010237787.tif 000003
【図２】
2010237787.tif 000004
【図３】
2010237787.tif 000005
【図４】
2010237787.tif 000006
【図５】
2010237787.tif 000007
【図６】
2010237787.tif 000008
【図７】
2010237787.tif 000009
【図８】
2010237787.tif 000010
【図９】
2010237787.tif 000011
【図１０】
2010237787.tif 000012
【図１１】
2010237787.tif 000013
【図１２】
2010237787.tif 000014
【図１３】
2010237787.tif 000015
【図１４】
2010237787.tif 000016
【図１５】
2010237787.tif 000017
【図１６】
2010237787.tif 000018
【図１７】
2010237787.tif 000019
【図１８】
2010237787.tif 000020
【図１９】
2010237787.tif 000021
【図２０】
2010237787.tif 000022
【図２１】
2010237787.tif 000023
【図２２】
2010237787.tif 000024
【図２３】
2010237787.tif 000025
【図２４】
2010237787.tif 000026
【図２５】
2010237787.tif 000027
【図２６】
2010237787.tif 000028
【図２７】
2010237787.tif 000029
【図２８】
2010237787.tif 000030
【図２９】
2010237787.tif 000031
【図３０】
2010237787.tif 000032
【図３１】
2010237787.tif 000033
【図３２】
2010237787.tif 000034
【図３３】
2010237787.tif 000035
【図３４】
2010237787.tif 000036
【図３５】
2010237787.tif 000037
【図３６】
2010237787.tif 000038
【図３７】
2010237787.tif 000039
【図３８】
2010237787.tif 000040
【図３９】
2010237787.tif 000041
【図４０】
2010237787.tif 000042