(57)【特許請求の範囲】
【請求項１】
物理サーバのハッシュ値、および、所定のＳＬＡ（Service Level Agreement）を持つ仮想マシンのハッシュ値を、昇順の閉じたハッシュ空間上に配置し、前記ハッシュ空間上で前記仮想マシンの配置位置から昇順にたどって最初に出合う前記物理サーバを担当の物理サーバとすることで、複数の前記物理サーバの各々に前記仮想マシンを配置する仮想マシン配置装置であって、
前記物理サーバのハッシュ値および前記仮想マシンのハッシュ値を決定するハッシュ値決定部と、
前記物理サーバの負荷情報に基づいて前記物理サーバの各々の電源状態を決定する電源状態決定部と、
前記決定した電源状態に応じて前記仮想マシンの配置構成を決定する配置構成決定部と、を備え、
前記ハッシュ値決定部が、前記ハッシュ空間上で前記物理サーバの各々の担当領域に配置されている１または複数の前記仮想マシンに関して、当該仮想マシンのＳＬＡが昇順になるように、当該仮想マシンのハッシュ値を書き換え、
前記配置構成決定部が、過負荷となった前記物理サーバのハッシュ空間上の担当領域に、リソースに余裕のある他の前記物理サーバを仮想化した仮想ノードを配置し、前記物理サーバのハッシュ空間上の担当領域に配置されている前記仮想マシンの少なくとも一部を、前記仮想ノードに対応する他の前記物理サーバが前記過負荷となった物理サーバに代わって担当することで、前記過負荷となった物理サーバの負荷が負荷閾値を下回るように、前記配置構成を決定する、
ことを特徴とする仮想マシン配置装置。
【請求項２】
前記電源状態決定部は、前記電源状態をオフ状態にして前記物理サーバを削減する際、前記仮想マシンのうちＳＬＡが所定以上である高ＳＬＡ仮想マシンの担当数が少ない前記物理サーバを優先的に選択して削減する、
ことを特徴とする請求項１に記載の仮想マシン配置装置。
【請求項３】
前記電源状態決定部が前記電源状態をオン状態にして前記物理サーバを追加する際、
前記ハッシュ値決定部は、前記追加する物理サーバに関して、前記仮想マシンのうちＳＬＡが所定以上である高ＳＬＡ仮想マシンを担当する前記物理サーバのハッシュ空間上の担当領域内で当該高ＳＬＡ仮想マシンのハッシュ値よりも小さなハッシュ値に書き換える、
ことを特徴とする請求項１に記載の仮想マシン配置装置。
【請求項４】
物理サーバのハッシュ値、および、所定のＳＬＡ（Service Level Agreement）を持つ仮想マシンのハッシュ値を、昇順の閉じたハッシュ空間上に配置し、前記ハッシュ空間上で前記仮想マシンの配置位置から昇順にたどって最初に出合う前記物理サーバを担当の物理サーバとすることで、複数の前記物理サーバの各々に前記仮想マシンを配置する仮想マシン配置装置における仮想マシン配置方法であって、
前記仮想マシン配置装置は、
前記物理サーバのハッシュ値および前記仮想マシンのハッシュ値を決定するハッシュ値決定部と、
前記物理サーバの負荷情報に基づいて前記物理サーバの各々の電源状態を決定する電源状態決定部と、
前記決定した電源状態に応じて前記仮想マシンの配置構成を決定する配置構成決定部と、を備えており、
前記ハッシュ値決定部が、前記ハッシュ空間上で前記物理サーバの各々の担当領域に配置されている１または複数の前記仮想マシンに関して、当該仮想マシンのＳＬＡが昇順になるように、当該仮想マシンのハッシュ値を書き換え、
前記配置構成決定部が、過負荷となった前記物理サーバのハッシュ空間上の担当領域に、リソースに余裕のある他の前記物理サーバを仮想化した仮想ノードを配置し、前記物理サーバのハッシュ空間上の担当領域に配置されている前記仮想マシンの少なくとも一部を、前記仮想ノードに対応する他の前記物理サーバが前記過負荷となった物理サーバに代わって担当することで、前記過負荷となった物理サーバの負荷が負荷閾値を下回るように、前記配置構成を決定する、
ことを特徴とする仮想マシン配置方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ仮想化環境において、仮想マシンを物理サーバに配置する技術に関する。
【背景技術】
【０００２】
サーバ仮想化環境においては、消費電力量を削減するために物理サーバ電源制御手法が用いられる。物理サーバ電源制御手法は、システム全負荷に応じて仮想マシンを物理サーバ間で適切に再配置し、稼働する物理サーバの数を調整する方法である。
【０００３】
物理サーバ電源制御手法を実行すれば、稼働する物理サーバの数の調整頻度が増大するため、稼働する物理サーバ上の仮想マシンを再配置する頻度も必然的に増大する。このとき、仮想マシンによるサービスの提供を継続しつつ、稼働する物理サーバの数を調整することが求められるため、いわゆるライブマイグレーションによる仮想マシンを起動状態にしたまま、他の物理サーバへ再配置する頻度が必然的に増大する。
【０００４】
しかし、仮想マシンの再配置を実行すれば、再配置される仮想マシンの性能（例：ＣＰＵ（Central Processing Unit）、ディスクＩ／Ｏ（Input／Output））が再配置実行中は劣化するため、再配置される仮想マシンのアプリケーション処理速度は低下する。このため、仮想マシンの再配置頻度が増大すれば、性能劣化した仮想マシンの出現頻度が増大し、アプリケーション処理速度の低下が顕著になり、サービス利用者からの要求に対するサービス応答性が低下する。特に、高ＳＬＡ（Service Level Agreement：サービス品質保証）を要する仮想マシンの再配置頻度が増大したときのサービス応答性の低下は、サービス利用者の満足度を大きく損ねる。
【０００５】
また、仮想マシンの再配置を実行すれば、特殊な負荷分散装置を用いない限り、物理サーバ間の負荷不均衡が発生するため、過負荷な物理サーバ上の仮想マシンによるアプリケーション処理速度は低下する。このため、仮想マシンの再配置頻度が増大すれば、過負荷な物理サーバの出現頻度が増大し、アプリケーション処理速度の低下が顕著になり、サービス応答性が低下する。
【０００６】
特許文献１には、サーバ仮想化システム全体の総消費電力量が低減されるように、リソース使用率の低い物理サーバに仮想マシンを再配置し、仮想マシンが未配置となった物理サーバの電源をＯＦＦにする技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−６１２７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１では、仮想マシンの再配置に起因するサービス応答性の低下について何ら言及していない。
そこで、本発明は、上記事情に鑑みて、サーバ仮想化環境に対して物理サーバ電源制御を適用したときのサービス応答性を維持させることを課題とする。
【課題を解決するための手段】
【０００９】
前記課題を解決するために、請求項１に記載の発明は、物理サーバのハッシュ値、および、所定のＳＬＡ（Service Level Agreement）を持つ仮想マシンのハッシュ値を、昇順の閉じたハッシュ空間上に配置し、前記ハッシュ空間上で前記仮想マシンの配置位置から昇順にたどって最初に出合う前記物理サーバを担当の物理サーバとすることで、複数の前記物理サーバの各々に前記仮想マシンを配置する仮想マシン配置装置であって、前記物理サーバのハッシュ値および前記仮想マシンのハッシュ値を決定するハッシュ値決定部と、前記物理サーバの負荷情報に基づいて前記物理サーバの各々の電源状態を決定する電源状態決定部と、前記決定した電源状態に応じて前記仮想マシンの配置構成を決定する配置構成決定部と、を備え、前記ハッシュ値決定部が、前記ハッシュ空間上で前記物理サーバの各々の担当領域に配置されている１または複数の前記仮想マシンに関して、当該仮想マシンのＳＬＡが昇順になるように、当該仮想マシンのハッシュ値を書き換え、前記配置構成決定部が、過負荷となった前記物理サーバのハッシュ空間上の担当領域に、リソースに余裕のある他の前記物理サーバを仮想化した仮想ノードを配置し、前記物理サーバのハッシュ空間上の担当領域に配置されている前記仮想マシンの少なくとも一部を、前記仮想ノードに対応する他の前記物理サーバが前記過負荷となった物理サーバに代わって担当することで、前記過負荷となった物理サーバの負荷が負荷閾値を下回るように、前記配置構成を決定する、ことを特徴とする。
【００１０】
また、請求項４に記載の発明は、物理サーバのハッシュ値、および、所定のＳＬＡ（Service Level Agreement）を持つ仮想マシンのハッシュ値を、昇順の閉じたハッシュ空間上に配置し、前記ハッシュ空間上で前記仮想マシンの配置位置から昇順にたどって最初に出合う前記物理サーバを担当の物理サーバとすることで、複数の前記物理サーバの各々に前記仮想マシンを配置する仮想マシン配置装置における仮想マシン配置方法であって、前記仮想マシン配置装置は、前記物理サーバのハッシュ値および前記仮想マシンのハッシュ値を決定するハッシュ値決定部と、前記物理サーバの負荷情報に基づいて前記物理サーバの各々の電源状態を決定する電源状態決定部と、前記決定した電源状態に応じて前記仮想マシンの配置構成を決定する配置構成決定部と、を備えており、前記ハッシュ値決定部が、前記ハッシュ空間上で前記物理サーバの各々の担当領域に配置されている１または複数の前記仮想マシンに関して、当該仮想マシンのＳＬＡが昇順になるように、当該仮想マシンのハッシュ値を書き換え、前記配置構成決定部が、過負荷となった前記物理サーバのハッシュ空間上の担当領域に、リソースに余裕のある他の前記物理サーバを仮想化した仮想ノードを配置し、前記物理サーバのハッシュ空間上の担当領域に配置されている前記仮想マシンの少なくとも一部を、前記仮想ノードに対応する他の前記物理サーバが前記過負荷となった物理サーバに代わって担当することで、前記過負荷となった物理サーバの負荷が負荷閾値を下回るように、前記配置構成を決定する、ことを特徴とする。
【００１１】
請求項１，４に記載の発明によれば、ハッシュ空間上ではＳＬＡの高い仮想マシンは担当の物理サーバの近くに配置されるため、物理サーバ電源制御手法を実行することによって仮想マシンの再配置頻度が増大しても、ＳＬＡの高い仮想マシンの再配置頻度を削減することができる。一般的に、ハッシュ空間上では、仮想マシンが担当の物理サーバに近いほど両者間の範囲が小さくなり、新規稼働物理サーバの追加によってハッシュ空間上に当該追加の新規稼働物理サーバが両者間にランダムに配置される確率は小さくなり、当該追加の新規稼働物理サーバに担当が切り替わるような仮想マシンの再配置が起こりにくくなるからである。よって、担当の物理サーバの近くに配置されたＳＬＡの高い仮想マシンの再配置は概して起こりにくくなり、ＳＬＡの高い仮想マシンの再配置に起因するサービス応答性の低下は回避され、物理サーバ電源制御手法実行時のシステム全体のサービス応答性を維持することができる。
また、物理サーバ電源制御手法を実行することによって仮想マシンの再配置頻度が増大し、物理サーバ間の負荷不均衡が発生しても、過負荷となった物理サーバのハッシュ空間上の担当領域に他の物理サーバの仮想ノードを配置することで、過負荷となった物理サーバの発生頻度を削減し、物理サーバ間の負荷を均衡化することができる。よって、過負荷となった物理サーバの発生頻度の増大に起因するサービス応答性の低下は回避され、物理サーバ電源制御手法実行時のシステム全体のサービス応答性を維持することができる。
なお、ハッシュ空間上で、担当の物理サーバと、当該担当の物理サーバの近くに配置されたＳＬＡの高い仮想マシンとの間に、他の物理サーバの仮想ノードが配置される確率も小さくなり、当該仮想ノードを持つ他の物理サーバに担当が切り替わるような、ＳＬＡの高い仮想マシンの再配置は起こりにくい。
したがって、サーバ仮想化環境に対して物理サーバ電源制御を適用したときのサービス応答性を維持させることができる。
【００１２】
また、請求項２に記載の発明は、請求項１に記載の仮想マシン配置装置であって、前記電源状態決定部は、前記電源状態をオフ状態にして前記物理サーバを削減する際、前記仮想マシンのうちＳＬＡが所定以上である高ＳＬＡ仮想マシンの担当数が少ない前記物理サーバを優先的に選択して削減する、ことを特徴とする。
【００１３】
請求項２に記載の発明によれば、高ＳＬＡ仮想マシンを担当する物理サーバが当該担当の物理サーバの削減によって隣接の物理サーバに切り替わることを起こりにくくすることができる。よって、高ＳＬＡ仮想マシンの再配置に起因するサービス応答性の低下は回避され、物理サーバ電源制御手法実行時のシステム全体のサービス応答性をより確実に維持することができる。
【００１４】
また、請求項３に記載の発明は、請求項１に記載の仮想マシン配置装置であって、前記電源状態決定部が前記電源状態をオン状態にして前記物理サーバを追加する際、前記ハッシュ値決定部は、前記追加する物理サーバに関して、前記仮想マシンのうちＳＬＡが所定以上である高ＳＬＡ仮想マシンを担当する前記物理サーバのハッシュ空間上の担当領域内で当該高ＳＬＡ仮想マシンのハッシュ値よりも小さなハッシュ値に書き換える、ことを特徴とする。
【００１５】
請求項３に記載の発明によれば、高ＳＬＡ仮想マシンを担当する物理サーバが追加の物理サーバに切り替わることはなく、高ＳＬＡ仮想マシンの再配置に起因するサービス応答性の低下を確実に回避することができる。
【発明の効果】
【００１６】
本発明によれば、サーバ仮想化環境に対して物理サーバ電源制御を適用したときのサービス応答性を維持させることができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態の仮想マシン配置装置を含むシステム全体の構成図である。
【図２】ハッシュ値が決定した物理サーバおよび仮想マシンのハッシュリングへの配置例を示す図であり、（ａ）は初期割当時、（ｂ）は運用時である。
【図３】（ａ）ハッシュ値ソート前、（ｂ）ハッシュ値ソート後における、物理サーバおよび仮想マシンのハッシュリングへの配置例を示す図である。
【図４】（ａ）稼働物理サーバ（Ｓ２）削減時、（ｂ）稼働物理サーバ（Ｓ６，Ｓ７）追加時における、物理サーバおよび仮想マシンのハッシュリングへの配置例を示す図である。
【図５】削減する物理サーバの選定方法を説明する図である。
【図６】（ａ）仮想ノードの配置例、および、（ｂ）（負荷−負荷閾値）グラフである。
【図７】物理サーバ負荷変動により、自身の担当領域に仮想ノードが配置されている物理サーバがLight Serverに変化した場合における、（ａ）初期状態の仮想ノードの配置例、および、（ｂ）初期状態の（負荷−負荷閾値）グラフである。
【図８】図７の初期状態に対する、（ｃ）不要な仮想ノード削除後の仮想ノードの配置例、および、（ｄ）不要な仮想ノード削除後の（負荷−負荷閾値）グラフである。
【図９】稼働物理サーバ（Ｓ６）追加時における仮想ノードの配置例である。
【図１０】稼働物理サーバ（Ｓ２）削減時における仮想ノードの配置例である。
【図１１】本実施形態の仮想マシン配置装置にて実行される処理を示すフローチャートである。
【発明を実施するための形態】
【００１８】
本発明を実施するための形態（実施形態）について、図面を参照しながら詳細に説明する。
【００１９】
図１のシステム全体図に示すように、本実施形態の仮想マシン配置装置１と、複数の物理サーバ２−１〜２−ｎと、仮想インフラ管理装置４とは、ネットワーク（図示略）を介して通信可能に接続している。
【００２０】
物理サーバ２−１〜２−ｎは、仮想化技術によって１または複数の仮想マシンを動作させ、クライアント（図示せず）からの要求に対応するサービスを提供する計算機である。物理サーバ２−１〜２−ｎの各々に対して、オン状態やオフ状態といった電源状態が設定されている。物理サーバ２−１（他の物理サーバについても同様）は、負荷情報収集部４１と、負荷情報出力部４２とを備える。
【００２１】
負荷情報収集部４１は、自身の物理サーバの負荷情報を定期的に収集する。負荷情報とは、例えば、ＣＰＵ使用率、ディスクＩ／Ｏであるが、これらに限定されない。負荷情報を求める方法は、周知の方法でよく、詳細な説明は省略する。
負荷情報出力部４２は、負荷情報収集部４１が収集した負荷情報を、仮想マシン配置装置１または仮想インフラ管理装置４に定期的に送信する。
【００２２】
図１に示す仮想マシン３−１〜３−ｍは、物理サーバ２−１〜２−ｎのいずれかで動作する仮想マシンである。仮想マシン３−１〜３−ｍは、サービスを実現するアプリケーションを実装する。仮想マシン３−１〜３−ｍは、電源状態がオン状態の稼働する物理サーバに配置され、電源状態がオフ状態の非稼働の物理サーバには配置されない。
【００２３】
仮想インフラ管理装置４は、物理サーバ２−１〜２−ｎを管理するオペレータが操作する管理コンソールである。仮想インフラ管理装置４は、物理サーバ２−１〜２−ｎから負荷情報を取得し、仮想マシン配置装置１に送信することができる。
【００２４】
仮想マシン配置装置１は、物理サーバ電源制御手法を実行し、仮想マシン３−１〜３−ｍの再配置を行う。仮想マシン３−１〜３−ｍの再配置とは、所定のタイミングで、仮想マシン３−１〜３−ｍの各々を物理サーバ２−１〜２−ｎのいずれで動作させるかを決定することである。仮想マシン配置装置１は、処理部１０と、通信部２０と、記憶部３０とを備える。
【００２５】
通信部２０は、通信回線を介して情報を送受信する通信インターフェースによって構成され、内部バスなどを介して処理部１０に接続されている。処理部１０は、通信部２０を介して物理サーバ２−１〜２−ｎや、仮想インフラ管理装置４と、情報の送受信を行うことができる。
【００２６】
記憶部３０は、例えば、ハードディスク、フラッシュメモリ、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などの記憶装置である。記憶部３０は、例えば、物理サーバ２−１〜２−ｎの各々の電源状態の管理情報、仮想マシン３−１〜３−ｍの各々のＳＬＡの管理情報、物理サーバ電源制御手法や仮想マシンの配置構成に関するプログラム（仮想マシン配置プログラム）などを記憶する。
物理サーバ２−１〜２−ｎの各々の電源状態の管理情報は、例えば、電源状態決定部１３（後記）が作成することができる。仮想マシン３−１〜３−ｍの各々のＳＬＡの管理情報は、仮想マシンが動作して提供されるサービスのＳＬＡを仮想マシンごとに設定した情報であり、例えば、仮想インフラ管理装置４のオペレータが作成することができる。また、仮想マシン３−１〜３−ｍの各々のＳＬＡは、仮想マシン３−１〜３−ｍに導入するシステムの種類によって異なっており、オペレータはシステムの種類ごとのＳＬＡを事前に指定する。
【００２７】
処理部１０は、仮想マシン配置装置１が実行する処理の全体を司る。処理部１０は、例えば、記憶部３０が記憶するプログラムをＣＰＵ（Central Processing Unit）が記憶部３０のＲＡＭに展開して実行することによって実現される。処理部１０は、例えば、負荷情報入力部１１、ハッシュ値決定部１２、電源状態決定部１３、配置構成決定部１４、配置構成変更実行部１５、および、電源切替実行部１６といった機能部を備える。
【００２８】
負荷情報入力部１１は、物理サーバ２−１〜２−ｎの負荷情報出力部４２が送信した負荷情報を取得する。また、負荷情報入力部１１は、仮想インフラ管理装置４から、物理サーバ２−１〜２−ｎの負荷情報を取得することができる。
【００２９】
ハッシュ値決定部１２は、物理サーバ２−１〜２−ｎ、および、仮想マシン３−１〜３−ｍに割り当てるハッシュ値を、例えば、仮想ノードを用いたコンシステントハッシュ法に従って決定する。物理サーバ２−１〜２−ｎについては、電源状態がオン状態の物理サーバにハッシュ値が割り当てられる。
ハッシュ値決定部１２の機能に関する詳細は、後記する。
【００３０】
電源状態決定部１３は、物理サーバ２−１〜２−ｎの各々の電源状態を決定する。物理サーバの電源状態は、電源が投入されたオン状態と、電源が投入されないオフ状態とに分類することができる。電源状態がオン状態の物理サーバを「稼働物理サーバ」と呼ぶ場合がある。電源状態決定部１３は、物理サーバ電源制御手法によって、システム負荷に応じて稼働物理サーバの数を調整することができる（周知）。システム負荷は、物理サーバ２−１〜２−ｎの各々の負荷情報から算出することができる。
なお、物理サーバの他の電源状態として、例えば、仮想マシンを動作させるほどの電源供給は無いが必要最小限の動作を継続可能なサスペンド状態を用意することもできる。サスペンド状態の物理サーバには、仮想マシンを配置することはできないが、オン状態へ移行するための時間がオフ状態に比べて非常に短い。
電源状態決定部１３の機能に関する詳細は、後記する。
【００３１】
配置構成決定部１４は、負荷情報入力部１１の処理結果や電源状態決定部１３の処理結果を参照し、所定の仮想マシン配置変更タイミングにて、仮想マシン３−１〜３−ｍの配置構成を決定する。仮想マシンの配置構成とは、仮想マシンと当該仮想マシンが動作する物理サーバとの対応関係をいう。仮想マシンの配置構成の決定は、例えば、仮想ノードを用いたコンシステントハッシュ法に従うことができる。
配置構成決定部１４の機能に関する詳細は、後記する。
【００３２】
配置構成変更実行部１５は、配置構成決定部１４の決定に基づいて、仮想マシン３−１〜３−ｍの配置構成変更を実行する。配置構成変更実行部１５は、仮想インフラ管理装置４に仮想マシン３−１〜３−ｍの配置構成変更の実行指令を送信し、仮想インフラ管理装置４に当該配置構成変更を実行させることができる。
【００３３】
電源切替実行部１６は、電源状態決定部１３の決定に基づいて、物理サーバ２−１〜２−ｎの電源切替を実行する。電源切替実行部１６は、仮想インフラ管理装置４に物理サーバ２−１〜２−ｎの電源切替の実行指令を送信し、仮想インフラ管理装置４に当該電源切替を実行させることができる。
【００３４】
＜ハッシュ値決定部１２の機能に関する詳細＞
ハッシュ値決定部１２によってハッシュ値が決定された物理サーバおよび仮想マシンは、コンシステントハッシュ法で規定するハッシュリング（ハッシュ空間）上の該当位置に配置される。ハッシュリング上への配置のタイミングは、（ａ）初期割当時と、（ｂ）運用時とに分類することができる。
【００３５】
初期割当時には、物理サーバおよび仮想マシンに対して初めてのハッシュ値が決定される。初めてのハッシュ値が決定された物理サーバおよび仮想マシンをハッシュリング上に配置したときの様子を図２（ａ）に示す。ハッシュ値は、ハッシュリングの回転位置に対応しており、ハッシュ値の昇順方向はハッシュリングの時計回り方向に一致する。説明の便宜上、物理サーバＳ１のハッシュ値＜物理サーバＳ２のハッシュ値＜・・・＜物理サーバＳ５のハッシュ値とする。また、特定の物理サーバから反時計回りに進んで最初に出くわす１つ手前の物理サーバまでのハッシュリングの円弧が、当該特定の物理サーバの担当領域となる。例えば、図２（ａ）中の物理サーバＳ２の担当領域は、物理サーバＳ１に出くわすまでの円弧（図２（ａ）中の矢印参照）である。換言すれば、各仮想マシンの担当の物理サーバは、ハッシュリング上で当該仮想マシンの配置位置から昇順にたどって最初に出合う物理サーバとなる。
【００３６】
図２（ａ）には、ハッシュ値が決定された仮想マシンｖ３（２）、ｖ４（２）、ｖ２（１）、ｖ５（１）、ｖ６（１）が、物理サーバＳ２の担当領域に配置されていることが示されている。よって、仮想マシンｖ３（２）、ｖ４（２）、ｖ２（１）、ｖ５（１）、ｖ６（１）は、物理サーバＳ２上に配置され動作する。なお、ｖ３（２）などの括弧内の数値は、当該仮想マシンに付与されたＳＬＡの値である。ＳＬＡの最小値は１とし、２，３，・・・と１ずつ増大するとする。
【００３７】
運用時では、例えば、特定の物理サーバの負荷上昇に応じた仮想マシンの再配置や、システム全負荷の変動に応じた稼働物理サーバ数の調整によって、ハッシュ値決定部１２が物理サーバおよび仮想マシンのハッシュ値の再決定を行う。例えば、図２（ｂ）には、図２（ａ）の状態から、稼働している物理サーバＳ２を削減したことで、物理サーバＳ３の担当領域が、削減前の物理サーバＳ２の担当領域を含むように拡大し（図２（ｂ）中の矢印参照）、物理サーバＳ３の担当領域に配置される仮想マシンｖ１（１）、ｖ３（２）、ｖ４（２）、ｖ２（１）、ｖ５（１）、ｖ６（１）のハッシュ値が再決定され、再配置される様子が示されている。
【００３８】
なお、物理サーバの削減とは、稼働している物理サーバの少なくとも１つの電源状態をオフ状態にし、稼働物理サーバ数を低減することを意味する。また、物理サーバの追加とは、非稼働の物理サーバの少なくとも１つの電源状態をオン状態にし、稼働物理サーバ数を増大することを意味する。
【００３９】
初期割当時では、ハッシュ値決定部１２が、例えば、ＭＤ５などのハッシュ関数を用いて周知の方法で物理サーバおよび仮想マシンのハッシュ値を決定する。決定されたハッシュ値によって、コンシステントハッシュ法に従って担当物理サーバごとに仮想マシンのグルーピングが行われる。つまり、ハッシュリング上に配置された物理サーバごとに、当該物理サーバの担当領域に配置されている仮想マシン群を特定する。担当物理サーバごとの仮想マシンのグルーピングの１例が行われたハッシュリングを図３（ａ）に示す。図３（ａ）において、担当物理サーバの模様と、当該担当物理サーバにグルーピングされた仮想マシンの模様は同じに描かれている。
【００４０】
ここで、ハッシュ値決定部１２は、担当物理サーバごとに、担当領域上に配置された仮想マシン群に対して、仮想マシンのハッシュ値を高ＳＬＡ順にソートし、ＳＬＡの値が大きな仮想マシンほど、担当物理サーバに近付ける。つまり、ハッシュ値決定部１２は、ハッシュリング上で物理サーバの各々の担当領域に配置されている仮想マシン群に関して、当該仮想マシンのＳＬＡが昇順になるように、当該仮想マシンのハッシュ値を書き換える。図３（ａ）に対して、上記のハッシュ値のソートを行ったハッシュリングを図３（ｂ）に示す。図３（ｂ）によれば、物理サーバＳ１の担当領域に配置されている仮想マシンａ１〜ａ７のうち、最大のＳＬＡ（３）を持つ仮想マシンａ２、ａ４が、他の仮想マシンと比較して物理サーバＳ１に最も近付くように配置されている。また、ＳＬＡ（２）を持つ仮想マシンａ３、ａ６は、ＳＬＡ（１）を持つ仮想マシンａ１、ａ５、ａ７と比較して物理サーバＳ１に近付くように配置されている。
【００４１】
ＳＬＡの大きな仮想マシンを担当物理サーバに近付けることで、物理サーバ電源制御手法によって物理サーバが追加されたとしても、追加の物理サーバがハッシュリング上でＳＬＡの大きな仮想マシンと担当物理サーバとの間に配置される可能性が小さくなり、ＳＬＡの大きな仮想マシンの再配置頻度を低減することができる。
なお、ＳＬＡが付与された新たな仮想マシンが追加された場合にも、この新たな仮想マシンを含めた、上記のハッシュ値のソートが行われる。
【００４２】
運用時では、物理サーバ電源制御手法によって稼働物理サーバを削減する場合、および追加する場合に、ハッシュ値決定部１２は、以下の手順を踏む。
運用時にて稼働物理サーバを削減する場合、削減する物理サーバの担当領域に配置されている仮想マシン群を隣接物理サーバが引き継いで担当する。隣接物理サーバは元々担当していた仮想マシン群と、引き継いだ仮想マシン群とをまとめて新たにグルーピングする。ハッシュ値決定部１２は、新たにグルーピングされた仮想マシン群に対して、既に説明したハッシュ値の高ＳＬＡ順ソートを行う。
【００４３】
図４（ａ）には、稼働物理サーバ（Ｓ２）の削減時に、稼働物理サーバ（Ｓ２）の担当していた仮想マシンｖ３（１）、ｖ２（２）を、物理サーバ（Ｓ３）が引き継いで担当して仮想マシンのグルーピングを行うことが示されている。また、図４（ａ）には、仮想マシンのハッシュ値の高ＳＬＡ順ソートによって、ｖ２（２）とｖ１（１）とを入れ替えて、ｖ２（２）をｖ１（１）よりも物理サーバ（Ｓ３）に近付けようとしていることが示されている。
【００４４】
なお、図４（ａ）には、星印で示した仮想ノード（ＶＳ３，ＶＳ４，ＶＳ５）が図示されている。仮想ノードは、物理サーバを仮想化したサーバであり、物理サーバごとに１または複数生成することができる。仮想サーバの生成は、配置構成決定部１４の機能であり、詳細は後記する。仮想ノードをハッシュリング上に配置することで、仮想ノードの元となる物理サーバの担当領域とは別の担当領域を、当該元となる物理サーバの担当領域とすることができる。このとき、他の物理サーバの担当領域から置き換えるようにして、当該元となる物理サーバの担当領域を作り出すことができるため、物理サーバ間の負荷分散を実現することができる。なお、ハッシュ値決定部１２が仮想ノードに所定のハッシュ値を決定することで、当該仮想ノードがハッシュリング上の所定の位置に配置される。
【００４５】
一方、運用時にて稼働物理サーバを新規に追加する場合、ハッシュ値決定部１２は、ハッシュ関数を用いて、追加物理サーバに対してハッシュ値を決定する。よって、追加物理サーバは、ハッシュリング上の、決定したハッシュ値に応じた位置に配置され、追加物理サーバの担当領域が（暫定的に）決定する。
【００４６】
ここで、追加物理サーバの担当領域に配置済みの仮想マシンのなかに、所定以上の高ＳＬＡを持つ高ＳＬＡ仮想マシンが存在する場合、当該高ＳＬＡ仮想マシンを含まないように、追加物理サーバのハッシュ値を書き換え、追加物理サーバの担当領域を再設定する。つまり、ハッシュ値決定部１２は、追加する物理サーバに関して、この追加前に高ＳＬＡ仮想マシンを担当していた物理サーバの担当領域内で当該高ＳＬＡ仮想マシンのハッシュ値よりも小さなハッシュ値に書き換える。
【００４７】
具体的には、まず、以下の変数、記号を設定する。
ｈ０：追加物理サーバのハッシュ値
Ｓｆ：ハッシュ値ｈ０の担当領域を持つ追加物理サーバ
ｈｖ：追加物理サーバＳｆの担当領域に配置されている１または複数の仮想ノードのうち最初の仮想ノードＶｆ（追加物理サーバＳｆに最も近い仮想ノード）のハッシュ値（ただし、仮想ノードＶｆが存在する場合に限る）
ｈｎ：ハッシュリング上で、追加物理サーバＳｆの１つ後の隣接物理サーバＳｒのハッシュ値
ｈｌ：ハッシュリング上で、ハッシュ値ｈｖまたはハッシュ値ｈｎよりも前に位置し、追加物理サーバＳｆの担当領域に配置されている（複数の）仮想マシンであって、所定ＳＬＡ以上を要する仮想マシンのなかで、最も後方に位置する仮想マシンｖｍのハッシュ値
Ｈ（ａ，ｂ）：ハッシュ値ａ、ｂの間に位置する任意のハッシュ値
その場合、
追加物理サーバＳｆのハッシュ値ｈ０の、ハッシュ値決定部１２による書き換え後のハッシュ値ｈｒを、
ｈｒ  ＝  Ｈ（ｈｌ，ｈｖ）    仮想ノードＶｆが存在する場合
ｈｒ  ＝  Ｈ（ｈｌ，ｈｎ）    仮想ノードＶｆが存在しない場合
とする。
なお、追加物理サーバＳｆの担当領域に配置されている仮想ノードＶｆが、ハッシュ値ｈｌの仮想マシンｖｍよりも前に配置されている場合には、当該仮想ノードＶｆがハッシュ値ｈｌの仮想マシンｖｍを担当するのであり、追加物理サーバＳｆが担当するわけではない。
【００４８】
図４（ｂ）には、稼働物理サーバ（Ｓ６，Ｓ７）追加時に、仮想マシンのＳＬＡに応じて追加物理サーバ（Ｓ６，Ｓ７）のハッシュ値を書き換えて配置変更を行うか否かが示されている。所定ＳＬＡ＝３とし、３以上のＳＬＡを持つ仮想マシンを高ＳＬＡ仮想マシンとする。
【００４９】
追加物理サーバＳ７については、追加物理サーバＳ７の担当領域に高ＳＬＡ仮想マシンが存在しないため（仮想マシンｃ１（１）のみ存在する）、ハッシュ値決定部１２は、追加物理サーバ（Ｓ７）のハッシュ値を書き換えない。一方、追加物理サーバＳ６については、初期割当時（破線で示す）では、高ＳＬＡ仮想マシンとして仮想マシンａ２（３）、ａ４（３）を含むため、ハッシュ値決定部１２は、これらの仮想マシンａ２（３）、ａ４（３）を含まないように追加物理サーバＳ６のハッシュ値を書き換える（矢印で示す）。つまり、追加物理サーバＳ６のハッシュ値を仮想マシンａ２（３）、ａ４（３）のハッシュ値よりも小さくする。このとき、ハッシュ値書き換え前の追加物理サーバＳ６の担当領域には、最初の仮想ノードＶＳ３が含まれているため、ハッシュ値書き換え後の追加物理サーバＳ６は、最初の仮想ノードＶＳ３よりも前方に位置する。
【００５０】
＜電源状態決定部１３の機能に関する詳細＞
既に説明したように、電源状態決定部１３は、物理サーバ電源制御手法によって、システム負荷に応じて稼働物理サーバの数を調整することができる（周知）。このとき、電源状態決定部１３は、電源状態を変更する物理サーバを適切に選定する。稼働物理サーバの数の調整により稼働物理サーバの数を増やす場合、追加する物理サーバの選定は、例えば、物理サーバの電源切替履歴、性能スペック値、使用可能残年数などのさまざまな選定要素に基づいて行うことができる。
【００５１】
一方、稼働物理サーバの数の調整により稼働物理サーバの数を減らす場合、削減する物理サーバの選定は、高ＳＬＡ仮想マシンの担当数が少ない物理サーバを優先的に選択するように行う。図５には、削減する物理サーバを選定する方法の具体例が示されている。高ＳＬＡ仮想マシンとして扱う所定ＳＬＡを３とした場合、電源状態決定部１３は、仮想マシンａ２（３）、ａ４（３）を担当する物理サーバＳ１、仮想マシンｃ２（３）を担当する物理サーバＳ４、および、仮想マシンｂ２（３）を担当する物理サーバＳ５は、削減せず、ＳＬＡ＝３の仮想マシンを担当していない物理サーバＳ２、Ｓ３を優先的に削減する。
なお、電源状態を、オン状態でもオフ状態でもない他の電源状態（サスペンド状態）に変更する物理サーバを選定することに対しても、上記の選定方法を応用することができる。
【００５２】
＜配置構成決定部１４の機能に関する詳細＞
既に説明したように、配置構成決定部１４は、所定の仮想マシン配置変更タイミング（初期配置のタイミングも含む）にて、仮想マシンの配置構成を決定する。仮想マシン配置変更タイミングは、主に、（１）物理サーバ電源制御手法によって特定の物理サーバにて負荷が上昇し、その物理サーバに予め設定されている上限の負荷閾値を超えたタイミング（サービス品質維持のため）、（２）新規の稼働物理サーバを追加するタイミング（負荷分散のため）、（３）電源オフに変更して稼働物理サーバを削減するタイミング（負荷分散のため）、が該当する。このとき、配置構成決定部１４は、これらの仮想マシン配置変更タイミングにて再配置が必要となる仮想マシンを適切に選定し、選定した仮想マシンを適切な物理サーバに再配置する。
【００５３】
配置構成決定部１４による、仮想マシンの初期配置および再配置は、物理サーバを仮想化した仮想ノードを用いたコンシステントハッシュ法に従う。一例として、どの物理サーバの仮想ノードをハッシュリング上のどの位置に配置するかは、以下の手順１〜４で決定する。
【００５４】
（手順１）：物理サーバの担当する仮想マシン群のシステム負荷の合計値から物理サーバの性能などを考慮して予め設定された負荷閾値との差（以下、「負荷−負荷閾値」と表現する場合がある。）を、物理サーバごとに計算する。このとき（負荷−負荷閾値）の値が正（０も含むとする）の物理サーバを、物理サーバリソースに余裕のない物理サーバ（以下、「Heavy Servers」または「過負荷物理サーバ」と呼ぶ場合がある）に分類し、（負荷−負荷閾値）の値が負の物理サーバを、物理サーバリソースに余裕のある物理サーバ（以下、「Light Servers」と呼ぶ場合がある）に分類する。
【００５５】
（手順２）：（負荷−負荷閾値）の値が最も大きい物理サーバ（物理サーバリソースが最も余裕がない物理サーバ）について、この物理サーバの担当領域に、（負荷−負荷閾値）の値が最も小さい物理サーバ（物理サーバリソースが最も余裕がある物理サーバ）の仮想ノードを配置する。もし、この仮想ノードの配置によって、（負荷−負荷閾値）の値が最も大きい物理サーバの負荷が負荷閾値を下回ることがない場合、（負荷−負荷閾値）の値が２番目に小さい物理サーバの仮想ノードを追加的に配置する。（負荷−負荷閾値）の値が最も大きい物理サーバの負荷が負荷閾値を下回るまで、（負荷−負荷閾値）の値が負の物理サーバの仮想ノードを、順次配置する。
【００５６】
（手順３）：（負荷−負荷閾値）の値が２番目に大きい物理サーバ（物理サーバリソースが２番目に余裕がない物理サーバ）について、この物理サーバの担当領域に、（負荷−負荷閾値）の値が最も小さい物理サーバの仮想ノードを、手順２の配置によってまだ物理サーバリソースに余裕があれば配置する。（負荷−負荷閾値）の値が最も小さい物理サーバの負荷が負荷閾値に達した場合、（負荷−負荷閾値）の値が２番目に小さい物理サーバの仮想ノードの配置を行う。
【００５７】
（手順４）：（負荷−負荷閾値）の値が３番目、４番目、・・・に大きい物理サーバについて、手順２，３を繰り返す。
結果的に、すべての過負荷物理サーバの担当領域に対して、過負荷物理サーバの負荷が負荷閾値を下回るように１または複数の仮想ノードが配置される。このとき、過負荷物理サーバが担当している仮想マシンの少なくとも一部は、当該仮想ノードに対応する他の物理サーバが担当する。
【００５８】
なお、各負荷観測タイミングにて物理サーバ負荷変動により、自身の担当領域に仮想ノードが配置されている物理サーバがLightServerに分類されるように変化した場合には、仮想ノードを削除したときに該当物理サーバがHeavyServerに変化しない範囲内で、該当物理サーバの担当ハッシュ領域内の仮想ノードを削除（以下、「手順０」と呼ぶ場合がある）した後に、手順１〜４を適用して仮想ノードを追加する。
【００５９】
上記手順１〜４に従って仮想ノードを配置したときの例を図６に示す。図６の例は、手順０を適用する場合に該当しない。図６には、以下の特徴１〜特徴４が示されている。
特徴１：ハッシュリング上の所定位置（図６（ａ）参照）に配置されている物理サーバＳ１〜Ｓ５について、（負荷−負荷閾値）の値が最も大きい物理サーバＳ１の担当領域に、（負荷−負荷閾値）の値が最も小さい物理サーバＳ３の仮想ノードＶＳ３を配置すること。
特徴２：仮想ノードＶＳ３の配置だけでは物理サーバＳ１の負荷が負荷閾値を下回らないため、（負荷−負荷閾値）の値が２番目に小さい物理サーバＳ４の仮想ノードＶＳ４を追加的に配置すること。
特徴３：（負荷−負荷閾値）の値が２番目大きい物理サーバＳ２の担当領域に、まだ物理サーバリソースに余裕のある物理サーバＳ４の仮想ノードＶＳ４を配置すること。
特徴４：（負荷−負荷閾値）の値が正となっている物理サーバが存在しなくなったため、（負荷−負荷閾値）の値が負となっている物理サーバＳ５の仮想ノードを生成する必要がなくなったこと。
【００６０】
また、負荷観測タイミングにて、ハッシュ領域内に、他の物理サーバの仮想ノードを持つ物理サーバがLightServerに変化し、手順０を行う必要がある場合の例を以下に示す。
各負荷観測タイミングにて、物理サーバ負荷変動により仮想ノードが配置されている物理サーバがLightServerに変化した場合（図７（ａ），（ｂ）参照）、物理サーバＳ２は、そのハッシュ領域に配置されている仮想ノードＶＳ４を削除することによってHeavyServerに転じるため、削除を行わない（図８（ｃ），（ｄ）参照）。
【００６１】
一方、物理サーバＳ１については、そのハッシュ領域に配置されている仮想ノードＶＳ３，ＶＳ４両方を削除しても物理サーバＳ１はLightServerのままとなるため（物理サーバＳ１の負荷閾値が相当大きい）、仮想ノードＶＳ３，ＶＳ４を両方削除する（図８（ｃ），（ｄ）参照）。このように、負荷観測タイミングごとに、物理サーバ上の不要な仮想ノードを削除した後、手順１〜４に従い仮想ノードを適用する。
【００６２】
配置構成決定部１４は、（１）物理サーバ電源制御手法によって特定の物理サーバにて負荷が上昇し、その物理サーバに予め設定されている上限の負荷閾値を超えたタイミングでの仮想マシンの再配置については、ハッシュ値決定部１２が決定した物理サーバおよび仮想マシンのハッシュ値に基づいて、上記手順０〜４で仮想ノードを適用する。
【００６３】
また、配置構成決定部１４は、（２）新規の稼働物理サーバを追加するタイミングでの仮想マシンの再配置については、仮想ノードを持つ物理サーバのハッシュ領域内に新規物理サーバが追加される場合は、一旦その仮想ノードをすべて削除した後、新規物理サーバを追加し、上記手順０〜４で仮想ノードを適用する。
【００６４】
図９には、仮想ノードを持つ物理サーバのハッシュ領域内に新しい物理サーバを追加する場合の例を示している。物理サーバＳ１のハッシュ領域内に物理サーバＳ６が追加される際、物理サーバＳ１のハッシュ領域内にある仮想ノードＶＳ３，ＶＳ４を削除しておき、上記手順０〜４で仮想ノードを適用する。
【００６５】
また、配置構成決定部１４は、（３）電源オフに変更して稼働物理サーバを削減するタイミングでの仮想マシンの再配置については、削減する稼働物理サーバの担当領域に仮想ノードが配置されている場合には、当該仮想ノードをすべて取り除いた後（Heavy Serversに分類されている物理サーバ（削減対象の物理サーバは除く）の担当領域に配置されている仮想ノードは取り除かない）、上記手順０〜４で仮想ノードを適用する。
【００６６】
図１０には、仮想ノードを持つ物理サーバを削除する場合の例を示している。仮想ノードＶＳ４をハッシュ領域内に持つ物理サーバＳ２を削除する場合、仮想ノードＶＳ４を削除した上で、上記手順０〜４で仮想ノードを適用する。
【００６７】
上記のように、所定のタイミングにて不要になった仮想ノードを削除することで、仮想マシンの配置構成変更のリアルタイム処理に適した計算性能を確保することができる。
【００６８】
配置構成決定部１４は、上記のようにして仮想マシンの配置構成を決定する。その後、配置構成変更実行部１５による仮想マシンの配置構成変更、および、電源切替実行部１６による物理サーバの電源切替が実行される。
【００６９】
＜処理＞
図１１に示すように、本実施形態の仮想マシン配置装置１にて実行される運用時の処理は、以下のとおりである。この処理は、ステップＳ１から開始する。なお、すでに説明した通り、稼働物理サーバに対して、初期配置されている仮想マシンに対して、ＳＬＡに基づいたハッシュ値が割り当てられている。つまり、高ＳＬＡ仮想マシンのハッシュ値は、ハッシュ値決定部１２によって、担当物理サーバのハッシュ値に近い値となっている。
【００７０】
ステップＳ１にて、仮想マシン配置装置１の負荷情報入力部１１は、物理サーバの各々の負荷情報を取得する。
【００７１】
次に、ステップＳ２にて、仮想マシン配置装置１の電源状態決定部１３は、物理サーバの各々の負荷情報に基づいて、物理サーバの各々の電源状態を決定する。このとき、電源状態決定部１３は、稼働物理サーバの数を調整し、追加する物理サーバの選定、および、削減する物理サーバの選定を行う。特に、電源状態決定部１３は、削減する物理サーバを選定する際、高ＳＬＡ仮想マシンの担当数が少ない物理サーバを優先的に選択する。
【００７２】
次に、ステップＳ３にて、仮想マシン配置装置１のハッシュ値決定部１２は、電源状態決定部１３の決定に基づいて、物理サーバ、仮想マシン、および、仮想ノードのハッシュ値を再決定する。このとき、電源状態決定部１３の決定によって出現する過負荷物理サーバに対して、他の物理サーバ（物理サーバリソースに余裕のある物理サーバ）の仮想ノードを過負荷物理サーバのハッシュリング上の担当領域に配置するようにハッシュ値を決定する。これにより、過負荷物理サーバが担当している仮想マシンの少なくとも一部を当該他の物理サーバが担当する。
ハッシュ値決定部１２は、稼働物理サーバを削減する場合には、削減される稼働物理サーバが担当していた仮想マシンを引き継いだ隣接物理サーバは、引き継いだ仮想マシンも含めて新たにグルーピングし、新たにグルーピングされた仮想マシン群に対して、既に説明したハッシュ値の高ＳＬＡ順ソートを行う。また、ハッシュ値決定部１２は、物理サーバを追加する場合には、当該追加の物理サーバが高ＳＬＡ仮想マシンを担当せずに済むように、当該追加の物理サーバのハッシュ値を書き換える。具体的には、ハッシュ値決定部１２は、当該追加する物理サーバに対して、高ＳＬＡ仮想マシンを担当する物理サーバのハッシュ空間上の担当領域内で高ＳＬＡ仮想マシンのハッシュ値よりも小さな（高ＳＬＡ仮想マシンの後方となる）ハッシュ値を決定する。また、物理サーバ負荷変動や物理サーバ追加・削除に伴い不要となった仮想ノードについて適宜削除を行う。
【００７３】
次に、ステップＳ４にて、仮想マシン配置装置１の配置構成決定部１４は、ステップＳ３により再決定された、物理サーバ、仮想マシン、および、仮想ノードのハッシュ値を元に、仮想ノードを用いたコンシステントハッシュ法に基づき、各仮想マシンの配置先となる物理サーバを示す新たな仮想マシン配置構成を決定する。
【００７４】
次に、ステップＳ５にて、仮想マシン配置装置１の配置構成変更実行部１５は、配置構成決定部１４の決定に基づいて、仮想マシンの配置構成変更を実行する。
【００７５】
次に、ステップＳ６にて、仮想マシン配置装置１の電源切替実行部１６は、電源状態決定部１３の決定に基づいて、物理サーバの電源切替を実行する。
ステップＳ１〜ステップＳ６の処理は、継続的に繰り返される。
【００７６】
（まとめ）
本実施形態によれば、ハッシュ空間上ではＳＬＡの高い仮想マシンは担当の物理サーバの近くに配置されるため、物理サーバ電源制御手法を実行することによって仮想マシンの再配置頻度が増大しても、ＳＬＡの高い仮想マシンの再配置頻度を削減することができる。一般的に、ハッシュリング上では、仮想マシンが担当の物理サーバに近いほど両者間の範囲が小さくなり、新規稼働物理サーバの追加によってハッシュリング上に当該追加の新規稼働物理サーバが両者間にランダムに配置される確率は小さくなり、当該追加の新規稼働物理サーバに担当が切り替わるような仮想マシンの再配置が起こりにくくなるからである。よって、担当の物理サーバの近くに配置されたＳＬＡの高い仮想マシンの再配置は概して起こりにくくなり、ＳＬＡの高い仮想マシンの再配置に起因するサービス応答性の低下は回避され、物理サーバ電源制御手法実行時のシステム全体のサービス応答性を維持することができる。
また、物理サーバ電源制御手法を実行することによって仮想マシンの再配置頻度が増大し、物理サーバ間の負荷不均衡が発生しても、過負荷となった物理サーバのハッシュリング上の担当領域に他の物理サーバの仮想ノードを配置することで、過負荷となった物理サーバの発生頻度を削減し、物理サーバ間の負荷を均衡化することができる。よって、過負荷となった物理サーバの発生頻度の増大に起因するサービス応答性の低下は回避され、物理サーバ電源制御手法実行時のシステム全体のサービス応答性を維持することができる。
なお、ハッシュリング上で、担当の物理サーバと、当該担当の物理サーバの近くに配置されたＳＬＡの高い仮想マシンとの間に、他の物理サーバの仮想ノードが配置される確率も小さくなり、当該仮想ノードを持つ他の物理サーバに担当が切り替わるような、ＳＬＡの高い仮想マシンの再配置は起こりにくい。
したがって、サーバ仮想化環境に対して物理サーバ電源制御を適用したときのサービス応答性を維持させることができる。
【００７７】
また、高ＳＬＡ仮想マシンを担当する物理サーバが当該担当の物理サーバの削減によって隣接の物理サーバに切り替わることを起こりにくくすることができる。よって、高ＳＬＡ仮想マシンの再配置に起因するサービス応答性の低下は回避され、物理サーバ電源制御手法実行時のシステム全体のサービス応答性をより確実に維持することができる。
【００７８】
また、高ＳＬＡ仮想マシンを担当する物理サーバが追加の物理サーバに切り替わることはなく、高ＳＬＡ仮想マシンの再配置に起因するサービス応答性の低下を確実に回避することができる。
【００７９】
（変形例）
配置構成決定部１４による、仮想マシンの初期配置および再配置は、上記の手順１〜手順４に限らず、例えば、物理サーバの各々の（負荷−負荷閾値）の値の大小に関係なく、Heavy Serversに分類される物理サーバの担当領域に、Light Serversに分類される任意の物理サーバの仮想ノードを配置することで実現してもよい。
本実施形態では、ハッシュ値の昇順方向がハッシュリングの時計回り方向に一致する場合について説明したが、ハッシュ値の昇順方向がハッシュリングの反時計回り方向に一致する場合にも、本発明を適用することができる。
【００８０】
本実施形態で説明した種々の技術を適宜組み合わせた技術を実現することもできる。
本実施形態で説明したソフトウェアをハードウェアとして実現することもでき、ハードウェアをソフトウェアとして実現することもできる。
その他、ハードウェア、ソフトウェア、フローチャートなどについて、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【符号の説明】
【００８１】
１      仮想マシン配置装置
２−１〜２−ｎ  物理サーバ
３−１〜３−ｍ  仮想マシン
４      仮想インフラ管理装置
１０    処理部
１１    負荷情報入力部
１２    ハッシュ値決定部
１３    電源状態決定部
１４    配置構成決定部
１５    配置構成変更実行部
１６    電源切替実行部
２０    通信部
３０    記憶部
４１    負荷情報収集部
４２    負荷情報出力部
【図１】
0006374841.tif 000002
【図２】
0006374841.tif 000003
【図３】
0006374841.tif 000004
【図４】
0006374841.tif 000005
【図５】
0006374841.tif 000006
【図６】
0006374841.tif 000007
【図７】
0006374841.tif 000008
【図８】
0006374841.tif 000009
【図９】
0006374841.tif 000010
【図１０】
0006374841.tif 000011
【図１１】
0006374841.tif 000012