(57)【特許請求の範囲】
【請求項１】
通信網を介して仮想サーバを授受することができる複数の物理サーバと、
各々の前記物理サーバと、前記物理サーバ上でシステムコールを実行した頻度を表す頻度情報と、当該システムコールを前記頻度で実行したときに使用された当該物理サーバのリソース量を表すリソース情報と、を関連付けて記憶する性能情報記憶手段と、
前記仮想サーバが前記システムコールを伴うアプリケーション処理を第１物理サーバ上で実行したときに前記第１物理サーバで使用されたリソース量を示す第１リソース情報を取得する取得手段と、
前記第１物理サーバに関連付けられ、かつ前記取得手段によって取得された前記第１リソース情報と最も近似する前記リソース情報を前記性能情報記憶手段から選択し、選択された前記リソース情報に関連付けられた前記頻度情報を抽出する第１抽出手段と、
前記第１物理サーバとは異なる第２物理サーバに関連付けられた前記頻度情報のうち、前記第１抽出手段によって抽出された前記頻度情報と最も近似する前記頻度情報を前記性能情報記憶手段から選択し、選択された前記頻度情報に関連付けられた前記リソース情報を抽出する第２抽出手段と、
前記第２抽出手段によって抽出された前記リソース情報を出力する出力手段と、
を備えることを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記第１抽出手段は、前記第１物理サーバに関連付けられた前記リソース情報のうち、前記取得手段によって取得された前記第１リソース情報との乖離度が最小である前記リソース情報を前記性能情報記憶手段から選択し、選択された前記リソース情報に関連付けられた前記頻度情報を抽出し、
前記第２抽出手段は、前記第２物理サーバに関連付けられた前記頻度情報のうち、前記第１抽出手段によって抽出された前記頻度情報との乖離度が最小である前記頻度情報を前記性能情報記憶手段から選択し、選択された前記頻度情報に関連付けられた前記リソース情報を抽出することを特徴とする情報処理システム。
【請求項３】
請求項１または２に記載の情報処理システムであって、
前記仮想サーバは、夫々の前記物理サーバ上で複数種の前記システムコールを実行可能であり、
前記性能情報記憶手段は、各々のシステムコールの種別を表す種別情報の集合である種別集合と、前記種別集合に含まれる前記種別情報の夫々に対応する前記頻度情報の集合である頻度集合と、前記リソース情報と、各々の前記物理サーバとを関連付けて記憶し、
前記第１抽出手段は、前記性能情報記憶手段から選択された前記リソース情報に関連付けられた前記種別集合と前記頻度集合とを抽出し、
前記第２抽出手段は、前記第１抽出手段によって抽出された前記種別集合と合致し、かつ前記第２物理サーバに関連付けられた前記種別集合を少なくとも一組選択し、選択された前記種別集合に関連付けられた前記頻度集合の各々と、前記第１抽出手段によって抽出された前記頻度集合とを比較し、互い乖離度を夫々算出し、当該乖離度が最小となる前記頻度集合を選択し、選択された前記頻度集合に関連付けられた前記リソース情報を抽出することを特徴とする情報処理システム。
【請求項４】
請求項１乃至３いずれかに記載の情報処理システムであって、
前記性能情報記憶手段は、複数種の前記リソース情報の集合であるリソース集合を前記頻度情報に関連付けて記憶し、
前記取得手段は、複数種の前記第１リソース情報の集合である第１リソース集合を取得し、
前記第１抽出手段は、前記第１物理サーバに関連付けられ、かつ前記取得手段によって取得された前記第１リソース集合と同種の前記リソース情報である前記リソース集合の各々と、前記第１リソース集合とを比較し、互い乖離度を夫々算出し、当該乖離度が最小となる前記リソース集合を選択し、選択された前記リソース集合に関連付けられた前記頻度情報を抽出することを特徴とする情報処理システム。
【請求項５】
請求項１乃至４いずれかに記載の情報処理システムであって、
各々の前記物理サーバ上で計測用仮想サーバを稼動させる仮想サーバ稼動手段を備え、
前記仮想サーバ稼動手段によって前記物理サーバ上で稼動された前記計測用仮想サーバは、複数通りの頻度で前記システムコールを実行し、前記システムコールを実行したときに当該物理サーバ上で使用されるリソース量を計測し、前記システムコールを実行した頻度を前記頻度情報とし、また計測された前記リソース量を前記リソース情報とし、さらに前記頻度情報と前記リソース情報とを前記性能情報記憶手段に送出し、
前記性能情報記憶手段は、各々の前記計測用仮想サーバから到来した前記頻度情報と前記リソース情報とを記憶することを特徴とする情報処理システム。
【請求項６】
請求項５に記載の情報処理システムであって、
前記出力手段は、前記第２抽出手段によって抽出された前記リソース情報と、当該リソース情報に関連付けられた前記頻度情報と、を前記第２物理サーバ上で稼動させた前記計測用仮想サーバに出力し、
当該計測用仮想サーバは、前記出力手段から受け付けた前記頻度情報が示す頻度で前記システムコールを実行し、当該システムコールを実行したときに前記第２物理サーバ上で使用されるリソース量を計測し、計測された前記リソース量を第２リソース情報として前記第１抽出手段に送出し、
前記第１抽出手段は、当該計測用仮想サーバから到来した前記第２リソース情報と、前記出力手段から受け付けた前記リソース情報との乖離度を算出することを特徴とする情報処理システム。
【請求項７】
請求項５または６に記載の情報処理システムであって、
前記出力手段から出力された前記リソース情報によって表されるリソース量が、前記第２物理サーバに関連付けられた前記リソース情報が表すリソース量の最大値より小さいとき、前記仮想サーバ稼動手段は、前記第２物理サーバ上で前記仮想サーバを稼動させることを特徴とする情報処理システム。
【請求項８】
通信網を介して仮想サーバを授受することができる複数の物理サーバの夫々と通信可能な情報処理装置であって、
各々の前記物理サーバと、前記物理サーバ上でシステムコールを実行した頻度を表す頻度情報と、当該システムコールを前記頻度で実行したときに使用された当該物理サーバのリソース量を表すリソース情報と、を関連付けて記憶する性能情報記憶手段と、
前記仮想サーバが前記システムコールを伴うアプリケーション処理を第１物理サーバ上で実行したときに前記第１物理サーバで使用されたリソース量を示す第１リソース情報を取得する取得手段と、
前記第１物理サーバに関連付けられ、かつ前記取得手段によって取得された前記第１リソース情報と最も近似する前記リソース情報を前記性能情報記憶手段から選択し、選択された前記リソース情報に関連付けられた前記頻度情報を抽出する第１抽出手段と、
前記第１物理サーバとは異なる第２物理サーバに関連付けられた前記頻度情報のうち、前記第１抽出手段によって抽出された前記頻度情報と最も近似する前記頻度情報を前記性能情報記憶手段から選択し、選択された前記頻度情報に関連付けられた前記リソース情報を抽出する第２抽出手段と、
前記第２抽出手段によって抽出された前記リソース情報を出力する出力手段と、
を備えることを特徴とする情報処理装置。
【請求項９】
通信網を介して仮想サーバを授受することができる複数の物理サーバの各々と、前記物理サーバ上でシステムコールを実行した頻度を表す頻度情報と、当該システムコールを前記頻度で実行したときに使用された当該物理サーバのリソース量を表すリソース情報と、を関連付けて記憶する性能情報記憶ステップと、
前記仮想サーバが前記システムコールを伴うアプリケーション処理を第１物理サーバ上で実行したときに前記第１物理サーバで使用されたリソース量を示す第１リソース情報を取得する取得ステップと、
前記第１物理サーバに関連付けられ、かつ前記取得ステップで取得された前記第１リソース情報と最も近似する前記リソース情報を選択し、選択された前記リソース情報に関連付けられた前記頻度情報を抽出する第１抽出ステップと、
前記第１物理サーバとは異なる第２物理サーバに関連付けられた前記頻度情報のうち、前記第１抽出ステップで抽出された前記頻度情報と最も近似する前記頻度情報を選択し、選択された前記頻度情報に関連付けられた前記リソース情報を抽出する第２抽出ステップと、
前記第２抽出ステップで抽出された前記リソース情報を出力する出力ステップと、
を備えることを特徴とする情報処理方法。
【請求項１０】
コンピュータが読み出し可能な記憶媒体に格納されるプログラムであって、
通信網を介して仮想サーバを授受することができる複数の物理サーバの各々と、前記物理サーバ上でシステムコールを実行した頻度を表す頻度情報と、当該システムコールを前記頻度で実行したときに使用された当該物理サーバのリソース量を表すリソース情報と、を関連付けて記憶する性能情報記憶処理と、
前記仮想サーバが前記システムコールを伴うアプリケーション処理を第１物理サーバ上で実行したときに前記第１物理サーバで使用されたリソース量を示す第１リソース情報を取得する取得処理と、
前記第１物理サーバに関連付けられ、かつ前記取得処理で取得された前記第１リソース情報と最も近似する前記リソース情報を選択し、選択された前記リソース情報に関連付けられた前記頻度情報を抽出する第１抽出処理と、
前記第１物理サーバとは異なる第２物理サーバに関連付けられた前記頻度情報のうち、前記第１抽出処理で抽出された前記頻度情報と最も近似する前記頻度情報を選択し、選択された前記頻度情報に関連付けられた前記リソース情報を抽出する第２抽出処理と、
前記第２抽出処理で抽出された前記リソース情報を出力する出力処理と、
を前記コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
データセンター内で多岐に渡るハードウェア・ソフトウェアを搭載した性能の異なる物理サーバが存在し、物理サーバのリソースを効率的に利用するために、リソースの仮想化（仮想ＣＰＵ、仮想ストレージ、仮想ネットワーク）を支援する技術開発が、近年盛んである。今後、このような技術において、物理サーバ上で構築された仮想サーバは物理サーバ間を移動することが可能であり、移動先ではその物理サーバのリソースを利用することになる。従って、仮想サーバが物理サーバ上で効率良くリソースを利用できるように、仮想サーバの移動を管理することが有用となる。
【０００３】
この種の技術として、特許文献１（特開２００９−１２３１７４号公報）には、次のような技術が記載されている。この技術は、仮想化環境におけるＩ／Ｏエミュレーションに必要なＣＰＵ負荷を、ディスク負荷又はネットワーク負荷の少なくとも一方から換算して見積もることができる。
【０００４】
より詳細には、複数の物理サーバが、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介してサイジング機能が動作するコンピュータ端末に接続されている。各々の物理サーバは、ハードウェア資源として、少なくとも１つのＣＰＵ（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）を有するとともに、ＨＤＤ（Ｈａｒｄ・Ｄｉｓｋ・Ｄｒｉｖｅ）やＮＩＣ（Ｎｅｔｗｏｒｋ・Ｉｎｔｅｒｆａｃｅ・Ｃａｒｄ）を有する。また、各々の物理サーバに備えられる負荷測定部は、自機のシステム負荷を測定し、それを測定情報として出力する。システム負荷とは、例えば、ＣＰＵ負荷、ディスクやネットワークのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）負荷のことである。
【０００５】
物理サーバのいずれかで仮想サーバを動作させたときのＣＰＵ負荷を見積もる場合、上記コンピュータ端末は、次のように動作する。まず、コンピュータ端末は、各々の物理サーバのＣＰＵ負荷の測定値を得る。次に、コンピュータ端末は、各々の物理サーバのディスク負荷又はネットワーク負荷の少なくとも一方から、ディスク又はネットワークのＩ／Ｏに起因する測定対象の仮想サーバのＣＰＵ負荷の見積値を得る。そして、コンピュータ端末は、仮想化に起因するＣＰＵオーバーヘッドを示す係数を得る。さらに、コンピュータ端末は、上記測定値と上記見積値と上記係数を用いて測定対象の仮想サーバのＣＰＵ負荷を見積もる。
【０００６】
この技術の特徴は、仮想サーバで使用されている各々の資源（ディスク、ネットワーク）利用時のＩ／Ｏ分のＣＰＵのオーバーヘッドを計測し、物理サーバ上でのアプリケーションが利用する各々の資源利用頻度を計測することである。そして資源利用頻度に対応するＣＰＵのオーバーヘッドを算出し、算出されたＣＰＵのオーバーヘッドを足し込んで、物理サーバ上で仮想サーバがアプリケーションの処理を実行したときの負荷を見積もることである。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−１２３１７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら上記技術は、ディスク負荷やネットワーク負荷から得られえるＣＰＵ負荷の見積値と、実際のＣＰＵ負荷の計測値との差を補間するために係数を用いるが、ＣＰＵ負荷はディスク負荷およびネットワーク負荷のみに依存するものではないため、その精度には限界があった。
【０００９】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、物理サーバ上で仮想サーバがアプリケーション処理を実行するとき、リソースに与える負荷を高い精度で推測する情報処理システム、情報処理装置、情報処理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明によれば、通信網を介して仮想サーバを授受することができる複数の物理サーバと、各々の前記物理サーバと、前記物理サーバ上でシステムコールを実行した頻度を表す頻度情報と、当該システムコールを前記頻度で実行したときに使用された当該物理サーバのリソース量を表すリソース情報と、を関連付けて記憶する性能情報記憶手段と、前記仮想サーバが前記システムコールを伴うアプリケーション処理を第１物理サーバ上で実行したときに前記第１物理サーバで使用されたリソース量を示す第１リソース情報を取得する取得手段と、前記第１物理サーバに関連付けられ、かつ前記取得手段によって取得された前記第１リソース情報と最も近似する前記リソース情報を前記性能情報記憶手段から選択し、選択された前記リソース情報に関連付けられた前記頻度情報を抽出する第１抽出手段と、前記第１物理サーバとは異なる第２物理サーバに関連付けられた前記頻度情報のうち、前記第１抽出手段によって抽出された前記頻度情報と最も近似する前記頻度情報を前記性能情報記憶手段から選択し、選択された前記頻度情報に関連付けられた前記リソース情報を抽出する第２抽出手段と、前記第２抽出手段によって抽出された前記リソース情報を出力する出力手段と、を備えることを特徴とする情報処理システムが提供される。
【００１１】
また、本発明によれば、通信網を介して仮想サーバを授受することができる複数の物理サーバの夫々と通信可能な情報処理装置であって、各々の前記物理サーバと、前記物理サーバ上でシステムコールを実行した頻度を表す頻度情報と、当該システムコールを前記頻度で実行したときに使用された当該物理サーバのリソース量を表すリソース情報と、を関連付けて記憶する性能情報記憶手段と、前記仮想サーバが前記システムコールを伴うアプリケーション処理を第１物理サーバ上で実行したときに前記第１物理サーバで使用されたリソース量を示す第１リソース情報を取得する取得手段と、前記第１物理サーバに関連付けられ、かつ前記取得手段によって取得された前記第１リソース情報と最も近似する前記リソース情報を前記性能情報記憶手段から選択し、選択された前記リソース情報に関連付けられた前記頻度情報を抽出する第１抽出手段と、前記第１物理サーバとは異なる第２物理サーバに関連付けられた前記頻度情報のうち、前記第１抽出手段によって抽出された前記頻度情報と最も近似する前記頻度情報を前記性能情報記憶手段から選択し、選択された前記頻度情報に関連付けられた前記リソース情報を抽出する第２抽出手段と、前記第２抽出手段によって抽出された前記リソース情報を出力する出力手段と、を備えることを特徴とする情報処理装置が提供される。
【００１２】
さらに、本発明によれば、通信網を介して仮想サーバを授受することができる複数の物理サーバの各々と、前記物理サーバ上でシステムコールを実行した頻度を表す頻度情報と、当該システムコールを前記頻度で実行したときに使用された当該物理サーバのリソース量を表すリソース情報と、を関連付けて記憶する性能情報記憶ステップと、前記仮想サーバが前記システムコールを伴うアプリケーション処理を第１物理サーバ上で実行したときに前記第１物理サーバで使用されたリソース量を示す第１リソース情報を取得する取得ステップと、前記第１物理サーバに関連付けられ、かつ前記取得ステップで取得された前記第１リソース情報と最も近似する前記リソース情報を選択し、選択された前記リソース情報に関連付けられた前記頻度情報を抽出する第１抽出ステップと、前記第１物理サーバとは異なる第２物理サーバに関連付けられた前記頻度情報のうち、前記第１抽出ステップで抽出された前記頻度情報と最も近似する前記頻度情報を選択し、選択された前記頻度情報に関連付けられた前記リソース情報を抽出する第２抽出ステップと、前記第２抽出ステップで抽出された前記リソース情報を出力する出力ステップと、を備えることを特徴とする情報処理方法が提供される。
【００１３】
さらに、本発明によれば、コンピュータが読み出し可能な記憶媒体に格納されるプログラムであって、通信網を介して仮想サーバを授受することができる複数の物理サーバの各々と、前記物理サーバ上でシステムコールを実行した頻度を表す頻度情報と、当該システムコールを前記頻度で実行したときに使用された当該物理サーバのリソース量を表すリソース情報と、を関連付けて記憶する性能情報記憶処理と、前記仮想サーバが前記システムコールを伴うアプリケーション処理を第１物理サーバ上で実行したときに前記第１物理サーバで使用されたリソース量を示す第１リソース情報を取得する取得処理と、前記第１物理サーバに関連付けられ、かつ前記取得処理で取得された前記第１リソース情報と最も近似する前記リソース情報を選択し、選択された前記リソース情報に関連付けられた前記頻度情報を抽出する第１抽出処理と、前記第１物理サーバとは異なる第２物理サーバに関連付けられた前記頻度情報のうち、前記第１抽出処理で抽出された前記頻度情報と最も近似する前記頻度情報を選択し、選択された前記頻度情報に関連付けられた前記リソース情報を抽出する第２抽出処理と、前記第２抽出処理で抽出された前記リソース情報を出力する出力処理と、を前記コンピュータに実行させることを特徴とするプログラムが提供される。
【発明の効果】
【００１４】
上記発明によれば、物理サーバ上で仮想サーバがアプリケーション処理を実行するとき、リソースに与える負荷を高い精度で推測する情報処理システム、情報処理装置、情報処理方法およびプログラムが提供される。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態に係る情報処理システムの構成図である。
【図２】性能情報記憶部に記憶されている情報を表す図である。
【図３】第１の実施形態の管理サーバの動作を表すフローチャートである。
【図４】本発明の第２の実施形態に係る情報処理システムの構成図である。
【図５】第２の実施形態の性能特性取得指示部の動作を表すフローチャートである。
【図６】第２の実施形態の計測用仮想サーバの動作を表すフローチャートである。
【図７】第２の実施形態の性能情報計算部の動作を表すフローチャートである。
【図８】第３の実施形態の性能情報計算部の動作を表すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１７】
〔第１の実施形態〕
図１は、本発明の第１の実施形態に係る情報処理システム１００の構成図である。情報処理システム１００は、通信網１０と、管理サーバ２０（情報処理装置）と、複数の物理サーバ３１〜３ｍと、を備える。管理サーバ２０と複数の物理サーバ３１〜３ｍとは、通信網１０を介して互いに通信可能に接続されている。物理サーバ３１〜３ｍは、通信網１０を介して仮想サーバを授受することができる。また、管理サーバ２０は、物理サーバ３１〜３ｍ上で仮想サーバがアプリケーション処理を実行する前に、当該アプリケーション処理によって使用されるリソース量を見積もることができる。以下、本実施形態においては、物理サーバ３１でアプリケーション処理を実行した仮想サーバを、物理サーバ３２上で稼動して当該アプリケーション処理を実行するときに使用されるリソース量を推測する動作について説明する。
【００１８】
なお、通信網１０は、管理サーバ２０と物理サーバ３１〜３ｍとが通信接続できるネットワークであればいずれでもよく、例えばインターネットやＬＡＮである。また、物理サーバ３１〜３ｍの少なくとも一部は、ＣＰＵ、メモリ搭載量、ネットワーク帯域、ハードディスクに関して異なるスペックであってもよい。さらに、仮想サーバは、情報処理システム１００内のいずこに存在してもよい。さらに、本実施形態におけるアプリケーション処理とは、Ｗｅｂ、メール、バックアップ等の処理を想定している。
【００１９】
管理サーバ２０は、取得部２１と、第１抽出部２２と、第２抽出部２３と、出力部２４と、記憶部２５と、を備える。また、記憶部２５には、性能情報記憶部２６が含まれている。性能情報記憶部２６は、各々の物理サーバ３１〜３ｍと、物理サーバ３１〜３ｍ上でシステムコールを実行した頻度を表す頻度情報と、当該システムコールを当該頻度で実行したときに使用された当該物理サーバ３１〜３ｍのリソース量を表すリソース情報と、を関連付けて記憶している。なお、性能情報記憶部２６は、記憶部２５に含まれる記憶領域の一部であってもよいし、全部であってもよい。また、記憶部２５は、以下で説明する情報以外にも、管理サーバ２０内で処理される情報、プログラム、変数であれば、いずれを記憶してもよい。
【００２０】
取得部２１は、仮想サーバがシステムコールを伴うアプリケーション処理を物理サーバ３１上で実行したときに物理サーバ３１で使用されたリソース量を示す第１リソース情報を取得する。第１抽出部２２は、物理サーバ３１に関連付けられ、かつ取得部２１によって取得された第１リソース情報と最も近似するリソース情報を性能情報記憶部２６から選択し、選択されたリソース情報に関連付けられた頻度情報を抽出する。第２抽出部２３は、物理サーバ３１とは異なる物理サーバ３２に関連付けられた頻度情報のうち、第１抽出部２２によって抽出された頻度情報と最も近似する頻度情報を性能情報記憶部２６から選択し、選択された頻度情報に関連付けられたリソース情報を抽出する。出力部２４は、第２抽出部２３によって抽出されたリソース情報を出力する。
【００２１】
なお、ここで述べたシステムコールとは、オペレーティングシステムの機能を呼び出すことである。仮想サーバがアプリケーション処理を行うとき、物理サーバ３１〜３ｍのハードウェアを利用するには、仮想サーバは物理サーバ３１〜３ｍにインストールされたオペレーティングシステムに対してシステムコールを実行する必要がある。システムコールには多様な種類があり、ファイル読み書き処理を行なうシステムコール（ｗｒｉｔｅ、ｐｗｒｉｔｅ、ｆｗｒｉｔｅ、ｍｍａｐ等）やネットワーク処理を行うシステムコール（ｓｏｃｋｅｔ、ｃｌｏｓｅ等）が存在する。実行するシステムコールを複数種組み合わせることによって異なるリソース負荷を発生させることができる。また、同種のシステムコールであっても、ファイル容量を指定して実行したり、パケットサイズや通信プロトコルを指定したりすることによって、異なるリソース負荷を発生させることができる。
【００２２】
また、ここで述べたリソース情報または第１リソース情報が表すリソース量として、本実施形態では、各々の物理サーバ３１〜３ｍにおけるプロセッサの使用率、メモリの使用量、通信網１０との通信速度、ＨＤＤの書き込み速度等を用いる。各々の物理サーバ３１〜３ｍは、ここに挙げたリソース量を測定する手段を備えるものとする。他にも、各々の物理サーバ３１〜３ｍが測定可能であれば、コンテキストスイッチの発生数、割り込み処理の発生数、プロセス待ち数等をリソース情報として用いてもよい。
【００２３】
また、ここで述べた頻度情報とは、単位時間あたりに実行されるシステムコールの実行回数とする。単位時間の大きさは固定であってもよいし、任意に変更可能であってもよい。本実施形態においては、単位時間を１秒間とする。
【００２４】
続いて、上述した各構成要素について、より詳細に説明する。図２は、性能情報記憶部２６に記憶されている情報を表す図である。当然、ここで示した表は、性能情報記憶部２６に記憶されている情報の概念を示すものであり、情報を記憶する形式はこれに限られない。
【００２５】
図２に示す通り、性能情報記憶部２６は、単一の種別情報と、種別情報に対応する頻度情報と、複数種のリソース情報の集合（リソース集合）と、各々の物理サーバ３１〜３ｍとを関連付けて記憶し、それぞれに識別番号を付している。例えば、Ｎｏ．１には、種別情報：システムコールＡ、頻度情報：１０（回／ｓ）、ＣＰＵ使用率：３０（％）、メモリ使用量：５１２（ＭＢ）、ＨＤＤの書き込み速度：５０（ＫＢ／ｓ）、通信速度３０（Ｋｂｐｓ）が関連付けられている。また、性能情報記憶部２６は、複数種の種別情報の集合（種別集合）と、種別集合に含まれる種別情報の夫々に対応する頻度情報の集合（頻度集合）と、複数種のリソース情報の集合（リソース集合）と、各々の物理サーバ３１〜３ｍとを関連付けて記憶し、それぞれに識別番号を付している。例えば、Ｎｏ．１６には、種別情報：システムコールＡとシステムコールＢ、頻度情報：１０（回／ｓ）と１（回／ｓ）、ＣＰＵ使用率：３５（％）、メモリ使用量：５１２（ＭＢ）、ＨＤＤの書き込み速度：６０（ＫＢ／ｓ）、通信速度１０（Ｋｂｐｓ）が関連付けられている。なお、Ｎｏ．１６においてシステムコールＡと対応する頻度情報は１０（回／ｓ）であり、システムコールＢと対応する頻度情報は１（回／ｓ）である。Ｎｏ．９１には、種別情報：システムコールＡとシステムコールＢとシステムコールＣ、頻度情報：１０（回／ｓ）と１（回／ｓ）と２（回／ｓ）、ＣＰＵ使用率：５０（％）、メモリ使用量：５１２（ＭＢ）、ＨＤＤの書き込み速度：８０（ＫＢ／ｓ）、通信速度０（Ｋｂｐｓ）が関連付けられている。なお、Ｎｏ．９１においてシステムコールＡと対応する頻度情報は１０（回／ｓ）であり、システムコールＢと対応する頻度情報は１（回／ｓ）であり、システムコールＣと対応する頻度情報は２（回／ｓ）である。
【００２６】
取得部２１は、複数種の第１リソース情報の集合である第１リソース集合を物理サーバ３１から取得する。例えば、取得部２１は、第１リソース集合として、ＣＰＵ使用率：４０（％）、メモリ使用量：５１２（ＭＢ）、ＨＤＤの書き込み速度：５０（ＫＢ／ｓ）、通信速度１０（Ｋｂｐｓ）を取得する。
【００２７】
なお、本実施形態において、取得部２１が第１リソース集合を取得するタイミングは、所定の時刻になった時であってもよいし、管理サーバ２０の運用者が操作入力した指令を受け付けた時であってもよいし、他の条件をトリガとしてもよい。
【００２８】
また、本実施形態において、取得部２１は物理サーバ３１から第１リソース集合を取得しているが、取得先はこれに限らなくてもよい。例えば、管理サーバ２０が物理サーバ３１から第１リソース集合（第１リソース情報）を予め受信しているのであれば、記憶部２５が当該第１リソース集合を記憶しておき、取得部２１は記憶部２５から当該第１リソース集合を取得してもよい。あるいは、物理サーバ３１で使用されたリソース量を、図１に図示されない他の装置が測定可能であって第１リソース集合（第１リソース情報）を保存しているのであれば、取得部２１は当該装置から当該第１リソース集合を取得してもよい。
【００２９】
第１抽出部２２は、物理サーバ３１に関連付けられたリソース情報のうち、取得部２１によって取得された第１リソース情報との乖離度が最小であるリソース情報を性能情報記憶部２６から選択し、選択されたリソース情報に関連付けられた頻度情報を抽出する。より詳細には、第１抽出部２２は、物理サーバ３１に関連付けられ、かつ取得部２１によって取得された第１リソース集合と同種のリソース情報であるリソース集合の各々と、第１リソース集合とを比較し、互いの乖離度を夫々算出する。そして、第１抽出部２２は、算出された当該乖離度が最小となるリソース集合を選択し、選択されたリソース集合に関連付けられた種別集合と頻度集合を抽出する。なお、ここで同種のリソース情報と比較するとは、リソース集合に含まれるＣＰＵ使用率同士を比較したり、メモリ使用量同士を比較したりすることを意味している。また、ここで乖離度とは、比較したリソース情報同士の差分を無次元化して得られる値の二乗をリソースの種別ごとに求め、それを合算した値である。本実施形態では、無次元化して得られる値の二乗の総和とするが、無次元化して得られる値の絶対値の総和であってもよい。
【００３０】
第１抽出部２２が、上記乖離度を求める算出式は、以下の式（１）で表せる。
【数１】
0005413210.tif 000002
【００３１】
ただし、式（１）における各記号の意味は、以下の通りである。
ｎ：リソース情報の種類の数
（Ｕｐ１、・・・Ｕｐｎ）：算出対象となるリソース集合
（Ｕｔ１、・・・Ｕｔｎ）：第１リソース集合
（Ｕｍａｘ１、・・・Ｕｍａｘｎ）：単位時間で使用されるリソース量の最大値の集合
Ｖｕ：算出対象のリソース集合と第１リソース集合との乖離度
【００３２】
なお、単位時間で使用されるリソース量の最大値については、性能情報記憶部２６に記憶されているリソース情報の中での最大値であってもよいし、予め各々の物理サーバ３１〜３ｍで実測して定められた最大値であってもよいし、運用者によって設定された最大値であってもよい。ただし、運用者が設定した最大値である場合、各々の物理サーバ３１〜３ｍにおいて、設定された最大値以上のリソース量が単位時間で使用できないように制限されている必要がある。
【００３３】
第２抽出部２３は、物理サーバ３２に関連付けられた頻度情報のうち、第１抽出部２２によって抽出された頻度情報との乖離度が最小である頻度情報を性能情報記憶部２６から選択し、選択された頻度情報に関連付けられたリソース情報を抽出する。より詳細には、第２抽出部２３は、第１抽出部２２によって抽出された種別集合と合致し、かつ物理サーバ３２に関連付けられた種別集合を少なくとも一組選択し、選択された種別集合に関連付けられた頻度集合の各々と、第１抽出部２２によって抽出された頻度集合とを比較し、互い乖離度を夫々算出し、当該乖離度が最小となる頻度集合を選択し、選択された頻度集合に関連付けられたリソース集合（リソース情報）を抽出する。ここで合致するとは、例えば、比較される種別集合の各々に含まれる種別情報の全部が互いに一致することであってもよいし、一部が互いに一致することであってもよい。また、ここで乖離度とは、比較した頻度情報同士の差分を無次元化して得られる値の二乗をシステムコールの種別ごとに求め、それを合算した値である。本実施形態では、無次元化して得られる値の二乗の総和とするが、無次元化して得られる値の絶対値の総和であってもよい。
【００３４】
第２抽出部２３が、上記乖離度を求める算出式は、以下の式（２）で表せる。
【数２】
0005413210.tif 000003
【００３５】
ただし、式（２）における各記号の意味は、以下の通りである。
ｎ：システムコールの種類の数
（Ｅｐ１、・・・Ｅｐｎ）：算出対象となる頻度集合
（Ｅｔ１、・・・Ｅｔｎ）：第１抽出部２２によって抽出された頻度集合
（Ｅｍａｘ１、・・・Ｅｍａｘｎ）：単位時間で実行されるシステムコールの実行頻度の最大値の集合
Ｖｅ：算出対象のリソース集合と第１リソース集合との乖離度
【００３６】
なお、単位時間で実行されるシステムコールの実行頻度の最大値については、性能情報記憶部２６に記憶されている頻度情報の中での最大値であってもよいし、予め各々の物理サーバ３１〜３ｍで実測して定められた最大値であってもよいし、運用者によって設定された最大値であってもよい。ただし、運用者が設定した最大値である場合、各々の物理サーバ３１〜３ｍにおいて、各々のシステムコールを、設定された最大値以上の頻度で実行することができないように制限されている必要がある。
【００３７】
出力部２４は、仮想サーバがアプリケーション処理を物理サーバ３２上で実行するときに物理サーバ３２で使用されるリソース量の推測値として、第２抽出部２３によって抽出されたリソース集合（リソース情報）を出力する。出力部２４によって出力されたリソース集合によって示されるリソース量が、アプリケーション処理によって使用される物理サーバ３２のリソース量の推測値となる。出力部２４が出力するリソース情報の出力先やその形式は特に制限されるものではない。例えば、出力部２４は、管理サーバ２０に含まれる他の構成要素にリソース情報を出力してもよく、管理サーバ２０とは異なる装置にリソース情報を出力してもよい。また、出力部２４は、プロセッサによって可読なデータ形式でリソース情報を出力してもよく、運用者が認識可能にリソース情報を表示出力してもよく、印字出力してもよい。
【００３８】
なお、管理サーバ２０に含まれる構成要素の全部または一部は、ハードウェアで実現されてもよいし、あるいは、管理サーバ２０が備えるプロセッサ（図示せず）に処理を実行させるプログラム（またはプログラムコード）で実現されてもよい。
【００３９】
管理サーバ２０に含まれる構成要素がプログラムによって実施される場合、当該プログラムはプロセッサ（コンピュータ）が読み出し可能な不揮発性メモリなどの記憶媒体に格納される。そして、当該プログラムは、通信網１０を介して仮想サーバを授受することができる複数の物理サーバ３１〜３ｍの各々と、物理サーバ３１〜３ｍ上でシステムコールを実行した頻度を表す頻度情報と、当該システムコールを当該頻度で実行したときに使用された当該物理サーバ３１〜３ｍのリソース量を表すリソース情報と、を関連付けて記憶する性能情報記憶処理を、プロセッサに実行させる。また、当該プログラムは、仮想サーバがシステムコールを伴うアプリケーション処理を物理サーバ３１上で実行したときに物理サーバ３１で使用されたリソース量を示す第１リソース情報を取得する取得処理を、プロセッサに実行させる。また、当該プログラムは、物理サーバ３１に関連付けられ、かつ取得処理で取得された第１リソース情報と最も近似するリソース情報を選択し、選択されたリソース情報に関連付けられた頻度情報を抽出する第１抽出処理を、プロセッサに実行させる。また、当該プログラムは、物理サーバ３１とは異なる物理サーバ３２に関連付けられた頻度情報のうち、第１抽出処理で抽出された頻度情報と最も近似する頻度情報を選択し、選択された頻度情報に関連付けられたリソース情報を抽出する第２抽出処理を、プロセッサに実行させる。また、当該プログラムは、第２抽出処理で抽出されたリソース情報を出力する出力処理を、プロセッサに実行させる。
【００４０】
図３は、本実施形態の管理サーバ２０の動作を表すフローチャートである。まず、管理サーバ２０は、通信網１０を介して仮想サーバを授受することができる複数の物理サーバ３１〜３ｍの各々と、物理サーバ３１〜３ｍ上でシステムコールを実行した頻度を表す頻度情報と、当該システムコールを当該頻度で実行したときに使用された当該物理サーバ３１〜３ｍのリソース量を表すリソース情報と、を関連付けて記憶する（ステップＳ１）。続いて、管理サーバ２０は、仮想サーバがシステムコールを伴うアプリケーション処理を物理サーバ３１上で実行したときに物理サーバ３１で使用されたリソース量を示す第１リソース情報を取得する（ステップＳ２）。そして、管理サーバ２０は、物理サーバ３１に関連付けられ、かつステップＳ２で取得された第１リソース情報と最も近似するリソース情報を選択し、選択されたリソース情報に関連付けられた頻度情報を抽出する（ステップＳ３）。また、管理サーバ２０は、物理サーバ３１とは異なる物理サーバ３２に関連付けられた頻度情報のうち、ステップＳ３で抽出された頻度情報と最も近似する頻度情報を選択し、選択された頻度情報に関連付けられたリソース情報を抽出する（ステップＳ４）。さらに、管理サーバ２０は、仮想サーバがアプリケーション処理を物理サーバ３２上で実行するときに物理サーバ３２で使用されるリソース量の推測値として、ステップＳ４で抽出されたリソース情報を出力する（ステップＳ５）。
【００４１】
ここで、本実施形態の効果について説明する。本実施形態は、仮想サーバによるアプリケーション処理によって使用される物理サーバのリソース量を推測するため、当該アプリケーション処理に伴うシステムコールに着目したことを特徴とする。仮想サーバが物理サーバ上のハードウェア資源を利用する際にはシステムコールが実行される。従って、システムコールの種別と頻度と、そのときに物理サーバで使用されているリソース量との関係性を、可能な限り網羅して予め記憶しているのであれば、非常に高い精度で当該アプリケーションに伴うシステムコールの種別と頻度とを推測することができる。また、測定対象となる物理サーバの各々について、上記関係性を予め記憶しているのであれば、推定したシステムコールの種別と頻度とに基づいて、他の物理サーバで同様のアプリケーション処理を実行したときに与えるリソースへの負荷も非常に高い精度で推測することができる。なお、本実施形態の手法を用いる場合、より多くのシステムコールの種別、より多様なシステムコールの実行頻度を予め記憶しておくことで、より推測の精度が向上する。
【００４２】
また、本実施形態において、物理サーバ３２で使用されるリソース量の推測値として出力されるリソース情報（リソース集合）は、複数種のリソース量を示す。従って、結果的に単一種のリソース量のみが求められる方法より、得られる情報量が多く、汎用的に利用可能である。
【００４３】
〔第２の実施形態〕
図４は、本発明の第２の実施形態に係る情報処理システム２００の構成図である。通信網１０には、管理サーバ４０と、物理サーバ３１〜３ｍと、管理クライアント５０とが接続される。本実施形態の通信網１０と物理サーバ３１〜３ｍとは、第１の実施形態の通信網１０と物理サーバ３１〜３ｍと同等のものとする。また、本実施形態には業務用仮想サーバおよび計測用仮想サーバの二種類が登場する。業務用仮想サーバは、物理サーバ上でアプリケーション処理を実行することができ、第１の実施形態の仮想サーバと同等のものとする。計測用仮想サーバは、性能特性取得指示部４１からの指令に従って、複数通りの頻度でシステムコールを実行し、システムコールを実行したときに物理サーバ上で使用されるリソース量を計測することができる。そして、計測用仮想サーバは、システムコールを実行した頻度を頻度情報とし、また計測されたリソース量をリソース情報とし、さらに頻度情報とリソース情報とを性能情報記憶部４６に送出することができる。計測用仮想サーバの動作の詳細については、後述する。
【００４４】
管理サーバ４０では、性能特性取得指示部４１、仮想サーバ稼動部４２、性能情報計算部４３、記憶部４４を備える。また、記憶部４４は、仮想サーバイメージ記憶部４５、性能情報記憶部４６、時系列性能情報記憶部４７、負荷情報記憶部４８を含んでいる。なお、仮想サーバイメージ記憶部４５、性能情報記憶部４６、時系列性能情報記憶部４７、負荷情報記憶部４８は、記憶部４４に含まれる記憶領域の一部である。また、記憶部４４は、以下で説明する情報以外にも、管理サーバ４０内で処理される情報、プログラム、変数等を記憶してもよい。
【００４５】
仮想サーバイメージ記憶部４５には、計測用仮想サーバのイメージと業務用仮想サーバのイメージとが登録されている。仮想サーバ稼動部４２は各々の物理サーバ３１〜３ｍ上で計測用仮想サーバを稼動させる。より詳細には、仮想サーバ稼動部４２は、仮想サーバイメージ記憶部４５に登録されている計測用仮想サーバのイメージを各々の物理サーバ３１〜３ｍ上にコピーし、コピーされた計測用仮想サーバを起動するように指示する。なお、仮想サーバ稼動部４２は、単一の物理サーバ上で複数の計測用仮想サーバを稼動させてもよい。
【００４６】
そして、仮想サーバ稼動部４２は、各々の物理サーバ３１〜３ｍ上で業務用仮想サーバを稼動させる。より詳細には、仮想サーバ稼動部４２は、仮想サーバイメージ記憶部４５に登録されている業務用仮想サーバのイメージを物理サーバ３１〜３ｍ上にコピーし、コピーされた業務用仮想サーバを起動するように指示する。なお、仮想サーバ稼動部４２は、単一の物理サーバ上で複数の業務用仮想サーバを稼動してもよい。また、業務用仮想サーバはクライアント処理もしくはジョブをスケジュール化された処理により、負荷を発生し、物理サーバのリソースを消費しているものとする。
【００４７】
物理サーバ３１〜３ｍは、自機全体のリソース使用量、自機上で起動中の計測用仮想サーバのリソース使用量、自機上で起動中の業務用仮想サーバのリソース使用量の少なくとも一つを定期的に取得する。
【００４８】
管理クライアント５０は運用者が操作する端末である。図４では図示しないが、管理クライアント５０は、運用者が操作入力可能なキーボードやポインタ等を備えてもよい。また管理クライアント５０は、自機内で処理する情報等を、運用者が認知可能なように表示出力したり、印字出力したりする機能を備えてもよい。
【００４９】
以下の説明において、仮想サーバ稼動部４２は、仮想サーバイメージ記憶部４５から物理サーバ３１〜３ｍの夫々に少なくとも一つの計測用仮想サーバを既に稼動させており、計測用仮想サーバは管理サーバ４０からの指示を受けてシステムコールを実行することができることを前提として説明する。また、仮想サーバ稼動部４２は、仮想サーバイメージ記憶部４５から物理サーバ３１に業務用仮想サーバを既に稼動させており、業務用仮想サーバは物理サーバ３１上でアプリケーション処理を実行した後であることを前提として説明する。なお、計測用仮想サーバが待機中であるとき、物理サーバ上のリソースに影響する程の負荷を発生しないものとする。
【００５０】
図５は、本実施形態の性能特性取得指示部４１の動作を表すフローチャートである。まず、性能特性取得指示部４１は、管理クライアント５０から性能特性取得指示を受信する（ステップＡ１）。性能特性取得指示部４１は、ステップＡ１で受信した性能特性指示に則った指令を、物理サーバ３１〜３ｍ上の計測用仮想サーバの夫々に対して送信する（ステップＡ２）。ここで、性能特性取得指示とは、具体的には、どの種別のシステムコールを計測用仮想サーバに実行させるか、または何通りの頻度でシステムコールを計測用仮想サーバに実行させるか（サンプリングポイント数）等を、運用者が設定した情報である。
【００５１】
さらに、性能特性取得指示部４１は、物理サーバ３１〜３ｍが定期的に取得しているリソース使用量を、自機上の計測用仮想サーバへ定期的に出力する指示を、物理サーバ３１〜３ｍに対して行う（ステップＡ３）。そして、性能特性取得指示部４１は、ステップＡ２で送信した指令に対する応答として、各々の計測用仮想サーバから計測結果を受信し、受信した計測結果を性能情報記憶部４６と負荷情報記憶部４８に記憶する（ステップＡ４）。そして、性能特性取得指示部４１は、ステップＡ４で受信した計測結果の送信元の物理サーバに対して、自機上の計測用仮想サーバへのリソース使用量の出力を停止する指示を行う（ステップＡ５）。物理サーバ３１〜３ｍの全部の計測結果を性能情報記憶部４６に記憶したのであれば（ステップＡ６のＹＥＳ）、性能特性取得指示部４１の動作は終了である。また、物理サーバ３１〜３ｍの一部の計測結果を、まだ性能情報記憶部４６に記憶していないのであれば（ステップＡ６のＮＯ）、ステップＡ４とステップＡ５の処理を再び繰り返す。
【００５２】
なお、ステップＡ３の指示に従って、物理サーバ３１〜３ｍから計測用仮想サーバに出力されたリソース使用量は、その都度、計測用仮想サーバに記憶されるものとする。また、ステップＡ４で受信する計測結果は、後述するステップＢ１３で送信される計測結果であって、性能情報記憶部４６には、ステップＢ１１で関連付けて記憶したシステムコールの種別と実行回数とリソース使用量の平均値とが記憶される。そして、負荷情報記憶部４８には、ステップＢ４で関連付けて記憶したシステムコールの種別と実行回数とリソース使用量とが記憶される。
【００５３】
図６は、本実施形態の計測用仮想サーバの動作を表すフローチャートである。計測用仮想サーバは、性能特性取得指示部４１から性能特性指示に則った指令（ステップＡ２で送信される指令）を受信して記憶する（ステップＢ１）。次に、計測用仮想サーバは、ステップＢ１で記憶した性能特性指示の内容を読み込む（ステップＢ２）。そして、計測用仮想サーバは、性能特性指示で指定された種別のシステムコールを１個ずつ呼び出し続ける（ステップＢ３）。そして、計測用仮想サーバは、単位時間で発生可能なシステムコールの実行回数を計測し、さらに物理サーバから入力されたリソース使用量の最新値と、計測された実行回数と、当該システムコールの種別とを関連付けて記憶する（ステップＢ４）。性能特性指示で指定される種別のシステムコールを、全種類呼び出していないのであれば（ステップＢ５のＮＯ）、ステップＢ３とステップＢ４の処理を再び繰り返す。なお、ステップＢ３〜ステップＢ５までの処理を「事前計測」と呼ぶ。
【００５４】
性能特性指示で指定される種別のシステムコールを、全種類呼び出したのであれば（ステップＢ５のＹＥＳ）、計測用仮想サーバは、ステップＢ４で記憶されたシステムコールの実行回数を、性能特性指示で指定されたサンプリングポイント数で割って得られる値を基準実行回数として記憶し、基準実行回数を整数倍した値をサンプリングポイント数が表す個数だけ求める（ステップＢ６）。そして、計測用仮想サーバは、性能特性指示で指定されたシステムコールの全部の種別と、ステップＢ６で求めた基準実行回数を整数倍した値の全部とを組み合わせて、取り得る全ての計測パターンを求める（ステップＢ７）。
【００５５】
性能特性指示で指定されたシステムコールが、システムコールＡ、システムコールＢ、システムコールＣの三種類であって、性能特性指示で指定されたサンプリングポイント数が５である場合、ステップＢ７で求められる計測パターンの総数は次のようになる。まず、一種類のシステムコールを実行させる計測パターンは、１５通り（＝システムコールの組み合わせ：３通り×実行回数の組み合わせ：５通り）存在する。また、二種類のシステムコールを実行させる計測パターンは７５通り（＝システムコールの組み合わせ：３通り×実行回数の組み合わせ：５２通り）存在する。さらに、三種類のシステムコールを実行させる計測パターンは１２５通り（＝システムコールの組み合わせ：１通り×実行回数の組み合わせ：５３通り）存在する。従って、上記のような条件であれば、計測パターンは最大で１５＋７５＋１２５＝２１５通りとなる。
【００５６】
計測用仮想サーバは、ステップＢ７で求められた計測パターンを順次実行し、システムコールの呼び出しを行う（ステップＢ８）。そして、計測用仮想サーバは、計測パターンを実行中に、いずれかリソース使用量が最大値となっているかチェックを行う。最大値となっていた場合（ステップＢ９のＹＥＳ）、ステップＢ８に移行して、計測用仮想サーバは新たな計測パターンを実行する。最大値となっていない場合（ステップＢ９のＮＯ）、計測用仮想サーバは現在実行中の計測パターンを継続して実行する。なお、ステップＢ９における最大値とは、ステップＢ４で記憶したリソース使用量の中での最大値であってもよいし、運用者によって設定された最大値であってもよい。ただし、運用者が設定した最大値である場合、物理サーバにおいて、設定された最大値以上のリソース量が単位時間で使用できないように制限されている必要がある。
【００５７】
また、計測用仮想サーバは、ステップＢ８で新たな計測パターンに従ってシステムコールを呼び出してから、リソース使用量を記憶した回数を確認する。計測用仮想サーバは、確認した回数が所定の回数に到達するまで（ステップＢ１０のＮＯ）は待機状態であり、ステップＢ９のチェックを繰り返す。そして、計測用仮想サーバは、確認した回数が所定の回数に達したら（ステップＢ１０のＹＥＳ）、最新のリソース使用量と、その前のリソース使用量との平均値を求める（ステップＢ１１）。なお、ステップＢ１０における所定の回数とは、計測用仮想サーバにデフォルトで定められた固定値であってもよいし、運用者によって任意に変更可能な値であってもよい。また、ステップＢ１１で平均を取るリソース使用量の個数は限定しない。
【００５８】
計測用仮想サーバは、ステップＢ８で実行したシステムコールの種別と、実行回数と、ステップＢ１１で求めたリソース使用量の平均値とを関連付けて記憶する（ステップＢ１２）。ステップＢ７で求めた計測パターンを全て実行していないのであれば（ステップＢ１３のＮＯ）、計測用仮想サーバは、ステップＢ８〜ステップＢ１２の処理を繰り返し実行する。なお、ステップＢ８〜ステップＢ１２までの処理を「組合せ計測」と呼ぶ。また、「組合せ計測」によって計測された計測結果によって、第１実施形態の図２で示したような、複数通りの頻度で、かつ複数種のシステムコールを組み合わせて実行したとき、物理サーバ上で使用されるリソース量を得ることができる。
【００５９】
また、ステップＢ７で求めた計測パターンを全て実行したのであれば（ステップＢ１３のＹＥＳ）、計測用仮想サーバは、ステップＢ４で関連付けて記憶したシステムコールの種別と実行回数とリソース使用量と、ステップＢ１２で関連付けて記憶したシステムコールの種別と実行回数とリソース使用量の平均値と、を計測結果として管理サーバ４０に対して送信する（ステップＢ１４）。
【００６０】
図７は、本実施形態の性能情報計算部４３の動作を表すフローチャートである。まず、性能情報計算部４３は、管理クライアント５０から負荷再現検証指示を受信する（ステップＣ１）。性能情報計算部４３は、性能情報記憶部４６に存在する物理サーバ３１上で計測したシステムコールの実行回数とリソース使用量のペアから成る複数の情報より、そのリソース使用量を抽出する指示を行なう。さらに性能情報計算部４３に対して、負荷情報記憶部４８に記憶された物理サーバ３１で稼動していた業務用仮想サーバのリソース使用量の抽出を行なう指示を行なう。そして、性能情報計算部４３は、それらのリソース使用量との乖離度を算出する。性能情報計算部４３は、上記で算出された乖離度と比較し、時系列性能情報記憶部４７に乖離度が一番小さいものを格納させる。この条件により、物理サーバ３１上で業務用仮想サーバのリソース使用量を出力するために一番近いシステムコールの実行回数の推定値を抽出することができる（ステップＣ２）。ステップＣ２で算出される乖離度は、第１の実施形態で説明した式（１）を用いて算出される。すなわち、性能情報計算部４３は、第１の実施形態で説明した第１抽出部２２と同等の処理を行う。
【００６１】
性能情報計算部４３は、性能情報記憶部４６に存在する物理サーバ３２上で計測したシステムコールの実行回数とリソース使用量のペアから成る複数の情報より、その実行回数と、ステップＣ２で抽出した実行回数の乖離度を算出する。性能情報計算部４３は、上記で算出された乖離度と比較し、時系列性能情報記憶部４７に乖離度が一番小さいものを格納させる。この条件により、物理サーバ３２上でのリソース使用量の推定値を抽出することができる（ステップＣ３）。ステップＣ３で算出される乖離度は、第１の実施形態で説明した式（２）を用いて算出される。すなわち、性能情報計算部４３は、第１の実施形態で説明した第２抽出部２３と同等の処理を行う。
【００６２】
性能情報計算部４３は、物理サーバ３２上の計測用仮想サーバに対して、時系列性能情報記憶部４７の時系列ごとの各システムコールの実行回数のデータを送信する。すなわち、性能情報計算部４３は、第１の実施形態で説明した出力部２４と同等の処理を行う。当該計測用仮想サーバは、受け付けた頻度情報が示す頻度でシステムコールを実行し、当該システムコールを実行したときに物理サーバ３２上で使用されるリソース量を計測し、計測されたリソース量（第２リソース情報）を性能情報計算部４３に応答する（ステップＣ４）。
【００６３】
性能情報計算部４３は、ステップＣ３で抽出された物理サーバ３２上の業務用仮想サーバのリソース使用量の推定値と、ステップＣ４で応答されたリソース使用量との乖離度を算出する（ステップＣ５）。ステップＣ５で算出される乖離度は、第１の実施形態で説明した式（１）を用いて算出される。なお、ステップＣ５の算出結果を管理クライアント５０に送信し、管理クライアント５０が算出結果を表示出力する等して運用者に通知すれば、運用者はこれらの見積もりが正しいかどうかの整合性を確認することができる。
【００６４】
ステップＣ５の結果、ステップＣ３で抽出された物理サーバ３２上でのリソース使用量の推定値の整合性が確認され、さらに当該リソース使用量の推定値が物理サーバ３２の各リソース使用量の最大値に達していない場合には（ステップＣ６のＮＯ）、仮想サーバ稼動部４２は、物理サーバ３１上に存在した業務用仮想サーバを物理サーバ３２で稼動させる（ステップＣ７）。また、各リソース使用量のいずれかが最大値に達している場合には（ステップＣ６のＹＥＳ）、この時点で終了する。
【００６５】
性能情報計算部４３は、ステップＣ３で抽出された物理サーバ３２上の業務用仮想サーバのリソース使用量の推定値と、物理サーバ３２上で実際に業務用仮想サーバがアプリケーション処理を実行したときのリソース使用量との乖離度を算出する（ステップＣ８）。ステップＣ８で算出される乖離度は、第１の実施形態で説明した式（１）を用いて算出される。なお、ステップＣ８の算出結果を管理クライアント５０に送信し、管理クライアント５０が算出結果を表示出力する等して運用者に通知すれば、運用者はこれらの見積もりが正しいかどうかの整合性を確認することができる。
【００６６】
ここで、本実施形態の効果について説明する。本実施形態は、各々の物理サーバ３１〜３ｍで稼動させた計測用仮想サーバを利用して、リソース使用量の推測に必要な情報（性能情報記憶部４３に記憶する情報）を収集することができる。
【００６７】
また、本実施形態は、求められたリソース使用量の推測値が最大値に達していないときに、業務用仮想サーバを稼動させるので、業務用仮想サーバは物理サーバで確実にアプリケーション処理を実行することができる。さらに、本実施形態では、求められたリソース使用量の推測値の整合性を検証するので、リソース使用量の最大値に達しない物理サーバを選択し、当該物理サーバ上で業務用仮想サーバを稼動させることができる。従って、業務用仮想サーバは当該物理サーバ上でより確実にアプリケーション処理を実行することができる。
【００６８】
〔第３の実施形態〕
第３の実施形態は、第２の実施形態の情報処理システム２００と同等の構成である。ただし、物理サーバ３１上では、第１計測用サーバと第２計測用サーバとが稼動しているものとする。また、管理サーバ４０と、物理サーバ３１〜３ｍ上の計測用管理サーバの動作については、図５および図６を用いて説明した動作と同様であるので、ここでの詳細な説明は割愛する。
【００６９】
図８は、本実施形態の性能情報計算部４３の動作を表すフローチャートである。性能情報計算部４３は、管理クライアント５０から、負荷情報記憶部４８に記憶された物理サーバ３１の空き資源検証指示を受け付ける（ステップＥ１）。ここで、物理サーバ３１で稼動していた業務用仮想サーバのリソース使用量は負荷情報記憶部４８に記憶されているものとする。
【００７０】
性能情報計算部４３は、性能情報記憶部４６に存在する物理サーバ３１上で計測したシステムコールの実行回数とリソース使用量のペアから成る複数の情報より、そのリソース使用量を抽出する指示を行なう。さらに、性能情報計算部４３は、各リソースに関して物理サーバ３１の最大リソース使用量から、負荷情報記憶部４８に記憶された物理サーバ３１で稼動していた業務用仮想サーバのリソース使用量を引いたリソース使用量を抽出する指示を行なう。そして、性能情報計算部４３は、それらのリソース使用量との乖離度を算出する。性能情報計算部４３は、上記で算出された乖離度と比較し、乖離度が一番小さいものを時系列性能情報記憶部４７に格納させる。そして、この条件により、物理サーバ３１上で空キャパシティ分のリソース使用量を出力するために一番近い実行回数の推定値を抽出する（ステップＥ２）。なお、ステップＥ２で算出される乖離度は、第１の実施形態で説明した式（１）を用いて算出される。
【００７１】
性能情報計算部４３は、物理サーバ３１上の第１計測用仮想サーバに対して、時系列性能情報記憶部４７の時系列ごとの業務用仮想サーバのシステムコールの実行回数の推定値データを送信する。さらに、性能情報計算部４３は、物理サーバ３１上の第２計測用仮想サーバに対して、時系列性能情報記憶部４７の時系列ごとの空キャパシティ分のシステムコールの実行回数の推定値データを送信する（ステップＥ３）。ステップＥ３で送信されたシステムコールの実行回数の推定値データに基づいて、第１計測用仮想サーバと第２計測用仮想サーバは負荷を発生させ、そのリソース使用量を測定する。測定されたリソース使用量は管理サーバ４０に送出され、負荷情報記憶部４８に記憶される。
【００７２】
性能情報計算部４３は、時系列性能情報記憶部４７に記憶された実際の物理サーバ３１の空きリソース使用量と、負荷情報記憶部４８に記憶された第２計測用仮想サーバのリソース使用量から算出した空きリソース使用量の推定値との乖離度を算出する（ステップＥ４）。ステップＥ４で算出される乖離度は、第１の実施形態で説明した式（１）を用いて算出される。なお、ステップＥ４の算出結果を管理クライアント５０に送信し、管理クライアント５０が算出結果を表示出力する等して運用者に通知すれば、運用者はこれらの見積もりが正しいかどうかの整合性を確認することができる。
【００７３】
ここで、本実施形態の効果について説明する。「事前計測」と「組み合わせ計測」を実行することにより、リソース使用量とシステムコールの実行回数の対応関係が判明する。アプリケーション内のシステムコールの実行処理を想定し、計測プログラム上でシステムコールの実行を行うことによって、発生する負荷のパターンを網羅するようにこの処理を行っている。この処理により、計測したデータの中に業務用仮想サーバ以外に利用可能な空きリソースと同等に近いリソース使用量を示すパターンがあるため、この中から該当するものを抽出し、実行回数に変換する。変換した実行回数でそれぞれのサーバ上で空きリソースを比較できる。このことから従来の方式では考慮されていなかった様々なレイヤーでのシステムコール間のオーバーヘッド等を含んで負荷を見積もることによって、よりアプリケーションが発生する負荷に近いパターンを選択することができるので、見積もり負荷の精度が向上する。さらに検証処理を入れることにより、負荷の見積もりが正しいかどうかの整合性を確かめることが可能となる。
【００７４】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【００７５】
例えば、上記の実施形態において、リソース情報の種類は複数であることを前提に説明しているが、一種類のリソース情報のみを用いて本発明を実施しても構わない。
【００７６】
また、第３の実施形態において、情報処理システムの構成は複数の物理サーバと管理サーバと管理クライアントとが通信網で接続される構成を用いて説明したが、これに限らなくてもよい。例えば、単一の物理サーバと管理サーバとが通信網で接続している構成であってもよいし、上記管理サーバと同等の機能が単一の物理サーバに組み込まれている単体装置であっても構わない。
【００７７】
また、第１の実施形態において、第１抽出部２２または第２抽出部２３は、算出された乖離度が最小であるリソース情報または頻度情報を選択するように説明したが、比較した値が合致するか否かで、選択するリソース情報または頻度情報を決めてもよい。また、第１抽出部２２または第２抽出部２３は、算出された夫々の乖離度（指標値）と所定の判定値との差が最小となるリソース情報または頻度情報を抽出してもよい。このとき、所定の判定値とは、０であってもよいし、その他の数値であってもよい。また、第１抽出部２２と第２抽出部２３とは、異なる判定値を用いても構わない。
【００７８】
また、上記実施形態の説明には、複数のフローチャートを用いており、それぞれに複数のステップを順番に記載してあるが、その記載の順番は、本発明の情報処理方法のステップを実行する順番を限定するものではない。このため、本発明の情報処理方法を実行するときには、その複数のステップの順番は内容的に支障しない範囲で変更することができる。
【００７９】
なお、当然ながら、上述した実施の形態および複数の変形例は、その内容が相反しない範囲で組み合わせることができる。また、上述した実施の形態および変形例では、各構成要素の機能などを具体的に説明したが、その機能などは本願発明を満足する範囲で各種に変更することができる。
【００８０】
（付記１）通信網を介して接続される複数の物理サーバと、各々の前記物理サーバと、前記物理サーバ上でシステムコールを実行した頻度を表す頻度情報と、当該システムコールを前記頻度で実行したときに使用された当該物理サーバのリソース量を表すリソース情報と、を関連付けて記憶する性能情報記憶手段と、第１物理サーバがシステムコールを伴うアプリケーション処理を実行したときに使用したリソース量を示す第１リソース情報を前記第１物理サーバから取得する取得手段と、前記性能情報記憶手段に記憶され前記第１物理サーバに関連付けられる各リソース情報と前記第１リソース情報とのそれぞれの近似の度合いを示す各指標値と第１判定値との差が最小となるリソース情報に関連付けられた第１頻度情報を抽出する第１抽出手段と、前記性能情報記憶手段に記憶され前記第１物理サーバとは異なる第２物理サーバに関連付けられる各頻度情報と前記第１頻度情報とのそれぞれの近似の度合いを示す各指標値と第２判定値との差が最小となる頻度情報に関連付けられたリソース情報を抽出する第２抽出手段と、前記第２抽出手段によって抽出された前記リソース情報を出力する出力手段と、を備えることを特徴とする情報処理システム。
【００８１】
（付記２）物理サーバ上でシステムコールを実行した頻度を表す頻度情報と、当該システムコールを前記頻度で実行したときに使用された当該物理サーバのリソース量を表すリソース情報と、を関連付けて記憶する性能情報記憶手段と、前記物理サーバ上で仮想サーバが前記システムコールを伴うアプリケーション処理を実行したときに当該物理サーバで使用されたリソース量を示す第１リソース情報を取得する取得手段と、前記第１物理サーバに関連付けられた前記リソース情報が表すリソース量の最大値と、前記取得手段によって取得された前記第１リソース情報が表すリソース量との差分を算出し、前記第１物理サーバに関連付けられた前記リソース情報のうち、算出された差分との乖離度が最小であるリソース量を表す前記リソース情報を前記性能情報記憶手段から選択し、選択された前記リソース情報に関連付けられた前記頻度情報を抽出する第３抽出手段と、前記仮想サーバが前記アプリケーション処理を前記物理サーバ上で実行するときの前記物理サーバ上の空きリソース量を利用して実行可能な前記システムコールの頻度の推測値として、前記第３抽出手段によって抽出された前記頻度情報を出力する出力手段と、を備えることを特徴とする情報処理システム。
【００８２】
（付記３）前記性能情報記憶手段は、複数種の前記リソース情報の集合であるリソース集合を前記頻度情報に関連付けて記憶し、前記取得手段は、複数種の前記第１リソース情報の集合である第１リソース集合を取得し、前記第３抽出手段は、前記第１物理サーバに関連付けられた前記リソース集合に含まれる前記リソース情報が表すリソース量の最大値を種別ごとに抽出し、抽出された前記リソース量の最大値と前記第１リソース集合に含まれる前記第１リソース情報との差分を種別ごとに算出し、前記第１物理サーバに関連付けられ、かつ前記第１リソース集合と同種の前記リソース情報である前記リソース集合の各々と、算出された前記差分の各々との乖離度を夫々算出し、当該乖離度が最小となる前記リソース集合を選択し、選択された前記リソース集合に関連付けられた前記頻度情報を抽出することを特徴とする情報処理システム。
【００８３】
（付記４）前記仮想サーバは、夫々の前記物理サーバ上で複数種の前記システムコールを実行可能であり、前記性能情報記憶手段は、複数種の前記種別情報の集合である種別集合と、前記種別集合に含まれる前記種別情報の夫々に対応する前記頻度情報の集合である頻度集合と、前記リソース情報と、各々の前記物理サーバとを関連付けて記憶し、前記第３抽出手段は、前記性能情報記憶手段から選択された前記リソース情報に関連付けられた前記種別集合と前記頻度集合とを抽出し、前記出力手段は、前記第３抽出手段によって抽出された前記種別集合と前記頻度集合とを出力することを特徴とする情報処理システム。
【符号の説明】
【００８４】
１００  情報処理システム
２００  情報処理システム
１０  通信網
２０  管理サーバ
２１  取得部
２２  抽出部
２３  抽出部
２４  出力部
２５  記憶部
２６  性能情報記憶部
３１〜３ｍ  物理サーバ
４０  管理サーバ
４１  性能特性取得指示部
４２  仮想サーバ稼動部
４３  性能情報計算部
４４  記憶部
４５  仮想サーバイメージ記憶部
４６  性能情報記憶部
４７  時系列性能情報記憶部
４８  負荷情報記憶部
５０  管理クライアント
【図１】
0005413210.tif 000004
【図２】
0005413210.tif 000005
【図３】
0005413210.tif 000006
【図４】
0005413210.tif 000007
【図５】
0005413210.tif 000008
【図６】
0005413210.tif 000009
【図７】
0005413210.tif 000010
【図８】
0005413210.tif 000011