(57)【要約】  性能計測用仮想サーバ（１００）は、物理サーバおよび物理サーバ上で稼働する仮想サーバの複数のリソースの使用量を取得する取得部（５２）と、計測対象リソースに負荷を発生させる負荷発生部（５４）と、リソースに負荷をかけることで、計測対象リソースが依存しているリソースを求め、計測対象リソースが依存しているリソースの数に基づいて、依存度数を算出する依存度数算出部（５６）と、算出された依存度数が大きい順にリソースに順位付けする順位付け部（５８）と、順位付けされた順に複数のリソースから計測対象リソースを選択し、負荷発生部（５４）により順次負荷を発生させながら、計測対象リソースのリソース使用量の処理能力指標を調整する調整部（６０）と、を備える。
2011105091.tif 000002
【特許請求の範囲】
【請求項１】
物理サーバおよび前記物理サーバ上で稼働する仮想サーバの複数のリソースのリソース使用量を取得する取得手段と、
計測対象リソースに負荷を発生させる負荷発生手段と、
前記計測対象リソースに前記負荷をかけることで、前記計測対象リソースが依存しているリソースを求め、前記計測対象リソースが依存している前記リソースの数に基づいて、前記計測対象リソースの依存度数を算出する依存度数算出手段と、
複数の前記リソースについて前記計測対象リソースとしてそれぞれ算出された前記依存度数が大きい順に前記リソースに順位付けする順位付け手段と、
前記順位付け手段により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択し、前記負荷発生手段により順次負荷を発生させながら、前記計測対象リソースのリソース使用量の処理能力指標を調整する調整手段と、
を備える制御装置。
【請求項２】
請求項１に記載の制御装置において、
前記負荷発生手段により前記負荷をかけている間に前記取得手段が取得した前記リソース使用量に基づいて、前記計測対象リソース以外のリソースの前記リソース使用量に増減があるかどうかを検出する検出手段と、
前記検出手段により前記計測対象リソース以外のリソースの前記リソース使用量に増減が検出された場合、当該リソースは前記計測対象リソースが依存しているリソースであると判別する判別手段と、を備え、
前記依存度数算出手段は、前記判別手段により前記計測対象リソースが依存していると判別された前記リソースの数を計数して前記依存度数を算出する制御装置。
【請求項３】
請求項１または２に記載の制御装置において、
前記物理サーバ上で稼働する少なくとも１つの仮想サーバの代わりに、前記制御装置の前記各手段を実現させるための性能計測用仮想サーバを移動元となる前記物理サーバ上で稼働させ、
前記負荷発生手段が、前記移動元となる前記物理サーバ上で稼働する少なくとも１つの前記仮想サーバの代わりに、前記物理サーバ上で前記負荷を発生させ、
前記取得手段が、前記物理サーバと、前記物理サーバ上で稼働させた前記性能計測用仮想サーバの複数の前記リソースの前記リソース使用量を定期的に取得し、
前記調整手段が、前記処理能力指標を調整する制御装置。
【請求項４】
請求項３に記載の制御装置において、
前記調整手段が、前記取得手段が取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに前記負荷発生手段が負荷をかけた前記リソースの前記リソース使用量で、かつ、前記負荷発生手段が今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる仮想サーバの前記計測対象リソースの前記リソース使用量から取り除いたリソース使用量、となるように前記処理能力指標を調整し、
さらに、前記制御装置は、
前記負荷発生手段が、前記調整手段により調整された前記処理能力指標に基づいて、前記順位付け手段により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記取得手段が取得した前記リソース使用量から前記目標となるリソース使用量の絶対値が許容範囲内に入っているか否かを判定する判定手段と、
前記判定手段により前記許容範囲内に入っていると判定されたとき、前記取得手段が取得した前記リソース使用量から前記目標となるリソース使用量に対応する処理能力指標を見積もる見積手段と、を備える制御装置。
【請求項５】
請求項３に記載の制御装置において、
検証対象となる物理サーバ上に前記性能計測用仮想サーバを稼働させ、
前記負荷発生手段が、前記順位付け手段により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、
前記調整手段が、前記取得手段が取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに前記負荷発生手段が負荷をかけた前記リソースの前記リソース使用量で、かつ、前記負荷発生手段が今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる物理サーバの空キャパシティに相当するリソース使用量から取り除いたリソース使用量、となるように前記処理能力指標を調整し、
さらに、前記制御装置は、
前記調整手段により調整された前記処理能力指標に基づいて、前記負荷発生手段が、前記順位付け手段により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記取得手段が取得した前記リソース使用量から前記物理サーバの前記空キャパシティに相当する前記リソース使用量の絶対値が許容範囲内に入っているか否かを判定する判定手段と、
前記判定手段により前記許容範囲内に入っていると判定されたとき、前記取得手段が取得した前記リソース使用量から前記物理サーバの前記空キャパシティに相当する前記リソース使用量に対応する処理能力指標を見積もる見積手段と、を備える制御装置。
【請求項６】
請求項４または５に記載の制御装置において、
前記負荷発生手段は、前記負荷の発生のプロセスまたはスレッドを、複数プロセスまたはスレッドとして実行し、
前記見積手段は、マルチプロセッサの環境下における前記仮想サーバの前記処理能力指標を見積もる制御装置。
【請求項７】
請求項４乃至６いずれかに記載の制御装置において、
前記リソースは、ＣＰＵ（Central Processing Unit）、メモリ、ネットワークＩ／Ｏ（Input/Output）、およびハードディスクドライブＩ／Ｏを含む制御装置。
【請求項８】
請求項７に記載の制御装置において、
前記リソース以外で負荷発生時に依存関係にあるリソースを観測可能で、さらに該リソースの負荷の調整が可能であるものに対し、前記性能計測用仮想サーバが、前記リソース間の依存分析を行い、前記処理能力指標を調整し、前記負荷を発生させ、目標となる負荷の処理能力指標を見積もる制御装置。
【請求項９】
請求項４乃至８いずれかに記載の制御装置の前記性能計測用仮想サーバを、複数の移動先候補となる前記物理サーバ上で順次稼働させて、検証対象の物理サーバとして、前記見積手段により得られた前記処理能力指標を提示する提示手段を備える管理装置。
【請求項１０】
請求項９に記載の管理装置において、
複数の前記移動先候補となる前記物理サーバ上で、前記性能計測用仮想サーバを順次稼働させて、前記検証対象の物理サーバとして、前記見積手段により得られた前記処理能力指標に基づいて、移動先の物理サーバを選択する選択手段を備える管理装置。
【請求項１１】
コンピュータに、
物理サーバおよび前記物理サーバ上で稼働する仮想サーバの複数のリソースのリソース使用量を取得する手順と、
計測対象リソースに負荷を発生させる手順と、
前記計測対象リソースに前記負荷をかけることで、前記計測対象リソースが依存している前記リソースを求め、前記計測対象リソースが依存している前記リソースの数に基づいて、前記計測対象リソースの依存度数を算出する手順と、
複数の前記リソースについて前記計測対象リソースとしてそれぞれ算出された前記依存度数が大きい順に前記リソースに順位付けする手順と、
順位付けされた順に複数の前記リソースから前記計測対象リソースを選択し、順次負荷を発生させながら、前記計測対象リソースのリソース使用量の処理能力指標を調整する手順と、を実行させるプログラム。
【請求項１２】
請求項１１に記載のプログラムにおいて、
前記物理サーバ上で稼働する少なくとも１つの仮想サーバの代わりに、前記プログラムを含む性能計測用仮想サーバを移動元となる前記物理サーバ上で稼働させる手順と、
前記移動元となる前記物理サーバ上で稼働する少なくとも１つの前記仮想サーバの代わりに、前記物理サーバ上で前記負荷を発生させる手順と、
前記物理サーバと、前記物理サーバ上で稼働させた前記性能計測用仮想サーバの複数の前記リソースの前記リソース使用量を定期的に取得する手順と、
前記処理能力指標を調整する手順と、をさらにコンピュータに実行させるプログラム。
【請求項１３】
請求項１２に記載のプログラムにおいて、
前記取得する手順で取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに前記負荷を発生する手順で負荷をかけた前記リソースの前記リソース使用量で、かつ、前記負荷を発生する手順で今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる仮想サーバの前記計測対象リソースの前記リソース使用量から取り除いたリソース使用量、となるように前記処理能力指標を調整する手順と、
前記負荷を発生する手順において、前記調整する手順により調整された前記処理能力指標に基づいて、前記順位付けする手順により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記取得する手順で取得した前記リソース使用量から前記目標となるリソース使用量の絶対値が許容範囲内に入っているか否かを判定する手順と、
前記判定する手順により前記許容範囲内に入っていると判定されたとき、前記取得する手順で取得した前記リソース使用量から前記目標となるリソース使用量に対応する処理能力指標を見積もる手順と、をさらにコンピュータに実行させるプログラム。
【請求項１４】
請求項１２に記載のプログラムにおいて、
検証対象となる物理サーバ上に前記性能計測用仮想サーバを稼働させる手順と、
前記負荷を発生する手順において、前記順位付けする手順により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記取得する手順で取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに前記負荷を発生する手順で負荷をかけた前記リソースの前記リソース使用量で、かつ、前記負荷を発生する手順で今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる物理サーバの空キャパシティに相当するリソース使用量から取り除いたリソース使用量、となるように前記処理能力指標を調整する手順と、
前記調整する手順により調整された前記処理能力指標に基づいて、前記負荷を発生する手順において、前記順位付けする手順により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記取得する手順で取得した前記リソース使用量から前記物理サーバの前記空キャパシティに相当する前記リソース使用量の絶対値が許容範囲内に入っているか否かを判定する手順と、
前記判定する手順により前記許容範囲内に入っていると判定されたとき、前記取得する手順で取得した前記リソース使用量から前記物理サーバの前記空キャパシティに相当する前記リソース使用量に対応する処理能力指標を見積もる手順と、をさらにコンピュータに実行させるプログラム。
【請求項１５】
物理サーバおよび前記物理サーバ上で稼働する仮想サーバの複数のリソースの負荷を計測する制御装置のデータ処理方法であって、前記制御装置が、
前記物理サーバおよび前記物理サーバ上で稼働する前記仮想サーバの複数の前記リソースのリソース使用量を取得し、
計測対象リソースに負荷を発生させ、
前記計測対象リソースに前記負荷をかけることで、前記計測対象リソースが依存しているリソースを求め、前記計測対象リソースが依存している前記リソースの数に基づいて、前記計測対象リソースの依存度数を算出し、
複数の前記リソースについて前記計測対象リソースとしてそれぞれ算出された前記依存度数が大きい順に前記リソースに順位付けし、
順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記計測対象リソースのリソース使用量の処理能力指標を調整する制御装置のデータ処理方法。
【請求項１６】
請求項１５に記載の制御装置のデータ処理方法において、
前記物理サーバ上で稼働する少なくとも１つの仮想サーバの代わりに、性能計測用仮想サーバを移動元となる前記物理サーバ上で稼働させることで前記制御装置を実現し、
前記制御装置が、
前記移動元となる前記物理サーバ上で稼働する少なくとも１つの前記仮想サーバの代わりに、前記物理サーバ上で前記負荷を発生させ、
前記物理サーバと、前記物理サーバ上で稼働させた前記性能計測用仮想サーバの複数の前記リソースの前記リソース使用量を定期的に取得し、
前記処理能力指標を調整する制御装置のデータ処理方法。
【請求項１７】
請求項１６に記載の制御装置のデータ処理方法において、
前記制御装置が、
取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに負荷をかけた前記リソースの前記リソース使用量で、かつ、今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる仮想サーバの前記計測対象リソースの前記リソース使用量から取り除いたリソース使用量、となるように前記処理能力指標を調整し、
調整された前記処理能力指標に基づいて、順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、
取得した前記リソース使用量から前記目標となるリソース使用量の絶対値が許容範囲内に入っているか否かを判定し、
前記許容範囲内に入っていると判定されたとき、取得した前記リソース使用量から前記目標となるリソース使用量に対応する処理能力指標を見積もる制御装置のデータ処理方法。
【請求項１８】
請求項１６に記載の制御装置のデータ処理方法において、
検証対象となる物理サーバ上に前記性能計測用仮想サーバを稼働させることで前記制御装置を実現し、
前記制御装置が、
順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、
取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに負荷をかけた前記リソースの前記リソース使用量で、かつ、今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる物理サーバの空キャパシティに相当するリソース使用量から取り除いたリソース使用量、となるように前記処理能力指標を調整し、
調整された前記処理能力指標に基づいて、順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、取得した前記リソース使用量から前記物理サーバの前記空キャパシティに相当する前記リソース使用量の絶対値が許容範囲内に入っているか否かを判定し、
前記許容範囲内に入っていると判定されたとき、取得した前記リソース使用量から前記物理サーバの前記空キャパシティに相当する前記リソース使用量に対応する処理能力指標を見積もる制御装置のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、管理装置、制御装置のデータ処理方法、およびプログラムに関し、特に、仮想サーバの性能計測を行うための負荷見積もりを行う制御装置、管理装置、制御装置のデータ処理方法、およびプログラムに関する。
【背景技術】
【０００２】
この種の計算機システムの一例が特許文献１（特開２００９−１２３１７４号公報）に記載されている。これは仮想化環境におけるＩ／Ｏ（Input/Output）エミュレーションに必要なＣＰＵ（Central Processing Unit）負荷をディスク負荷またはネットワーク負荷から換算し、ＣＰＵ負荷の見積もりの精度を向上させることを目的としている。図１８はシステムの構成を示すブロック図であり、これを参照すると、サーバ９００、９０１、および９０２は、サーバ統合の対象となる非仮想化サーバである。コンピュータ９３０は、サイジング機能が動作する端末である。サーバ９００、９０１、および９０２とコンピュータ９３０は、ＬＡＮ（Local Area Network）９０５で接続されている。【０００３】
サーバ９００、９０１、および９０２の各々は、実サーバの一例であり、コンピュータ９３０は、仮想マシンサーバサイジング装置の一例である。サーバ９００、９０１、および９０２は、負荷測定部９１０、９１１、および９１２をそれぞれ備える。また、サーバ９００、９０１、および９０２は、ハードウェア資源として、少なくとも１つのＣＰＵ（Central Processing Unit）を有するとともに、ＨＤＤ（Hard Disk Drive）やＮＩＣ（Network Interface Card）を有する。負荷測定部９１０、９１１、および９１２は、それぞれ、サーバ９００、９０１、および９０２の各々のシステム負荷を測定し、それを測定情報として出力する。システム負荷とは、たとえば、ＣＰＵ負荷、ディスクやネットワークのＩ／Ｏ（Input/Output）負荷のことである。【０００４】
コンピュータ９３０は、性能設計部９４０、構成管理部９４１、入力装置９５１（たとえば、キーボードやマウス）、記憶装置９５２（たとえば、ＨＤＤやメモリ）、処理装置９５３（たとえば、ＣＰＵ）、出力装置９５４（たとえば、表示装置やプリンタ装置）を有する。なお、これらの内部で構成される部分に関しては説明を省略する。【０００５】
このような構成を有する従来の計算機システムは次のように動作する。サーバ９００、９０１、および９０２を仮想サーバとして動作させるサーバＸ（不図示）のＣＰＵ負荷を見積もる場合、ＣＰＵ性能換算部９２３はサーバ９００、９０１、および９０２のＣＰＵ負荷の測定値を得る。負荷変換部９２０はサーバ９００、９０１、および９０２のディスク負荷またはネットワーク負荷から、ディスクまたはネットワークのＩ／Ｏに起因するサーバＸのＣＰＵ負荷の見積値を得る。ＣＰＵオーバーヘッド算出部９２４は仮想化に起因するＣＰＵオーバーヘッドを示す係数を得る。負荷見積部９２５は上記測定値と上記見積値と上記係数を用いてサーバＸのＣＰＵ負荷を見積もる。【０００６】
特徴は仮想サーバ上で各々の資源（ディスク、ネットワーク）利用時のＩ／Ｏ分のＣＰＵのオーバーヘッドを計測し、さらに物理サーバ上でのアプリケーションが利用する各々の資源利用頻度を計測することである。ここでは、資源利用頻度に対応するＣＰＵのオーバーヘッドを算出し、物理サーバ上から仮想サーバ上でアプリケーション処理させた場合を想定して上記のＣＰＵのオーバーヘッドを足し込んでＣＰＵ資源の利用頻度を見積もり、物理サーバの上のアプリケーションの処理を仮想サーバ上で実行させたときの資源利用頻度を計測する。【０００７】
今後は、データセンター内で多岐に渡るハードウェアおよびソフトウェアを搭載した性能の異なる物理サーバが存在することとなる。物理サーバのリソースを効率的に利用するために、リソースの仮想化（仮想ＣＰＵ、仮想ストレージ、仮想ネットワーク）を支援する技術が増え、仮想サーバ上でＳａａＳ（Software as a Service）等のサービスを提供していくと考えられる。この物理サーバ上で構築された仮想サーバは物理サーバ間で移動することが可能で、移動先ではその物理サーバのリソースを利用することができる。物理サーバ上で効率良くリソースを利用する手段として特許文献１が提案されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−１２３１７４号公報
【発明の概要】
【０００９】
上述した計算機システムにおいてはＣＰＵ（Central Processing Unit）以外のリソースとの依存関係が考慮されていなかったため、目標の負荷を精度よく見積もることが難しいという問題点があった。
【００１０】
本発明の目的は、上述した課題である仮想サーバの性能計測を行うための負荷見積もりを精度よく行うことができる制御装置、そのデータ処理方法、およびそのプログラム、ならびに、管理装置を提供することにある。
【００１１】
本発明の制御装置は、
物理サーバおよび前記物理サーバ上で稼働する仮想サーバの複数のリソースのリソース使用量を取得する取得手段と、
計測対象リソースに負荷を発生させる負荷発生手段と、
前記計測対象リソースに前記負荷をかけることで、前記計測対象リソースが依存しているリソースを求め、前記計測対象リソースが依存している前記リソースの数に基づいて、前記計測対象リソースの依存度数を算出する依存度数算出手段と、
複数の前記リソースについて前記計測対象リソースとしてそれぞれ算出された前記依存度数が大きい順に前記リソースに順位付けする順位付け手段と、
前記順位付け手段により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択し、前記負荷発生手段により順次負荷を発生させながら、前記計測対象リソースのリソース使用量の処理能力指標を調整する調整手段と、を備える。
【００１２】
本発明の管理装置は、上記制御装置の前記性能計測用仮想サーバを、複数の移動先候補となる前記物理サーバ上で順次稼働させて、検証対象の物理サーバとして、前記見積手段により得られた前記処理能力指標を提示する提示手段を備える。
【００１３】
本発明のプログラムは、コンピュータに、
物理サーバおよび前記物理サーバ上で稼働する仮想サーバの複数のリソースのリソース使用量を取得する手順と、
計測対象リソースに負荷を発生させる手順と、
前記計測対象リソースに前記負荷をかけることで、前記計測対象リソースが依存している前記リソースを求め、前記計測対象リソースが依存している前記リソースの数に基づいて、前記計測対象リソースの依存度数を算出する手順と、
複数の前記リソースについて前記計測対象リソースとしてそれぞれ算出された前記依存度数が大きい順に前記リソースに順位付けする手順と、
順位付けされた順に複数の前記リソースから前記計測対象リソースを選択し、順次負荷を発生させながら、前記計測対象リソースのリソース使用量の処理能力指標を調整する手順と、を実行させる。
【００１４】
本発明の制御装置のデータ処理方法は、
物理サーバおよび前記物理サーバ上で稼働する仮想サーバの複数のリソースの負荷を計測する制御装置のデータ処理方法であって、前記制御装置が、
前記物理サーバおよび前記物理サーバ上で稼働する前記仮想サーバの複数の前記リソースのリソース使用量を取得し、
計測対象リソースに負荷を発生させ、
前記計測対象リソースに前記負荷をかけることで、前記計測対象リソースが依存しているリソースを求め、前記計測対象リソースが依存している前記リソースの数に基づいて、前記計測対象リソースの依存度数を算出し、
複数の前記リソースについて前記計測対象リソースとしてそれぞれ算出された前記依存度数が大きい順に前記リソースに順位付けし、
順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記計測対象リソースのリソース使用量の処理能力指標を調整する。
【００１５】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【００１６】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【００１７】
また、本発明のデータ処理方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明のデータ処理方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障しない範囲で変更することができる。
【００１８】
さらに、本発明のデータ処理方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【００１９】
本発明によれば、仮想サーバの性能計測を行うための負荷見積もりを精度よく行うことができる制御装置、管理装置、制御装置のデータ処理方法、およびプログラムが提供される。
【図面の簡単な説明】
【００２０】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００２１】
【図１】本発明の実施の形態に係る情報処理システムの構成を示す概略ブロック図である。
【図２】本実施形態の性能計測用仮想サーバの構成を示す概略機能ブロック図である。
【図３】本実施形態の性能計測用仮想サーバの構成を示す詳細機能ブロック図である。
【図４】本実施形態の管理サーバにおける負荷調整フェーズの処理手順の一例を示すフローチャートである。
【図５】本実施形態の性能計測用仮想サーバにおける負荷調整時の性能計測処理の手順の一例を示すフローチャートである。
【図６】本実施形態の性能計測用仮想サーバにおける負荷調整時の性能計測処理の手順の一例を示すフローチャートである。
【図７】本実施形態の管理サーバにおける負荷再現フェーズの処理手順の一例を示すフローチャートである。
【図８】本実施形態の性能計測用仮想サーバにおける負荷再現時の性能計測処理の手順の一例を示すフローチャートである。
【図９】本発明の実施の形態に係る情報処理システムの構成を示す概略ブロック図である。
【図１０】本実施形態の性能計測用仮想サーバの構成を示す機能ブロック図である。
【図１１】本実施形態の性能計測用仮想サーバの動作の一例を示すフローチャートである。
【図１２】本実施形態の性能計測用仮想サーバにおける性能計測処理の負荷見積処理の手順の一例を示すフローチャートである。
【図１３】本実施形態の情報処理システムの設定情報の構造の一例を示す図である。
【図１４】本発明の実施の形態に係る情報処理システムにおける処理能力指標とリソース使用量の関係を説明するための図である。
【図１５】本発明の実施の形態に係る情報処理システムにおける負荷情報と依存情報の一例を示す図である。
【図１６】本実施形態に係る依存関係を示すグラフおよび目標負荷から依存した負荷を差し引いたリソース使用量を説明するための図である。
【図１７】本実施形態に係る依存関係を示すグラフおよび目標負荷から依存した負荷を差し引いたリソース使用量を説明するための図である。
【図１８】特許文献に記載の計算機システムの構成を示すブロック図である。
【発明を実施するための形態】
【００２２】
（第１の実施の形態）
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
図１は、本発明の実施の形態に係る情報処理システム１の構成を示す概略ブロック図である。
本発明の実施の形態に係る情報処理システム１では、一台の物理的なサーバコンピュータ（以下、「物理サーバ」と呼ぶ）を複数台の仮想的なコンピュータ（以下、「仮想サーバ」と呼ぶ）に分割し、各仮想サーバに異なるＯＳ（Operating System）やアプリケーションを動作させるサーバ仮想化技術を用いて、複数の物理サーバの資源を効率よく利用する。
【００２３】
たとえば、データセンターなどでは、異なる性能を有する多数のコンピュータが存在する。本発明は、それらのコンピュータを用いて、ユーザの需要に応じた性能を有する処理を実行できるように、リソースを調整し、最適なサービスをユーザに提供するプロビジョニング技術に関する。仮想サーバでは、このようにリソースをユーザの需要に応じて柔軟に配分できるという利点がある一方で、仮想化にかかるオーバーヘッドの分、処理性能が低下する。
【００２４】
本実施形態の情報処理システム１では、あるリソースの負荷発生時に、他のリソース間でもそれに相当する負荷が発生するリソース間の依存関係の特性を分析する。そして、その特性による負荷の発生を吸収して目標の負荷を発生する。そして、物理サーバ上にて負荷を発生する仮想サーバ上で、負荷発生により発生するリソース間のオーバーヘッドの影響を除外した負荷見積もりを行うことができる。
【００２５】
本実施形態の情報処理システム１において、たとえば、複数のサーバやネットワーク、アプリケーション、ストレージなどのリソースを仮想化する。そして、ユーザから要求があった場合や、障害時などに、必要な分だけリソースを動的に別のリソースに割り当てられるようにする。本発明は、このとき、リソースの移動前後の仮想サーバの処理性能をできる限り正確に事前に見積ることで、移動時に負荷が大きく変動したり、高負荷になることを避けることができる。そして、本発明は、システムがユーザのニーズに合った性能を有するようにするものである。
また、本発明は、監視ミドルウェア製品に実装し、物理サーバ上で稼働する仮想サーバの運用を効率的に行うデータセンター事業に適用可能である。
【００２６】
図１に示すように、本実施形態の情報処理システム１は、管理サーバ４と、プールサーバ５と、退避サーバ６と、管理エージェント７０を有する移動元サーバ７と、管理エージェント９０をそれぞれ有する複数の移動先サーバ９（ＳＶ２１、・・・、ＳＶ２ｍ、ｍは自然数）と、を備える。これらは互いに通信網３を介して接続される。通信網３は、特に限定されないが、サーバ同士が互いに通信できる構成とし、たとえば、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、携帯通信網、固定電話通信網、インターネット、およびこれらの組み合わせとすることができる。
【００２７】
プールサーバ５、移動元サーバ７、移動先サーバ９、および退避サーバ６は、それぞれ仮想サーバを配置することが可能で、さらにお互いのサーバ間を移動できる機能が提供されている物理サーバである。各物理サーバは、たとえば、図示しないＣＰＵやメモリ、ハードディスク、および通信装置を備え、キーボードやマウス等の入力装置やディスプレイやプリンタ等の出力装置と接続されるサーバコンピュータやパーソナルコンピュータ、またはそれらに相当する装置により実現することができる。そして、ＣＰＵが、ハードディスクに記憶されるプログラムをメモリに読み出して実行することにより、上記各ユニットの各機能を実現することができる。なお、以下の各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
【００２８】
なお、情報処理システム１の各構成要素は、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
【００２９】
本実施形態では、仮想サーバは２種類存在し、一方は業務用の業務用仮想サーバ７６（ＶＭ１１、・・・、ＶＭ１ｉ、ｉは自然数）および業務用仮想サーバ９６（移動先サーバＳＶ２１の場合、ＶＭ２１、・・・、ＶＭ２ｊ、ｊは自然数）、ならびに、他方は本発明の性能計測処理を行う性能計測用仮想サーバ１００（ＶＭ３１、・・・、ＶＭ３ｎ、ｎは自然数）である。本実施形態では、移動元サーバ７は、少なくとも１台存在することとするが、これに限定されない。また、移動先サーバ９は、存在しない場合もある。たとえば、移動先サーバをこれから新たに導入するために、本実施形態の性能計測処理を行う場合などは、移動先サーバ９は存在しない。
【００３０】
業務用仮想サーバ７６および業務用仮想サーバ９６は、たとえば、ウェブ、メール、バックアップ等の処理を行うアプリケーションを搭載し、それらの処理を行っていることを想定する。プールサーバ５の上で、本実施形態の性能計測用仮想サーバ１００が稼動する。ここで、図１に示す性能計測用仮想サーバ１００（ＶＭ３１〜ＶＭ３ｎ）のように、プールサーバ５上で複数（ｎ個）稼動してもよい。
【００３１】
移動元サーバ７の管理エージェント７０は、負荷情報収集部７２および負荷情報通知部７４を有し、これらの機能を開始または終了する指示をする役割を持つ。移動元サーバ７上で、業務用仮想サーバ７６が稼動する。ここで、業務用仮想サーバ７６は、移動元サーバ７上で複数（ｉ個）稼動してもよい（図中、ＶＭ１１〜ＶＭ１ｉ）。負荷情報収集部７２は、移動元サーバ７と移動元サーバ７上で稼働する仮想サーバのリソース使用量を収集する。そして、負荷情報通知部７４は、負荷情報収集部７２が収集したリソース使用量を定期的に管理サーバ４に通信網３を介して送信する。
【００３２】
移動先サーバ９の管理エージェント９０は、負荷情報収集部９２および負荷情報通知部９４を有し、これらの機能を開始または終了する指示をする役割を持つ。移動先サーバ９上で、業務用仮想サーバ９６が稼動する。ここで、業務用仮想サーバ９６は、各移動先サーバ９上で複数（移動先サーバＳＶ２１の場合、ｊ個、他の移動先サーバＳＶ２ｍ（ｍは、２、３、４、・・・）では、たとえば、ｘ、ｙ、ｚ、・・・個ずつ）ずつ稼動してもよい（図中、移動先サーバＳＶ２１の仮想サーバＶＭ２１〜ＶＭ２ｊ、他の移動先サーバＳＶ２ｍの仮想サーバは省略）。負荷情報収集部９２は、移動先サーバ９と移動先サーバ９上で稼働する仮想サーバのリソース使用量を収集する。そして、負荷情報通知部９４は、負荷情報収集部９２が収集したリソース使用量を定期的に管理サーバ４に通信網３を介して送信する。
【００３３】
退避サーバ６は、後述する本発明の性能計測処理を行う際、移動元サーバ７上で稼働している業務用仮想サーバ７６を一時的に退避させる物理サーバである。これにより、本実施形態の情報処理システム１は、実際の業務用サービスを停止することなく、本発明の性能計測処理を実行することができることとなる。なお、退避サーバ６には、業務用仮想サーバ７６が退避されてもリソース不足にならない程度の充分なリソースが存在することを前提とする。
【００３４】
管理サーバ４は、性能情報取得指示部２１と、負荷調整および再現指示部２２と、仮想サーバ起動部２４と、仮想サーバ移動部２５と、情報送信部２６と、情報受信部２７と、情報比較部２８と、仮想サーバイメージ記憶部２９と、性能情報記憶部２０と、を備えている。
【００３５】
なお、本実施形態の情報処理システム１は、負荷調整フェーズと負荷再現フェーズを含む。本実施形態の情報処理システム１は、はじめに、負荷調整フェーズにおいて、移動元サーバ７上で、疑似的に負荷を発生させて、性能計測を行う。その後、本実施形態の情報処理システム１は、負荷再現フェーズにおいて、負荷調整フェーズで得られた処理能力指標に基づいて、移動先サーバ９上で、負荷を発生させ、リソース使用量を取得する。
【００３６】
性能情報記憶部２０は、負荷調整フェーズにて、移動元サーバ７上で稼働する性能計測用仮想サーバ１００から受信した各リソースの処理能力指標を記憶する。さらに、性能情報記憶部２０は、負荷再現フェーズにて、移動先サーバ９上で稼働する性能計測用仮想サーバ１００から受信した移動先サーバ９上で消費したリソース使用量を、たとえば、時系列に記憶する。
【００３７】
性能情報取得指示部２１は、負荷調整および再現指示部２２に対して負荷調整指示または負荷再現指示を行う。本実施形態では、運用者が、情報処理システム１の管理サーバ４に対して、たとえば、操作部（不図示）等を利用して、負荷調整または負荷再現の指示を行うことができる。性能情報取得指示部２１は、指示に従い、負荷調整および再現指示部２２に指示を行う。このとき、性能情報取得指示部２１は、どの移動元サーバ７を計測対象とするのかの指定も運用者に指定させて受け付ける。
【００３８】
また、運用者が予め負荷調整または負荷再現実施のスケジュールを作成して管理サーバ４に登録しておき、性能情報取得指示部２１は、スケジュールに従って自動的に指示を出すようにしてもよい。このようにすれば、システムが実際には稼働していない夜中などに検証を行うことができる。これにより、万が一、障害を生じてしまった場合でも、その被害を最小限にとどめることができる。
【００３９】
さらに、負荷調整フェーズにおいて、負荷調整および再現指示部２２は、計測対象に指定された移動元サーバ７上で稼働している業務用仮想サーバ７６の代わりにプールサーバ５上の性能計測用仮想サーバ１００を稼働させるために、移動元サーバ７に性能計測用仮想サーバ１００を移動する。そして、移動元サーバ７上で稼働している業務用仮想サーバ７６を退避サーバ６に移動するよう仮想サーバ移動部２５に指示する。また、処理が終了したときには、元に戻す指示も行う。
【００４０】
さらに、負荷調整および再現指示部２２は、移動元サーバ７に移動した性能計測用仮想サーバ１００に対して、情報送信部２６を利用して、性能情報計測指示を、通信網３を介して送信する。
この性能情報計測指示は、図１３に示される設定情報１３０と、性能計測用仮想サーバ１００の各リソース量の情報が含まれる。設定情報１３０は、運用者により設定することができ、設定画面などから操作部を利用して設定したパラメータを受け付けてもよいし、設定ファイルの形式で受け付けてもよい。
【００４１】
図１３に示すように、設定情報１３０には、仮想サーバごとの情報が含まれ、たとえば、初回処理能力指標（数値）、初回調整振れ幅（％）、再現振れ幅（％）、読み飛ばし回数（回）、継続回数（回）、許容範囲（％）、基準となるリソース使用量（％または数値）、最大調整回数（回）、マルチプロセッサ対応、ＣＰＵリソースフラグ、メモリリソースフラグ、ＮＷ（ネットワーク）リソースフラグ、ＨＤＤリソースフラグを含む。
【００４２】
初回処理能力指標（数値）は、リソースごとに設定され、はじめに性能計測プログラムを使用して負荷を発生させる場合、この初回処理能力指標を用いる。初回調整振れ幅（％）は、リソースごとに設定されてもよく、はじめに性能計測プログラムを使用して負荷を発生させたときの負荷の揺らぎの範囲である。
【００４３】
再現振れ幅（％）は、リソースごとに設定されてもよく、負荷再現時に性能計測プログラムを使用して負荷を発生させたときの負荷の揺らぎの範囲である。読み飛ばし回数（回）は、リソースごとに設定されてもよく、負荷が上がりきっていない場合を考慮し、物理サーバから受信するリソース負荷情報を読みとばす回数である。継続回数（回）は、リソースごとに設定されてもよく、基準になる処理能力指標分の負荷を出力させて計測した結果、許容範囲に入った回数である。
【００４４】
許容範囲（％）は、リソースごとに設定されてもよく、基準になる処理能力指標分の負荷を出力させて計測した結果、基準になるリソース使用量からの範囲である。
基準となるリソース使用量（％または数値）は、リソースごとに設定されてもよく、他の仮想サーバに影響を与えない程度の小さい負荷で、基準となるリソース使用量である。最大調整回数（回）は、リソースごとに設定されてもよく、基準になるリソース使用量にするための調整回数である。
【００４５】
マルチプロセッサ対応は、マルチプロセッサの場合、計測サーバ環境の最大ＣＰＵコア数を示す。
ＣＰＵリソースフラグ、メモリリソースフラグ、ＮＷリソースフラグ、ＨＤＤリソースフラグは、それぞれＣＰＵ、メモリ、ＮＷ、およびＨＤＤリソースの計測を実施するか否かを示す。ＣＰＵとメモリリソースでは、計測を実施するか否かを示し、ＮＷおよびＨＤＤリソースでは、入力または出力か、あるいは、全てかを示す。
これらの設定は、後述する処理で使用される。
【００４６】
図１に戻り、一方、負荷再現フェーズにて、負荷調整および再現指示部２２は、計測対象に指定された移動元サーバ７上に、プールサーバ５上の性能計測用仮想サーバ１００を移動するよう仮想サーバ移動部２５に指示する。
【００４７】
そして、負荷調整および再現指示部２２は、性能計測用仮想サーバ１００対して、情報送信部２６を利用して負荷再現指示を、通信網３を介して送信する。負荷再現指示は、後述するように、負荷調整フェーズにて性能計測用仮想サーバ１００が見積もった移動元サーバ７上の業務用仮想サーバ７６の処理能力指標を含む。
【００４８】
仮想サーバイメージ記憶部２９は、本情報処理システム１で稼働している仮想サーバのイメージを記憶する。仮想サーバ起動部２４は、仮想サーバイメージ記憶部２９に登録されている各仮想サーバのイメージを起動させるサーバにコピーし、仮想サーバを起動するように指示する。たとえば、図１の性能計測用の性能計測用仮想サーバ１００（ＶＭ３１〜ＶＭ３１ｎ）のように複数起動してもよい。
仮想サーバ移動部２５は、上述したように、負荷調整および再現指示部２２の指示に従い、各仮想サーバを移動する。
【００４９】
情報送信部２６は、通信網３を介して、移動元サーバ７上で稼働している性能計測用仮想サーバ１００や、移動先サーバ９上で稼働している性能計測用仮想サーバ１００に、指示や情報を送信する。
【００５０】
情報受信部２７は、通信網３を介して、移動元サーバ７上で稼働している性能計測用仮想サーバ１００や、移動先サーバ９上で稼働している性能計測用仮想サーバ１００から、情報を受信する。
【００５１】
情報比較部２８は、負荷再現フェーズにて、性能情報記憶部２０にある移動先サーバ９上で消費したリソース使用量を取得する。そして、情報比較部２８は、さらに複数の移動先サーバ９（ＳＶ２１〜２ｍ）でも行った場合に、リソース使用量の大きさを比較できるように表示部（不図示）などに提示する。
【００５２】
本実施形態において、管理サーバ４は、性能計測用仮想サーバ１００を、複数の移動先候補となる物理サーバ（移動先サーバ９）上で順次稼働させる。そして、管理サーバ４は、検証対象の物理サーバとして、見積部（負荷調整部１１１）により得られた処理能力指標を提示する提示部（不図示）を備えることができる。
【００５３】
上述した管理サーバ４の各ユニットの機能は、コンピュータプログラムをコンピュータに実行されることで実現する。このコンピュータプログラムは、コンピュータで読み取り可能な記録媒体に記録されてもよい。記録媒体は特に限定されず、様々に形態のものが考えられる。また、プログラムは、記録媒体からコンピュータのメモリにロードされてもよいし、ネットワークを通じてコンピュータにダウンロードされ、メモリにロードされてもよい。
【００５４】
図２は、本実施形態の性能計測用仮想サーバ１００の構成を示す機能ブロック図である。
本実施形態の制御装置（性能計測用仮想サーバ１００）は、物理サーバ（移動元サーバ７または移動先サーバ９）および物理サーバ上で稼働する仮想サーバ（業務用仮想サーバ７６または業務用仮想サーバ９６）の複数のリソース（不図示）のリソース使用量を取得する取得部５２と、計測対象リソースに負荷を発生させる負荷発生部５４と、計測対象リソースに負荷をかけることで、計測対象リソースが依存しているリソースを求め、計測対象リソースが依存しているリソースの数に基づいて、計測対象リソースの依存度数を算出する依存度数算出部５６と、複数のリソースについて計測対象リソースとしてそれぞれ算出された依存度数が大きい順にリソースに順位付けする順位付け部５８と、順位付け部５８により順位付けされた順に複数のリソースから計測対象リソースを選択し、負荷発生部５４により順次負荷を発生させながら、計測対象リソースのリソース使用量の処理能力指標を調整する調整部６０と、を備える。
【００５５】
性能計測用仮想サーバ１００は、さらに、インタフェース（図中、「Ｉ／Ｆ」と示す）６２を含み、インタフェース６２は、通信網３を介して、管理サーバ４、退避サーバ６、移動元サーバ７、および移動先サーバ９に接続し、通信を行う。本発明の制御装置とは、物理サーバ上で稼働可能な性能計測用仮想サーバ１００を指している。性能計測用仮想サーバ１００をいずれの物理サーバ上で移動させるかは、管理サーバ４からの指示に従っている。つまり、本発明の制御装置は、性能計測用仮想サーバ１００をいずれの物理サーバ上で稼働させるか決まっていないため、いずれのコンピュータで実現されるかは限定されない。
【００５６】
より具体的には、本実施形態の性能計測用仮想サーバ１００は、図３に示すように、情報送信部１０１と、情報受信部１０３と、負荷判定部１０５、負荷発生部１０７、設定ファイル読み込み部１０９と、負荷調整部１１１と、依存関係分析部１１３と、計測指示部１１５と、負荷情報記憶部１１７と、性能情報記憶部１１９と、受信情報記憶部１２１と、設定情報記憶部１２３と、中間情報記憶部１２５と、依存情報記憶部１２７と、を備える。図では、性能計測用仮想サーバＶＭ３１について示しているが、他の性能計測用仮想サーバＶＭ３ｎも同様の構成となる。
【００５７】
本実施形態の制御装置（性能計測用仮想サーバ１００）は、さらに、負荷発生部１０７により負荷をかけている間に情報受信部１０３が取得したリソース使用量に基づいて、計測対象リソース以外のリソースのリソース使用量に増減があるかどうかを検出する検出部（負荷判定部１０５）と、計測対象リソース以外のリソースのリソース使用量に増減が検出された場合、当該リソースは計測対象リソースが依存しているリソースであると判別する判別部（負荷判定部１０５）と、を備え、依存度数算出部（依存関係分析部１１３）は、負荷判定部１０５により計測対象リソースが依存していると判別されたリソースの数を計数して依存度数を算出する。
【００５８】
また、本実施形態の制御装置（性能計測用仮想サーバ１００）は、物理サーバ（図１の移動元サーバ７）上で稼働する少なくとも１つの仮想サーバ（図１の業務用仮想サーバ７６）の代わりに、性能計測用仮想サーバ１００の各ユニットを実現させるための性能計測用仮想サーバ１００を移動元となる移動元サーバ７（図１）上で稼働させ、負荷発生部１０７が、移動元サーバ７上で稼働する少なくとも１つの業務用仮想サーバ７６の代わりに、移動元サーバ７上で負荷を発生させ、情報受信部１０３が、移動元サーバ７と、移動元サーバ７上で稼働させた性能計測用仮想サーバ１００の複数のリソースのリソース使用量を定期的に取得し、負荷調整部１１１が、処理能力指標を調整する。
【００５９】
さらに、本実施形態の制御装置（性能計測用仮想サーバ１００）において、負荷調整部１１１が、情報受信部１０３が取得した各リソースのリソース使用量に基づいて、今回の計測対象リソース以外の前回までに負荷発生部１０７が負荷をかけたリソースのリソース使用量で、かつ、負荷発生部１０７が今回負荷をかけた計測対象リソースのリソース使用量を、予め設定された目標となる仮想サーバの計測対象リソースのリソース使用量から取り除いたリソース使用量、となるように処理能力指標を調整し、さらに、制御装置（性能計測用仮想サーバ１００）は、負荷調整部１１１により調整された処理能力指標に基づいて、負荷発生部１０７が、依存関係分析部１１３により順位付けされた順に複数のリソースから計測対象リソースを選択して、順次負荷を発生させながら、情報受信部１０３が取得したリソース使用量から目標となるリソース使用量の絶対値が許容範囲内に入っているか否かを判定する判定部（負荷判定部１０５）と、負荷判定部１０５により許容範囲内に入っていると判定されたとき、情報受信部１０３が取得したリソース使用量から目標となるリソース使用量に対応する処理能力指標を見積もる見積部（負荷調整部１１１）と、を備える。
【００６０】
詳細には、情報送信部１０１は、負荷調整フェーズにて、性能計測処理で得られた処理能力指標を、通信網３を介して管理サーバ４に情報を送信する。また、情報送信部１０１は、負荷再現フェーズにて、最新のリソース使用量を、通信網３を介して管理サーバ４に情報を送信する。
【００６１】
情報受信部１０３は、管理サーバ４、移動元サーバ７、または移動先サーバ９から、通信網３を介して指示や情報を受信し、所定の記憶部に記憶する。たとえば、情報受信部１０３は、管理サーバ４の負荷調整および再現指示部２２から性能情報計測指示を受信し、受信情報記憶部１２１に記憶する。そして、情報受信部１０３は、負荷を疑似的に発生させた移動元サーバ７上の負荷情報通知部７４から定期的にリソース使用量を受信し、負荷情報記憶部１１７に記憶する。また、情報受信部１０３は、負荷調整および再現指示部２２から負荷再現指示を受信し、受信情報記憶部１２１に記憶する。そして、情報受信部１０３は、負荷を再現させた移動先サーバ９上の負荷情報通知部９４からリソース使用量を定期的に受信し、負荷情報記憶部１１７に記憶する。情報受信部１０３は、図２の取得部５２に相当する。
【００６２】
受信情報記憶部１２１は、情報受信部１０３が通信網３を介して、管理サーバ４、移動元サーバ７または移動先サーバ９から受信した指示や情報を記憶する。
【００６３】
負荷情報記憶部１１７は、負荷調整フェーズにて、情報受信部１０３が移動元サーバ７の負荷情報通知部７４から定期的に受信したリソース毎のリソース使用量を記憶する。そして、さらに、負荷情報記憶部１１７は、負荷再現フェーズにて、情報受信部１０３が移動先サーバ９の負荷情報通知部９４から定期的に受信したリソース毎のリソース使用量を記憶する。
【００６４】
負荷判定部１０５は、負荷調整フェーズにて負荷情報記憶部１１７を参照し、移動元サーバ７や移動先サーバ９のリソース使用量に基づいて、各リソース使用量から依存関係を判定する。そして、さらに、負荷判定部１０５は、計測対象リソースが依存しているリソースの数に基づいて、各リソースについて計測対象リソースとしての依存度数をそれぞれ算出する。負荷判定部１０５は、図２の依存度数算出部５６に相当する。算出された依存度数は、リソース毎に、依存情報記憶部１２７に記憶される。
【００６５】
負荷判定部１０５は、計測対象リソース以外のリソースのリソース使用量に増減があるかどうかを検出する。そして、増減が検出されたとき、負荷判定部１０５は、そのリソースは計測対象リソースが依存していると判別する。なお、本実施形態では、負荷判定部１０５は、各サーバに設けられた管理エージェントの負荷情報収集部により取得したリソース使用量の増減に基づいて依存関係を判別したが、これに限定されない。たとえば、他の監視ツールによりサーバのリソース使用量の増減が分かる指標を用いれば、依存関係を判別することができる。
【００６６】
また、負荷判定部１０５は、負荷再現フェーズにて、負荷情報記憶部１１７を参照し、移動先サーバ９のリソース使用量に基づいて、最終のリソース使用量を読み出す。そして、負荷判定部１０５は、読み出した最終のリソース使用量を、情報送信部１０１を利用して、管理サーバ４に通信網３を介して送信する。
【００６７】
設定ファイル読み込み部１０９は、管理サーバ４から受信して受信情報記憶部１２１に記憶されている図１３の設定情報１３０から各パラメータを読み出し、設定情報記憶部１２３に記憶する。
設定情報記憶部１２３には、設定ファイル読み込み部１０９によって受信情報記憶部１２１から読み出された設定情報１３０のパラメータが記憶される。
【００６８】
負荷調整部１１１は、後述する手順に従い、負荷調整フェーズにて、処理能力指標を調整する。この処理能力指標は、負荷を発生された後に更新されたリソースごとの処理能力指標と、定期的に計測された各リソースのリソース使用量に基づいて、業務用仮想サーバ７６のリソース使用量になるように、調整される。負荷調整部１１１は、図２の調整部６０に相当する。
性能情報記憶部１１９は、負荷調整部１１１によって調整された処理能力指標をリソースごとに記憶する。
計測指示部１１５は、リソース単位で負荷発生部１０７に対してリソースの負荷を発生させるように指示する。負荷のかけ方の詳細については、後述する。
【００６９】
負荷発生部１０７は、移動元サーバ７上の性能計測用仮想サーバ１００や移動先サーバ９上の性能計測用仮想サーバ１００の計測対象リソースに疑似的に負荷を発生させる。図２の負荷発生部５４に相当する。
依存関係分析部１１３は、依存情報記憶部１２７に存在するリソースごとの性能計測結果に基づいて、リソースに依存する順番付け（降順）を行う。依存関係分析部１１３は、図２の順位付け部５８に相当する。
中間情報記憶部１２５は、負荷調整フェーズにて、計測対象リソース以外のリソース使用量を記憶する。
依存情報記憶部１２７は、負荷判定部１０５によって求められた各リソースの依存度数を記憶する。
【００７０】
上述した性能計測用仮想サーバ１００の各ユニットの機能は、コンピュータプログラムをコンピュータに実行されることで実現する。
本実施形態のコンピュータプログラムは、性能計測用仮想サーバ１００を実現させるためのコンピュータに、物理サーバ（図１の移動元サーバ７）および移動元サーバ７（図１）上で稼働する仮想サーバ（図１の業務用仮想サーバ７６）の複数のリソースのリソース使用量を取得する手順と、計測対象リソースに疑似的に負荷を発生させる手順と、計測対象リソースに負荷をかけることで、計測対象リソースが依存しているリソースを求め、計測対象リソースが依存しているリソースの数に基づいて、計測対象リソースの依存度数を算出する手順と、複数のリソースについて計測対象リソースとしてそれぞれ算出された依存度数が大きい順にリソースに順位付けする手順と、順位付けされた順に複数のリソースから計測対象リソースを選択し、順次負荷を発生させながら、計測対象リソースのリソース使用量の処理能力指標を調整する手順と、を実行させるように記述されている。以下、このプログラムを性能計測プログラムと呼ぶ。
【００７１】
本実施形態の性能計測プログラムは、物理サーバ（図１の移動元サーバ７）上で稼働する少なくとも１つの仮想サーバ（図１の業務用仮想サーバ７６）の代わりに、プログラムを含む性能計測用仮想サーバ１００を移動元となる移動元サーバ７（図１）上で稼働させる手順と、移動元となる移動元サーバ７（図１）上で稼働する少なくとも１つの業務用仮想サーバ７６の代わりに、移動元サーバ７上で負荷を発生させる手順と、移動元サーバ７と、移動元サーバ７上で稼働させた性能計測用仮想サーバ１００の複数のリソースのリソース使用量を定期的に取得する手順と、処理能力指標を調整する手順と、をさらにコンピュータに実行させるように記述されている。
【００７２】
本実施形態の性能計測プログラムは、取得する手順で取得した各リソースのリソース使用量に基づいて、今回の計測対象リソース以外の前回までに負荷を発生する手順で負荷をかけたリソースのリソース使用量で、かつ、負荷を発生する手順で今回負荷をかけた計測対象リソースのリソース使用量を、予め設定された目標となる仮想サーバの計測対象リソースのリソース使用量から取り除いたリソース使用量、となるように処理能力指標を調整する手順と、負荷を発生する手順において、調整する手順により調整された処理能力指標に基づいて、順位付けする手順により順位付けされた順に複数のリソースから計測対象リソースを選択して、順次負荷を発生させながら、取得する手順で取得したリソース使用量から目標となるリソース使用量の絶対値が許容範囲内に入っているか否かを判定する手順と、判定する手順により許容範囲内に入っていると判定されたとき、取得する手順で取得したリソース使用量から目標となるリソース使用量に対応する処理能力指標を見積もる手順と、をさらにコンピュータに実行させるように記述されている。
【００７３】
本実施形態のコンピュータプログラムは、コンピュータで読み取り可能な記憶媒体に記録されてもよい。記録媒体は特に限定されず、様々に形態のものが考えられる。また、プログラムは、記録媒体からコンピュータのメモリにロードされてもよいし、ネットワークを通じてコンピュータにダウンロードされ、メモリにロードされてもよい。
【００７４】
このように構成された本実施形態の情報処理システム１の動作について、以下に説明する。
図４〜図８は、本実施形態の情報処理システム１の動作の一例を示すフローチャートである。
上述したように、本実施形態の情報処理システム１は、負荷調整フェーズと負荷再現フェーズを含む。本実施形態の情報処理システム１は、はじめに、負荷調整フェーズにおいて、移動元サーバ７上で、疑似的に負荷を発生させて、性能計測を行う。その後、本実施形態の情報処理システム１は、負荷再現フェーズにおいて、負荷調整フェーズで得られた処理能力指標に基づいて、移動先サーバ９上で、負荷を発生させ、リソース使用量を取得する。
【００７５】
本実施形態の情報処理システム１では、まず、管理サーバ４が、負荷調整フェーズを開始する。そして、負荷調整フェーズにおいて、性能計測用仮想サーバ１００が、移動元サーバ７上に業務用仮想サーバ７６に相当する負荷をかけ、性能計測を行う。その後、管理サーバ４が、負荷再現フェーズを開始し、移動先サーバ９上に負荷を発生させ、リソース使用量を取得する。
【００７６】
まず、管理サーバ４において、仮想サーバイメージ記憶部２９には性能計測用仮想サーバ１００、ならびに、業務用仮想サーバ７６および業務用仮想サーバ９６の２種類の仮想サーバイメージが登録されているものとする。
【００７７】
また、本実施形態では、予め仮想サーバ起動部２４により、プールサーバ５上に性能計測用仮想サーバ１００が起動された状態であるとする。その起動方法は、仮想サーバ起動部２４に対して仮想サーバイメージ記憶部２９に登録されている性能計測用仮想サーバ１００のイメージをプールサーバ５上にコピーし、性能計測用の性能計測用仮想サーバ１００を起動するように指示する方法とすることができる。ここで性能計測用の性能計測用仮想サーバ１００（ＶＭ３１〜ＶＭ３１ｎ）のように複数の仮想サーバを起動してもよい。
【００７８】
さらに、仮想サーバ起動部２４により、移動元サーバ７および移動先サーバ９（ＳＶ２１〜ＳＶ２ｍ）上に、業務用仮想サーバ７６（ＶＭ１１〜ＶＭ１ｉ）および業務用仮想サーバ９６（ＶＭ２１〜ＶＭ２ｊ）、がそれぞれ起動された状態である。その起動方法は、仮想サーバ起動部２４に対して仮想サーバイメージ記憶部２９に登録されている業務用仮想サーバのイメージを移動元サーバ７および移動先サーバ９（ＳＶ２１〜ＳＶ２ｍ）上にコピーし、業務用仮想サーバ７６（ＶＭ１１〜ＶＭ１ｉ）および業務用仮想サーバ９６（ＶＭ２１〜ＶＭ２ｊ）を起動するように指示する方法とすることができる。ここで業務用仮想サーバ７６（ＶＭ１１〜ＶＭ１ｉ）および業務用仮想サーバ９６（ＶＭ２１〜ＶＭ２ｊ、ＶＭ８１〜ＶＭ８ｘ、ＶＭ９１〜ＶＭ９ｙ、・・・）のように複数の仮想サーバを起動してもよい。
【００７９】
上述した業務用仮想サーバ７６（ＶＭ１１〜ＶＭ１ｉ）、業務用仮想サーバ９６（ＶＭ２１〜ＶＭ２ｊ）、および性能計測用仮想サーバ１００（ＶＭ３１〜ＶＭ３ｎ）は、クライアント処理もしくはジョブをスケジュール化された処理により、負荷を発生する。そして、これらの負荷が、物理サーバ（移動元サーバ７、移動先サーバ９、またはプールサーバ５）のリソースを消費しているものとする。
【００８０】
また、この状態において、運用者は、負荷調整指示または負荷再現指示を、操作部（不図示）を利用して実施するものとし、性能情報取得指示部２１が指示を受け付ける。
なお、以後の説明では、説明を簡単にするために例として、性能計測用仮想サーバ１００は１台とし、業務用仮想サーバ７６も１台とする。
【００８１】
＜負荷調整フェーズ＞
図４は、本実施形態の管理サーバ４における負荷調整フェーズの処理手順の一例を示すフローチャートである。以下、図１および図４を用いて説明する。
まず、管理サーバ４（図１）において、性能情報取得指示部２１（図１）が、運用者からの負荷調整指示を受け付けると、負荷調整および再現指示部２２（図１）に対して負荷調整指示を行う（図４のステップＳ１０１）。そして、この負荷調整指示に呼応して、負荷調整および再現指示部２２（図１）が、仮想サーバ移動部２５（図１）に対して、プールサーバ５（図１）上の性能計測用仮想サーバ１００（図１）を運用者が指定した移動元サーバ７（図１）上に移動させるように指示する。なお、運用者が指定しなかった物理サーバ（移動元サーバ７）に対して調整処理は行わない。指示に従い、性能計測用仮想サーバ１００（図１）がプールサーバ５（図１）から移動元サーバ７（図１）に移動される（図４のステップＳ１０３）。
【００８２】
ここで、仮想サーバ移動部２５（図１）は、運用管理製品、仮想化ミドルウェア製品をはじめとする既存技術で既に実現されているものであり、ここでは、その実現方法は特に制限しない。そして、負荷調整および再現指示部２２（図１）は、仮想サーバ移動部２５（図１）に対して移動元サーバ７（図１）上の業務用仮想サーバ７６（図１）を退避サーバ６（図１）上に移動させるように指示する。この指示に従い、移動元サーバ７（図１）上の業務用仮想サーバ７６（図１）が退避サーバ６（図１）に移動される（図４のステップＳ１０５）。
【００８３】
そして、負荷調整および再現指示部２２（図１）は、性能計測用仮想サーバ１００（図１）に対して、情報送信部２６（図１）を利用して性能情報計測指示を、通信網３（図１）を介して送信する（図４のステップＳ１０７）。なお、性能情報計測指示の中には業務用仮想サーバ７６（図１）の各リソース量と、図１３の設定情報１３０が含まれている。
【００８４】
性能計測用仮想サーバ１００（図１）では、性能情報計測指示に呼応して、性能計測処理が開始される（図４のステップＳ１０９）。なお、性能計測用仮想サーバ１００（図１）における性能計測処理の詳細については、後述する。
【００８５】
性能計測用仮想サーバ１００（図１）における性能計測処理が終了すると、管理サーバ４では、それぞれの移動元サーバ７（図１）上の性能計測用仮想サーバ１００（図１）から情報受信部２７（図１）によって処理能力指標の受信を行い、性能情報記憶部２０（図１）に記憶する（図４のステップＳ１１１）。
【００８６】
そして、負荷調整および再現指示部２２（図１）が、仮想サーバ移動部２５（図１）に対して移動元サーバ７（図１）上の性能計測用仮想サーバ１００（図１）をプールサーバ５（図１）上に移動させるように指示する。この指示に従い、移動元サーバ７（図１）上の性能計測用仮想サーバ１００（図１）がプールサーバ５（図１）上に移動される（図４のステップＳ１１３）。
【００８７】
さらに、負荷調整および再現指示部２２（図１）が、仮想サーバ移動部２５（図１）に対して退避サーバ６（図１）上の業務用仮想サーバ７６（図１）を移動元サーバ７（図１）上に移動させるように指示する。この指示に従い、退避サーバ６（図１）上の業務用仮想サーバ７６（図１）が移動元サーバ７（図１）上に移動される（図４のステップＳ１１５）。以上で、負荷調整フェーズが終了し、実際の業務用サービスは停止することなく、性能計測処理が行われたこととなる。
【００８８】
以下、本実施の形態の性能計測用仮想サーバ１００のデータ処理方法を以下に説明する。
図５および図６は、本実施形態の性能計測用仮想サーバ１００における負荷調整時の性能計測処理の手順の一例を示すフローチャートである。上述したように、本実施形態の性能計測プログラムをコンピュータが以下に示す手順を実行することで、本実施形態の性能計測用仮想サーバ１００の機能が実現されることとなる。このフローは、図４の本実施形態の管理サーバ４の負荷調整フェーズの負荷調整処理のステップＳ１０９から呼び出される。以下、図１、図３乃至図６、図１３を用いて説明する。
【００８９】
本実施形態の性能計測用仮想サーバ１００のデータ処理方法は、物理サーバ（移動元サーバ７）および移動元サーバ７上で稼働する仮想サーバ（業務用仮想サーバ７６）の複数のリソースの負荷を計測する制御装置（性能計測用仮想サーバ１００）のデータ処理方法であって、制御装置（性能計測用仮想サーバ１００）が、移動元サーバ７および移動元サーバ７上で稼働する仮想サーバの複数のリソースのリソース使用量を取得し（図５のステップＳ２２１）、計測対象リソースに負荷を発生させ（図５のステップＳ２０５）、計測対象リソースに負荷をかけることで、計測対象リソースが依存しているリソースを求め、計測対象リソースが依存しているリソースの数に基づいて、計測対象リソースの依存度数を算出し（図５のステップＳ２０９）、複数のリソースについて計測対象リソースとしてそれぞれ算出された依存度数が大きい順にリソースに順位付けし（図５のステップＳ２１３）、順位付けされた順に複数のリソースから計測対象リソースを選択して、順次負荷を発生させながら（図６のステップＳ３０３）、計測対象リソースのリソース使用量の処理能力指標を調整する（図６のステップＳ３０７）。
【００９０】
さらに、性能計測用仮想サーバ１００のデータ処理方法において、移動元サーバ７上で稼働する少なくとも１つの仮想サーバの代わりに、性能計測用仮想サーバ１００を移動元となる移動元サーバ７上で稼働させることで制御装置を実現し（図４のステップＳ１０３）、性能計測用仮想サーバ１００が、移動元となる移動元サーバ７上で稼働する少なくとも１つの業務用仮想サーバ７６の代わりに、移動元サーバ７上で負荷を発生させ（図６のステップＳ３０３）、移動元サーバ７と、移動元サーバ７上で稼働させた性能計測用仮想サーバ１００の複数のリソースのリソース使用量を定期的に取得し（図６のステップＳ３２１）、処理能力指標を調整する（図６のステップＳ３０７）。
【００９１】
さらに、性能計測用仮想サーバ１００のデータ処理方法において、性能計測用仮想サーバ１００が、取得した各リソースのリソース使用量に基づいて、今回の計測対象リソース以外の前回までに負荷をかけたリソースのリソース使用量で、かつ、今回負荷をかけた計測対象リソースのリソース使用量を、予め設定された目標となる仮想サーバの計測対象リソースのリソース使用量から取り除いたリソース使用量、となるように処理能力指標を調整し（図６のステップＳ３０７）、調整された処理能力指標に基づいて、順位付けされた順に複数のリソースから計測対象リソースを選択して、順次負荷を発生させながら（図６のステップＳ３０９）、取得したリソース使用量から目標となるリソース使用量の絶対値が許容範囲内に入っているか否かを判定し（図６ステップＳ３１３、ステップＳ３１５）、許容範囲内に入っていると判定されたとき（図６のステップＳ３１５のＹＥＳ）、取得したリソース使用量から目標となるリソース使用量に対応する処理能力指標を見積もる（図６のステップＳ３１９）。
【００９２】
詳細には、まず、性能計測用仮想サーバ１００（図３）において、情報受信部１０３（図３）が、上述した図４のステップＳ１０７で管理サーバ４（図１）から送信された性能情報計測指示を受信し、受信情報記憶部１２１（図３）に記憶する（図５のステップＳ２０１）。そして、性能情報計測指示に呼応して、計測指示部１１５（図３）が、設定ファイル読み込み部１０９（図３）に対して、図１３の設定情報１３０のパラメータを読み込むよう指示を行う。この指示に従い、設定ファイル読み込み部１０９（図３）が、受信情報記憶部１２１から設定情報１３０（図１３）で指定されている性能計測用仮想サーバ１００の設定パラメータを読み込み、設定情報記憶部１２３（図３）に記憶する（図５のステップＳ２０３）。
【００９３】
以下、性能計測用仮想サーバ１００（図３）において、依存関係分析処理が開始される。
図５に示すように、計測指示部１１５（図３）が、リソース単位で負荷発生部１０７（図３）に対してリソースの負荷を順に発生させるように指示する。この指示に従い、負荷発生部１０７（図３）が、設定情報１３０（図１３）の各リソースフラグを参照し、計測を実施すると指定されているリソースにて、設定情報１３０（図１３）で指定されている初回処理能力指標を入力にしてジョブを処理し、結果的にリソースの負荷を発生させる（図５のステップＳ２０５）。計測を実施しないリソースに対しては何も行わない。
【００９４】
ここで、図５のステップＳ２０５において、図１３に示される設定情報１３０のように、負荷発生部１０７がマルチプロセッサ情報からそのコア数に応じたプロセス数を起動し、複数のプロセスが同時に負荷を発生させることができる。すなわち、負荷発生部１０７は、負荷の発生のプロセスまたはスレッドを、複数プロセスまたはスレッドとして実行し、見積部（負荷調整部１１１）は、マルチプロセッサの環境下における仮想サーバの処理能力指標を見積もることができる。
【００９５】
マルチプロセッサの場合、ＣＰＵリソースに関して、性能計測用プログラムを実行する場合、１つのＣＰＵ当り１つのプロセスが割り当てられる。そのため、２つのＣＰＵ上で計測した場合、各サーバ（移動元サーバ７または移動先サーバ９）ではＣＰＵ自体が最大５０％までしか使用されない。計測対象のサーバ（負荷調整フェーズでは移動元サーバ７、負荷再現フェーズでは移動先サーバ９）の環境内にマルチＣＰＵのサーバが存在する場合、この処理を考慮することにより、ＣＰＵリソースを最大限使用することが可能となる。その結果、シングルまたはマルチの場合でも同じように処理能力指標で比較することが可能になる。
【００９６】
また、ここで、ジョブとは、一般的なサーバを代表とする情報処理装置が行う仕事の単位とし、さらにこのジョブの大きさを処理能力指標と定義する。たとえば、ＣＰＵの場合には数値演算の回数をジョブの大きさと定義することにより、負荷を調整することが可能である。さらに、図１４に示すように、一定期間内に負荷発生と休み（スリープ）を交互に繰り返す方式とし、物理サーバが出力するリソース使用量を調整できるものとする。これは説明のための一例であり、目標となる負荷発生するための方法は本方式に限らない。
【００９７】
図１４のように、サーバ本来の処理能力指標が２００であった場合に、処理能力指標を１００とすると、リソース使用量は５０％となる。このとき、負荷発生期間とスリープ期間をそれぞれ５００ｍｓで交互に繰り返す。処理能力指標を５０に変更した場合は、リソース使用量は２５％となる。このとき、負荷発生期間は２５０ｍｓ、スリープ期間は７５０ｍｓとしてそれぞれ交互に繰り返す。
【００９８】
本実施形態では、リソースは、ＣＰＵ、メモリ、ＮＷ、ＨＤＤが該当し、リソース使用量あるいは使用率として算出されたものとする。使用率は一定期間内の物理サーバ、仮想サーバのリソース使用量から分かる。たとえばＮＷは一定期間に秒間当りのＮＷの入出力とスリープの処理を交互に入れることでＣＰＵと同じく発生する負荷を制御することができる。ＨＤＤは一定期間に秒間当りの読み書きとスリープの処理を入れることでＣＰＵと同じく発生する負荷を制御することができる。なお、本実施形態において、ＨＤＤは、ネットワークを介して各サーバで共有可能なＨＤＤとすることができる。リソースはこれらに限定せずこれ以外に依存するリソースもあれば計測対象とする。
【００９９】
他の例では、負荷発生期間とスリープ期間をもっと短い周期で繰り返すようにしてもよい。たとえば、１００ｍｓずつ交互に繰り返してもよい。
【０１００】
図５に戻り、ステップＳ２０５〜ステップＳ２１１と並行して、情報受信部１０３（図３）が、移動元サーバ７（図１）上の管理エージェント７０（図１）の負荷情報通知部７４（図１）から定期的に各リソースのリソース使用量を、通信網３（図１）を介して受信し、負荷情報記憶部１１７（図３）に記憶する。移動元サーバ７（図１）では、管理エージェント７０（図１）の負荷情報収集部７２（図１）が、移動元サーバ７（図１）および性能計測用仮想サーバ１００（図１）のリソース使用量を取得したものを管理サーバ４（図３）の情報受信部１０３（図３）に対して通信網３（図１）を介して定期的に送信するものとする（図５のステップＳ２２１）。
【０１０１】
たとえば、上述したように、負荷発生期間とスリープ期間を交互に１０００ｍｓの周期で繰り返す構成としているので、リソース使用量の監視も１０００ｍｓごとに行うとよい。ここで、リソース使用量の監視間隔が負荷発生周期より短いと、取得するリソース使用量が不正になる可能性がある。そのため、リソース使用量の監視間隔は、負荷発生期間とスリープ期間を合計した負荷発生周期以上とするのがよい。
【０１０２】
そして、負荷判定部１０５（図３）が、計測対象のリソースの負荷が安定したか否かを判定する（図５のステップＳ２０７）。たとえば、まず、負荷判定部１０５（図３）が、負荷情報記憶部１１７（図３）の計測対象のリソースのリソース使用量（図５のステップＳ２２１で定期的に更新される）が更新されたことを確認する。そして、更新されていなければ、図５のステップＳ２０５へ戻る。更新されたリソース使用量が存在し、かつ、図１３の設定情報１３０で設定されている読み飛ばし回数だけ読み飛ばしたら、負荷が安定したと判断して（図５のステップＳ２０７のＹＥＳ）、負荷判定部１０５（図３）が、更新されたリソース使用量を採用する。回数に達しない場合はまだ安定していないと判断し（図５のステップＳ２０７のＮＯ）、図５のステップＳ２０５に戻る。
【０１０３】
負荷をかけ始めて直ぐには、サーバが安定しないことと、負荷の影響がリソース使用量に直ぐには反映されないことから、所定の読み飛ばし回数分だけ読み飛ばすことで、安定させ、正確な値を得ることができる。リソース使用量を定期的に監視し、安定したか否かを確認してもよいが、所定回数読み飛ばす処理の方が簡単で処理が軽くてよい。
【０１０４】
そして、負荷判定部１０５（図３）が、負荷情報記憶部１１７（図３）に記憶されている計測対象のリソースのリソース使用量が更新されたことを認知し、かつ、別のリソースのリソース使用量が負荷発生前よりも上昇していると判断した場合、依存関係があると判定する。そして、その上昇するリソース数をカウントしたものを依存度数とし、図１５の依存情報記憶部１２７（図３）に各リソースの依存度数を記憶する（図５のステップＳ２０９）。図１５では、負荷情報記憶部１１７（図３）に記憶されている各リソースの使用量と、対応する依存度数を示してある。各リソースのリソース使用量と依存度数を関連付けて記憶してもよい。
【０１０５】
負荷調整部１１１（図３）が、対象の計測を停止して、まだ計測されていない別の計測対象のリソースがある場合には（図５のステップＳ２１１のＮＯ）、図５のステップＳ２０５に戻り、別のリソースを計測対象としてステップＳ２０５〜ステップＳ２０９を繰り返す。残りのリソースがなければ（図５のステップＳ２１１のＹＥＳ）、次の図５のステップＳ２１３に進む。このとき、図５のステップＳ２２１におけるリソース使用量の受信処理も停止し、図５のステップＳ２１３に進む。
そして、依存関係分析部１１３が、依存情報記憶部１２７に存在するリソースごとの計測結果をリソースに依存する順番（降順）にソートを行う（図５のステップＳ２１３）。
以上により、依存関係分析処理が終了し、図１５のように、リソースごとの依存関係が求められたことになる。
【０１０６】
次に、性能計測用仮想サーバ１００において、上記依存関係分析処理で得られた依存関係に基づいて、負荷見積処理が開始される。以下、図１、図３および図６を用いて説明する。
まず、計測指示部１１５（図３）が、負荷発生部１０７（図３）に対して依存情報記憶部１２７（図３）に記憶された依存度数の数値順（降順）で負荷をかけるように負荷発生指示を行う（図６のステップＳ３０１）。この理由は依存度数の大きいリソースから順番に負荷をかけていくと、依存度数の小さい別のリソースに負荷をかけた時に、それまでに依存した負荷を吸収しながら目標の負荷を発生することができるためである。昇順にすると、後々目標の負荷を超過してしまうからである。
【０１０７】
そして、負荷発生部１０７（図３）が、図１３の設定情報１３０の各リソースフラグを参照し、計測を実施するリソースにて、負荷を発生させる（図６のステップＳ３０３）。初回の場合は設定情報１３０に設定されている初回処理能力指標を元にリソースの負荷を発生する。また、２回目以降は後述の処理で更新した処理能力指標を元にリソースの負荷を発生する。計測を実施しないリソースに対しては何も行わない。ここでは、負荷発生部１０７に対して処理能力指標を入力すると、性能計測用仮想サーバ１００の負荷を発生する。
【０１０８】
ここで、図６のステップＳ３０３において、図１３に示される設定情報１３０のように、負荷発生部１０７がマルチプロセッサ情報からそのコア数に応じたプロセス数を起動し、複数のプロセスが同時に負荷を発生させることができる。すなわち、負荷発生部１０７は、負荷の発生のプロセスまたはスレッドを、複数プロセスまたはスレッドとして実行する。そして、見積部（負荷調整部１１１）は、マルチプロセッサの環境下における仮想サーバの処理能力指標を見積もることができる。
【０１０９】
マルチプロセッサの場合、ＣＰＵリソースに関して、性能計測用プログラムを実行する場合、１ＣＰＵ当り１プロセスが割り当てられる。そのため、２つのＣＰＵ上で計測した場合、各サーバ（移動元サーバ７または移動先サーバ９）ではＣＰＵ自体が最大５０％までしか使用されない。計測対象のサーバ（負荷調整フェーズでは移動元サーバ７、負荷再現フェーズでは移動先サーバ９）の環境内にマルチＣＰＵのサーバが存在する場合、この処理を考慮することにより、ＣＰＵリソースを最大限使用することが可能となる。その結果、シングルまたはマルチの場合でも同じように処理能力指標で比較することが可能になる。
【０１１０】
ステップＳ３０３〜ステップＳ３１７と並行して、情報受信部１０３（図３）が、移動元サーバ７（図１）上の管理エージェント７０（図１）の負荷情報通知部７４（図１）から定期的に各リソースのリソース使用量を、通信網３（図１）を介して受信し、負荷情報記憶部１１７（図３）に記憶する。移動元サーバ７（図１）では、管理エージェント７０（図１）の負荷情報収集部７２（図１）が、移動元サーバ７（図１）および移動元サーバ７上で稼働している性能計測用仮想サーバ１００（図１）のリソース使用量を取得したものを性能計測用仮想サーバ１００（図３）の情報受信部１０３（図３）に対して通信網３（図１）を介して定期的に送信するものとする（図６のステップＳ３２１）。
【０１１１】
そして、負荷判定部１０５（図３）が、計測対象のリソースの負荷が安定したか否かを判定する（図６のステップＳ３０４）。たとえば、まず、負荷判定部１０５（図３）が、負荷情報記憶部１１７（図３）の計測対象のリソースのリソース使用量（図６のステップＳ３２１で定期的に更新される）が更新されたことを確認する。そして、更新されていなければ、図６のステップＳ３０３へ戻る。更新されたリソース使用量が存在し、かつ、図１３の設定情報１３０で設定されている読み飛ばし回数だけ読み飛ばしたら、負荷が安定したと判断して（図６のステップＳ３０４のＹＥＳ）、負荷判定部１０５（図３）が、更新されたリソース使用量を採用する。回数に達しない場合はまだ安定していないと判断し（図６のステップＳ３０４のＮＯ）、図６のステップＳ３０３に戻る。
【０１１２】
負荷判定部１０５（図３）が、リソース負荷の前後の揺らぎが振れ幅に入っているかどうかを判定する。たとえば、負荷判定部１０５（図３）は、性能計測用仮想サーバ１００の最新とその前のリソース使用量を比較し、図１３の設定情報１３０の初回調整振れ幅の範囲内に入っているかどうかを判定する。範囲に入っている場合、さらに、図１３の設定情報１３０の継続回数分行えたか判定を行う（図６のステップＳ３０５）。条件を満たしていない場合（図６のステップＳ３０５のＮＯ）、図６のステップＳ３０３に戻る。
【０１１３】
条件を満たしている場合（図６のステップＳ３０５のＹＥＳ）、負荷調整部１１１（図３）が、初回の場合は、図１３の設定情報１３０の初回処理能力指標を元にし、２回目以降は更新した処理能力指標と性能計測用仮想サーバ１００のリソース使用量を対応付ける。ここで、中間情報記憶部１２５（図３）の計測対象データのリソース使用量を参照し、管理サーバ４（図１）から受信した各リソースのリソース使用量から計測対象のリソース使用量を差し引いた分のリソース使用量分の負荷を発生する処理能力指標を見積もり、性能情報記憶部１１９（図３）に記憶する。ここでは、処理能力指標の見積もりには、下記の式（１）を利用する。なお、中間情報記憶部１２５（図３）を参照して計測対象データのリソース使用量が存在しなければ、中間情報記憶部１２５（図３）の依存リソース使用量は利用しない。
【０１１４】
式（１）は、上述した本実施形態の負荷調整または再現フェーズにおいて、利用する数式を定義したものである。
式（１）では、現時点の性能計測用仮想サーバ１００の処理能力指標（ＮＵＭ＿ＢＳＥ）、リソース使用量（Ｐ＿ＡＶＭ）、業務用仮想サーバ７６（または業務用仮想サーバ９６）のリソース使用量（Ｐ＿ＴＡＲ）、各計測対象の依存リソース使用量（Ｐ＿ＤＥＰ）から、業務用仮想サーバ７６（または業務用仮想サーバ９６）の処理能力指標（ＮＵＭ＿ＴＡＲ）を以下の式で定義する。
【０１１５】
NUM_TAR＝NUM_BSE×（（P_TAR−ΣP_DEP）／P_AVM）  ・・・式（１）
ここで、たとえば、各計測対象の依存リソース使用量（Ｐ＿ＤＥＰ）は、リソースの分だけ存在する。そして、図１５に示す、ＨＤＤＩ（ＨＤＤリソースの入力）計測時に、ＨＤＤＩ以外のリソースの使用量がこれに該当する。計測ごとに、この値を足し込んでいく。
【０１１６】
図１６には、図１５に示した依存度数の高い順（ＨＤＤＩ／Ｏ（ＨＤＤリソースの入出力）＞ＮＷＩ／Ｏ（ＮＷの入出力）＞ＣＰＵ＝メモリ）とした負荷の依存特性から各リソース負荷の見積もり方法を示した一例を示す。なお、目標負荷は業務用仮想サーバ７６（または業務用仮想サーバ９６）のリソース使用量である。図１６（ａ）に示すように、ＨＤＤＩ／Ｏの負荷を発生させた場合には、特に依存関係は存在しない。処理能力指標自体は発生させたものを利用する。
【０１１７】
次に、図１６（ｂ）に示すように、ＮＷＩ／Ｏの負荷を見積もる場合には、ＨＤＤＩ／Ｏの負荷を発生させた場合にＮＷＩ／Ｏでも負荷（Ｌ２）が発生する。そのため、目標の負荷から、（Ｌ２）の部分を差し引いた部分（Ｌ１）のリソース使用量が出力可能な処理能力指標を見積もる。なお、上述したように、本実施形態では、ＨＤＤはネットワークを介して各サーバが共有可能である。そのため、ＨＤＤＩ／Ｏに負荷を発生させた場合に、ＮＷＩ／Ｏでも負荷が発生することとなる。なお、図１６では、ＨＤＤＩ／Ｏによって発生する負荷は、太い破線で囲まれた部分であることを示している。
【０１１８】
ここで、ＮＷＩ／Ｏ＿Ｔを目標とするＮＷＩ／Ｏ（仮想サーバが発生するＮＷＩ／Ｏ）使用量（Ｌ１＋Ｌ２）とし、ＮＷＩ／Ｏ＿ＨＤＤＩ／ＯをＨＤＤＩ／Ｏによって発生するＮＷＩ／Ｏ使用量（Ｌ２）とすると、実際に見積もる際のＮＷＩ／Ｏ使用量（Ｌ１）のＮＷＩ／Ｏ＿Ｅは、以下の式（２）で示される。
NWI/O_E＝NWI/O_T−（NWI/O_HDDI/O）    ・・・式（２）
【０１１９】
さらに、図１６（ｃ）に示すように、ＣＰＵの負荷を見積もる場合には、ＨＤＤＩ／Ｏの負荷を発生させた場合のＣＰＵ負荷（Ｌ４）および、ＮＷＩ／Ｏの負荷を発生させた場合のＣＰＵ負荷（Ｌ５）が発生する。したがって、目標の負荷から（Ｌ４）と（Ｌ５）の部分を差し引いた部分（Ｌ３）のリソース使用量が出力可能な処理能力指標を見積もる。図１６（ｃ）では、ＮＷＩ／Ｏによって発生する負荷は、太い一点鎖線で囲まれた部分であることを示している。
【０１２０】
ここで、ＣＰＵ＿Ｔを目標とするＣＰＵ使用量（仮想サーバが発生するＣＰＵ使用量）（Ｌ３＋Ｌ４＋Ｌ５）とし、ＣＰＵ＿ＮＷＩ／ＯをＮＷＩ／Ｏによって発生するＣＰＵ使用量（Ｌ５）とし、ＣＰＵ＿ＨＤＤＩ／ＯをＨＤＤＩ／Ｏによって発生するＣＰＵ使用量（Ｌ４）とすると、実際に見積もる際のＣＰＵ使用量（Ｌ３）のＣＰＵ＿Ｅは、以下の式（３）で示される。
【０１２１】
CPU_E＝CPU_T−（CPU_NWI/O＋CPU_HDDI/O）    ・・・式（３）
以上より、目標のリソース使用量に対する処理能力指標を見積もることができる（図６のステップＳ３０７）。すなわち、負荷発生部１０７（図３）が、更新された処理能力指標とリソース使用量から業務用仮想サーバ７６（または業務用仮想サーバ９６）のリソース使用量になるように処理能力指標を調整する。
【０１２２】
負荷発生部１０７（図３）が、見積もったリソースの処理能力指標を元に処理を行い、結果的に性能計測用仮想サーバ１００（図１）のリソースの負荷を発生させる（図６のステップＳ３０９）。このとき、負荷発生部１０７に対して処理能力指標を入力すると、性能計測用仮想サーバ１００の負荷を発生する。
【０１２３】
そして、負荷判定部１０５（図３）が、負荷情報記憶部１１７（図３）のリソース使用量が更新されたことを認知して、かつ、図１３の設定情報１３０の継続回数だけ計測を実施した場合（図６のステップＳ３１１のＹＥＳ）、リソース使用量を採用する。更新されたリソース使用量が負荷情報記憶部１１７に存在しない、または継続回数に達しない場合は（図６のステップＳ３１１のＮＯ）、図６のステップＳ３０９に戻る。
【０１２４】
そして、負荷判定部１０５（図３）が、基準になるリソース使用量にするために処理能力指標を調整した回数、つまり図１３の設定情報１３０に設定されている最大調整回数を満たすかどうか判定する（図６のステップＳ３１３）。最大調整回数を満たしていれば（図６のステップＳ３１３のＹＥＳ）、エラー内容を結果に含めて、管理サーバ４に対して通信網３（図１）を介して送信し、図４のステップＳ１１１に戻る（図６のステップＳ３１９）。
【０１２５】
そして、図６のステップＳ３１３の判定がＮＯの場合、負荷判定部１０５（図３）が、処理能力指標と、処理能力指標分の実行処理から、結果的に得られた性能計測用仮想サーバ１００のリソース使用量に変換する。そして、負荷判定部１０５が、図１３の設定情報１３０に設定されている基準になるリソース使用量の許容範囲内に入っているかどうかを判定する（図６のステップＳ３１５）。条件を満たしていれば（図６のステップＳ３１５のＹＥＳ）、次の図６のステップＳ３１７に進む。条件を満たしていなければ（図６のステップＳ３１５のＮＯ）、図６のステップＳ３０７に戻る。
【０１２６】
そして、図６のステップＳ３１５の判定がＮＯの場合、負荷調整部１１１（図３）が、計測対象の処理能力指標を性能情報記憶部１１９（図３）に記憶し、その時点の計測対象以外のリソース使用量を中間情報記憶部１２５（図３）に記憶する。まだ負荷を発生していない他の計測対象のリソースがある場合には（図６のステップＳ３１７のＹＥＳ）、図６のステップＳ３０３に戻り、対象のリソースの負荷は発生させたままで、別のリソースを計測対象として以降の処理を実施する。まだ負荷を発生していない計測対象のリソースがなければ（図６のステップＳ３１７のＮＯ）、次の図６のステップＳ３１９に進む。このとき、図６のステップＳ３２１におけるリソース使用量の受信処理も停止し、図６のステップＳ３１９に進む。
【０１２７】
すなわち、全ての対象リソースについて負荷の発生が終了したら（図６のステップＳ３１７のＮＯ）、性能情報記憶部１１９（図３）に記憶した処理能力指標を結果として、情報送信部１０１（図３）が、管理サーバ４（図１）に通信網３を介して送信する（図６のステップＳ３１９）。
以上で、性能計測用仮想サーバ１００における負荷見積り処理が終了し、図４のステップＳ１１１に戻る。
【０１２８】
＜負荷再現フェーズ＞
次に、負荷再現フェーズについて以下に説明する。
図７は、本実施形態の管理サーバ４における負荷再現フェーズの処理手順の一例を示すフローチャートである。以下、図１および図７を用いて説明する。
まず、管理サーバ４（図１）において、性能情報取得指示部２１（図１）が、運用者からの負荷再現指示を受け付けると、負荷調整および再現指示部２２（図１）に対して負荷再現指示を行う（図７のステップＳ４０１）。ここで、負荷再現指示とともに、移動先サーバ９の指定も受け付ける。そして、この負荷再現指示に呼応して、負荷調整および再現指示部２２（図１）が、仮想サーバ移動部２５（図１）に対してプールサーバ５（図１）上の性能計測用仮想サーバ１００（図１）を利用者が指定したそれぞれの移動先サーバ９（図１）上に移動させるように指示する。指定しなかった移動先サーバ９（図１）以外に対して再現処理は行わない。指示に従い、性能計測用仮想サーバ１００（図１）がプールサーバ５（図１）から移動先サーバ９（図１）に１台ずつ移動される（図７のステップＳ４０３）。
【０１２９】
そして、負荷調整および再現指示部２２（図１）が、性能計測用仮想サーバ１００（図１）対して、情報送信部２６（図１）を利用して性能情報計測指示を、通信網３（図１）を介して送信する（図７のステップＳ４０５）。なお、性能情報計測指示の中には性能計測用仮想サーバ１００（図１）が見積もった移動元サーバ７（図１）上の業務用仮想サーバ７６（図１）の処理能力指標が含まれている。
【０１３０】
そして、性能計測用仮想サーバ１００（図１）では、性能情報計測指示に呼応して、負荷を再現させるとともに、再現された負荷の元で性能計測処理を行う（図７のステップＳ４０７）。なお、性能計測用仮想サーバ１００（図１）における性能計測処理の詳細については、後述する。
【０１３１】
性能計測用仮想サーバ１００（図１）における性能計測処理が終了すると、管理サーバ４（図１）が、移動先サーバ９（図１）上の性能計測用仮想サーバ１００（図１）から情報受信部２７（図１）によってリソース使用量の受信を行い、性能情報記憶部２０（図１）に記憶する（図７のステップＳ４０９）。この受信処理は定期的に繰り返し実行され、運用者の指示を受け付けたとき、負荷再現処理を停止し、次の図７のステップＳ４１１に進む。
【０１３２】
そして、負荷調整および再現指示部２２（図１）が、仮想サーバ移動部２５（図１）に対して移動先サーバ９（図１）上の性能計測用仮想サーバ１００（図１）をプールサーバ５（図１）上に移動させるように指示する。この指示に従い、移動先サーバ９上の性能計測用仮想サーバ１００が、プールサーバ５上に移動される（図７のステップＳ４１１）。
【０１３３】
情報比較部２８（図１）が、性能情報記憶部２０（図１）にある移動先サーバ９（図１）上で消費したリソース使用量を取得する。そして、情報比較部２８は、さらに複数の移動先サーバ９（ＳＶ２１〜ＳＶ２ｍ）（図１）でも行った場合に、リソース使用量の大きさを比較できるように表示部（不図示）などに提示する（図７のステップＳ４１３）。これにより、運用者は移動時に高負荷にならない物理サーバ（移動先サーバ９）に移動する判断をすることが可能となる。
【０１３４】
図８は、本実施形態の性能計測用仮想サーバ１００における負荷再現時の性能計測処理の手順の一例を示すフローチャートである。上述したように、本実施形態の性能計測プログラムをコンピュータが以下に示す手順を実行することで、本実施形態の性能計測用仮想サーバ１００の機能が実現されることとなる。このフローは、図７の本実施形態の管理サーバ４の負荷再現フェーズの負荷再現処理のステップＳ４０７から呼び出される。以下、図１、図３、および図８を用いて説明する。
【０１３５】
まず、性能計測用仮想サーバ１００（図３）において、情報受信部１０３（図３）が、上述した図７のステップＳ４０５で管理サーバ４（図１）から送信された性能情報計測指示を受信し、受信情報記憶部１２１（図３）に記憶する（図８のステップＳ５０１）。そして、性能情報計測指示に呼応して、計測指示部１１５（図３）が、設定ファイル読み込み部１０９（図３）に対して、図１３の設定情報１３０のパラメータを読み込むよう指示を行う。この指示に従い、設定ファイル読み込み部１０９（図３）が、受信情報記憶部１２１から設定情報１３０（図１３）で指定されている性能計測用仮想サーバ１００の設定パラメータを読み込み、設定情報記憶部１２３（図３）に記憶する（図８のステップＳ５０３）。
【０１３６】
そして、計測指示部１１５（図３）が、負荷発生部１０７（図３）に対して、リソースに負荷をかけるように負荷発生指示を行う。この指示に従い、負荷発生部１０７（図３）が、設定情報記憶部１２３（図３）に記憶された設定情報１３０（図１３）の処理能力指標を元に処理を行い、リソースの負荷を発生させる（図８のステップＳ５０５）。ここではリソースに負荷をかける順番は問わず、一斉に負荷をかける。このように、負荷発生部１０７に対して調整フェーズで調整した処理能力指標を入力すると、性能計測用仮想サーバ１００の負荷を発生する。
【０１３７】
ここで、図８のステップＳ５０５において、図１３に示される設定情報１３０のように、負荷発生部１０７がマルチプロセッサ情報からそのコア数に応じたプロセス数を起動し、複数のプロセスが同時に負荷を発生させることができる。すなわち、負荷発生部１０７は、負荷の発生のプロセスまたはスレッドを、複数プロセスまたはスレッドとして実行する。そして、見積部（負荷調整部１１１）は、マルチプロセッサの環境下における仮想サーバの処理能力指標を見積もることができる。
【０１３８】
マルチプロセッサの場合、ＣＰＵリソースに関して、性能計測用プログラムを実行する場合、１ＣＰＵ当り１プロセスが割り当てられる。そのため、２つのＣＰＵ上で計測した場合、各サーバ（移動元サーバ７または移動先サーバ９）ではＣＰＵ自体が最大５０％までしか使用されない。計測対象のサーバ（負荷調整フェーズでは移動元サーバ７、負荷再現フェーズでは移動先サーバ９）の環境内にマルチＣＰＵのサーバが存在する場合、この処理を考慮することにより、ＣＰＵリソースを最大限使用することが可能となる。その結果、シングルまたはマルチの場合でも同じように処理能力指標で比較することが可能になる。
【０１３９】
図８のステップＳ５０５〜ステップＳ５１１と並行して、情報受信部１０３（図３）が、移動先サーバ９（図１）上の管理エージェント９０（図１）の負荷情報通知部９４（図１）からリソース使用量を、通信網３（図１）を介して定期的に受信し、そのデータを負荷情報記憶部１１７（図３）に記憶する（図８のステップＳ５２１）。
【０１４０】
そして、負荷判定部１０５（図３）が、負荷情報記憶部１１７（図３）のリソース使用量が更新されたどうかを確認する（図８のステップＳ５０７）。ここで、負荷判定部１０５（図３）が、負荷情報記憶部１１７（図３）に更新されたリソース使用量が存在したと判定した場合（図８のステップＳ５０７のＹＥＳ）、負荷情報記憶部１１７（図３）から最新のリソース使用量を読み出し、情報送信部１０１（図３）を利用して通信網３（図１）を介して管理サーバ４（図１）に送信する（図８のステップＳ５０９）。
【０１４１】
負荷情報記憶部１１７（図３）の最新のリソース使用量とその前のリソース使用量の絶対値を取得し、図１３の設定情報１３０で指定されている振れ幅以内に収まっており、かつ、図１３の設定情報１３０で指定されている継続回数を満たした場合（図８のステップＳ５１１のＹＥＳ）、本処理を終了し、図７のステップＳ４０９に戻る。このとき、図８のステップＳ５２１におけるリソース使用量の受信処理も停止する。
以上により、性能計測用仮想サーバ１００における性能計測処理が終了し、上述した図７のステップＳ４０９に戻ることとなる。なお、条件を満たしていない場合（図８のステップＳ５１１のＮＯ）、図８のステップＳ５０７に戻る。
【０１４２】
以上説明したように、本実施形態の情報処理システム１によれば、移動元サーバ７上にて、あるリソースに負荷をかけた際にＩ／Ｏ処理等で、別のリソースに負荷がかかる依存分析を行い（これらを依存負荷と定義する）、その結果を利用して、目標負荷から依存負荷を引いたリソース使用量分の負荷を見積もり、さらにこの差し引いたリソース使用量分の処理能力指標となるように調整することができる。その結果、目標負荷に近い精度で移動元サーバ７上でのリソース使用量分を発生できる処理能力指標を見積もることが可能になる。リソース間の依存関係を分析することで、目標のリソース使用量に近い負荷を見積もることが可能になり、見積もり負荷の精度が向上する。
【０１４３】
たとえば、仮想サーバの負荷見積もりの際にリソースに対して負荷をかけた時に、他のリソースの間で依存する特性が出る。そのため、観測されたリソースの使用量を元にそのまま再現させると、この特性から余分に負荷が発生してしまう。計測対象のリソースに負荷をかけた際に発生する別のリソースの依存関係を分析し、依存度数で分類する。目標のリソースの負荷を発生させるために、リソースに依存する順番にリソースに負荷を発生させ、目標のリソースの使用量から差し引いた分の負荷を再現することで、負荷発生により発生するリソース間のオーバーヘッドの影響を除外し、余分な負荷の発生を防ぐことができる。
【０１４４】
特に、計測対象のリソースに負荷をかけた際に発生する別のリソースの依存関係を別のリソースの使用量等を見て分析し、依存度数の高いリソースがあるかどうかを分類する。目標のリソースの負荷を発生させるために、リソースに依存する順番に負荷をかけた際の別のリソースにかかる負荷を記憶させておく。さらに別のリソースに負荷を発生させる際に上述した負荷を目標のリソースの使用量から差し引いた分の負荷を再現する。これを繰り返すことにより、目標のリソースの使用量を発生させることができる。
【０１４５】
（第２の実施の形態）
図９は、本発明の実施の形態に係る情報処理システム２の構成を示す概略ブロック図である。
本実施形態の情報処理システム２は、上記実施形態の情報処理システム１とは、移動先候補となる物理サーバの中から負荷が適切な値になる物理サーバを決定する構成を有する点で相違する。
【０１４６】
本実施形態の情報処理システム２において、検証対象となる移動先サーバ２００上に性能計測用仮想サーバ３００を稼働させ、負荷発生部１０７（図１０）が、順位付け部（図１０の依存関係分析部１１３）により順位付けされた順に複数のリソースから計測対象リソースを選択して、順次負荷を発生させながら、空資源調整部１２９（図１０）が、情報受信部１０３（図１０）が取得した各リソースのリソース使用量に基づいて、今回の計測対象リソース以外の前回までに負荷発生部１０７が負荷をかけたリソースのリソース使用量で、かつ、負荷発生部１０７が今回負荷をかけた計測対象リソースのリソース使用量を、予め設定された目標となる物理サーバの空キャパシティに相当するリソース使用量から取り除いたリソース使用量、となるように処理能力指標を調整し、さらに、制御装置（性能計測用仮想サーバ３００）は、負荷調整部１１１（図１０）により調整された処理能力指標に基づいて、負荷発生部１０７が、順位付け部（依存関係分析部１１３）により順位付けされた順に複数のリソースから計測対象リソースを選択して、順次負荷を発生させながら、情報受信部１０３が取得したリソース使用量から移動先サーバ２００の空キャパシティに相当するリソース使用量の絶対値が許容範囲内に入っているか否かを判定する判定部（図１０の負荷判定部１０５）と、負荷判定部１０５により許容範囲内に入っていると判定されたとき、情報受信部１０３が取得したリソース使用量から移動先サーバ２００の空キャパシティに相当するリソース使用量に対応する処理能力指標を見積もる見積部（空資源調整部１２９）と、を備える。
【０１４７】
具体的には、本実施形態の情報処理システム２は、図１の上記実施形態の情報処理システム１の負荷調整および再現指示部２２に代えて空資源取得指示部２３を有する管理サーバ８と、図１の上記実施形態の情報処理システム１の複数の性能計測用仮想サーバ１００に代えて複数の性能計測用仮想サーバ３００を有するプールサーバ５と、移動先サーバ２００と、を備え、これらは互いに通信網３を介して接続される。
【０１４８】
複数の移動先サーバ２００（ＳＶ３１、・・・、ＳＶ３ｂ、ｂは自然数）は、図１の情報処理システム１の移動先サーバ９（ＳＶ２１、・・・、ＳＶ２ｍ、ｍは自然数）とそれぞれ同様な構成を有し、管理エージェント９０と同様に、負荷情報収集部２１２および負荷情報通知部２１４を有する管理エージェント２１０をそれぞれ含む。
【０１４９】
図９において、プールサーバ５、移動先サーバ２００（ＳＶ３１、・・・、ＳＶ３ｂ）、は仮想サーバを配置することが可能で、さらにお互いのサーバ間を移動できる機能が提供されている物理サーバである。仮想サーバは２種類存在し、一方は業務用の業務用仮想サーバ２１６（ＶＭ４１、・・・、ＶＭ４ｋ、ｋは自然数）、他方は性能計測用仮想サーバ３００（ＶＭ５１、・・・、ＶＭ５ａ、ａは自然数）である。
【０１５０】
業務用仮想サーバ２１６は、ウェブ、メール、バックアップ等の処理を行うアプリケーションを搭載し、それらの処理を行っていることを想定する。プールサーバ５の上で、本実施形態の性能計測用仮想サーバ３００が稼動する。ここで、図９に示す性能計測用仮想サーバ３００（ＶＭ５１、・・・、Ｖ５４ａ）のようにプールサーバ５上で複数（ａ個）稼動してもよい。
【０１５１】
移動先サーバ２００の管理エージェント２１０は、負荷情報収集部２１２および負荷情報通知部２１４を有し、これらの機能を開始または終了する指示をする役割を持つ。移動先サーバ２００上で、業務用仮想サーバ２１６が稼動する。ここで、業務用仮想サーバ２１６は、各移動先サーバ２００上で複数（ｋ１、ｋ２、・・・ｋｂ個）ずつ稼動してもよい（図中、ＶＭ４１〜ＶＭ４ｋの他は省略）。
【０１５２】
本実施形態の管理サーバ８において、性能情報取得指示部２１は、空資源取得指示部２３に対して空資源取得指示を行う。本実施形態でも、上記実施形態と同様に、運用者が、情報処理システム２の管理サーバ８に対して、たとえば、操作部（不図示）等を利用して、空資源取得の指示を行うことができる。性能情報取得指示部２１は、指示に従い、空資源取得指示部２３に指示を行う。このとき、どの移動先サーバ２００を検証対象とするのかの指定も運用者に指定させて受け付ける。
【０１５３】
管理サーバ８の空資源取得指示部２３は、性能情報取得指示部２１から空資源取得指示を受け付け。そして、空資源取得指示部２３は、指示に従い、検証対象の移動先サーバ２００にプールサーバ５から性能計測用仮想サーバ３００を移動するように仮想サーバ移動部２５に指示する。さらに、空資源取得指示部２３は、移動先サーバ２００に移動した性能計測用仮想サーバ３００に対して、情報送信部２６を利用して性能情報計測指示を、通信網３を介して送信する。ここでは、性能情報計測指示は、上記実施形態と同様とする。
【０１５４】
上述した管理サーバ８の各ユニットの機能は、コンピュータプログラムをコンピュータに実行されることで実現する。このコンピュータプログラムは、コンピュータで読み取り可能な記憶媒体に記録されてもよい。記録媒体は特に限定されず、様々に形態のものが考えられる。また、プログラムは、記録媒体からコンピュータのメモリにロードされてもよいし、ネットワークを通じてコンピュータにダウンロードされ、メモリにロードされてもよい。
【０１５５】
図１０は、本実施形態の性能計測用仮想サーバ３００の構成を示す機能ブロック図である。
具体的には、図１０に示すように、本実施形態の性能計測用仮想サーバ３００は、図３の上記実施形態の性能計測用仮想サーバ１００の構成に加え、さらに、空資源調整部１２９を備える。図では、性能計測用仮想サーバＶＭ５１について示しているが、他の性能計測用仮想サーバＶＭ５ａも同様の構成となる。
【０１５６】
空資源調整部１２９は、負荷発生部１０７が、順位付け部（依存関係分析部１１３）により順位付けされた順に複数のリソースから計測対象リソースを選択して、順次負荷を発生させながら、情報受信部１０３が取得した各リソースのリソース使用量に基づいて、今回の計測対象リソース以外の前回までに負荷発生部１０７が負荷をかけたリソースのリソース使用量で、かつ、負荷発生部１０７が今回負荷をかけた計測対象リソースのリソース使用量を、予め設定された目標となる物理サーバの空キャパシティに相当するリソース使用量から取り除いたリソース使用量、となるように処理能力指標を調整する。さらに、空資源調整部１２９は、負荷判定部１０５により許容範囲内に入っていると判定されたとき、情報受信部１０３が取得したリソース使用量から物理サーバの空キャパシティに相当するリソース使用量に対応する処理能力指標を見積もる。
【０１５７】
上述した性能計測用仮想サーバ３００の各ユニットの機能は、コンピュータプログラムをコンピュータに実行されることで実現する。
本実施形態のコンピュータプログラムは、性能計測用仮想サーバ３００を実現させるためのコンピュータに、上記実施形態の手順に加え、検証対象となる移動先サーバ２００上に性能計測用仮想サーバ３００を稼働させる手順と、負荷を発生する手順において、順位付けする手順により順位付けされた順に複数のリソースから計測対象リソースを選択して、順次負荷を発生させながら、取得する手順で取得した各リソースのリソース使用量に基づいて、今回の計測対象リソース以外の前回までに負荷を発生する手順で負荷をかけたリソースのリソース使用量で、かつ、負荷を発生する手順で今回負荷をかけた計測対象リソースのリソース使用量を、予め設定された目標となる移動先サーバ２００の空キャパシティに相当するリソース使用量から取り除いたリソース使用量、となるように処理能力指標を調整する手順と、調整する手順により調整された処理能力指標に基づいて、負荷を発生する手順において、順位付けする手順により順位付けされた順に複数のリソースから計測対象リソースを選択して、順次負荷を発生させながら、取得する手順で取得したリソース使用量から移動先サーバ２００の空キャパシティに相当するリソース使用量の絶対値が許容範囲内に入っているか否かを判定する手順と、判定する手順により許容範囲内に入っていると判定されたとき、取得する手順で取得したリソース使用量から移動先サーバ２００の空キャパシティに相当するリソース使用量に対応する処理能力指標を見積もる手順と、を実行させるように記述されている。以下、このプログラムを性能計測プログラムと呼ぶ。
【０１５８】
本実施形態のコンピュータプログラムは、コンピュータで読み取り可能な記憶媒体に記録されてもよい。記録媒体は特に限定されず、様々に形態のものが考えられる。また、プログラムは、記録媒体からコンピュータのメモリにロードされてもよいし、ネットワークを通じてコンピュータにダウンロードされ、メモリにロードされてもよい。
【０１５９】
上述のような構成において、本実施の形態の制御装置のデータ処理方法を以下に説明する。図１１および図１２は、本実施形態の情報処理システム２の動作の一例を示すフローチャートである。
【０１６０】
本実施形態の制御装置（性能計測用仮想サーバ３００）のデータ処理方法は、上記実施形態の制御装置のデータ処理方法において、検証対象となる移動先サーバ２００上に性能計測用仮想サーバ３００を稼働させることで制御装置を実現し、順位付けされた順に複数のリソースから計測対象リソースを選択して、順次負荷を発生させながら（図１２のステップＳ３０３）、取得した各リソースのリソース使用量に基づいて、今回の計測対象リソース以外の前回までに負荷をかけたリソースのリソース使用量で、かつ、今回負荷をかけた計測対象リソースのリソース使用量を、予め設定された目標となる物理サーバの空キャパシティに相当するリソース使用量から取り除いたリソース使用量、となるように処理能力指標を調整し（図１２のステップＳ７０１）、調整された処理能力指標に基づいて、順位付けされた順に複数のリソースから計測対象リソースを選択して（図１２のステップＳ３１７）、順次負荷を発生させながら（図１２のステップＳ３０９）、取得したリソース使用量から物理サーバの空キャパシティに相当するリソース使用量の絶対値が許容範囲内に入っているか否かを判定し（図１２のステップＳ７０３〜ステップＳ７０７）、許容範囲内に入っていると判定されたとき（図１２のステップＳ７０７のＹＥＳ）、取得したリソース使用量から移動先サーバ２００の空キャパシティに相当するリソース使用量に対応する処理能力指標を見積もる（図１２のステップＳ７０９）。すなわち、負荷発生部１０７（図１０）が、基準となる処理能力指標から空きリソース分の処理能力指標となるように処理能力指標を調整する。
【０１６１】
このように構成された本実施形態の情報処理システム２の動作について、以下に説明する。以下、図９乃至図１２を用いて説明する。
以後の説明では、移動先サーバ２００には性能計測用仮想サーバ３００は１台として、複数の業務用仮想サーバ２１６（ＶＭ４１〜ＶＭ４ｋ）が存在する状態とする。移動先サーバ２００の空資源取得を行うものとする。前提として、管理サーバ８において、仮想サーバイメージ記憶部２９には性能計測用仮想サーバ３００および業務用仮想サーバ２１６の２種類の仮想サーバイメージが登録されている。また、あらかじめ仮想サーバ起動部２４は、プールサーバ５上に性能計測用仮想サーバ３００を起動している。ここで性能計測用仮想サーバ３００（ＶＭ５１〜ＶＭ５ａ）のように複数起動してもよい。
【０１６２】
移動先サーバ２００には、複数の業務用仮想サーバ２１６（ＶＭ４１〜ＶＭ４ｋ）を起動している。クライアント処理もしくはジョブをスケジュール化された処理により、負荷を発生し、移動先サーバ２００のリソースを消費しているものとする。ここで、業務用仮想サーバ２１６（ＶＭ４１〜ＶＭ４ｋ、ＶＭ６１〜ＶＭ６ｋ、・・・、ＶＭ７１〜ＶＭ７ｋ）のように複数起動してもよい。また、ここで、運用者は空資源取得指示を、操作部（不図示）を利用して実施するものとし、性能情報取得指示部２１が指示を受け付ける。また、各リソース使用量の最大キャパシティ自体は一般的なベンチマーク結果等の結果より判明していることとする。
【０１６３】
まず、管理サーバ８（図９）において、性能情報取得指示部２１（図９）が、運用者からの空資源取得指示を受け付けると、性能情報取得指示部２１（図９）が空資源取得指示部２３（図９）に対して空資源取得指示を行う（図１１のステップＳ６０１）。
【０１６４】
この空資源取得指示に呼応して、空資源取得指示部２３（図９）が、仮想サーバ移動部２５（図９）に対して、プールサーバ５上の性能計測用仮想サーバ３００（図９）を利用者が指定した移動先サーバ２００（図９）に移動させるように指示する。なお、利用者が指定しなかった移動先サーバ２００に対して計測は行わない。指示に従い、性能計測用仮想サーバ３００（図９）がプールサーバ５（図９）から移動先サーバ２００（図９）に移動される（図１１のステップＳ１０３）。
【０１６５】
そして、空資源取得指示部２３（図９）が、性能計測用仮想サーバ３００（図９）に対して、情報送信部２６（図９）を利用して性能情報計測指示を出す（図９のステップＳ１０７）。なお、性能計測用仮想サーバ３００（図９）における性能計測処理の詳細については、後述する。
【０１６６】
性能計測用仮想サーバ３００（図９）における性能計測処理（図１１のステップＳ６０３）が終了すると、管理サーバ８では、それぞれの移動先サーバ２００（図９）上の性能計測用仮想サーバ３００（図９）から情報受信部２７（図９）によって処理能力指標の受信を行う。そして、計測対象となるすべての移動先サーバ２００で計測した処理能力指標を受信し、性能情報記憶部２０（図９）に記憶する（図１１のステップＳ１１１）。
【０１６７】
情報比較部２８（図９）が、性能情報記憶部２０（図９）にある移動先サーバ２００（図９）で計測した処理能力指標を取得する。そして、情報比較部２８は、さらに複数の移動先サーバ２００（ＳＶ３１〜ＳＶ３ｂ）（図９）に対して計測処理を行った場合には、移動先サーバ２００毎に処理能力指標の大きさを比較できるように表示部（不図示）などに提示する（図１１のステップＳ６０５）。これにより、運用者は、移動先サーバ２００（ＳＶ３１〜ＳＶ３ｂ）にそれぞれリソースの空きがあるかを、処理能力指標の大きさで判断することが可能となる。
【０１６８】
本実施形態において、管理サーバ８は、複数の移動先候補となる移動先サーバ２００上で、性能計測用仮想サーバ３００を順次稼働させて、検証対象の移動先サーバ２００として、見積部（負荷調整部１１１）により得られた処理能力指標に基づいて、移動先サーバ２００を選択する選択部（不図示）を備えることができる。上記実施形態と同様な提示部により表示部（不図示）に提示された処理能力指標を参照して、運用者は操作部（不図示）を利用して移動先サーバ２００を選択する指示を行うことができる。あるいは、処理能力指標に条件を設け、条件を満たす移動先候補を、移動先サーバ２００として自動的に選択する構成としてもよい。
【０１６９】
以下、本実施形態の性能計測用仮想サーバ３００における性能計測処理について説明する。本実施形態の性能計測用仮想サーバ３００における性能計測処理は、はじめに上記実施形態の性能計測用仮想サーバ１００（図３）と同様な図５の依存関係分析処理を開始する。図５のステップＳ２０１〜ステップＳ２１３、およびステップＳ２２１を実行し、リソース間の依存関係の分析を行う。終了したら、上記依存関係分析処理で得られた依存関係に基づいて、図１２の負荷見積処理が開始される。図１２は、本実施形態の性能計測用仮想サーバ３００における性能計測処理の負荷見積処理の手順の一例を示すフローチャートである。上述したように、本実施形態の性能計測プログラムをコンピュータが以下に示す手順を実行することで、本実施形態の性能計測用仮想サーバ３００の機能が実現されることとなる。以下、図１０および図１２を用いて説明する。
【０１７０】
図１２の負荷見積もり処理は、図６と同様なステップＳ３０１〜ステップＳ３０５、ステップＳ３０９、ステップＳ３１７、およびステップＳ３１９を有し、さらに、ステップＳ７０１〜ステップＳ７１１、およびステップＳ７２１を有する。
【０１７１】
まず、計測指示部１１５（図１０）が、負荷発生部１０７（図１０）に対して依存情報記憶部１２７（図１０）に記憶された依存度数の数値順（降順）で負荷をかけるように負荷発生指示を行う（図１２のステップＳ３０１）。この理由は依存度数の大きいリソースから順番に負荷をかけていくと、依存度数の小さい別のリソースの負荷をかけた時に、それまでに依存した負荷を吸収しながら目標の負荷を発生することができるためである。昇順にすると、後々目標の負荷を超過してしまうからである。なお、発生させる負荷の強さを処理能力指標と定義し、図１４のように一定期間内に負荷発生と休みを交互に繰り返す方式とし、出力されるリソース使用量を調整できる。
【０１７２】
そして、負荷発生部１０７（図１０）が、図１３の設定情報１３０で指定されている各リソースフラグを参照し、計測を実施するリソースにて、負荷を発生させる（図１２のステップＳ３０３）。初回の場合は設定情報１３０に設定されている初回処理能力指標を元にリソースの負荷を発生する。また、２回目以降は後述の処理で更新した処理能力指標を元にリソースの負荷を発生する。計測を実施しないリソースに対しては何も行わない。ここでは、負荷発生部１０７に対して処理能力指標を入力すると、性能計測用仮想サーバ１００の負荷を発生する。
【０１７３】
ここで、図１２のステップＳ３０３において、図１３に示される設定情報１３０のように、負荷発生部１０７がマルチプロセッサ情報からそのコア数に応じたプロセス数を起動し、複数のプロセスが同時に負荷を発生させることができる。すなわち、負荷発生部１０７は、負荷の発生のプロセスまたはスレッドを、複数プロセスまたはスレッドとして実行する。そして、見積部（負荷調整部１１１）は、マルチプロセッサの環境下における仮想サーバの処理能力指標を見積もることができる。
【０１７４】
マルチプロセッサの場合、ＣＰＵリソースに関して、性能計測用プログラムを実行する場合、１ＣＰＵ当り１プロセスが割り当てられる。そのため、２つのＣＰＵ上で計測した場合、各サーバ（移動元サーバ７または移動先サーバ９）ではＣＰＵ自体が最大５０％までしか使用されない。計測対象のサーバ（負荷調整フェーズでは移動元サーバ７、負荷再現フェーズでは移動先サーバ９）の環境内にマルチＣＰＵのサーバが存在する場合、この処理を考慮することにより、ＣＰＵリソースを最大限使用することが可能となる。その結果、シングルまたはマルチの場合でも同じように処理能力指標で比較することが可能になる。
【０１７５】
ここで、リソースはＣＰＵ、メモリ、ＮＷ、ＨＤＤが該当し、リソース使用量あるいは使用率として算出されたものとする。使用率は一定期間内の物理サーバ、仮想サーバのリソース使用量から分かる。たとえばＮＷは一定期間に秒間当りのＮＷの入出力とスリープの処理を交互に入れることでＣＰＵと同じく発生する負荷を制御することができる。ＨＤＤは一定期間に秒間当りの読み書きとスリープの処理を入れることでＣＰＵと同じく発生する負荷を制御することができる。リソースはこれらに限定せずこれ以外に依存するリソースもあれば計測対象とする。
【０１７６】
図１２のステップＳ３０３〜ステップＳ３１７と並行して、情報受信部１０３（図１０）が、移動先サーバ２００（図９）上の管理エージェント２１０（図９）の負荷情報通知部２１４（図９）から定期的にリソース使用量を、通信網３（図９）を介して受信し、負荷情報記憶部１１７（図１０）に記憶する。移動先サーバ２００（図９）では、管理エージェント２１０（図９）の負荷情報収集部２１２（図９）が、移動先サーバ２００（図９）、移動先サーバ２００上で稼働している各性能計測用仮想サーバ３００（図９）、および業務用仮想サーバ２１６（図９）のリソース使用量を取得したものを性能計測用仮想サーバ３００（図１０）の情報受信部１０３（図１０）に対して通信網３（図９）を介して定期的に送信するものとする（図１２のステップＳ７２１）。
【０１７７】
そして、負荷判定部１０５（図１０）が、計測対象のリソースの負荷が安定したか否かを判定する（図１２のステップＳ３０４）。たとえば、まず、負荷判定部１０５（図１０）が、負荷情報記憶部１１７（図１０）の計測対象のリソースのリソース使用量（図１２のステップＳ７２１で定期的に更新される）が更新されたことを確認する。更新されていなければ、図１２のステップＳ３０３へ戻る。更新されたリソース使用量が存在し、かつ、図１３の設定情報１３０で設定されている読み飛ばし回数だけ読み飛ばしたら、負荷が安定したと判断して（図１２のステップＳ３０４のＹＥＳ）、負荷判定部１０５（図１０）が、更新されたリソース使用量を採用する。回数に達しない場合はまだ安定していないと判断し（図１２のステップＳ３０４のＮＯ）、図１２のステップＳ３０３に戻る。
【０１７８】
負荷判定部１０５（図１０）が、性能計測用仮想サーバ３００の最新とその前のリソース使用量を比較し、図１３の設定情報１３０の初回調整振れ幅の範囲内に入っているかどうかを判定し、範囲に入っている場合、図１３の設定情報１３０の継続回数分行えたか判定を行う（図１２のステップＳ３０５）。条件を満たしていない場合（図１２のステップＳ３０５のＮＯ）、図１２のステップＳ３０３に戻る。
【０１７９】
条件を満たしている場合（図１２のステップＳ３０５のＹＥＳ）、負荷調整部１１１（図１０）が、初回の場合は、図１３の設定情報１３０の初回処理能力指標を元にし、２回目以降は更新した処理能力指標と性能計測用仮想サーバ３００のリソース使用量を対応付ける。ここでは、図１３の設定情報１３０の基準になるリソース使用量となるように処理能力指標を調整する。以下の式（４）を利用する（図１２のステップＳ７０１）。
【０１８０】
式（４）は、上述した本実施形態の負荷調整または再現フェーズにおいて、利用する数式を定義したものである。
初回の処理能力指標（ＮＵＭ＿ＦＳＴ）で出力した性能計測用仮想サーバ３００の負荷情報（Ｐ＿ＡＶＭ）から基準になるリソース使用量（Ｐ＿ＢＳＥ）となるように、基準になる処理能力指標（ＮＵＭ＿ＢＳＥ）となるように調整したものを定義したものである。
NUM_BSE＝NUM_FST×（P_BSE／P_AVM）    ・・・式（４）
【０１８１】
負荷発生部１０７（図１０）が、処理能力指標を元に性能計測用仮想サーバ３００のリソースの負荷を発生させる（図１２のステップＳ３０９）。このとき、負荷発生部１０７に対して処理能力指標を入力すると、性能計測用仮想サーバ１００の負荷を発生する。
そして、負荷判定部１０５（図１０）が、負荷情報記憶部１１７（図１０）のリソース使用量が更新されたことを認知して、かつ、図１３の設定情報１３０の継続回数だけ計測を実施した場合（図１２のステップＳ７０３のＹＥＳ）、リソース使用量を採用する。更新されたリソース使用量が負荷情報記憶部１１７に存在しない、または継続回数に達しない場合は（図６のステップＳ７０３のＮＯ）、図１２のステップＳ７０１に戻る。
【０１８２】
負荷判定部１０５（図１０）が、基準になるリソース使用量にするために処理能力指標を調整した回数、つまり図１３の設定情報１３０に設定されている最大調整回数を満たすかどうか判定する（図１２のステップＳ７０５）。最大調整回数を満たしていれば（図１２のステップＳ７０５のＹＥＳ）、エラー内容を結果に含めて管理サーバ８（図９）に対して通信網３（図１）を介して送信し、図１１のステップＳ１１１に戻る（図１２のステップＳ３１９）。
【０１８３】
そして、図１２のステップＳ７０５の判定がＮＯの場合、負荷判定部１０５（図１０）が、処理能力指標と、性能計測用仮想サーバ３００のリソース使用量を対応付け、図１３の設定情報１３０に設定されている基準になるリソース使用量の許容範囲内に入っているかどうかを判定する（図１２のステップＳ７０７）。条件を満たしていれば（図１２のステップＳ７０７のＹＥＳ）、次の図１２のステップＳ７０９に進む。条件を満たしていなければ（図１２のステップＳ７０７のＮＯ）、図１２のステップＳ７０１に戻る。
【０１８４】
中間情報記憶部１２５（図１０）の計測対象データのリソース使用量を参照し、空となるリソース使用量から計測対象の依存リソース使用量を差し引いた分のリソース使用量分の負荷を発生する処理能力指標を基準となる処理能力指標から以下の式（５）を利用して見積もる。参照して計測対象データのリソース使用量が存在しなければ、中間情報記憶部１２５のリソース使用量は利用しない。
【０１８５】
以下の式（５）は、上述した本実施形態の負荷調整または再現フェーズにおいて、利用する数式を定義したものである。
基準になる処理能力指標を用いて負荷を出力後、ホストのリソース使用量（Ｐ＿ＳＶ）、性能計測仮想サーバ以外の仮想サーバのリソース使用量（ΣＰ＿ＶＭ＊）、Ｐ＿ＳＶ、Ｐ＿ＶＭを含めたサーバ全体のリソース使用量（Ｐ＿ＡＬＬ）から現時点の性能計測仮想サーバのリソース使用量（Ｐ＿ＡＶＭ）を引いたものが空きキャパシティ分のリソース使用量（Ｐ＿ＣＡＰ）であることを以下の式（５）で定義する。ここで、＊アスタリスクは、関連する全てのサーバを意味する。
P_CAP＝P_ALL−｛（P_SV＋ΣP_VM＊）−P_AVM｝    ・・・式（５）
【０１８６】
図１７に、図１５に示した依存度数の高い順（ＨＤＤＩ／Ｏ＞ＮＷＩ／Ｏ＞ＣＰＵ＝メモリ）とした負荷の依存特性から各リソース負荷の見積もり方法を示した一例を示す。目標負荷は業務用仮想サーバ２１６（図１０）の負荷を除いた移動先サーバ２００の空リソースを使いきった場合のリソース使用量である。なお、図１７では、ＨＤＤＩ／Ｏによって発生する負荷は、太い破線で囲まれた部分であり、ＮＷＩ／Ｏによって発生する負荷は、太い一点鎖線で囲まれた部分であることを示している。
【０１８７】
図１７（ａ）に示すように、ＨＤＤＩ／Ｏの負荷を発生させた場合には特に依存関係は存在しないが、目標の負荷から業務用仮想サーバが利用している部分（Ｌ１）のリソース使用量を差し引いた部分（Ｌ２）のリソース使用量に相当する処理能力指標を見積もる。
ここで、ＨＤＤＩ／Ｏ＿Ｍを物理サーバ上の最大キャパシティ分のＨＤＤＩ／Ｏ使用量（Ｌ１＋Ｌ２）とし、ＨＤＤＩ／Ｏ＿ＶＭを業務用仮想サーバによって発生するＨＤＤＩ／Ｏ使用量（Ｌ１）とすると、物理サーバ上の空キャパシティ分のＨＤＤＩ／Ｏ使用量（Ｌ２）のＨＤＤＩ／Ｏ＿Ｅは、以下の式（６）で示される。
HDDI/O_E＝HDDI/O_M−HDDI/O_VM    ・・・式（６）
【０１８８】
図１７（ｂ）に示すように、ＮＷＩ／Ｏの負荷を見積もる場合にはＨＤＤＩ／Ｏの負荷を発生させた場合にＮＷＩ／Ｏでも負荷（Ｌ４）が発生する。そのため、目標の負荷から、（Ｌ４）の部分と、業務用仮想サーバが利用している部分（Ｌ３）のリソース使用量と差し引いた部分（Ｌ５）のリソース使用量に相当する処理能力指標を見積もる。
【０１８９】
ここで、ＮＷＩ／Ｏ＿Ｍを物理サーバ上の最大キャパシティ分のＮＷＩ／Ｏ使用量（Ｌ３＋Ｌ４＋Ｌ５）とし、ＮＷＩ／Ｏ＿ＨＤＤＩ／ＯをＨＤＤＩ／Ｏの負荷にて発生するＮＷＩ／Ｏ使用量（Ｌ４）とし、ＮＷＩ／Ｏ＿ＶＭを業務用仮想サーバによって発生するＮＷＩ／Ｏ使用量（Ｌ３）とする。このとき、物理サーバ上の空キャパシティ分のＮＷＩ／Ｏ使用量（Ｌ５）のＮＷＩ／Ｏ＿Ｅは、以下の式（７）で示される。
NWI/O_E＝NWI/O_M−｛NWI/O_HDDI/O＋NWI/O_VM｝    ・・・式（７）
【０１９０】
図１７（ｃ）に示すように、ＣＰＵの負荷を見積もる場合にはＨＤＤＩ／Ｏの負荷を発生させた場合のＣＰＵ負荷（Ｌ９）及び、ＮＷＩ／Ｏの負荷を発生させた場合のＣＰＵ負荷（Ｌ８）が発生する。したがって、目標の負荷から、（Ｌ９）と（Ｌ８）の部分と、業務用仮想サーバが利用している部分（Ｌ７）のリソース使用量と差し引いた部分（Ｌ１０）のリソース使用量に相当する処理能力指標を見積もる。
【０１９１】
ここで、ＣＰＵ＿Ｍを物理サーバ上の最大キャパシティ分のＣＰＵ使用量（Ｌ７＋Ｌ８＋Ｌ９＋Ｌ１０）とし、ＣＰＵ＿ＨＤＤＩ／ＯをＨＤＤＩ／Ｏの負荷にて発生するＣＰＵ使用量（Ｌ９）とし、ＣＰＵ＿ＮＷＩ／ＯをＮＷＩ／Ｏの負荷にて発生するＣＰＵ使用量（Ｌ８）とし、ＣＰＵ＿ＶＭを業務用仮想サーバによって発生するＣＰＵ使用量（Ｌ７）とする。このとき、物理サーバ上の空キャパシティ分のＣＰＵ使用量（Ｌ１０）のＣＰＵ＿Ｅは、以下の式（８）で示される。
CPU_E＝CPU_M−｛CPU_NWI/O＋CPU_HDDI/O＋CPU_VM｝    ・・・式（８）
以上より、目標のリソース使用量に対する処理能力指標を見積もることができる（図１２のステップＳ７０９）。
【０１９２】
負荷調整部１１１（図１０）が、計測対象の処理能力指標を性能情報記憶部１１９（図１０）に記憶し、その時点の計測対象以外のリソース使用量を中間情報記憶部１２５（図１０）に記憶する。まだ負荷を発生していない計測対象のリソースがある場合には（図１２のステップＳ３１７のＹＥＳ）、図１２のステップＳ３０３に戻り、対象の計測を停止して、別のリソースを計測対象とする。まだ負荷を発生していない計測対象のリソースがなければ（図１２のステップＳ３１７のＮＯ）、次の図１２のステップＳ７１１に進む。このとき、図１２のステップＳ７２１におけるリソース使用量の受信処理も停止し、図１２のステップＳ７１１に進む。
【０１９３】
空資源調整部１２９が、上述したように空きキャパシティ分に相当するリソース使用量を算出し、それに対応した空きキャパシティ分に相当する処理能力指標を見積もり、性能情報記憶部１１９（図１０）に記憶する（図１２のステップＳ７１１）。
そして、情報送信部１０１を使用して管理サーバ８に対して性能情報記憶部１１９（図１０）に記憶した処理能力指標を結果送信する（図１２のステップＳ３１９）。
以上で、性能計測用仮想サーバ３００における負荷見積り処理が終了し、図１１のステップＳ１１１に戻る。
【０１９４】
以上説明したように、本実施形態の情報処理システム２によれば、上記実施形態の情報処理システム１と同様な効果を奏するとともに、計測対象サーバ上にて、あるリソースに負荷をかけた際にＩ／Ｏ処理等で別のリソースに負荷がかかる依存分析を行う（これらを依存負荷と定義する）。この結果を利用して目標負荷から依存負荷を引いたリソース使用量分の負荷を見積もり、さらに計測プログラムでこの差し引いたリソース使用量分の負荷を発生できる処理能力指標となるように調整することで、目標に近い精度で空きキャパシティ分に相当するリソース使用量を見積もることが可能になる。このようにリソース間の依存関係を分析することで、目標のリソース使用量に近い負荷を見積もることが可能になり、見積もり負荷の精度が向上する。
【０１９５】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【０１９６】
たとえば、以下の式（９）は、本発明で負荷調整及び再現手段に利用する数式を定義したものである。
現時点の性能計測用仮想サーバの処理能力指標（ＮＵＭ＿ＢＳＥ）、リソース使用量（Ｐ＿ＡＶＭ）、空きキャパシティ分のリソース使用量（Ｐ＿ＣＡＰ）、各計測対称の依存リソース使用量（Ｐ＿ＤＥＰ）から空きキャパシティ分の処理能力指標（ＮＵＭ＿ＣＡＰ）を以下の式（９）で定義する。
NUM_CAP＝NUM_BSE×（（P_CAP−ΣP_DEP）／P_AVM）    ・・・式（９）
【０１９７】
特許文献１に記載の物理マシン上では発生しない仮想マシンが利用するＮＷＩ／Ｏ、ＨＤＤＩ／ＯのＩ／Ｏオーバーヘッド特性を調べる。このオーバーヘッドを物理マシンが利用するアプリケーションのＣＰＵ使用率に上乗せしてサーバ統合後の仮想マシンのＣＰＵ使用率を見積もっている。Ｉ／Ｏ分の負荷を利用しているが、用途と見積もり方式が違うため本特許提案と内容が異なる。
【０１９８】
また、上記実施形態の性能計測用仮想サーバ１００において、図５のステップＳ２０５では、負荷発生部１０７が、リソース自体をＣＰＵ、メモリ、ＮＷＩ／Ｏ、ＨＤＤＩ／Ｏと想定しているが、それ以外にも他に依存関係にあるリソースを観測可能である。さらにそれらのリソースの負荷の調整が可能であるならば、上記に挙げたリソースに限らず、そのリソースの個数分だけ、繰り返せばよい。そして、性能計測用仮想サーバ１００が、リソース間の依存分析を行い、処理能力指標を調整し、負荷を発生させ、目標となる負荷の処理能力指標を見積もることができる。
この構成によれば、様々なリソースについて、本発明を適用できることとなる。
【０１９９】
また、上記実施形態の性能計測用仮想サーバ１００において、図６のステップＳ３０３では、負荷発生部１０７が、リソース自体をＣＰＵ、メモリ、ＮＷＩ／Ｏ、ＨＤＤＩ／Ｏと想定しているが、それ以外にも他に依存関係にあるリソースを観測可能である。さらにそれらのリソースの負荷の調整が可能であるならば、上記に挙げたリソースに限らず、そのリソースの個数分だけ、繰り返せばよい。そして、性能計測用仮想サーバ１００が、リソース間の依存分析を行い、処理能力指標を調整し、負荷を発生させ、目標となる負荷の処理能力指標を見積もることができる。
この構成によれば、様々なリソースについて、本発明を適用できることとなる。
【０２００】
たとえば、上記実施形態の性能計測用仮想サーバ３００において、図１２のステップＳ３０３では、負荷発生部１０７が、リソース自体をＣＰＵ、メモリ、ＮＷＩ／Ｏ、ＨＤＤＩ／Ｏと想定しているが、それ以外にも他に依存関係にあるリソースを観測可能である。さらにそれらのリソースの負荷の調整が可能であるならば、上記に挙げたリソースに限らず、そのリソースの個数分だけ、繰り返せばよい。そして、性能計測用仮想サーバ３００が、リソース間の依存分析を行い、処理能力指標を調整し、負荷を発生させ、目標となる負荷の処理能力指標を見積もることができる。
この構成によれば、様々なリソースについて、本発明を適用できることとなる。
【０２０１】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０２０２】
この出願は、２０１０年２月２６日に出願された日本出願特願２０１０−０４１４７６号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2011105091.tif 000003
【図２】
2011105091.tif 000004
【図３】
2011105091.tif 000005
【図４】
2011105091.tif 000006
【図５】
2011105091.tif 000007
【図６】
2011105091.tif 000008
【図７】
2011105091.tif 000009
【図８】
2011105091.tif 000010
【図９】
2011105091.tif 000011
【図１０】
2011105091.tif 000012
【図１１】
2011105091.tif 000013
【図１２】
2011105091.tif 000014
【図１３】
2011105091.tif 000015
【図１４】
2011105091.tif 000016
【図１５】
2011105091.tif 000017
【図１６】
2011105091.tif 000018
【図１７】
2011105091.tif 000019
【図１８】
2011105091.tif 000020
【手続補正書】
【提出日】平成24年8月23日(2012.8.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
物理サーバおよび前記物理サーバ上で稼働する仮想サーバの複数のリソースのリソース使用量を取得する取得手段と、
計測対象リソースに負荷を発生させる負荷発生手段と、
前記計測対象リソースに前記負荷をかけることで、前記計測対象リソースが依存しているリソースを求め、前記計測対象リソースが依存している前記リソースの数に基づいて、前記計測対象リソースの依存度数を算出する依存度数算出手段と、
複数の前記リソースについて前記計測対象リソースとしてそれぞれ算出された前記依存度数が大きい順に前記リソースに順位付けする順位付け手段と、
前記順位付け手段により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択し、前記負荷発生手段により順次負荷を発生させながら、前記計測対象リソースのリソース使用量の処理能力指標を調整する調整手段と、
を備える制御装置。
【請求項２】
請求項１に記載の制御装置において、
前記負荷発生手段により前記負荷をかけている間に前記取得手段が取得した前記リソース使用量に基づいて、前記計測対象リソース以外のリソースの前記リソース使用量に増減があるかどうかを検出する検出手段と、
前記検出手段により前記計測対象リソース以外のリソースの前記リソース使用量に増減が検出された場合、当該リソースは前記計測対象リソースが依存しているリソースであると判別する判別手段と、を備え、
前記依存度数算出手段は、前記判別手段により前記計測対象リソースが依存していると判別された前記リソースの数を計数して前記依存度数を算出する制御装置。
【請求項３】
請求項１または２に記載の制御装置において、
前記物理サーバ上で稼働する少なくとも１つの仮想サーバの代わりに、前記制御装置の前記各手段を実現させるための性能計測用仮想サーバを移動元となる前記物理サーバ上で稼働させ、
前記負荷発生手段が、前記移動元となる前記物理サーバ上で稼働する少なくとも１つの前記仮想サーバの代わりに、前記物理サーバ上で前記負荷を発生させ、
前記取得手段が、前記物理サーバと、前記物理サーバ上で稼働させた前記性能計測用仮想サーバの複数の前記リソースの前記リソース使用量を定期的に取得し、
前記調整手段が、前記処理能力指標を調整する制御装置。
【請求項４】
請求項３に記載の制御装置において、
前記調整手段が、前記取得手段が取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに前記負荷発生手段が負荷をかけた他のリソースの前記リソース使用量に対応する、前記負荷発生手段が今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる仮想サーバの前記計測対象リソースの前記リソース使用量から取り除いたリソース使用量が今回の計測対象リソースのリソース使用量、となるように前記処理能力指標を調整し、
さらに、前記制御装置は、
前記負荷発生手段が、前記調整手段により調整された前記処理能力指標に基づいて、前記順位付け手段により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記取得手段が取得した前記リソース使用量が、前記目標となるリソース使用量の許容範囲内に入っているか否かを判定する判定手段と、
前記判定手段により前記許容範囲内に入っていると判定されたとき、前記取得手段が取得した前記リソース使用量から前記目標となるリソース使用量に対応する処理能力指標を見積もる見積手段と、を備える制御装置。
【請求項５】
請求項３に記載の制御装置において、
検証対象となる物理サーバ上に前記性能計測用仮想サーバを稼働させ、
前記負荷発生手段が、前記順位付け手段により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、
前記調整手段が、前記取得手段が取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに前記負荷発生手段が負荷をかけた他のリソースの前記リソース使用量に対応する、前記負荷発生手段が今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる物理サーバの空キャパシティに相当するリソース使用量から取り除いたリソース使用量が今回の計測対象リソースのリソース使用量、となるように前記処理能力指標を調整し、
さらに、前記制御装置は、
前記調整手段により調整された前記処理能力指標に基づいて、前記負荷発生手段が、前記順位付け手段により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記取得手段が取得した前記リソース使用量が、前記物理サーバの前記空キャパシティに相当する前記リソース使用量の許容範囲内に入っているか否かを判定する判定手段と、
前記判定手段により前記許容範囲内に入っていると判定されたとき、前記取得手段が取得した前記リソース使用量から前記物理サーバの前記空キャパシティに相当する前記リソース使用量に対応する処理能力指標を見積もる見積手段と、を備える制御装置。
【請求項６】
請求項４または５に記載の制御装置において、
前記負荷発生手段は、前記負荷の発生のプロセスまたはスレッドを、複数プロセスまたはスレッドとして実行し、
前記見積手段は、マルチプロセッサの環境下における前記仮想サーバの前記処理能力指標を見積もる制御装置。
【請求項７】
請求項４乃至６いずれかに記載の制御装置において、
前記リソースは、ＣＰＵ（Central Processing Unit）、メモリ、ネットワークＩ／Ｏ（Input/Output）、およびハードディスクドライブＩ／Ｏを含む制御装置。
【請求項８】
請求項７に記載の制御装置において、
前記リソース以外で負荷発生時に依存関係にあるリソースを観測可能で、さらに該リソースの負荷の調整が可能であるものに対し、前記性能計測用仮想サーバが、前記リソース間の依存分析を行い、前記処理能力指標を調整し、前記負荷を発生させ、目標となる負荷の処理能力指標を見積もる制御装置。
【請求項９】
請求項４乃至８いずれかに記載の制御装置の前記性能計測用仮想サーバを、複数の移動先候補となる前記物理サーバ上で順次稼働させて、検証対象の物理サーバとして、前記見積手段により得られた前記処理能力指標を提示する提示手段を備える管理装置。
【請求項１０】
請求項９に記載の管理装置において、
複数の前記移動先候補となる前記物理サーバ上で、前記性能計測用仮想サーバを順次稼働させて、前記検証対象の物理サーバとして、請求項４乃至８いずれかに記載の制御装置の見積手段により得られた前記処理能力指標に基づいて、移動先の物理サーバを選択する選択手段を備える管理装置。
【請求項１１】
コンピュータに、
物理サーバおよび前記物理サーバ上で稼働する仮想サーバの複数のリソースのリソース使用量を取得する手順と、
計測対象リソースに負荷を発生させる手順と、
前記計測対象リソースに前記負荷をかけることで、前記計測対象リソースが依存している前記リソースを求め、前記計測対象リソースが依存している前記リソースの数に基づいて、前記計測対象リソースの依存度数を算出する手順と、
複数の前記リソースについて前記計測対象リソースとしてそれぞれ算出された前記依存度数が大きい順に前記リソースに順位付けする手順と、
順位付けされた順に複数の前記リソースから前記計測対象リソースを選択し、順次負荷を発生させながら、前記計測対象リソースのリソース使用量の処理能力指標を調整する手順と、を実行させるプログラム。
【請求項１２】
請求項１１に記載のプログラムにおいて、
前記物理サーバ上で稼働する少なくとも１つの仮想サーバの代わりに、前記プログラムを含む性能計測用仮想サーバを移動元となる前記物理サーバ上で稼働させる手順と、
前記移動元となる前記物理サーバ上で稼働する少なくとも１つの前記仮想サーバの代わりに、前記物理サーバ上で前記負荷を発生させる手順と、
前記物理サーバと、前記物理サーバ上で稼働させた前記性能計測用仮想サーバの複数の前記リソースの前記リソース使用量を定期的に取得する手順と、
前記処理能力指標を調整する手順と、をさらにコンピュータに実行させるプログラム。
【請求項１３】
請求項１２に記載のプログラムにおいて、
前記取得する手順で取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに前記負荷を発生する手順で負荷をかけた他のリソースの前記リソース使用量に対応する、前記負荷を発生する手順で今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる仮想サーバの前記計測対象リソースの前記リソース使用量から取り除いたリソース使用量が今回の計測対象リソースのリソース使用量、となるように前記処理能力指標を調整する手順と、
前記負荷を発生する手順において、前記調整する手順により調整された前記処理能力指標に基づいて、前記順位付けする手順により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記取得する手順で取得した前記リソース使用量が、前記目標となるリソース使用量の許容範囲内に入っているか否かを判定する手順と、
前記判定する手順により前記許容範囲内に入っていると判定されたとき、前記取得する手順で取得した前記リソース使用量から前記目標となるリソース使用量に対応する処理能力指標を見積もる手順と、をさらにコンピュータに実行させるプログラム。
【請求項１４】
請求項１２に記載のプログラムにおいて、
検証対象となる物理サーバ上に前記性能計測用仮想サーバを稼働させる手順と、
前記負荷を発生する手順において、前記順位付けする手順により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記取得する手順で取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに前記負荷を発生する手順で負荷をかけた他のリソースの前記リソース使用量に対応する、前記負荷を発生する手順で今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる物理サーバの空キャパシティに相当するリソース使用量から取り除いたリソース使用量が今回の計測対象リソースのリソース使用量、となるように前記処理能力指標を調整する手順と、
前記調整する手順により調整された前記処理能力指標に基づいて、前記負荷を発生する手順において、前記順位付けする手順により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記取得する手順で取得した前記リソース使用量が、前記物理サーバの前記空キャパシティに相当する前記リソース使用量の許容範囲内に入っているか否かを判定する手順と、
前記判定する手順により前記許容範囲内に入っていると判定されたとき、前記取得する手順で取得した前記リソース使用量から前記物理サーバの前記空キャパシティに相当する前記リソース使用量に対応する処理能力指標を見積もる手順と、をさらにコンピュータに実行させるプログラム。
【請求項１５】
物理サーバおよび前記物理サーバ上で稼働する仮想サーバの複数のリソースの負荷を計測する制御装置のデータ処理方法であって、前記制御装置が、
前記物理サーバおよび前記物理サーバ上で稼働する前記仮想サーバの複数の前記リソースのリソース使用量を取得し、
計測対象リソースに負荷を発生させ、
前記計測対象リソースに前記負荷をかけることで、前記計測対象リソースが依存しているリソースを求め、前記計測対象リソースが依存している前記リソースの数に基づいて、前記計測対象リソースの依存度数を算出し、
複数の前記リソースについて前記計測対象リソースとしてそれぞれ算出された前記依存度数が大きい順に前記リソースに順位付けし、
順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記計測対象リソースのリソース使用量の処理能力指標を調整する制御装置のデータ処理方法。
【請求項１６】
請求項１５に記載の制御装置のデータ処理方法において、
前記物理サーバ上で稼働する少なくとも１つの仮想サーバの代わりに、性能計測用仮想サーバを移動元となる前記物理サーバ上で稼働させることで前記制御装置を実現し、
前記制御装置が、
前記移動元となる前記物理サーバ上で稼働する少なくとも１つの前記仮想サーバの代わりに、前記物理サーバ上で前記負荷を発生させ、
前記物理サーバと、前記物理サーバ上で稼働させた前記性能計測用仮想サーバの複数の前記リソースの前記リソース使用量を定期的に取得し、
前記処理能力指標を調整する制御装置のデータ処理方法。
【請求項１７】
請求項１６に記載の制御装置のデータ処理方法において、
前記制御装置が、
取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに負荷をかけた他のリソースの前記リソース使用量に対応する、今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる仮想サーバの前記計測対象リソースの前記リソース使用量から取り除いたリソース使用量が今回の計測対象リソースのリソース使用量、となるように前記処理能力指標を調整し、
調整された前記処理能力指標に基づいて、順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、
取得した前記リソース使用量が、前記目標となるリソース使用量の許容範囲内に入っているか否かを判定し、
前記許容範囲内に入っていると判定されたとき、取得した前記リソース使用量から前記目標となるリソース使用量に対応する処理能力指標を見積もる制御装置のデータ処理方法。
【請求項１８】
請求項１６に記載の制御装置のデータ処理方法において、
検証対象となる物理サーバ上に前記性能計測用仮想サーバを稼働させることで前記制御装置を実現し、
前記制御装置が、
順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、
取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに負荷をかけた他のリソースの前記リソース使用量に対応する、今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる物理サーバの空キャパシティに相当するリソース使用量から取り除いたリソース使用量が今回の計測対象リソースのリソース使用量、となるように前記処理能力指標を調整し、
調整された前記処理能力指標に基づいて、順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、取得した前記リソース使用量が、前記物理サーバの前記空キャパシティに相当する前記リソース使用量の許容範囲内に入っているか否かを判定し、
前記許容範囲内に入っていると判定されたとき、取得した前記リソース使用量から前記物理サーバの前記空キャパシティに相当する前記リソース使用量に対応する処理能力指標を見積もる制御装置のデータ処理方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５１
【補正方法】変更
【補正の内容】
【００５１】
情報比較部２８は、負荷再現フェーズにて、性能情報記憶部２０にある移動先サーバ９上で消費したリソース使用量を取得する。そして、情報比較部２８は、さらに複数の移動先サーバ９（ＳＶ２１〜ＳＶ２ｍ）でも行った場合に、リソース使用量の大きさを比較できるように表示部（不図示）などに提示する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５８
【補正方法】変更
【補正の内容】
【００５８】
また、本実施形態の制御装置（性能計測用仮想サーバ１００）は、物理サーバ（図１の移動元サーバ７）上で稼働する少なくとも１つの仮想サーバ（図１の業務用仮想サーバ７６）の代わりに、制御装置の各ユニットを実現させるための性能計測用仮想サーバ１００を移動元となる移動元サーバ７（図１）上で稼働させ、負荷発生部１０７が、移動元サーバ７上で稼働する少なくとも１つの業務用仮想サーバ７６の代わりに、移動元サーバ７上で負荷を発生させ、情報受信部１０３が、移動元サーバ７と、移動元サーバ７上で稼働させた性能計測用仮想サーバ１００の複数のリソースのリソース使用量を定期的に取得し、負荷調整部１１１が、処理能力指標を調整する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１５０
【補正方法】変更
【補正の内容】
【０１５０】
業務用仮想サーバ２１６は、ウェブ、メール、バックアップ等の処理を行うアプリケーションを搭載し、それらの処理を行っていることを想定する。プールサーバ５の上で、本実施形態の性能計測用仮想サーバ３００が稼動する。ここで、図９に示す性能計測用仮想サーバ３００（ＶＭ５１、・・・、Ｖ５ａ）のようにプールサーバ５上で複数（ａ個）稼動してもよい。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１８１
【補正方法】変更
【補正の内容】
【０１８１】
負荷発生部１０７（図１０）が、処理能力指標を元に性能計測用仮想サーバ３００のリソースの負荷を発生させる（図１２のステップＳ３０９）。このとき、負荷発生部１０７に対して処理能力指標を入力すると、性能計測用仮想サーバ１００の負荷を発生する。
そして、負荷判定部１０５（図１０）が、負荷情報記憶部１１７（図１０）のリソース使用量が更新されたことを認知して、かつ、図１３の設定情報１３０の継続回数だけ計測を実施した場合（図１２のステップＳ７０３のＹＥＳ）、リソース使用量を採用する。更新されたリソース使用量が負荷情報記憶部１１７に存在しない、または継続回数に達しない場合は（図１２のステップＳ７０３のＮＯ）、図１２のステップＳ７０１に戻る。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０２０２
【補正方法】変更
【補正の内容】
【０２０２】
この出願は、２０１０年２月２６日に出願された日本出願特願２０１０−０４１４７６号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
なお、本発明は以下の態様も含む。
（付記１）
物理サーバおよび前記物理サーバ上で稼働する仮想サーバの複数のリソースのリソース使用量を取得する取得手段と、
計測対象リソースに負荷を発生させる負荷発生手段と、
前記計測対象リソースに前記負荷をかけることで、前記計測対象リソースが依存しているリソースを求め、前記計測対象リソースが依存している前記リソースの数に基づいて、前記計測対象リソースの依存度数を算出する依存度数算出手段と、
複数の前記リソースについて前記計測対象リソースとしてそれぞれ算出された前記依存度数が大きい順に前記リソースに順位付けする順位付け手段と、
前記順位付け手段により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択し、前記負荷発生手段により順次負荷を発生させながら、前記計測対象リソースのリソース使用量の処理能力指標を調整する調整手段と、
を備える制御装置。
（付記２）
付記１に記載の制御装置において、
前記負荷発生手段により前記負荷をかけている間に前記取得手段が取得した前記リソース使用量に基づいて、前記計測対象リソース以外のリソースの前記リソース使用量に増減があるかどうかを検出する検出手段と、
前記検出手段により前記計測対象リソース以外のリソースの前記リソース使用量に増減が検出された場合、当該リソースは前記計測対象リソースが依存しているリソースであると判別する判別手段と、を備え、
前記依存度数算出手段は、前記判別手段により前記計測対象リソースが依存していると判別された前記リソースの数を計数して前記依存度数を算出する制御装置。
（付記３）
付記１または２に記載の制御装置において、
前記物理サーバ上で稼働する少なくとも１つの仮想サーバの代わりに、前記制御装置の前記各手段を実現させるための性能計測用仮想サーバを移動元となる前記物理サーバ上で稼働させ、
前記負荷発生手段が、前記移動元となる前記物理サーバ上で稼働する少なくとも１つの前記仮想サーバの代わりに、前記物理サーバ上で前記負荷を発生させ、
前記取得手段が、前記物理サーバと、前記物理サーバ上で稼働させた前記性能計測用仮想サーバの複数の前記リソースの前記リソース使用量を定期的に取得し、
前記調整手段が、前記処理能力指標を調整する制御装置。
（付記４）
付記３に記載の制御装置において、
前記調整手段が、前記取得手段が取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに前記負荷発生手段が負荷をかけた前記リソースの前記リソース使用量で、かつ、前記負荷発生手段が今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる仮想サーバの前記計測対象リソースの前記リソース使用量から取り除いたリソース使用量、となるように前記処理能力指標を調整し、
さらに、前記制御装置は、
前記負荷発生手段が、前記調整手段により調整された前記処理能力指標に基づいて、前記順位付け手段により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記取得手段が取得した前記リソース使用量から前記目標となるリソース使用量の絶対値が許容範囲内に入っているか否かを判定する判定手段と、
前記判定手段により前記許容範囲内に入っていると判定されたとき、前記取得手段が取得した前記リソース使用量から前記目標となるリソース使用量に対応する処理能力指標を見積もる見積手段と、を備える制御装置。
（付記５）
付記３に記載の制御装置において、
検証対象となる物理サーバ上に前記性能計測用仮想サーバを稼働させ、
前記負荷発生手段が、前記順位付け手段により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、
前記調整手段が、前記取得手段が取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに前記負荷発生手段が負荷をかけた前記リソースの前記リソース使用量で、かつ、前記負荷発生手段が今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる物理サーバの空キャパシティに相当するリソース使用量から取り除いたリソース使用量、となるように前記処理能力指標を調整し、
さらに、前記制御装置は、
前記調整手段により調整された前記処理能力指標に基づいて、前記負荷発生手段が、前記順位付け手段により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記取得手段が取得した前記リソース使用量から前記物理サーバの前記空キャパシティに相当する前記リソース使用量の絶対値が許容範囲内に入っているか否かを判定する判定手段と、
前記判定手段により前記許容範囲内に入っていると判定されたとき、前記取得手段が取得した前記リソース使用量から前記物理サーバの前記空キャパシティに相当する前記リソース使用量に対応する処理能力指標を見積もる見積手段と、を備える制御装置。
（付記６）
付記４または５に記載の制御装置において、
前記負荷発生手段は、前記負荷の発生のプロセスまたはスレッドを、複数プロセスまたはスレッドとして実行し、
前記見積手段は、マルチプロセッサの環境下における前記仮想サーバの前記処理能力指標を見積もる制御装置。
（付記７）
付記４乃至６いずれかに記載の制御装置において、
前記リソースは、ＣＰＵ（Central Processing Unit）、メモリ、ネットワークＩ／Ｏ（Input/Output）、およびハードディスクドライブＩ／Ｏを含む制御装置。
（付記８）
付記７に記載の制御装置において、
前記リソース以外で負荷発生時に依存関係にあるリソースを観測可能で、さらに該リソースの負荷の調整が可能であるものに対し、前記性能計測用仮想サーバが、前記リソース間の依存分析を行い、前記処理能力指標を調整し、前記負荷を発生させ、目標となる負荷の処理能力指標を見積もる制御装置。
（付記９）
付記４乃至８いずれかに記載の制御装置の前記性能計測用仮想サーバを、複数の移動先候補となる前記物理サーバ上で順次稼働させて、検証対象の物理サーバとして、前記見積手段により得られた前記処理能力指標を提示する提示手段を備える管理装置。
（付記１０）
付記９に記載の管理装置において、
複数の前記移動先候補となる前記物理サーバ上で、前記性能計測用仮想サーバを順次稼働させて、前記検証対象の物理サーバとして、前記見積手段により得られた前記処理能力指標に基づいて、移動先の物理サーバを選択する選択手段を備える管理装置。
（付記１１）
コンピュータに、
物理サーバおよび前記物理サーバ上で稼働する仮想サーバの複数のリソースのリソース使用量を取得する手順と、
計測対象リソースに負荷を発生させる手順と、
前記計測対象リソースに前記負荷をかけることで、前記計測対象リソースが依存している前記リソースを求め、前記計測対象リソースが依存している前記リソースの数に基づいて、前記計測対象リソースの依存度数を算出する手順と、
複数の前記リソースについて前記計測対象リソースとしてそれぞれ算出された前記依存度数が大きい順に前記リソースに順位付けする手順と、
順位付けされた順に複数の前記リソースから前記計測対象リソースを選択し、順次負荷を発生させながら、前記計測対象リソースのリソース使用量の処理能力指標を調整する手順と、を実行させるプログラム。
（付記１２）
付記１１に記載のプログラムにおいて、
前記物理サーバ上で稼働する少なくとも１つの仮想サーバの代わりに、前記プログラムを含む性能計測用仮想サーバを移動元となる前記物理サーバ上で稼働させる手順と、
前記移動元となる前記物理サーバ上で稼働する少なくとも１つの前記仮想サーバの代わりに、前記物理サーバ上で前記負荷を発生させる手順と、
前記物理サーバと、前記物理サーバ上で稼働させた前記性能計測用仮想サーバの複数の前記リソースの前記リソース使用量を定期的に取得する手順と、
前記処理能力指標を調整する手順と、をさらにコンピュータに実行させるプログラム。
（付記１３）
付記１２に記載のプログラムにおいて、
前記取得する手順で取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに前記負荷を発生する手順で負荷をかけた前記リソースの前記リソース使用量で、かつ、前記負荷を発生する手順で今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる仮想サーバの前記計測対象リソースの前記リソース使用量から取り除いたリソース使用量、となるように前記処理能力指標を調整する手順と、
前記負荷を発生する手順において、前記調整する手順により調整された前記処理能力指標に基づいて、前記順位付けする手順により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記取得する手順で取得した前記リソース使用量から前記目標となるリソース使用量の絶対値が許容範囲内に入っているか否かを判定する手順と、
前記判定する手順により前記許容範囲内に入っていると判定されたとき、前記取得する手順で取得した前記リソース使用量から前記目標となるリソース使用量に対応する処理能力指標を見積もる手順と、をさらにコンピュータに実行させるプログラム。
（付記１４）
付記１２に記載のプログラムにおいて、
検証対象となる物理サーバ上に前記性能計測用仮想サーバを稼働させる手順と、
前記負荷を発生する手順において、前記順位付けする手順により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記取得する手順で取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに前記負荷を発生する手順で負荷をかけた前記リソースの前記リソース使用量で、かつ、前記負荷を発生する手順で今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる物理サーバの空キャパシティに相当するリソース使用量から取り除いたリソース使用量、となるように前記処理能力指標を調整する手順と、
前記調整する手順により調整された前記処理能力指標に基づいて、前記負荷を発生する手順において、前記順位付けする手順により順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記取得する手順で取得した前記リソース使用量から前記物理サーバの前記空キャパシティに相当する前記リソース使用量の絶対値が許容範囲内に入っているか否かを判定する手順と、
前記判定する手順により前記許容範囲内に入っていると判定されたとき、前記取得する手順で取得した前記リソース使用量から前記物理サーバの前記空キャパシティに相当する前記リソース使用量に対応する処理能力指標を見積もる手順と、をさらにコンピュータに実行させるプログラム。
（付記１５）
物理サーバおよび前記物理サーバ上で稼働する仮想サーバの複数のリソースの負荷を計測する制御装置のデータ処理方法であって、前記制御装置が、
前記物理サーバおよび前記物理サーバ上で稼働する前記仮想サーバの複数の前記リソースのリソース使用量を取得し、
計測対象リソースに負荷を発生させ、
前記計測対象リソースに前記負荷をかけることで、前記計測対象リソースが依存しているリソースを求め、前記計測対象リソースが依存している前記リソースの数に基づいて、前記計測対象リソースの依存度数を算出し、
複数の前記リソースについて前記計測対象リソースとしてそれぞれ算出された前記依存度数が大きい順に前記リソースに順位付けし、
順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、前記計測対象リソースのリソース使用量の処理能力指標を調整する制御装置のデータ処理方法。
（付記１６）
付記１５に記載の制御装置のデータ処理方法において、
前記物理サーバ上で稼働する少なくとも１つの仮想サーバの代わりに、性能計測用仮想サーバを移動元となる前記物理サーバ上で稼働させることで前記制御装置を実現し、
前記制御装置が、
前記移動元となる前記物理サーバ上で稼働する少なくとも１つの前記仮想サーバの代わりに、前記物理サーバ上で前記負荷を発生させ、
前記物理サーバと、前記物理サーバ上で稼働させた前記性能計測用仮想サーバの複数の前記リソースの前記リソース使用量を定期的に取得し、
前記処理能力指標を調整する制御装置のデータ処理方法。
（付記１７）
付記１６に記載の制御装置のデータ処理方法において、
前記制御装置が、
取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに負荷をかけた前記リソースの前記リソース使用量で、かつ、今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる仮想サーバの前記計測対象リソースの前記リソース使用量から取り除いたリソース使用量、となるように前記処理能力指標を調整し、
調整された前記処理能力指標に基づいて、順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、
取得した前記リソース使用量から前記目標となるリソース使用量の絶対値が許容範囲内に入っているか否かを判定し、
前記許容範囲内に入っていると判定されたとき、取得した前記リソース使用量から前記目標となるリソース使用量に対応する処理能力指標を見積もる制御装置のデータ処理方法。
（付記１８）
付記１６に記載の制御装置のデータ処理方法において、
検証対象となる物理サーバ上に前記性能計測用仮想サーバを稼働させることで前記制御装置を実現し、
前記制御装置が、
順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、
取得した各リソースの前記リソース使用量に基づいて、今回の前記計測対象リソース以外の前回までに負荷をかけた前記リソースの前記リソース使用量で、かつ、今回負荷をかけた前記計測対象リソースの前記リソース使用量を、予め設定された目標となる物理サーバの空キャパシティに相当するリソース使用量から取り除いたリソース使用量、となるように前記処理能力指標を調整し、
調整された前記処理能力指標に基づいて、順位付けされた順に複数の前記リソースから前記計測対象リソースを選択して、順次負荷を発生させながら、取得した前記リソース使用量から前記物理サーバの前記空キャパシティに相当する前記リソース使用量の絶対値が許容範囲内に入っているか否かを判定し、
前記許容範囲内に入っていると判定されたとき、取得した前記リソース使用量から前記物理サーバの前記空キャパシティに相当する前記リソース使用量に対応する処理能力指標を見積もる制御装置のデータ処理方法。
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図１０
【補正方法】変更
【補正の内容】
【図１０】
2011105091.tif 000021
【国際調査報告】
2011105091.tif 000022
2011105091.tif 000023
2011105091.tif 000024
2011105091.tif 000025