(57)【要約】【課題】仮想サーバの再移動を少なくすることが可能な仮想サーバ移動制御装置、仮想サーバ移動制御方法およびプログラムを提供する。【解決手段】仮想サーバ移動制御装置２は、仮想サーバを稼動可能な複数の物理サーバ３と接続され、複数の物理サーバ３のいずれかで稼動している仮想サーバを他の物理サーバ３に移動する仮想サーバ移動制御装置２であって、複数の物理サーバ３の負荷を検出する検出手段２１と、物理サーバ３ごとに、検出手段２１が予め定められた低負荷判定用閾値よりも小さい負荷を検出した期間を算出する算出手段２５と、算出手段２５にて算出された期間を用いて、複数の物理サーバ３の中から、仮想サーバの移動先となる移動先物理サーバを特定する特定手段２６と、特定手段２６にて特定された移動先物理サーバに、仮想サーバを移動する移動手段２４と、を含む。【選択図】図１
2009116380.tif 000002
【特許請求の範囲】
【請求項１】
仮想サーバを稼動可能な複数の物理サーバと接続され、当該複数の物理サーバのいずれかで稼動している仮想サーバを他の物理サーバに移動する仮想サーバ移動制御装置であって、
前記複数の物理サーバの負荷を繰り返し検出する検出手段と、
前記検出手段にて検出された各負荷を用いて、前記物理サーバごとに、当該物理サーバの負荷が予め定められた低負荷判定用閾値よりも小さい期間を算出する算出手段と、
前記算出手段にて算出された期間を用いて、前記複数の物理サーバの中から、前記仮想サーバの移動先となる移動先物理サーバを特定する特定手段と、
前記特定手段にて特定された移動先物理サーバに、前記仮想サーバを移動する移動手段と、を含む仮想サーバ移動制御装置。
【請求項２】
請求項１に記載の仮想サーバ移動制御装置において、
前記特定手段は、
前記複数の物理サーバのうち、前記期間が予め定められた安定期間よりも長い物理サーバを、移動先物理サーバ候補として特定する候補特定手段と、
前記候補特定手段にて特定された移動先物理サーバ候補について、前記仮想サーバが移動されてきた場合の負荷を計算し、当該計算の結果と前記期間とに基づいて、当該移動先物理サーバ候補の中から前記移動先物理サーバを特定する移動先特定手段と、を含む、仮想サーバ移動制御装置。
【請求項３】
請求項１または２に記載の仮想サーバ移動制御装置において、
前記算出手段は、前記物理サーバごとに、前記負荷が前記低負荷判定用閾値よりも小さくなった回数を、前記期間を表す情報として算出する、仮想サーバ移動制御装置。
【請求項４】
請求項１または２に記載の仮想サーバ移動制御装置において、
前記算出手段は、各物理サーバの負荷率を前記負荷ごとに算出し、前記物理サーバごとに、当該物理サーバの複数の負荷率に基づいて前記期間を表す情報を算出する、仮想サーバ移動制御装置。
【請求項５】
仮想サーバを稼動可能な複数の物理サーバと接続され、当該複数の物理サーバのいずれかで稼動している仮想サーバを他の物理サーバに移動する仮想サーバ移動制御装置が行う仮想サーバ移動制御方法であって、
前記複数の物理サーバの負荷を繰り返し検出する検出ステップと、
前記検出された各負荷を用いて、前記物理サーバごとに、当該物理サーバの負荷が予め定められた低負荷判定用閾値よりも小さい期間を算出する算出ステップと、
前記期間を用いて、前記複数の物理サーバの中から、前記仮想サーバの移動先となる移動先物理サーバを特定する特定ステップと、
前記特定された移動先物理サーバに、前記仮想サーバを移動する移動ステップと、を含む仮想サーバ移動制御方法。
【請求項６】
請求項５に記載の仮想サーバ移動制御方法において、
前記特定ステップは、
前記複数の物理サーバのうち、前記期間が予め定められた安定期間よりも長い物理サーバを、移動先物理サーバ候補として特定する候補特定ステップと、
前記移動先物理サーバ候補について、前記仮想サーバが移動されてきた場合の負荷を計算し、当該計算の結果と前記期間とに基づいて、当該移動先物理サーバ候補の中から前記移動先物理サーバを特定する移動先特定ステップと、を含む、仮想サーバ移動制御方法。
【請求項７】
請求項５または６に記載の仮想サーバ移動制御方法において、
前記算出ステップでは、前記物理サーバごとに、前記負荷が前記低負荷判定用閾値よりも小さくなった回数を、前記期間を表す情報として算出する、仮想サーバ移動制御方法。
【請求項８】
請求項５または６に記載の仮想サーバ移動制御方法において、
前記算出ステップでは、各物理サーバの負荷率を前記負荷ごとに繰り返し算出し、前記物理サーバごとに、当該物理サーバの複数の負荷率に基づいて前記期間を表す情報を算出する、仮想サーバ移動制御方法。
【請求項９】
仮想サーバを稼動可能な複数の物理サーバと接続されるコンピュータを、
前記複数の物理サーバの負荷を繰り返し検出する検出手段、
前記検出手段にて検出された各負荷を用いて、前記物理サーバごとに、当該物理サーバの負荷が予め定められた低負荷判定用閾値よりも小さい期間を算出する算出手段、
前記算出手段にて算出された期間を用いて、前記複数の物理サーバの中から、仮想サーバの移動先となる移動先物理サーバを特定する特定手段、および、
前記特定手段にて特定された移動先物理サーバに、前記仮想サーバを移動する移動手段として機能させるプログラム。
【請求項１０】
請求項９に記載のプログラムにおいて、
前記特定手段は、
前記複数の物理サーバのうち、前記期間が予め定められた安定期間よりも長い物理サーバを、移動先物理サーバ候補として特定する候補特定手段と、
前記候補特定手段にて特定された移動先物理サーバ候補について、前記仮想サーバが移動されてきた場合の負荷を計算し、当該計算の結果と前記期間とに基づいて、当該移動先物理サーバ候補の中から前記移動先物理サーバを特定する移動先特定手段と、を含む、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想サーバ移動制御装置、仮想サーバ移動制御方法およびプログラムに関し、特には、物理サーバが有する仮想サーバを、他の物理サーバに移動する、仮想サーバ移動制御装置、仮想サーバ移動制御方法およびプログラムに関する。
【背景技術】
【０００２】
特定のサーバに処理負荷が集中しないように、複数のサーバに処理負荷を分散する負荷分散技術が知られている。また、複数のサーバに分散されている処理負荷を、１つのサーバに集約する負荷集約技術が知られている。
【０００３】
特許文献１には、予備サーバを利用するか否かを示す予測表を生成し、その予測表に基づいて、主サーバの負荷を予備サーバに分散する負荷分散制御システムが記載されている。
【０００４】
特許文献２には、過剰負荷のコンピュータの負荷を、過小負荷のコンピュータに移動するシステムが記載されている。
【０００５】
非特許文献１には、物理サーバが高負荷または低負荷の場合、物理サーバ上の仮想サーバを他の物理サーバに移動させる技術が記載されている。
【０００６】
非特許文献１に記載の技術では、仮想サーバの負荷が集約された状態を維持しつつ、負荷が上限を超えないように、移動先のサーバが選択される。この技術では、仮想サーバの移動が、負荷変動に応じて自律的に実行される。このため、仮想サーバの処理能力を下げることなく、サーバ全体の利用効率を向上させることができる。
【特許文献１】特開２００６−２２８１１５号公報
【特許文献２】特表２００５−５０１３３５号公報
【非特許文献１】柳沢  満、竹村  俊徳著、「仮想サーバの最適な配置方式の提案と評価」、第69回(平成19年)全国大会講演論文集、日本、社団法人  情報処理学会、2007年3月6日、第3分冊、ネットワーク、分散システム(1)-2、pp.3-43,3-44
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１、特許文献２および非特許文献１に記載の負荷移動技術では、サーバ間で負荷の移動が頻繁に生じると、負荷の移動自体が新たな負荷となってしまう。
【０００８】
例えば、特許文献１に記載の予備サーバ（負荷の移動先）が、頻繁に高負荷になる場合、予備サーバに移動させられた負荷は、他のサーバに頻繁に移動される。
【０００９】
また、特許文献２に記載のシステムでは、負荷を受け付ける過小負荷のコンピュータが、頻繁に高負荷になる場合、そのコンピュータが受け付けた負荷は、直ちに、他のコンピュータに移動される可能性がある。
【００１０】
また、非特許文献１に記載の技術では、頻繁に高負荷または低負荷になる物理サーバが、仮想サーバを受け持った場合、その物理サーバの負荷（例えば、仮想サーバ）は、直ちに、他の物理サーバに移動される可能性がある。
【００１１】
本発明の目的は、上述した課題を解決することが可能な仮想サーバ移動制御装置、仮想サーバ移動制御方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の仮想サーバ移動制御装置は、仮想サーバを稼動可能な複数の物理サーバと接続され、当該複数の物理サーバのいずれかで稼動している仮想サーバを他の物理サーバに移動する仮想サーバ移動制御装置であって、前記複数の物理サーバの負荷を繰り返し検出する検出手段と、前記検出手段にて検出された各負荷を用いて、前記物理サーバごとに、当該物理サーバの負荷が予め定められた低負荷判定用閾値よりも小さい期間を算出する算出手段と、前記算出手段にて算出された期間を用いて、前記複数の物理サーバの中から、前記仮想サーバの移動先となる移動先物理サーバを特定する特定手段と、前記特定手段にて特定された移動先物理サーバに、前記仮想サーバを移動する移動手段と、を含む。
【００１３】
本発明の仮想サーバ移動制御方法は、仮想サーバを稼動可能な複数の物理サーバと接続され、当該複数の物理サーバのいずれかで稼動している仮想サーバを他の物理サーバに移動する仮想サーバ移動制御装置が行う仮想サーバ移動制御方法であって、前記複数の物理サーバの負荷を繰り返し検出する検出ステップと、前記検出された各負荷を用いて、前記物理サーバごとに、当該物理サーバの負荷が予め定められた低負荷判定用閾値よりも小さい期間を算出する算出ステップと、前記期間を用いて、前記複数の物理サーバの中から、前記仮想サーバの移動先となる移動先物理サーバを特定する特定ステップと、前記特定された移動先物理サーバに、前記仮想サーバを移動する移動ステップと、を含む。
【００１４】
本発明のプログラムは、仮想サーバを稼動可能な複数の物理サーバと接続されるコンピュータを、前記複数の物理サーバの負荷を繰り返し検出する検出手段、前記検出手段にて検出された各負荷を用いて、前記物理サーバごとに、当該物理サーバの負荷が予め定められた低負荷判定用閾値よりも小さい期間を算出する算出手段、前記算出手段にて算出された期間を用いて、前記複数の物理サーバの中から、仮想サーバの移動先となる移動先物理サーバを特定する特定手段、および、前記特定手段にて特定された移動先物理サーバに、前記仮想サーバを移動する移動手段として機能させる。
【発明の効果】
【００１５】
本発明によれば、仮想サーバの再移動を少なくすることが可能になる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施形態を、図面を参照して説明する。
【００１７】
図１は、本発明の第１実施形態の自律制御サーバを示したブロック図である。
【００１８】
図１において、自律制御サーバ２および複数の物理サーバ３は、通信網１に接続される。以下では、複数の物理サーバ３を、物理サーバ３１〜３ｍ（ｍは２以上の整数）としても表す。
【００１９】
各物理サーバ３は、例えば、記録媒体（磁気ディスク、半導体メモリ、光ディスク等）に記録されたプログラムを読み取り実行するコンピュータによって実現される。
【００２０】
各物理サーバ３は、１つまたは複数の仮想サーバ３ａを稼動する。以下では、複数の物理サーバに存在する仮想サーバを、仮想サーバ３１１〜３ｍｎ（ｎは１以上の整数）としても表す。
【００２１】
図１では、物理サーバ３１は、仮想サーバ３１１〜３１ｎを稼動する。また、物理サーバ３ｍは、仮想サーバ３ｍ１〜３ｍｎを稼動する。
【００２２】
自律制御サーバ２は、一般的に、仮想サーバ移動制御装置と呼ぶことができる。
【００２３】
自律制御サーバ２は、複数の物理サーバ３のいずれかで稼動している仮想サーバ３ａを、他の物理サーバ３に移動する。
【００２４】
自律制御サーバ２は、リソース情報収集部２１と、閾値判定部２２と、自律配置制御部２３と、仮想サーバ移動部２４とを含む。自律配置制御部２３は、物理サーバ静的情報記憶部２３１と、リソース情報履歴記憶部２３２と、評価値計算部２３３とを含む。
【００２５】
閾値判断部２２とリソース情報履歴記憶部２３２は、算出部２５に含まれる。評価値計算部２３３と物理サーバ静的情報記憶部２３１は、特定部２６に含まれる。リソース情報履歴記憶部２３２は、記憶部２３２ａと、管理部２３２ｂとを含む。評価値計算部２３３は、候補特定部２３３ａと、移動先特定部２３３ｂとを含む。
【００２６】
リソース情報収集部２１は、一般的に検出手段と呼ぶことができる。
【００２７】
リソース情報収集部２１は、複数の物理サーバ３および複数の仮想サーバ３ａの負荷を繰り返し検出する。
【００２８】
例えば、リソース情報収集部２１は、各物理サーバ３および各仮想サーバ３ａから、リソース情報（負荷情報）として、それぞれのＣＰＵ（Central Processing Unit）使用率、メモリ使用量、記録媒体への入出力性能値、および、通信制御装置の入出力性能値を、繰り返し取得する。
【００２９】
なお、記録媒体への入出力性能値は、例えば、最大データ転送速度に対する入出力データ転送速度の割合である。通信制御装置の入出力性能値は、例えば、伝送速度と使用帯域である。また、ＣＰＵ使用率とメモリ使用量は、一般的に、負荷の大きさを表す。
【００３０】
リソース情報収集部２１は、各物理サーバ３および各仮想サーバ３ａのリソース情報（負荷情報）を、リソース情報履歴記憶部２３２に提供し、また、各物理サーバ３のリソース情報（負荷情報）を、閾値判断部２２に提供する。
【００３１】
閾値判断部２２は、一般的に閾値判断手段と呼ぶことができる。
【００３２】
閾値判断部２２は、予め定められた低負荷判定用閾値（以下「低負荷閾値」と称する。）および高負荷判定用閾値（以下「高負荷閾値」と称する。）を記憶している。なお、低負荷閾値は、高負荷閾値より小さい。
【００３３】
閾値判断部２２は、リソース情報収集部２１からリソース情報を受け付けるたびに、そのリソース情報を、低負荷閾値および高負荷閾値と比較する。
【００３４】
例えば、閾値判断部２２は、まず、リソース情報から、各物理サーバ３の負荷情報（例えば、リソース使用量）を特定する。
【００３５】
閾値判断部２２は、各物理サーバ３の負荷情報を、低負荷閾値および高負荷閾値と比較する。
【００３６】
閾値判断部２２は、負荷情報が低負荷閾値よりも小さい物理サーバ３を、低負荷状態と判断する。閾値判断部２２は、その判断の結果を、リソース情報履歴記憶部２３２に提供する。
【００３７】
閾値判断部２２は、負荷情報が高負荷閾値よりも大きい物理サーバ３を、高負荷状態と判断する。閾値判断部２２は、その判断の結果を、リソース情報履歴記憶部２３２に提供してもよいし提供しなくてもよい。
【００３８】
閾値判断部２２は、高負荷状態の物理サーバ３を識別するための識別情報、または、低負荷状態の物理サーバ３を識別するための識別情報を、評価値計算部２３３に提供する。
【００３９】
物理サーバ静的情報記憶部２３１は、一般的に、物理サーバ静的情報記憶手段と呼ぶことができる。
【００４０】
物理サーバ静的情報記憶部２３１は、予め、各物理サーバ３のキャパシティ情報（例えば、メモリ容量）を記憶する。なお、キャパシティ情報は、各物理サーバ３における、ＣＰＵのクロック周波数、メモリ容量、および、ハードディスクと通信制御装置の最大転送速度でもよい。
【００４１】
リソース情報履歴記憶部２３２は、一般的にリソース情報履歴記憶手段と呼ぶことができる。
【００４２】
リソース情報履歴記憶部２３２は、各物理サーバ３のうち、閾値判断部２２が低負荷状態と判断した物理サーバ３のリソース使用量（負荷）の履歴を記憶する。
【００４３】
記憶部２３２ａは、一般的に記憶手段と呼ぶことができる。
【００４４】
管理部２３２ｂは、一般的に管理手段と呼ぶことができる。
【００４５】
管理部２３２ｂは、各物理サーバ３のうち、閾値判断部２２が低負荷状態と判断した物理サーバ３のリソース使用量の履歴を、記憶部２３２ａに記憶する。
【００４６】
管理部２３２ｂは、低負荷状態と判断された物理サーバ３のリソース使用量の履歴に基づいて、物理サーバ３ごとに、物理サーバ３の負荷が低負荷閾値よりも小さい期間（低負荷状態の期間）を、低負荷ポイント数として算出する。管理部２３２ｂは、その算出された低負荷ポイント数（期間）を、物理サーバ３ごとに、記憶部２３２ａに記憶する。
【００４７】
評価値計算部２３３は、一般的に評価値計算手段と呼ぶことができる。
【００４８】
評価値計算部２３３は、少なくとも、物理サーバ静的情報記憶部２３１内の情報および低負荷ポイント数を用いて、複数の物理サーバ３の中から、仮想サーバの移動先となる移動先物理サーバを特定する。
【００４９】
評価値計算部２３３は、リソース情報収集部２１が取得した各物理サーバ３および各仮想サーバ３ａのリソース情報と、閾値判断部２２から受け付けた物理サーバ３の識別情報と、物理サーバ静的情報記憶部２３１内の各物理サーバ３のキャパシティ情報と、リソース情報履歴記憶部２３２が管理する各物理サーバ３の低負荷ポイント数と、を使用して、移動される仮想サーバ３ａと、移動先の物理サーバ３と、を特定する。
【００５０】
例えば、評価値計算部２３３は、上記情報を用いて、閾値判断部２２から識別情報を用いて通知された物理サーバ３で稼動している仮想サーバ３ａ、および、移動先となりうる他の物理サーバ（移動先物理サーバ候補）の全ての組み合わせからなる移動候補についてそれぞれ評価値を計算する。
【００５１】
評価値は、仮想サーバ移動後の各物理サーバのリソース使用率を最適化（平準化または集中）するための指標である。
【００５２】
評価値計算部２３３は、評価値の算出結果を基に、移動される仮想サーバ３ａと、移動先の物理サーバ３を特定する。
【００５３】
評価値計算部２３３は、移動される仮想サーバ３ａと移動先の物理サーバ３とを表す情報を、仮想サーバ移動部２４に提供する。
【００５４】
候補特定部２３３ａは、一般的に候補特定手段と呼ぶことができる。
【００５５】
候補特定部２３３ａは、複数の物理サーバ３のうち、リソース使用量が高負荷閾値よりも小さい物理サーバ３、および、低負荷ポイント数（期間）が予め定められた安定期間ポイント数（安定期間）よりも長い物理サーバ３のいずれかまたはこれらの組み合わせを、移動先物理サーバ候補として特定する。
【００５６】
例えば、候補特定部２３３ａは、まず、複数の物理サーバ３を、移動先物理サーバ候補として特定する。候補特定部２３３ａは、リソース使用量が高負荷閾値を越える物理サーバ３、および、低負荷ポイント数（期間）が予め定められた安定期間ポイント数（安定期間）より少ない物理サーバ３のいずれかまたはこれらの組み合わせを、移動先物理サーバ候補から除外する。
【００５７】
移動先特定部２３３ｂは、一般的に移動先特定手段と呼ぶことができる。
【００５８】
移動先特定部２３３ｂは、候補特定部２３３ａにて特定された移動先物理サーバ候補について、仮想サーバが移動されてきた場合の負荷（例えば、リソース使用率）を計算し、その計算の結果と、低負荷ポイント数とに基づいて、移動先物理サーバ候補の中から、移動先物理サーバを特定する。
【００５９】
例えば、移動先特定部２３３ｂは、閾値判断部２２から識別情報を用いて通知された物理サーバ３で稼動している仮想サーバ３ａと移動先物理サーバ候補との全ての組み合わせからなる移動候補について、それぞれ評価値を計算する。
【００６０】
移動先特定部２３３ｂは、評価値の算出結果を基に、移動される仮想サーバ３ａと、移動先の物理サーバ３を特定する。移動先特定部２３３ｂは、移動される仮想サーバ３ａと移動先の物理サーバ３とを表す情報を、仮想サーバ移動部２４に提供する。
【００６１】
仮想サーバ移動部２４は、一般的に移動手段と呼ぶことができる。
【００６２】
仮想サーバ移動部２４は、自律配置制御部２３が決定した移動対象の仮想サーバ３ａを、移動先の物理サーバ３へ移動する。
【００６３】
仮想サーバ移動部２４は、運用管理製品、仮想化ミドルウェア製品をはじめとする公知技術で既に実現されている。このため、仮想サーバ移動部２４の実現方法は、特に制限しない。
【００６４】
算出部２５は、一般的に算出手段と呼ぶことができる。
【００６５】
算出部２５は、リソース情報収集部２１から受け付けた各負荷を用いて、物理サーバ３ごとに、物理サーバ３の負荷が低負荷閾値よりも小さい期間を、低負荷ポイント数として算出する。
【００６６】
特定部２６は、一般的に特定手段と呼ぶことができる。
【００６７】
特定部２６は、算出部２５にて算出された低負荷ポイント数を用いて、複数の物理サーバ３の中から、仮想サーバの移動先となる移動先物理サーバを特定する。
【００６８】
なお、自律制御サーバ２は、ＣＤ−ＲＯＭ、ハードディスクまたはメモリに記録されたプログラムに従って動作するコンピュータによって実現されてもよい。ＣＤ−ＲＯＭ、ハードディスクまたはメモリは、一般的に、コンピュータにて読み取り可能な記録媒体と呼ぶことができる。この場合、このコンピュータは、そのプログラムを記録媒体から読み取り実行することによって、リソース情報収集部２１、閾値判定部２２、自律配置制御部２３、および、仮想サーバ移動部２４として機能する。
【００６９】
次に、本実施の形態の全体の動作について詳細に説明する。
【００７０】
まず、高負荷の物理サーバで稼動している仮想サーバを、他の物理サーバに移動する動作を説明する。
【００７１】
図２は、高負荷の物理サーバで稼動している仮想サーバを、他の物理サーバに移動する動作を説明するためのフローチャートである。
【００７２】
リソース情報収集部２１は、各物理サーバ３１〜３ｍおよび各仮想サーバ３１１〜３ｍｎから、各物理サーバ３１〜３ｍおよび各仮想サーバ３１１〜３ｍｎのリソース情報を取得する。
【００７３】
以下では、ある物理サーバ３上でリソース使用量が上昇し、そのリソース使用量が、リソースごとに設定された高負荷閾値を超過した場合を想定する。
【００７４】
リソース情報収集部２１は、システム起動時から常に、閾値判断部２２へ、決められた間隔で、各物理サーバ３１〜３ｍのリソース情報を渡す。
【００７５】
また、リソース情報収集部２１は、システム起動時から常に、リソース情報履歴記憶部２３２へ、決められた間隔で、各物理サーバ３１〜３ｍと各仮想サーバ３１１〜３ｍｎのリソース情報を渡す。
【００７６】
閾値判断部２２は、リソース情報収集部２１からリソース情報を受け付けるたびに、そのリソース情報（具体的には、リソース使用量）を、低負荷閾値および高負荷閾値と比較する。
【００７７】
閾値判断部２２は、リソース使用量が低負荷閾値よりも小さい物理サーバ３を、低負荷状態と判断する。閾値判断部２２は、その判断の結果を、リソース情報履歴記憶部２３２に提供する。
【００７８】
リソース情報履歴記憶部２３２では、管理部２３２ｂは、閾値判断部２２が低負荷状態と判断した物理サーバ３の低負荷ポイント数に「１」を加算し、その低負荷ポイント数を記憶する。
【００７９】
なお、自律配置制御部２３で予め決められた低負荷ポイント数（安定期間ポイント数）が、安定期間として用いられる。
【００８０】
また、閾値判断部２２は、リソース情報収集部２１が取得したリソース情報を元に、高負荷閾値を超過した物理サーバ３を特定し、その特定された物理サーバ３を識別するための識別情報を、評価値計算部２３３へ通知する（ステップＡ１）。
【００８１】
リソース情報収集部２１は、自律制御サーバ２がサーバ分散動作を行うため、評価値計算部２３３へ、各物理サーバ３１〜３ｍと各仮想サーバ３１１〜３ｍｎのリソース情報を渡す（ステップＡ２）。
【００８２】
評価値計算部２３３の候補特定部２３３ａは、閾値判断部２２から、物理サーバ３を識別するための識別情報を受け付け、リソース情報収集部２１から、各物理サーバ３１〜３ｍと各仮想サーバ３１１〜３ｍｎのリソース情報を受け付けると、物理サーバ静的情報記憶部２３１から、各物理サーバ３のキャパシティ情報を取得すると共に、リソース情報履歴記憶部２３２から、各物理サーバ３の低負荷ポイント数を取得する（ステップＡ３）。
【００８３】
続いて、候補特定部２３３ａは、全物理サーバ３を、移動先物理サーバ候補とする。
【００８４】
続いて、候補特定部２３３ａは、リソース使用量が高負荷閾値を超えている物理サーバを、移動先物理サーバ候補から外す（ステップＡ４およびＡ５）。
【００８５】
続いて、候補特定部２３３ａは、移動先物理サーバ候補の絞込みを行うために、各物理サーバ３の低負荷ポイント数を参照して、残っている移動先物理サーバ候補の中で、予め決められた安定期間を満たしていない物理サーバを、移動先物理サーバ候補から外す（ステップＡ６およびＡ７）。
【００８６】
続いて、評価値計算部２３３は、リソース使用量が高負荷閾値を超えている物理サーバ３上の仮想サーバ３ａの中から、移動される仮想サーバ３ａを決定すると共に、移動先物理サーバ候補の中から、移動先となる物理サーバ３を特定する。
【００８７】
具体的には、移動先特定部２３３ｂは、高負荷閾値を超過した物理サーバ３（移動元物理サーバ）上にある仮想サーバ３ａを移動先物理サーバに移動した後の、移動元および移動先の物理サーバのリソース使用率（負荷）を求める（ステップＡ８）。
【００８８】
例えば、まず、移動先特定部２３３ｂは、高負荷閾値を超過した物理サーバ３上にある仮想サーバが移動した後の移動元物理サーバのリソース使用率Ｕ'＝（ＳＶｓｒｃ，ＶＭ，Ｒ）、および、仮想サーバが移動した後の移動元物理サーバのリソース使用率Ｕ'＝（ＳＶｄｅｓｔ，ＶＭ，Ｒ）を、以下の式（１）を用いて算出する。
【００８９】
【数１】
2009116380.tif 000003
【００９０】
ここで、ＳＶｄｅｓｔは、仮想サーバの移動先の物理サーバを表す。ＳＶｓｒｃは、仮想サーバの移動元の物理サーバを表す。ＶＭは、仮想サーバ［１］（複数のＶＭを表す場合は、ＶＭ＊とする。その場合の仮想サーバ数は２以上とする。）を表す。Ｒは、物理サーバまたは仮想サーバで使用するリソースを表す。Ｕ（ＳＶ，Ｒ）は、物理サーバ（ＳＶ）のリソース使用率を表す。Ｃ（ＳＶ，Ｒ）は、物理サーバ（ＳＶ）のリソース容量（キャパシティ）を表す。Ｕ（ＳＶ，ＶＭ，Ｒ）は、物理サーバで稼動する仮想サーバのリソース使用率（％）を表す。
【００９１】
図３は、仮想サーバ（ＶＭ）の移動前と移動後で各物理サーバのリソース使用率が変化する様子を示した説明図である。
【００９２】
図３では、移動元の物理サーバＳＶｓｒｃでリソース使用率が低下し（−Ｕ（ＳＶｓｒｃ，ＶＭ，Ｒ））、移動先の物理サーバＳＶｄｅｓｔでリソース使用率が増加（＋Ｕ（ＳＶｓｒｃ，ＶＭ，Ｒ）・Ｃ（ＳＶｓｒｃ，Ｒ））／Ｃ（ＳＶｄｅｓｔ，Ｒ））している様子を示している。
【００９３】
仮想サーバ移動後の移動元物理サーバのリソース使用率は、移動元物理サーバのリソース使用率から、移動される仮想サーバのリソース使用率を除外したものとなる。
【００９４】
また、仮想サーバ移動後の移動先物理サーバのリソース使用率は、移動先物理サーバのリソース使用率に、移動された仮想サーバのリソース使用率を追加したものとなる。
【００９５】
ここで、移動された仮想サーバの移動先物理サーバでのリソース使用率は、移動元および移動先の物理サーバのキャパシティ情報を用いて、移動元物理サーバのリソース使用率から換算される。
【００９６】
続いて、移動先特定部２３３ｂは、ステップＡ１で閾値判断部２２から通知された物理サーバ３で稼動している仮想サーバ３ａと、ステップＡ４〜Ａ７で選定された移動先物理サーバ候補の、すべての組み合わせからなる移動候補について、それぞれ評価値を計算する（ステップＡ９）。
【００９７】
ここで、仮想サーバ分散の観点から考えると、仮想サーバ３ａが移動することで、移動元物理サーバと移動先物理サーバのリソース使用率のバランスが、どのように変化するかを考慮することが重要である。
【００９８】
２台の物理サーバ３のリソース使用量のバランスがよいと言う意味を、各物理サーバ３のリソースの使用率が同程度であることと定義することが望ましい。
【００９９】
ここで、仮想サーバが移動した後の２台の物理サーバＳＶａ，ＳＶｂのリソース使用率の分散は、以下の式（２）で定義できる。
【０１００】
【数２】
2009116380.tif 000004
【０１０１】
さらに、物理サーバは、複数のリソースを備えているため、リソースＲごとの重みｗ（Ｒ）を考慮し、評価値を、以下の式（３）で定義する。
【０１０２】
【数３】
2009116380.tif 000005
【０１０３】
ここで、重みｗ（Ｒ）は、それぞれのリソース情報を重視するための指標であり、予め移動先特定部２３３ｂに登録されているものとする。
【０１０４】
また、以下の式（４）によって、評価値と低負荷ポイント数の逆数を掛け合わせたものを、低負荷を考慮した評価値として定義できる。
【０１０５】
【数４】
2009116380.tif 000006
【０１０６】
仮想サーバ分散の場合は、仮想サーバの移動により、移動元と移動先のリソース使用量が平準化されることを目的にしているので、移動先特定部２３３ｂは、評価値が最も小さい候補（仮想サーバと移動先物理サーバの組み合わせ）を選択する（ステップＡ１０）。
【０１０７】
仮想サーバ移動部２４は、ステップＡ１０で決定された移動対象の仮想サーバ３ａを、移動先の物理サーバ３へ移動する（ステップＡ１１）。
【０１０８】
次に、低負荷の物理サーバで稼動している仮想サーバを、他の物理サーバに移動する動作（以下「集約動作」と称する。）を説明する。
【０１０９】
図４は、低負荷の物理サーバで稼動している仮想サーバを、他の物理サーバに移動する動作を説明するためのフローチャートである。
【０１１０】
なお、図４において、図２に示した処理と同一の処理には同一符号を付してある。以下、図２に示した処理と異なる点を中心に動作を説明する。
【０１１１】
図４に示した動作では、図２に示したステップＡ１の代わりにステップＢ１が実行され、図２に示したステップＡ８の代わりにステップＢ８が実行され、図２に示したステップＡ１０の代わりにステップＢ１０が実行される。
【０１１２】
以下では、ある物理サーバ３上でリソース使用量が低下し、そのリソース使用量が、リソースごとに設定された低負荷閾値を下回った場合を想定する。
【０１１３】
ステップＢ１では、閾値判断部２２は、リソース情報収集部２１が取得したリソース情報を元に、低負荷閾値を下回った物理サーバ３を特定し、その特定された物理サーバ３を識別するための識別情報を、評価値計算部２３３へ通知する。
【０１１４】
ステップＢ８では、移動先特定部２３３ｂは、低負荷閾値を下回った物理サーバ３（移動元物理サーバ）上にある仮想サーバ３ａが移動先物理サーバに移動した後の、移動元および移動先の物理サーバのリソース使用率（負荷）を求める。
【０１１５】
なお、ステップＢ８において、リソース使用率の算出方法は、ステップＡ８での算出方法と同様である。
【０１１６】
ステップＢ１０では、仮想サーバ集約のために、仮想サーバの移動により、移動元と移動先のリソース使用量が集中されることを目的にしているので、移動先特定部２３３ｂは、評価値が最も大きい候補（仮想サーバと移動先物理サーバの組み合わせ）を選択する。
【０１１７】
次に、本実施形態の効果について説明する。
【０１１８】
本実施形態では、算出部２５は、リソース情報収集部２１から受け付けた各負荷を用いて、物理サーバ３ごとに、物理サーバ３の負荷が低負荷閾値よりも小さい期間を、低負荷ポイント数として算出する。特定部２６は、算出部２５にて算出された低負荷ポイント数を用いて、複数の物理サーバ３の中から、仮想サーバの移動先となる移動先物理サーバを特定する。仮想サーバ移動部２４は、特定部２６にて特定された移動先物理サーバに、仮想サーバを移動する。
【０１１９】
低負荷ポイント数は、低負荷状態の期間を表す。このため、移動先物理サーバとして、低負荷状態で安定している物理サーバを選択することが可能になる。
【０１２０】
よって、仮想サーバが移動先物理サーバに移動された後に、直ちに、その仮想サーバが別の移動先物理サーバに移動（再移動）されることを抑制することが可能になる。
【０１２１】
また、本実施形態では、候補特定部２３３ａは、複数の物理サーバ３のうち、低負荷ポイント数が予め定められた安定期間よりも長い物理サーバ３を、移動先物理サーバ候補として特定する。
【０１２２】
移動先特定部２３３は、候補特定部２３３ａにて特定された移動先物理サーバ候補について、仮想サーバが移動されてきた場合の負荷（リソース使用率）を計算し、その計算の結果と低負荷ポイント数とに基づいて、移動先物理サーバ候補の中から、移動先物理サーバを特定する。
【０１２３】
この場合、低負荷状態の期間が安定期間に満たない物理サーバを、移動先物理サーバ候補から除外することが可能になる。このため、移動先物理サーバ候補について行われる計算を削減することが可能になる。
【０１２４】
また、移動候補の仮想サーバと移動先候補の物理サーバのペアの数を少なくできるので、評価値を計算する際の計算量を少なくすることが可能になる。よって、計算に費やす時間を短くすることが可能になる。
【０１２５】
また、本実施形態では、算出部２５は、物理サーバ３ごとに、低負荷閾値よりも小さい負荷となった回数を、低負荷ポイント数を表す情報として算出する。
【０１２６】
この場合、単純に回数をカウントすることによって、低負荷ポイント数を算出することが可能になる。
【０１２７】
（第２実施形態）
図５は、本発明の第２実施形態の自律制御サーバを示したブロック図である。
【０１２８】
第２実施形態は、図１に示したリソース情報履歴記憶部２３２の代わりに、リソース情報履歴記憶部２３２Ａを含む。以下、第２実施形態について、第１実施形態と異なる点を中心に説明する。
【０１２９】
リソース情報履歴記憶部２３２Ａは、一般的にリソース情報履歴記憶手段と呼ぶことができる。
【０１３０】
リソース情報履歴記憶部２３２Ａは、各物理サーバ３のうち、閾値判断部２２が低負荷状態と判断した物理サーバ３のリソース使用量（負荷）の履歴を記憶していく。
【０１３１】
リソース情報履歴記憶部２３２Ａは、記憶部２３２ａＡと管理部２３２ｂＡを含む。記憶部２３２ａＡは、一般的に記憶手段と呼ぶことができる。管理部２３２ｂＡは、一般的に管理手段と呼ぶことができる。
【０１３２】
管理部２３２ｂＡは、各物理サーバ３のうち、閾値判断部２２が低負荷状態と判断した物理サーバ３のリソース使用量の履歴を、記憶部２３２ａＡに記憶する。
【０１３３】
また、管理部２３２ｂＡは、低負荷状態と判断された物理サーバ３のリソース使用量の履歴に基づいて、物理サーバ３ごとに、低負荷状態になってからの時間を低負荷ポイント数としてカウントする。管理部２３２ｂＡは、そのカウントされた低負荷ポイント数（時間）を、物理サーバ３ごとに、記憶部２３２ａＡに記憶する。
【０１３４】
リソース情報履歴記憶部２３２Ａと閾値判断部２２は、算出部２５Ａに含まれる。算出部２５Ａは、一般的に算出手段と呼ぶことができる。
【０１３５】
第２実施形態では、算出部２５Ａは、物理サーバ３ごとに、低負荷状態になってからの時間を低負荷ポイント数としてカウントする。このため、単純に低負荷状態時間をカウントすることによって、低負荷ポイント数を算出することが可能になる。
【０１３６】
（第３実施形態）
図６は、本発明の第３実施形態の自律制御サーバを示したブロック図である。
【０１３７】
第３実施形態は、図１に示したリソース情報履歴記憶部２３２の代わりに、リソース情報履歴記憶部２３２Ｂを含む。以下、第３実施形態について、第１実施形態と異なる点を中心に説明する。
【０１３８】
リソース情報履歴記憶部２３２Ｂは、一般的にリソース情報履歴記憶手段と呼ぶことができる。
【０１３９】
リソース情報履歴記憶部２３２Ｂは、各物理サーバ３のうち、閾値判断部２２が低負荷状態と判断した物理サーバ３のリソース使用量（負荷）の履歴を記憶する。
【０１４０】
リソース情報履歴記憶部２３２Ｂは、記憶部２３２ａＢと管理部２３２ｂＢを含む。記憶部２３２ａＢは、一般的に記憶手段と呼ぶことができる。管理部２３２ｂＢは、一般的に管理手段と呼ぶことができる。
【０１４１】
管理部２３２ｂＢは、各物理サーバ３のうち、閾値判断部２２が低負荷状態と判断した物理サーバ３のリソース使用量の履歴を、記憶部２３２ａＢに記憶していく。
【０１４２】
また、管理部２３２ｂＢは、各物理サーバ３のリソース負荷率％（リソース使用率）を、低負荷状態と判断された物理サーバ３のリソース使用量ごとに算出し、物理サーバ３ごとに、（１００−リソース負荷率％）の値を、低負荷ポイント数として加算していき、その加算値を記憶部２３２ａＢに記憶していく。
【０１４３】
リソース情報履歴記憶部２３２Ｂと閾値判断部２２は、算出部２５Ｂに含まれる。算出部２５Ｂは、一般的に算出手段と呼ぶことができる。
【０１４４】
第３実施形態では、算出部２５Ｂは、各物理サーバのリソース負荷率を用いて低負荷ポイント数を算出することが可能になる。
【０１４５】
（第４実施形態）
図７は、本発明の第４実施形態の自律制御サーバを示したブロック図である。
【０１４６】
第４実施形態は、図１に示したリソース情報履歴記憶部２３２の代わりに、リソース情報履歴記憶部２３２Ｃを含む。以下、第４実施形態について、第１実施形態と異なる点を中心に説明する。
【０１４７】
リソース情報履歴記憶部２３２Ｃは、一般的にリソース情報履歴記憶手段と呼ぶことができる。
【０１４８】
リソース情報履歴記憶部２３２Ｃは、各物理サーバ３のうち、閾値判断部２２が低負荷状態と判断した物理サーバ３のリソース使用量（負荷）の履歴を記憶する。
【０１４９】
リソース情報履歴記憶部２３２Ｃは、記憶部２３２ａＣと管理部２３２ｂＣを含む。記憶部２３２ａＣは、一般的に記憶手段と呼ぶことができる。管理部２３２ｂＣは、一般的に管理手段と呼ぶことができる。
【０１５０】
管理部２３２ｂＣは、各物理サーバ３のうち、閾値判断部２２が低負荷状態と判断した物理サーバ３のリソース使用量の履歴を、記憶部２３２ａＣに記憶していく。
【０１５１】
管理部２３２ｂＣは、閾値判断部２２が低負荷状態と判断した回数を、物理サーバ３ごとにカウントし、そのカウント値を低負荷状態判断回数として記憶部２３２ａＣに記憶する。
【０１５２】
また、管理部２３２ｂＣは、低負荷状態と判断された物理サーバ３の各リソース使用量に基づいて、物理サーバ３ごとに、リソース負荷率％（リソース使用率）を繰り返し算出し、物理サーバ３ごとに、（１００−リソース負荷率％）の値の平均値を算出する。
【０１５３】
管理部２３２ｂＣは、物理サーバ３ごとに、低負荷状態判断回数に（１００−リソース負荷率％）の値の平均値を掛け合わせたものを、各物理サーバ３の低負荷ポイント数として記憶部２３２ａＣに記憶する。
【０１５４】
リソース情報履歴記憶部２３２Ｃと閾値判断部２２は、算出部２５Ｃに含まれる。算出部２５Ｃは、一般的に算出手段と呼ぶことができる。
【０１５５】
第４実施形態では、算出部２５Ｃは、低負荷状態判断回数と各物理サーバのリソース負荷率を用いて低負荷ポイント数を算出することが可能になる。
【０１５６】
（第５実施形態）
図８は、本発明の第５実施形態の自律制御サーバを示したブロック図である。
【０１５７】
第５実施形態は、図１に示したリソース情報履歴記憶部２３２の代わりに、リソース情報履歴記憶部２３２Ｄを含む。以下、第５実施形態について、第１実施形態と異なる点を中心に説明する。
【０１５８】
リソース情報履歴記憶部２３２Ｄは、一般的にリソース情報履歴記憶手段と呼ぶことができる。
【０１５９】
リソース情報履歴記憶部２３２Ｄは、各物理サーバ３のうち、閾値判断部２２が低負荷状態と判断した物理サーバ３のリソース使用量（負荷）の履歴を記憶する。
【０１６０】
リソース情報履歴記憶部２３２Ｄは、記憶部２３２ａＤと管理部２３２ｂＤを含む。記憶部２３２ａＤは、一般的に記憶手段と呼ぶことができる。管理部２３２ｂＤは、一般的に管理手段と呼ぶことができる。
【０１６１】
管理部２３２ｂＤは、各物理サーバ３のうち、閾値判断部２２が低負荷状態と判断した物理サーバ３のリソース使用量の履歴を、記憶部２３２ａＤに記憶していく。
【０１６２】
管理部２３２ｂＤは、物理サーバ３のリソース使用量の履歴に基づいて、物理サーバ３ごとに、低負荷状態になってからの時間をカウントする。
【０１６３】
また、管理部２３２ｂＤは、低負荷状態と判断された物理サーバ３の各リソース使用量に基づいて、物理サーバ３ごとに、リソース負荷率％（リソース使用率）を繰り返し算出し、物理サーバ３ごとに、（１００−リソース負荷率％）の値の平均値を算出する。
【０１６４】
管理部２３２ｂＤは、物理サーバ３ごとに、低負荷状態になってからの時間に、（１００−リソース負荷率％）の値の平均値を掛け合わせたものを、各物理サーバ３の低負荷ポイント数として記憶部２３２ａＤに記憶する。
【０１６５】
リソース情報履歴記憶部２３２Ｄと閾値判断部２２は、算出部２５Ｄに含まれる。算出部２５Ｄは、一般的に算出手段と呼ぶことができる。
【０１６６】
第５実施形態では、算出部２５Ｄは、低負荷状態になってからの時間と各物理サーバのリソース負荷率を用いて低負荷ポイント数を算出することが可能になる。
【０１６７】
（産業上の利用可能性）
本発明は、例えば、監視ミドルウェア製品に実装し、物理サーバ上で稼働する仮想サーバの運用を効率的に行うデータセンター事業に適用可能である。
【図面の簡単な説明】
【０１６８】
【図１】本発明の第１実施形態の自律制御サーバを示したブロック図である。
【図２】高負荷の物理サーバで稼動している仮想サーバを、他の物理サーバに移動する動作を説明するためのフローチャートである。
【図３】仮想サーバ（ＶＭ）の移動前と移動後で各物理サーバのリソース使用率が変化する様子を示した説明図である。
【図４】低負荷の物理サーバで稼動している仮想サーバを、他の物理サーバに移動する動作を説明するためのフローチャートである。
【図５】本発明の第２実施形態の自律制御サーバを示したブロック図である。
【図６】本発明の第３実施形態の自律制御サーバを示したブロック図である。
【図７】本発明の第４実施形態の自律制御サーバを示したブロック図である。
【図８】本発明の第５実施形態の自律制御サーバを示したブロック図である。
【符号の説明】
【０１６９】
１        通信網
２        自律制御サーバ
２１      リソース情報収集部
２２      閾値判断部
２３      自律配置制御部
２３１    物理サーバ静的情報記憶部
２３２、２３２Ａ〜２３２Ｄ  リソース情報履歴記憶部
２３２ａ、２３２ａＡ〜２３２ａＤ  記憶部
２３２ｂ、２３２ｂＡ〜２３２ｂＤ  管理部
２３３    評価値計算部
２３３ａ  候補特定部
２３３ｂ  移動先特定部
２４      仮想サーバ移動部
２５、２５Ａ〜２５Ｄ      算出部
２６      特定部
３１〜３ｍ  物理サーバ
３１１〜３ｍｎ  仮想サーバ
【図１】
2009116380.tif 000007
【図２】
2009116380.tif 000008
【図３】
2009116380.tif 000009
【図４】
2009116380.tif 000010
【図５】
2009116380.tif 000011
【図６】
2009116380.tif 000012
【図７】
2009116380.tif 000013
【図８】
2009116380.tif 000014