(57)【特許請求の範囲】
【請求項１】
複数の仮想化システムが互いにネットワーク部を介して連携している連携システムの性能を予測するための性能予測装置であって、
前記複数の仮想化システムは、夫々、アプリケーション層とハードウェア層とを有し、
前記性能予測装置は、
前記連携システムにおける各仮想化システムの仮想マシン上で動作する、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能モデルを、仮想化システムごとに生成する第１の性能モデル生成手段と、
前記連携システムにおける各仮想化システムを対象に計測した結果に基づいて、前記ハードウェア層の性能モデルを、仮想化システムごとに生成する第２の性能モデル生成手段と、
前記連携システムを対象に計測した結果に基づいて、前記ネットワーク部の性能モデルを生成する第３の性能モデル生成手段と、
前記複数の仮想化システムの夫々に含まれる前記アプリケーション層および前記ハードウェア層に対し、一方の層の性能モデルにおける出力値を、他方の層の性能モデルの入力値として利用する第１の合成処理と、前記ハードウェア層の性能モデルにおける出力値が入力された前記ネットワーク部の性能モデルにおける出力値を、他の仮想化システムの前記ハードウェア層の性能モデルの入力値として利用する第２の合成処理とにより、該２層間の依存関係および仮想化システム間の依存関係が反映された、前記連携システムの性能モデルを生成する性能モデル合成手段と、を備えることを特徴とする性能予測装置。
【請求項２】
前記性能モデル合成手段は、
前記仮想化システムの前記アプリケーション層の性能モデルにリクエストが入力されるのに応じて、当該仮想化システムのハードウェア層を構成するハードウェアリソースおよびネットワークの使用方法に関する情報を含む第１の処理要求を、当該アプリケーション層の性能モデルに発行させ、
前記仮想化システムの前記ハードウェア層の性能モデルに、前記第１の処理要求に応じた処理を行わせると共に、当該処理の完了に応じて、ネットワークの使用方法に関する情報を含む第２の処理要求を発行させ、
前記ネットワーク部の性能モデルに、前記第２の処理要求に基づいて、他の前記仮想化システムの前記ハードウェア層の性能モデルに対して、前記ネットワーク部を介する通信に関する情報を含む第３の処理要求を発行させ、
前記他の仮想化システムの前記ハードウェア層の性能モデルに、前記第３の処理要求に応じた処理を行わせると共に、当該処理の完了に応じて、前記他の仮想化システムの前記アプリケーション層の性能モデルに対して、処理完了通知を発行させ、
前記第１の処理要求、前記第２の処理要求、前記第３の処理要求、および、前記処理完了通知を利用する合成処理を行うことを特徴とする請求項１に記載の性能予測装置。
【請求項３】
前記性能モデル合成手段は、前記連携システムの性能モデルとして、
前記仮想化システムにおける前記ハードウェア層の性能モデルによって算出された性能指標と、
前記第１の処理要求が前記仮想化システムの前記ハードウェア層の性能モデルに対して発行されてから、前記他の仮想化システムの前記ハードウェア層の性能モデルから前記処理完了通知が発行されるまでの所要時間と、の少なくとも何れかを提示することを特徴とする請求項２に記載の性能予測装置。
【請求項４】
前記性能モデル合成手段は、前記連携システムの性能モデルとして、
前記仮想化システムにおける前記ハードウェア層の性能モデルによって算出された性能指標と、
前記第１の処理要求が前記仮想化システムの前記ハードウェア層の性能モデルに対して発行されてから、当該ハードウェア層の性能モデルから前記処理完了通知が発行されるまでの所要時間と、の少なくとも何れかを提示することを特徴とする請求項２に記載の性能予測装置。
【請求項５】
前記ハードウェア層は、仮想マシンモニタと、物理マシンのハードウェアと、を含むことを特徴とする請求項１から４の何れか１項に記載の性能予測装置。
【請求項６】
前記第２の性能モデル生成手段は、前記複数の仮想化システムの各々に対して計測を行い、当該計測に用いた入力値と、当該入力値に対応する、当該計測によって得られた出力値とに基づいて、仮想化システムにおける前記ハードウェア層の性能モデルを夫々生成する、ことを特徴とする請求項１から５の何れか１項に記載の性能予測装置。
【請求項７】
前記第１の性能モデル生成手段の代わりに、あるいは、前記第１の性能モデル生成手段に加えて更に、各仮想マシンにて動作するアプリケーションの設計情報に基づき生成された、アプリケーション層の性能モデルを、仮想マシン毎に１つ以上格納している記憶手段から、特定の性能モデルを選択する、性能モデル特定手段を備えることを特徴とする、請求項１から６の何れか１項に記載の性能予測装置。
【請求項８】
前記仮想化システムの計測に関わる設定値と、当該計測の実行命令を指定可能な第１の入力内容指定手段と、
前記仮想化システムの設定値である入力値と、当該入力値に対応する出力値とを収集する第１の情報収集手段と、を更に備え、
前記第２の性能モデル生成手段は、前記入力値と、前記出力値とに基づいて、前記ハードウェア層の性能モデルを生成することを特徴とする、請求項１から７の何れか１項に記載の性能予測装置。
【請求項９】
前記連携システムの計測に関わる設定値と、当該計測の実行命令を指定可能な第２の入力内容指定手段と、
前記連携システムの設定値である入力値と、当該入力値に対応する出力値とを収集する第２の情報収集手段と、を更に備え、
前記第３の性能モデル生成手段は、前記入力値と、前記出力値とに基づいて、前記ネットワーク部の性能モデルを生成することを特徴とする、請求項１から８の何れか１項に記載の性能予測装置。
【請求項１０】
複数の仮想化システムが互いにネットワーク部を介して連携している連携システムの性能を予測するための性能予測装置における性能モデル生成方法であって、
前記複数の仮想化システムは、夫々、アプリケーション層とハードウェア層とを有し、
前記性能モデル生成方法は、
前記連携システムにおける各仮想化システムの仮想マシン上で動作する、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能モデルを、仮想化システムごとに生成し、
前記連携システムにおける各仮想化システムを対象に計測した結果に基づいて、前記ハードウェア層の性能モデルを、仮想化システムごとに生成し、
前記連携システムを対象に計測した結果に基づいて、前記ネットワーク部の性能モデルを生成し、
前記複数の仮想化システムの夫々に含まれる前記アプリケーション層および前記ハードウェア層に対し、一方の層の性能モデルにおける出力値を、他方の層の性能モデルの入力値として利用すること、並びに、前記ハードウェア層の性能モデルにおける出力値が入力された前記ネットワーク部の性能モデルにおける出力値を、他の仮想化システムの前記ハードウェア層の性能モデルの入力値として利用することにより、該２層間の依存関係および仮想化システム間の依存関係が反映された、前記連携システムの性能モデルを生成する、ことを特徴とする性能モデル生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、性能予測装置および性能モデル生成方法に関する。
【背景技術】
【０００２】
コンピュータの仮想化技術は、物理マシンを用いて１または複数の仮想的なマシン（仮想化マシン）を動作させる。このような動作を行う環境を有するシステムを仮想化システムと呼ぶ。
【０００３】
このような仮想化システムを用いる場合、物理マシンを構成するハードウェアリソースにおいて、リソース競合や仮想マシンモニタのエミュレーションが発生する。ここで、ハードウェアリソースとは、例えば、当該物理マシンが有するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、記憶装置、メモリ等である。リソース競合とは、例えば、複数トランザクションの同時実行によって発生するハードウェアリソースの競合のことである。また、仮想マシンモニタのエミュレーションとは、仮想マシンモニタが同時に複数の仮想マシンの仮想ハードウェアに対しエミュレートすることである。
【０００４】
非特許文献１には、エミュレーションやリソース競合に関して、物理マシンにおいて動作する仮想マシンが１台増える毎に、ＣＰＵ性能が劣化すること、その劣化が当該仮想マシンにおいて実行されるシステムの性能に影響を及ぼすことが記載されている。
【０００５】
一般に、物理マシンにおいて動作する仮想マシンの台数が増加すれば、その物理マシンを構成するハードウェアの環境をエミュレートする仮想マシンモニタの動作は複雑になると想定される。そして、仮想マシンモニタの動作が複雑になれば、仮想マシンの性能は低下すると考えられる。したがって、仮想化システムの性能予測には、オーバヘッドやリソース競合に対する考慮、および、複数の仮想マシンが動作する状況における性能の予測が必要である。
【０００６】
このような仮想化システムの性能予測方法として、性能モデルを用いる方法がある。ここで、性能モデルとは、仮想化システムへの入力を用いて、性能予測の対象である仮想化システム（対象システム）の性能を予測するモデルである。性能モデルの典型的な例としては、例えば、待ち行列や回帰モデルが挙げられる。このように性能予測に用いる性能モデルの生成方法として、以下に述べる主に２種類の方法が挙げられる。
【０００７】
その方法とは、（１）対象システムの動作を模倣した性能モデルを生成する方法と、（２）対象システムへの入力値と、その入力値に対応する出力値とに基づいて、統計処理や機械学習を利用して、性能モデルを生成する方法である。
【０００８】
まず、（１）対象システムの動作を模倣した性能モデルを生成する方法について説明する。以降、この性能モデルの生成方法を「ホワイトボックスアプローチ」と称する。ホワイトボックスアプローチは、性能モデルの生成に際して、対象システムの動作の詳細（例えば、設計情報等）が明確であることを必要とする。つまり、ホワイトボックスアプローチは、対象システムの動作が明確であれば、他のシステムに置き換えた場合においても、性能モデルを容易に生成できる。
【０００９】
このような特徴を有するホワイトボックスアプローチによって性能モデルを生成する方法の例が、非特許文献２、特許文献２から５に記載されている。
【００１０】
非特許文献２には、待ち行列理論に基づいて、オーバヘッドを考慮した性能モデルを生成する方法が記載されている。
【００１１】
特許文献２には、コンピュータシステムにおけるワークロード毎の測定された応答時間に基づいて、クラス毎の平均サービス需要を推定し、推定した平均サービス需要とワークロードの特徴に基づいてコンピュータシステムの待ち行列モデルを生成する方法が記載されている。
【００１２】
特許文献３には、ストレージ仮想化技術を用いたストレージシステムの各構成要素のモデルを用いて、各モデルのモデル情報に基づいて、ストレージ仮想化装置のモデル化を行い、性能評価を行う方法が記載されている。つまり、特許文献３によれば、モデル化されたストレージ仮想化装置（ストレージ仮想化装置の性能モデル）は、ホワイトボックスアプローチを利用して生成されている。
【００１３】
特許文献４には、物理的なシステムの性能を算出する規則に基づいて、データフローのモデルと仮想サーバモデルとの対応関係の情報、および、仮想サーバモデルのオブジェクトと物理サーバモデルのオブジェクトとの対応関係の情報から性能評価モデルを生成する方法が記載されている。
【００１４】
特許文献５には、階層的な競合資源を持つシステムを、上位層（ソフトウェア部分）と下位層（ハードウェア部分）とに分け、階層ごとに生成した性能評価値を、システム全体の性能評価値とする方法が記載されている。この際、特許文献５では、階層ごとの性能評価値を算出するために使用する近似システム（性能モデル）は、ホワイトボックスアプローチを用いて生成されている。
【００１５】
次に、（２）対象システムへの入力値と、その入力値に対応する出力値とに基づいて、統計処理や機械学習を利用して、性能モデルを生成する方法について説明する。以降、このような性能モデルの生成方法を「ブラックボックスアプローチ」と称する。ブラックボックスアプローチは、実測値を基にモデルを生成する。
【００１６】
ブラックボックスアプローチによって性能モデルを生成する方法の例が、非特許文献３および特許文献６に記載されている。
【００１７】
非特許文献３には、単体の仮想マシンが、仮想マシンモニタにおいて動作している状態における実測値と、線形モデルとを用いて、性能モデルを生成することが記載されている。
【００１８】
特許文献６には、予め収集した負荷データと構成データとに基づいて仮想マシンのオーバヘッドを算出し、負荷データとオーバヘッドとを用いて、負荷を再生する仮想化システムが記載されている。つまり、性能評価を行うために負荷を発生させる。つまり、特許文献６の技術では、実際の運用環境に近い負荷条件の仮想マシン（性能モデル）を、実際の負荷データを利用して生成している。
【００１９】
そして、上述した２種類の生成方法を用いて生成された性能モデルを用いた性能予測方法の例が、特許文献７に記載されている。
【００２０】
特許文献７によれば、予め測定された複数のソフトウェア・コンポーネントのシステム資源使用量から、トランザクションのシステム資源使用量を予測する。そして、特許文献７に記載のシステム性能予測方式では、上記システム性能予測モデルに、予測したシステム資源使用量を入力することにより、当該対象システム全体の性能予測を行う。
【００２１】
また、仮想化システムを、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の一般的なネットワークで連携させたシステム（連携システム）が考えられている。
【００２２】
非特許文献４には、ＷＥＢ３層システムの性能評価を、ホワイトボックス的なアプローチにより生成したホワイトボックスモデルと、ブラックボックス的なアプローチにより生成したブラックボックスモデルとを用いて行うことが記載されている。
【００２３】
また、特許文献１には、クラウドシステム同士を、インターネットを介して通信可能に接続したネットワークシステムにおいて、性能情報に基づいて、異なるクラウドシステム間で仮想マシンを配置する方法が記載されている。
【００２４】
また、仮想化システムの性能予測値算出装置に、オーバヘッドを含んだ性能予測関数や性能モデルを用いる技術が特許文献８に記載されている。
【先行技術文献】
【特許文献】
【００２５】
【特許文献１】特開２０１１−２５７７９２号公報
【特許文献２】特開２０１１−０８６２９５号公報
【特許文献３】特開２００６−１４６３５４号公報
【特許文献４】特開２０１２−１４６０１５号公報
【特許文献５】特開２０００−０２９７５３号公報
【特許文献６】特開２０１０−１２８８６６号公報
【特許文献７】特開２００４−２２０４５３号公報
【特許文献８】特開２０１０−００９１６０号公報
【非特許文献】
【００２６】
【非特許文献１】網代育大、田中淳裕、「仮想計算機環境における資源管理オーバヘッドの評価」、情報処理学会研究報告．ＥＶＡ，［システム評価］、一般社団法人情報処理学会、２００６年６月、Ｖｏｌ．２００６、Ｎｏ．６６、ｐ．１７−２２
【非特許文献２】Febricio Benevenuto、他６名、「Performance Models for Virtualized Applications」、Frontiers of High Performance Computing and Networking - ISPA 2006 Workshops、Springer Berlin Heidelberg、２００６年、Ｖｏｌ．４３３１、ｐ．４２７−４３９
【非特許文献３】Lei Lu、他５名、「Untangling Mixed Informantion to Calibrate Resource Utilization in Virtual Machines」、Proceeding of the 8th ACM international conference on Autonomic computing (ICAC '11)、ＡＣＭ、２０１１年、ｐ．１５１−１６０
【非特許文献４】木村大地、榊啓、矢野尾一男、「ホワイトボックスモデルとブラックボックスモデルの組み合わせによる情報処理システムの性能評価」、情報科学技術フォーラム講演論文集、ＦＩＴ（電子情報通信学会・情報処理学会）運営委員会、２０１１年９月、１０巻、４号、ｐ．５８９−５９０
【発明の概要】
【発明が解決しようとする課題】
【００２７】
仮想化システムを連携させた連携システムでは、各仮想化システムの仮想マシンにおいて動作するアプリケーション同士を連携させるために、仮想化システム同士がネットワークを介して接続される。具体的には、各仮想化システムは、一方の仮想化システムにおける仮想マシン上で実行したアプリケーションの出力値が、他方の仮想化システムにおける仮想マシン上で動作するアプリケーションへの入力値となるように、接続される。
【００２８】
仮想化システムにおいて、複数の仮想マシンが実行されている場合、複数の仮想化システムが含まれる連携システム間の同時接続ユーザ数が増減すると、ネットワーク帯域が不安定になる。仮想化システム間で入出力値のやりとりが発生する場合、ネットワーク帯域が不安定であることが、連携システムの性能のボトルネックとなる可能性がある。つまり、このような連携システムにおいて性能予測を行う場合、各仮想化システムの仮想マシン上で動作するアプリケーション間で入出力値のやり取り等によって生じる仮想化システムの間のネットワークの遅延等を考慮する必要がある。
【００２９】
非特許文献４での性能予測方法では、連携しているシステムが非仮想化システムである。そのため、非特許文献４に記載の技術を採用したとしても、仮想化システムの特徴を考慮した性能予測を行うことは難しい。
【００３０】
また、特許文献１では、連携したクラウドシステム間で入出力が発生する場合については考慮されていない。
【００３１】
また、特許文献２〜８の技術においても、仮想化システムが連携した連携システムにおいて、当該連携した仮想化システム間で入出力が発生する場合については考慮されていない。そのため、連携システムに対する性能予測を好適に行うことができなかった。
【００３２】
本発明は、上記課題に鑑みてなされたものであり、その目的は、異なる仮想化システム間が連携した連携システムにおいて、当該連携システムの性能をより好適に予測することが可能な性能予測装置を実現することにある。
【課題を解決するための手段】
【００３３】
本発明の一態様に係る性能予測装置は、複数の仮想化システムが互いにネットワーク部を介して連携している連携システムの性能を予測するための性能予測装置であって、前記複数の仮想化システムは、夫々、アプリケーション層とハードウェア層とを有し、前記性能予測装置は、前記連携システムにおける各仮想化システムの仮想マシン上で動作する、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能モデルを、仮想化システムごとに生成する第１の性能モデル生成手段と、前記連携システムにおける各仮想化システムを対象に計測した結果に基づいて、前記ハードウェア層の性能モデルを、仮想化システムごとに生成する第２の性能モデル生成手段と、前記連携システムを対象に計測した結果に基づいて、前記ネットワーク部の性能モデルを生成する第３の性能モデル生成手段と、前記複数の仮想化システムの夫々に含まれる前記アプリケーション層および前記ハードウェア層に対し、一方の層の性能モデルにおける出力値を、他方の層の性能モデルの入力値として利用する第１の合成処理と、前記ハードウェア層の性能モデルにおける出力値が入力された前記ネットワーク部の性能モデルにおける出力値を、他の仮想化システムの前記ハードウェア層の性能モデルの入力値として利用する第２の合成処理とにより、該２層間の依存関係および仮想化システム間の依存関係が反映された、前記連携システムの性能モデルを生成する性能モデル合成手段と、を備える。
【００３４】
本発明の一態様に係る性能モデル生成方法は、複数の仮想化システムが互いにネットワーク部を介して連携している連携システムの性能を予測するための性能予測装置における性能モデル生成方法であって、前記複数の仮想化システムは、夫々、アプリケーション層とハードウェア層とを有し、前記性能モデル生成方法は、前記連携システムにおける各仮想化システムの仮想マシン上で動作する、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能モデルを、仮想化システムごとに生成し、前記連携システムにおける各仮想化システムを対象に計測した結果に基づいて、前記ハードウェア層の性能モデルを、仮想化システムごとに生成し、前記連携システムを対象に計測した結果に基づいて、前記ネットワーク部の性能モデルを生成し、前記複数の仮想化システムの夫々に含まれる前記アプリケーション層および前記ハードウェア層に対し、一方の層の性能モデルにおける出力値を、他方の層の性能モデルの入力値として利用すること、並びに、前記ハードウェア層の性能モデルにおける出力値が入力された前記ネットワーク部の性能モデルにおける出力値を、他の仮想化システムの前記ハードウェア層の性能モデルの入力値として利用することにより、該２層間の依存関係および仮想化システム間の依存関係が反映された、前記連携システムの性能モデルを生成する。
【発明の効果】
【００３５】
本発明によれば、異なる仮想化システム間が連携した連携システムにおいて、当該連携システムの性能をより好適に予測することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の第１の実施の形態に係る、連携システムの性能を予測するための性能予測装置の機能構成の一例を示すブロック図である。
【図２】仮想化システム同士がネットワークを介して連携する連携システムの構成を説明するための図である。
【図３】本発明の第１の実施の形態に係る、仮想化システムの前提条件を概念的に説明するための図である。
【図４】本発明の第１の実施の形態に係る性能予測装置の性能モデル合成部が行う合成処理を概念的に説明するための図である。
【図５】本発明の第１の実施の形態においてハードウェア層の性能モデルが出力する性能指標を例示する図である。
【図６】本発明の第２の実施の形態に係る、連携システムの性能を予測するための性能予測装置の機能構成の一例を示すブロック図である。
【図７】本発明の第２の実施の形態に係る性能予測装置による性能モデル生成処理の概要を示すフローチャートである。
【図８】本発明の第２の実施の形態において、ハードウェア層性能モデルの生成処理の流れの一例を示すフローチャートである。
【図９】本発明の第２の実施の形態において、ネットワーク部性能モデルの生成処理の流れの一例を示すフローチャートである。
【図１０】本発明の第２の実施の形態において、性能モデル合成部の合成処理の流れの一例を示すフローチャートである。
【図１１】本発明の第２の実施の形態において、性能モデル合成部の合成処理の流れの一例を示すフローチャートである。
【図１２】本発明の第２の実施の形態において、性能モデル合成部の合成処理の流れの一例を示すフローチャートである。
【図１３】本発明の各実施の形態を実現可能なコンピュータ（情報処理装置）のハードウェア構成を例示的に説明する図である。
【発明を実施するための形態】
【００３７】
＜第１の実施の形態＞
本発明の第１の実施の形態について、図面を参照して詳細に説明する。
【００３８】
図１は、本実施の形態に係る、複数の仮想化システムを連携した連携システムの性能を予測するための性能予測装置の機能構成の一例を示すブロック図である。図１に示す通り、性能予測装置１は、連携システム２に含まれる複数の仮想化システム（仮想化システム２０、２１）と通信可能に接続されている。仮想化システム２０および仮想化システム２１を含む連携システム２は、性能予測装置１が性能を予測する対象（以下、対象システム、または、仮想化環境とも呼ぶ）である。性能予測装置１と連携システム２の各仮想化システムとの接続方法には、例えば、インターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の一般的な通信手段を採用することができる。よって、本実施の形態では、係る通信手段に関する詳細な説明は省略する。
【００３９】
連携システム２について、図２を参照してさらに説明する。図２は、仮想化システム同士がネットワークを介して連携する連携システム２の構成を説明するための図である。図２に示す通り、連携システム２は、複数の仮想化システム（２０、２１）と、ネットワーク部３０１とを含んでいる。各仮想化システムは、ネットワーク（ネットワーク部３０１）を介して互いに通信可能に接続されている。本実施の形態においては、仮想化システム同士を接続しているネットワークをネットワーク部３０１と定義する。なお、図１および図２においては、連携システム２に２つの仮想化システムが含まれる構成について説明しているが、連携システム２に含まれる仮想化システムの数はこれに限定されるものではない。
【００４０】
（仮想化システム２０、２１）
ここで、図３を参照して、本実施の形態に係る仮想化システム２０、２１の概念について説明する。図３は、本発明の第１の実施の形態に係る、一般的な仮想化システムを概念的に説明する図である。本実施の形態では、性能予測装置１によって連携システム２の性能を予測するに際して、その連携システム２を構成する複数の仮想化システム（２０、２１）の構成が階層的な構成をなす、と定義する。以下では、仮想化システム２０についてのみ説明を行うが、仮想化システム２１も仮想化システム２０と同様の構成を有している。
【００４１】
図３では、仮想化システム２０を、一例として、モノリシック・ハイパーバイザ型で構築している。ただし、仮想化システム２０の構成方法は、仮想マシンモニタがホストＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）において動作するホストＯＳ型や、仮想マシンモニタが仮想化環境を提供するための最低限の機能しか持たないマイクロカーネル・ハイパーバイザ型でもよい。即ち、仮想化システム２０の構成方法は、一つの物理マシンにおいて、仮想マシンが動作できる環境が実現できる方法であれば、何れの方法でも採用することができる。
【００４２】
本実施の形態における仮想化システム２０は、一般的な仮想化システムと同様に、仮想マシン２０１と、仮想マシンモニタ（ハイパーバイザ）２０２と、物理マシンのハードウェア２０３という３層をなす。仮想マシン２０１は、図３に示すように、Ｎ台（Ｎは０を除く自然数）であり、台数は限定されない。個々の仮想マシン２０１は、図３に例示するように、ゲストＯＳ環境を提供すると共に、１つ以上の任意のアプリケーション（ＡＰ）を実行することができる。そして、本実施の形態では、このような３層構造をなす仮想化システム２０を、図３において破線で囲まれた、以下の（ａ）および（ｂ）の２層（２階層）として取り扱う。すなわち、
（ａ）仮想マシン２０１によって構成されるアプリケーション層２０４、
（ｂ）仮想マシンモニタ２０２と、物理マシンのハードウェア２０３とによって構成されるハードウェア層２０５。
【００４３】
つまり、３層構造をなす仮想化システム２０を含む連携システム２の性能を予測するに際して、本実施の形態に係る性能予測装置１は、上記仮想化システム２０が上記２層で構成されている、と定義する。
【００４４】
上述した、図２に示すネットワーク部３０１は、仮想化システム２０と仮想化システム２１とを通信可能に接続している。上記仮想化システム間の通信形態は、スイッチやルーター等を介した通信形態でもよい。また、例えば、２つの仮想化システム（２０、２１）を設置しているデータセンタ等の拠点が夫々異なる場合、上記仮想化システム間の通信形態は、通信拠点を跨いだ通信形態であってもよい。
【００４５】
そして、性能予測装置１は、このような定義を前提として、複数の仮想化システム（２０、２１）およびネットワーク部３０１を含む連携システム２の性能を予測するための性能モデルを生成する。ここで、性能予測装置１への定義の仕方としては、例えば、複数の仮想化システム（２０、２１）の夫々において、仮想マシン２０１をアプリケーション層２０４と関連づけて登録し、仮想マシンモニタ２０２と、物理マシンのハードウェア２０３とをハードウェア層２０５と関連付けて登録すればよい。
【００４６】
（性能予測装置１）
性能予測装置１は、図１に示す通り、ネットワーク部性能モデル生成部（第３の性能モデル生成手段）３と、ハードウェア層性能モデル生成部（第２の性能モデル生成手段）４と、アプリケーション層性能モデル生成部（第１の性能モデル生成手段）５と、性能モデル合成部６と、を備えている。
【００４７】
本実施の形態における性能モデルの生成には、少なくとも、システムの動作の詳細を模倣する性能モデルを作成するホワイトボックスアプローチと、性能予測対象のシステムの実測値により性能モデルを構築するブラックボックスアプローチとを用いることとする。性能モデルの生成には、例えば、待ち行列理論や回帰分析手法などを採用することができる。なお、本実施の形態における性能モデル生成方法は、一般的な手法を採用するため、詳細な説明を省略する。
【００４８】
ネットワーク部性能モデル生成部３は、連携システム２を計測した結果に基づいて、ネットワーク部３０１の性能モデル（図４における３００）を生成する。具体的には、ネットワーク部性能モデル生成部３は、連携システム２の計測によって得られた結果に基づいて、上述したブラックボックスアプローチによって、ネットワーク部３０１の性能モデルを生成する。
【００４９】
ネットワーク部性能モデル生成部３は、生成した性能モデル（ネットワーク部性能モデル３００）を性能モデル合成部６に供給する。
【００５０】
ハードウェア層性能モデル生成部４は、仮想化システム２０、２１を夫々計測した結果に基づいて、当該ハードウェア層の性能モデル（図４における４００、４０１）を生成する。具体的には、ハードウェア層性能モデル生成部４は、仮想化システム２０の計測によって得られた実測値に基づいて、上述したブラックボックスアプローチによって、ハードウェア層の性能モデル（４００）を生成する。同様に、ハードウェア層性能モデル生成部４は、仮想化システム２１の計測によって得られた実測値に基づいて、ハードウェア層の性能モデル（４０１）を生成する。
【００５１】
ハードウェア層性能モデル生成部４は、生成した性能モデル（ハードウェア層性能モデル４００、４０１）を性能モデル合成部６に供給する。
【００５２】
本実施の形態において、ブラックボックスアプローチによる性能モデルの生成（モデル生成とも呼ぶ）とは、上述したとおり、任意のシステムへの入力値と、その入力値に対応する出力値とに基づいて、統計処理や機械学習によってモデルを生成する手法である。ブラックボックスアプローチによるモデル生成手法では、例えば、回帰分析やニューラルネットワーク、遺伝的アルゴリズムを用いることができる。なお、上記モデル生成手法は、これに限定されるものではなく、同様のアプローチ方法が実現できる手法であればよい。
【００５３】
アプリケーション層性能モデル生成部５は、仮想化システム２０、２１にて実行される仮想マシンにおいて動作するアプリケーションに関する情報に基づいて、当該アプリケーション層の各仮想マシン２０１の性能モデル（図４における５００、５０１）を生成する。
【００５４】
より具体的に、アプリケーション層性能モデル生成部５は、オペレータ等の操作に応じて、仮想化システム２０において実行される仮想マシン２０１上で動作するアプリケーションに関する情報に基づいて、上述したホワイトボックスアプローチによって、アプリケーション層の性能モデル（５００）を仮想マシン２０１毎に生成する。同様に、アプリケーション層性能モデル生成部５は、仮想化システム２１において実行される仮想マシン２０１上で動作するアプリケーションに関する情報に基づいて、アプリケーション層の性能モデル（５０１）を仮想マシン２０１毎に生成する。
【００５５】
本実施の形態において、ホワイトボックスアプローチによるモデル生成とは、上述したとおり、任意のシステムの設計情報を基に当該任意のシステムの動作を模倣したモデル生成手法である。ホワイトボックスアプローチによるモデル生成手法では、例えば、待ち行列理論やペトリネットを用いることができる。なお、上記モデル生成手法は、これに限定されるものではなく、同様のアプローチ方法が実現できる手法であればよい。
【００５６】
アプリケーション層性能モデル生成部５は、生成した性能モデル（アプリケーション層性能モデル５００、５０１）を性能モデル合成部６に供給する。
【００５７】
性能モデル合成部６は、仮想化システム２０のアプリケーション層２０４およびハードウェア層２０５に対し、一方の層の性能モデルにおける出力値を、他方の層の性能モデルの入力値として利用する合成処理（第１の合成処理）を行う。さらに、性能モデル合成部６は、ある仮想化システム（例えば、仮想化システム２０）のハードウェア層２０５の性能モデル（４００）における出力値が入力されたネットワーク部３０１の性能モデル（３００）における出力値を、他の仮想化システム（例えば、仮想化システム２１）のハードウェア層２０５の性能モデル（４０１）における入力値として利用する合成処理（第２の合成処理）を行う。これらの合成処理により、性能モデル合成部６は、各仮想化システムにおける２層間の依存関係と、仮想化システム間の依存関係とが反映された、連携システム２の性能モデル（６００）を生成する。以下、本実施の形態において、（１）ハードウェア層２０５の性能モデル（４００、４０１）と、アプリケーション層２０４の性能モデル（５００、５０１）との間の依存関係、および、（２）ネットワーク部３０１の性能モデル（３００）と、ハードウェア層２０５の性能モデル（４００、４０１）との間の依存関係、を考慮した性能モデルの生成処理を、合成（合成処理）と称することがある。
【００５８】
性能モデル合成部６の処理について、図４を参照して、更に詳細に説明する。
【００５９】
一般的に、仮想化システムにおいて、アプリケーション層２０４にて実行される仮想マシン２０１は、ハードウェア層２０５を構成する物理マシンのハードウェアリソースを利用することによって、アプリケーションを実行する。また、連携システム２において、一方の仮想化システムにおけるハードウェア層２０５が、ネットワークを介して、他方の仮想化システムにおけるハードウェア層２０５に処理を要求することによって、２つの仮想化システムにおける仮想マシンで動作するアプリケーションを連携させた処理を実行する。そのため、アプリケーション層２０４とハードウェア層２０５との間、並びに、２つの仮想化システムの間にはそれぞれ依存関係がある。つまり、アプリケーション層２０４とハードウェア層２０５の間や、２つの仮想化システムの間を、別々に分けた状態では、性能を予測すべき対象である連携システム２の性能を、好適に予測することはできない。
【００６０】
そのため、本実施の形態に係る性能予測装置１の性能モデル合成部６は、仮想化システム２０、２１の夫々において、アプリケーション層２０４の性能モデル（５００、５０１）と、ハードウェア層２０５の性能モデル（４００、４０１）と、ネットワーク部３０１の性能モデル（３００）とを用いて連携システム２の性能モデル（６００）を生成する。これにより、連携システム２の性能予測を可能とする。
【００６１】
図４は、性能モデル合成部６が行う合成処理を概念的に説明するための図である。以下では、仮想化システム２０のアプリケーション層２０４の性能モデル（アプリケーション層性能モデル５００）にリクエストが入力される場合について説明する。
【００６２】
性能モデル合成部６は、仮想化システム２０に入力されたリクエストにしたがって、アプリケーション層性能モデル５００を用いて、連携処理要求（第１の処理要求）７００を出力する。性能モデル合成部６は、連携処理要求７００を、ハードウェア層性能モデル４００の入力値として利用する。連携処理要求７００は、ハードウェア層２０５のハードウェアリソースをアプリケーション層性能モデル５００がどのように使用するかに関する情報を含む。
【００６３】
そして、性能モデル合成部６は、連携処理要求７００を、ハードウェア層性能モデル４００を用いて合成処理する。性能モデル合成部６は、上記合成処理後、ハードウェア層性能モデル４００からネットワーク処理要求（第２の処理要求）７０１を出力する。ネットワーク処理要求７０１は、連携システム２のネットワーク部３０１を介するプロセスが、ネットワークをどのように使用するかについての情報を含む。
【００６４】
性能モデル合成部６は、ハードウェア層性能モデル４００から出力されたネットワーク処理要求７０１を、ネットワーク部性能モデル３００への入力値として利用する。性能モデル合成部６は、ネットワーク処理要求７０１を、ネットワーク部性能モデル３００を用いて処理する。性能モデル合成部６は、当該処理が完了すると、ネットワーク部性能モデル３００からネットワーク処理完了通知（第３の処理要求）７０２を出力する。ネットワーク処理完了通知７０２は、仮想化システム２１のハードウェア層性能モデル４０１への入力値となる。前記ネットワーク処理完了通知７０２には、仮想化システム２０がネットワーク部３０１を介して通信する場合の、オーバヘット等に関する情報を含む。
【００６５】
そして、性能モデル合成部６は、仮想化システム２１において、ネットワーク処理完了通知７０２を、ハードウェア層性能モデル４０１を用いて処理する。性能モデル合成部６は、当該処理が完了すると連携処理完了通知７０３を出力する。その後、性能モデル合成部６は、ネットワーク通信に関する処理が完了したことを示す連携処理完了通知７０３をアプリケーション層性能モデル５０１へ入力する。
【００６６】
また、性能モデル合成部６は、仮想化システム２１のハードウェア層性能モデル４０１に入力されたネットワーク処理完了通知７０２に応じて、ハードウェア層性能モデル４０１に、連携システム２の性能を予測することが可能な性能指標を、算出させる。
【００６７】
なお、図４に示す例では、仮想化システム２０のアプリケーション層性能モデル５００にリクエストが入力される場合について説明したが、仮想化システム２１のアプリケーション層性能モデル５０１にリクエストが入力されてもよい。その場合、上記で説明した仮想化システム２０と仮想化システム２１、ハードウェア層性能モデル４００とハードウェア層性能モデル４０１、アプリケーション層性能モデル５００とアプリケーション層性能モデル５０１、を夫々入れ替えることにより、性能モデル合成部６は、ハードウェア層性能モデル４００に、連携システム２の性能を予測することが可能な性能指標を、算出させることができる。
【００６８】
図４を用いて説明したとおり、リクエストがアプリケーション層性能モデル５００に入力された場合、性能モデル合成部６は、仮想化システム２０に対応する性能モデルを用いた処理を行い、仮想化システム２１に出力する。このとき、アプリケーション層性能モデル５００に入力されたリクエストの内容によっては、仮想化システム２１に対応する性能モデルを用いた処理から、仮想化システム２０に対応する性能モデルを用いた処理へ処理が戻ることもある。つまり、アプリケーション層性能モデル５００へのリクエスト内容により、ネットワーク処理要求７０１がハードウェア層性能モデル４００からネットワーク部３０１へ発行された時点で、以下の（１）、（２）の場合がある。すなわち、
（１）仮想化システム２１のハードウェア層性能モデル４０１からの通知を受けずに、仮想化システム２０のハードウェア層性能モデル４００からアプリケーション層性能モデル５００に、連携処理完了通知７０７が発行される場合、
（２）仮想化システム２１のハードウェア層性能モデル４０１から処理完了の通知を受けて、仮想化システム２０のハードウェア層性能モデル４００からアプリケーション層性能モデル５００に、連携処理完了通知７０７が発行される場合。
【００６９】
上記（１）または（２）は、仮想化システム２０の仮想マシンで動作するアプリケーションに入力されるリクエストの処理プロセスの内容により決定する。
【００７０】
（２）の場合、性能モデル合成部６は、連携処理要求７０４をアプリケーション層性能モデル５０１からハードウェア層性能モデル４０１に入力する。その後性能モデル合成部６は、ネットワーク処理要求７０５をハードウェア層性能モデル４０１からネットワーク部性能モデル３００に入力する。そして、性能モデル合成部６は、ネットワーク処理完了通知７０６をネットワーク部性能モデル３００からハードウェア層性能モデル４００に入力する。その後、性能モデル合成部６は、ネットワーク通信に関する処理が完了したことを示す連携処理完了通知７０７をハードウェア層性能モデル４００からアプリケーション層性能モデル５００に入力する。また、性能モデル合成部６は、仮想化システム２０のハードウェア層性能モデル４００に入力されたネットワーク処理要求７０５に応じて、ハードウェア層性能モデル４００に、連携システム２の性能を予測することが可能な性能指標を、算出させる。
【００７１】
上記（１）の場合、上述した仮想化システム２０の性能モデルを用いた処理と、仮想化システム２１の性能モデルを用いた処理とは、並行して行われる。したがって、性能モデル合成部６は、ネットワーク通信に関する処理が完了したことを示す連携処理完了通知７０３、７０７を、夫々、アプリケーション層性能モデル５０１、５００へ入力する。
【００７２】
このように、性能モデル合成部６は、連携システム２の性能を予測することが可能な性能指標を、オペレータ等に提供することができる。ここで、性能モデル合成部６は、性能指標として、例えば、ハードウェアリソースの使用率、ＴＡＴ（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ）、スループット等を採用してもよい。上記性能指標を、図５に例示する。図５は、第１の実施の形態においてハードウェア層性能モデル４００、４０１が算出する性能指標を例示する図である。図５に示す例では、同一のシステムに対して、クライアント数を増やした場合の、「ＣＰＵ使用率（％）」「ディスク容量（％）」「ＴＡＴ（ｍｓ：ミリ秒）」を表す。なお、オペレータ等への提供方法は、図示しない表示手段を用いて提供する構成であってもよいが、本発明はこれに限定されるものではない。
【００７３】
本実施の形態に係る性能予測装置１の性能モデル合成部６は、各仮想化システムにおけるアプリケーション層性能モデル５００、５０１と、ハードウェア層性能モデル４００、４０１、ネットワーク部性能モデル３００とに対し、一方の層の性能モデルにおける出力値を、他方の層の性能モデルの入力値として利用し、更に、一方の仮想化システムの出力値を、他方の仮想化システムにおける入力値として利用する合成処理を行う。このような構成によって、性能モデル合成部６は、仮想化システム間および２層間の依存関係が反映された、連携システム２の性能モデル（システム性能モデル６００）を生成する。
【００７４】
（効果）
本実施の形態に係る連携システム２は、上述したとおり、複数の仮想化システムが互いにネットワーク部を介して連携している。そして、複数の仮想化システムは、夫々、アプリケーション層とハードウェア層とを有している。
【００７５】
このような連携システム２の性能を予測するための性能予測装置１によれば、より好適に、連携システム２の性能を予測することができる。
【００７６】
なぜならば、本実施の形態に係る性能予測装置１が、ネットワーク部性能モデル生成部３と、ハードウェア層性能モデル生成部４と、アプリケーション層性能モデル生成部５と、性能モデル合成部６と、を備えているからである。
【００７７】
アプリケーション層性能モデル生成部５は、連携システム２における各仮想化システム（２０、２１）の仮想マシン２０１上で動作する、アプリケーションに関する情報に基づいて、アプリケーション層２０４のアプリケーション層性能モデル（５００、５０１）を、仮想化システム（２０、２１）ごとに生成する。ハードウェア層性能モデル生成部４は、連携システム２における各仮想化システム（２０、２１）を対象に計測した結果に基づいて、ハードウェア層２０５のハードウェア層性能モデル（４００、４０１）を、仮想化システム（２０、２１）ごとに生成する。ネットワーク部性能モデル生成部３は、連携システム２を対象に計測した結果に基づいて、ネットワーク部３０１のネットワーク部性能モデル３００を生成する。
【００７８】
そして、性能モデル合成部６は、複数の仮想化システム（２０、２１）の夫々に含まれるアプリケーション層２０４およびハードウェア層２０５に対し、一方の層の性能モデルにおける出力値を、他方の層の性能モデルの入力値として利用する合成処理（第１の合成処理）を行う。また、性能モデル合成部６は、ハードウェア層性能モデル（４００または４０１）における出力値が入力されたネットワーク部性能モデル３００における出力値を、他の仮想化システムのハードウェア層性能モデル（４０１または４００）の入力値として利用する合成処理（第２の合成処理）を行う。これにより、性能モデル合成部６０は、該２層間の依存関係および仮想化システム間の依存関係が反映された、連携システム２の性能モデル（システム性能モデル６００）を生成する。
【００７９】
したがって、本実施の形態に係る性能予測装置１によれば、上記システム性能モデル６００を用いて、連携システム２の性能を好適に予測できる。
【００８０】
また、本実施の形態における性能予測装置１は、ホワイトボックスアプローチを採用して、アプリケーション層２０４で動作する仮想マシン２０１で実行されるアプリケーション情報を用いて、アプリケーション層性能モデル５００、５０１を生成している。ホワイトボックスアプローチを用いて生成した性能モデルは、一般に、仮想マシン毎にシステム構成が明確である。ここで、アプリケーション層２０４において複数台の仮想マシン２０１が動作する環境において、例えば、仮想マシン２０１の追加や削除といった仮想マシンの構成の変更があった場合について説明する。この時、アプリケーション層性能モデル生成部５は、追加／削除された仮想マシン２０１のアプリケーション層性能モデルを追加／削除することにより、ハードウェア層２０５に対する性能モデルを作成することができる。よって、本実施の形態によれば、ブラックボックスアプローチを採用した場合に必要となる、仮想マシン２０１の台数に応じて仮想化システム２０、２１を計測し直すといった、手間を要しない。
【００８１】
また、本実施の形態における性能予測装置１は、ブラックボックスアプローチを用いて、ハードウェア層性能モデル４００、４０１とネットワーク部性能モデル３００とを生成する。ホワイトボックスアプローチによってハードウェア層２０５に関する性能モデルを生成した場合、動作が複雑な各構成要素（仮想マシンモニタ２０２、物理マシンのハードウェア２０３、ネットワーク部３０１、等）の仕様を、モデルの生成に先だって明確に設定する必要がある。しかしながら、本実施の形態のように、ブラックボックスアプローチを用いて生成した性能モデルは、実測値を用いてモデルを生成する。そのため、動作が複雑な各構成要素について動作が不明確なままでも、ハードウェア層性能モデル４００、４０１とネットワーク部性能モデル３００とを生成することができる。したがって、（ａ）仮想マシンモニタ２０２のエミュレーション、（ｂ）物理マシンのハードウェア２０３におけるリソース競合、（ｃ）ネットワーク部３０１でのオーバヘッド等の詳細を明示的に記述することなく、性能予測装置１は、これらが及ぼす性能への影響が正しく考慮されたハードウェア層性能モデル４００、４０１とネットワーク部性能モデル３００とを生成できる。
【００８２】
そして、本実施の形態における仮想化環境の性能モデル合成部６は、仮想化システム（２０、２１）の、アプリケーション層性能モデル（４００、４０１）と、ハードウェア層性能モデル（５００、５０１）と、ネットワーク部性能モデル３００とを利用する合成処理により、仮想化システムにおける各層間の依存性と仮想化システム間の依存性とが考慮された、システム性能モデル６００を生成する。すなわち、本実施の形態によれば、このように生成されたシステム性能モデル６００を用いて、連携システム２の性能を好適に予測することができる。
【００８３】
このように、本実施の形態によれば、アプリケーション層２０４とハードウェア層２０５とにおける仮想化システム２０または仮想化システム２１、並びに、ネットワーク部３０１の動作の特徴を考慮した性能予測方法が採用される。したがって、本実施の形態に係る性能予測装置１によれば、オーバヘッドや、リソース競合の詳細についてオペレータ等が明確に把握していない場合であっても、連携システム２の性能を予測することが可能である。なお、本実施の形態におけるオーバヘッドとは、例えば、物理マシンのハードウェア２０３によって発生するオーバヘッドや、仮想マシンモニタ２０２におけるエミュレーションによって発生するオーバヘッド、ネットワーク部３０１における複数プロセスの同時実行によるオーバヘッドが想定される。また、リソース競合とは、例えば、複数トランザクションの同時実行により発生するハードウェアリソースの競合や、仮想マシンモニタ２０２が同時に複数の仮想マシンの仮想ハードウェアをエミュレーションすることによるソフトウェアの競合が想定される。
【００８４】
＜第２の実施の形態＞
次に、上述した第１の実施の形態に係る性能予測装置１を基本とする第２の実施の形態について説明する。なお、説明の便宜上、前述した第１の実施の形態で説明した図面に含まれる部材と同じ機能を有する部材については、同じ符号を付し、その説明を省略する。なお、本実施の形態において、性能予測装置１０が性能を予測する対象となる連携システム２に含まれる各仮想化システムは、第１の実施の形態と同様、図３に例示した２層（アプリケーション層２０４およびハードウェア層２０５）により構成されることを前提条件とする。
【００８５】
（性能予測装置１０）
図６は、本発明の第２の実施の形態に係る性能予測装置１０の機能構成を示すブロック図である。図６に示す通り、性能予測装置１０は、ネットワーク部性能モデル生成部３０、ネットワーク部入力内容指定部３１、ネットワーク部情報収集部３２、ハードウェア層性能モデル生成部４０、ハードウェア層性能モデル生成部４１、記憶部５１、アプリケーション層性能モデル特定部５２、性能モデル合成部６０、入力内容指定部１１０、入力内容指定部１１１、情報収集部４１０、情報収集部４１１、を備えている。
【００８６】
なお、本実施の形態においては、記憶部５１が性能予測装置１０の内部に構成されていることを例に説明を行うが、記憶部５１は、性能予測装置１０の外部の記憶装置などによって実現されてもよい。この場合、アプリケーション層性能モデル特定部５２は、上記記憶装置を参照すればよい。
【００８７】
また、本実施の形態における性能予測装置１０は、第１の実施の形態と同様に、連携システム２と通信可能に接続されている。また、性能予測装置１０は、オペレータ等９からの指示を受け付けるように構成されている。
【００８８】
（入力内容指定部１１０、１１１）
入力内容指定部（第１の入力内容指定手段）１１０、１１１は、夫々、オペレータ等９に対するユーザインタフェース（ＵＩ、マンマシンインタフェース）として機能を有する。オペレータ等９は、仮想化システム２０、２１の夫々に関する実測値を計測する際に、入力内容指定部１１０または入力内容指定部１１１を用いて、計測に関連する内容を指定することができる。よって、入力内容指定部１１０を用いたオペレータ等９による入力操作により、仮想化システム２０には、仮想化システム２０の実測値（例えば、各リソースの使用率、スループット、ＴＡＴ等）の計測にかかわる設定値や、計測等の実行命令に関する内容が指定される。同様に、入力内容指定部１１１を用いたオペレータ等９による入力操作により、仮想化システム２１には、仮想化システム２１の実測値の計測にかかわる設定値や、計測等の実行命令に関する内容が指定される。
【００８９】
なお、入力内容指定部１１０、１１１に対し、オペレータ等９による入力（指定）が行われることを例に説明を行ったが、本発明はこれに限定されない。入力内容指定部１１０、１１１に対し、ＬＡＮやインターネットを介したサーバ等の外部装置からの命令が入力されてもよい。
【００９０】
また、入力内容指定部１１０、１１１は、指定された内容（入力内容）を、夫々、仮想化システム２０、２１に入力（設定）する。具体的には、入力内容指定部１１０は、オペレータ等９の操作によって入力された、仮想化システム２０の計測にかかわる設定値、計測の実行を指示する命令（リクエスト）等を、仮想化システム２０に設定する。同様に、入力内容指定部１１１は、仮想化システム２１の計測にかかわる設定値、計測の実行を指示する命令等を、仮想化システム２１に設定する。これにより、仮想化システム２０、２１は、夫々、入力内容指定部１１０、１１１によって入力された情報に基づいて、仮想化システム２０、２１の計測を行う。
【００９１】
なお、上記入力を用いて、仮想化システム２０から出力される実測値であって、計測の結果で得られた実測値は、ハードウェア層性能モデル生成部４０によるハードウェア層性能モデル４００の生成に利用される。また、仮想化システム２１から出力される実測値であって、計測の結果で得られた実測値は、ハードウェア層性能モデル生成部４１によるハードウェア層性能モデル４０１の生成に利用される。
【００９２】
仮想化システム２０、２１の夫々における実測値の計測は、後述する性能モデル合成部６０による合成処理に先立って行われてもよい。計測の内容としては、仮想化システム２０、２１の夫々で動作する仮想マシン２０１におけるベンチマークソフトを用いた、ベンチマークテストが挙げられる。このベンチマークソフトは、例えば、ＣＰＵ、記憶装置、通信ネットワーク等のように、仮想化システム２０、２１の夫々に関係する各種のハードウェアリソースに負荷を与えることか可能なソフトウェア（コンピュータ・プログラム）であってもよい。本実施の形態においては、ベンチマークソフトとしては、特定のハードウェアリソースの負荷状況を再現できる任意のソフトウェア（コンピュータ・プログラム）を採用するとするが、本発明はこれに限定されるものではない。仮想化システム２０、２１の夫々における実測値の計測方法は、一般的な手順を採用することができるので、本実施の形態における詳細な説明は省略する。
【００９３】
なお、本実施の形態においては、入力内容指定部１１０と入力内容指定部１１１とを別個の部材で実現することを例に説明を行ったが、本発明はこれに限定されるものではない。入力内容指定部１１０と入力内容指定部１１１とは、同じ部材で実現されてもよい。この場合、入力内容指定部は、どの仮想化システムに関する入力かを判別し、当該入力に対応する仮想化システムに対し、入力内容を設定する。
【００９４】
（情報収集部４１０、４１１）
情報収集部４１０、４１１は、夫々、仮想化システム２０、２１に対して計測された実測値を収集する。ここで、実測値とは、入力内容指定部１１０、１１１の夫々に対する入力内容に応じて、夫々実行される仮想化システム２０、２１に関するベンチマークテストにおける入力値と、その入力値に対する出力値との対をなす情報である。情報収集部４１０は、仮想化システム２０から上述した実測値として、仮想化システム２０への入力値と、その入力値に対応する出力値とを収集する。また、情報収集部４１１は、仮想化システム２１から上述した実測値として、仮想化システム２１への入力値と、その入力値に対応する出力値とを収集する。
【００９５】
ここで、入力値とは、仮想化システム２０、２１を夫々構成する各ハードウェアリソースに対する要求（ハードウェア資源の使用方法に関する情報を含んだ情報）を含んでいる。
【００９６】
なお、情報収集部４１０は、この入力値を、仮想化システム２０から収集する構成について、説明を行ったが、本発明はこれに限定されるものではない。情報収集部４１０は、上記入力値を、入力内容指定部１１０から収集する構成であってもよい。同様に、情報収集部４１１は、上記入力値を、入力内容指定部１１１から収集する構成であってもよい。
【００９７】
また、入力値に対応する出力値とは、例えば、各ハードウェアリソースの使用率、スループット、ＴＡＴ等である。
【００９８】
情報収集部４１０、４１１の夫々は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等のコンピュータ読み取り可能な記憶媒体（例えば、記憶部５１）に、収集した実測値（即ち、各仮想化システム（２０、２１）への入力値と、その入力値に対応する出力値）を記憶する機能を有する。また、情報収集部４１０は、これらの情報の収集が終了（入力内容指定部１１０が指定した計測が完了）したことを契機に、収集した実測値を、ハードウェア層性能モデル生成部４０に供給する。同様に、情報収集部４１１は、これらの情報の収集が終了（入力内容指定部１１１が指定した計測が完了）したことを契機に、収集した実測値を、ハードウェア層性能モデル生成部４１に供給する。
【００９９】
なお、本実施の形態においては、情報収集部４１０と情報収集部４１１とを別個の部材で実現することを例に説明を行ったが、本発明はこれに限定されるものではない。情報収集部４１０と情報収集部４１１とは、同じ部材で実現されてもよい。この場合、情報収集部は、どの仮想化システムからの情報を収集するかを判別し、対応する仮想化システムに対する実測値を対応するハードウェア層性能モデル生成部に供給する。
【０１００】
（ハードウェア層性能モデル生成部４０、４１）
ハードウェア層性能モデル生成部４０、４１は、夫々、第１の実施の形態におけるハードウェア層性能モデル生成部４と同様の処理を行う。ハードウェア層性能モデル生成部４０は、情報収集部４１０から入力された情報（上述した実測値）に基づいて、ブラックボックスアプローチにより、ハードウェア層性能モデル４００を生成する。同様に、ハードウェア層性能モデル生成部４１は、情報収集部４１１から入力された情報に基づいて、ハードウェア層性能モデル４０１を生成する。
【０１０１】
実測値は、上述したとおり、仮想化システム２０または仮想化システム２１への入力値と、その入力値に対応する出力値とを含む。入力値は、上述したとおり、ハードウェアリソースに対する要求（ハードウェア資源の使用方法に関する情報を含んだ情報）を含むデータである。出力値は、各リソースの使用率、スループットやＴＡＴ等を表すデータである。ハードウェア層性能モデル生成部４０は、これらの入力値を用いて、例えば、ニューラルネットワーク、遺伝的アルゴリズム、多項式関数、回帰分析等の演算処理によってハードウェア層性能モデル４００を生成する。同様に、ハードウェア層性能モデル生成部４１は、これらの入力値を用いて、ハードウェア層性能モデル４０１を生成する。ただし、本実施の形態において、ハードウェア層性能モデル４００、４０１の生成方法は、これらの演算処理に限定されず、実測値を用いた同様のアプローチによってハードウェア層性能モデル４００、４０１を実現する方法であればよい。
【０１０２】
そして、ハードウェア層性能モデル生成部４０およびハードウェア層性能モデル生成部４１は、夫々、生成したハードウェア層性能モデル４００およびハードウェア層性能モデル４０１を性能モデル合成部６０に供給する。
【０１０３】
なお、本実施の形態においては、ハードウェア層性能モデル生成部４０と、ハードウェア層性能モデル生成部４１とを別個の部材で実現することを例に説明を行ったが、本発明はこれに限定されるものではない。ハードウェア層性能モデル生成部４０と、ハードウェア層性能モデル生成部４１とは、同じ部材で実現されてもよい。この場合、ハードウェア層性能モデル生成部は、どの仮想化システムに対応するハードウェア層性能モデルを生成するのかを判別し、対応する仮想化システムのハードウェア層性能モデルを生成する。
【０１０４】
（記憶部５１）
記憶部５１は、例えば、コンピュータ読み取り可能な記憶媒体であるハードディスク装置で実現される記憶手段である。記憶部５１は、性能モデル群５１０を記憶している。
【０１０５】
記憶部５１に記憶された性能モデル群５１０は、アプリケーション層２０４において動作する仮想マシン２０１で実行されるアプリケーションの設計情報等を用いて生成される。また、性能モデル群５１０は、アプリケーション層性能モデル５００、５０１として特定可能な候補の集合である。つまり、性能モデル群５１０は、仮想化システム２０および仮想化システム２１の夫々におけるアプリケーション層２０４の仮想マシン２０１において動作するアプリケーションの振る舞いを模倣した構成を有するモデルの集合である。
【０１０６】
本実施の形態において、性能モデル群５１０をなす個々のアプリケーション層性能モデル５００、５０１は、第１の実施の形態において説明したアプリケーション層性能モデル５００、５０１と同様に、上述したホワイトボックスアプローチによって生成される。本実施の形態においては、性能予測装置１０は、例えば、性能モデル群５１０を構成するアプリケーション層性能モデルを後述する性能モデル合成部６０による合成処理に先立って、ホワイトボックスアプローチを用いた一般的な手段により求めてもよい。なお、以下では、アプリケーション層性能モデル５００、５０１が、夫々、ホワイトボックスアプローチを用いて生成されたものとして説明を行う。
【０１０７】
つまり、記憶部５１は、ホワイトボックスアプローチを用いて生成された仮想化システム２０の仮想マシン２０１において動作する可能性のあるアプリケーションのアプリケーション層性能モデル５００を１または複数、記憶している。また、記憶部５１は、ホワイトボックスアプローチを用いて生成された仮想化システム２１の仮想マシン２０１において動作する可能性のあるアプリケーションのアプリケーション層性能モデル５０１を１または複数、記憶している。
【０１０８】
性能モデル群５１０には、仮想マシン２０１で実行されるアプリケーションの設計情報に従って、例えば、待ち行列やペトリネットなどを利用して生成した性能モデルを採用することができる。なお、本実施の形態における性能モデル群５１０の生成方法は、上記に限定されない。性能モデル生成方法は、入力に対する解析計算やシミュレーション等の予め決められた手順で出力が決定される、という任意の方法を採用してもよい。
【０１０９】
（アプリケーション層性能モデル特定部５２）
アプリケーション層性能モデル特定部５２は、オペレータ等９に対するユーザインタフェース（ＵＩ、マンマシン）としての機能を有する。オペレータ等９は、アプリケーション層性能モデル特定部５２を用いて、仮想化システム２０、２１の夫々のアプリケーション層２０４にて実行される、仮想マシン２０１において動作するアプリケーションに関する情報等を指定することができる。アプリケーション層性能モデル特定部５２を用いたオペレータ等９による入力操作により、アプリケーション層性能モデル特定部５２は、その入力内容に対応するまたは一致するアプリケーション層性能モデル５００、５０１を、性能モデル群５１０から特定し、取得する。
【０１１０】
具体的には、アプリケーション層性能モデル特定部５２は、オペレータ等９の操作に応じて、仮想化システム２０および仮想化システム２１の夫々の仮想マシン２０１にて動作するアプリケーションに関する情報に基づいて記憶部５１を参照する。そして、アプリケーション層性能モデル特定部５２は、性能モデル群５１０の中から、上記アプリケーションに関する情報に関連付けられた、特定のアプリケーション層性能モデル５００、５０１を特定する。そして、アプリケーション層性能モデル特定部５２は、記憶部５１から、特定したアプリケーション層性能モデル５００、５０１を夫々取得する。
【０１１１】
また、アプリケーション層性能モデル特定部５２は、上記取得したアプリケーション層性能モデル５００、５０１を、性能モデル合成部６０に供給する。
【０１１２】
ここで、オペレータ等９から指示された情報（入力内容）とは、仮想化システム２０、２１の夫々におけるアプリケーション層２０４にて実行される仮想マシン２０１のアプリケーションに関する情報である。
【０１１３】
そして、入力内容に対応するアプリケーション層性能モデル５００、５０１とは、性能を予測すべき対象となる仮想マシン２０１毎のシステム内容を表す。このシステム内容は、当該仮想マシン２０１毎に異なる。したがって、対応するアプリケーション層性能モデル５００、５０１もシステム毎（仮想マシン２０１毎）に異なる。例えば、仮想化システム２０、２１の夫々におけるアプリケーション層２０４において、仮想マシン２０１が３台稼働している場合を考える。この時、これら３台の仮想マシン２０１におけるアプリケーションの情報と同じ内容の情報にマッチするアプリケーション層性能モデル５００、５０１を性能モデル群５１０（記憶部５１）から取り出す必要がある。
【０１１４】
なお、アプリケーション層性能モデル５００、５０１は、性能モデル群５１０の中から、オペレータ等９が、例えば、人的操作によって選択してもよい。このアプリケーション層性能モデル５００、５０１は、仮想化システム２０、２１の夫々の仮想マシン２０１においてオペレータ等９が稼働を希望する所望のアプリケーションに関する情報と同じ内容のアプリケーション情報を用いて予め生成されたものであってもよい。
【０１１５】
なお、アプリケーション層性能モデル特定部５２に対し、オペレータ等９による入力（指定）が行われることを例に説明を行ったが、本発明はこれに限定されない。アプリケーション層性能モデル特定部５２に対し、ＬＡＮやインターネットを介したサーバ等の外部装置から必要な情報が入力されてもよい。
【０１１６】
（ネットワーク部入力内容指定部３１）
ネットワーク部入力内容指定部３１は、オペレータ等９等に対するユーザインタフェース（ＵＩ、マンマシンインタフェース）として機能を有する。オペレータ等９は、連携システム２に関する実測値を計測する際、ネットワーク部入力内容指定部３１を用いて、計測に関連する内容を指定することができる。よって、ネットワーク部入力内容指定部３１を用いたオペレータ等９による入力操作により、連携システム２には、連携システム２の実測値（例えば、ネットワークリソースの遅延時間、同時接続ユーザ数、有効接続帯域幅、秒間あたりのヒット数等）の計測にかかわる設定値、計測等の実行命令に関する内容が指定される。
【０１１７】
なお、ネットワーク部入力内容指定部３１に対し、オペレータ等９による入力（指定）が行われることを例に説明を行ったが、本発明はこれに限定されない。ネットワーク部入力内容指定部３１に対し、ＬＡＮやインターネットを介したサーバ等の外部装置からの命令が入力されてもよい。
【０１１８】
また、ネットワーク部入力内容指定部３１は、指定された内容（入力内容）を、連携システム２に入力（設定）する。具体的には、ネットワーク部入力内容指定部３１は、オペレータ等９の操作によって入力された、連携システム２の計測に関わる設定値、計測指示を示す命令（リクエスト）等を、連携システム２に設定する。これにより、連携システム２は、ネットワーク部入力内容指定部３１によって入力された情報に基づいて、連携システム２の計測を行う。
【０１１９】
なお、上記入力を用いて、連携システム２から出力される実測値であって、計測の結果で得られた実測値は、ネットワーク部性能モデル生成部３０によるネットワーク部性能モデル３００の生成に利用される。
【０１２０】
連携システム２における実測値の計測は、後述する性能モデル合成部６０による合成処理に先立って行われてもよい。計測の内容としては、仮想化システム２０、２１を連携させた連携システム２のネットワーク部３０１を対象としたベンチマークソフトを用いた、ベンチマークテストが挙げられる。本実施の形態においては、ベンチマークソフトとしては、特定のハードウェアリソースの負荷状況を再現できる任意のソフトウェア（コンピュータ・プログラム）を採用するとするが、本発明はこれに限定されるものではない。連携システム２のネットワーク部３０１に対する実測値の計測方法は、一般的な手順を採用することができるので、本実施の形態における詳細な説明は省略する。
【０１２１】
（ネットワーク部情報収集部３２）
ネットワーク部情報収集部３２は、連携システム２に対して計測された実測値を収集する。ここで、実測値とは、ネットワーク部入力内容指定部３１からの入力内容に応じて実行される連携システム２に関するベンチマークテストにおける入力値と、その入力値に対応する出力値との対をなす情報である。ネットワーク部情報収集部３２は、連携システム２から上述した実測値として、連携システム２への入力値と、その入力値に対応する出力値とを収集する。
【０１２２】
ここで、入力値とは、ハードウェアリソースへのリソース要求（例えば、ネットワークリソースの遅延時間、同時接続ユーザ数、有効接続帯域幅、秒間あたりのヒット数等）を含んでいる。
【０１２３】
なお、ネットワーク部情報収集部３２は、この入力値を、連携システム２から収集する構成について説明を行ったが、本発明はこれに限定されるものではない。ネットワーク部情報収集部３２は、上記入力値を、ネットワーク部入力内容指定部３１から収集する構成であってもよい。
【０１２４】
また、入力値に対応する出力値とは、例えば、各ハードウェアリソースの使用率やスループット、ＴＡＴ等である。
【０１２５】
ネットワーク部情報収集部３２は、ＨＤＤ等のコンピュータ読み取り可能な記憶媒体（例えば、記憶部５１）に、収集した実測値（即ち、連携システム２への入力値と、その入力値に対応する出力値）を記憶する機能を有する。また、ネットワーク部情報収集部３２は、これらの情報を収集が終了（ネットワーク部入力内容指定部３１が指定した計測が完了）したことを契機に、収集した実測値を、ネットワーク部性能モデル生成部３０に供給する。
【０１２６】
（ネットワーク部性能モデル生成部３０）
ネットワーク部性能モデル生成部３０は、第１の実施の形態におけるネットワーク部性能モデル生成部３と同様の処理を行う。ネットワーク部性能モデル生成部３０は、ネットワーク部情報収集部３２から入力された情報（上述した実測値）に基づいて、ブラックボックスアプローチにより、ネットワーク部性能モデル３００を生成する。
【０１２７】
実測値は、上述したとおり、連携システム２への入力値と、その入力値に対応する出力値とを含む。入力値は、ネットワークへの同時接続ユーザ数等を表すデータである。出力値は、遅延時間、有効接続帯域幅、秒間あたりのヒット数等を表すデータである。ネットワーク部性能モデル生成部３０は、これらの入出力値を用いて、例えば、ニューラルネットワーク、遺伝的アルゴリズム、多項式関数、回帰分析等の演算処理によってネットワーク部性能モデル３００を生成する。ただし、本実施の形態において、ネットワーク部性能モデル３００の生成方法は、これらの演算処理に限定されず、実測値を用いた同様のアプローチによってネットワーク部性能モデル３００を実現する方法であればよい。
【０１２８】
そして、ネットワーク部性能モデル生成部３０は、生成したネットワーク部性能モデル３００を、性能モデル合成部６０に供給する。
【０１２９】
（性能モデル合成部６０）
性能モデル合成部６０は、（ａ）アプリケーション層性能モデル特定部５２にて特定されたアプリケーション層性能モデル５００、５０１と、（ｂ）ハードウェア層性能モデル生成部４０にて生成されたハードウェア層性能モデル４００およびハードウェア層性能モデル生成部４１にて生成されたハードウェア層性能モデル４０１と、（ｃ）ネットワーク部性能モデル生成部３０にて生成されたネットワーク部性能モデル３００とを合成することにより、連携システム２の性能モデルであるシステム性能モデル６００を生成する。性能モデル合成部６０は、第１の実施の形態における性能モデル合成部６と同様の処理を行う。性能モデル合成部６０は、例えば、ネットワーク部入力内容指定部３１、入力内容指定部１１０、入力内容指定部１１１、アプリケーション層性能モデル特定部５２の少なくとも何れかに対するオペレータ等９の操作を契機に、合成処理を実行してもよい。
【０１３０】
すなわち、性能予測装置１０は、性能モデル合成部６０が生成するシステム性能モデル６００を用いることにより、連携システム２へのリクエスト内容を元に、連携システム２の性能を予測するための指標である性能指標を算出することができる。オペレータ等９は、このような性能指標を、例えばディスプレイ等を介して参照することにより、連携システム２の性能を予測できる。
【０１３１】
（性能モデル生成処理）
次に、性能予測装置１０が行う性能モデル生成処理について、図７から図１２を参照して説明する。
【０１３２】
図７は、本発明の第２の実施の形態に係る性能予測装置１０による性能モデル生成処理の概要を示すフローチャートである。図７に示す通り、性能予測装置１０は、以下のステップＳ１０１からステップＳ１０３の動作を行う。
【０１３３】
ステップＳ１０１：ハードウェア層性能モデル生成部４０が、仮想化システム２０の性能モデル（ハードウェア層性能モデル４００）を生成する処理を行う。また、ハードウェア層性能モデル生成部４１が、仮想化システム２１の性能モデル（ハードウェア層性能モデル４０１）を生成する処理を行う。なお、このハードウェア層性能モデル４００、４０１の生成処理については、図面を変えて説明を行う。
【０１３４】
ステップＳ１０２：アプリケーション層性能モデル特定部５２が、オペレータ等９の操作に応じて、記憶部５１の性能モデル群５１０からアプリケーション層性能モデル５００、５０１を夫々特定し、記憶部５１から取得する。具体的には、まず、アプリケーション層性能モデル特定部５２は、仮想化システム２０の仮想マシン２０１にて動作するアプリケーションに関する情報を用いて（検索キーとして）、記憶部５１を参照する。そして、アプリケーション層性能モデル特定部５２は、記憶部５１に記憶されている性能モデル群５１０から、上記情報に対応する（合致する）アプリケーション層性能モデル５００を特定し、当該特定したアプリケーション層性能モデル５００を取得する。同様に、アプリケーション層性能モデル特定部５２が、アプリケーション層性能モデル５０１を記憶部５１から取得する。
【０１３５】
ステップＳ１０３：ネットワーク部性能モデル生成部３０が、ネットワーク部３０１の性能モデル（ネットワーク部性能モデル３００）を生成する処理を行う。なお、このネットワーク部性能モデル３００の生成処理については、図面を変えて説明を行う。
【０１３６】
なお、ステップＳ１０１からＳ１０３は同時に実行されてもよいし、任意の順番で実行されてもよい。
【０１３７】
ステップＳ１０４：性能モデル合成部６０が、ステップＳ１０１にて生成されたハードウェア層性能モデル４００、４０１と、ステップＳ１０２にて特定されたアプリケーション層性能モデル５００、５０１と、ステップＳ１０３にて生成されたネットワーク部性能モデル３００とを用いて、合成処理を実行する。これにより、連携システム２の性能を予測するための性能モデルが生成される。この合成処理の結果として得た性能モデル（性能予測値）は、性能モデル合成部６０の出力値である。性能モデル合成部６０の処理（合成処理）については、図面を変えて説明する。
【０１３８】
（ハードウェア層性能モデルの生成処理）
次に、図８を参照して、上述したステップＳ１０１における、ハードウェア層性能モデル４００、４０１の生成処理について説明する。
【０１３９】
図８は、上述したステップＳ１０１における、ハードウェア層性能モデル４００、４０１の生成処理の流れの一例を示すフローチャートである。図８に示す通り、ハードウェア層性能モデル４００、４０１の生成処理では、以下のステップＳ２０１からステップＳ２０３の処理が行われる。
【０１４０】
ステップＳ２０１：入力内容指定部１１０が、オペレータ等９の操作を契機に、仮想化システム２０に計測を開始させる。そして、仮想化システム２０は、仮想化システム２０の計測を行う。同様に、入力内容指定部１１１が、オペレータ等９の操作を契機に、仮想化システム２１に計測を開始させる。そして、仮想化システム２１は、仮想化システム２１の計測を行う。
【０１４１】
ステップＳ２０２：情報収集部４１０が、ステップＳ２０１にて行われた仮想化システム２０の計測によって出力される実測値を収集する。この実測値は、例えば、各リソースの使用率、スループット、ＴＡＴ等、ハードウェア層２０５の状態を表す情報である。情報収集部４１０は、収集した実測値（ステップＳ２０１にて、仮想化システム２０に入力された入力値とその入力値に対応する出力値）を、ハードウェア層性能モデル生成部４０に供給する。同様に、情報収集部４１１は、仮想化システム２１の計測によって出力される実測値を収集し、当該実測値をハードウェア層性能モデル生成部４１に供給する。
【０１４２】
ステップＳ２０３：ハードウェア層性能モデル生成部４０が、情報収集部４１０から供給された実測値を用いて、ブラックボックスアプローチにより、ハードウェア層性能モデル４００を生成する。同様に、ハードウェア層性能モデル生成部４１が、情報収集部４１１から供給された実測値を用いて、ハードウェア層性能モデル４０１を生成する。これによりハードウェア層性能モデル４００、４０１の生成処理を終了する。
【０１４３】
（ネットワーク部性能モデルの生成処理）
次に、図９を参照して、上述したステップＳ１０３における、ネットワーク部性能モデル３００の生成処理について説明する。
【０１４４】
図９は、上述したステップＳ１０３における、ネットワーク部性能モデル３００の生成処理の流れの一例を示すフローチャートである。図９に示す通り、ネットワーク部性能モデル３００の生成処理では、以下のステップＳ３０１からステップＳ３０３の処理が行われる。
【０１４５】
ステップＳ３０１：ネットワーク部入力内容指定部３１が、オペレータ等９の操作を契機に、連携システム２に計測を開始させる。そして、連携システム２は、連携システム２の計測を行う。
【０１４６】
ステップＳ３０２：ネットワーク部情報収集部３２が、ステップＳ３０１にて行われた連携システム２の計測によって出力される実測値を収集する。この実測値は、例えば、ネットワークリソースの遅延時間、同時接続ユーザ数、有効接続帯域幅、秒間あたりのヒット数等の、ネットワーク部３０１の状態を表す情報である。ネットワーク部情報収集部３２は、収集した実測値（ステップＳ３０１にて、連携システム２に入力された入力値とその入力値に対応する出力値）を、ネットワーク部性能モデル生成部３０に供給する。
【０１４７】
ステップＳ３０３：ネットワーク部性能モデル生成部３０が、ネットワーク部情報収集部３２から供給された実測値を用いて、ブラックボックスアプローチにより、ネットワーク部性能モデル３００を生成する。これによりネットワーク部性能モデル３００の生成処理を終了する。
【０１４８】
（合成処理）
次に、図１０〜図１２を参照して、上述したステップＳ１０４における、合成処理について説明する。
【０１４９】
図１０〜図１２は、上述したステップＳ１０４における、性能モデル合成部６０が行う合成処理の流れの一例を示すフローチャートである。図１０〜図１２に示す通り、性能モデル合成部６０の合成処理では、以下のステップＳ４０１からステップＳ４２７の処理が行われる。
【０１５０】
なお、図１０〜図１２の例では、仮想化システム２０のアプリケーション層性能モデル５００にリクエストが入力される場合について説明するが、仮想化システム２１のアプリケーション層性能モデル５０１にリクエストが入力されてもよい。なお、この場合も、アプリケーション層性能モデル５００にリクエストが入力される場合と同様の処理を行うため、説明を省略する。
【０１５１】
まず、図１０を参照してステップＳ４０１からＳ４１０の処理について説明する。
【０１５２】
ステップＳ４０１：性能モデル合成部６０が、一方の仮想化システムのアプリケーション層２０４の性能モデル（本例では、アプリケーション層性能モデル５００）に、リクエストを入力する。このリクエストは、アプリケーション層２０４の各性能モデル（５００）を用いたシミュレーションのために、模擬的に作成したデータである。このデータの内容は、各ソフトウェア資源への負荷や、ハードウェアリソースの利用タイミング等を表す。個々のリクエストは、同時、または、例えば、オペレータ等９が指定した時間差をおいて、アプリケーション層性能モデル５００へ入力される。
【０１５３】
ステップＳ４０２：性能モデル合成部６０が、アプリケーション層性能モデル５００に対し、ステップＳ４０１にて入力されたリクエストにしたがって、連携処理要求７００を生成させる。連携処理要求７００は、連携システム２を構成するプロセスが、ネットワークや仮想化システム２０のどのハードウェアリソース（例えば、ディスク、ＣＰＵ等）を、どのように使用するかについての情報を含んだデータである。
【０１５４】
ステップＳ４０３：性能モデル合成部６０が、ステップＳ４０２にてアプリケーション層性能モデル５００に生成させた連携処理要求７００を、ハードウェア層性能モデル４００に入力する。
【０１５５】
ステップＳ４０４：性能モデル合成部６０が、ステップＳ４０３にて入力した連携処理要求７００を、ハードウェア層性能モデル４００を用いて処理する。つまり、性能モデル合成部６０は、ハードウェア層性能モデル４００にネットワーク処理要求７０１を生成させる。ネットワーク処理要求７０１は、連携システム２のネットワーク部３０１を介するプロセスが、ネットワークをどのように使用するかについての情報を含んだデータである。
【０１５６】
ステップＳ４０５：性能モデル合成部６０が、アプリケーション層性能モデル５００に対する処理プロセスの実行を、仮想化システム２１からの処理完了通知を待ってから行うか否かを、仮想化システム２０のハードウェア層２０５に対して確認する。具体的には、性能モデル合成部６０は、処理プロセスが（ａ）ネットワーク部性能モデル３００を介して仮想化システム２１に対応する性能モデルに移り、（ｂ）仮想化システム２１の性能モデルからネットワーク部性能モデル３００を介して仮想化システム２０の性能モデルでの処理に戻るまで、仮想化システム２０におけるアプリケーション層性能モデル５００に対する処理プロセスの実行を待つかどうかを、仮想化システム２０のハードウェア層２０５に対して確認する。アプリケーション層性能モデル５００に対する処理を、仮想化システム２１の性能モデルでの処理が完了するまで待つ場合（ＹＥＳの場合）、性能モデル合成部６０は、処理をステップＳ４０６に移す。ここで、アプリケーション層性能モデル５００の処理を、仮想化システム２１の性能モデルの処理完了まで待つとは、ハードウェア層性能モデル４００にネットワーク部性能モデル３００からネットワーク処理完了通知７０６を入力されるまで待つということを示す。アプリケーション層性能モデル５００に対する処理を、仮想化システム２１の性能モデルでの処理が完了する前に行う場合（ＮＯの場合）、性能モデル合成部６０は、処理をステップＳ４２１（図１２参照）に移す。ここで、アプリケーション層性能モデル５００に対する処理を、仮想化システム２１の性能モデルの処理完了前に行うとは、仮想化システム２０の性能モデルに対する処理と、仮想化システム２１の性能モデルに対する処理とを並行して行うことを示す。
【０１５７】
ステップＳ４０６：性能モデル合成部６０が、ステップＳ４０４にてハードウェア層性能モデル４００に生成させたネットワーク処理要求７０１を、ネットワーク部性能モデル３００に入力する。
【０１５８】
ステップＳ４０７：性能モデル合成部６０が、ステップＳ４０６にて入力したネットワーク処理要求７０１を、ネットワーク部性能モデル３００を用いて処理する。つまり、性能モデル合成部６０は、ネットワーク部性能モデル３００に、ネットワーク処理完了通知７０２を生成させる。ネットワーク処理完了通知７０２は、連携システム２のネットワーク部３０１での負荷やリソースの利用タイミング等の情報を含む。
【０１５９】
ステップＳ４０８：性能モデル合成部６０が、ステップＳ４０７にてネットワーク部性能モデル３００に生成させたネットワーク処理完了通知７０２を、仮想化システム２１のハードウェア層性能モデル４０１に入力する。
【０１６０】
ステップＳ４０９：性能モデル合成部６０が、ステップＳ４０８にて入力したネットワーク処理完了通知７０２を、ハードウェア層性能モデル４０１を用いて処理する。
【０１６１】
ステップＳ４１０：性能モデル合成部６０が、ステップＳ４０９における処理が完了したことを表す連携処理完了通知７０３を、アプリケーション層性能モデル５０１に入力する。連携処理完了通知７０３がハードウェア層性能モデル４０１から出力される際、性能モデル合成部６０は、ハードウェア層性能モデル４０１により算出した性能指標（リソース使用率、スループット、ＴＡＴ等）を、仮想化システム２１のハードウェア層性能モデル４０１から出力する。この後、性能モデル合成部６０は、処理をステップＳ４１１に移す。なお、ステップＳ４１１以降の処理は、図１１を参照して、説明を行う。
【０１６２】
ステップＳ４１１：性能モデル合成部６０が、ステップＳ４１０にて入力した連携処理完了通知７０３を、アプリケーション層性能モデル５０１を用いて処理する。つまり、性能モデル合成部６０は、アプリケーション層性能モデル５０１に、連携処理要求７０４を生成させる。連携処理要求７０４は、連携システム２を構成するプロセスが、ネットワークや仮想化システム２１のどのハードウェアリソース（例えば、ディスク、ＣＰＵ等）を、どのように使用するかについての情報を含んだデータである。
【０１６３】
ステップＳ４１２：性能モデル合成部６０が、ステップＳ４１１にてアプリケーション層性能モデル５０１に生成させた連携処理要求７０４を、ハードウェア層性能モデル４０１に入力する。
【０１６４】
ステップＳ４１３：性能モデル合成部６０が、ステップＳ４１２にて入力した連携処理要求７０４を、ハードウェア層性能モデル４０１を用いて処理する。つまり、性能モデル合成部６０は、ハードウェア層性能モデル４０１にネットワーク処理要求７０５を生成させる。ネットワーク処理要求７０５は、連携システム２のネットワーク部３０１を介するプロセスが、ネットワークをどのように使用するかについての情報を含んだデータである。
【０１６５】
ステップＳ４１４：性能モデル合成部６０が、ステップＳ４１３にてハードウェア層性能モデル４０１に生成させたネットワーク処理要求７０５を、ネットワーク部性能モデル３００へ入力する。
【０１６６】
ステップＳ４１５：性能モデル合成部６０が、ステップＳ４１４にて入力したネットワーク処理要求７０５を、ネットワーク部性能モデル３００を用いて処理する。つまり、性能モデル合成部６０は、ネットワーク部性能モデル３００に、ネットワーク処理完了通知７０６を生成させる。ネットワーク処理完了通知７０６は、連携システム２のネットワーク部３０１での負荷やリソースの利用タイミング等の情報を含む。
【０１６７】
ステップＳ４１６：性能モデル合成部６０が、ステップＳ４１５にてネットワーク部性能モデル３００に生成させたネットワーク処理完了通知７０６を、仮想化システム２０のハードウェア層性能モデル４００に入力する。
【０１６８】
ステップＳ４１７：性能モデル合成部６０が、ステップＳ４１６にて入力したネットワーク処理完了通知７０６を、仮想化システム２０のハードウェア層性能モデル４００を用いて処理する。
【０１６９】
ステップＳ４１８：性能モデル合成部６０が、ステップＳ４１７における処理が完了したことを表す連携処理完了通知７０７を、アプリケーション層性能モデル５００に入力する。連携処理完了通知７０７がハードウェア層性能モデル４００から出力される際、性能モデル合成部６０は、ハードウェア層性能モデル４００により算出した性能指標（リソース使用率、スループット、ＴＡＴ等）を、仮想化システム２０のハードウェア層性能モデル４００から出力する。
【０１７０】
ステップＳ４１９：性能モデル合成部６０は、連携システム２に対して、仮想化システム２０のアプリケーション層２０４が出力する未処理の連携処理要求の有無を確認する。未処理の連携処理要求が仮想化システム２０のアプリケーション層２０４に残っている場合（ＹＥＳの場合）、性能モデル合成部６０は、処理をステップＳ４０２に戻す。全ての連携処理要求の処理が完了した場合（ＮＯの場合）、性能モデル合成部６０は、処理をステップＳ４２０に進める。即ち、ステップＳ４０２からステップＳ４１９までの各ステップからなるループは、仮想化システム２０のアプリケーション層２０４における連携処理要求が無くなるまで繰り返される。
【０１７１】
ステップＳ４２０：ステップＳ４１９にて全ての連携処理要求の処理が完了したと判断すると、性能モデル合成部６０は、アプリケーション層性能モデル５００から、処理済みリクエストを出力し処理を終了する。
【０１７２】
なお、仮想化システム２０のアプリケーション層２０４がハードウェア層２０５に対して、連携処理要求７００を出力（発行）してから、当該ハードウェア層２０５から連携処理完了通知７０７が当該アプリケーション層２０４に入力されるまでの時間（期間）を、アプリケーション層性能モデル５００の処理時間（処理所要時間）ＰＴとする。処理時間ＰＴは、仮想化システム２０のアプリケーション層２０４から出力された連携処理要求７００がハードウェア層２０５に入力されてから、当該ハードウェア層２０５が当該アプリケーション層２０４に対して連携処理完了通知７０７を出力するまでの時間（期間）と捉えることもできる。
【０１７３】
これにより、オペレータ等９は、性能モデル合成部６０が算出した、ネットワーク部性能モデル３００、ハードウェア層性能モデル４００、ハードウェア層性能モデル４０１、アプリケーション層性能モデル５００、およびアプリケーション層性能モデル５０１の計算結果（性能指標等）を用いて、連携システム２の性能を予測することができる。
【０１７４】
図１０および図１１を用いて説明したとおり、性能モデル合成部６０の合成処理のうち、アプリケーション層性能モデル５００に対する処理プロセスの実行を、仮想化システム２１からの処理完了通知を待ってから行う場合に得られる値（情報）は、以下の通りである。すなわち、
（ａ）アプリケーション層性能モデル５００に入力されたリクエスト、
（ｂ）アプリケーション層性能モデル５００により生成された、ハードウェア層性能モデル４００への連携処理要求７００、
（ｃ）ハードウェア層性能モデル４００により生成された、ネットワーク部性能モデル３００へのネットワーク処理要求７０１、
（ｄ）ネットワーク部性能モデル３００により生成された、ハードウェア層性能モデル４０１へのネットワーク処理完了通知７０２、
（ｅ）ハードウェア層性能モデル４０１により生成された、ハードウェア層性能モデル４０１への連携処理完了通知７０３、
（ｆ）アプリケーション層性能モデル５０１により生成された、ハードウェア層性能モデル４０１への連携処理要求７０４、
（ｇ）ハードウェア層性能モデル４０１により生成された、ネットワーク部性能モデル３００へのネットワーク処理要求７０５、
（ｈ）ネットワーク部性能モデル３００により生成された、ハードウェア層性能モデル４００へのネットワーク処理完了通知７０６、
（ｉ）ハードウェア層性能モデル４００により生成された、アプリケーション層性能モデル５００への連携処理完了通知７０７、
（ｊ）ハードウェア層性能モデル４０１により算出された性能指標、
（ｋ）ハードウェア層性能モデル４００により算出された性能指標、
（ｌ）処理時間（処理所要時間）ＰＴ。
【０１７５】
なお、性能モデル合成部６０は、システム性能モデル６００として、上記（ｊ）、（ｋ）、（ｌ）の少なくとも何れかを出力する構成であってもよい。また、性能モデル合成部６０は、上記（ｊ）、（ｋ）、（ｌ）の少なくとも何れかに加え、（ａ）〜（ｉ）の何れかを出力する構成であってもよい。
【０１７６】
すなわち、システム性能モデル６００を用いることで、性能モデル合成部６０は、性能を予測すべき対象である連携システム２へのリクエスト内容を基に、性能指標（各リソースの使用率、ＴＡＴ、スループット等）を算出することができる。したがって、オペレータ等９は、上述した各算出値を参照することにより、連携システム２の性能を予測することができる。
【０１７７】
次に、図１２を用いて、ステップＳ４０５にてＮＯの場合の、性能モデル合成部６０の処理について説明する。つまり、性能モデル合成部６０が、仮想化システム２０の性能モデルに対する処理と、仮想化システム２１の性能モデルに対する処理とを並行して行うことについて、説明する。図１２において、左側の破線で囲った枠に含まれる処理およびステップＳ４２１は、仮想化システム２０の性能モデルを用いた処理を示し、右側の破線で囲った枠に含まれる処理は、仮想化システム２１の性能モデルを用いた処理を示している。
【０１７８】
ステップＳ４２１：性能モデル合成部６０が、ステップＳ４０４にてハードウェア層性能モデル４００に生成させたネットワーク処理要求７０１を、ネットワーク部性能モデル３００に入力する。
【０１７９】
以降の処理において、仮想化システム２０の性能モデルを用いる処理と、仮想化システム２１の性能モデルを用いる処理とは、並行して行われる。以下では、ステップＳ４２２の処理が行われるタイミングと、ステップＳ４２３の処理が行われるタイミングとは、略同時であることを例に説明を行うが、本発明はこれに限定されるものではない。
【０１８０】
以下では、まず、仮想化システム２０の性能モデルを用いる処理について説明する。
【０１８１】
ステップＳ４２２：性能モデル合成部６０が、ステップＳ４２１における処理が完了したことを表す連携処理完了通知７０７を、ハードウェア層性能モデル４００からアプリケーション層性能モデル５００に入力する。そして、性能モデル合成部６０は、図１１のステップＳ４１９に処理を進める。
【０１８２】
次に、仮想化システム２０の性能モデルを用いる処理と並行して行われる、仮想化システム２１の性能モデルを用いる処理について説明する。
【０１８３】
ステップＳ４２３：性能モデル合成部６０が、ステップＳ４２１にて入力したネットワーク処理要求７０１を、ネットワーク部性能モデル３００を用いて処理する。つまり、性能モデル合成部６０は、ネットワーク部性能モデル３００に、ネットワーク処理完了通知７０２を生成させる。ネットワーク処理完了通知７０２は、連携システム２のネットワーク部３０１での負荷やリソースの利用タイミング等の情報を含む。
【０１８４】
ステップＳ４２４：性能モデル合成部６０が、ステップＳ４２３にてネットワーク部性能モデル３００に生成させたネットワーク処理完了通知７０２を、仮想化システム２１のハードウェア層性能モデル４０１に入力する。
【０１８５】
ステップＳ４２５：性能モデル合成部６０が、ステップＳ４２４にて入力したネットワーク処理完了通知７０２を、ハードウェア層性能モデル４０１を用いて処理する。
【０１８６】
ステップＳ４２６：性能モデル合成部６０が、ステップＳ４２５における処理が完了したことを表す連携処理完了通知７０３を、アプリケーション層性能モデル５０１に入力する。連携処理完了通知７０３がハードウェア層性能モデル４０１から出力される際、性能モデル合成部６０は、ハードウェア層性能モデル４０１により算出した性能指標（リソース使用率、スループット、ＴＡＴ等）を、仮想化システム２０のハードウェア層性能モデル４０１から出力する。
【０１８７】
ステップＳ４２７：ステップＳ４２６における処理が完了すると、性能モデル合成部６０は、アプリケーション層性能モデル５０１から処理済みリクエストを出力し、仮想化システム２１の性能モデルを用いた処理を終了する。
【０１８８】
なお、仮想化システム２０のアプリケーション層２０４がハードウェア層２０５に対して、連携処理要求７００を出力（発行）してから、当該ハードウェア層２０５から連携処理完了通知７０７が当該アプリケーション層２０４に入力されるまでの時間（期間）を、アプリケーション層性能モデル５００の処理時間（処理所要時間）ＰＴ１とする。処理時間ＰＴ１は、仮想化システム２０のアプリケーション層２０４から出力された連携処理要求７００がハードウェア層２０５に入力されてから、当該ハードウェア層２０５が当該アプリケーション層２０４に対して連携処理完了通知７０７を出力するまでの時間（期間）と捉えることもできる。
【０１８９】
同様に、仮想化システム２０のアプリケーション層２０４がハードウェア層２０５に対して、連携処理要求７００を出力（発行）してから、仮想化システム２１のアプリケーション層２０４に当該仮想化システム２１のハードウェア層２０５から連携処理完了通知７０３が入力されるまでの期間（時間）を処理時間ＰＴ２とする。
【０１９０】
これにより、オペレータ等９は、性能モデル合成部６０が算出した、ネットワーク部性能モデル３００、ハードウェア層性能モデル４００、ハードウェア層性能モデル４０１、アプリケーション層性能モデル５００、およびアプリケーション層性能モデル５０１の計算結果（性能指標等）を用いて、連携システム２の性能を予測することができる。
【０１９１】
図１０から図１２を用いて説明したとおり、性能モデル合成部６０の合成処理のうち、仮想化システム２０の性能モデルを用いた処理と、仮想化システム２１の性能モデルを用いた処理とを並行して行う場合に得られる値（情報）は、以下の通りである。すなわち、
（Ａ）アプリケーション層性能モデル５００に入力されたリクエスト、
（Ｂ）アプリケーション層性能モデル５００により生成された、ハードウェア層性能モデル４００への連携処理要求７００、
（Ｃ）ハードウェア層性能モデル４００により生成された、ネットワーク部性能モデル３００へのネットワーク処理要求７０１、
（Ｄ）ネットワーク部性能モデル３００により生成された、ハードウェア層性能モデル４０１へのネットワーク処理完了通知７０２、
（Ｅ）ハードウェア層性能モデル４０１により生成された、ハードウェア層性能モデル４０１への連携処理完了通知７０３、
（Ｆ）アプリケーション層性能モデル５０１により生成された、ハードウェア層性能モデル４０１への連携処理要求７０４、
（Ｇ）ハードウェア層性能モデル４００により生成された、アプリケーション層性能モデル５００への連携処理完了通知７０７、
（Ｈ）ハードウェア層性能モデル４０１により算出された性能指標、
（Ｉ）ハードウェア層性能モデル４００により算出された性能指標、
（Ｊ）処理時間（処理所要時間）ＰＴ１、
（Ｋ）処理時間（処理所要時間）ＰＴ２。
【０１９２】
なお、性能モデル合成部６０は、システム性能モデル６００として、上記（Ｈ）、（Ｉ）、（Ｊ）、（Ｋ）の少なくとも何れかを出力する構成であってもよい。また、性能モデル合成部６０は、上記（Ｈ）、（Ｉ）、（Ｊ）、（Ｋ）の少なくとも何れかに加え、（Ａ）〜（Ｇ）の何れかを出力する構成であってもよい。
【０１９３】
すなわち、システム性能モデル６００を用いることで、性能モデル合成部６０は、性能を予測すべき対象である連携システム２へのリクエスト内容を基に、性能指標（各リソースの使用率、ＴＡＴ、スループット等）を算出することができる。したがって、オペレータ等９は、上述した各算出値を参照することにより、連携システム２の性能を予測することができる。
【０１９４】
なお、本実施の形態の性能予測装置１０は、第１の実施の形態におけるアプリケーション層性能モデル生成部５の代わりに、アプリケーション層性能モデル特定部５２を備える構成について説明を行った。しかし、本実施の形態に係る性能予測装置１０は、図６に示した構成に、更に、第１の実施の形態におけるアプリケーション層性能モデル生成部５を備える構成であってもよい。
【０１９５】
（効果）
以上のように、本実施の形態に係る性能予測装置１０は、連携システム２の複数の仮想化システムの各々の構成を、アプリケーション層２０４およびハードウェア層２０５と定義する。また、複数の仮想化システムの各々は互いにネットワーク部３０１を介して接続されている。そして、性能予測装置１０は、仮想化システムごとに、ハードウェア層性能モデルとアプリケーション層性能モデルとを生成する。さらに、性能予測装置１０は、連携システム２のネットワーク部３０１に対する性能モデルであるネットワーク部性能モデル３００を生成する。そして、性能予測装置１０は、上記ハードウェア層性能モデル、上記アプリケーション層性能モデル、並びに、ネットワーク部性能モデル３００を用いて、各層間並びに各仮想化システム間の依存関係が反映された連携システム２の性能モデルであるシステム性能モデル６００を生成する。これにより、連携システム２の性能を予測することができる。したがって、本実施の形態に係る性能予測装置１によれば、上記システム性能モデル６００を用いて、連携システム２の性能を好適に予測することが可能である。
【０１９６】
＜ハードウェアの構成例＞
ここで、上述した各実施の形態に係る性能予測装置を実現可能なハードウェアの構成例について説明する。上述した性能予測装置（１、１０）は、専用の装置として実現してもよいが、コンピュータ（情報処理装置）を用いて実現してもよい。
【０１９７】
図１３は、本発明の各実施の形態を実現可能なコンピュータ（情報処理装置）のハードウェア構成を例示する図である。
【０１９８】
図１３に示した情報処理装置（コンピュータ）１００のハードウェアは、ＣＰＵ１１、通信インタフェース（Ｉ／Ｆ）１２、入出力ユーザインタフェース１３、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１４、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１５、記憶装置１７、及びコンピュータ読み取り可能な記憶媒体１９のドライブ装置１８を備え、これらがバス１６を介して接続された構成を有する。入出力ユーザインタフェース１３は、入力デバイスの一例であるキーボードや、出力デバイスとしてのディスプレイ等のマンマシンインタフェースである。通信インタフェース１２は、上述した各実施の形態に係る装置（図１、図６）が、外部装置と、通信ネットワーク２００を介して通信するための一般的な通信手段である。係るハードウェア構成において、ＣＰＵ１１は、各実施の形態に係る性能予測装置（１、１０）を実現する情報処理装置１００について、全体の動作を司る。
【０１９９】
上述した各実施の形態を例に説明した本発明は、例えば、上記各実施の形態において説明した処理を実現可能なプログラム（コンピュータ・プログラム）を、図１３に示す情報処理装置１００に対して供給した後、そのプログラムを、ＣＰＵ１１に読み出して実行することによって達成される。なお、係るプログラムは、例えば、上記各実施の形態の説明において参照したフローチャート（図７〜図１２）に記載した各種処理や、或いは、図１、図６に示したブロック図において当該装置内に示した各部（各ブロック）を実現可能なプログラムであってもよい。
【０２００】
また、情報処理装置１００内に供給されたプログラムは、読み書き可能な一時記憶メモリ（１５）またはハードディスクドライブ等の不揮発性の記憶装置（１７）に格納されてもよい。即ち、記憶装置１７において、プログラム群１７Ａは、例えば、上述した各実施の形態における性能予測装置（１、１０）内に示した各部の機能を実現可能なプログラムである。また、各種の記憶情報１７Ｂは、例えば、上述した各実施の形態におけるアプリケーション層の性能モデル群５１０や、仮想化システム２０、仮想化システム２１および連携システム２に関する実測値等である。ただし、情報処理装置１００へのプログラムの実装に際して、個々のプログラム・モジュールの構成単位は、ブロック図（図１、図６）に示した各ブロックの区分けには限定されず、当業者が実装に際して適宜選択してよい。
【０２０１】
また、前記の場合において、当該装置内へのプログラムの供給方法は、ＣＤ−ＲＯＭ、フラッシュメモリ等のコンピュータ読み取り可能な各種の記録媒体（１９）を介して当該装置内にインストールする方法や、インターネット等の通信回線（２００）を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード（プログラム群１７Ａ）或いは係るコードが格納された記憶媒体（１９）によって構成されると捉えることができる。
【０２０２】
以上、本発明を、上述した模範的な実施の形態およびその実施例に適用した例として説明した。しかしながら、本発明の技術的範囲は、上述した各実施の形態及び実施例に記載した範囲には限定されない。当業者には、係る実施の形態に対して多様な変更または改良を加えることが可能であることは明らかである。そのような場合、係る変更または改良を加えた新たな実施の形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。
【０２０３】
なお、上述した実施の形態の一部または全部は、以下の付記のようにも記載されうる。しかしながら、上述した実施の形態により例示的に説明した本発明は、以下には限られない。
【０２０４】
（付記１）複数の仮想化システムが互いにネットワーク部を介して連携している連携システムの性能を予測するための性能予測装置であって、前記複数の仮想化システムは、夫々、アプリケーション層とハードウェア層とを有し、前記性能予測装置は、前記連携システムにおける各仮想化システムの仮想マシン上で動作する、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能モデルを、仮想化システムごとに生成する第１の性能モデル生成手段と、前記連携システムにおける各仮想化システムを対象に計測した結果に基づいて、前記ハードウェア層の性能モデルを、仮想化システムごとに生成する第２の性能モデル生成手段と、前記連携システムを対象に計測した結果に基づいて、前記ネットワーク部の性能モデルを生成する第３の性能モデル生成手段と、前記複数の仮想化システムの夫々に含まれる前記アプリケーション層および前記ハードウェア層に対し、一方の層の性能モデルにおける出力値を、他方の層の性能モデルの入力値として利用する第１の合成処理と、前記ハードウェア層の性能モデルにおける出力値が入力された前記ネットワーク部の性能モデルにおける出力値を、他の仮想化システムの前記ハードウェア層の性能モデルの入力値として利用する第２の合成処理とにより、該２層間の依存関係および仮想化システム間の依存関係が反映された、前記連携システムの性能モデルを生成する性能モデル合成手段と、を備えることを特徴とする性能予測装置。
【０２０５】
（付記２）前記性能モデル合成手段は、前記仮想化システムの前記アプリケーション層の性能モデルにリクエストが入力されるのに応じて、当該仮想化システムのハードウェア層を構成するハードウェアリソースおよびネットワークの使用方法に関する情報を含む第１の処理要求を、当該アプリケーション層の性能モデルに発行させ、前記仮想化システムの前記ハードウェア層の性能モデルに、前記第１の処理要求に応じた処理を行わせると共に、当該処理の完了に応じて、ネットワークの使用方法に関する情報を含む第２の処理要求を発行させ、前記ネットワーク部の性能モデルに、前記第２の処理要求に基づいて、他の前記仮想化システムの前記ハードウェア層の性能モデルに対して、前記ネットワーク部を介する通信に関する情報を含む第３の処理要求を発行させ、前記他の仮想化システムの前記ハードウェア層の性能モデルに、前記第３の処理要求に応じた処理を行わせると共に、当該処理の完了に応じて、前記他の仮想化システムの前記アプリケーション層の性能モデルに対して、処理完了通知を発行させ、前記第１の処理要求、前記第２の処理要求、前記第３の処理要求、および、前記処理完了通知を利用する合成処理を行うことを特徴とする付記１に記載の性能予測装置。
【０２０６】
（付記３）前記性能モデル合成手段は、前記連携システムの性能モデルとして、前記仮想化システムにおける前記ハードウェア層の性能モデルによって算出された性能指標と、前記第１の処理要求が前記性能システムの前記ハードウェア層の性能モデルに対して発行されてから、前記他の性能システムの前記ハードウェア層の性能モデルから前記処理完了通知が発行されるまでの所要時間と、の少なくとも何れかを提示することを特徴とする付記２に記載の性能予測装置。
【０２０７】
（付記４）前記性能モデル合成手段は、前記連携システムの性能モデルとして、前記仮想化システムにおける前記ハードウェア層の性能モデルによって算出された性能指標と、前記第１の処理要求が前記性能システムの前記ハードウェア層の性能モデルに対して発行されてから、当該ハードウェア層の性能モデルから前記処理完了通知が発行されるまでの所要時間と、の少なくとも何れかを提示することを特徴とする付記２に記載の性能予測装置。
【０２０８】
（付記５）前記性能モデル合成手段は、前記連携システムの性能モデルとして、前記仮想化システムにおける前記ハードウェア層の性能モデルによって算出された性能指標と、前記第１の処理要求が前記性能システムの前記ハードウェア層の性能モデルに対して発行されてから、当該ハードウェア層の性能モデルから前記処理完了通知が発行されるまでの第１の所要時間と、前記第１の処理要求が前記性能システムの前記ハードウェア層の性能モデルに対して発行されてから、前記他の性能システムの前記ハードウェア層の性能モデルから前記処理完了通知が発行されるまでの第２の所要時間と、の少なくとも何れかを提示することを特徴とする付記２に記載の性能予測装置。
【０２０９】
（付記６）前記ハードウェア層は、仮想マシンモニタと、物理マシンのハードウェアと、を含むことを特徴とする付記１から５の何れかに記載の性能予測装置。
【０２１０】
（付記７）前記第２の性能モデル生成手段は、前記複数の仮想化システムの各々に対して計測を行い、当該計測に用いた入力値と、当該入力値に対応する、当該計測によって得られた出力値とに基づいて、仮想化システムにおける前記ハードウェア層の性能モデルを夫々生成する、ことを特徴とする付記１から６の何れかに記載の性能予測装置。
【０２１１】
（付記８）前記第１の性能モデル生成手段の代わりに、あるいは、前記第１の性能モデル生成手段に加えて更に、各仮想マシンにて動作するアプリケーションの設計情報に基づき生成された、アプリケーション層の性能モデルを、仮想マシン毎に１つ以上格納している記憶手段から、特定の性能モデルを選択する、性能モデル特定手段を備えることを特徴とする、付記１から７の何れかに記載の性能予測装置。
【０２１２】
（付記９）前記仮想化システムの計測に関わる設定値と、当該計測の実行命令を指定可能な第１の入力内容指定手段と、前記仮想化システムの設定値である入力値と、当該入力値に対応する出力値とを収集する第１の情報収集手段と、を更に備え、前記第２の性能モデル生成手段は、前記入力値と、前記出力値とに基づいて、前記ハードウェア層の性能モデルを生成することを特徴とする、付記１から８の何れかに記載の性能予測装置。
【０２１３】
（付記１０）前記性能予測装置は、前記複数の仮想化システムの各々に対して、前記第１の入力内容指定手段、前記第１の情報収集手段、および、前記第２の性能モデル生成手段を、夫々備える、ことを特徴とする、付記９に記載の性能予測装置。
【０２１４】
（付記１１）前記連携システムの計測に関わる設定値と、当該計測の実行命令を指定可能な第２の入力内容指定手段と、前記連携システムの設定値である入力値と、当該入力値に対応する出力値とを収集する第２の情報収集手段と、を更に備え、前記第３の性能モデル生成手段は、前記入力値と、前記出力値とに基づいて、前記ネットワーク部の性能モデルを生成することを特徴とする、付記１から１０の何れかに記載の性能予測装置。
【０２１５】
（付記１２）複数の仮想化システムが互いにネットワーク部を介して連携している連携システムの性能を予測するための性能予測装置における性能モデル生成方法であって、前記複数の仮想化システムは、夫々、アプリケーション層とハードウェア層とを有し、前記性能モデル生成方法は、前記連携システムにおける各仮想化システムの仮想マシン上で動作する、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能モデルを、仮想化システムごとに生成し、前記連携システムにおける各仮想化システムを対象に計測した結果に基づいて、前記ハードウェア層の性能モデルを、仮想化システムごとに生成し、前記連携システムを対象に計測した結果に基づいて、前記ネットワーク部の性能モデルを生成し、前記複数の仮想化システムの夫々に含まれる前記アプリケーション層および前記ハードウェア層に対し、一方の層の性能モデルにおける出力値を、他方の層の性能モデルの入力値として利用すること、並びに、前記ハードウェア層の性能モデルにおける出力値が入力された前記ネットワーク部の性能モデルにおける出力値を、他の仮想化システムの前記ハードウェア層の性能モデルの入力値として利用することにより、該２層間の依存関係および仮想化システム間の依存関係が反映された、前記連携システムの性能モデルを生成する、ことを特徴とする性能モデル生成方法。
【０２１６】
（付記１３）複数の仮想化システムが互いにネットワーク部を介して連携している連携システムの性能を予測するための性能予測装置を含むコンピュータに実行させるプログラムであって、前記複数の仮想化システムは、夫々、アプリケーション層とハードウェア層とを有し、前記プログラムは、前記連携システムにおける各仮想化システムの仮想マシン上で動作する、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能モデルを、仮想化システムごとに生成する処理と、前記連携システムにおける各仮想化システムを対象に計測した結果に基づいて、前記ハードウェア層の性能モデルを、仮想化システムごとに生成する処理と、前記連携システムを対象に計測した結果に基づいて、前記ネットワーク部の性能モデルを生成する処理と、前記複数の仮想化システムの夫々に含まれる前記アプリケーション層および前記ハードウェア層に対し、一方の層の性能モデルにおける出力値を、他方の層の性能モデルの入力値として利用する第１の合成処理、並びに、前記ハードウェア層の性能モデルにおける出力値が入力された前記ネットワーク部の性能モデルにおける出力値を、他の仮想化システムの前記ハードウェア層の性能モデルの入力値として利用する第２の合成処理により、該２層間の依存関係および仮想化システム間の依存関係が反映された、前記連携システムの性能モデルを生成する処理と、をコンピュータに実行させることを特徴とする、プログラム。
【０２１７】
（付記１４）付記１３に記載のプログラムを記憶する、ことを特徴とするコンピュータ読み取り可能な記録媒体。
【符号の説明】
【０２１８】
１    性能予測装置
２    連携システム
３    ネットワーク部性能モデル生成部
４    ハードウェア層性能モデル生成部
５    アプリケーション層性能モデル生成部
６    性能モデル合成部
１０    性能予測装置
２０    仮想化システム
２１    仮想化システム
３０    ネットワーク部性能モデル生成部
３１    ネットワーク部入力内容指定部
３２    ネットワーク部情報収集部
４０    ハードウェア層性能モデル生成部
４１    ハードウェア層性能モデル生成部
５１    記憶部
５２    アプリケーション層性能モデル特定部
６０    性能モデル合成部
１１０    入力内容指定部
１１１    入力内容指定部
２０１    仮想マシン
２０２    仮想マシンモニタ
２０３    物理マシンのハードウェア
２０４    アプリケーション層
２０５    ハードウェア層
３００    ネットワーク部性能モデル
３０１    ネットワーク部
４００    ハードウェア層性能モデル
４０１    ハードウェア層性能モデル
４１０    情報収集部
４１１    情報収集部
５００    アプリケーション層性能モデル
５０１    アプリケーション層性能モデル
５１０    性能モデル群
６００    システム性能モデル
【図１】
0005884841.tif 000002
【図２】
0005884841.tif 000003
【図３】
0005884841.tif 000004
【図４】
0005884841.tif 000005
【図５】
0005884841.tif 000006
【図６】
0005884841.tif 000007
【図７】
0005884841.tif 000008
【図８】
0005884841.tif 000009
【図９】
0005884841.tif 000010
【図１０】
0005884841.tif 000011
【図１１】
0005884841.tif 000012
【図１２】
0005884841.tif 000013
【図１３】
0005884841.tif 000014