(57)【要約】【課題】物理的な計算機に対して仮想的な計算機を適切に配置することにより、ユーザ部門の損失を最小とすることのできる分散配置技術提供する。【解決手段】  複数の仮想サーバのそれぞれを表す仮想サーバ識別子（ｖＳｒｖ）と該仮想サーバを分散して配置する複数の物理サーバのそれぞれを表す物理サーバ識別子（ｐＳｒｖ）との対応関係を表すサーバ配置データを生成するステップと、前記仮想サーバ識別子と該仮想サーバを利用する利用者のグループを識別するグループ識別子（ｇｒ）との対応関係を表す仮想サーバ構成データを生成するステップと、前記サーバ配置データ、仮想サーバ識別子およびグループ識別子をもとに前記サーバ配置データにしたがって配置した仮想サーバ配置の評価値を算出するステップと、算出した評価値に従って仮想サーバ配置の候補を複数表示するステップを備えた。【選択図】図４
2008140240.tif 000002
【特許請求の範囲】
【請求項１】
複数の仮想サーバのそれぞれを表す仮想サーバ識別子と該仮想サーバを分散して配置する複数の物理サーバのそれぞれを表す物理サーバ識別子との対応関係を表すサーバ配置データを生成するステップと、
前記仮想サーバ識別子と該仮想サーバを利用する利用者のグループを識別するグループ識別子との対応関係を表す仮想サーバ構成データを生成するステップと、
前記サーバ配置データ、仮想サーバ識別子およびグループ識別子をもとに前記サーバ配置データにしたがって配置した仮想サーバ配置の評価値を算出するステップと、
算出した評価値に従って仮想サーバ配置の候補を複数表示するステップを備えたことを特徴とする仮想サーバ分散配置方法。
【請求項２】
請求項１記載の仮想サーバ分散配置方法において、
前記仮想サーバ配置の評価値を算出するステップは、仮想サーバ配置データ、仮想サーバ識別子およびグループ識別子をもとに物理サーバに配置されるグループ毎の仮想サーバの数を算出するステップと、算出したグループ毎の仮想サーバ数をもとにサーバ配置評価値を算出するステップを含むことを特徴とする仮想サーバ分散配置方法。
【請求項３】
請求項１記載の仮想サーバ分散配置方法において、
仮想サーバ配置の候補のうち選択された候補が備える配置データに従って仮想サーバを物理サーバ上に配置することを特徴とする仮想サーバ分散配置方法。
【請求項４】
請求項１記載の仮想サーバ分散配置方法において、
複数の物理サーバは、ネットワークを介して前記物理サーバを管理する管理サーバに接続したことを特徴とする仮想サーバ分散配置方法。
【請求項５】
請求項１記載の仮想サーバ分散配置方法において、
仮想サーバ配置の候補は、表示装置に評価値の順に選択可能に表示することを特徴とする仮想サーバ分散配置方法。
【請求項６】
複数の仮想サーバを複数の物理サーバ上に分散配置する仮想サーバの分散配置装置であって、
前記複数の仮想サーバのそれぞれを表す仮想サーバ識別子と該仮想サーバを分散して配置する複数の物理サーバのそれぞれを表す物理サーバ識別子との対応関係を表すサーバ配置データを生成するサーバ配置データ生成部と、
前記仮想サーバ識別子と該仮想サーバを利用する利用者のグループを識別するグループ識別子との対応関係を表す仮想サーバ構成データを生成する仮想サーバ構成データ生成部と、
前記サーバ配置データ、仮想サーバ識別子およびグループ識別子をもとに前記サーバ配置データにしたがって配置した仮想サーバ配置の評価値を算出する評価値算出部と、
算出した評価値に従って仮想サーバ配置の候補を複数表示する表示部を備えたことを特徴とする仮想サーバ分散配置装置。
【請求項７】
請求項６記載の仮想サーバ分散配置装置において、
前記仮想サーバ配置の評価値を算出する評価値算出部は、仮想サーバ配置データ、仮想サーバ識別子およびグループ識別子をもとに物理サーバに配置されるグループ毎の仮想サーバの数を算出する処理と、算出したグループ毎の仮想サーバ数をもとにサーバ配置評価値を算出する処理を実施することを特徴とする仮想サーバ分散配置装置。
【請求項８】
請求項６記載の仮想サーバ分散配置装置において、
仮想サーバ配置の候補のうち選択された候補が備える配置データに従って仮想サーバを物理サーバ上に配置することを特徴とする仮想サーバ分散配置装置。
【請求項９】
請求項６記載の仮想サーバ分散配置装置において、
複数の物理サーバは、ネットワークを介して前記物理サーバを管理する管理サーバに接続したことを特徴とする仮想サーバ分散配置装置。
【請求項１０】
複数の物理サーバと該複数の物理サーバを管理する管理サーバとをネットワークを介して接続し、複数の仮想サーバを複数の物理サーバ上に分散配置する仮想サーバの分散配置システムであって、前記管理サーバは、
前記複数の仮想サーバのそれぞれを表す仮想サーバ識別子と該仮想サーバを分散して配置する複数の物理サーバのそれぞれを表す物理サーバ識別子との対応関係を表すサーバ配置データを生成するサーバ配置データ生成部と、
前記仮想サーバ識別子と該仮想サーバを利用する利用者のグループを識別するグループ識別子との対応関係を表す仮想サーバ構成データを生成する仮想サーバ構成データ生成部と、
前記サーバ配置データ、仮想サーバ識別子およびグループ識別子をもとに前記サーバ配置データにしたがって配置した仮想サーバ配置の評価値を算出する評価値算出部と、
算出した評価値に従って仮想サーバ配置の候補を複数表示する表示部を備えたことを特徴とする仮想サーバ分散配置システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想サーバ分散配置技術にかかり、特に複数の物理サーバに複数の仮想サーバを割り当てて分散配置する仮想サーバ分散配置技術に関する。
【背景技術】
【０００２】
特許文献１には、計算機資源を複数のパーティションに分割し、分割したそれぞれのパーティションを顧客に利用させる仮想独立型アウトソーシングシステムが示されている。このシステムにおいては、性能指標を含む顧客との契約内容を記憶する記憶手段とパーティション毎の性能情報を収集するパーティション監視手段を備え、パーティション監視手段が収集したパーティションの性能情報が、前記性能指標を満たさないと判断した場合に、前記パーティションに計算機資源を追加することが示されている。
【特許文献１】特開２００３−２２３３３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
前記特許文献１記載のシステムでは、物理的な計算機の計算機資源を複数のパーティションに論理的に分割し、分割された各パーティションに対する計算機資源の追加および削除を、パーティション毎の性能要件に応じて調整している。
【０００４】
しかし、この方法では、物理的な計算機が故障などにより停止した場合には、ユーザ部門が使用するパーティションが一斉にダウンし、部門の生産性が大幅に低下することになる。例えば、一つの物理計算機を四つのパーティションに分割し、分割された各パーティションにおいて経理部門が使用するサーバを１台ずつ運用していた場合、前記物理的な計算機の停止に伴って経理部門のサーバは四つとも使用不能となる。
【０００５】
本発明はこのような問題点に鑑みてなされたもので、物理的な計算機に対して仮想的な計算機を適切に配置することにより、ユーザ部門の損失を最小とすることのできる分散配置技術提供するものである。
【課題を解決するための手段】
【０００６】
本発明は上記課題を解決するため、次のような手段を採用した。
【０００７】
複数の仮想サーバのそれぞれを表す仮想サーバ識別子と該仮想サーバを分散して配置する複数の物理サーバのそれぞれを表す物理サーバ識別子との対応関係を表すサーバ配置データを生成するステップと、前記仮想サーバ識別子と該仮想サーバを利用する利用者のグループを識別するグループ識別子との対応関係を表す仮想サーバ構成データを生成するステップと、前記サーバ配置データ、仮想サーバ識別子およびグループ識別子をもとに前記サーバ配置データにしたがって配置した仮想サーバ配置の評価値を算出するステップと、算出した評価値に従って仮想サーバ配置の候補を複数表示するステップを備えた。
【発明の効果】
【０００８】
本発明は、以上の構成を備えるため、物理的な計算機に対して仮想的な計算機を適切に配置することができ、ユーザ部門の損失を最小とすることができる。
【発明を実施するための最良の形態】
【０００９】
以下、最良の実施形態を添付図面を参照しながら説明する。図１は、本発明の実施形態にかかる仮想サーバ分散配置システムを説明する図である。図１に示すように、管理サーバ１０は、表示装置１１１、入力装置１１２、物理プロセッサ１１３、ディスク装置１１４、ネットワーク装置１１５、配置計算部１１６および配置実行部１１７を備える物理サーバで構成される。
【００１０】
表示装置１１１は、管理サーバ１０の操作者に画面を表示する装置であり、具体的にはＣＲＴあるいは液晶ディスプレイなどである。入力装置１１２は、前記操作者からの入力を受付ける装置であり、具体的にはマウスやキーボードなどである。ネットワーク装置１１５は、管理サーバ１０をネットワーク３０に接続する装置であり、具体的にはＬＡＮカードなどである。配置計算部１１６および配置実行部１１７は、管理サーバ１０上で実行されるソフトウェアである。これらのソフトウェアの動作は、フローを参照して後述する。
【００１１】
ネットワーク３０は、管理サーバ１０および物理サーバ４０が通信するためのネットワークであり、具体的にはＬＡＮあるいはＷＡＮなどで構成される。
【００１２】
物理サーバ４０は、管理サーバ１０の管理対象となる物理サーバであり、プロセッサ１４３、ディスク装置１４４、ネットワーク装置１４５、仮想化機構１４６および仮想サーバ１４７を備える。仮想化機構１４６は、物理サーバ４０上で複数の仮想サーバ１４７を実行可能とするための機構であり、ソフトウェアあるいはハードウェアとして実現される。なお、ネットワーク３０には二つ以上の物理サーバ４０が接続される。
【００１３】
図２，３は管理サーバ１０のディスク装置１１４に格納される各種テーブルを説明する図である。また、図４は、物理サーバに対する仮想サーバの配置例を説明する図である。
【００１４】
図２（ａ）は、物理サーバ構成テーブル２００であり、物理サーバ識別子２０１を格納する。物理サーバ識別子２０１は、ネットワーク３０に接続される各物理サーバ４０を一意に識別するデータであり、例えばＩＰアドレスを使用する。
【００１５】
図２（ｂ）は、仮想サーバ構成テーブル２１０であり、仮想サーバ識別子２１１とグループ識別子２１２を対応づけて格納する。仮想サーバ識別子２１１は、物理サーバ４０上の仮想サーバ１４７を一意に識別するデータである。
【００１６】
本実施形態において、グループ識別子２１２は、仮想サーバ１４７を使用するユーザ部門を識別するデータである。例えば、経理部門を示すグループ識別子が「ｇｒ１」であり、かつ仮想サーバ識別子「ｖＳｒｖ１」で特定される仮想サーバ１４７の使用部門が経理部門であった場合は、「ｖＳｒｖ１」と「ｇｒ１」を対応づけて本テーブルに記録する。本テーブルは、管理サーバ１０の操作者が、表示装置１１１や入力装置１１２を用いて生成する。
【００１７】
図２（ｃ）は、サーバ配置テーブル２２０であり、仮想サーバ識別子２１１と物理サーバ識別子２０１を対応づけて格納するテーブルである。このテーブルは物理サーバ４０への仮想サーバ１４７の配置パターンを表す。例えば、物理サーバ構成テーブル２００、仮想サーバ構成テーブル２１０およびサーバ配置テーブル２２０の内容が、図２に示す通りであるときの配置パターンは図４に示す通りとなる。
【００１８】
サーバ配置テーブル２２０（図２（ｃ））の２行目および３行目においては、「ｖＳｒｖ２」および「ｖＳｒｖ３」がいずれも「ｐＳｒｖ２」と対応づけられている。これは、「ｖＳｒｖ２」で特定される仮想サーバ４１２（図４）と、「ｖＳｒｖ３」で特定される仮想サーバ４１３（図４）とが、「ｐＳｒｖ２」で特定される物理サーバ４０２（図４）に配置されることを表す。また、仮想サーバ構成テーブル２１０（図２（ｂ））の２行目および３行目に示す通り、仮想サーバ４１２のグループ識別子２１２は「ｇｒ１」、仮想サーバ４１３のグループ識別子２１２は「ｇｒ２」である。
【００１９】
図２（ｄ）は、仮想サーバイメージ格納テーブル２３０であり、仮想サーバ識別子２１１と仮想サーバイメージ２３２を対応づけて格納するテーブルである。仮想サーバイメージ２３２は仮想サーバ１４７を定義する論理データである。仮想化機構１４６は、配信された仮想サーバイメージ２３２を受信する機能と、受信した仮想サーバイメージ２３２を仮想サーバ１４７として物理サーバ４０上で実行する機能とを有す。
【００２０】
図２（ｅ）は、配置候補テーブル２４０であり、順位２４１、サーバ配置データ２４２、サーバ配置評価値２４３を対応づけて格納するテーブルである。サーバ配置評価値２４３は、サーバ配置テーブル２２０に格納されるデータに対する評価値であり、配置計算部１１６において算出される。算出方法は後述する。サーバ配置データ２４２は、サーバ配置評価値２４３が算出されたときにサーバ配置テーブル２２０に格納されていたデータである。順位２４１は、サーバ配置評価値２４３の昇順の順位である。
【００２１】
図２（ｆ）は、配置候補最大値データ２５１であり、配置候補テーブル２４０における順位２４１の最大値を規定するデータである。本データは、管理サーバ１０の操作者が、表示装置１１１や入力装置１１２を用いて入力する。
【００２２】
図３（ｇ）は、人員管理テーブル３００であり、グループ識別子２１２と人数３０２を対応づけて格納するテーブルである。本実施形態において、人数３０２は、対応するグループ識別子２１２で特定されるユーザ部門に属す人数を表すデータである。本テーブルは、管理サーバ１０の操作者が、表示装置１１１や入力装置１１２を用いて生成する。
【００２３】
図３（ｈ）は、仮想サーバ数テーブル３１０であり、サーバ配置テーブル２２０に格納されるデータに基づいて仮想サーバ１４７を物理サーバ４０に配置した場合において、各物理サーバ識別子２０１および各グループ識別子２１２に対応する仮想サーバ１４７の数を格納するテーブルである。例えば、図４に示すように仮想サーバを配置した場合、仮想サーバ数は図３（ｈ）に示す仮想サーバ数テーブル３１０の通りとなる。本テーブルは、配置計算部１１６において生成する。
【００２４】
図３（ｉ）は、損失予測値テーブル３２０であり、仮想サーバ数テーブル３１０に示す個数の仮想サーバ１４７がダウンした場合に、ユーザ部門において発生すると予測される損失値を格納するテーブルである。本テーブルは、配置計算部１１６において生成する。この損失値の算出方法は後に詳述する。
【００２５】
図５は、図１に示す配置計算部１１６および配置実行部１１７の処理を説明する図である。なお、ステップＳ５０１〜Ｓ５０６が配置計算部１１６における処理であり、ステップＳ５０７が配置実行部１１７におけるステップである。
【００２６】
まず、管理サーバ１０は、ネットワーク３０に接続される物理サーバ４０の物理サーバ識別子２０１の一覧を取得する（ステップＳ５０１）。次に、取得した物理サーバ識別子２０１の一覧を、物理サーバ構成テーブル２００に記録する（ステップＳ５０２）。
【００２７】
次いで、管理サーバ１０は、サーバ配置データを新たに生成し、生成したサーバ配置データをサーバ配置テーブル２２０に記録する（ステップＳ５０４）。なお、サーバ配置データは、仮想サーバ識別子２１１と物理サーバ識別子２０１の組で構成されるデータであり、物理サーバ４０への仮想サーバ１４７の配置パターン候補を表す。生成されるサーバ配置データの総数（一回のメイン処理あたり）は、物理サーバ４０への仮想サーバ１４７の配置の全ての組合せ数であり、仮想サーバ１４７の数に物理サーバ４０の数を乗じた値となる。例えば、本処理で対象とする物理サーバ４０および仮想サーバ１４７が、図２（ａ）および（ｂ）の物理サーバ構成テーブル２００および仮想サーバ構成テーブル２１０の通りであった場合、生成されるサーバ配置データの総数は３の４乗（＝８１）となる。
【００２８】
ここで、生成されるサーバ配置データの内容は、（ｖＳｒｖ１，  ｖＳｒｖ２，  ｖＳｒｖ３，  ｖＳｒｖ４）＝（ｐＳｒｖ１，ｐＳｒｖ１，ｐＳｒｖ１，ｐＳｒｖ１），（ｐＳｒｖ１，ｐＳｒｖ１，ｐＳｒｖ１，ｐＳｒｖ２），  ．．．  ，（ｐＳｒｖ３，ｐＳｒｖ３，ｐＳｒｖ３，ｐＳｒｖ３）となる。このように、ステップＳ５０４においては、サーバ配置データの全て生成するのではなく、まだ生成したことのないサーバ配置データを一つだけ生成し、サーバ配置テーブル２２０に格納するのである。
【００２９】
次いで、管理サーバ１０は、サーバ配置データのすべてを評価済みか否かを判定する（ステップＳ５０５）。評価済みの場合はステップＳ５０６を実行する。そうでない場合はステップＳ５１１を実行する。
【００３０】
ステップＳ５１１では、サーバ配置テーブル２２０に記録されるサーバ配置データに関して、損失予測値テーブル３２０を生成する。本ステップの内容は後に詳述する。
【００３１】
ステップＳ５１２では、サーバ配置テーブル２２０に記憶されたサーバ配置データの評価値として、損失予測値テーブル３２０の総計を算出する。以下この値を、カレント評価値と記す。
【００３２】
ステップＳ５１３では、配置候補テーブル２４０に格納されたサーバ配置評価値２４３の値と、カレント評価値とを比較する。本実施形態の場合、配置候補テーブル２４０のレコードの先頭から、配置候補最大値データ２５１で指し示される順位（例えば３番目）までのレコードを比較の対象とする（配置評価値２４３の昇順）。対象とするレコードの配置評価値２４３よりもカレント評価値の方が小さい場合、対応する順位の位置にサーバ配置データ２４２とサーバ配置評価値２４３を挿入する。ここで挿入するサーバ配置データ２４２は、サーバ配置テーブル２２０に記憶されている全てのデータである。また、ここで挿入するサーバ配置評価値２４３は、カレント評価値である。
【００３３】
ステップＳ５０６では、管理サーバ１０は配置候補テーブル２４０の内容を表示装置１１１に表示（出力）する。
【００３４】
図９は、表示装置１１１に表示する表示画面の例を示す図である。図９において、９０１は配置候補テーブル２４０中の順位２４１を表す。９０２は配置候補テーブル２４０中のサーバ配置データ２４２を図示するものであり、物理サーバ４０に対する仮想サーバ１４７の配置を表す。９０３は配置候補テーブル２４０（図２（ｅ））に対応する表である。９０４は操作者が選択したレコードを示すボタンである。選択は排他的であり、管理サーバ１０は入力装置１１２を使用して操作者の指示を受け付け、対応する９０４のボタンを点灯させ、それ以外は消灯させる。
【００３５】
９０５は、操作者からの表示指示を受け付けるボタンである。管理サーバ１０はボタン９０５の押下を検知したとき、現在選択されているレコードの対応する順位２４１およびサーバ配置データ２４２を、それぞれ順位９０１およびサーバ配置データ９０２として表示する。９０６は、操作者からの配置実行指示を受け付けるボタンである。管理サーバ１０は、ボタン９０６の押下を検知した場合、ステップＳ５０７（図５）を実行する。
【００３６】
ステップＳ５０７では、物理サーバ４０に対する仮想サーバ１４７の配置を、サーバ配置データ２４２に従って実行する。管理サーバ１０は、ボタン９０４にて選択されたレコードと対応するサーバ配置データ２４２を参照して、仮想サーバ識別子２１１と物理サーバ識別子２０１の組を全て取得する。そして、物理サーバ識別子２０１で特定される物理サーバ４０に対して、対応する仮想サーバ識別子２１１に対応する仮想サーバイメージ２３２（仮想サーバイメージ格納テーブル２３０）を送信する。物理サーバ４０における仮想化機構１４６は、管理サーバ１０が送信した仮想サーバイメージ２３２を受信し、受信した仮想サーバイメージ２３２を仮想サーバ１４７として実行する。
【００３７】
図６は、図５に示す損失予測テーブル生成処理（ステップＳ５１１）の詳細を説明する図である。
【００３８】
管理サーバ１０はステップＳ６０１において、物理サーバ構成テーブル２００の先頭レコードにおける物理サーバ識別子２０１を取得する。さらに、取得した物理サーバ識別子２０１を変数ｐに代入する。
【００３９】
ステップＳ６０２では、物理サーバ構成テーブル２００における全ての物理サーバ識別子２０１について、ステップＳ６１１以降を実行したか否かを判定する。実行済みと判定した場合、ステップＳ５１２を実行する。実行未済と判定した場合、ステップＳ６１１を実行する。
【００４０】
ステップＳ６１１では、人員管理テーブル３００の先頭レコードにおけるグループ識別子２１２を取得する。さらに、取得したグループ識別子２１２を変数ｇに代入する。
【００４１】
ステップＳ６１２では、人員管理テーブル３００における全てのグループ識別子２１２について、ステップＳ６２１以降を実行したか否かを判定する。実行済みと判定した場合、物理サーバ構成テーブル２００から次のレコードを取得し、そのレコードから物理サーバ識別子２０１を取得し、変数ｐに代入する（ステップＳ６１３）。その後、ステップＳ６０２以降の処理を繰り返す。実行未済と判定した場合、ステップＳ６２１を実行する。
【００４２】
ステップＳ６２１では、変数ｐと変数ｇで特定される仮想サーバ１４７の集合に関して、ユーザ部門の損失予測値を算出する。本ステップの内容は後に詳述する。
【００４３】
ステップＳ６２２では、人員管理テーブル３００から次のレコードを取得し、そのレコードからグループ識別子２１２を取得し、変数gに代入する。その後、ステップＳ６１２以降の処理を繰り返す。
【００４４】
図７は、図６に示す損失予測値算出処理（ステップＳ６２１）の詳細を説明する図である。図８は、損失処理の算出式を説明する図である。
【００４５】
図８（ａ）に示すグラフ８０１は、グループの仮想サーバ数ｍからグループの人員数ｈを引いた値が０より大きい場合の式を表し、図８（ｂ）に示すグラフ８０２は、グループの仮想サーバ数ｍからグループの人員数ｈを引いた値が０以下の場合における算出式を表す。
【００４６】
例えば、仮想サーバ構成テーブル２１０の内容が図２（ｂ）に示す通りであった場合、グループ識別子ｇｒ１で特定されるグループの仮想サーバ数ｍは２である（ｖＳｒｖ１とｖＳｒｖ２）。グループ識別子ｇｒ２で特定されるグループの仮想サーバ数ｍも２である（ｖＳｒｖ３とｖＳｒｖ４）。ここで、人員管理テーブル３００の内容が図３（ａ）に示す通りであった場合、グループ識別子ｇｒ１で特定されるグループの人員数ｈは１である。また、グループ識別子ｇｒ２で特定されるグループの人員数ｈは２である。
【００４７】
ｍとｈがこれらの値をとる場合の損失予測値算出式は、図８（ｃ）に示すグラフ８１１および図８（ｄ）に示すグラフ８１２で表すことができる。ここで、グラフ８１１はグループ識別子ｇｒ１に関する算出式、グラフ８１２はグループ識別子ｇｒ２に関する算出式を表している。
【００４８】
図８（ａ）、（ｂ）に示すように本実施形態では、グループの仮想サーバの全てが故障した場合の損失予測値を１としている。また、故障していない仮想サーバの数がグループの人数以上の場合（つまりｃ≦ｍ−ｈの場合）、損失予測値を０としている。故障していない仮想サーバの数がグループの人数より少ない場合、仮想サーバの故障数に比例して損失予測値が増加するようにしている。なお、損失予測値の設定に際して、グループの仮想サーバが全て故障した場合の損失予測値は１以外の値とすることができる。また、この値はグループ毎に異なる値としても良い。
【００４９】
図７において、ステップＳ７０１では、仮想サーバ構成テーブル２１０において、変数ｇと対応するレコード数をカウントし、変数ｍに代入する。これは、グループｇに属する仮想サーバ１４７の数を取得することを意味する。
【００５０】
ステップＳ７０２では、変数ｇおよび変数ｐと対応する仮想サーバ１４７の数をカウントし、変数ｃに代入する。例えば、図４の例においてｇ＝ｇｒ１，ｐ＝ｐＳｒｖ２の場合、ｃ＝１（仮想サーバ４１２（ｖＳｒｖ２）の一つだけ）となる。詳細な処理手順は次の通りである。まず、物理サーバ識別子２０１が変数ｐと一致するレコードを、サーバ配置テーブル２２０から全て取得する。これらのレコードにおける仮想サーバ識別子２１１をキーとして、人員管理テーブル３００からグループ識別子２１２を取得し、このグループ識別子２１２が変数ｇと一致するレコードだけを残す。残ったレコードの数を変数ｃに代入する。
【００５１】
ステップＳ７０３では、仮想サーバ数テーブル３１０（図３（ｈ））中の、ｇとｐで一意に特定される位置に、変数ｃを記録する。例えばｇ＝ｇｒ１，ｐ＝ｐＳｒｖ２の場合、仮想サーバ数テーブル３１０中の３１５の位置にｃを記録する。
【００５２】
ステップＳ７０４では、変数ｇをキーとして人員管理テーブル３００から人数３０２を取得し、変数ｈに代入する。
【００５３】
ステップＳ７０５では、ｍからｈを引いた値が０以下か否かを判定する。０以下の場合、ｃをｍで割った値を変数ｓに代入し（ステップＳ７０６）、その後にステップＳ７０７を実行する。０より大きい場合、ステップＳ７１１を実行する。
【００５４】
ステップＳ７１１では、ｃがｍからｈを引いた値以下か否かを判定する。前記値以下の場合、変数ｓに０を代入し（ステップＳ７１２）、その後にステップＳ７０７を実行する。前記値より大きい場合、ｃからｍを引きｈを足した値をｈで割り、その値を変数ｓに代入する（ステップＳ７２１）。その後にステップＳ７０７を実行する。
【００５５】
ステップＳ７０７では、損失予測値テーブル３２０中の、ｇとｐで一意に特定される位置に、変数ｓを記録する。例えばｇ＝ｇｒ１，ｐ＝ｐＳｒｖ２の場合、損失予測値テーブル３２０（図３（ｉ））中の３２５の位置にｃを記録する。
【００５６】
なお、図５におけるステップＳ５０６（配置候補テーブル２４０の内容を表示装置１１１に表示するステップ）に代えて、配置候補テーブル２４０の内容をファイルとして、ディスク装置１１４に出力するようにしても良い。また、図５におけるステップＳ５０７（配置の実行を指示するステップ）を省略し、他の手段で仮想サーバの配置を実行するようにしても良い。
【００５７】
また、サーバ配置評価値２４３以外の値をもとに、配置候補テーブル２４０に記憶するサーバ配置データ２４２を決定するようにしても良い。例えば、所定の性能指標を満たすサーバ配置データのみを対象としてサーバ配置評価値２４３を算出し、算出した値をもとに配置候補テーブル２４０に記憶するサーバ配置データ２４２を決定するようにしても良い。
【００５８】
以上説明したように、本実施形態によれば、グループ識別子で対応づけられた仮想サーバ間の関係に基づいた評価値に基づいて、物理サーバに対する仮想サーバの配置パターンを算出することができる。これにより、例えば、仮想サーバの故障に伴う損失予測式を、仮想サーバを使用するユーザ部門毎に設定し、ユーザ部門の損失予測値の総計が最小となような仮想サーバの配置パターンを算出することができる。また、この配置パターンに従って、仮想サーバを配置することができる。
【図面の簡単な説明】
【００５９】
【図１】仮想サーバ分散配置システムを説明する図である。
【図２】管理サーバのディスク装置に格納される各種テーブルを説明する図である。
【図３】管理サーバのディスク装置に格納される各種テーブルを説明する図である。
【図４】物理サーバに対する仮想サーバの配置例を説明する図である。
【図５】配置計算部および配置実行部の処理を説明する図である。
【図６】図５に示す損失予測テーブル生成処理（ステップＳ５１１）の詳細を説明する図である。
【図７】図６に示す損失予測値算出処理（ステップＳ６２１）の詳細を説明する図である。
【図８】損失処理の算出式を説明する図である。
【図９】表示装置に表示する表示画面の例を示す図である。
【符号の説明】
【００６０】
１０  管理サーバ
３０  ネットワーク
４０  物理サーバ
１１１  表示装置
１１２  入力装置
１１３，１４３  プロセッサ
１１４，１４４  ディスク装置
１１５，１４５  ネットワーク装置
１１６  配置計算部
１１７  配置実行部
１４６  仮想化機構
１４７  仮想サーバ
【図１】
2008140240.tif 000003
【図２】
2008140240.tif 000004
【図３】
2008140240.tif 000005
【図４】
2008140240.tif 000006
【図５】
2008140240.tif 000007
【図６】
2008140240.tif 000008
【図７】
2008140240.tif 000009
【図８】
2008140240.tif 000010
【図９】
2008140240.tif 000011