(57)【要約】【課題】あるリソースプールに関連付けられた複数の仮想サーバが複数の物理サーバに分散して配置された環境において、管理者によるリソースプールおよび仮想サーバのリソース管理を容易にする。【解決手段】複数の物理サーバ１０４と、物理サーバ１０４で稼動する複数の仮想サーバ１２０と、物理サーバ１０４にネットワーク２０７を介して接続される管理サーバ１０１と、を備える情報処理システムにおけるリソース管理方法において、リソースプール１３０に関連付けられた仮想サーバ１２０と仮想サーバ１２０が稼動する物理サーバ１０４を特定し、特定した物理サーバ１０４の性能情報を収集し、収集した性能情報に基づいてリソースプール１３０の性能情報を算出することを特徴とする。【選択図】図１
2010282420.tif 000002
【特許請求の範囲】
【請求項１】
物理デバイス上を稼働する仮想デバイスにリソースを割り当てることができ、前記物理デバイスからリソースの提供を受けるリソースプールを管理し、前記物理デバイスと通信可能に接続される管理計算機において、
前記リソースプールにリソースを提供する物理デバイスの識別情報および管理対象となる前記リソースプールの識別情報を含む構成情報と、
前記物理デバイスの空きリソース量および前記リソースプールの空きリソース量を含む性能情報と、を記憶する記憶装置と、
あるリソースプールに関する表示要求を入力装置から取得する制御と、
前記構成情報を参照して、前記表示要求のあったリソースプールおよび当該リソースプールにリソースを提供する物理デバイスを特定する制御と、
前記性能情報を参照して、前記特定したリソースプールの空きリソース量および前記特定した物理デバイスの空きリソース量を特定する制御と、
前記特定したリソースプールの空きリソース量および前記特定した物理デバイスの空きリソース量を表示装置に表示する制御と、を実行する制御装置と、を有する
ことを特徴とする管理計算機。
【請求項２】
前記構成情報には、前記リソースプールからリソースを割り当てられている仮想デバイスの識別情報が含まれており、
前記性能情報には、前記物理デバイスの使用リソース量、前記仮想デバイスに割り当てられた割当リソース量、および前記仮想デバイス上の負荷を処理するのに不足しているリソース量である不足リソース量が含まれており、
前記制御装置は、
前記表示要求のあったリソースプールからリソースを割り当てる仮想デバイスを追加する場合は、前記構成情報および前記性能情報を参照して、前記追加する仮想デバイスが稼働する物理デバイスの空きリソース量と使用リソース量との合計、および前記リソースプールからリソースを割り当てられている仮想デバイス上の負荷を処理するのに必要となるリソース量である、当該割当リソース量と当該不足リソース量との合計、に基づいて、前記追加する仮想デバイスに割り当てることができるリソース量を算出する制御と、
前記算出したリソース量の最大を前記表示装置に表示する制御と、を実行する
ことを特徴とする請求項１に記載の管理計算機。
【請求項３】
前記構成情報には、前記リソースプールからリソースを割り当てられている仮想デバイスの識別情報が含まれており、
前記性能情報には、前記物理デバイスの使用リソース量、前記仮想デバイスに割り当てられた割当リソース量、および前記仮想デバイス上の負荷を処理するのに不足しているリソース量である不足リソース量が含まれており、
前記制御装置は、
前記表示要求のあったリソースプールからリソースを割り当てられている仮想デバイスを拡張する場合は、前記構成情報および前記性能情報を参照して、前記拡張する仮想デバイスが稼働する物理デバイスの空きリソース量と使用リソース量との合計、および前記リソースプールからリソースを割り当てられている仮想デバイス上の負荷を処理するのに必要となるリソース量である、当該割当リソース量と当該不足リソース量との合計、に基づいて、前記拡張する仮想デバイスに割り当てることができるリソースの拡張量を算出する制御と、
前記算出したリソースの拡張量の最大を前記表示装置に表示する制御と、を実行する
ことを特徴とする請求項１に記載の管理計算機。
【請求項４】
前記制御装置は、
前記性能情報を参照して、前記リソースプールの空きリソース量以上の空きリソース量を有する物理デバイスが存在すれば、ある物理デバイス上を稼働する仮想デバイスを移動させる要求を前記入力装置から取得する制御と、
前記仮想デバイスを当該物理デバイス上に移動して稼働させる制御と、を実行する
ことを特徴とする請求項１に記載の管理計算機。
【請求項５】
前記物理デバイスは、物理サーバであり、
前記仮想デバイスは、仮想サーバである、
ことを特徴とする請求項１から請求項４のいずれかに記載の管理計算機。
【請求項６】
物理デバイス上を稼働する仮想デバイスにリソースを割り当てることができ、前記物理デバイスからリソースの提供を受けるリソースプールを管理し、前記物理デバイスと通信可能に接続される管理計算機によるリソース管理方法において、
前記管理計算機の記憶装置は、
前記リソースプールにリソースを提供する物理デバイスの識別情報および管理対象となる前記リソースプールの識別情報を含む構成情報と、
前記物理デバイスの空きリソース量および前記リソースプールの空きリソース量を含む性能情報と、を記憶しており、
前記管理計算機の制御装置は、
あるリソースプールに関する表示要求を入力装置から取得するステップと、
前記構成情報を参照して、前記表示要求のあったリソースプールおよび当該リソースプールにリソースを提供する物理デバイスを特定するステップと、
前記性能情報を参照して、前記特定したリソースプールの空きリソース量および前記特定した物理デバイスの空きリソース量を特定するステップと、
前記特定したリソースプールの空きリソース量および前記特定した物理デバイスの空きリソース量を表示装置に表示するステップと、を実行する
ことを特徴とするリソース管理方法。
【請求項７】
前記構成情報には、前記リソースプールからリソースを割り当てられている仮想デバイスの識別情報が含まれており、
前記性能情報には、前記物理デバイスの使用リソース量、前記仮想デバイスに割り当てられた割当リソース量、および前記仮想デバイス上の負荷を処理するのに不足しているリソース量である不足リソース量が含まれており、
前記制御装置は、
前記表示要求のあったリソースプールからリソースを割り当てる仮想デバイスを追加する場合は、前記構成情報および前記性能情報を参照して、前記追加する仮想デバイスが稼働する物理デバイスの空きリソース量と使用リソース量との合計、および前記リソースプールからリソースを割り当てられている仮想デバイス上の負荷を処理するのに必要となるリソース量である、当該割当リソース量と当該不足リソース量との合計、に基づいて、前記追加する仮想デバイスに割り当てることができるリソース量を算出するステップと、
前記算出したリソース量の最大を前記表示装置に表示するステップと、を実行する
ことを特徴とする請求項６に記載のリソース管理方法。
【請求項８】
前記構成情報には、前記リソースプールからリソースを割り当てられている仮想デバイスの識別情報が含まれており、
前記性能情報には、前記物理デバイスの使用リソース量、前記仮想デバイスに割り当てられた割当リソース量、および前記仮想デバイス上の負荷を処理するのに不足しているリソース量である不足リソース量が含まれており、
前記制御装置は、
前記表示要求のあったリソースプールからリソースを割り当てられている仮想デバイスを拡張する場合は、前記構成情報および前記性能情報を参照して、前記拡張する仮想デバイスが稼働する物理デバイスの空きリソース量と使用リソース量との合計、および前記リソースプールからリソースを割り当てられている仮想デバイス上の負荷を処理するのに必要となるリソース量である、当該割当リソース量と当該不足リソース量との合計、に基づいて、前記拡張する仮想デバイスに割り当てることができるリソースの拡張量を算出するステップと、
前記算出したリソースの拡張量の最大を前記表示装置に表示するステップと、を実行する
ことを特徴とする請求項６に記載のリソース管理方法。
【請求項９】
前記制御装置は、
前記性能情報を参照して、前記リソースプールの空きリソース量以上の空きリソース量を有する物理デバイスが存在すれば、ある物理デバイス上を稼働する仮想デバイスを移動させる要求を前記入力装置から取得するステップと、
前記仮想デバイスを当該物理デバイス上に移動して稼働させるステップと、を実行する
ことを特徴とする請求項６に記載のリソース管理方法。
【請求項１０】
前記物理デバイスは、物理サーバであり、
前記仮想デバイスは、仮想サーバである、
ことを特徴とする請求項６から請求項９のいずれかに記載のリソース管理方法。
【請求項１１】
物理デバイス上を稼働する仮想デバイスにリソースを割り当てることができ、前記物理デバイスからリソースの提供を受けるリソースプールを管理し、前記物理デバイスと通信可能に接続される管理計算機によるリソース管理方法を実行させるリソース管理プログラムにおいて、
前記管理計算機の記憶装置は、
前記リソースプールにリソースを提供する物理デバイスの識別情報および管理対象となる前記リソースプールの識別情報を含む構成情報と、
前記物理デバイスの空きリソース量および前記リソースプールの空きリソース量を含む性能情報と、を記憶しており、
前記管理計算機の制御装置に、
あるリソースプールに関する表示要求を入力装置から取得する処理と、
前記構成情報を参照して、前記表示要求のあったリソースプールおよび当該リソースプールにリソースを提供する物理デバイスを特定する処理と、
前記性能情報を参照して、前記特定したリソースプールの空きリソース量および前記特定した物理デバイスの空きリソース量を特定する処理と、
前記特定したリソースプールの空きリソース量および前記特定した物理デバイスの空きリソース量を表示装置に表示する処理と、を実行させる
ことを特徴とするリソース管理プログラム。
【請求項１２】
前記構成情報には、前記リソースプールからリソースを割り当てられている仮想デバイスの識別情報が含まれており、
前記性能情報には、前記物理デバイスの使用リソース量、前記仮想デバイスに割り当てられた割当リソース量、および前記仮想デバイス上の負荷を処理するのに不足しているリソース量である不足リソース量が含まれており、
前記制御装置に、
前記表示要求のあったリソースプールからリソースを割り当てる仮想デバイスを追加する場合は、前記構成情報および前記性能情報を参照して、前記追加する仮想デバイスが稼働する物理デバイスの空きリソース量と使用リソース量との合計、および前記リソースプールからリソースを割り当てられている仮想デバイス上の負荷を処理するのに必要となるリソース量である、当該割当リソース量と当該不足リソース量との合計、に基づいて、前記追加する仮想デバイスに割り当てることができるリソース量を算出する処理と、
前記算出したリソース量の最大を前記表示装置に表示する処理と、を実行させる
ことを特徴とする請求項１１に記載のリソース管理プログラム。
【請求項１３】
前記構成情報には、前記リソースプールからリソースを割り当てられている仮想デバイスの識別情報が含まれており、
前記性能情報には、前記物理デバイスの使用リソース量、前記仮想デバイスに割り当てられた割当リソース量、および前記仮想デバイス上の負荷を処理するのに不足しているリソース量である不足リソース量が含まれており、
前記制御装置に、
前記表示要求のあったリソースプールからリソースを割り当てられている仮想デバイスを拡張する場合は、前記構成情報および前記性能情報を参照して、前記拡張する仮想デバイスが稼働する物理デバイスの空きリソース量と使用リソース量との合計、および前記リソースプールからリソースを割り当てられている仮想デバイス上の負荷を処理するのに必要となるリソース量である、当該割当リソース量と当該不足リソース量との合計、に基づいて、前記拡張する仮想デバイスに割り当てることができるリソースの拡張量を算出する処理と、
前記算出したリソースの拡張量の最大を前記表示装置に表示する処理と、を実行させる
ことを特徴とする請求項１１に記載のリソース管理プログラム。
【請求項１４】
前記制御装置に、
前記性能情報を参照して、前記リソースプールの空きリソース量以上の空きリソース量を有する物理デバイスが存在すれば、ある物理デバイス上を稼働する仮想デバイスを移動させる要求を前記入力装置から取得する処理と、
前記仮想デバイスを当該物理デバイス上に移動して稼働させる処理と、を実行させる
ことを特徴とする請求項１１に記載のリソース管理プログラム。
【請求項１５】
前記物理デバイスは、物理サーバであり、
前記仮想デバイスは、仮想サーバである、
ことを特徴とする請求項１１から請求項１４のいずれかに記載のリソース管理プログラム。
【請求項１６】
請求項１１から請求項１５のいずれかに記載のリソース管理プログラムを記録した記録媒体。
【請求項１７】
物理デバイス上を稼働する仮想デバイスにリソースを割り当てることができ、前記物理デバイスからリソースの提供を受けるリソースプールを管理する管理計算機と、前記物理デバイスとが通信可能に接続される情報処理システムにおいて、
前記管理計算機は、
前記リソースプールにリソースを提供する物理デバイスの識別情報および管理対象となる前記リソースプールの識別情報を含む構成情報と、
前記物理デバイスの空きリソース量および前記リソースプールの空きリソース量を含む性能情報と、を記憶する記憶装置と、
あるリソースプールに関する表示要求を前記管理計算機の入力装置から取得する制御と、
前記構成情報を参照して、前記表示要求のあったリソースプールおよび当該リソースプールにリソースを提供する物理デバイスを特定する制御と、
前記性能情報を参照して、前記特定したリソースプールの空きリソース量および前記特定した物理デバイスの空きリソース量を特定する制御と、
前記特定したリソースプールの空きリソース量および前記特定した物理デバイスの空きリソース量を前記管理計算機の表示装置に表示する制御と、を実行する制御装置と、を有する
ことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機の管理として、特に複数の計算機のリソースを管理する技術に関する。
【背景技術】
【０００２】
企業の情報処理システム及び企業のデータセンタにおいて、サーバの保有台数が増大している。これに伴って、サーバの運用管理コストが増大している。
この問題を解決するため、サーバを仮想化する技術が知られている。サーバを仮想化する技術は、複数の仮想サーバが単一の物理サーバで稼動できる技術である。具体的には、物理サーバに備わるプロセッサ（ＣＰＵ:Central Processing Unit）及びメモリ等のリソースが分割され、分割された物理サーバのリソースが、それぞれ複数の仮想サーバに割り当てられる。そして、単一の物理サーバで複数の仮想サーバが同時に稼動する。
【０００３】
今日、ＣＰＵの処理性能が向上したこと及びメモリ等のリソースのコストが低下したことによって、サーバを仮想化する技術に関する需要が増大している。
また、サーバを仮想化する技術は、複数の仮想サーバが単一の物理サーバで稼動できるというメリットの他に、複数の仮想サーバでワークロード管理をすることによって、物理サーバのリソースをより有効に利用できるというメリットももたらす。
【０００４】
ここで、ワークロード管理とは、物理サーバの負荷等の状況に応じて、仮想サーバに割り当てられる物理サーバのリソースの量を変更することである。例えば、ある仮想サーバの負荷が高くなった場合、同じ物理サーバで稼動する負荷の低い仮想サーバに割り当てられている物理サーバのリソースを負荷の高い仮想サーバに割り当てる。これによって、物理サーバのリソースを有効に利用できる。
【０００５】
さらに、リソースプールを用いると、グループ化した仮想サーバに対して、割り当てるリソース量をまとめて管理できる。グループ化した仮想サーバに割り当てる合計リソース量を設定し、グループ化した仮想サーバ間で設定した合計リソース量のリソースを共有させることができる。リソースプールの利用者は、リソースプールの合計リソース量内であれば、仮想サーバのサイズを拡張したり、仮想サーバを新たに作成したりできる。
【０００６】
また、グループ内で適用されるリソース割当てポリシを設定でき、例えば、グループ内の仮想サーバ内でリソースを競合した場合には優先的にリソースを割り当てる仮想サーバを設定することもできる。さらに、グループに占有的にリソースを割り当てるだけでなく、グループ間でリソースを共有させることもできる。グループ間で共有するリソースを競合した場合に、優先的にリソースを割り当てるグループを設定できるような割当てポリシを設定できる。
このように、リソースプールのリソース管理をすることによって、複数の物理サーバのリソースをより有効に利用できる（特許文献１、特許文献２、非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−２７２２６３号公報
【特許文献２】特開平２−１２２３６３号公報
【非特許文献】
【０００８】
【非特許文献１】[online][平成２１年４月１７日検索]、インターネット<URL: http://www.vmware.com/files/jp/pdf/vi3_35_25_u2_resource_mgmt_ja.pdf> VMware, Inc「リソース管理ガイド」
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、従来のリソースプールのリソース管理では、主にリソースプールの構成やリソース使用状況を監視するため、リソース管理を行う管理者の所望するリソース管理を実現できない場合がある。
【００１０】
例えば、ある仮想サーバは、一般に、同時に複数の物理サーバ上には存在できず、ある一時点では必ず一つの物理サーバ上にある必要がある。複数の物理サーバのリソースの一部をそれぞれ分割して仮想サーバに割り当てることができない。このような物理的なリソースの制約があるため、リソースプールには十分な空きリソースがあっても、リソースプールを構成する物理サーバに空きリソースが不足していると、リソースプール上に十分なリソースが割り当てられた仮想サーバを作成できない。また、リソースプールに十分な空きリソースがあっても、物理サーバに空きリソースが不足していると、リソースプールに属する仮想サーバは、物理サーバの空きリソース以上には割り当てリソースを拡張できない。
【００１１】
このように、リソースプールに十分な空きリソースがあるにも関わらず仮想サーバをリソースプールに追加できない理由を管理者が特定できなかったり、仮想サーバが十分なリソースを確保できない理由を管理者が特定できなかったりする場合があり、リソース管理が容易でない。
【００１２】
このような事情を鑑みて、本発明の課題は、あるリソースプールに関連付けられた複数の仮想サーバが単一または複数の物理サーバに分散して配置された環境において、管理者によるリソースプールおよび仮想サーバのリソース管理を容易にすることである。
【課題を解決するための手段】
【００１３】
本発明は、演算処理をするプロセッサと、プロセッサに接続されるメモリと、メモリに接続されるインターフェースと、を備える複数の物理サーバと、物理サーバで稼動する複数の仮想サーバと、物理サーバにネットワークを介して接続され、演算処理をするプロセッサと、プロセッサに接続されるメモリと、メモリに接続されるインターフェースと、を備える管理計算機と、を備える情報処理システムにおけるリソースの管理方法であって、管理計算機は、物理サーバと当該物理サーバで稼動する仮想サーバとを対応付ける情報と、一つまたは複数の仮想サーバをグループとして管理する情報と、を備え、グループの指定を受け付けて、当該グループに対応する仮想サーバを特定し、特定した仮想サーバが稼動する物理サーバを特定し、特定した物理サーバの処理性能を収集し、収集した処理性能に基づいてリソースプールの処理性能を算出することを特徴とする。
【００１４】
このように本発明では、リソースプールを構成する物理サーバを意識したリソース管理がなされるため、管理者は、物理的なリソースの制約により発生した事象を特定することができ、リソースの管理が容易になる。
近年では、仮想サーバに要求されるリソース量が大きくなり、物理サーバのリソース量に近づいている。そのため、物理サーバのリソース量の空きがほとんど無い状態で、十分なリソース量の空きがあるリソースプールの管理が行われることが通常である。そのような管理において、リソースプールの管理者が物理サーバを監視することができるようになるのは非常に有益である。従来は、仮想サーバに要求されるリソース量がそれほど大きくなかったので、リソースプールの管理者が物理サーバに着目する必要性は乏しかった。
詳細は後記する。
【発明の効果】
【００１５】
本発明によれば、あるリソースプールに関連付けられた複数の仮想サーバが単一または複数の物理サーバに分散して配置された環境において、管理者によるリソースプールおよび仮想サーバのリソース管理を容易にすることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施の形態の情報処理システムの構成図
【図２】情報処理システムのハードウェア構成図
【図３】仮想サーバ性能テーブル３００の構成図
【図４】物理サーバ性能テーブル４００の構成図
【図５】プール性能テーブル５００の構成図
【図６】仮想サーバ物理サーバ対応テーブル６００の構成図
【図７】仮想サーバプール対応テーブル７００の構成図
【図８】プール物理サーバ対応テーブル８００の構成図
【図９】プール構成テーブル９００の構成図
【図１０】本発明の第１の実施の形態のリソースプールの管理を示す図
【図１１】第１の実施の形態の表示部１１４の処理動作を示すフロー図
【図１２】第１の実施の形態のリソースプール１３０の性能情報を表示する画面を示す図
【図１３】第１の実施の形態のリソースプール１３０の性能情報を表示する画面を示す図
【図１４】第１の実施の形態のリソースプール１３０の性能情報を表示する画面を示す図
【図１５】シミュレーション部１１５の処理フロー図
【図１６Ａ】リソースプール１３０が物理サーバ群を占有しているときの処理動作のフロー図
【図１６Ｂ】リソースプール１３０が物理サーバ群を占有しているときの処理動作のフロー図
【図１６Ｃ】リソースプール１３０が物理サーバ群を占有しているときの処理動作のフロー図
【図１７Ａ】サイズ固定のリソースプール１３０が物理サーバ群を共有しているときの処理動作のフロー図
【図１７Ｂ】サイズ固定のリソースプール１３０が物理サーバ群を共有しているときの処理動作のフロー図
【図１７Ｃ】サイズ固定のリソースプール１３０が物理サーバ群を共有しているときの処理動作のフロー図
【図１８Ａ】サイズ変動のリソースプール１３０が物理サーバ群を共有しているときの処理動作のフロー図
【図１８Ｂ】サイズ変動のリソースプール１３０が物理サーバ群を共有しているときの処理動作のフロー図
【図１８Ｃ】サイズ変動のリソースプール１３０が物理サーバ群を共有しているときの処理動作のフロー図
【図１９】プール管理部１１０の処理動作のフロー図
【図２０】本発明の第１の実施の形態のリソースプールの管理を示す図
【図２１】本発明の第１の実施の形態のリソースプールの管理を示す図
【図２２】本発明の第２の実施の形態の仮想サーバ性能テーブル３００の構成図
【図２３】本発明の第２の実施の形態の物理サーバ性能テーブル４００の構成図
【図２４】本発明の第２の実施の形態のプール性能テーブル５００の構成図
【発明を実施するための形態】
【００１７】
≪第１の実施の形態≫
図１は、本発明の第１の実施の形態の情報処理システムの構成図である。
本実施の形態の情報処理システムは、管理サーバ（管理計算機）１０１と、物理サーバ１０４と、端末１０３と、を備える。
管理サーバ１０１と、物理サーバ１０４と、端末１０３は、ネットワーク２０７を介して接続されている。物理サーバ１０４は、サーバ仮想化プログラム１２１を備え、そのプログラムを読み出して処理を実行することにより、仮想サーバ１２０をその物理サーバ１０４上に稼働する。
管理サーバ１０１、物理サーバ１０４、端末１０３は、計算機２０１（図２参照）として構成されている。
【００１８】
図２は、計算機２０１、外部記憶装置２０６、ネットワーク２０７、入力装置２０８、出力装置２０９を示す、情報処理システムのハードウェア構成図である。
計算機２０１は、ＣＰＵ（制御装置）２０２、主記憶装置（記憶装置）２０３、外部記憶装置インターフェース２０４、通信インターフェース２０５、を備える。外部記憶装置インターフェース２０４は、外部記憶装置（記憶装置）２０６に接続され、通信インターフェース２０５は、ネットワーク２０７に接続されている。また、計算機２０１は、入力装置（例：キーボード、ポインティングデバイス）２０８と、出力装置（表示装置（例：ディスプレイ））２０９が接続されている。また、管理サーバ１０１は、図示していないがコンソールを備える。なお、管理サーバ１０１が、コンソールを備えなくとも、管理サーバ１０１にネットワーク２０７を介して接続する別の計算機が、コンソールを備えていても良い。
また、計算機２０１は、外部記憶装置２０６、入力装置２０８、出力装置２０９を含めて備えた構成としても良い。
【００１９】
管理サーバ１０１は、物理サーバ１０４と、サーバ仮想化プログラム１２１と、仮想サーバ１２０と、リソースプール１３０を管理および制御する。本実施の形態では、リソースプール１３０は、管理サーバ１０１とは別の計算機において専用のプログラム（リソースプール構成用のプログラム）を用いて物理サーバ１０４から構成され、その計算機が記憶し、管理サーバ１０１からの指令に従って、管理サーバ１０１によるリソースプール１３０の管理を実現するものとして説明する。しかし、管理サーバ１０１がリソースプール１３０を記憶して管理しても良い。
管理サーバ１０１は、プール管理部１１０と、制御部１１１と、性能管理部１１２と、構成管理部１１３と、表示部１１４と、シミュレーション部１１５と、記憶部１１９を備える。
【００２０】
プール管理部１１０は、リソースプール１３０のリソース量を、例えば記憶部１１９に記憶されている各種テーブル（３００〜９００）を用いて管理する処理部である。
制御部１１１は、サーバ仮想化プログラム１２１を介して仮想サーバ１２０を制御する処理部である。
【００２１】
性能管理部１１２は、仮想サーバ１２０、物理サーバ１０４、リソースプール１３０の性能情報を管理する処理部である。サーバ仮想化プログラム１２１を介して、性能情報を収集し、記憶部１１９に、後述する仮想サーバ性能テーブル３００と、後述する物理サーバ性能テーブル４００と、後述するプール性能テーブル５００に、当該性能情報を記録する。また、表示部１１４やその他の処理部が要求した性能情報を、仮想サーバ性能テーブル３００や、物理サーバ性能テーブル４００や、プール性能テーブル５００から読み込み、応答する。
【００２２】
構成管理部１１３は、仮想サーバ１２０、物理サーバ１０４、リソースプール１３０の構成情報を管理する処理部である。サーバ仮想化プログラム１２１を介して、構成情報を収集し、記憶部１１９に、後述する仮想サーバ物理サーバ対応テーブル６００と、後述する仮想サーバプール対応テーブル７００と、後述するプール物理サーバ対応テーブル８００と、後述するプール構成テーブル９００を記録する。また、表示部１１４やその他の処理部が要求した構成情報を、仮想サーバ物理サーバ対応テーブル６００や、仮想サーバプール対応テーブル７００や、プール物理サーバ対応テーブル８００や、プール構成テーブル９００から読込み、応答する。
【００２３】
表示部１１４は、管理サーバ１０１を操作する管理者の要求に応じて、仮想サーバ１２０、物理サーバ１０４、リソースプール１３０の性能情報または構成情報を表示する処理部である。
シミュレーション部１１５は、仮想サーバ１２０、物理サーバ１０４、リソースプール１３０のリソース量をシミュレーションして算出する処理部である。
【００２４】
記憶部１１９は、管理サーバ１０１の管理情報（性能情報、構成情報その他の管理サーバ１０１によるリソースの管理に必要な情報の総称）の記憶領域である。
記憶部１１９は、仮想サーバ性能テーブル３００と、物理サーバ性能テーブル４００と、プール性能テーブル５００と、仮想サーバ物理サーバ対応テーブル６００と、仮想サーバプール対応テーブル７００と、プール物理サーバ対応テーブル８００と、プール構成テーブル９００と、を備える。また、管理サーバ１１０の処理部による処理結果やネットワーク２０７上で取得したデータ等を一時的または半永久的に記憶する。
【００２５】
仮想サーバ性能テーブル３００は、仮想サーバ１２０のリソース割当てに関する性能情報および性能情報に関係する設定情報を記憶するテーブルである。
図３は、仮想サーバ性能テーブル３００の構成図である。各行に、仮想サーバ１２０に割り当てられたＣＰＵ２０２に関する性能情報と性能情報に関係する設定情報を記録している。これらの性能情報は、クロック周波数で表現している。
なお、前記ＣＰＵ２０２は、当該物理サーバ１０４が備えるＣＰＵ２０２をいう。以下、単に「ＣＰＵ２０２」と記載するときは、特に説明しない限り、当該物理サーバ１０４が備えるＣＰＵを意味するものとする。また、主記憶装置２０３、外部記憶装置２０６についても同様である。
【００２６】
仮想サーバ性能テーブル３００は、仮想サーバＩＤ（Identifier）欄３０１と、ＣＰＵ割当量欄３０２と、ＣＰＵ割当不足量欄３０３と、ＣＰＵ割当上限欄３０４と、ＣＰＵ割当予約欄３０５と、ＣＰＵ割当加重欄３０６と、を備える。
仮想サーバＩＤ欄３０１には、仮想サーバ１２０を一意に識別する情報が記憶されている。
【００２７】
ＣＰＵ割当量欄３０２には、仮想サーバ１２０が、サーバ仮想化プログラム１２１から割り当てられたＣＰＵ２０２の動作クロック周波数（仮想デバイスの割当リソース量）を記憶する。仮想サーバ１２０は、この割り当てられた動作クロック周波数で動作する。サーバ仮想化プログラム１２１は、仮想サーバ１２０の負荷に応じて動的に仮想サーバ１２０に割当てる動作クロック周波数を変動させる。そのため、ＣＰＵ割当量欄３０２に記憶する値は逐次変化する。
【００２８】
ＣＰＵ割当不足量欄３０３には、仮想サーバ１２０が、負荷を処理するためサーバ仮想化プログラム１２１に割当ての要求をしたが割り当てられなかったＣＰＵ２０２の動作クロック周波数（仮想デバイスの不足リソース量）を記録する。ＣＰＵ割当量と、ＣＰＵ割当不足量とを合計した値が、仮想サーバ１２０上の負荷を処理するために仮想サーバ１２０に割当てる必要があったリソース量である。このＣＰＵ割当不足量は、物理サーバ１０４上に稼動する他の仮想サーバ１２０とリソースを競合し、割り当てられなかった動作クロック周波数を示す。なお、ＣＰＵ割当不足量は、例えば物理サーバ１０４の性能や負荷の量等に基づいて周知の解析方法により算出することができる。
【００２９】
ＣＰＵ割当上限欄３０４には、仮想サーバ１２０に割り当てるＣＰＵ２０２の動作クロック周波数の制限値を記録する。仮想サーバ１２０が要求しても、サーバ仮想化プログラム１２１はＣＰＵ割当上限欄３０４に記憶された値以上のＣＰＵ割当てを仮想サーバ１２０に割り当てない。なお、「ｎ／ａ」は、該当する値が存在しないことを示す（not applicable）。
【００３０】
ＣＰＵ割当予約欄３０５には、仮想サーバ１２０に割り当てるＣＰＵ２０２の動作クロック周波数の保証値を記憶する。仮想サーバ１２０が要求すると、サーバ仮想化プログラム１２１が仮想サーバ１２０にＣＰＵ割当予約欄３０５に記憶された値の動作クロック周波数を最低限割り当てることを保証する。
【００３１】
ＣＰＵ割当加重欄３０６には、仮想サーバ１２０が物理サーバ１０４上の他の仮想サーバ１２０とＣＰＵ２０２を競合したときに、サーバ仮想化プログラム１２１が割当て量を調整するために用いる重み付け情報の値を記憶する。
【００３２】
本実施の形態では、仮想サーバ性能テーブル３００に記憶する仮想サーバ１２０の性能情報として、ＣＰＵ２０２の動作クロック周波数を示したが、これに限定しない。仮想サーバ１２０の性能情報は、仮想サーバ１２０に割り当てられたリソース量であれば、いずれの情報でも良く、例えば、ＣＰＵ２０２の全クロック周波数と動作クロック周波数とから算出した使用状況を示すパーセンテージ情報、主記憶装置２０３の割当て容量、ネットワーク２０７のアクセスの帯域、外部記憶装置２０６のディスク容量、ディスクアクセス入出力の帯域等でも良い。これらのいずれか一部または全てであっても良い。
【００３３】
物理サーバ性能テーブル４００は、物理サーバ１０４のリソース使用状況を示す性能情報を記憶するテーブルである。物理サーバ性能テーブル４００の各行には、物理サーバ１０４の性能情報を記録する。
【００３４】
図４は、物理サーバ性能テーブル４００の構成図である。各行には、物理サーバ１０４のＣＰＵ２０２の性能情報をクロック周波数表示で記憶している。
物理サーバ性能テーブル４００は、物理サーバＩＤ欄４０１と、ＣＰＵ合計欄４０２と、ＣＰＵ使用欄４０３と、ＣＰＵ空き欄４０４と、を備える。
【００３５】
物理サーバＩＤ欄４０１には、物理サーバ１０４を一意に識別するための情報を記憶する。
ＣＰＵ合計欄４０２には、物理サーバ１０４に搭載されたＣＰＵ２０２の全クロック周波数を記憶する。
ＣＰＵ使用欄４０３には、物理サーバ１０４に搭載されたＣＰＵ２０２の動作クロック周波数（物理デバイスの使用リソース量）を記憶する。ＣＰＵ合計欄４０２の値を全体としたときのＣＰＵ使用欄４０３の値の割合は、物理サーバ１０４のＣＰＵ使用率である。また、物理サーバ１０４上で稼動する全ての仮想サーバ１２０のＣＰＵ割当量（符号３０２参照）を合計した値は、物理サーバ１０４のＣＰＵ使用欄４０３の値となる。
【００３６】
ＣＰＵ空き欄４０４には、物理サーバ１０４に搭載されたＣＰＵ２０２の動作しなかったクロック周波数（物理デバイスの空きリソース量）を記憶する。ＣＰＵ合計欄４０２の値からＣＰＵ使用欄４０３の値を差し引いた値がＣＰＵ空き欄４０４の値である。
【００３７】
本実施の形態では、物理サーバ性能テーブル４００に記憶する物理サーバ１０４の性能情報として、ＣＰＵ２０２のクロック周波数に関する情報を示したが、情報の内容や表現形式はこれに限定しない。物理サーバ１０４のリソースの使用状況を示す性能情報であればいずれの情報でも良く、例えば、ＣＰＵ２０２のクロック周波数と動作クロック周波数とから算出した使用量を示すパーセンテージ情報、主記憶装置２０３の使用容量、ネットワーク２０７のアクセスの帯域、外部記憶装置２０６のディスク量、ディスクアクセス入出力の帯域等でも良い。これらのいずれか一部または全てであっても良い。
【００３８】
プール性能テーブル５００は、リソースプール１３０の使用状況を示す性能情報や性能情報に関係する設定情報を記憶するテーブルである。
【００３９】
図５は、プール性能テーブル５００の構成図である。プール性能テーブル５００の各行には、リソースプール１３０の使用状況を示す性能情報を記憶する。
プール性能テーブル５００は、プールＩＤ欄５０１と、ＣＰＵ割当合計欄５０２と、ＣＰＵ割当使用欄５０３と、ＣＰＵ割当空き欄５０４と、ＣＰＵ割当上限欄５０５と、ＣＰＵ割当予約欄５０６と、ＣＰＵ割当加重欄５０７と、を備える。
【００４０】
プールＩＤ欄５０１には、リソースプール１３０を一意に識別する情報を記憶している。
ＣＰＵ割当合計欄５０２には、リソースプール１３０に割り当てられたＣＰＵ２０２のクロック周波数の合計量を記憶している。リソースプール１３０の利用者（管理者）は、仮想サーバ１２０に割り当てられるクロック周波数の合計がＣＰＵ割当合計欄５０２の値以内になる範囲で、仮想サーバ１２０を新たに作成したり、仮想サーバ１２０に割り当てられるクロック周波数を拡張したりできる。
【００４１】
ＣＰＵ割当使用欄５０３には、リソースプール１３０に割り当てられたＣＰＵ２０２のクロック周波数の使用量を記憶している。リソースプール１３０に関連付けられた仮想サーバ１２０に割り当てられるクロック周波数の合計量を示している。
【００４２】
ＣＰＵ割当空き欄５０４には、リソースプール１３０に割り当てられたＣＰＵ２０２のクロック周波数の未使用量（リソースプールの空きリソース量）を記憶している。リソースプール１３０に割り当てられたＣＰＵ２０２のクロック周波数で、リソースプール１３０に関連付けられたどの仮想サーバ１２０にも割り当てられてないクロック周波数合計量を示している。ＣＰＵ割当合計欄５０２の値からＣＰＵ使用欄５０３の値を差し引いた値が記録される。
【００４３】
ＣＰＵ割当上限欄５０５には、リソースプール１３０に割り当てられるＣＰＵ２０２のクロック周波数の上限値を記憶している。リソースプール１３０に割り当てるクロック周波数の合計量が変動する場合に、ＣＰＵ割当上限欄５０５の値よりも多くクロック周波数が割り当てられないことを示している。
【００４４】
ＣＰＵ割当予約欄５０６には、リソースプール１３０に割り当てられるＣＰＵ２０２のクロック周波数の保証値を記録している。リソースプール１３０に割り当てるクロック周波数の合計量が変動する場合に、ＣＰＵ割当予約欄５０６の値を最低限割り当てることを保証することを示している。
【００４５】
ＣＰＵ割当加重欄５０７には、リソースプール１３０に割り当てられるＣＰＵ２０２のクロック周波数の割当て重みを記憶している。リソースプール１３０に割当てるクロック周波数の合計量が変動するとき、他のリソースプール１３０と物理サーバ１０４群を競合する場合に、ＣＰＵ割当加重５０７に記憶する値で優先度づけして割当てるクロック周波数を調整し、リソースプール１３０にクロック周波数を割り当てる。
【００４６】
本実施の形態では、プール性能テーブル５００に記憶するリソースプール１３０の性能情報として、ＣＰＵ２０２のクロック周波数に関する情報を示したが、情報の内容や表現形式はこれに限定しない。リソースプール１３０のリソースの使用状況を示す性能情報であればいずれの情報でも良く、例えば、ＣＰＵ２０２のクロック周波数と動作クロック周波数とから算出した使用量を示すパーセンテージ情報、主記憶装置２０３の容量、ネットワーク２０７のアクセスの帯域、外部記憶装置２０６のディスク容量、ディスクアクセス入出力の帯域等でも良い。これらのいずれか一部または全てであっても良い。
【００４７】
仮想サーバ物理サーバ対応テーブル６００は、仮想サーバ１２０とその仮想サーバ１２０が稼動する物理サーバ１０４との対応関係を記録するテーブルである。
図６は、仮想サーバ物理サーバ対応テーブル６００の構成図である。各行には、仮想サーバ１２０とその仮想サーバ１２０が稼動する物理サーバ１０４との対応関係を記録している。仮想サーバ物理サーバ対応テーブル６００は、仮想サーバＩＤ欄６０１と、物理サーバＩＤ欄６０２と、を備える。
【００４８】
仮想サーバＩＤ欄６０１には、仮想サーバ１２０を一意に識別する情報が記憶されている。
物理サーバＩＤ欄６０２には、物理サーバ１０４を一意に識別する情報が記憶されている。
【００４９】
仮想サーバプール対応テーブル７００は、リソースプール１３０と仮想サーバ１２０との対応関係を記憶するテーブルである。
図７は、仮想サーバプール対応テーブル７００の構成図である。各行には、仮想サーバ１２０とリソースプール１３０の対応関係を記録している。仮想サーバプール対応テーブル７００は、プールＩＤ欄７０１と、仮想サーバＩＤ欄７０２と、を備えている。
【００５０】
プールＩＤ欄７０１には、リソースプール１３０を一意に識別する情報が記憶されている。
仮想サーバＩＤ欄７０２には、仮想サーバ１２０を一意に識別する情報が記憶されている。
【００５１】
プール物理サーバ対応テーブル８００は、リソースプール１３０とリソースプール１３０にリソースを提供する物理サーバ１０４との対応関係を記憶するテーブルである。
図８は、プール物理サーバ対応テーブル８００の構成図である。各行には、リソースプール１３０と物理サーバ１０４の対応関係を記憶している。プール物理サーバ対応テーブル８００は、プールＩＤ欄８０１と、物理サーバＩＤ欄８０２と、共有欄８０３と、を備えている。
【００５２】
プールＩＤ欄８０１には、リソースプール１３０を一意に識別する情報を記憶している。
物理サーバＩＤ欄８０２には、物理サーバ１０４を一意に識別する情報を記憶している。
共有欄８０３には、リソースプール１３０が物理サーバ１０４を共有しているか否かを示す情報を記憶している。図８によれば、物理サーバＡ、Ｂは、プールＡ、Ｂにリソースを提供したとき、物理サーバＡは、必要に応じて物理サーバＢが提供したリソースを利用することができ、物理サーバＢは、必要に応じて物理サーバＡが提供したリソースを利用することができる（共有）。しかし、物理サーバＣ、Ｄは、プールＣにリソースを提供しても、物理サーバＣは、物理サーバＤが提供したリソースを利用することはできないし、物理サーバＤは、物理サーバＣが提供したリソースを利用することはできない（占有）。
【００５３】
プール構成テーブル９００は、リソースプール１３０とそのリソースプール１３０のリソースを利用可能な物理サーバ１０４との対応関係を記憶するテーブルである。リソースプール１３０は、対応関係のある物理サーバ１０４からリソースの提供を受ける。
【００５４】
図９は、プール構成テーブル９００の構成図である。各行には、リソースプール１３０と物理サーバ１０４の対応関係を記憶している。プール構成テーブル９００は、プールＩＤ欄９０１と、物理サーバＩＤ欄９０２と、を備えている。
プールＩＤ欄９０１には、リソースプール１３０を一意に識別する情報を記憶している。
物理サーバＩＤ欄９０２には、物理サーバ１０４を一意に識別する情報を記憶している。
なお、図１０に関する説明は、後記する。
【００５５】
次に、本実施の形態の情報処理システムで実行される処理について説明する。管理サーバ１０１のＣＰＵ２０２は、管理サーバ１０１の主記憶装置２０３に記憶されたリソース管理用のプログラム（リソース管理プログラム）を記憶領域に読み出して、そのプログラムに記述されたコードに基づいて、この処理を実行する。ハードウェアと協働して前記実行をすることにより、管理サーバ１０１が備える処理部（１１０〜１１５）による機能が実現される。ただ、説明の便宜上、以下に説明する処理は、処理部（１１０〜１１５）のいずれかが実行するものとして説明する。
なお、前記管理用のプログラムは、管理サーバ１０１が記憶するだけでなく、リソースプール１３０を作成する別の計算機が記憶し、前記実行を行うようにしても良い。
【００５６】
図１１は、第１の実施の形態の表示部１１４の処理動作を示すフロー図である。
（１）表示部１１４は、プールＸを特定する（ステップ１１０１）。例えば、あるリソースプール１３０を特定した表示要求を受信したとき、そのリソースプール１３０をプールＸとして特定する。
【００５７】
（２）表示部１１４は、性能管理部１１２を通して、プール性能テーブル５００を参照し、プールＸの性能情報Ｘを取得する（ステップ１１０２）。具体的には、プール性能テーブル５００を参照し、プールＸをキーにしてプールＩＤ欄５０１の内容を検索し、該当する行のＣＰＵ割当合計欄５０２、ＣＰＵ割当使用欄５０３、ＣＰＵ割当空き欄５０４の内容を、性能情報Ｘとして記憶する。
【００５８】
（３）表示部１１４は、構成管理部１１３を通して、プール物理サーバ対応テーブル８００を参照し、プールＸを構成する物理サーバ群Ｘを特定する（ステップ１１０３）。具体的には、プール物理サーバ対応テーブル８００を参照し、プールＸをキーにしてプールＩＤ欄８０１の内容を検索し、該当する行の物理サーバＩＤ欄８０２の内容を、物理サーバ群Ｘとして記憶する。複数の行が該当した場合は、該当した全ての行の物理サーバ欄８０２の内容を物理サーバ群Ｘとして記憶する。
【００５９】
（４）表示部１１４は、構成管理部１１３を通して、仮想サーバプール対応テーブル７００を参照し、プールＸに関連付けられた仮想サーバ群Ｘを特定する（ステップ１１０４）。具体的には、仮想サーバプール対応テーブル７００を参照し、プールＸをキーにしてプールＩＤ欄７０１の内容を検索し、該当した行の仮想サーバＩＤ欄７０２の内容を仮想サーバ群Ｘとして記憶する。複数行該当した場合は、全ての行の仮想サーバＩＤ欄７０２の内容を仮想サーバ群Ｘとして記憶する。
【００６０】
（５）表示部１１４は、物理サーバ群Ｘに属する物理サーバＸとしてステップ１１０６からステップ１１１０を繰り返す（ステップ１１０５）。ここでは、物理サーバ群Ｘに複数の物理サーバ１０４が含まれる場合には、それぞれの物理サーバ１０４を特定し（ループ処理で対象（ここでは、物理サーバ１０４）を１つ１つ決定することを意味する。他のループ処理についても同様である。）、特定した物理サーバ１０４についてステップ１１０６からステップ１１１０を実行する。
【００６１】
（６）表示部１１４は、性能管理部１１２を通して、物理サーバ性能テーブル４００を参照し、物理サーバＸの性能情報Ｚを取得する（ステップ１１０６）。具体的には、物理サーバ性能テーブル４００を参照し、ステップ１１０５で特定した物理サーバの識別情報をキーにして、物理サーバＩＤ欄４０１を検索し、該当する行のＣＰＵ合計欄４０２、ＣＰＵ使用欄４０３、ＣＰＵ空き欄４０４を性能情報Ｚとして記憶する。
【００６２】
（７）表示部１１４は、構成管理部１１３を通して、仮想サーバ物理サーバ対応テーブル６００を参照し、物理サーバＸに関連付けられた仮想サーバ群Ｙを特定する（ステップ１１０７）。具体的には、仮想サーバ物理サーバ対応テーブル６００を参照し、ステップ１１０５で特定した物理サーバの識別情報をキーにして、物理サーバＩＤ欄６０２の内容を検索し、該当した行の仮想サーバＩＤ欄６０１の内容を仮想サーバ群Ｙとして記憶する。複数行該当した場合は、各行の仮想サーバＩＤ欄６０１の内容全てを仮想サーバ群Ｙとして記憶する。
【００６３】
（８）表示部１１４は、仮想サーバ群Ｙのうち、仮想サーバ群Ｘに属するものを仮想サーバ群Ｚとして特定する（ステップ１１０８）。特定したリソースプール１３０がリソースの提供を受ける物理サーバ１０４上にある仮想サーバ１２０群（仮想サーバ群Ｙ）のうち、特定したリソースプール１３０に属する仮想サーバ１２０群（仮想サーバ群Ｘ）を特定して、仮想サーバ群Ｚとする。
【００６４】
（９）表示部１１４は、仮想サーバ群Ｚに属する仮想サーバＸについてステップ１１１０を繰り返す（ステップ１１０９）。仮想サーバ群Ｚに複数の仮想サーバ１２０の識別情報が含まれていた場合、それぞれの仮想サーバ１２０の識別情報について、仮想サーバＸとして、ステップ１１１０を実行する。
【００６５】
（１０）表示部１１４は、性能管理部１１２を通して、仮想サーバ性能テーブル３００を参照し、仮想サーバＸの性能情報Ｚを取得する（ステップ１１１０）。仮想サーバ性能テーブル３００を参照し、仮想サーバＸをキーにして、仮想サーバＩＤ欄３０１を検索し、該当した行のＣＰＵ割当量欄３０２等の情報を取得する。
【００６６】
表示部１１４は、プールＸと、プールＸを構成する物理サーバ群Ｘと、物理サーバ群Ｘ上で稼動しプールＸに属する仮想サーバ群Ｚと、を関連付けて表示する。また、プールＸの性能情報Ｘと、物理サーバ群Ｘの性能情報Ｚと、さらに仮想サーバ群Ｚの性能情報Ｚを合わせて関連付けて表示する。
【００６７】
図１２は、第１の実施の形態のリソースプール１３０の性能情報を表示する画面を示す図である。リソースプール１３０の利用者は、管理サーバ１０１の入力装置２０８を操作して、表示部１１４にリソースプール１３０を特定して性能情報の表示要求を出すと、表示部１１４は構成管理部１１３を介して、特定したリソースプール１３０を構成する物理サーバ１０４を特定し、リソースプール１３０に関連付けられた仮想サーバ１２０を特定し、仮想サーバ１２０と物理サーバ１０４とを対応づける。さらに、表示部１１４は、性能管理部１１２を介して、特定したリソースプール１３０の性能情報を取得して、物理サーバ１０４の性能情報と、物理サーバ１０４上で稼動する仮想サーバ１２０の性能情報を取得し、取得した情報を画面１２０１に表示する。リソースプールの利用者は、リソースプール１３０の利用状況と、リソースプール１３０を構成する物理サーバ１０４の利用状況、仮想サーバ１２０の利用状況とを関連付けて参照できる。
【００６８】
画面１２０１はプールＣというリソースプールに関する利用状況を表示している。プールＣの利用状況１２０１では、プールＣのＣＰＵ割当使用量の一部である仮想サーバＥ（ＶＭＥ）のＣＰＵ割当量１２０４と、プールＣのＣＰＵ割当使用量の一部である仮想サーバＦ（ＶＭＦ）のＣＰＵ割当量１２０５と、プールＣのＣＰＵ割当空き量１２０６と、プールＣのＣＰＵ割当合計量１２０７とが表示されている。
また、プールＣにリソースを提供している物理サーバ（この場合は、物理サーバＣ（ＰＭＣ）および物理サーバＤ（ＰＭＤ））に関するリソースの利用状況を示すプールＣの内訳１２０３では、物理サーバＣのＣＰＵ使用量１２０８と、物理サーバＣのＣＰＵ空き量１２０９と、物理サーバＣのＣＰＵ合計量１２１０と、物理サーバＤのＣＰＵ使用量１２１１と、物理サーバＤのＣＰＵ空き量１２１２と、物理サーバＤのＣＰＵ合計量１２１３とが表示されている。
また、表示されたリソースプールの利用状況に対しリソースの移動等の操作を行うために押下するＯＫボタン１２１４および前記操作を中断するために押下するキャンセルボタン１２１５が表示されている。
【００６９】
これにより、リソースプール１３０の利用者は、新たに仮想サーバ１２０をリソースプール１３０に追加したときに当該仮想サーバ１２０が利用可能なリソース量を予測できる。また、リソースプール１３０のリソースに属する仮想サーバ１２０がさらに利用可能な（拡張可能な）リソース量を予測でき、仮想サーバ１２０に割り振る負荷量を利用可能なリソース量に収まるよう調整できる。
【００７０】
さらに、必要に応じて、仮想サーバ１２０の稼動する物理サーバ１０４を変更することにより、複数の物理サーバに分散している空きリソースをまとめて、仮想サーバ１３０に割り当てることで、リソースプール１３０に割り当てられたリソースを有効活用できる。
【００７１】
なお、図１２に示した画面１２０１は、リソースプールの利用者だけでなく、リソースプールの提供者や、管理者が利用しても良い。管理者は、仮想サーバ１２０の性能劣化が発生した場合に、リソースプール１３０が原因か、物理サーバ１０４が原因か、仮想サーバ１２０が原因かを特定できる。リソースプール１３０の提供者は、リソースプール１３０の利用者にＳＬＡ（Service Level Agreement）等に沿ったサービスを提供できているか確認できる。
【００７２】
図１３も、第１の実施の形態のリソースプール１３０の性能情報を表示する画面を示す図である。
リソースプール１３０の利用者は、管理対象の単一または複数のリソースプール１３０を特定して使用状況の表示要求を出すと、表示部１１４は、リソースプール１３０を構成する物理サーバ１０４を特定し、リソースプール１３０と関連付けられた仮想サーバ１２０を特定し、リソースプール１３０と特定した物理サーバ１０４と仮想サーバ１２０の性能情報をそれぞれプール情報１３０１と仮想サーバリスト１３０２と構成物理サーバ１３０３を画面１３００に表示する。
【００７３】
プール情報１３０１は、図５のプール性能テーブルの符号５０１から符号５０６のそれぞれに対応するプールＩＤ１３１１、全体１３１２、使用１３１３、空き１３１４、上限１３１５および予約１３１６と、追加したい仮想サーバがあればそのサイズの最大量を示す追加可能仮想サーバ最大サイズ１３１７から構成されている。
仮想サーバリスト１３０２は、図３の仮想サーバ性能テーブルの符号３０１、３０２、３０４、３０５のそれぞれに対応する仮想サーバＩＤ１３２１、割当て１３２３、上限１３２４および下限１３２５と、当該仮想サーバが稼働する物理サーバを示す物理サーバＩＤ１３２２と、拡張したい仮想サーバがあればその拡張量を示す拡張可能１３２６から構成されている。
構成物理サーバ１３０３は、図４の物理サーバ性能テーブルの符号４０１から符号４０４のそれぞれに対応する物理サーバ１３３１、全体１３３２、使用１３３３、空き１３３４から構成されている。
この他に、表示されたリソースプールの利用状況に対しリソースの移動等の操作を行うために押下するＯＫボタン１３４０および前記操作を中断するために押下するキャンセルボタン１３４１が表示されている。
【００７４】
リソースプール１３０に仮想サーバ１２０を追加するとき、その仮想サーバ１２０に割り当て可能なリソース量の最大サイズをシミュレーション部１１５が算出し、その値（追加する仮想デバイスに割り当てることができるリソース量の最大）を表示部１１４は追加可能仮想サーバ最大サイズ欄１３１７に表示する。また、リソースプール１３０に属する仮想サーバ１２０が割当てられたクロック周波数を拡張するとき、拡張可能なクロック周波数の最大サイズをシミュレーション部１１５が算出し、その値（拡張量の最大）を拡張可能欄１３２６に表示する。
【００７５】
これにより、リソースプール１３０の利用者は、新たに仮想サーバ１２０をリソースプール１３０に追加したときに当該仮想サーバ１２０が利用可能なリソース量を予測できる。また、リソースプール１３０のリソースに属する仮想サーバ１２０がさらに利用可能なリソース量を予測でき、仮想サーバ１２０に割り振る負荷量を利用可能なリソース量に収まるよう調整できる。
【００７６】
さらに、必要に応じて、仮想サーバ１２０の稼動する物理サーバ１０４を変更することにより、複数の物理サーバに分散している空きリソースをまとめて、仮想サーバ１３０に割り当てることで、リソースプール１３０に割り当てられたリソースを有効活用できる。
なお、図１３に示した画面は、リソースプールの利用者だけでなく、管理者や、リソースプールの提供者が利用しても良い。
管理者は、仮想サーバ１２０の性能劣化が発生した場合に、リソースプール１３０が原因か、物理サーバ１０４が原因か、仮想サーバ１２０が原因かを特定できる。
【００７７】
図１４も、第１の実施の形態のリソースプール１３０の性能情報を表示する画面を示す図である。
リソースプール１３０の提供者は、管理対象の単一または複数のリソースプール１３０を特定して使用状況の表示要求を出すと、表示部１１４は、リソースプール１３０を構成する物理サーバ１０４を特定し、リソースール１３０と関連付けられた仮想サーバ１２０を特定し、リソースプール１３０と特定した物理サーバ１０４と仮想サーバ１２０の性能情報をそれぞれプール情報１４０１と仮想サーバリスト１４０２と構成物理サーバ１４０３を画面１４００に表示する。図１４では、図１３のときと比べ、１つの物理サーバ（ここでは物理サーバＡまたはＢ）が複数のリソースプール（ここではプールＡおよびプールＢ）にリソースを提供したときの画面１４００が表示されている。
【００７８】
プール情報１４０１、仮想サーバリスト１４０２、構成物理サーバ１４０３はそれぞれ、プール情報１３０１、仮想サーバリスト１３０２、構成物理サーバ１３０３と同じである。
プールＩＤ１４１１、全体１４１２、使用１４１３、空き１４１４、上限１４１５、予約１４１６、追加可能仮想サーバ最大サイズ１４１７はそれぞれ、プールＩＤ１３１１、全体１３１２、使用１３１３、空き１３１４、上限１３１５、予約１３１６、追加可能仮想サーバ最大サイズ１３１７と同じである。
仮想サーバＩＤ１４２１、物理サーバＩＤ１４２２、割当て１４２３、上限１４２４、下限１４２５、拡張可能１４２６はそれぞれ、仮想サーバＩＤ１３２１、物理サーバＩＤ１３２２、割当て１３２３、上限１３２４、下限１３２５、拡張可能１３２６と同じである。
ＯＫボタン１４４０、キャンセルボタン１４４１はそれぞれ、ＯＫボタン１３４０、キャンセルボタン１３４１と同じである。
【００７９】
リソースプール１３０に仮想サーバ１２０を追加するとき、その仮想サーバ１２０に割り当て可能なリソース量の最大サイズをシミュレーション部１１５が算出し、その値を表示部１１４は追加可能仮想サーバ最大サイズ欄１４１７に表示する。また、リソースプール１３０に属する仮想サーバ１２０が割当てられたクロック周波数を拡張するとき、拡張可能なクロック周波数の最大サイズをシミュレーション部１１５が算出し、その値を拡張可能欄１４２７に表示する。
【００８０】
これにより、リソースプール１３０の提供者は、新たに仮想サーバ１２０をリソースプール１３０に追加したときに当該仮想サーバ１２０が利用可能なリソース量を予測できる。また、リソースプール１３０のリソースに属する仮想サーバ１２０がさらに利用可能なリソース量を予測でき、仮想サーバ１２０に割り振る負荷量を利用可能なリソース量に収まるよう調整できる。
【００８１】
さらに、必要に応じて、仮想サーバ１２０の稼動する物理サーバ１０４を変更することにより、複数の物理サーバに分散している空きリソースをまとめて、仮想サーバ１３０に割り当てることで、リソースプール１３０に割り当てられたリソースを有効活用できる。
なお、図１４に示した画面は、リソースプールの提供者だけでなく、管理者や、複数のリソースプールを利用するリソースプールの提供者が利用しても良い。
管理者は、仮想サーバ１２０の性能劣化が発生した場合に、リソースプール１３０が原因か、物理サーバ１０４が原因か、仮想サーバ１２０が原因かを特定できる。
【００８２】
リソースプール１３０の利用者は、ＳＬＡ等に沿ってリソースプールが提供されているか確認できる。また、新たに仮想サーバ１２０をリソースプール１３０に追加したときに当該仮想サーバ１２０が利用可能なリソース量を予測できる。また、リソースプール１３０内に追加で稼動可能な仮想サーバ１２０の数を予測できる。また、リソースプール１３０を構成する物理サーバ１０４の構成や性能を考慮して、リソースプール１３０内で稼動する仮想サーバ１２０数を制限したりできる。
さらに、リソースプール１３０のリソースに属する仮想サーバ１２０がさらに利用可能なリソース量を予測でき、仮想サーバ１２０に割り振る負荷量を利用可能なリソース量に収まるよう調整できる。
さらに、必要に応じて、リソースプール１３０の利用者は、仮想サーバ１２０の稼動する物理サーバ１０４を変更することにより、複数の物理サーバに分散している空きリソースをまとめて、仮想サーバ１３０に割り当てることで、リソースプール１３０に割り当てられたリソースを有効活用できる。また、リソースプール１３０内で適用される仮想サーバ１３０のリソース割当て設定を見直すこともできる。また、複数のリソースプール１３０を管理する場合は、図１４の画面１４００に表示された性能や構成を参照し、そのリソースプール１３０間でリソースを融通する設定調整もできる。
【００８３】
図１５は、シミュレーション部１１５の処理フロー図である。
（１）シミュレーション部１１５は、プールＸを特定する（ステップ１５０１）。例えば、リソースプール１３０の利用者から、リソースプール１３０の性能情報の表示要求があると、表示部１１４はシミュレーション部１１５に表示要求のあったリソースプール１３０を指定してシミュレーションを要求する。指定されたリソースプール１３０をプールＸとして特定する。
【００８４】
（２）シミュレーション部１１５は、プールＸが物理サーバ群を占有するか他のプールと共有するか判定する（ステップ１５０２）。具体的には、構成管理部１１３を通して、プール物理サーバ対応テーブル８００を参照し、プールＸをキーにプールＩＤ欄８０１の内容を検索し、該当する行の共有欄８０３の内容が占有ならば、他のプールと共有せず占有すると判定し、共有ならば、プールは他のプールと共有すると判定する。該当する行が複数行ある場合は、全ての行の欄が占有なら占有と判定し、それ以外は共有と判定する。
【００８５】
（３）ステップ１５０２の判定で、占有と判定した場合（ステップ１５０２で「占有」）、シミュレーション部１１５は、占有時のシミュレーションを実行する（ステップ１５０３）。この処理は、図１６（図１６Ａ、図１６Ｂ、図１６Ｃの総称）で詳細に説明する。
【００８６】
（４）ステップ１５０２の判定で、他のプールと物理サーバ群を共有すると判定した場合（ステップ１５０２で「他のプールと共有」）、シミュレーション部１１５は、プールＸのリソース合計量が固定か、変動かを判定する（ステップ１５０４）。例えば、性能管理部１１２を通して、プール性能テーブル５００を参照し、ＣＰＵ割当合計欄５０２の内容と、ＣＰＵ上限欄５０５の内容と、ＣＰＵ割当予約欄５０６の内容と、が一致していたら固定と判断し、それ以外は、変動と判定する。
【００８７】
（５）ステップ１５０４で固定であると判定した場合（ステップ１５０４で「固定」）、シミュレーション部１１５は、共有固定時のシミュレーションを実行する（ステップ１５０５）。この処理は、図１７（図１７Ａ、図１７Ｂ、図１７Ｃの総称）で詳細に説明する。
【００８８】
（６）ステップ１５０４で変動であると判定した場合（ステップ１５０４で「変動」）、シミュレーション部１１５は、共有変動時のシミュレーションを実行する（ステップ１５０６）。この処理は、図１８（図１８Ａ、図１８Ｂ、図１８Ｃの総称）で詳細に説明する。
【００８９】
図１６は、シミュレーション部１１５の処理フローのうち、リソースプール１３０が物理サーバ群を占有しているときの処理動作のフロー図である。
【００９０】
（１）シミュレーション部１１５は、プールＸの合計リソース量Ｘを取得する（ステップ１６０１）。具体的には、性能管理部１１２を通して、プール性能テーブル５００を参照し、プールＸをキーにしてプールＩＤ欄５０１を検索し、該当した行のＣＰＵ割当合計欄５０２の内容を取得し、合計リソース量Ｘとする。
【００９１】
（２）シミュレーション部１１５は、プールＸを構成する物理サーバ群Ｘを取得する（ステップ１６０２）。具体的には、構成管理部１１３を通して、プール構成テーブル９００を参照し、プールＸをキーにプールＩＤ欄９０１を検索し、該当した行の物理サーバＩＤ欄９０２の内容を物理サーバ群Ｘとして記憶する。複数行が該当した場合は、全ての行の物理サーバＩＤ欄の内容を物理サーバ群Ｘとして記憶する。
【００９２】
（３）シミュレーション部１１５は、物理サーバ群Ｘに属する物理サーバＸでステップ１６０４を繰り返す（ステップ１６０３）。複数の物理サーバ１０４の識別情報が物理サーバ群Ｘに属する場合は、それぞれの物理サーバ１０４の識別情報について、ステップ１６０４の処理を繰り返す。
【００９３】
（４）シミュレーション部１１５は、物理サーバＸの合計リソース量Ｙを取得する（ステップ１６０４）。具体的には、性能管理部１１２を通して、物理サーバ性能テーブル４００を参照し、物理サーバＸをキーに物理サーバＩＤ欄４０１の内容を検索し、該当した行のＣＰＵ合計欄４０２の内容を合計リソース量Ｙとして記憶する。
【００９４】
（５）シミュレーション部１１５は、プールＸに属する仮想サーバ群Ｘを取得する（ステップ１６０５）。具体的には、構成管理部１１３を通して、仮想サーバプール対応テーブル７００を参照し、プールＸをキーにプールＩＤ欄７０１を検索し、該当する行の仮想サーバＩＤ欄７０２の内容を仮想サーバ群Ｘとして記憶する。複数行が該当する場合は、全ての行の仮想サーバＩＤ欄７０２の内容を仮想サーバ群Ｘに記憶する。
【００９５】
（６）シミュレーション部１１５は、仮想サーバ群Ｘに属する仮想サーバＸに対し、それぞれステップ１６０７を繰り返す（ステップ１６０６）。
【００９６】
（７）シミュレーション部１１５は、仮想サーバＸ上の負荷の処理に必要なリソース量Ｘを算出する（ステップ１６０７）。具体的には、性能管理部１１２を通して、仮想サーバ性能テーブル３００を参照し、仮想サーバＸをキーに仮想サーバＩＤ欄３０１を検索し、該当した行のＣＰＵ割当量欄３０２の内容と、ＣＰＵ割当不足量欄３０３の内容とを合算した値を、必要なリソース量Ｘとして記憶する。
【００９７】
（８）シミュレーション部１１５は、シミュレーション対象を判定する（ステップ１６０８）。例えば、表示部１１４からプールＸに追加可能な仮想サーバサイズのリソース最大量をシミュレーションするよう要求があったときは、プールＸがシミュレーション対象であるとする。一方、リソースプール１３０に属する仮想サーバ１２０が拡張可能なリソース量をシミュレーションするよう要求があったときは、ここでは仮想サーバ１２０がシミュレーション対象であるとする。
なお、前記要求は、例えば管理サーバ１０１の利用者の入力装置２０８からの操作によりなされる。
【００９８】
（９）ステップ１６０８の判定でプールＸがシミュレーション対象のとき（ステップ１６０８で「プールＸ」）、シミュレーション部１１５は、ステップ１６１０からステップ１６１３までの処理を、最大のリソース量Ｙが見つかるまで繰り返し実行する（ステップ１６０９）。特定したシミュレーション対象のリソースプール１３０に追加可能なリソースの量の最大値を算出する。
【００９９】
（１０）シミュレーション部１１５は、リソース量Ｙの新たな仮想サーバＹがあったと仮定する（ステップ１６１０）。具体的には、あるＣＰＵクロック周波数を指定した仮想サーバＹがプールＸにあると仮定する。
【０１００】
（１１）シミュレーション部１１５は、仮想サーバ群Ｘと仮想サーバＹと物理サーバ群Ｘの構成を決定する（ステップ１６１１）。仮想サーバＹがプールＸにあるとしたときに、仮想サーバ群Ｘに含まれる仮想サーバ１２０と仮想サーバＹを稼動させる物理サーバ１０４を決定する。
【０１０１】
（１２）シミュレーション部１１５は、ステップ１６１１で決定した構成にしたとき、仮想サーバ群Ｘと仮想サーバＹのリソース量の合計が、合計リソース量Ｘ（ステップ１６０１参照）以内か判定する（ステップ１６１２）。リソースプール１３０に属する仮想サーバ１２０に、リソースプール１３０の合計サイズ以上のリソースを提供できないためである。合計リソース量Ｘ以内である場合（ステップ１６１２でＹｅｓ）、ステップ１６１３に進み、そうでない場合（ステップ１６１２でＮｏ）、ステップ１６１１で決定した構成では最大のリソース量Ｙ（ステップ１６０９参照）を見つけられないとして、仮定したリソース量Ｙを破棄し（ステップ１６２２）、次のステップに移る。
【０１０２】
（１３）シミュレーション部１１５は、ステップ１６１１で決定した構成にしたとき、それぞれの物理サーバＸ上の仮想サーバ１２０のリソース量の合計が、物理サーバＸの合計リソース量Ｙ（ステップ１６０４参照）以内か判定する。（ステップ１６１３）。物理サーバ１０４のリソース量以上に、仮想サーバ１２０を物理サーバ１０４上で稼動させることができないからである。合計リソース量Ｙ以内である場合（ステップ１６１３でＹｅｓ）、リソース量Ｙをとりあえず仮に設定し（ステップ１６２１）、次のステップに進み、そうでない場合（ステップ１６１３でＮｏ）、ステップ１６１１で決定した構成では最大のリソース量Ｙ（ステップ１６０９参照）を見つけられないとして、仮定したリソース量Ｙを破棄し（ステップ１６２２）、次のステップに移る。
結果的に、仮に設定したリソース量Ｙのうち最大となるリソース量を決定する。
【０１０３】
（１４）シミュレーション部１１５は、プールＸに追加可能な仮想サーバＸの最大リソース量を（リソース量Ｙ（ステップ１６１０参照）−リソース量Ｘ（ステップ１６０７参照））と算出して応答し、終了する（ステップ１６１４）。ここで応答した値が、リソースプール１３０に仮想サーバ１２０を新たに追加したときに、最大確保可能なリソース量である。
【０１０４】
（１５）ステップ１６０８の判定でシミュレーション対象が仮想サーバ群Ｘ中の仮想サーバ１２０のとき（ステップ１６０８で「仮想サーバ群Ｘ中の仮想サーバＹ」）、シミュレーション部１１５は、ステップ１６１６からステップ１６１９までの処理を最大のリソース量Ｙが見つかるまで繰り返す（ステップ１６１５）。
【０１０５】
（１６）シミュレーション部１１５は、仮想サーバＸに必要なリソース量Ｘをリソース量Ｙと（仮定）する（ステップ１６１６）。すなわち、仮想サーバＸのリソース量をリソース量Ｙにまで拡張できるかをシミュレーションする。
【０１０６】
（１７）シミュレーション部１１５は、仮想サーバ群Ｘと物理サーバ群Ｘの構成を決定する（ステップ１６１７）。
【０１０７】
（１８）シミュレーション部１１５は、ステップ１６１７で決定した構成にしたとき、仮想サーバ群Ｘのリソース量の合計が、合計リソース量Ｘ（ステップ１６０１参照）以内か判定する（ステップ１６１８）。リソースプール１３０に属する仮想サーバ１２０に、リソースプール１３０の合計サイズ以上のリソースを提供できないためである。合計リソース量Ｘ以内である場合（ステップ１６１８でＹｅｓ）、ステップ１６１９に進み、そうでない場合（ステップ１６１８でＮｏ）、ステップ１６１７で決定した構成では最大のリソース量Ｙを見つけられないとして、仮定したリソース量Ｙを破棄し（ステップ１６２４）、次の処理に移る。
【０１０８】
（１９）シミュレーション部１１５は、ステップ１６１７で決定した構成にしたとき、それぞれの物理サーバＸ上の仮想サーバ１２０のリソース量の合計が、物理サーバＸの合計リソース量Ｙ（ステップ１６０４参照）以内か判定する（ステップ１６１９）。物理サーバ１０４のリソース量以上に、仮想サーバ１２０を物理サーバ１０４上で稼動させることができないからである。合計リソース量Ｙ以内である場合（ステップ１６１９でＹｅｓ）、リソース量Ｙをとりあえず仮に設定し（ステップ１６２３）、次のステップに進み、そうでない場合（ステップ１６１９でＮｏ）、ステップ１６１７で決定した構成では最大のリソース量Ｙを見つけられないとして、仮定したリソース量Ｙを破棄し（ステップ１６２４）、次のステップに移る。
結果的に、仮に設定したリソース量Ｙのうち最大となるリソース量を決定する。
【０１０９】
（２０）シミュレーション部１１５は、仮想サーバＸが拡張可能なリソース量を（リソース量Ｙ（ステップ１６１６参照）−リソース量Ｘ（ステップ１６０７参照）)と算出し応答して、終了する（ステップ１６２０）。ここで応答した値が、仮想サーバＸが拡張可能な最大リソース量である。
【０１１０】
図１７は、シミュレーション部１１５の処理フローのうち、サイズ固定のリソースプール１３０が物理サーバ群を共有しているときの処理動作のフロー図である。図１５および図１６で説明した事項と共通する事項についてはその説明を省略する。
【０１１１】
（１）シミュレーション部１１５は、プールＸ（ステップ１５０１参照）と共有するプールＹを特定する（ステップ１７０１）。
（２）シミュレーション部１１５は、プールＸとプールＹの合計リソース量Ｘ、Ｙを取得する（ステップ１７０２）。
（３）シミュレーション部１１５は、プールＸ、Ｙを構成する物理サーバ群Ｘを取得する（ステップ１７０３）。
【０１１２】
（４）シミュレーション部１１５は、物理サーバ群Ｘに属する物理サーバＸについて、ステップ１７０５を繰り返す（ステップ１７０４）。
（５）シミュレーション部１１５は、物理サーバＸの合計リソース量Ｚを取得する（ステップ１７０５）。
（６）シミュレーション部１１５は、プールＸ、Ｙに属する仮想サーバ群Ｘを取得する（ステップ１７０６）。
【０１１３】
（７）シミュレーション部１１５は、仮想サーバ群Ｘに属する仮想サーバＸについて、ステップ１７０８を繰り返す（ステップ１７０７）。
（８）シミュレーション部１１５は、仮想サーバＸ上の負荷の処理に必要なリソース量Ａを算出する（ステップ１７０８）。
（９）シミュレーション部１１５は、シミュレーション対象を判定する（ステップ１７０９）。
【０１１４】
（１０）ステップ１７０９の判定でプールＸがシミュレーション対象のとき（ステップ１７０９で「プールＸ」）、シミュレーション部１１５は、ステップ１７１１からステップ１７１４までの処理を最大のリソース量Ｂが見つかるまで繰り返し実行する（ステップ１７１０）。
【０１１５】
（１１）シミュレーション部１１５は、リソース量Ｂの新たな仮想サーバＺがあったと仮定する（ステップ１７１１）。具体的には、あるＣＰＵクロック周波数を指定した仮想サーバＹがプールＸにあると仮定する。
【０１１６】
（１２）シミュレーション部１１５は、仮想サーバ群Ｘと仮想サーバＺと物理サーバ群Ｘの構成を決定する（ステップ１７１２）。
【０１１７】
（１３）シミュレーション部１１５は、ステップ１７１２で決定した構成にしたとき、プールＸに属する仮想サーバ群Ｘと仮想サーバＹのリソース量の合計が、合計リソース量Ｘ（ステップ１７０２参照）以内であり、プールＹに属する仮想サーバ群Ｘのリソース量の合計が合計リソース量Ｙ（ステップ１７０２参照）以内か判定する（ステップ１７１３）。合計リソース量Ｘ、Ｙ以内である場合（ステップ１７１３でＹｅｓ）、ステップ１７１４に進み、そうでない場合（ステップ１７１３でＮｏ）、ステップ１７１２で決定した構成では最大のリソース量Ｂを見つけられないとして、仮定したリソース量Ｂを破棄し（ステップ１７２３）、次のステップに移る。
【０１１８】
（１４）シミュレーション部１１５は、ステップ１７１２で決定した構成にしたとき、それぞれの物理サーバＸ上の仮想サーバ１２０のリソース量の合計が、物理サーバＸの合計リソース量Ｚ（ステップ１７０５参照）以内か判定する。（ステップ１７１４）。合計リソース量Ｚ以内である場合（ステップ１７１４でＹｅｓ）、リソース量Ｂをとりあえず仮に設定し（ステップ１７２２）、次のステップに進み、そうでない場合（ステップ１７１４でＮｏ）、ステップ１７１２で決定した構成では最大のリソース量Ｂを見つけられないとして、仮定したリソース量Ｂを破棄し（ステップ１７２３）、次のステップに移る。
結果的に、仮に設定したリソース量Ｂのうち最大となるリソース量を決定する。
【０１１９】
（１５）シミュレーション部１１５は、プールＸに追加可能な仮想サーバＺの最大リソース量を（リソース量Ｂ（ステップ１７１１参照）−リソース量Ａ（ステップ１７０８参照））と算出して応答し、終了する（ステップ１７１５）。
【０１２０】
（１６）ステップ１７０９の判定でシミュレーション対象が仮想サーバ群Ｘ中の仮想サーバ１２０のとき（ステップ１７０９で「仮想サーバ群Ｘ中の仮想サーバＹ」）、シミュレーション部１１５は、ステップ１７１７からステップ１７２０までの処理を最大のリソース量Ｃが見つかるまで繰り返す（ステップ１７１６）。
【０１２１】
（１７）シミュレーション部１１５は、仮想サーバＸに必要なリソース量Ａをリソース量Ｃと（仮定）する（ステップ１７１７）。
（１８）シミュレーション部１１５は、仮想サーバ群Ｘと物理サーバ群Ｘの構成を決定する（ステップ１７１８）。
（１９）シミュレーション部１１５は、ステップ１７１８で決定した構成にしたとき、プールＸに属する仮想サーバ群Ｘのリソース量の合計が、合計リソース量Ｘ（ステップ１７０２参照）以内で、プールＹに属する仮想サーバ群Ｘの合計リソース量Ｙ（ステップ１７０２参照）以内か判定する（ステップ１７１９）。合計リソース量Ｘ、Ｙ以内である場合（ステップ１７１９でＹｅｓ）、ステップ１７２０に進み、そうでない場合（ステップ１７１９でＮｏ）、ステップ１７１８で決定した構成では最大のリソース量Ｃを見つけられないとして、仮定したリソース量Ｃを破棄し（ステップ１７２５）、次のステップに移る。
【０１２２】
（２０）シミュレーション部１１５は、ステップ１７１８で決定した構成にしたとき、それぞれの物理サーバＸ上の仮想サーバ１２０のリソース量の合計が、物理サーバＸの合計リソース量Ｚ（ステップ１７０５参照）以内か判定する（ステップ１７２０）。合計リソース量Ｚ以内である場合（ステップ１７２０でＹｅｓ）、リソース量Ｃをとりあえず仮に設定し（ステップ１７２４）、次のステップに進み、そうでない場合（ステップ１７２０でＮｏ）、ステップ１７１８で決定した構成では最大のリソース量Ｃを見つけられないとして、仮定したリソース量Ｃを破棄し（ステップ１７２５）、次のステップに移る。
結果的に、仮に設定したリソース量Ｃのうち最大となるリソース量を決定する。
【０１２３】
（２１）シミュレーション部１１５は、仮想サーバＹが拡張可能なリソース量を（リソース量Ｃ（ステップ１７１７参照）−リソース量Ａ（ステップ１７０８参照））と算出し応答して、終了する（ステップ１７２１）。
【０１２４】
図１８は、シミュレーション部１１５の処理フローのうち、サイズ変動のリソースプール１３０が物理サーバ群を共有しているときの処理動作のフロー図である。図１５〜図１７で説明した事項と共通する事項についてはその説明を省略する。
【０１２５】
（１）シミュレーション部１１５は、プールＸ（ステップ１５０１参照）と共有するプールＹを特定する（ステップ１８０１）。
（２）シミュレーション部１１５は、プールＸとプールＹの合計リソース量Ｘ、Ｙを取得する（ステップ１８０２）。
（３）シミュレーション部１１５は、プールＸ、Ｙを構成する物理サーバ群Ｘを取得する（ステップ１８０３）。
【０１２６】
（４）シミュレーション部１１５は、物理サーバ群Ｘに属する物理サーバＸについて、ステップ１７０５を繰り返す（ステップ１８０４）。
（５）シミュレーション部１１５は、物理サーバＸの合計リソース量Ｚを取得する（ステップ１８０５）。
（６）シミュレーション部１１５は、プールＸ、Ｙに属する仮想サーバ群Ｘを取得する（ステップ１８０６）。
【０１２７】
（７）シミュレーション部１１５は、仮想サーバ群Ｘに属する仮想サーバＸについて、ステップ１８０８を繰り返す（ステップ１８０７）。
（８）シミュレーション部１１５は、仮想サーバＸ上の負荷の処理に必要なリソース量Ａを算出する（ステップ１８０８）。
（９）シミュレーション部１１５は、シミュレーション対象を判定する（ステップ１８０９）。
【０１２８】
（１０）ステップ１８０９の判定でプールＸがシミュレーション対象のとき（ステップ１８０９で「プールＸ」）、シミュレーション部１１５は、ステップ１８１１からステップ１８１３までの処理を最大のリソース量Ｂが見つかるまで繰り返し実行する（ステップ１８１０）。
【０１２９】
（１１）シミュレーション部１１５は、リソース量Ｂの新たな仮想サーバＺがあったと仮定する（ステップ１８１１）。具体的には、あるＣＰＵクロック周波数を指定した仮想サーバＹがプールＸにあると仮定する。
【０１３０】
（１２）シミュレーション部１１５は、仮想サーバ群Ｘと仮想サーバＺと物理サーバ群Ｘの構成を決定する（ステップ１８１２）。
【０１３１】
（１３）シミュレーション部１１５は、ステップ１８１２で決定した構成にしたとき、それぞれの物理サーバＸ上の仮想サーバ１２０のリソース量の合計が、物理サーバＸの合計リソース量Ｚ（ステップ１８０５参照）以内か判定する（ステップ１８１３）。合計リソース量Ｚ以内である場合（ステップ１８１３でＹｅｓ）、リソース量Ｂをとりあえず仮に設定し（ステップ１８２０）、次のステップに進み、そうでない場合（ステップ１８１３でＮｏ）、ステップ１８１２で決定した構成では最大のリソース量Ｂを見つけられないとして、仮定したリソース量Ｂを破棄し（ステップ１８２１）、次のステップに移る。
結果的に、仮に設定したリソース量Ｂのうち最大となるリソース量を決定する。
【０１３２】
（１４）シミュレーション部１１５は、プールＸに追加可能な仮想サーバＺの最大リソース量を(リソース量Ｂ（ステップ１８１１参照）−リソース量Ａ（ステップ１８０８参照）)と算出して応答し、終了する（ステップ１８１４）。
【０１３３】
（１５）ステップ１８０９の判定でシミュレーション対象が仮想サーバ群Ｘ中の仮想サーバ１２０のとき（ステップ１７０９で「仮想サーバ群Ｘ中の仮想サーバＹ」）、シミュレーション部１１５は、ステップ１８１６からステップ１８１８までの処理を最大のリソース量Ｃが見つかるまで繰り返す（ステップ１８１５）。
【０１３４】
（１６）シミュレーション部１１５は、仮想サーバＸに必要なリソース量Ａをリソース量Ｃと（仮定）する（ステップ１８１６）。
（１７）シミュレーション部１１５は、仮想サーバ群Ｘと物理サーバ群Ｘの構成を決定する（ステップ１８１７）。
【０１３５】
（１８）シミュレーション部１１５は、ステップ１８１７で決定した構成にしたとき、それぞれの物理サーバＸ上の仮想サーバ１２０のリソース量の合計が、物理サーバＸの合計リソース量Ｚ（ステップ１８０５参照）以内か判定する（ステップ１８１８）。合計リソース量Ｚ以内である場合（ステップ１８１８でＹｅｓ）、リソース量Ｃをとりあえず仮に設定し（ステップ１８２２）、次のステップに進み、そうでない場合（ステップ１８１８でＮｏ）、ステップ１８１７で決定した構成では最大のリソース量Ｃを見つけられないとして、仮定したリソース量Ｃを破棄し（ステップ１８２２）、次の処理に移る。
結果的に、仮に設定したリソース量Ｃのうち最大となるリソース量を決定する。
【０１３６】
（１９）シミュレーション部１１５は、仮想サーバＹが拡張可能なリソース量を(リソース量Ｃ（ステップ１８１６参照）−リソース量Ａ（ステップ１８０８参照）)と算出し応答して、終了する（ステップ１８１９）。
【０１３７】
以上の処理動作により、プールの利用者は、リソースプール１３０に追加可能な仮想サーバの最大リソース量やリソースプール１３０に属する仮想サーバ１２０が拡張可能なリソース量を参照できる。それにより、仮想サーバ１２０のリソース量を調整しやすくなる。
【０１３８】
図１９は、プール管理部１１０の処理動作のフロー図である。
（１）プール管理部１１０は、プールＸの空きリソース量Ｘを取得する（ステップ１９０１）。
（２）プール管理部１１０は、プールＸを構成する物理サーバ群Ｘを取得する（ステップ１９０２）。
（３）プール管理部１１０は、物理サーバ群Ｘに属する物理サーバＸについてステップ１９０４からステップ１９０８までの処理を実行する（ステップ１９０３）。
【０１３９】
（４）プール管理部１１０は、物理サーバＸの空きリソース量Ｙを取得する（ステップ１９０４）。
（５）プール管理部１１０は、空きリソース量Ｙが空きリソース量Ｘよりも大きいか判定する（ステップ１９０５）。ステップ１９０５の判定で、大きいと判定した場合は（ステップ１９０５でＹｅｓ）、ステップ１９０３で次の物理サーバＸのステップに移行する。例えば、ある仮想サーバを移動したいときは、プールＸの空きリソース量Ｘ以上の十分な空きリソースＹを有する物理サーバに移動して稼働させれば良い。これにより、仮想サーバの移動元の物理サーバのリソースを確保し、その物理サーバが構成するプールの空きリソースを有効に活用することができる。仮想サーバの移動の要求は、例えば、入力装置２０８からなされる。
（６）ステップ１９０５の判定で、小さいと判定すると（ステップ１９０５でＮｏ）、プール管理部１１０は、構成変更が可能か判定する（ステップ１９０６）。なお、構成変更が可能であるとは、リソースプール１３０を構成することになる物理サーバ群を変更する、つまりリソースプール１３０からリソースが割り当てられた仮想サーバを別の物理サーバに移動するときに、その物理サーバ群の性能情報に由来する制約のもとで変更することが可能であることを意味する。
【０１４０】
（７）ステップ１９０６の判定で構成変更可能と判定すると（ステップ１９０６でＹｅｓ）、プール管理部１１０は、制御部１１１を通して、空きリソース量Ｘを全物理サーバで確保する構成変更を実行する（ステップ１９０７）。例えば、ある物理サーバにおいて、他の物理サーバにリソースを（少しずつ）振り分けることにより、十分なリソースの空きを確保できるのであれば、その空きを確保する。実行した後、ある仮想サーバを、空きを確保した物理サーバに移動する等して処理全体を終了する。
（８）ステップ１９０６の判定で構成変更できないと判定すると（ステップ１９０６でＮｏ）、プール管理部１１０は、表示部１１４を通してプール利用者や管理者、プール提供者に通知する。また、シミュレーション部１１５を通して、確保可能な最大量をシミュレートし、表示部１１４を通して表示する（ステップ１９０８）。表示した後、ステップ１９０３で次の物理サーバＸの処理に移行する。
【０１４１】
図１０は、本発明の第１の実施の形態のリソースプール１３０の管理を示す図である。
サーバグループ１００１は、複数の物理サーバ１０４をまとめたものである。
プール利用者１０００が利用するあるリソースプール１３０は、物理サーバ１０４を他のリソースプールと共有せず、占有した状態である。リソースプール１３０に属する仮想サーバ１２０は、リソースプール１３０を構成する物理サーバ１０４のいずれかのひとつの上でそれぞれ稼動する。１つの物理サーバ１０４上には複数の仮想サーバ１２０が稼動していても良い。また、物理サーバ１０４のＣＰＵ合計量から仮想サーバ１２０のＣＰＵ割当量の合計を差し引いたものが、空き１００２である。
【０１４２】
図２０は、本発明の第１の実施の形態のリソースプールの管理を示す図である。図１０に示した構成と同一の構成については、同一の符号を付す。
複数のリソースプール１、２（１３０）が、物理サーバ１０４を共有している。リソースプール１、２（１３０）のサイズは固定である。プール利用者１（１０００）が利用するリソースプール１（１３０）には、仮想サーバ１（１２０）および仮想サーバ５（１２０）が割り当てられている。また、プール利用者２（１０００）が利用するリソースプール２（１３０）には、仮想サーバ２（１２０）、仮想サーバ３、４（１２０）および仮想サーバ５（１２０）が割り当てられている。
【０１４３】
図２１は、本発明の第１の実施の形態のリソースプールの管理を示す図である。図１０に示した構成と同一の構成については、同一の符号を付す。
複数のリソースプール１３０が、物理サーバ１０４を共有している。リソースプール１３０のサイズは変動である。プール利用者１（１０００）が利用するリソースプール１（１３０）には、仮想サーバ１（１２０）および仮想サーバ５（１２０）が割り当てられている。また、プール利用者２（１０００）が利用するリソースプール２（１３０）には、仮想サーバ２（１２０）、仮想サーバ３、４（１２０）および仮想サーバ５（１２０）が割り当てられている。仮想サーバ１２０の運用に応じて、リソースプール１（１３０）のＣＰＵ割当量（２ＧＨｚ）およびリソースプール２（１３０）のＣＰＵ割当量（２ＧＨｚ）を変えることができる。
【０１４４】
≪第２の実施の形態≫
本発明の第２の実施形態は、仮想サーバ１２０へのＣＰＵ２０２の割当てをＣＰＵのコアの数によって定義する点で第１の実施の形態とは異なる。
本実施の形態のＣＰＵ２０２は、複数のコアを備える。各コアは、プログラムを同時に実行できる。複数のコアを備えるＣＰＵ２０２の場合には、コア単位で仮想サーバ１２０に割り当てるほうが、独立性が高く効率的である。
なお、第１の実施の形態と同じ構成は同じ符号を付与し、説明を省略する。
【０１４５】
図２２は、本実施の形態の仮想サーバ性能テーブル３００の構成図である。
仮想サーバ性能テーブル３００は、仮想サーバＩＤ欄３０１と、割当コア数欄２００１とを、備える。
割当コア数欄２００１には、仮想サーバ１２０に割当てられる単位となるＣＰＵ２０２のコア数を記憶している。
【０１４６】
図２３は、本実施の形態の物理サーバ性能テーブル４００の構成図である。
物理サーバ性能テーブル４００は、物理サーバＩＤ欄４０１と、総コア数欄２３０１と、割当済コア数欄２３０２と、未割当コア数欄２３０３を備える。
【０１４７】
総コア数欄２３０１は、物理サーバ１０４のＣＰＵ２０２のコア数を記憶している。
割当済コア数欄２３０２は、物理サーバ１０４のＣＰＵ２０２のコア数で、物理サーバ１０４上で稼動する仮想サーバ１２０に割り当てられたコア数を記憶している。
未割当コア数欄２３０３は、物理サーバ１０４のＣＰＵ２０２のコア数で、物理サーバ１０４上で稼動するどの仮想サーバ１２０にも割り当てられていないコア数を記憶している。
【０１４８】
図２４は、本実施の形態のプール性能テーブル５００の構成図である。
プール性能テーブル５００は、プールＩＤ欄５０１と、総コア数欄２４０１と、割当済コア数欄２４０２と、未割当コア数欄２４０３を備えている。
【０１４９】
総コア数欄２４０１は、リソースプール１３０に設定された総コア数を記憶している。リソースプール１３０に属する仮想サーバ１２０へ割り当てるコア数の合計はこの値以内にしなければならない。
割当済コア数欄２４０２は、リソースプール１３０に属する仮想サーバ１２０に割り当てたコア数の合計を記憶している。
未割当てコア数欄２４０３は、リソースプール１３０に属するどの仮想サーバ１２０にも割り当てられておらず、リソースプール１３０に属する仮想サーバ１２０や新たにリソースプール１３０に追加する仮想サーバ１２０が利用可能なコア数の合計を記憶している。
【０１５０】
本発明の第１の実施形態では、ＣＰＵの動作クロック周波数（Ｈｚ）を単位として、物理サーバ１０４の性能や構成を考慮したリソースプール１３０の管理方法を示したが、本発明の第２の実施形態では、ＣＰＵ２０２のコア数に基づいて、本発明の第１の実施形態と同様に、物理サーバ１０４の性能や構成を考慮したリソースプール１３０の管理方法を実現可能である。表示部１１４は、リソースプール１３０のコア数の利用状況と、当該リソースプール１３０を構成する物理サーバ１０４のコア数の利用状況と、当該物理サーバ１０４上で稼動する仮想サーバ１２０のコア数の利用状況とを、関連付けて画面に表示する。また、リソース管理部１１０は、仮想サーバ１２０と物理サーバ１０４との対応関係を変更して、リソースプール１３０の未割当コア数を仮想サーバ１２０に提供できるようにする。
【０１５１】
本発明の第２の実施形態によれば、リソースプール１３０の利用者や、提供者、管理者によるリソースプール１３０の管理を容易にする。特に、物理サーバ１０４の構成を考慮した管理ができる。
【０１５２】
図２２〜図２４を用いて具体例を説明する。プールＢにはコア数２の空きがあるが（符号２４０３参照）、プールＢを構成する物理サーバＡも物理サーバＢもそれぞれコア数１の空きしかない（符号２３０３参照）。従って、プールＢの未割当コア数だけからだとコア数２の仮想サーバ１２０を追加できると判断してしまうが（符号２００１参照）、実際は現状の構成のままでは物理サーバ１０４の空きが足りないためコア数２の仮想サーバ１２０を追加できない。このような状況が発生していることを、リソースプール１３０の利用者や、提供者、管理者に気付かせることができる。
【０１５３】
≪その他≫
前記した各実施形態は、本発明を実施するために好適のものであるが、その実施形式はこれらに限定されるものでなく、本発明の要旨を変更しない範囲内において種々変形することが可能である。
【０１５４】
例えば、本実施形態によるリソースプールによるリソースの管理方法は、物理サーバおよび物理サーバ上で稼働する仮想サーバで構成される情報処理システムだけでなく、物理ボリュームおよび物理ボリューム上に作成された仮想（論理）ボリュームで構成されるストレージシステムについても適用可能である。つまり、物理サーバや物理ボリュームといった物理デバイスおよび、仮想サーバや仮想ボリュームといった仮想デバイスで構成されるシステムについても本実施形態のリソースの管理方法を適用することが可能である。
【０１５５】
ストレージシステムでは、ある仮想ボリュームが同時に複数の物理ボリューム上に存在することができるので、高性能の物理ボリュームと低性能の物理ボリュームとを用いて１つの仮想ボリュームを構成し、その仮想ボリュームにファイルを格納することができる。ファイルをこのように格納すると、ストレージシステムを運用するにつれ、実際にはファイルが高性能の物理ボリュームに格納されることもあれば低性能の物理ボリュームに格納されることもある。そのため、ファイルが低性能の物理ボリュームに格納されているときに、リード／ライト処理がなされると、その処理は遅く、高性能の物理ボリュームを用いた利点を生かしきれない場合がある。本発明では、リソースプールを利用するにあたり、物理ボリュームを監視することができるので、必要に応じて高性能の物理ボリュームにファイルを格納させることができ、高性能の物理ボリュームを用いた利点を生かすことができる。
【０１５６】
また、本実施の形態で説明したリソース管理用のプログラムは、インターネット等のネットワーク上で流通可能な状態で希望者に配布しても良いし、そのプログラムを記録した記録媒体（例：ＣＤ（Compact Disk））を流通して希望者に配布しても良い。
【０１５７】
また、本実施の形態の表示部１１４は、性能情報および構成情報の全部または一部の情報を表示するように制御しても良い。
また、本実施の形態では、シミュレーション部１１５が、プールに追加可能な仮想サーバの最大リソース量や、仮想サーバが拡張可能な最大リソース量を算出した（図１６〜図１８参照）。しかし、算出するこれらのリソース量は、必ずしも最大でなくとも良い（例：仮想サーバの稼働パフォーマンスが最良になるように、前記最大のリソース量の６０％のリソース量を算出する等）。
【０１５８】
その他、ハードウェア、ソフトウェア、各フローチャート等の具体的な構成について、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【産業上の利用可能性】
【０１５９】
物理サーバと仮想サーバとリソースプールが混在する環境での物理サーバのリソースの割当てに関する制御について本発明を適用することができる。
【符号の説明】
【０１６０】
１０１      管理サーバ（管理計算機）
１０４      物理サーバ（物理デバイス）
１２０      仮想サーバ（仮想デバイス）
１２１      サーバ仮想化プログラム
１３０      リソースプール
１１０      プール管理部
１１１      制御部
１１２      性能管理部
１１３      構成管理部
１１４      表示部
１１５      シミュレーション部
１１９      記憶部
３００      仮想サーバ性能テーブル（構成情報の一部）
４００      物理サーバ性能テーブル（構成情報の一部）
５００      プール性能テーブル（構成情報の一部）
６００      仮想サーバ物理サーバ対応テーブル（性能情報の一部）
７００      仮想サーバプール対応テーブル（性能情報の一部）
８００      プール物理サーバ対応テーブル（性能情報の一部）
９００      プール構成テーブル（性能情報の一部）
【図１】
2010282420.tif 000003
【図２】
2010282420.tif 000004
【図３】
2010282420.tif 000005
【図４】
2010282420.tif 000006
【図５】
2010282420.tif 000007
【図６】
2010282420.tif 000008
【図７】
2010282420.tif 000009
【図８】
2010282420.tif 000010
【図９】
2010282420.tif 000011
【図１０】
2010282420.tif 000012
【図１１】
2010282420.tif 000013
【図１２】
2010282420.tif 000014
【図１３】
2010282420.tif 000015
【図１４】
2010282420.tif 000016
【図１５】
2010282420.tif 000017
【図１６Ａ】
2010282420.tif 000018
【図１６Ｂ】
2010282420.tif 000019
【図１６Ｃ】
2010282420.tif 000020
【図１７Ａ】
2010282420.tif 000021
【図１７Ｂ】
2010282420.tif 000022
【図１７Ｃ】
2010282420.tif 000023
【図１８Ａ】
2010282420.tif 000024
【図１８Ｂ】
2010282420.tif 000025
【図１８Ｃ】
2010282420.tif 000026
【図１９】
2010282420.tif 000027
【図２０】
2010282420.tif 000028
【図２１】
2010282420.tif 000029
【図２２】
2010282420.tif 000030
【図２３】
2010282420.tif 000031
【図２４】
2010282420.tif 000032