(57)【要約】【課題】  情報処理の効率に影響を与えることなく、負荷の変動に応じて情報処理システムの処理性能を変化させる。【解決手段】  情報処理装置は、それぞれ自装置の負荷を監視する監視部を有する複数の情報処理部と、複数の記憶部と、複数の情報処理部または複数の情報処理部上で動作する仮想マシンのいずれかと複数の記憶部のいずれかとを接続する接続部を有する。情報処理装置を制御する制御装置は、各監視部が監視した負荷を収集し、情報処理部のいずれかの負荷が第１の閾値を超えた頻度が第１の比率を超えた場合、第１の比率を超えた情報処理部上で動作する仮想マシンを終了させるとともに、複数の情報処理部のうち停止している情報処理部を起動させ、複数の記憶部のうち終了させた仮想マシンと接続していた記憶部を、起動した情報処理部と接続させる。【選択図】    図１
2015210576.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ起動または停止する複数の情報処理部と複数の記憶部と前記複数の情報処理部または前記複数の情報処理部上で動作または終了する仮想マシンのいずれかと前記複数の記憶部のいずれかとを接続する接続部を有する情報処理装置と、前記情報処理装置を制御する制御装置とを有する情報処理システムにおいて、
前記複数の情報処理部の各々は、自装置の負荷を監視する監視部を有し、
前記制御装置は、前記複数の情報処理部の各々が有する前記監視部が監視した負荷をそれぞれ収集し、前記複数の情報処理部のいずれかの負荷が第１の閾値を超えた頻度が第１の比率を超えた場合、前記第１の比率を超えた情報処理部上で動作する前記仮想マシンを終了させるとともに、前記複数の情報処理部のうち停止している情報処理部を起動させ、前記複数の記憶部のうち終了させた前記仮想マシンと接続していた記憶部を、起動した前記情報処理部と接続させることを特徴とする情報処理システム。
【請求項２】
前記制御装置は、前記複数の情報処理部のいずれかの負荷が前記第１の閾値を超えた頻度が前記第１の比率より小さい第２の比率を超えた場合、前記複数の情報処理部のうち起動している情報処理部のいずれかで、終了している前記仮想マシンを動作させるとともに、動作させた前記仮想マシンを前記複数の記憶部のうち前記情報処理部と前記仮想マシンとのいずれにも接続していない記憶部のいずれかに接続させることを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記制御装置は、前記複数の情報処理部のいずれかの負荷が前記第１の閾値より高い第２の閾値を超えた頻度が前記第１の比率をより高い第３の比率を超えた場合、前記複数の情報処理部のうち停止している情報処理部のいずれかを起動させ、起動させた前記情報処理部を前記複数の記憶部のうち前記情報処理部と前記仮想マシンとのいずれにも接続していない記憶部のいずれかに接続させることを特徴とする請求項１または請求項２のいずれか１項記載の情報処理システム。
【請求項４】
前記制御装置は、前記複数の情報処理部のいずれかの負荷が前記第１の閾値より低い第３の閾値を下回った頻度が第４の比率を超えた場合、前記複数の情報処理部のうち前記仮想マシンを動作していない情報処理部のいずれかを停止させるとともに、前記複数の情報処理部のうち起動している情報処理部のいずれかで前記仮想マシンを動作させ、前記複数の記憶部のうち停止させた前記情報処理部と接続していた記憶部を、動作させた前記仮想マシンと接続させることを特徴とする請求項１ないし請求項３のいずれか１項記載の情報処理システム。
【請求項５】
前記制御装置は、前記複数の情報処理部のいずれかの負荷が前記第３の閾値より低い頻度が前記第４の比率より高い第５の比率を超えた場合、前記複数の情報処理部のいずれかで動作している前記仮想マシンのいずれかに接続された前記記憶部に保持されたデータを、前記複数の情報処理部のうち動作している情報処理部に接続された前記記憶部または前記複数の仮想マシンのうち動作している前記仮想マシンに接続された前記記憶部のいずれかに転送させ、データの転送元の前記記憶部に接続された前記仮想マシンを終了させ、終了させた前記仮想マシンからデータの転送元の前記記憶部を切り離すことを特徴とする請求項４記載の情報処理システム。
【請求項６】
それぞれ起動または停止する複数の情報処理部と複数の記憶部と前記複数の情報処理部または前記複数の情報処理部上で動作または終了する仮想マシンのいずれかと前記複数の記憶部のいずれかとを接続する接続部を有する情報処理装置と、前記情報処理装置を制御する制御装置とを有する情報処理システムの制御方法において、
前記複数の情報処理部の各々が有する監視部が、自装置の負荷を監視し、
前記制御装置が、前記複数の情報処理部の各々が有する自装置の負荷を監視する監視部が監視した負荷をそれぞれ収集し、前記複数の情報処理部のいずれかの負荷が第１の閾値を超えた頻度が第１の比率を超えた場合、前記第１の比率を超えた情報処理部上で動作する前記仮想マシンを終了させるとともに、前記複数の情報処理部のうち停止している情報処理部を起動させ、前記複数の記憶部のうち終了させた前記仮想マシンと接続していた記憶部を、起動した前記情報処理部と接続させることを特徴とする情報処理システムの制御方法。
【請求項７】
それぞれ起動または停止する複数の情報処理部と複数の記憶部と前記複数の情報処理部または前記複数の情報処理部上で動作または終了する仮想マシンのいずれかと前記複数の記憶部のいずれかとを接続する接続部を有する情報処理装置と、前記情報処理装置を制御する制御装置とを有する情報処理システムの制御プログラムにおいて、
前記複数の情報処理部の各々が有する監視部に、自装置の負荷を監視させ、
前記制御装置に、前記複数の情報処理部の各々が有する自装置の負荷を監視する監視部が監視した負荷をそれぞれ収集させ、前記複数の情報処理部のいずれかの負荷が第１の閾値を超えた頻度が第１の比率を超えた場合、前記第１の比率を超えた情報処理部上で動作する前記仮想マシンを終了させるとともに、前記複数の情報処理部のうち停止している情報処理部を起動させ、前記複数の記憶部のうち終了させた前記仮想マシンと接続していた記憶部を、起動した前記情報処理部と接続させることを特徴とする情報処理システムのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理システムの制御方法および情報処理システムの制御プログラムに関する。
【背景技術】
【０００２】
計算機上で定義された仮想計算機を他の計算機に移動する場合、仮想計算機が実行する処理に用いる情報は、外部記憶装置に退避された後、他の計算機に移行される（例えば、特許文献１参照）。
【０００３】
要求に基づき処理を実行する複数のサーバ装置を有するシステムでは、他のサーバ装置より負荷が高いサーバ装置が有するセッション情報を他のサーバ装置に移動することで負荷が分散される。（例えば、特許文献２参照）。
【０００４】
計算機上で動作している仮想計算機の処理を別の計算機上の仮想計算機で実行する場合、別の計算機上で定義される仮想計算機に、元の仮想計算機のストレージインタフェース等の構成情報が設定された後、仮想計算機が起動される。例えば、元の仮想計算機と新たな仮想計算機との間で構成情報が交換される間、元の仮想計算機は停止され、新たな仮想計算機の起動は抑制される（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１４５９３１号公報
【特許文献２】特開２００７−２１９９６４号公報
【特許文献３】特開２０１０−３３４０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば、情報処理を実行するサーバ装置を他のサーバ装置に切り替える場合、またはサーバ装置を追加する場合、切り替えまたは追加の処理に伴いサーバ装置の負荷は増加する。このため、サーバ装置が提供するサービスの低下を抑止するために、サーバ装置の切り替えおよび追加は、サーバ装置の負荷が所定の閾値を超える前に実行されることが望ましい。また、切り替えられるサーバ装置および追加されるサーバ装置の種類は、サーバ装置の負荷の変化の程度に応じて選択されることが望ましい。
【０００７】
本件開示の情報処理システム、情報処理システムの制御方法および情報処理システムの制御プログラムは、情報処理システムが提供するサービスに影響を与えることなく、負荷の変動に応じて情報処理システムの処理性能を変化させることを目的とする。
【課題を解決するための手段】
【０００８】
一つの観点によれば、情報処理システムは、それぞれ起動または停止する複数の情報処理部と複数の記憶部と複数の情報処理部または複数の情報処理部上で動作または終了する仮想マシンのいずれかと複数の記憶部のいずれかとを接続する接続部を有する情報処理装置と、情報処理装置を制御する制御装置とを有し、複数の情報処理部の各々は、自装置の負荷を監視する監視部を有し、制御装置は、複数の情報処理部の各々が有する監視部が監視した負荷をそれぞれ収集し、複数の情報処理部のいずれかの負荷が第１の閾値を超えた頻度が第１の比率を超えた場合、第１の比率を超えた情報処理部上で動作する仮想マシンを終了させるとともに、複数の情報処理部のうち停止している情報処理部を起動させ、複数の記憶部のうち終了させた仮想マシンと接続していた記憶部を、起動した情報処理部と接続させる。
【０００９】
別の観点によれば、それぞれ起動または停止する複数の情報処理部と複数の記憶部と複数の情報処理部または複数の情報処理部上で動作または終了する仮想マシンのいずれかと複数の記憶部のいずれかとを接続する接続部を有する情報処理装置と、情報処理装置を制御する制御装置とを有する情報処理システムの制御方法は、複数の情報処理部の各々が有する監視部が、自装置の負荷を監視し、制御装置が、複数の情報処理部の各々が有する自装置の負荷を監視する監視部が監視した負荷をそれぞれ収集し、複数の情報処理部のいずれかの負荷が第１の閾値を超えた頻度が第１の比率を超えた場合、第１の比率を超えた情報処理部上で動作する仮想マシンを終了させるとともに、複数の情報処理部のうち停止している情報処理部を起動させ、複数の記憶部のうち終了させた仮想マシンと接続していた記憶部を、起動した情報処理部と接続させる。
【００１０】
さらなる別の観点によれば、それぞれ起動または停止する複数の情報処理部と複数の記憶部と複数の情報処理部または複数の情報処理部上で動作または終了する仮想マシンのいずれかと複数の記憶部のいずれかとを接続する接続部を有する情報処理装置と、情報処理装置を制御する制御装置とを有する情報処理システムの制御プログラムは、複数の情報処理部の各々が有する監視部に、自装置の負荷を監視させ、制御装置に、複数の情報処理部の各々が有する自装置の負荷を監視する監視部が監視した負荷をそれぞれ収集させ、複数の情報処理部のいずれかの負荷が第１の閾値を超えた頻度が第１の比率を超えた場合、第１の比率を超えた情報処理部上で動作する仮想マシンを終了させるとともに、複数の情報処理部のうち停止している情報処理部を起動させ、複数の記憶部のうち終了させた仮想マシンと接続していた記憶部を、起動した情報処理部と接続させる。
【発明の効果】
【００１１】
本件開示の情報処理システム、情報処理システムの制御方法および情報処理システムの制御プログラムは、情報処理システムが提供するサービスに影響を与えることなく、負荷の変動に応じて情報処理システムの処理性能を変化させることができる。
【図面の簡単な説明】
【００１２】
【図１】情報処理システム、情報処理システムの制御方法および情報処理システムの制御プログラムの一実施形態を示す図である。
【図２】図１に示す情報処理装置において、図１と異なる状態の例を示す図である。
【図３】図１に示す制御装置が負荷情報を収集する例を示す図である。
【図４】図１に示す制御装置が収集する物理サーバ毎の負荷情報の頻度の例を示す図である。
【図５】図１に示す情報処理システムの動作の例を示す図である。
【図６】図５に示す情報処理システムの動作における負荷の変化の例を示す図である。
【図７】図５に示す情報処理システムの動作における負荷の変化の別の例を示す図である。
【図８】図１に示す制御装置の動作フローの例を示す図である。
【図９】図８に示すＳＴ０制御ルーチンの例を示す図である。
【図１０】図８に示すＳＴ１制御ルーチンの例を示す図である。
【図１１】図８に示すＳＴ２制御ルーチンの例を示す図である。
【図１２】図８に示すＳＴ３制御ルーチンの例を示す図である。
【図１３】図８に示すＳＴ４制御ルーチンの例を示す図である。
【図１４】図８に示すＳＴ５制御ルーチンの例を示す図である。
【図１５】図９に示すＳＴ０制御ルーチンを実行するプログラムの例を示す図である。
【図１６】図１０に示すＳＴ１制御ルーチンを実行するプログラムの例を示す図である。
【図１７】図１１に示すＳＴ２制御ルーチンを実行するプログラムの例を示す図である。
【図１８】図１２に示すＳＴ３制御ルーチンを実行するプログラムの例を示す図である。
【図１９】図１３に示すＳＴ４制御ルーチンを実行するプログラムの例を示す図である。
【図２０】図１４に示すＳＴ５制御ルーチンを実行するプログラムの例を示す図である。
【図２１】情報処理システム、情報処理システムの制御方法および情報処理システムの制御プログラムの別の実施形態において、制御装置により情報処理装置の状態を変化させる例を示す図である。
【図２２】図２１に示す各処理と、負荷および頻度との関係の例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を用いて実施形態を説明する。
【００１４】
図１は、情報処理システム、情報処理システムの制御方法および情報処理システムの制御プログラムの一実施形態を示す。この実施形態の情報処理システムＳＹＳ１は、複数のサーバＰ（Ｐ０−Ｐ５）、スイッチ装置ＳＷおよびディスクプールＤＰＬを有する情報処理装置ＩＰＥ１と、情報処理装置ＩＰＥ１を制御する制御装置ＣＮＴＬとを有する。例えば、各サーバＰと制御装置ＣＮＴＬとは、イーサネットスイッチ（イーサネットは登録商標）等のネットワークスイッチＮＳＷを介して互いに接続される。また、例えば、各サーバＰと制御装置ＣＮＴＬとは、ネットワークスイッチＮＳＷを介して情報処理システムＳＹＳ１をネットワークストレージとして使用する使用するユーザ端末ＴＭに接続される。例えば、ユーザ端末ＴＭは、インターネットまたはイントラネット等のネットワークＮＷを介して情報処理システムＳＹＳ１に接続される。そして、情報処理システムＳＹＳ１は、例えば、ユーザ端末ＴＭから転送されるデータ等の情報を保持するストレージサーバまたはデータセンタとして機能する。例えば、ユーザ端末ＴＭから転送される情報は、複数の記憶装置Ｄ（例えば、３つの記憶装置Ｄ）のそれぞれに冗長に記憶されてもよい。
【００１５】
各サーバＰは、制御装置ＣＮＴＬによる制御に基づき起動され、制御装置ＣＮＴＬによる制御に基づき停止される。実線で示すサーバＰ０、Ｐ１、Ｐ２は起動されていることを示し、破線で示すサーバＰ３、Ｐ４、Ｐ５は停止していることを示す。停止中のサーバＰ３、Ｐ４、Ｐ５は、制御装置ＣＮＴＬからの指示に基づき起動される。例えば、停止中のサーバＰ３、Ｐ４、Ｐ５は、電源が遮断される。なお、サーバＰの数は、６台に限定されない。サーバＰは、情報処理部の一例である。
【００１６】
各サーバＰは、ＣＰＵ（Central Processing Unit）等のプロセッサと、プロセッサが実行するＯＳ（Operating System）およびサーバの機能を実現するプログラムが格納されるメモリＭＥＭ等の記憶装置とを有する。なお、各サーバＰは、プログラムが格納されるＨＤＤ（hard disk drive）等の記憶装置を有してもよい。また、各サーバＰが実行するＯＳまたはプログラムは、ディスクプールＤＰＬに配置される記憶装置Ｄに格納され、制御装置ＣＮＴＬからの起動の指示に基づきサーバＰのメモリＭＥＭに転送されてもよい。
【００１７】
また、各サーバＰは、自装置の負荷を監視する監視部ＬＤＭを有する。監視部ＬＤＭは、例えば、負荷監視エージェントであり、所定の周期でＣＰＵの負荷を監視し、監視した負荷を各サーバＰの負荷を示す負荷情報として制御装置ＣＮＴＬに通知する。例えば、”ＣＰＵの負荷”は、監視部ＬＤＭが監視する所定の期間内（例えば１秒）でのＣＰＵの使用率（例えば、平均値）である。なお、監視部ＬＤＭは、ＣＰＵの使用率の代わりにＩ／Ｏ（Input/Output）の使用率（例えば、記憶装置Ｄのアクセス率）を監視してもよい。監視部ＬＤＭは、ＣＰＵが実行するプログラムにより実現されてもよく、ハードウェアにより実現されてもよく、プログラムとハードウェアを組み合わせることで実現されてもよい。
【００１８】
各サーバＰは、ソフトウェアによりサーバ機能が実現される複数の仮想マシンＶ（Ｖ０、Ｖ１）を実装可能である。図１では、サーバＰ０上で仮想マシンＶ０、Ｖ１を動作させた例を示す。各サーバＰ上で動作可能な仮想マシンＶの数は２台に限定されない。以下の説明では、情報処理システムＳＹＳ１内に物理的に搭載されるサーバＰは、物理サーバＰと称され、物理サーバＰ上にインストールされる仮想マシンＶは、仮想サーバＶと称される。
【００１９】
ディスクプールＤＰＬは、複数の記憶装置Ｄ（Ｄ０−Ｄ７）を有する。例えば、記憶装置Ｄは、ＨＤＤまたはＳＳＤ（Solid State Drive）等であるが、情報を不揮発に保持できる他の記憶装置でもよい。例えば、実線で示す記憶装置Ｄ０−Ｄ４は、電源が投入され、データ等の情報の書き込みおよび読み出しが実行される状態であることを示す。破線で示す記憶装置Ｄ５−Ｄ７は、電源が遮断され、情報の書き込みおよび読み出しが実行されない状態であることを示す。例えば、破線で示す記憶装置Ｄ５−Ｄ７は、データ等の情報が消去されている。なお、情報の書き込みおよび読み出しを実行しない記憶装置Ｄ５−Ｄ７は、電源が投入されてもよい。例えば、記憶装置Ｄ０−Ｄ７の電源の投入および遮断は、制御装置ＣＮＴＬにより制御される。なお、記憶装置Ｄ０−Ｄ７の数は、８台に限定されない。記憶装置Ｄは、記憶部の一例である。
【００２０】
スイッチ装置ＳＷは、制御装置ＣＮＴＬの制御に基づき記憶装置Ｄを物理サーバＰまたは仮想サーバＶに接続する。スイッチ装置ＳＷ内に示す破線は、記憶装置Ｄが物理サーバＰまたは仮想サーバＶに接続された状態を示す。例えば、スイッチ装置ＳＷは、制御装置ＣＮＴＬによる制御に基づき、物理サーバＰまたは仮想サーバＶに任意の記憶装置Ｄを接続可能である。図１では、説明を分かりやすくするために、１つの物理サーバＰまたは１つの仮想サーバＶに、１つの記憶装置Ｄが接続されているが、１つの物理サーバＰまたは１つの仮想サーバＶに複数の記憶装置Ｄが接続されてもよい。スイッチ装置ＳＷは、接続部の一例である。スイッチ装置ＳＷにより、物理サーバＰまたは仮想サーバＶに記憶装置Ｄを接続するディスクエリアネットワークまたはＳＡＮ（Storage Area Network）が、情報処理装置ＩＰＥ１内に構築される。
【００２１】
スイッチ装置ＳＷは、記憶装置Ｄの帯域（データ転送速度）を下げることなく、記憶装置Ｄを物理サーバＰまたは仮想サーバＶに接続する性能を有し、記憶装置Ｄは、ＤＡＳ（Direct Attached Storage）として動作する。すなわち、スイッチ装置ＳＷを介して物理サーバＰまたは仮想サーバＶに接続された記憶装置Ｄの性能は、物理サーバＰ内に搭載されるＨＤＤ等の記憶装置の性能と同等である。なお、仮想サーバＶは、物理サーバＰが実行するプログラムにより実現されるため、仮想サーバＶによる記憶装置Ｄのアクセス効率は、物理サーバＰによる記憶装置Ｄのアクセス効率よりも低い。
【００２２】
制御装置ＣＮＴＬは、ＣＰＵ等のプロセッサと、プロセッサが実行するＯＳおよび制御装置ＣＮＴＬの機能を実現するプログラムが格納されるメモリＭＥＭ等の記憶装置とを有する。メモリＭＥＭに記憶され、制御装置ＣＮＴＬのＣＰＵにより実行されるプログラムは、情報処理システムＳＹＳ１の動作を制御する制御プログラムである。また、メモリＭＥＭに記憶され、制御装置ＣＮＴＬのＣＰＵにより実行されるプログラムにより、情報処理システムＳＹＳ１の制御方法が実現される。
【００２３】
また、制御装置ＣＮＴＬは、各サーバＰの監視部ＬＤＭから通知される各サーバＰの負荷情報を保持する保持部ＨＬＤを有する。例えば、保持部ＨＬＤは、制御装置ＣＮＴＬのＣＰＵに搭載されるレジスタで実現されてもよく、制御装置ＣＮＴＬのメモリＭＥＭに保持されてもよい。なお、制御装置ＣＮＴＬは、プログラムが格納されるＨＤＤ等の記憶装置を有してもよい。
【００２４】
図１に示す例では、物理サーバＰ０、Ｐ１、Ｐ２が起動され、物理サーバＰ０に記憶装置Ｄ０が接続され、物理サーバＰ１に記憶装置Ｄ３が接続され、物理サーバＰ２に記憶装置Ｄ４が接続されている。また、物理サーバＰ０上で仮想サーバＶ０、Ｖ１が動作しており、仮想サーバＶ０に記憶装置Ｄ１が接続され、仮想サーバＶ１に記憶装置Ｄ２が接続されている。図１では、物理サーバＰ０、Ｐ１、Ｐ２と仮想サーバＶ０、Ｖ１とによる５台のサーバが動作し、情報処理システムＳＹＳ１は、例えば、ストレージサーバまたはデータセンタとして動作する。
【００２５】
起動中の各物理サーバＰ０、Ｐ１、Ｐ２の監視部ＬＤＭは、ＣＰＵの負荷を周期的に監視し、監視した負荷を示す負荷情報を制御装置ＣＮＴＬに転送する。制御装置ＣＮＴＬは、受信した負荷情報を保持部ＨＬＤに保持する。制御装置ＣＮＴＬは、保持部ＨＬＤに保持された起動中の各物理サーバＰ０、Ｐ１、Ｐ２の負荷情報に基づき、仮想サーバＶを物理サーバＰに切り替える制御または物理サーバＰを仮想サーバＶに切り替える制御を実行する。あるいは、制御装置ＣＮＴＬは、仮想サーバＶを追加する制御、物理サーバＰを追加する制御、または仮想サーバＶを削除する制御を実行する。制御装置ＣＮＴＬが実行する情報処理システムＳＹＳ１の制御方法は、図３から図２０で説明する。
【００２６】
例えば、制御装置ＣＮＴＬは、ユーザ端末ＴＭから転送されるファイルデータや画像データ等の情報を物理サーバＰおよび仮想サーバＶを含むサーバのそれぞれに接続された記憶装置Ｄに均等に書き込む制御を実行する。例えば、物理サーバＰおよび仮想サーバＶを含むサーバのそれぞれに接続された記憶装置Ｄは、ハッシュ空間上に均等に配置される。換言すれば、制御装置ＣＮＴＬは、起動中の物理サーバＰと動作中の仮想サーバＶとのそれぞれの負荷が互いに等しくなるようにデータ等の情報を割り当てる。なお、データ等の情報の割り当て（すなわち、データ等の情報を転送するサーバの指定）は、起動中の物理サーバＰのいずれかである親サーバにより実行されてもよい。以下では、データ等を含む情報は、単にデータと称される。
【００２７】
なお、仮想サーバＶが記憶装置Ｄにアクセスするアクセス性能は、物理サーバＰが記憶装置Ｄにアクセスするアクセス性能より低い。このため、仮想サーバＶに接続される記憶装置Ｄの数を、物理サーバＰに接続される記憶装置Ｄの数に比べて少なくすることで、仮想サーバＶの負荷が物理サーバＰの負荷に比べて下げられてもよい。あるいは、仮想サーバＶに接続される記憶装置Ｄに割り当てられるハッシュ空間を物理サーバＰに接続される記憶装置Ｄのハッシュ空間に比べて小さくすることで、仮想サーバＶの負荷が物理サーバＰの負荷に比べて下げられてもよい。
【００２８】
図２は、図１に示す情報処理装置ＩＰＥ１において、図１と異なる状態の例を示す。例えば、図２では、物理サーバＰ０上で動作していた仮想サーバＶ０（図１）が削除され、停止していた物理サーバＰ３が起動され、仮想サーバＶ０に接続していた記憶装置Ｄ１が物理サーバＰ３に接続される。すなわち、図２は、物理サーバＰ０、Ｐ１、Ｐ２のいずれかの負荷の変化に基づき、仮想サーバＶ０（図１）が物理サーバＰ３に切り替えられたことを示す。物理サーバＰ０内に破線で示す矩形は、図１に示す仮想サーバＶ０を実現していたプログラムが終了し、物理サーバＰ０上での仮想サーバＶ０の動作が終了したことを示す。
【００２９】
仮想サーバＶ０から物理サーバＰ３への切り替えは、例えば、物理サーバＰ３の構成情報（例えば、サーバの固有名称であるホスト名およびＩＰ（Internet Protocol）アドレス）と仮想サーバＶ０の構成情報とを交換することで実行される。この際、制御装置ＣＮＴＬがスイッチ装置ＳＷを制御し、記憶装置Ｄ１を仮想サーバＶ０から切り離し、物理サーバＰ３に接続する。
【００３０】
例えば、制御装置ＣＮＴＬは、各物理サーバＰに掛かる最大の負荷に対する物理サーバＰ０−Ｐ２のいずれかの負荷が３０％を超え８０％以下である頻度が、所定の比率を超えた場合、情報処理装置ＩＰＥ１を、図１に示す状態から図２に示す状態に変化させる。例えば、上記の頻度は、保持部ＨＬＤに保持される物理サーバＰ０、Ｐ１、Ｐ２毎に通知された負荷情報の数に対する、３０％を超え８０％以下の負荷を示す負荷情報の数の割合である。
【００３１】
図３は、図１に示す制御装置ＣＮＴＬが負荷情報を収集する例を示す。例えば、図３の上側に示す棒グラフの棒の各々は、起動中の物理サーバＰの１つの監視部ＬＤＭが、制御装置ＣＮＴＬに通知した負荷情報を示す。図３に示す例では、制御装置ＣＮＴＬは、物理サーバＰが受信した１００個の負荷情報を保持部ＨＬＤに保持する。負荷情報は、負荷情報を通知する物理サーバＰに搭載されるＣＰＵの負荷（０％から１００％のいずれか）を示す。図３では、説明を分かりやすくするために負荷情報を棒グラフで示すが、実際には、サーバＰは、負荷情報を負荷値として制御装置ＣＮＴＬに通知する。例えば、監視部ＬＤＭは、１秒に１回の頻度で負荷情報を制御装置ＣＮＴＬに通知する。このため、図３の横軸に示す負荷情報の通知回数であるタイムカウントＴＣは、秒数も示す。
【００３２】
制御装置ＣＮＴＬは、起動している物理サーバＰの各々から負荷情報を、１００回受信する毎に、保持部ＨＬＤに保持された各負荷情報が示す負荷の値と閾値ＶＴ１、ＶＴ２、ＶＴ３とを比較する。例えば、閾値ＶＴ１は８０％であり、閾値ＶＴ２は３０％であり、閾値ＶＴ３は２％である。なお、閾値ＶＴ１、ＶＴ２、ＶＴ３は、ＶＴ１＞ＶＴ２＞ＶＴ３を満足すれば、他の値でもよく、比較対象の負荷情報の数は、１００個に限定されない。例えば、図９から図１４に示す処理フローの例では、制御装置ＣＮＴＬは、負荷情報を６００回受信する毎（すなわち６００秒毎）に、保持部ＨＬＤに保持された各負荷情報が示す負荷の値と閾値ＶＴ１、ＶＴ２、ＶＴ３とを比較する。
【００３３】
制御装置ＣＮＴＬは、負荷情報が示す負荷が閾値ＶＴ３未満の場合、変数ＬＵＴＬを”１”増加させる。制御装置ＣＮＴＬは、負荷情報が示す負荷が閾値ＶＴ２より大きく閾値ＶＴ１以下の場合、変数ＭＵＴＬを”１”増加させる。制御装置ＣＮＴＬは、負荷情報が示す負荷が閾値ＶＴ１を超える場合、変数ＨＵＴＬを”１”増加させる。なお、変数ＬＵＴＬ、ＭＵＴＬ、ＨＵＴＬは、物理サーバＰ毎に割り当てられる。
【００３４】
変数ＬＵＴＬ、ＭＵＴＬ、ＨＵＴＬは、負荷情報を収集する前に”０”に初期化される。例えば、制御装置ＣＮＴＬが、負荷情報を１００秒（ＴＣ＝１００）単位で収集する場合、変数ＬＵＴＬ、ＭＵＴＬ、ＨＵＴＬは、１００秒毎に初期化される。以下では、閾値ＶＴ１（８０％）を超える領域は、高負荷領域とも称され、閾値ＶＴ２（３０％）より大きく閾値ＶＴ１（８０％）以下の領域は、中負荷領域とも称され、閾値ＶＴ３（２％）未満の領域は、低負荷領域とも称される。
【００３５】
図３では、制御装置ＣＮＴＬが１００回の負荷情報を収集した状態で、変数ＬＵＴＬは”５”であり、変数ＭＵＴＬは”８２”であり、変数ＨＵＴＬは”９”である。制御装置ＣＮＴＬは、各変数ＬＵＴＬ、ＭＵＴＬ、ＨＵＴＬの値をタイムカウントＴＣの値（＝１００）で除し、所定の期間（この例では１００秒）における高負荷領域、中負荷領域、低負荷領域のそれぞれでの負荷の頻度（時間の割合）を求める。例えば、図３に示す例では、高負荷領域の負荷の頻度は、”０．０９”であり、中負荷領域の負荷の頻度は、”０．８２”であり、低負荷領域の負荷の頻度は、”０．０５”である。負荷の頻度は、所定の範囲の負荷領域に分布する負荷の割合である。なお、起動している複数の物理サーバＰのそれぞれに割り当てられた変数ＬＵＴＬ、ＭＵＴＬ、ＨＵＴＬが示す負荷の頻度の関係は、図４で説明する。
【００３６】
図９から図１４で説明するように、制御装置ＣＮＴＬは、負荷情報の収集結果が以下の５つの条件Ａ−条件Ｅを満たすか否かを判定する。
（条件Ａ）中負荷領域の負荷の頻度が”０．８”を超える。
（条件Ｂ）中負荷領域の負荷の頻度が”０．７”を超える。
（条件Ｃ）高負荷領域の負荷の頻度が”０．９”を超える。
（条件Ｄ）低負荷領域の負荷の頻度が”０．８”を超える。
（条件Ｅ）低負荷領域の負荷の頻度が”０．９”を超える。
【００３７】
そして、制御装置ＣＮＴＬは、起動されている物理サーバＰの数、動作している仮想サーバＶの数等の情報を含む情報処理装置ＩＰＥ１の状態に基づき、物理サーバＰ、仮想サーバＶおよびスイッチ装置ＳＷを制御する。制御装置ＣＮＴＬによる物理サーバＰ、仮想サーバＶおよびスイッチ装置ＳＷの制御の例は、図５に示す。なお、図５で説明するように、情報処理装置ＩＰＥ１の状態ＳＴ０−ＳＴ５に応じて、判定に使用する条件は相違する。
【００３８】
図４は、図１に示す制御装置ＣＮＴＬが収集する物理サーバＰ０、Ｐ１、Ｐ２毎の負荷情報の頻度の例を示す。また、図４は、制御装置ＣＮＴＬが、図３で説明した（条件Ａ）を満たすことを検出し、情報処理装置ＩＰＥ１を図１に示す状態から図２に示す状態に変化させる場合の負荷情報の頻度の例を示している。
【００３９】
例えば、ハッシュ関数を用いて、記憶装置Ｄがハッシュ空間上に均等に配置される場合、起動中の物理サーバＰの負荷の変化は、互いに同様の傾向を示す可能性が高い。このため、起動されている１つの物理サーバＰにおける低負荷領域、中負荷領域、高負荷領域での負荷の頻度と、起動されている他の物理サーバＰにおける低負荷領域、中負荷領域、高負荷領域での負荷の頻度との傾向は同様になる。例えば、起動されている１つの物理サーバＰにおける中負荷領域での負荷の頻度が高い場合、起動されている他の物理サーバＰにおける中負荷領域での負荷の頻度も高くなる。
【００４０】
但し、動作している仮想サーバＶを含む物理サーバＰの負荷は、仮想サーバＶを含まない物理サーバＰの負荷に比べて高くなる。例えば、図１に示す状態で２つの仮想サーバＶ０、Ｖ１を動作させている物理サーバＰ０では、高負荷領域、中負荷領域および低負荷領域のそれぞれでの負荷の頻度が、他の物理サーバＰ１、Ｐ２の負荷の頻度のそれぞれに比べて高くなる。このため、例えば、図３で説明した（条件Ａ）、（条件Ｂ）、（条件Ｃ）の各々の条件は、仮想サーバＶを動作させている物理サーバＰの負荷の頻度に基づき満たされる可能性が高い。
【００４１】
図５は、図１に示す情報処理システムＳＹＳ１の動作の例を示す。すなわち、図５は、制御装置ＣＮＴＬによる情報処理システムＳＹＳ１の制御方法の例を示す。
【００４２】
図５に示す例では、情報処理装置ＩＰＥ１の状態は、状態ＳＴ０、ＳＴ１、ＳＴ２、ＳＴ３、ＳＴ４、ＳＴ５の間を変化する。状態ＳＴ０は、図１に示す状態であり、状態ＳＴ１は、図２に示す状態である。各状態ＳＴ０−ＳＴ５において、動作中の物理サーバＰの負荷が、状態を変化させる条件を満たさない場合、各状態は維持される（図５（ａ）、（ｂ）、（ｃ）、（ｄ）、（ｅ）、（ｆ））。なお、情報処理システムＳＹＳ１の動作は、図５に示す例に限定されない。すなわち、状態ＳＴ０−ＳＴ５の数は、６個に限定されず、状態間の遷移の仕様は、図５に限定されない。
【００４３】
例えば、状態ＳＴ０において、物理サーバＰ０−Ｐ２のいずれかにおいて、中負荷領域に含まれる負荷の頻度が”０．８”を超えた場合（条件Ａ）、情報処理装置ＩＰＥ１の状態は、状態ＳＴ１に変化する（図５（ｇ））。この場合、物理サーバＰ０上で動作していた仮想サーバＶ０が終了され、停止していた物理サーバＰ３が起動され、仮想サーバＶ０に接続していた記憶装置Ｄ１が物理サーバＰ３に接続される。すなわち、仮想サーバＶ０が物理サーバＰ３に切り替えられる。状態ＳＴ１において情報処理装置ＩＰＥ１内で動作するサーバの数は、状態ＳＴ０と同じ５個であるが、仮想サーバＶ０が物理サーバＰ３に切り替えられることで、情報処理装置ＩＰＥ１の性能は向上する。以下、サーバの数を変更することなく、情報処理装置ＩＰＥ１の性能を向上させることは、性能のスケールアウトまたは単にスケールアウトとも称される。
【００４４】
なお、状態ＳＴ０から状態ＳＴ１への変化では、仮想サーバＶ１が物理サーバＰ３に切り替えられてもよい。また、物理サーバＰ１、Ｐ２上で仮想サーバＶが動作している場合、物理サーバＰ１または物理サーバＰ２上で動作する仮想サーバＶが、物理サーバＰ３に切り替えられてもよい。
【００４５】
制御装置ＣＮＴＬは、物理サーバＰの負荷が上昇傾向にある場合、仮想サーバＶ０を物理サーバＰ３に切り替えてスケールアウトすることで、情報処理装置ＩＰＥ１の処理能力を増加させることができる。これにより、その後、情報処理装置ＩＰＥ１の負荷がさらに上昇した場合にも、情報処理装置ＩＰＥ１を安定して動作させることができる。また、仮想サーバＶ０に接続されていた記憶装置Ｄ１は、物理サーバＰ３に接続されるため、記憶装置Ｄ間でのデータの移行は発生せず、記憶装置Ｄ１のハッシュ空間への割り当てを維持することができる。
【００４６】
さらに、仮想サーバＶ０から物理サーバＰ３への切り替えに伴い実行される処理は、仮想サーバＶ０と物理サーバＰ３とのＩＰアドレス等の構成情報の変更である。このため、仮想サーバＶ０から物理サーバＰ３への切り替えに伴う情報処理装置ＩＰＥ１の負荷の増加は、データを移行する場合の負荷の増加に比べて少ない。また、サーバの切り替えによるスケールアウトは、物理サーバＰの負荷が上昇傾向にある状態で実行されるため、サーバの切り替えに伴う負荷の増加は、情報処理システムＳＹＳ１が提供するサービスに影響を与えない。したがって、サーバの切り替えに伴い情報処理装置ＩＰＥ１の負荷の増加を最小限にして、情報処理システムＳＹＳ１が提供するサービスに影響を与えることなく、情報処理システムＳＹＳ１の処理性能を向上させることができる。
【００４７】
状態ＳＴ１において、物理サーバＰ０−Ｐ３のいずれかの負荷が中負荷領域に含まれる頻度が”０．８”を超えた場合（条件Ａ）、情報処理装置ＩＰＥ１の状態は、状態ＳＴ２に変化する（図５（ｈ））。この場合、物理サーバＰ０上で動作していた仮想サーバＶ１が終了され、停止していた物理サーバＰ４が起動され、仮想サーバＶ１に接続していた記憶装置Ｄ２が物理サーバＰ４に接続される。仮想サーバＶ１から物理サーバＰ４への切り替えは、例えば、物理サーバＰ４の構成情報（例えば、ホスト名およびＩＰアドレス）と仮想サーバＶ１の構成情報とを交換し、記憶装置Ｄ１を仮想サーバＶ０から物理サーバＰ０に付け替えることで実行される。
【００４８】
状態ＳＴ１から状態ＳＴ２へスケールアウトすることによる情報処理装置ＩＰＥ１の能力の向上は、状態ＳＴ０から状態ＳＴ１への変更による情報処理装置ＩＰＥ１の能力の向上と同様である。状態ＳＴ１から状態ＳＴ２への性能のスケールアウトでは、状態ＳＴ０から状態ＳＴ１への性能のスケールアウトと同様の効果を得ることができる。なお、状態ＳＴ０から状態ＳＴ１への変化と同様に、物理サーバＰ４に切り替えられる仮想サーバＶは、仮想サーバＶ１に限定されない。
【００４９】
状態ＳＴ２において、物理サーバＰ０−Ｐ４のいずれかの負荷が中負荷領域に含まれる頻度が”０．７”を超えた場合（条件Ｂ）、情報処理装置ＩＰＥ１の状態は、状態ＳＴ３に変化する（図５（ｉ））。この場合、物理サーバＰ０上で新たな仮想サーバＶ２が動作し、仮想サーバＶ２に新たな記憶装置Ｄ５が接続される。すなわち、仮想サーバＶ２が情報処理装置ＩＰＥ１に追加されるスケールアウトが実行される。新たな記憶装置Ｄ５が追加されるため、例えば、起動中の物理サーバＰ０−Ｐ４および動作中の仮想サーバＶ２に接続された記憶装置Ｄ０−Ｄ５に対して、ハッシュ空間の再割り当てが実行される。ハッシュ空間の再割り当ては、記憶装置Ｄ０−Ｄ５間でのデータの移行を伴う。なお、状態ＳＴ２から状態ＳＴ３への変化では、物理サーバＰ１−Ｐ４上で動作する仮想サーバＶが、仮想サーバＶ２の代わりに情報処理装置ＩＰＥ１に追加されてもよい。
【００５０】
制御装置ＣＮＴＬは、物理サーバＰの負荷が上昇傾向にあるが、状態ＳＴ０から状態ＳＴ１に変化させる場合の負荷の上昇傾向より低い場合、負荷が低い間に、新たな仮想サーバＶ２を追加する。これにより、情報処理装置ＩＰＥ１の負荷がさらに上昇したときに備えることができる。また、負荷が低い間に、記憶装置Ｄ間でのデータの移行が実行されるため、データの移行が情報処理装置ＩＰＥ１に与える影響を、負荷が高くなってからデータを移行する場合に比べて小さくすることができる。
【００５１】
一方、状態ＳＴ２において、物理サーバＰ０−Ｐ４のいずれかの負荷が高負荷領域に含まれる頻度が”０．９”を超えた場合（条件Ｃ）、情報処理装置ＩＰＥ１の状態は、状態ＳＴ４に変化する（図５（ｊ））。この場合、新たな物理サーバＰ５が起動され、物理サーバＰ５に新たな記憶装置Ｄ５が接続される。すなわち、物理サーバＰ５が、情報処理装置ＩＰＥ１に追加されるスケールアウトが実行される。新たな記憶装置Ｄ５が追加されるため、例えば、起動中の物理サーバＰ０−Ｐ５に接続された記憶装置Ｄ０−Ｄ５に対して、ハッシュ空間の再割り当てが実行される。ハッシュ空間の再割り当ては、記憶装置Ｄ０−Ｄ５間でのデータの移行を伴う。状態ＳＴ２から状態ＳＴ４への変化による情報処理装置ＩＰＥ１の能力の向上は、状態ＳＴ２から状態ＳＴ３への変更による情報処理装置ＩＰＥ１の能力の向上より高い。なお、状態ＳＴ２から状態ＳＴ４への変化では、停止している他の物理サーバＰが情報処理装置ＩＰＥ１に追加されてもよい。
【００５２】
制御装置ＣＮＴＬは、物理サーバＰの負荷が急激な上昇傾向にある場合、処理能力が仮想サーバＶよりも高い物理サーバＰを新たに追加する。これにより、データの移行が情報処理装置ＩＰＥ１に与える影響を最小限にしながら、記憶装置Ｄ間でのデータの移行を実施することができる。なお、情報処理システムＳＹＳ１の通常の動作では、負荷の頻度は、条件Ｃを満たす前に、条件Ａまたは条件Ｂを満たすことが多い。このため、例えば、状態ＳＴ２から状態ＳＴ４への変化の頻度は、状態ＳＴ２から状態ＳＴ３への変化の頻度より低い。状態ＳＴ５における情報処理装置ＩＰＥ１の状態は、状態ＳＴ５における情報処理装置ＩＰＥ１の状態と同じである。
【００５３】
状態ＳＴ３において、物理サーバＰ０−Ｐ４のいずれかの負荷が中負荷領域に含まれる頻度が”０．８”を超えた場合（条件Ａ）、情報処理装置ＩＰＥ１の状態は、状態ＳＴ５に変化する（図５（ｋ））。この場合、状態ＳＴ０から状態ＳＴ１への変化と同様に、物理サーバＰ０上で動作していた仮想サーバＶ２が削除され、停止していた物理サーバＰ５が起動され、仮想サーバＶ２に接続していた記憶装置Ｄ５が物理サーバＰ５に接続される。すなわち、性能のスケールアウトが実行される。
【００５４】
仮想サーバＶ２から物理サーバＰ５への切り替えは、例えば、物理サーバＰ５の構成情報（例えば、ホスト名およびＩＰアドレス）と仮想サーバＶ２の構成情報とを交換し、記憶装置Ｄ５を仮想サーバＶ２から物理サーバＰ５に付け替えることで実行される。
【００５５】
状態ＳＴ５において、物理サーバＰ０−Ｐ５のいずれかの負荷が低負荷領域に含まれる頻度が”０．８”を超えた場合（条件Ｄ）、情報処理装置ＩＰＥ１の状態は、状態ＳＴ３に変化する（図５（ｌ））。この場合、物理サーバＰ５が停止され、物理サーバＰ０上で仮想サーバＶ２が動作し、物理サーバＰ５に接続していた記憶装置Ｄ５が仮想サーバＶ２に接続される。すなわち、物理サーバＰ５が仮想サーバＶ２に切り替えられ、情報処理装置ＩＰＥ１の状態は、状態ＳＴ３から状態ＳＴ５への変化に対して逆に変化する。状態ＳＴ４において情報処理装置ＩＰＥ１内で動作するサーバの数は、状態ＳＴ５と同じ６個であるが、物理サーバＰ５が仮想サーバＶ２に切り替えられることで、情報処理装置ＩＰＥ１の性能は低下する。以下、サーバの数を変更することなく、情報処理装置ＩＰＥ１の性能を低下させることは、性能のスケールインまたは単にスケールインとも称される。なお、状態ＳＴ５から状態ＳＴ３への変化では、物理サーバＰ５が動作中の物理サーバＰ１−Ｐ４上の仮想サーバＶに切り替えられてもよい。
【００５６】
物理サーバＰ５から仮想サーバＶ２への切り替えは、例えば、物理サーバＰ５の構成情報（例えば、ホスト名およびＩＰアドレス）と仮想サーバＶ２の構成情報とを交換し、記憶装置Ｄ５を物理サーバＰ５から仮想サーバＶ２に付け替えることで実行される。
【００５７】
物理サーバＰ５に接続していた記憶装置Ｄ５は、仮想サーバＶ２に接続されるため、記憶装置Ｄ間でのデータの移行は発生せず、記憶装置Ｄ１のハッシュ空間への割り当てを維持することができる。このため、ハッシュ空間への再割り当てに伴う情報処理装置ＩＰＥ１全体での記憶装置Ｄに保持されたデータの移行は発生しない。また、物理サーバＰ０−Ｐ５のいずれかの負荷が低負荷領域に含まれる状態では、起動されている全ての物理サーバＰ０−Ｐ５の負荷が低下している。このため、物理サーバＰ５から仮想サーバＶ２への切り替えに伴う負荷の増加は、情報処理システムＳＹＳ１が提供するサービスに影響を与えない。したがって、サーバの切り替えに伴い情報処理装置ＩＰＥ１の負荷の増加を最小限にして、情報処理システムＳＹＳ１が提供するサービスに影響を与えることなく、情報処理システムＳＹＳ１の処理性能を下げることができる。
【００５８】
また、制御装置ＣＮＴＬは、物理サーバＰの負荷が小さくなった場合、物理サーバＰを仮想サーバＶに切り替える性能のスケールインを実行することで、物理サーバＰの１つを停止することができる。これにより、情報処理装置ＩＰＥ１の処理能力を低下させることができ、物理サーバＰの１つを起動し続ける場合に比べて、情報処理装置ＩＰＥ１で消費される電力を削減することができる。
【００５９】
状態ＳＴ４において、物理サーバＰ０−Ｐ５のいずれかの負荷が低負荷領域に含まれる頻度が”０．８”を超えた場合（条件Ｄ）、情報処理装置ＩＰＥ１の状態は、状態ＳＴ３に変化する（図５（ｍ））。この場合の動作は、状態ＳＴ５から状態ＳＴ３への変化と同様であり、例えば、物理サーバＰ５の構成情報（例えば、ホスト名およびＩＰアドレス）と仮想サーバＶ２の構成情報とが交換され、記憶装置Ｄ５が物理サーバＰ５から仮想サーバＶ２に付け替えられる。状態ＳＴ４から状態ＳＴ３へ変化する性能のスケールインでは、状態ＳＴ５から状態ＳＴ３への変化と同様の効果を得ることができる。
【００６０】
状態ＳＴ３において、物理サーバＰ０−Ｐ４のいずれかの負荷が低負荷領域に含まれる頻度が”０．８”を超えた場合（条件Ｅ）、情報処理装置ＩＰＥ１の状態は、状態ＳＴ２に変化する（図５（ｎ））。この場合、仮想サーバＶ２に接続された記憶装置Ｄ５に保持されたデータが他の記憶装置Ｄ０−Ｄ４に移行され、物理サーバＰ０上で仮想サーバＶ２が終了される。すなわち、スケールインが実行される。なお、ユーザ端末ＴＭから転送されるデータが複数の記憶装置Ｄにレプリカデータとして冗長に保持される場合、データを移行する前に仮想サーバＶ２を終了してもよい。この場合、仮想サーバＶ２の終了後に、動作中の物理サーバＰ０−Ｐ４または動作中の他の仮想サーバＶに接続された記憶装置Ｄから読み出したレプリカデータを用いて、データを移行することが可能である。
【００６１】
状態ＳＴ３から状態ＳＴ２に変化させる場合の情報処理装置ＩＰＥ１の負荷（条件Ｅ）は、状態ＳＴ５から状態ＳＴ３に変化させる場合の情報処理装置ＩＰＥ１の負荷（条件Ｄ）より小さい。このため、情報処理装置ＩＰＥ１の状態の変化に応じて記憶装置Ｄ間でのデータの移行を伴う場合にも、情報処理システムＳＹＳ１が提供するサービスに与える影響を最小限にすることができる。なお、条件Ｅを満たした場合、仮想サーバＶの１つを終了する代わりに、物理サーバＰの１つを停止してもよい。これにより、仮想サーバＶの１つを終了する場合に比べて、情報処理装置ＩＰＥ１で消費される電力を削減できる。
【００６２】
状態ＳＴ２において、物理サーバＰ０−Ｐ４のいずれかの負荷が低負荷領域に含まれる頻度が”０．８”を超えた場合（条件Ｄ）、情報処理装置ＩＰＥ１の状態は、状態ＳＴ１に変化する（図５（ｏ））。この場合の動作は、状態ＳＴ５から状態ＳＴ３への変化と同様であり、例えば、物理サーバＰ４の構成情報（例えば、ホスト名およびＩＰアドレス）と仮想サーバＶ１の構成情報とが交換され、記憶装置Ｄ２が物理サーバＰ４から仮想サーバＶ１に付け替えられる。すなわち、性能のスケールインが実行される。
【００６３】
状態ＳＴ１において、物理サーバＰ０−Ｐ３のいずれかの負荷が低負荷領域に含まれる頻度が”０．８”を超えた場合（条件Ｄ）、情報処理装置ＩＰＥ１の状態は、状態ＳＴ０に変化する（図５（ｐ））。この場合の動作は、状態ＳＴ５から状態ＳＴ３への変化と同様であり、性能のスケールインが実行される。
【００６４】
図５では、制御装置ＣＮＴＬは、物理サーバＰの中負荷領域に含まれる負荷の頻度が上昇し、所定の値を超えた場合に、仮想サーバＶを物理サーバＰに切り替える。すなわち、情報処理装置ＩＰＥ１の負荷が小さい場合、仮想サーバＶを動作させ、情報処理装置ＩＰＥ１の負荷が大きくなった場合、物理サーバＰを動作させる。情報処理装置ＩＰＥ１の負荷が小さい場合に、アクセス効率（Ｉ／Ｏ性能）が物理サーバＰに比べて低い仮想サーバＶを動作させることで、仮想サーバＶのＩ／Ｏ性能が、情報処理システムＳＹＳ１が提供するサービスに影響を与えることを抑止することができる。なお、ユーザ端末ＴＭから転送されるデータが複数の記憶装置Ｄに冗長に記憶される場合、データを記憶する複数の記憶装置Ｄの１つに物理サーバＰを接続することで、データのアクセス効率は、物理サーバＰのＩ／Ｏ性能に基づいて決まる。この場合、仮想サーバＶのＩ／Ｏ性能を物理サーバＰのＩ／Ｏ性能によりマスクすることができる。
【００６５】
なお、図５では、制御装置ＣＮＴＬが、物理サーバＰのいずれかの負荷の頻度に応じて状態を変化させる例を示すが、制御装置ＣＮＴＬは、起動している物理サーバＰの負荷の平均値の頻度に応じて状態を変化させてもよい。これは、図４に示すように、起動している物理サーバＰの負荷の頻度の傾向は、互い同様なためである。
【００６６】
図６は、図５に示す情報処理システムＳＹＳ１の動作における負荷の変化の例を示す。図６中の符号（ａ）−（ｌ）、（ｎ）は、図５に示す情報処理装置ＩＰＥ１の状態の維持または切り替えを示す符号と同じである。図６は、起動されている物理サーバＰのいずれかの負荷の頻度を示す。図６におけるＣＹＣ１−ＣＹＣ１５は、制御装置ＣＮＴＬが負荷情報を収集するサイクルを示す。図６では、説明を分かりやすくするために、状態ＳＴが切り替わる頻度は、情報処理システムＳＹＳ１の実際の動作に比べて高くされている。
【００６７】
まず、状態ＳＴ０において、物理サーバＰの負荷が徐々に高くなり、サイクルＣＹＣ３において中負荷領域の頻度が”０．８”を超えたため、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ０から状態ＳＴ１に切り替える（図６（ｇ））。状態ＳＴ０から状態ＳＴ１への切り替えにより仮想サーバＶ０が物理サーバＰ３に切り替わるため、サイクルＣＹＣ４において、情報処理装置ＩＰＥ１の処理能力は向上し、中負荷領域の頻度は下がる。
【００６８】
この後、状態ＳＴ１において、物理サーバＰの負荷が徐々に高くなり、サイクルＣＹＣ５において中負荷領域の頻度が”０．８”を超えたため、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ１から状態ＳＴ２に切り替える（図６（ｈ））。状態ＳＴ１から状態ＳＴ２への切り替えにより仮想サーバＶ１が物理サーバＰ４に切り替わるため、サイクルＣＹＣ６において、情報処理装置ＩＰＥ１の処理能力は向上し、中負荷領域の頻度は下がる。
【００６９】
状態ＳＴ２において、物理サーバＰの負荷が高くなり、サイクルＣＹＣ７（１）において高負荷領域の頻度が”０．９”を超えたため、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ２から状態ＳＴ４に切り替える（図６（ｊ））。状態ＳＴ２から状態ＳＴ４への切り替えにより新たな物理サーバＰ５が起動されるため、サイクルＣＹＣ８において、情報処理装置ＩＰＥ１の処理能力は向上し、高負荷領域の頻度は下がる。
【００７０】
一方、状態ＳＴ２において、物理サーバＰの負荷が徐々に高くなり、サイクルＣＹＣ５において中負荷領域の頻度が”０．７”を超えたため、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ２から状態ＳＴ３に切り替える（図６（ｉ））。状態ＳＴ２から状態ＳＴ３への切り替えにより新たな仮想サーバＶ２が動作するため、サイクルＣＹＣ９において、情報処理装置ＩＰＥ１の処理能力は向上し、中負荷領域の頻度は下がる。
【００７１】
次に、状態ＳＴ３において、物理サーバＰの負荷が徐々に高くなり、サイクルＣＹＣ１０において中負荷領域の頻度が”０．８”を超えたため、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ３から状態ＳＴ５に切り替える（図６（ｋ））。状態ＳＴ３から状態ＳＴ５への切り替えにより仮想サーバＶ２が物理サーバＰ５に切り替わるため、サイクルＣＹＣ１１において、情報処理装置ＩＰＥ１の処理能力は向上し、中負荷領域の頻度は下がる。
【００７２】
状態ＳＴ５において、物理サーバＰの負荷が低くなり、サイクルＣＹＣ１２において低負荷領域の頻度が”０．８”を超えたため、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ５から状態ＳＴ３に切り替える（図６（ｌ））。状態ＳＴ５から状態ＳＴ３への切り替えにより物理サーバＰ５が仮想サーバＶ２に切り替わるため、サイクルＣＹＣ１３において、情報処理装置ＩＰＥ１の処理能力は低下し、中負荷領域の頻度は上がる。
【００７３】
状態ＳＴ３において、物理サーバＰの負荷がさらに低くなり、サイクルＣＹＣ１４において低負荷領域の頻度が”０．９”を超えたため、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ３から状態ＳＴ２に切り替える（図６（ｎ））。状態ＳＴ３から状態ＳＴ２への切り替えにより仮想サーバＶ２が終了するため、サイクルＣＹＣ１５において、情報処理装置ＩＰＥ１の処理能力は低下し、中負荷領域の頻度は上がる。
【００７４】
図７は、図５に示す情報処理システムＳＹＳ１の動作における負荷の変化の別の例を示す。図６と同一または同様の動作については、詳細な説明は省略する。図７中の符号（ｃ）−（ｅ）、（ｍ）−（ｏ）は、図５に示す情報処理装置ＩＰＥ１の状態の維持または切り替えを示す符号と同じである。例えば、図７は、図６のサイクルＣＹＣ８に続く動作を示す。状態ＳＴ４から状態ＳＴ３への変化と、状態ＳＴ２から状態ＳＴ１への変化は、状態ＳＴ５から状態ＳＴ３への変化と同様である。
【００７５】
図８は、図１に示す制御装置ＣＮＴＬの動作フローの例を示す。例えば、図８に示す動作フローは、制御装置ＣＮＴＬが情報処理システムＳＹＳ１の制御プログラムを実行することで実現される。制御装置ＣＮＴＬは、情報処理システムＳＹＳ１がストレージサーバまたはデータセンタとしての機能を開始する場合に開始される。
【００７６】
まず、ステップＳ１０において、制御装置ＣＮＴＬは、変数ＨＵＴＬ、ＭＵＴＬ、ＬＵＴＬを”０”に初期化する。次に、ステップＳ１２において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１が状態ＳＴ０か否かを判定する。情報処理装置ＩＰＥ１が状態ＳＴ０の場合、処理はステップＳ１００のＳＴ０制御ルーチンに移行される。情報処理装置ＩＰＥ１が状態ＳＴ０でない場合、処理はステップＳ１４に移行される。ＳＴ０制御ルーチンでは、情報処理装置ＩＰＥ１を状態ＳＴ０から状態ＳＴ１に移行させるか、または状態ＳＴ０に維持させるかが判断される。ＳＴ０制御ルーチンの例は、図９に示され、ＳＴ０制御ルーチンのプログラムの例は、図１５に示される。
【００７７】
ステップＳ１４において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１が状態ＳＴ１か否かを判定する。情報処理装置ＩＰＥ１が状態ＳＴ１の場合、処理はステップＳ２００のＳＴ１制御ルーチンに移行される。情報処理装置ＩＰＥ１が状態ＳＴ１でない場合、処理はステップＳ１６に移行される。ＳＴ１制御ルーチンでは、情報処理装置ＩＰＥ１を状態ＳＴ１から状態ＳＴ２に移行させるか、状態ＳＴ１から状態ＳＴ０に移行させるか、または状態ＳＴ１に維持させるかが判断される。ＳＴ１制御ルーチンのフローの例は、図１０に示され、ＳＴ１制御ルーチンのプログラムの例は、図１６に示される。
【００７８】
ステップＳ１６において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１が状態ＳＴ２か否かを判定する。情報処理装置ＩＰＥ１が状態ＳＴ２の場合、処理はステップＳ３００のＳＴ２制御ルーチンに移行される。情報処理装置ＩＰＥ１が状態ＳＴ２でない場合、処理はステップＳ１８に移行される。ＳＴ２制御ルーチンでは、情報処理装置ＩＰＥ１を状態ＳＴ２から状態ＳＴ４に移行させるか、状態ＳＴ２から状態ＳＴ３に移行させるか、状態ＳＴ２から状態ＳＴ１に移行させるか、または状態ＳＴ２に維持させるかが判断される。ＳＴ２制御ルーチンのフローの例は、図１１に示され、ＳＴ２制御ルーチンのプログラムの例は、図１７に示される。
【００７９】
ステップＳ１８において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１が状態ＳＴ３か否かを判定する。情報処理装置ＩＰＥ１が状態ＳＴ３の場合、処理はステップＳ４００のＳＴ３制御ルーチンに移行される。情報処理装置ＩＰＥ１が状態ＳＴ３でない場合、処理はステップＳ２０に移行される。ＳＴ３制御ルーチンでは、情報処理装置ＩＰＥ１を状態ＳＴ３から状態ＳＴ５に移行させるか、状態ＳＴ３から状態ＳＴ２に移行させるか、または状態ＳＴ３に維持させるかが判断される。ＳＴ３制御ルーチンのフローの例は、図１２に示され、ＳＴ３制御ルーチンのプログラムの例は、図１８に示される。
【００８０】
ステップＳ２０において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１が状態ＳＴ４か否かを判定する。情報処理装置ＩＰＥ１が状態ＳＴ４の場合、処理はステップＳ５００のＳＴ４制御ルーチンに移行される。情報処理装置ＩＰＥ１が状態ＳＴ４でない場合、処理はステップＳ２２に移行される。ＳＴ４制御ルーチンでは、情報処理装置ＩＰＥ１を状態ＳＴ４から状態ＳＴ３に移行させるか、または状態ＳＴ４に維持させるかが判断される。ＳＴ４制御ルーチンのフローの例は、図１３に示され、ＳＴ４制御ルーチンのプログラムの例は、図１９に示される。
【００８１】
ステップＳ２２において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１が状態ＳＴ５か否かを判定する。情報処理装置ＩＰＥ１が状態ＳＴ５の場合、処理はステップＳ６００のＳＴ５制御ルーチンに移行される。情報処理装置ＩＰＥ１が状態ＳＴ５でない場合、処理はステップＳ１０に戻る。ＳＴ５制御ルーチンでは、情報処理装置ＩＰＥ１を状態ＳＴ５から状態ＳＴ３に移行させるか、または状態ＳＴ５に維持させるかが判断される。ＳＴ５制御ルーチンのフローの例は、図１４に示され、ＳＴ５制御ルーチンのプログラムの例は、図２０に示される。なお、制御装置ＣＮＴＬは、ステップＳ１００、Ｓ２００、Ｓ３００、Ｓ４００、Ｓ５００、Ｓ６００を実行後、処理をステップＳ１０に戻す。
【００８２】
図９は、図８に示すＳＴ０制御ルーチンの例を示す。まず、ステップＳ１０２において、制御装置ＣＮＴＬは、タイムカウントＴＣを”０”にリセットする。次に、ステップＳ１０４において、制御装置ＣＮＴＬは、物理サーバＰのいずれかの負荷が８０％を超えたか否かを判定する。負荷が８０％を超えた場合、処理はステップＳ１０６に移行され、負荷が８０％以下の場合、処理はステップＳ１０８に移行される。ステップＳ１０６において、制御装置ＣＮＴＬは、変数ＨＵＴＬを”１”増加させ、処理をステップＳ１１６に移行する。
【００８３】
ステップＳ１０８において、制御装置ＣＮＴＬは、物理サーバＰのいずれかの負荷が３０％を超えたか否かを判定する。負荷が３０％を超えた場合、すなわち、負荷が３０％を超え８０％以下の場合、処理はステップＳ１１０に移行され、負荷が３０％以下の場合、処理はステップＳ１１２に移行される。ステップＳ１１０において、制御装置ＣＮＴＬは、変数ＭＵＴＬを”１”増加させ、処理をステップＳ１１６に移行する。
【００８４】
ステップＳ１１２において、制御装置ＣＮＴＬは、物理サーバＰのいずれかの負荷が２％を下回ったか否かを判定する。負荷が２％を下回った場合、処理はステップＳ１１４に移行され、負荷が２％以上の場合、すなわち、負荷が２％以上３０％以下の場合、処理はステップＳ１１６に移行される。ステップＳ１１４において、制御装置ＣＮＴＬは、変数ＬＵＴＬを”１”増加させ、処理をステップＳ１１６に移行する。
【００８５】
ステップＳ１１６において、制御装置ＣＮＴＬは、例えば、１秒の経過を待った後、処理をステップＳ１１８に移行する。ステップＳ１１８において、制御装置ＣＮＴＬは、タイムカウントＴＣを”１”増加させる。次に、ステップＳ１２０において、制御装置ＣＮＴＬは、タイムカウントＴＣが”６００”を超えたか否かを判定する。タイムカウントＴＣが”６００”を超えた場合、すなわち、変数ＨＵＴＬ、ＭＵＴＬ、ＬＵＴＬの集計時間が６００秒を超えた場合、処理はステップＳ１２２に移行され、タイムカウントＴＣが”６００”以下の場合、処理はステップＳ１０４に戻される。
【００８６】
ステップＳ１２２において、制御装置ＣＮＴＬは、変数ＭＵＴＬをタイムカウントＴＣで除した値である中負荷領域の負荷の頻度が、”０．８”を超えたか否かを判定する。中負荷領域の負荷の頻度が”０．８”を超えた場合、処理はステップＳ１２４に移行され、中負荷領域の負荷の頻度が”０．８”以下の場合、処理はステップＳ１２６に移行される。
【００８７】
ステップＳ１２４において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ０から状態ＳＴ１に移行させる。ステップＳ１２６において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ０に維持させる。そして、ステップＳ１２４、Ｓ１２６の処理後、ＳＴ０制御ルーチンは終了する。なお、ＳＴ０制御ルーチンは、起動されている物理サーバＰ毎に実行され、物理サーバＰのいずれかが、ステップＳ１２２の判定条件を満たす場合（Ｙｅｓ）、ステップＳ１２４の処理が実行される。
【００８８】
図１０は、図８に示すＳＴ１制御ルーチンの例を示す。図９と同一または同様の処理については、詳細な説明は省略する。ステップＳ１０２からステップＳ１２０までの処理は、図９と同じである。
【００８９】
ステップＳ２２２において、制御装置ＣＮＴＬは、図９に示すステップＳ１２２と同様の判定を実行する。そして、中負荷領域の負荷の頻度が”０．８”を超えた場合、ステップＳ２２４において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ１から状態ＳＴ２に移行させる。中負荷領域の負荷の頻度が”０．８”以下の場合、処理はステップＳ２２６に移行される。
【００９０】
ステップＳ２２６において、制御装置ＣＮＴＬは、変数ＬＵＴＬをタイムカウントＴＣで除した値である低負荷領域の負荷の頻度が、”０．８”を超えたか否かを判定する。低負荷領域の負荷の頻度が”０．８”を超えた場合、処理はステップＳ２２８に移行され、低負荷領域の負荷の頻度が”０．８”以下の場合、処理はステップＳ２３０に移行される。ステップＳ２２８において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ１から状態ＳＴ０に移行させる。ステップＳ２３０において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ１に維持させる。そして、ステップＳ２２４、Ｓ２２８、Ｓ２３０の処理の後、ＳＴ１制御ルーチンは終了する。
【００９１】
なお、ＳＴ１制御ルーチンは、起動されている物理サーバＰ毎に実行される。そして、物理サーバＰのいずれかが、ステップＳ２２２の判定条件を満たす場合（Ｙｅｓ）、ステップＳ２２４の処理が実行され、物理サーバＰのいずれかが、ステップＳ２２６の判定条件を満たす場合（Ｙｅｓ）、ステップＳ２２８の処理が実行される。頻度ＭＵＴＬ／ＴＣと頻度ＬＵＴＬ／ＴＣとの和は、１．０を超えることはないため、ステップＳ２２２、Ｓ２２６の判定条件が同時に満たされることはない。また、図４に示すように、起動されている複数の物理サーバＰの負荷は、互いに同様の傾向で変化する。このため、複数の物理サーバＰのいずれかがステップＳ２２２の判定条件を満たし、複数の物理サーバＰの他のいずれかがステップＳ２２６の判定条件を満たすことはない。
【００９２】
図１１は、図８に示すＳＴ２制御ルーチンの例を示す。図９および図１０と同一または同様の処理については、詳細な説明は省略する。ステップＳ１０２からステップＳ１２０までの処理は、図９と同じである。
【００９３】
ステップＳ３２２において、制御装置ＣＮＴＬは、変数ＨＵＴＬをタイムカウントＴＣで除した値である高負荷領域の負荷の頻度が、”０．９”を超えたか否かを判定する。高負荷領域の負荷の頻度が”０．９”を超えた場合、処理はステップＳ３２４に移行され、高負荷領域の負荷の頻度が”０．９”以下の場合、処理はステップＳ３２６に移行される。ステップＳ３２４において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ２から状態ＳＴ４に移行させる。
【００９４】
ステップＳ３２６において、制御装置ＣＮＴＬは、変数ＭＵＴＬをタイムカウントＴＣで除した値である中負荷領域の負荷の頻度が、”０．７”を超えたか否かを判定する。中負荷領域の負荷の頻度が”０．７”を超えた場合、処理はステップＳ３２８に移行され、中負荷領域の負荷の頻度が”０．７”以下の場合、処理はステップＳ３３０に移行される。ステップＳ３２８において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ２から状態ＳＴ３に移行させる。
【００９５】
ステップＳ３３０において、制御装置ＣＮＴＬは、図１０に示すステップＳ２２６と同様の判定を実行する。そして、低負荷領域の負荷の頻度が”０．８”を超えた場合、ステップＳ３３２において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ２から状態ＳＴ１に移行させる。低負荷領域の負荷の頻度が”０．８”以下の場合、処理はステップＳ３３４に移行される。ステップＳ３３４において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ２に維持させる。そして、ステップＳ３２４、Ｓ３２８、Ｓ３３２、Ｓ３３４の処理の後、ＳＴ２制御ルーチンは終了する。
【００９６】
なお、ＳＴ２制御ルーチンは、起動されている物理サーバＰ毎に実行される。そして、物理サーバＰのいずれかが、ステップＳ３２２の判定条件を満たす場合（Ｙｅｓ）、ステップＳ３２４の処理が実行され、物理サーバＰのいずれかが、ステップＳ３２６の判定条件を満たす場合（Ｙｅｓ）、ステップＳ３２８の処理が実行される。また、物理サーバＰのいずれかが、ステップＳ３３０の判定条件を満たす場合（Ｙｅｓ）、ステップＳ３３４の処理が実行される。図１０と同様に、頻度ＨＵＴＬ／ＴＣと頻度ＭＵＴＬ／ＴＣと頻度ＬＵＴＬ／ＴＣとの和は、１．０を超えることはないため、ステップＳ３２２、Ｓ３２６、Ｓ３３０の判定条件が同時に満たされることはない。また、図１０と同様に、起動されている複数の物理サーバＰが、異なる判定条件（Ｓ３２２、Ｓ３２６、Ｓ３３０）を満たすことはない。
【００９７】
図１２は、図８に示すＳＴ３制御ルーチンの例を示す。図９および図１０と同一または同様の処理については、詳細な説明は省略する。ステップＳ１０２からステップＳ１２０までの処理は、図９と同じである。
【００９８】
ステップＳ４２２において、制御装置ＣＮＴＬは、図９に示すステップＳ１２２と同様の判定を実行する。そして、中負荷領域の負荷の頻度が”０．８”を超えた場合、ステップＳ４２４において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ３から状態ＳＴ５に移行させる。中負荷領域の負荷の頻度が”０．８”以下の場合、処理はステップＳ４２６に移行される。
【００９９】
ステップＳ４２６において、制御装置ＣＮＴＬは、図１０に示すステップＳ２２６と同様の判定を実行する。そして、低負荷領域の負荷の頻度が”０．９”を超えた場合、ステップＳ４２８において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ３から状態ＳＴ２に移行させる。低負荷領域の負荷の頻度が”０．９”以下の場合、処理はステップＳ４３０に移行される。ステップＳ４３０において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ３に維持させる。そして、ステップＳ４２４、Ｓ４２８、Ｓ４３０の処理の後、ＳＴ３制御ルーチンは終了する。
【０１００】
なお、ＳＴ３制御ルーチンは、起動されている物理サーバＰ毎に実行される。そして、物理サーバＰのいずれかが、ステップＳ４２２の判定条件を満たす場合（Ｙｅｓ）、ステップＳ４２４の処理が実行され、物理サーバＰのいずれかが、ステップＳ４２６の判定条件を満たす場合（Ｙｅｓ）、ステップＳ４２８の処理が実行される。頻度ＭＵＴＬ／ＴＣと頻度ＬＵＴＬ／ＴＣとの和は、１．０を超えることはないため、ステップＳ４２２、Ｓ４２６の判定条件が同時に満たされることはない。また、図１０と同様に、起動されている複数の物理サーバＰが、異なる判定条件（Ｓ４２２、Ｓ４２６）を満たすことはない。
【０１０１】
図１３は、図８に示すＳＴ４制御ルーチンの例を示す。図９および図１０と同一または同様の処理については、詳細な説明は省略する。ステップＳ１０２からステップＳ１２０までの処理は、図９と同じである。
【０１０２】
ステップＳ５２２において、制御装置ＣＮＴＬは、図１０に示すステップＳ２２６と同様の判定を実行する。そして、低負荷領域の負荷の頻度が”０．８”を超えた場合、ステップＳ５２４において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ４から状態ＳＴ３に移行させる。低負荷領域の負荷の頻度が”０．８”以下の場合、処理はステップＳ５２６に移行される。ステップＳ５２６において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ４に維持させる。そして、ステップＳ５２４、Ｓ５２６の処理の後、ＳＴ４制御ルーチンは終了する。なお、ＳＴ４制御ルーチンは、起動されている物理サーバＰ毎に実行され、物理サーバＰのいずれかが、ステップＳ５２２の判定条件を満たす場合（Ｙｅｓ）、ステップＳ５２４の処理が実行される。
【０１０３】
図１４は、図８に示すＳＴ５制御ルーチンの例を示す。図９および図１０と同一または同様の処理については、詳細な説明は省略する。ステップＳ１０２からステップＳ１２０までの処理は、図９と同じである。
【０１０４】
ステップＳ６２２において、制御装置ＣＮＴＬは、図１０に示すステップＳ２２６と同様の判定を実行する。そして、低負荷領域の負荷の頻度が”０．８”を超えた場合、ステップＳ６２４において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ５から状態ＳＴ３に移行させる。低負荷領域の負荷の頻度が”０．８”以下の場合、処理はステップＳ６２６に移行される。ステップＳ６２６において、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１を状態ＳＴ５に維持させる。そして、ステップＳ６２４、Ｓ６２６の処理の後、ＳＴ５制御ルーチンは終了する。なお、ＳＴ５制御ルーチンは、起動されている物理サーバＰ毎に実行され、物理サーバＰのいずれかが、ステップＳ６２２の判定条件を満たす場合（Ｙｅｓ）、ステップＳ６２４の処理が実行される。
【０１０５】
図１５は、図９に示すＳＴ０制御ルーチンを実行するプログラムの例を示す。例えば、図１５は、制御装置ＣＮＴＬのＣＰＵが実行するプログラムのソースリストを示しており、便宜上、各行の先頭に行番号が付加されている。”／／”に続く文字は、コメントを示す。
【０１０６】
１行から９行までの”ＤＥＦＩＮＤＥ”により、変数が定義される。変数ＨＴＨは、図３に示す閾値ＶＴ１（８０％）を示し、変数ＭＴＨは、図３に示す閾値ＶＴ２（３０％）を示し、変数ＬＴＨは、図３に示す閾値ＶＴ３（２％）を示す。変数ＴＩＭＥは、図３に示すタイムカウントＴＣを示し、物理サーバＰの負荷情報を収集する収集期間（例えば、６００秒）を示す。
【０１０７】
変数ＲＰＥＸＰは、物理サーバＰの追加を判断する高負荷領域の負荷の頻度（０．９；閾値）を示す。変数ＲＶＥＸＰは、仮想サーバＶから物理サーバＰへの切り替えを判断する中負荷領域の負荷の頻度（０．８；閾値）を示す。変数ＲＶＮＥＷは、仮想サーバＶの追加を判断する中負荷領域の負荷の頻度（０．７；閾値）を示す。変数ＲＳＨは、仮想サーバＶの終了を判断する低負荷領域の負荷の頻度（０．８；閾値）を示す。変数ＲＶＲＭは、物理サーバＰから仮想サーバＶへの切り替えを判断する低負荷領域の負荷の頻度（０．９；閾値）を示す。
【０１０８】
１１行において、情報処理装置ＩＰＥ１の状態（Ｓｔａｔｅ）がＳＴ０（＝０）の場合、１２行から２３行が実行される。１３、１５、１７行の変数ｍｅａｓｕｒｅＣｐｕＵｔｉｌは、保持部ＨＬＤに保持されたタイムカウントＴＣ毎の物理サーバＰの負荷を示す。２１、２３行の”ｄｏ  ｔｒａｎｓＳｔａｔｅ”は、情報処理装置ＩＰＥ１の状態を変化させる命令である。１２行から２３行で実行される処理と、図９に示す各ステップとの対応は、各行に付加されたコメントにより示される。
【０１０９】
図１６は、図１０に示すＳＴ１制御ルーチンを実行するプログラムの例を示す。図１５と同一または同様の記述については、詳細な説明は省略する。１行から９行までの”ＤＥＦＩＮＤＥ”による変数の定義は、図１５と同じである。１１行において、情報処理装置ＩＰＥ１の状態（Ｓｔａｔｅ）がＳＴ１（＝１）の場合、１２行から２５行が実行される。１２行から２５行で実行される処理と、図１０に示す各ステップとの対応は、各行に付加されたコメントにより示される。
【０１１０】
図１７は、図１１に示すＳＴ２制御ルーチンを実行するプログラムの例を示す。図１５と同一または同様の記述については、詳細な説明は省略する。１行から９行までの”ＤＥＦＩＮＤＥ”による変数の定義は、図１５と同じである。１１行において、情報処理装置ＩＰＥ１の状態（Ｓｔａｔｅ）がＳＴ２（＝２）の場合、１２行から２７行が実行される。１２行から２７行で実行される処理と、図１１に示す各ステップとの対応は、各行に付加されたコメントにより示される。
【０１１１】
図１８は、図１２に示すＳＴ３制御ルーチンを実行するプログラムの例を示す。図１５と同一または同様の記述については、詳細な説明は省略する。１行から９行までの”ＤＥＦＩＮＤＥ”による変数の定義は、図１５と同じである。１１行において、情報処理装置ＩＰＥ１の状態（Ｓｔａｔｅ）がＳＴ３（＝３）の場合、１２行から２５行が実行される。１２行から２５行で実行される処理と、図１２に示す各ステップとの対応は、各行に付加されたコメントにより示される。
【０１１２】
図１９は、図１３に示すＳＴ４制御ルーチンを実行するプログラムの例を示す。図１５と同一または同様の記述については、詳細な説明は省略する。１行から９行までの”ＤＥＦＩＮＤＥ”による変数の定義は、図１５と同じである。１１行において、情報処理装置ＩＰＥ１の状態（Ｓｔａｔｅ）がＳＴ４（＝４）の場合、１２行から２３行が実行される。１２行から２３行で実行される処理と、図１３に示す各ステップとの対応は、各行に付加されたコメントにより示される。
【０１１３】
図２０は、図１４に示すＳＴ５制御ルーチンを実行するプログラムの例を示す。図１５と同一または同様の記述については、詳細な説明は省略する。１行から９行までの”ＤＥＦＩＮＤＥ”による変数の定義は、図１５と同じである。１１行において、情報処理装置ＩＰＥ１の状態（Ｓｔａｔｅ）がＳＴ５（＝５）の場合、１２行から２３行が実行される。１２行から２３行で実行される処理と、図１４に示す各ステップとの対応は、各行に付加されたコメントにより示される。
【０１１４】
以上、図１から図２０に示した実施形態では、情報処理システムＳＹＳ１による情報処理の効率に影響を与えることなく、物理サーバＰの負荷の変動に応じて情報処理システムＳＹＳ１の処理性能を変化させることができる。例えば、制御装置ＣＮＴＬは、物理サーバＰの負荷が上昇傾向にあることを検出して、仮想サーバＶを物理サーバＰに切り替えることで、情報処理装置ＩＰＥ１の処理能力を増加させることができる。この際、仮想サーバＶから物理サーバＰに記憶装置Ｄが付け替えることで、記憶装置Ｄ間でのデータの移行が発生しないため、情報処理システムＳＹＳ１が提供するサービスに影響を与えることなく、情報処理システムＳＹＳ１の処理性能を向上させることができる。
【０１１５】
データの移行を伴う仮想サーバＶの追加は、物理サーバＰの負荷の上昇傾向が、仮想サーバＶを物理サーバＰに切り替える場合の上昇傾向より低い期間に実行される。このため、仮想サーバＶの追加により発生するデータの移行処理がストレージサーバ等のサービスに与える影響を、負荷が高くなってからデータを移行する場合に比べて小さくすることができる。
【０１１６】
さらに、物理サーバＰの負荷が小さくなった場合、物理サーバＰを仮想サーバＶに切り替えることで、物理サーバＰの１つを停止することができる。これにより、情報処理装置ＩＰＥ１の処理能力を低下させることができ、物理サーバＰの１つを起動し続ける場合に比べて、情報処理装置ＩＰＥ１で消費される電力を削減することができる。この際、物理サーバＰから仮想サーバＶに記憶装置Ｄが付け替えることで、記憶装置Ｄ間でのデータの移行が発生しないため、情報処理システムＳＹＳ１が提供するサービスに影響を与えることなく、情報処理システムＳＹＳ１の処理性能を下げることができる。
【０１１７】
データの移行を伴う仮想サーバＶの削除は、物理サーバＰの負荷が、物理サーバＰを仮想サーバＶに切り替える場合の負荷より小さいときに実行される。このため、仮想サーバＶの削除により記憶装置Ｄ間でデータを移行する場合にも、情報処理システムＳＹＳ１が提供するサービスに与える影響を最小限にすることができる。
【０１１８】
図２１は、情報処理システム、情報処理システムの制御方法および情報処理システムの制御プログラムの別の実施形態において、制御装置ＣＮＴＬにより情報処理装置ＩＰＥ１の状態を変化させる例を示す。図２１に示す処理を実行する制御装置ＣＮＴＬと、制御装置ＣＮＴＬにより制御される情報処理装置ＩＰＥ１とは、制御装置ＣＮＴＬが実行するプログラムが相違することを除き、図１と同様である。図２１は、図１に示す情報処理システムＳＹＳ１に搭載される制御装置ＣＮＴＬが実行する制御方法および制御装置ＣＮＴＬが実行する制御プログラムによる処理を示す。図１から図２０に示す実施形態と、同一または同様の要素については、詳細な説明は省略する。
【０１１９】
図２１に示す”ＮＯＷ”は、情報処理装置ＩＰＥ１の現在の状態を示す。図２１の状態ＮＯＷの周囲に示す処理Ａ−処理Ｅは、制御装置ＣＮＴＬの制御により実行される情報処理装置ＩＰＥ１の動作を示す。破線の矢印は、制御装置ＣＮＴＬの制御により各処理を実行した情報処理装置ＩＰＥ１の状態が新たに状態ＮＯＷになることを示す。図２１において、負荷および頻度の数値に後に示す上向きの矢印は、負荷および頻度が数値より大きいことを示し、負荷の数値に後に示す下向きの矢印は、負荷が数値より小さいことを示す。図２１における”負荷”および”頻度”は、図１から図２０で説明した”負荷”および”頻度”と同様である。
【０１２０】
例えば、起動中の物理サーバＰのいずれかの負荷が３０％を超え８０％以下である頻度が”０．８”を超えた場合（図３で説明した（条件Ａ））、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１の状態を変化させる処理Ａを実行する。制御装置ＣＮＴＬは、処理Ａにおいて、仮想サーバＶのいずれかを終了させ、物理サーバＰのいずれかを起動させることで、仮想サーバＶの１つを物理サーバＰの１つに切り替える。終了する仮想サーバＶに接続されていた記憶装置Ｄは、起動される物理サーバＰに付け替えられる。
【０１２１】
例えば、処理Ａによる情報処理装置ＩＰＥ１の状態の変化は、図５に示す状態ＳＴ０から状態ＳＴ１への変化、状態ＳＴ１から状態ＳＴ２への変化、および状態ＳＴ３から状態ＳＴ５への変化と同様である。なお、負荷が８０％を超えた場合、”頻度”に応じて処理Ａに優先して処理Ｃが実行される可能性ある。
【０１２２】
起動中の物理サーバＰのいずれかの負荷が３０％を超え８０％以下である頻度が”０．７”を超えた場合（図３で説明した（条件Ｂ））、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１の状態を変化させる処理Ｂを実行する。制御装置ＣＮＴＬは、処理Ｂにおいて、終了中の仮想サーバＶのいずれかを、起動中の物理サーバＰのいずれかで動作させることで、情報処理装置ＩＰＥ１に仮想サーバＶの１つを追加する。例えば、処理Ｂによる情報処理装置ＩＰＥ１の状態の変化は、図５に示す状態ＳＴ２から状態ＳＴ３への変化と同様である。なお、頻度が”０．８”を超えた場合、処理Ｂに優先して処理Ａが実行される。また、負荷が８０％を超えた場合、”頻度”に応じて処理Ｂに優先して処理Ｃが実行される可能性ある。
【０１２３】
起動中の物理サーバＰのいずれかの負荷が８０％を超えた頻度が”０．９”を超えた場合（図３で説明した（条件Ｃ））、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１の状態を変化させる処理Ｃを実行する。制御装置ＣＮＴＬは、処理Ｃにおいて、停止中の物理サーバＰのいずれかを起動させることで、情報処理装置ＩＰＥ１に物理サーバＰの１つを追加する。例えば、処理Ｃによる情報処理装置ＩＰＥ１の状態の変化は、図５に示す状態ＳＴ２から状態ＳＴ４への変化と同様である。
【０１２４】
起動中の物理サーバＰのいずれかの負荷が２％未満の頻度が”０．８”を超えた場合（図３で説明した（条件Ｄ））、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１の状態を変化させる処理Ｄを実行する。制御装置ＣＮＴＬは、処理Ｄにおいて、物理サーバＰのいずれかを停止させ、仮想サーバＶのいずれかを動作させることで、物理サーバＰの１つを仮想サーバＶの１つに切り替える。停止する物理サーバＰに接続されていた記憶装置Ｄは、新たに動作する仮想サーバＶに付け替えられる。
【０１２５】
例えば、処理Ｄによる情報処理装置ＩＰＥ１の状態の変化は、図５に示す状態ＳＴ１から状態ＳＴ０への変化、状態ＳＴ２から状態ＳＴ１への変化、状態ＳＴ４から状態ＳＴ３への変化、および状態ＳＴ５から状態ＳＴ３への変化と同様である。なお、頻度が”０．９”を超えた場合、処理Ｄに優先して処理Ｅが実行される。
【０１２６】
起動中の物理サーバＰのいずれかの負荷が２％未満の頻度が”０．９”を超えた場合（図３で説明した（条件Ｅ））、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１の状態を変化させる処理Ｅを実行する。制御装置ＣＮＴＬは、処理Ｅにおいて、動作中の仮想サーバＶのいずれかを終了させることで、情報処理装置ＩＰＥ１から仮想サーバＶの１つを削除する。例えば、処理Ｅによる情報処理装置ＩＰＥ１の状態の変化は、図５に示す状態ＳＴ３から状態ＳＴ２への変化と同様である。
【０１２７】
起動中の物理サーバＰのいずれかの負荷が、処理Ａ、処理Ｂ、処理Ｃ、処理Ｄ、処理Ｅを実行する条件のいずれにも該当しない場合、制御装置ＣＮＴＬは、情報処理装置ＩＰＥ１の状態を変化させることなく維持する（図２１の”Ｆ”）。
【０１２８】
図２２は、図２１に示す各処理Ａ、Ｂ、Ｃ、Ｄ、Ｅと、負荷および頻度との関係の例を示す。図２１で説明したように、処理Ａ、処理Ｂ、処理Ｃが重複する条件では、処理Ｃが優先され、次に処理Ａが優先される。また、処理Ｄ、処理Ｅが重複する条件では、処理Ｅが優先される。
【０１２９】
以上、図２１および図２２に示す実施形態においても、図１から図２０に示す実施形態と同様の効果を得ることができる。すなわち、情報処理システムＳＹＳ１による情報処理の効率に影響を与えることなく、物理サーバＰの負荷の変動に応じて情報処理システムＳＹＳ１の処理性能を向上させることができる。また、情報処理システムＳＹＳ１による情報処理の効率に影響を与えることなく、物理サーバＰの負荷の変動に応じて情報処理システムＳＹＳ１の処理性能を下げることができる。
【０１３０】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０１３１】
ＣＮＴＬ…制御装置；Ｄ０−Ｄ７…記憶装置；ＤＰＬ…ディスクプール；ＨＬＤ…保持部；ＨＵＴＬ…変数；ＩＰＥ１…情報処理装置；ＬＤＭ…監視部；ＬＵＴＬ…変数；ＭＥＭ…メモリ；ＭＵＴＬ…変数；ＮＳＷ…ネットワークスイッチ；ＮＷ…ネットワーク；Ｐ０−Ｐ５…物理サーバ；ＳＷ…スイッチ装置；ＳＹＳ１…情報処理システム；ＴＣ…タイムカウント；ＴＭ…ユーザ端末；Ｖ０−Ｖ２…仮想サーバ；ＶＴ１、ＶＴ２、ＶＴ３…閾値
【図１】
2015210576.tif 000003
【図２】
2015210576.tif 000004
【図３】
2015210576.tif 000005
【図４】
2015210576.tif 000006
【図５】
2015210576.tif 000007
【図６】
2015210576.tif 000008
【図７】
2015210576.tif 000009
【図８】
2015210576.tif 000010
【図９】
2015210576.tif 000011
【図１０】
2015210576.tif 000012
【図１１】
2015210576.tif 000013
【図１２】
2015210576.tif 000014
【図１３】
2015210576.tif 000015
【図１４】
2015210576.tif 000016
【図１５】
2015210576.tif 000017
【図１６】
2015210576.tif 000018
【図１７】
2015210576.tif 000019
【図１８】
2015210576.tif 000020
【図１９】
2015210576.tif 000021
【図２０】
2015210576.tif 000022
【図２１】
2015210576.tif 000023
【図２２】
2015210576.tif 000024