(57)【要約】【課題】  １台の物理マシンにおいて動作する仮想マシンが単体もしくは複数台の場合であっても、仮想化システムの性能を容易に予測する性能予測装置等の提供。【解決手段】  仮想化システム（ＶＳ）の性能予測装置１は、アプリケーション（ＡＰ）層とハードウェア（ＨＷ）層とからなるＶＳにて実行される仮想マシンにおいて動作するところの、ＡＰに関する情報に基づいて、前記ＡＰ層の性能予測モデル（ＰＰＭ）を生成する第１のＰＰＭ生成部１０１と、前記ＶＳを計測した結果に基づいて、前記ＨＷ層のＰＰＭを生成する第２のＰＰＭ生成部１０２と、前記ＡＰ層のＰＰＭと、前記ＨＷ層のＰＰＭとを対象として、一方の層のＰＰＭにおける出力値を、他方の層のＰＰＭにおける入力値として利用する合成処理により、該２層間の依存関係が反映された、前記ＶＳのＰＰＭを生成する性能予測モデル合成部１０３とを有する。【選択図】  図１
2014132419.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーション層とハードウェア層とからなる仮想化システムにて実行される仮想マシンにおいて動作するところの、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能予測モデルを生成する第１の性能予測モデル生成部と、
前記仮想化システムを計測した結果に基づいて、前記ハードウェア層の性能予測モデルを生成する第２の性能予測モデル生成部と、
前記アプリケーション層の性能予測モデルと、前記ハードウェア層の性能予測モデルとを対象として、一方の層の性能予測モデルにおける出力値を、他方の層の性能予測モデルにおける入力値として利用する合成処理により、該２層間の依存関係が反映された、前記仮想化システムの性能予測モデルを生成する性能予測モデル合成部と、
を備えることを特徴とする、仮想化システムの性能予測装置。
【請求項２】
前記第１の性能予測モデル生成部は、
前記アプリケーション層の性能予測モデルにリクエストが入力されるのに応じて、前記ハードウェア層に対して、そのハードウェア層を構成するハードウェアリソースの使用方法に関する情報を含むリソース要求を発行し、
前記第２の性能予測モデル生成部は、
前記ハードウェア層の性能予測モデルによって、前記リソース要求に応じた処理を行うと共に、その処理の完了に応じて、前記アプリケーション層に対して、処理完了通知を発行し、
前記性能予測モデル合成部は、
前記合成処理に際して、前記リソース要求と、前記処理完了通知とを利用する
ことを特徴とする請求項１記載の、仮想化システムの性能予測装置。
【請求項３】
前記性能予測モデル合成部は、前記仮想化システムの性能予測モデルとして、
前記リクエストと、
前記リソース要求と、
前記ハードウェア層の性能予測モデルにより算出された性能指標と、
前記リソース要求が前記ハードウェア層に対して発行されてから、前記ハードウェア層から前記処理完了通知が発行されるまでの所用時間と
のうち、少なくとも何れかを提示する
ことを特徴とする請求項２記載の、仮想化システムの性能予測装置。
【請求項４】
前記ハードウェア層は、
仮想マシンモニタと、物理マシンのハードウェアとを含む
ことを特徴とする請求項１乃至請求項３の何れかに記載の、仮想化システムの性能予測装置。
【請求項５】
前記第２の性能予測モデル生成部は、
前記仮想化システムを計測し、計測した結果得られた入力値と、その入力値に対応する出力値とに基づいて、前記ハードウェア層の性能予測モデルを生成する
ことを特徴とする請求項１乃至請求項４の何れかに記載の、仮想化システムの性能予測装置。
【請求項６】
前記第１の性能予測モデル生成部の代わりに、或いは、前記第１の性能予測モデル生成部に加えて更に、
前記仮想マシンにて動作するアプリケーションの設計情報に基づき生成された、前記アプリケーション層の性能予測モデルを１つ以上格納している記憶部から、特定の性能予測モデルを選択する、性能予測モデル特定部を備える
ことを特徴とする請求項１乃至請求項５の何れかに記載の、仮想化システムの性能予測装置。
【請求項７】
前記仮想化システムの計測に関わる設定値と、その計測の実行命令を指定可能な入力内容指定部と、
前記仮想化システムの計測値である入力値と、その入力値に対応する出力値とを収集する情報収集部と、
を更に備えることを特徴とする請求項１乃至請求項６の何れかに記載の、仮想化システムの性能予測装置。
【請求項８】
アプリケーション層とハードウェア層とからなる仮想化システムにて実行される仮想マシンにおいて動作するところの、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能予測モデルを生成し、
前記仮想化システムを計測した結果に基づいて、前記ハードウェア層の性能予測モデルを生成し、
前記アプリケーション層の性能予測モデルと、前記ハードウェア層の性能予測モデルとを対象として、一方の層の性能予測モデルにおける出力値を、他方の層の性能予測モデルにおける入力値として利用することにより、該２層間の依存関係が反映された、前記仮想化システムの性能予測モデルを生成する
ことを特徴とする、仮想化システムの性能予測方法。
【請求項９】
前記ハードウェア層の定義に、仮想マシンモニタと、物理マシンのハードウェアとを含める
ことを特徴とする請求項８記載の、仮想化システムの性能予測方法。
【請求項１０】
仮想化システムの性能予測装置の動作制御のためのコンピュータ・プログラムであって、そのコンピュータ・プログラムにより、
アプリケーション層とハードウェア層とからなる仮想化システムにて実行される仮想マシンにおいて動作するところの、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能予測モデルを生成する第１の性能予測モデル生成機能と、
前記仮想化システムを計測した結果に基づいて、前記ハードウェア層の性能予測モデルを生成する第２の性能予測モデル生成機能と、
前記アプリケーション層の性能予測モデルと、前記ハードウェア層の性能予測モデルとを対象として、一方の層の性能予測モデルにおける出力値を、他方の層の性能予測モデルにおける入力値として利用する合成処理により、該２層間の依存関係が反映された、前記仮想化システムの性能予測モデルを生成する性能予測モデル合成機能とを、
コンピュータに実現させることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータを利用することによって仮想化システム（仮想化環境）の性能を予測する技術分野に関する。
【背景技術】
【０００２】
コンピュータの仮想化技術は、１台の物理マシンにおいて複数の仮想的なマシンが稼働することを可能にする。
【０００３】
しかし、仮想化技術を用いる場合、物理マシンが有するハードウェアリソースにおいてオーバヘッドや、リソース競合が発生する。ここで、ハードウェアリソースとは、例えば、当該物理マシンが有するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、記憶装置、メモリ等である。そして、リソース競合とは、例えば、複数トランザクションの同時実行によって発生するハードウェアリソースの競合や、仮想マシンモニタが同時に複数の仮想マシンの仮想ハードウェアをエミュレーションすることによって生じるソフトウェアの競合である。
【０００４】
係るオーバヘッドやリソース競合に関して、非特許文献１では、物理マシンにおいて動作する仮想マシンが１台増える毎に、ＣＰＵ性能が劣化すること指摘すると共に、その劣化が当該仮想マシンにおいて実行されるシステムの性能に影響を及ぼすと述べている。
【０００５】
一般に、物理マシンにおいて動作する仮想マシンの台数が増加すれば、その物理マシンを構成するハードウェアの動作をエミュレーションする仮想マシンモニタの動作は複雑になると想定される。そして、仮想マシンモニタの動作が複雑になれば、その仮想マシンモニタの性能も低下すると想定される。
【０００６】
これらの性能低下が生じる可能性を考えると、仮想化されたシステムの性能予測には、オーバヘッドやリソース競合が考慮されており、且つ複数の仮想マシンが動作する状況においても容易に性能を予測できることが必要である。ここで、係る仮想化されたシステムとは、仮想化技術により、１台の物理マシンにおいて、単体または複数の仮想マシンが動作できる環境を有するシステムである。
【０００７】
このようなシステムの性能予測方法として、性能予測モデルを用いる方法がある。ここで、性能予測モデルとは、システムへの入力に応じて、対象システム（性能予測の対象である仮想化システム）の性能を予測するモデル（例えば、典型的な例として、待ち行列や回帰分析）が挙げられる。係る性能予測モデルを用いた性能予測方法には、以下に述べる主に２種類の方法が挙げられる。
【０００８】
まず、システムの動作を模倣した性能予測モデルを生成する方法について述べる。以降、本願では、このモデル生成方法を「ホワイトボックス的アプローチ」と称する。ホワイトボックス的アプローチでは、対象システムの動作を模倣可能なモデルを生成するためには、性能予測モデルの生成に際して、その対象システムの動作の詳細（例えば、設計情報等）が明確である必要がある。つまり、ホワイトボックス的アプローチによれば、係る対象システムの動作が明確であれば、他のシステムに置き換えた場合においても、性能予測モデルを容易に生成できる。
【０００９】
このような特徴を有するホワイトボックス的アプローチによって生成した性能予測モデルを用いて、対象システムの性能予測を行う例としては、非特許文献２と、特許文献２乃至５とが挙げられる。
【００１０】
非特許文献２では、待ち行列理論に基づいて、性能予測モデルを生成している。より具体的に、非特許文献２では、動作内容が複雑である仮想マシンモニタの性能予測モデルの作成に際して、仮想化システムと、非仮想化システムとにおける物理マシンの動作の比較によって算出したオーバヘッド値を用いる。これにより、非特許文献２では、オーバヘッドをも考慮した性能予測モデルが作成できる。
【００１１】
特許文献２は、コンピュータシステムの待ち行列モデルを生成する方法について開示する。より具体的に、特許文献２では、待ち行列モデルの生成を実施するに際して、ワークロード毎の応答時間の測定し、測定した応答時間と待ち行列モデルとに基づいて、クラス毎の平均サービスの重要度を推定する。更に、特許文献２では、係る推定した平均サービス需要とワークロードの特徴とを利用することにより、システム全体の待ち行列を生成する。
【００１２】
特許文献３では、ストレージの性能予測モデルを、ストレージ仮想化装置の各構成要素に対するモデル情報を用いて、ホワイトボックス的アプローチを利用することによって生成している。
【００１３】
特許文献４では、仮想化システムの性能予測モデルを、各構成要素の設計情報を用いて、ホワイトボックス的アプローチを利用することによって生成している。また、特許文献４では、データベースに記憶された仮想マシンモニタの種類毎にオーバヘッドを計測し、計測したオーバヘッドを性能計算式に反映することで、係るオーバヘッドが考慮された性能予測モデルを求めている。
【００１４】
そして、特許文献５では、階層的な競合資源を持つシステムを、上位層（ソフトウェア部分）と下位層（ハードウェア部分）とに分け、それら階層毎に生成した性能予測モデルを、システム全体の性能予測結果として扱う。その際、特許文献５では、性能予測モデルの生成方法として、当該上位層及び下位層共に、ホワイトボックス的アプローチを用いている。
【００１５】
次に、システムへの入力値と、その入力値に対応する出力値を基に、統計処理や機械学習を利用することにより、性能予測モデルを生成方法について述べる。以降、本願では、このようなモデル生成方法を「ブラックボックス的アプローチ」と称する。ブラックボックス的アプローチでは、実測値を基にしたモデルを生成するので、オペレータ等は、対象システムの動作を明確に認識することは不要である。つまり、ブラックボックス的アプローチによれば、対象システムの動作が複雑であっても、その対象システムの性能予測モデルを生成することが可能である。
【００１６】
ブラックボックス的アプローチによって生成した性能予測モデルを用いて、性能予測を行っている例としては、非特許文献３及び特許文献６が挙げられる。
【００１７】
非特許文献３では、単体の仮想マシンが、仮想マシンモニタにおいて動作している状態における実測値と、線形モデルとを用いて、性能予測モデルを生成する。即ち、非特許文献３では、複数の仮想マシンが仮想マシンモニタにおいて動作する場合は、単体の仮想マシンが動作している状態における線形モデルの線形和を、性能予測モデルとしている。
【００１８】
特許文献６では、負荷データと実測値とを基にしたオーバヘッドを表すデータを、ホストＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の負荷再生機能によって再生することにより、複数の仮想マシンが動作する仮想化システムを再現する。そして、特許文献６では、係る再現した複数の仮想マシンが動作する状況において、ゲストＯＳの評価対象アプリケーションの再生によって得られる実測値を利用することにより、当該仮想化システムの性能評価を行う。
【００１９】
そして、上述した２種類の性能予測モデルの生成方法をどちらも用いたアプローチとして、特許文献７が挙げられる。特許文献７では、複数のソフトウェア・コンポーネントによって構成される対象システムの性能を予測する方法について開示する。具体的に、特許文献７は、当該各ソフトウェア・コンポーネントの動作に際して実測によって得られたシステム資源使用量を、性能データとしてデータベースに蓄積する。次に、特許文献７は、蓄積した性能データの中から、対象システムを構成している当該各ソフトウェア・コンポーネントのシステム資源使用量を抽出し、抽出した結果の和に基づいて、トランザクション処理に必要なシステム資源使用を予測する。そして、特許文献７は、予測したトランザクション処理の資源使用量と待ち行列理論とによって、当該対象システム全体の性能予測を行う。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開２０１０−００９１６０号公報
【特許文献２】特開２０１１−０８６２９５号公報
【特許文献３】特開２００６−１４６３５４号公報
【特許文献４】特開２０１２−１４６０１５号公報
【特許文献５】特開２０００−０２９７５３号公報
【特許文献６】特開２０１０−１２８８６６号公報
【特許文献７】特開２００４−２２０４５３号公報
【非特許文献】
【００２１】
【非特許文献１】網代育大，田中淳裕，仮想計算機環境における資源管理オーバヘッドの評価，情報処理学会研究報告（ＥＶＡ），１７−２２，２００６
【非特許文献２】Ｐｅｒｆｏｒｍａｎｃｅ  Ｍｏｄｅｌｓ  Ｆｏｒ  Ｖｉｒｔｕａｌｉｚｅｄ  Ａｐｐｌｉｃａｔｉｏｎｓ，Ｆｅｂｒｉｃｉｏ  Ｂｅｎｅｖｅｎｕｔｏ，Ｃｅｓａｒ  Ｆｅｒｎａｎｄｅｓ，Ｍａｔｈｅｕｓ  Ｓａｎｔｏｓ，Ｖｉｒｇｉｌｉｏ  Ａｌｍｅｉｄａ，Ｊｕｓｓａｒａ  Ａｌｍｅｉｄａ，Ｇ．（Ｊｏｈｎ）Ｊａｎａｋｉｒａｍａｎ，ａｎｄ  Ｊｏｓｅ  Ｒｅｎａｔｏ  Ｓａｎｔｏｓ， ＩＳＰＡ ，２００６Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｏｃｉｅｔｙ  ｆｏｒ  ｔｈｅ  Ｐｅｒｆｏｒｍｉｎｇ  Ａｒｔｓ  ２００６  Ｗｏｒｋｓｈｏｐｓ，Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，２００６，Ｖｏｌｕｍｅ４３３１／２００６，ｐｐ４２７−４３９
【非特許文献３】Ｕｎｔａｎｇｌｉｎｇ  Ｍｉｘｅｄ  Ｉｎｆｏｒｍａｎｔｉｏｎ  Ｔｏ  Ｃａｌｉｂｒａｔｅ  Ｒｅｓｏｕｒｃｅ  Ｕｔｉｌｉｚａｔｉｏｎ  Ｉｎ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅｓ，Ｌｅｉ  Ｌｕ，Ｈｕｉ  Ｚｈａｎｇ，Ｇｕｏｆｅｉ  Ｊｉａｎｇ，Ｈａｉｆｅｎｇ  Ｃｈｅｎ，Ｋｅｎｊｉ  Ｙｏｓｈｉｈｉｒａ，Ｅｖｇｅｎｉａ  Ｓｍｉｒｎｉ，Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ａｕｔｏｎｏｍｉｃ  Ｃｏｍｐｕｔｉｎｇ  ２０１１，Ｐｒｏｃｅｅｄｉｎｇ  ｏｆ  ｔｈｅ  ８ｔｈ  ＡＣＭ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ａｕｔｏｎｏｍｉｃ  ｃｏｍｐｕｔｉｎｇ，ｐｐ１５１−１６０ＩＣＡＣ ，２０１１
【発明の概要】
【発明が解決しようとする課題】
【００２２】
仮想化システムの性能予測方法である特許文献４に開示された手法は、仮想マシンモニタの種類毎に計測したオーバヘッドをデータベースに記憶しておき、これらのオーバヘッドを性能計算式に反映する。これにより、特許文献４に開示された手法は、係るオーバヘッドを考慮した性能予測方法を実現している。
【００２３】
特許文献１は、仮想化システムの性能予測値算出装置に、オーバヘッドを含んだ性能予測関数や性能予測モデルを用いる技術を開示する。
【００２４】
しかしながら、係る特許文献１及び４は、仮想マシンが単体動作する性能予測方法について開示するに留まり、複数台の仮想マシンが動作することによるリソース競合の発生については考慮されていない。
【００２５】
一方、特許文献５では、ホストＯＳにおいて複数の仮想マシンが動作する状況を作り出し、その状況において、ゲストＯＳにおいて動作する評価対象アプリケーションの実測による性能予測を行う。また、特許文献５では、係る複数の仮想マシンが動作する状況におけるオーバヘッドを考慮している。しかし、特許文献５では、実測値による性能予測を行っているため、仮想マシンのスペックが変更された場合は、変更の毎に当該評価対象アプリケーションを実測しなければならないので、工数（コスト）を要することが問題である。
【００２６】
また、仮想化環境の性能を、モデルを用いて予測する方法では、非特許文献１と、特許文献３及び４に関して上述したように、対象システムの構成要素に関する詳細に基づいて、ホワイトボックス的アプローチによる性能予測モデルの生成を行う。係るホワイトボックス的アプローチでのモデル生成は、当該対象システムの動作の詳細が明確である必要がある。特に、ホワイトボックス的アプローチでは、仮想化環境における仮想マシンモニタの動作は複雑であるため、仮想マシンを含んだホワイトボックス的アプローチによるモデル生成には、煩雑な作業が必要となる。
【００２７】
そこで、本発明は、１台の物理マシンにおいて動作する仮想マシンが単体もしくは複数台の場合であっても、仮想化システムの性能を容易に予測することができる性能予測装置等の提供を主たる目的とする。
【課題を解決するための手段】
【００２８】
上記の目的を達成すべく、本発明に係る仮想化システムの性能予測装置は、以下の構成を備えることを特徴とする。
【００２９】
即ち、本発明に係る仮想化システムの性能予測装置は、
アプリケーション層とハードウェア層とからなる仮想化システムにて実行される仮想マシンにおいて動作するところの、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能予測モデルを生成する第１の性能予測モデル生成部と、
前記仮想化システムを計測した結果に基づいて、前記ハードウェア層の性能予測モデルを生成する第２の性能予測モデル生成部と、
前記アプリケーション層の性能予測モデルと、前記ハードウェア層の性能予測モデルとを対象として、一方の層の性能予測モデルにおける出力値を、他方の層の性能予測モデルにおける入力値として利用する合成処理により、該２層間の依存関係が反映された、前記仮想化システムの性能予測モデルを生成する性能予測モデル合成部と、
を備えることを特徴とする。
【００３０】
尚、同目的を達成すべく、本発明に係る仮想化システムの性能予測方法は、以下の構成を備えることを特徴とする。
【００３１】
即ち、本発明に係る仮想化システムの性能予測方法は、
アプリケーション層とハードウェア層とからなる仮想化システムにて実行される仮想マシンにおいて動作するところの、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能予測モデルを生成し、
前記仮想化システムを計測した結果に基づいて、前記ハードウェア層の性能予測モデルを生成し、
前記アプリケーション層の性能予測モデルと、前記ハードウェア層の性能予測モデルとを対象として、一方の層の性能予測モデルにおける出力値を、他方の層の性能予測モデルにおける入力値として利用することにより、該２層間の依存関係が反映された、前記仮想化システムの性能予測モデルを生成する
ことを特徴とする。
【００３２】
また、同目的は、上記構成を有する仮想化システムの性能予測装置、並びに対応する方法を、コンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００３３】
上記の本発明によれば、１台の物理マシンにおいて動作する仮想マシンが単体もしくは複数台の場合であっても、仮想化システムの性能を容易に予測することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の第１の実施形態に係る、仮想化システムの性能予測装置の機能構成を示すブロック図である。
【図２】本発明の第１の実施形態に係る、仮想化システムの性能予測装置の前提条件を概念的に説明する図である。
【図３】図１に示す仮想化環境の性能予測モデル合成部３０３による合成処理方法を説明するブロック図である。
【図４】第１の実施形態において、仮想化環境の性能予測モデル合成部１０３が行う性能予測処理（合成処理）を概念的に説明する図である。
【図５】第１の実施形態においてハードウェア層の性能予測モデル３０２が出力する性能指標を例示する図である。
【図６】図６は、本発明の第２の実施形態に係る性能予測装置の機能構成を示すブロック図である。
【図７】本発明の第２の実施形態に係る性能予測装置１０による性能予測処理の概要を示すフローチャートである。
【図８】第２の実施形態において、ハードウェア層の性能予測モデル生成部１０２が性能予測モデル３０２を生成する処理手順を示すフローチャートである。
【図９】図６に示す仮想化環境の性能予測モデル合成部１０３における、仮想化環境の性能予測モデル３０３の合成方法を概念的に表した説明図である。
【図１０】第２の実施形態において、仮想化環境の性能予測モデル合成部１０３が行う合成処理（性能予測）の手順を示すフローチャートである。
【図１１】本発明の第１及び第２の実施形態の変形例に係る、仮想化システムの性能予測装置の前提条件を概念的に説明する図である。
【図１２】本発明の各実施形態及びその変形例を実現可能なコンピュータ（情報処理装置）のハードウェア構成を例示的に説明する図である。
【発明を実施するための形態】
【００３５】
次に、本発明を実施する形態について図面を参照して詳細に説明する。
【００３６】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係る、仮想化システムの性能予測装置の機能構成を示すブロック図である。
【００３７】
図１において、性能予測装置１は、仮想化システム２と通信可能に接続されている。仮想化システム２は、性能予測装置１が性能を予測すべき対象（以下、「対象システム」または「仮想化環境」とも称する場合がある）である。性能予測装置１と、仮想化システム２との接続方法は、例えば、インターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の一般的な通信手段を採用することができる。よって、本実施形態では、係る通信手段に関する詳細な説明は省略する。
【００３８】
本実施形態において、仮想化システム２の性能予測装置１は、アプリケーション層の性能予測モデル生成部（第１の性能予測モデル生成部）１０１と、ハードウェア層の性能予測モデル生成部（第２の性能予測モデル生成部）１０２と、仮想化環境の性能予測モデル合成部１０３とを有する。
【００３９】
即ち、アプリケーション層の性能予測モデル生成部１０１は、アプリケーション層とハードウェア層とからなる仮想化システム２にて実行される仮想マシンにおいて動作するところの、アプリケーションに関する情報に基づいて、当該アプリケーション層の性能予測モデル（３０１）を生成する。
【００４０】
ハードウェア層の性能予測モデル生成部１０２は、仮想化システム２を計測した結果に基づいて、当該ハードウェア層の性能予測モデル（３０２）を生成する。
【００４１】
仮想化環境の性能予測モデル合成部１０３は、当該アプリケーション層の性能予測モデル（３０１）と、当該ハードウェア層の性能予測モデル（３０２）とを対象として、一方の層の性能予測モデルにおける出力値を、他方の層の性能予測モデルにおける入力値として利用する合成処理により、それら２層間の依存関係が反映された、仮想化システム２の性能予測モデルを生成する。
【００４２】
以下、上述した構成を有する性能予測装置１のより具体的な構成例について詳細に説明する。
【００４３】
性能予測装置１は、アプリケーション層及びハードウェア層なる２つの層の動作の特徴を反映したモデルを生成することにより、当該各層の性能を予測することができる。本実施形態におけるモデルの生成には、少なくとも、性能予測対象のシステムの実測値によりモデルを構築する第２の方法と、システムの動作の詳細を模倣するモデルを作成する第１の方法とを用いることとする。具体的には、本実施形態において、モデルの生成には、例えば、待ち行列理論や回帰分析手法などを採用することができる。これらモデル生成の方法自体には、現在では一般的な手法を採用することができるので、本実施形態における詳細な説明は省略する。性能予測装置１によって生成された最終成果物としてのモデルは、「性能予測モデル」と称することとする（以下の実施形態においても同様）。
【００４４】
尚、性能予測装置１を実現可能なハードウェア構成（ハードウェア資源）については、図１２を参照して後述する。
【００４５】
次に、本実施形態における前提条件について、図２を参照して説明する。図２は、本発明の第１の実施形態に係る、仮想化システムの性能予測装置の前提条件を概念的に説明する図である。本実施形態では、性能予測装置１によって仮想化システム（対象システム）２の性能を予測するに際して、その仮想化システムの構成が階層的な構成をなす、と定義する。
【００４６】
図２では、仮想化システム２を、一例として、モノリシック・ハイパーバイザ型で構築している。但し、仮想化システム２の構成方法は、仮想マシンモニタがホストＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）において動作するホストＯＳ型や、仮想マシンモニタが仮想化環境を提供するための最低限の機能しか持たないマイクロカーネル・ハイパーバイザ型でもよい。即ち、仮想化システム２の構成方法は、一つの物理マシンにおいて、仮想マシンが動作できる環境が実現できる方法であれば、何れの方法でも採用することができる。
【００４７】
第１の実施形態における仮想化システム２は、一般的な仮想化システムと同様に、仮想マシン２０１、仮想マシンモニタ（ハイパーバイザ）２０２、および物理マシンのハードウェア２０３という３層をなす。仮想マシン２０１は、図２に示すように、ｎ台（但し、ｎは０を含む自然数）であり、単体である複数であるかは限定されない。
【００４８】
個々の仮想マシン２０１は、図２に例示するように、ゲストＯＳ環境を提供すると共に、１つ以上の任意のアプリケーション（ＡＰ）を実行することができる。そして、本実施形態では、係る３層構造をなす仮想化システム（対象システム）２を、以下の通り２層（２階層）と定義する。即ち、
・仮想マシン２０１によって構成されるアプリケーション層２０４、
・仮想マシンモニタ２０２と、物理マシンのハードウェア２０３とによって構成されるハードウェア層２０５。
【００４９】
換言すると、係る３層構造をなす仮想化システム２の性能を予測するに際して、性能予測装置１は、上記２層として取り扱う。そして、性能予測装置１は、係る定義を前提として、仮想化システム２の性能を予測する。ここで、性能予測装置１への定義の仕方としては、例えば、仮想マシン２０１をアプリケーション層２０４と関連付けて（紐付けて）登録し、仮想マシンモニタ２０２と物理マシンのハードウェア２０３とをハードウェア層２０５と関連付けて登録すればよい。
【００５０】
図３は、図１に示す仮想化環境の性能予測モデル合成部３０３による合成処理方法を説明するブロック図である。本実施形態において、性能予測モデル合成部１０３は、図３に示すように、アプリケーション層（２０４）の性能予測モデル３０１と、ハードウェア層（２０５）の性能予測モデル３０２を用いて、仮想化環境の性能予測モデル３０３とを合成する。
【００５１】
より具体的に、アプリケーション層の性能予測モデル生成部１０１は、オペレータ等の操作に応じて、仮想化システム２にて実行される仮想マシン２０１において動作するところの、アプリケーションに関する情報に基づいて、アプリケーション層の性能予測モデル３０１を生成する。本実施形態において、性能予測モデル生成部１０１は、「背景技術」欄において上述したホワイトボックス的アプローチ（第１の方法）によって、性能予測モデル３０１を生成する。
【００５２】
即ち、ホワイトボックス的アプローチによるモデル生成とは、任意のシステムの設計情報を基に当該任意のシステムの動作を模倣したモデル生成手法である。具体的には、係るホワイトボックス的アプローチによるモデル生成手法としては、例えば、待ち行列理論やペトリネットを用いることができる。但し、同様のアプローチ方法が実現できる手法であれば、本実施形態における、アプリケーション層の性能予測モデルの生成方法は限定されない。例えば、対象システムの各構成要素の設計情報を用いた待ち行列を生成する特許文献４に開示された手法と同様の手法を採用してもよい。
【００５３】
一方、ハードウェア層の性能予測モデル生成部１０２は、仮想化システム２の計測によって得られた実測値を基に、「背景技術」欄において上述したブラックボックス的アプローチ（第２の方法）によって、ハードウェア層の性能予測モデル３０２を生成する。即ち、本実施形態において、ブラックボックス的アプローチによるモデル生成とは、任意のシステムへの入力値と、その入力値に対応する出力値を基に、統計処理や機械学習によってモデルを生成する手法である。具体的には、係るブラックボックス的アプローチによるモデル生成手法としては、例えば、回帰分析やニューラルネットワーク、遺伝的アルゴリズムを用いることができる。但し、同様のアプローチ方法が実現できる手法であれば、本実施形態における、ハードウェア層の性能予測モデルの生成方法は限定されない。例えば、仮想マシンモニタにて単体の仮想マシンが動作している状態における実測値と、線形モデルとを利用する非特許文献３に開示されたモデル生成手法を採用してもよい。
【００５４】
次に、仮想化環境の性能予測モデル合成部１０３について説明する。
【００５５】
一般に、仮想化システム（仮想化環境）において、アプリケーション層にて実行される仮想マシンは、ハードウェア層を構成するハードウェアリソースを使用することによって所望のアプリケーション（処理）を実行する。そのため、アプリケーション層とハードウェア層との間には依存関係がある。つまり、アプリケーション層とハードウェア層とを別々に分けた状態では、性能を予測すべき対象である当該仮想化システムの性能を正確に予測することはできない。
【００５６】
これに対して、本実施形態に係る仮想化環境の性能予測モデル合成部１０３は、アプリケーション層２０４とハードウェア層２０５との間に存在する依存関係が考慮された性能予測が可能である。即ち、性能予測モデル合成部１０３は、アプリケーション層の性能予測モデル生成部１０１によって生成されたところの、アプリケーション層の性能予測モデル３０１と、ハードウェア層の性能予測モデル１０２によって生成されたところの、ハードウェア層の性能予測モデル３０２とを用いて、仮想化システム２の性能予測モデル３０３を生成することにより、当該仮想化システム全体の性能予測を可能とする。この性能予測の手順について、図４を参照して、以下に具体的に説明する。
【００５７】
図４は、第１の実施形態において、仮想化環境の性能予測モデル合成部１０３が行う性能予測処理（合成処理）を概念的に説明する図である。
【００５８】
仮想化環境の性能予測モデル合成部１０３は、アプリケーション層の性能予測モデル３０１によって算出したハードウェアリソース（物理マシン）へのリソース要求８０８を、ハードウェア層の性能予測モデル３０２に入力する。ここで、ハードウェアリソースへのリソース要求８０８は、係るハードウェアリソースを、アプリケーション層の性能予測モデル３０１がどのように使用するかに関する情報を含む。
【００５９】
そして、係るリソース要求８０８が入力されるのに応じて、ハードウェア層の性能予測モデル３０２は、対象システム２全体の性能を予測することが可能な性能指標（後述する性能指標８０９（図９）に相当）を、オペレータ等に提供することができる。ここで、性能指標とは、例えば、ハードウェアリソースの使用率、ＴＡＴ（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ）、スループット等）である。係る性能指標は、例えば図５に例示する如くオペレータ等に提供される。仮想化環境の性能予測モデル合成部１０３は、入力されたリソース要求８０８に応じた処理が完了すると、当該リソース要求に関する処理完了通知８１０を、アプリケーション層の性能予測モデル３０１に入力する。
【００６０】
図５は、第１の実施形態においてハードウェア層の性能予測モデル３０２が出力する性能指標を例示する図である。より具体的に、図５に示す例では、同一のシステムに対して、最大スレッド数を増やした場合（１００、３００、・・・、１９００）の、最大スレッド数に対する「ＣＰＵ使用率（％）」、「スループット（ｔｐｓ：トランザクション数毎秒）」、及び「ＴＡＴ（ｍｓ：ミリ秒）」を表す。
【００６１】
更に、仮想化環境の性能予測モデル合成部１０３は、図４に示すように、ハードウェア層の性能予測モデル３０２における、リソース要求に関する処理の完了通知８１０を、アプリケーション層の性能予測モデル３０１に入力する。
【００６２】
即ち、本実施形態に係る仮想化環境の性能予測モデル合成部１０３によれば、アプリケーション層の性能予測モデルと、ハードウェア層の性能予測モデルとを対象として、一方の層の性能予測モデルにおける出力値を、他方の層の性能予測モデルにおける入力値として利用する。このような処理構成によって生成される対象システムの性能予測モデル３０３によれば、当該２層間の依存関係を考慮した性能予測が実現する。本実施形態では、係る２層間の依存関係を用いた性能予測処理を、合成（合成処理）とも称することとする。
【００６３】
本実施形態の効果について、以下に述べる。本実施形態では、仮想マシン２０１の動作の詳細が明確なアプリケーション層２０４の性能予測モデルの生成に、ホワイトボックス的アプローチ（第１の方法）を用いた。即ち、ホワイトボックス的アプローチを用いて生成した性能予測モデルは、一般に、仮想マシン毎にシステム構成が明確である。これにより、本実施形態において、アプリケーション層の性能予測モデル生成部１０１は、アプリケーション層２０４において複数台の仮想マシン２０１が動作する必要がある場合においても、追加すべき仮想マシンを単に追加するだけで、アプリケーション層の性能予測モデル３０１を容易に生成できる。よって本実施形態によれば、ブラックボックス的アプローチ（第２の方法）を採用した場合のように、仮想マシンの台数に応じて計測し直すような手間（コスト）を要することなく、アプリケーション層２０４に仮想マシン２０１を容易に追加することができる。
【００６４】
一方で、本実施形態では、ハードウェア層の性能予測モデル３０２の生成に、ブラックボックス的アプローチ（第２の方法）を用いた。即ち、ホワイトボックス的アプローチによってハードウェア層２０５に関する性能予測モデルを生成仕様とした場合、動作が複雑な各構成要素（仮想マシンモニタ２０２、物理マシン２０３等）の仕様を、モデルの生成に先だって明確に設定する必要がある。これに対して、ブラックボックス的アプローチを用いて生成した性能予測モデルは、実測値を用いてモデルを生成するので、動作が複雑な当該各構成要素について動作が不明確なままでも、ハードウェア層の性能予測モデル３０２を生成することができる。即ち、ブラックボックス的アプローチは、ホワイトボックス的アプローチのように、システムの動作を明確に把握する必要が無いので、係る性能予測モデル３０２を容易に生成することができる。従って、ハードウェア層の性能予測モデル生成部１０２によれば、仮想マシンモニタ２０２におけるエミュレーションや、物理マシンのハードウェア２０３におけるリソース競合等の詳細を明示的に記述することなく、これらが及ぼす性能への影響が正しく考慮された性能予測モデル３０２が生成できる。
【００６５】
そして、本実施形態に係る仮想化環境の性能予測モデル合成部１０３によれば、上述したアプリケーション層の性能予測モデル３０１と、ハードウェア層の性能予測モデル３０２とを利用する合成処理により、これら各層間の依存性が考慮された、仮想化環境の性能予測モデル３０３を生成することができる。即ち、係る性能予測モデル３０３によれば、仮想化システム（対象システム）２全体の性能を、正確に予測することができる。
【００６６】
このように、本実施形態によれば、アプリケーション層２０４とハードウェア層２０５とにおける仮想化システム２の動作の特徴を考慮した性能予測方法が採用される。従って、本実施形態に係る性能予測装置１によれば、オーバヘッドや、リソース競合の詳細についてオペレータ等が明確に把握していない場合であっても、係る仮想化システム２の性能を容易且つ正確に予測することが可能である。尚、実施形態におけるオーバヘッドとは、例えば、物理マシンのハードウェア２０３によって発生するオーバヘッドや、仮想マシンモニタ２０２におけるエミュレーションによって発生するオーバヘッドが想定される。また、リソース競合とは、例えば、複数トランザクションの同時実行により発生するハードウェアリソースの競合や、仮想マシンモニタ２０２が同時に複数の仮想マシンの仮想ハードウェアをエミュレーションすることによるソフトウェアの競合が想定される。
【００６７】
＜第２の実施形態＞
次に、上述した第１の実施形態に係る性能予測装置１を基本とする第２の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。また、本実施形態においても、性能予測装置１０は、第１の実施形態において図２を参照して説明した２層（即ち、アプリケーション層２０４及びハードウェア層２０５）を構成することを前提条件とする。
【００６８】
第２の実施形態としての性能予測装置１０を、図６を参照して説明をする。図６は、本発明の第２の実施形態に係る性能予測装置の機能構成を示すブロック図である。
【００６９】
本実施形態における性能予測装置１０は、アプリケーション層の性能予測モデル特定部１０４と、ハードウェア層の性能予測モデル生成部１０２と、仮想化環境の性能予測モデル合成部１０３と、入力内容指定部４０１と、情報収集部４０２と、記憶部３とを有する。
【００７０】
尚、記憶部３は、性能予測装置１外部のデータベース等に設けてもよい。この場合、アプリケーション層の性能予測モデル特定部１０４は、係るデータベースを参照すればよい。また、本実施形態においても、性能予測装置１０は、アプリケーション層の性能予測モデル特定部１０４と共に、第１の実施形態において上述した、アプリケーション層の性能予測モデル生成部１０１をも有していてもよい。
【００７１】
以下、このような装置構成を有する性能予測装置１０の各部について詳細に説明する。尚、性能予測装置１０を実現可能なハードウェア構成（ハードウェア資源）については、図１２を参照して後述する。
【００７２】
アプリケーション層の性能予測モデル特定部１０４は、第１の実施形態とは異なり、記憶部３から、特定の性能予測モデル（３０１）を入手する。即ち、記憶部３は、ホワイトボックス的なアプローチ（第１の方法）を用いて生成されたアプリケーション層２０４の性能予測モデル群１１０を蓄積している。性能予測モデル特定部１０４は、オペレータ等の操作に応じて、仮想化システム２の仮想マシン２０１にて動作するアプリケーションに関する情報に基づいて記憶部３を参照する。これにより、性能予測モデル特定部１０４は、係る性能予測モデル群１１０の中から、係るアプリケーションに関する情報に関連付けされた、特定の性能予測モデル３０１を特定することができる。
【００７３】
尚、本実施形態では、一例として、記憶部３を性能予測装置１０の内部に有する装置構成としている。しかしながら、本実施形態を例として説明する本発明は、係る装置構成には限定されず、第１の実施形態と同様に、自装置の外部に設けられた記憶部（データベース）を参照可能な装置構成であってもよい。
【００７４】
ハードウェア層２０５の性能予測モデル生成部３０２は、第１の実施形態と同様に、ブラックボックス的なアプローチ（第２の方法）を用いて、ハードウェア層２０５の性能予測モデル３０２を生成する。
【００７５】
入力内容指定部４０１は、ハードウェア層の性能予測モデル生成部１０２による性能予測モデル３０２の生成に利用すべく、仮想化システム（対象システム）２に関する実測値を計測する際に、オペレータ（ユーザ）等２０が入力内容を指定可能なユーザインタフェース（ＵＩ、マンマシンインタフェース）としての機能を有する。
【００７６】
本実施形態において、アプリケーション層の性能予測モデル群１１０をなす個々の性能予測モデルは、第１の実施形態に係るアプリケーション層の性能予測モデル３０１と同様に、「背景技術」欄において上述したホワイトボックス的アプローチ（第１の方法）によって生成される。即ち、係る性能予測モデル群１１０を構成する１つ以上の性能予測モデル３０１は、仮想化環境の性能予測モデル合成部１０３による合成処理に先だって、例えば、性能予測装置１０が、ホワイトボックス的なアプローチを用いた一般的な手順により求めておけばよい。
【００７７】
記憶部３は、例えば、コンピュータ読み取り可能な記憶媒体であるハードディスク装置（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ：ＨＤＤ）等であって、仮想化システム２の仮想マシン２０１にて動作するアプリケーションの設計情報等を用いて生成した性能予測モデル群１１０を蓄積することができる。係る性能予測モデル１１０群は、アプリケーション層の性能予測モデル３０１として特定可能な候補群であって、仮想マシン２０１において動作するアプリケーションの振舞いを模倣した構成であることが必要である。本実施形態において、係る性能予測モデル群１１０には、仮想マシン２０１において動作するアプリケーションの設計情報に従って、待ち行列やペトリネットなどを利用して生成した性能予測モデルを採用することができる。但し、係る性能予測モデルの生成に際しては、入力に対する解析計算やシミュレーションによって、予め決められた手順で出力が決定される性能予測モデルであれば、生成手法は何ら限定されない。
【００７８】
アプリケーション層の性能予測モデル特定部１０４は、特定の性能予測モデル３０１を、記憶部３に格納されたアプリケーション層の性能予測モデル群１１０から獲得する。具体的に、性能予測モデル特定部１０４は、仮想マシン２０１において動作する所望のアプリケーションの情報等の入力内容をオペレータ等２０が指定するのに応じて、その入力内容に対応する特定の性能予測モデル３０１を、アプリケーション層の性能予測モデル群１１０の中から入手する。性能予測モデル特定部１０４に対する入力の方法としては、オペレータ自身の他に、ＬＡＮやインターネットを介したサーバ等の外部装置からの命令でもよい。このため、本実施形態では、図６に示す如くオペレータ等２０と表現している。
【００７９】
また、アプリケーション層の性能予測モデル特定部１０４は、オペレータ２０等から指示された入力内容に対応する、アプリケーション層２０４についての当該特定の性能予測モデル３０１を、仮想化環境の性能予測モデル合成部１０３に入力（提供）する機能も有する。ここで、係る入力内容とは、アプリケーション層２０４にて実行される各仮想マシン２０１におけるアプリケーション情報である。そして、係る入力内容に対応する特定の性能予測モデル３０１とは、性能を予測すべき対象となる仮想マシン２０１毎のシステム内容を表す。このシステム内容は、当該仮想マシン２０１毎に異なるので、対応する性能予測モデル３０１もシステム毎（仮想マシン２０１毎）に異なる。例えば、仮想マシン２０１がアプリケーション層２０４において３台稼働するのであれば、それら３台分それぞれの仮想マシン２０１に関するアプリケーション情報にマッチする性能予測モデル３０１を、アプリケーション層の性能予測モデル群１１０（記憶部３）から取り出す必要がある。
【００８０】
入力内容指定部４０１では、オペレータ等２０による入力操作により、仮想化システム２の実測値（例えば、各リソースの使用率、スループット、ＴＡＴ等）の計測に関わる設定値や、計測の実行命令に関わる入力内容が指定される。入力内容指定部４０１に対する入力操作の方法は、上述した性能予測モデル特定部１０４に対する入力の方法と同様に、オペレータ自身による入力には限定されず、外部装置からの命令でもよい。また、入力内容指定部４０１は、上記の如く指定された入力内容を、仮想化システム２に入力（提供）する機能を有する。
【００８１】
仮想化システム２に関する実測値の計測は、仮想化環境の性能予測モデル合成部１０３による合成処理に先だって、例えば、性能予測装置１０が行えばよい。計測の内容は、仮想マシン２０１におけるベンチマークソフトを用いた、ベンチマークテストが挙げられる。例えば、ベンチマークソフトとは、例えば、ＣＰＵ、記憶装置、通信ネットワーク等のように、対象システム２に関係する各種のハードウェアリソースに負荷を与えることか可能なソフトウェア（コンピュータ・プログラム）がある。本実施形態において、係るベンチマークソフトとしては、特定のハードウェアリソースの負荷状況を再現できるプログラムであれば、何れのプログラムでも採用することができる。
【００８２】
尚、仮想化システム２に関する実測値の計測手順自体は、一般的な手順を採用することができるので、本実施形態における詳細な説明は省略する。
【００８３】
情報収集部４０２は、対象システム２に関して計測された実測値を収集することができる。ここで、係る実測値とは、入力内容指定部４０１からの入力内容に応じて実行される対象システム２に関するベンチマークテストにおける入力値と、その入力値に対応する出力値との対（ペア）をなす情報である。更に、情報収集部４０２は、収集した実測値を、ハードウェア層２０５の性能予測モデル３０２に入力（提供）することができる。
【００８４】
より具体的に、情報収集部４０２は、上述した実測値として、対象システム２への入力値と、その入力値に対応する出力値とを収集する。係る入力値とは、各ハードウェアリソースへのリソース要求（ハードウェア資源の使用方法に関する情報を含んだ情報）であり、上述した第１の実施形態において説明したリソース要求８０８（図３）に相当する。情報収集部４０２は、係る入力値を、対象システム２から入手しても、或いは、入力内容指定部４０１から入手してもよい。そして、係る入力値に対応する出力値とは、当該各ハードウェアリソースの使用率やＴＡＴ等である。
【００８５】
そして、情報収集部４０２は、ＨＤＤ等のコンピュータ読み取り可能な記憶媒体（例えば、記憶部３）に、収集した実測値（即ち、対象システム２への入力値と、その入力値に対応する出力値）を記憶する機能を有する。また、情報収集部４０２は、係る実測値を、オペレータ等２０の操作に応じて、ハードウェア層の性能予測モデル生成部１０２に出力する機能を有する。
【００８６】
ハードウェア層の性能予測モデル生成部１０２は、例えばオペレータ等２０の操作を契機に、情報収集部４０２から入力された情報（上述した実測値）に基づいて、ブラックボックス的アプローチにより、ハードウェア層２０５の性能予測モデル３０２を生成する。
【００８７】
そして、性能予測モデル生成部１０２は、生成した性能予測モデル３０２を、例えばオペレータ等２０の操作を契機に、仮想化環境の性能予測モデル合成部１０３に入力する機能も有する。
【００８８】
仮想化環境の性能予測モデル合成部１０３は、アプリケーション層の性能予測モデル特定部１０４にて特定された性能予測モデル３０１と、ハードウェア層の性能予測モデル生成部１０２にて生成された性能予測モデル３０２とを合成することにより、対象システム２の性能予測モデル３０３を作成する。本実施形態においても、対象システム２の性能予測モデル３０３の生成（合成）方法は第１の実施形態と同様である。仮想化環境の性能予測モデル合成部１０３は、例えばオペレータ等の操作を契機に、係る合成処理を実行すればよい。
【００８９】
即ち、本実施形態に係る性能予測装置１０によれば、仮想化環境の性能予測モデル合成部１０３が生成する性能予測モデル３０３を用いることにより、仮想化システム（対象システム）２へのリクエストの内容を基に、対象システム２全体の性能予測結果としての性能指標（性能予測値：各リソースの使用率、ＴＡＴ、スループット等）を算出することができる。オペレータ等２０は、係る性能指標を、例えばディスプレイ等（不図示：後述する図１２に示す入出力ユーザインタフェース１３に相当）を介して参照することにより、対象システム２の性能予測を行うことができる。
【００９０】
（性能予測処理）
次に、上述した一連の性能予測動作を実現すべく、性能予測装置１０が行う性能予測処理について、図７乃至図１０を参照して、より具体的に説明する。
【００９１】
図７は、本発明の第２の実施形態に係る性能予測装置１０による性能予測処理の概要を示すフローチャートである。
【００９２】
まず、ステップＳ１０１において、ハードウェア層の性能予測モデル生成部１０２は、例えばオペレータ等２０の操作を契機に、ハードウェア層２０５の性能予測モデル３０２を生成し、生成した性能予測モデル３０２を、仮想化環境の性能予測モデル合成部１０３に入力する。ステップＳ１０１の詳細は、図８を参照して後述する。
【００９３】
次に、ステップＳ１０２において、アプリケーション層の性能予測モデル特定部１０１は、オペレータ等２０の操作を契機に、仮想化システム２の仮想マシン２０１にて動作するアプリケーションに関する情報を入力値（検索キー）として、記憶部３に格納されている、アプリケーション層の性能予測モデル群１１０を参照することにより、当該入力値に対応する特定の性能予測モデル３０１を獲得する。
【００９４】
即ち、ステップＳ１０２は、アプリケーション層２０４にて実行する仮想マシン２０１に関するアプリケーション情報に合致した特定の性能予測モデル（アプリケーション層の性能予測モデル）３０１を、アプリケーション層の性能予測モデル群１１０から獲得するステップである。このことを換言すると、ステップＳ１０２は、仮想マシン２０１においてオペレータ等２０が稼働を希望する所望のアプリケーションに関する情報と、同じ内容のアプリケーション情報を用いて予め生成されたアプリケーション層２０４の性能予測モデルを、性能予測モデル群１１０の中から、オペレータ等２０が、例えば人的操作によって選択するステップである。選択された性能予測モデルは、後述するステップＳ１０３にて実行される性能予測に使用すべき特定の性能予測モデル３０１である。
【００９５】
そしてステップＳ１０３において、仮想化環境の性能予測モデル合成部１０３は、ステップＳ１０１にて入力されたところの、ハードウェア層２０５の性能予測モデル３０２と、ステップＳ１０２にて特定されたところの、アプリケーション層の性能予測モデル）３０１とを用いて、上述した合成処理を実行することにより、仮想化システム２全体の性能を予測する。この性能予測の結果として得た性能予測値は、仮想化環境の性能予測モデル合成部１０３の出力である。ステップＳ１０３は、例えば、オペレータ等２１の操作を契機として実行される。ステップＳ１０３の詳細は、図１０を参照して後述する。
【００９６】
図８は、第２の実施形態において、ハードウェア層の性能予測モデル生成部１０２が性能予測モデル３０２を生成する処理手順を示すフローチャートであり、上述したステップＳ１０１の詳細を示す。
【００９７】
まず、ステップＳ２０１において、ハードウェア層の性能予測モデル生成部１０２は、オペレータ等２０の操作を契機に、入力内容指定部４０１に対して、対象システム２に関する計測を指示する。このとき、入力内容指定部４０１は、オペレータ等２０の操作によって、対象システム２に関する実測値（計測値）の計測内容に関わる設定値や、計測の実行を指示する命令（リクエスト）等を、対象システム２に設定する。仮想化システム２は、入力内容指定部４０１によってステップＳ２０１にて指定された情報が入力されるのに応じて、仮想化システム２の計測を開始する。
【００９８】
次に、情報収集部４０２は、ステップＳ２０２において、ステップＳ２０１によって開始された仮想化システム２の計測に応じて出力される実測値（計測値）を収集する。係る実測値は、例えば、各リソースの使用率、スループット、ＴＡＴ等の、ハードウェア層２０５の状態を表す情報である。情報収集部４０２は、収集した実測値（ステップＳ２０１にて入力された入力値とその入力値に対応する出力値）を、ハードウェア層の性能予測モデル生成部１０２に入力する。
【００９９】
そして、ハードウェア層の性能予測モデル生成部３０２は、ステップＳ２０３において、例えばオペレータ等２０の操作を契機に、情報収集部４０２によって入力された実測値を用いて、ブラックボックス的アプローチにより、ハードウェア層２０５の性能予測モデル３０２を生成する。係る性能予測モデル３０２の生成には、ステップＳ２０２にて情報収集部４０２が収集した実測値（入力値とその入力値に対応する出力値）が用いられる。
【０１００】
係る入力値は、各リソース要求（ハードウェア資源をどのように使用するかに関する情報）を含むデータである。係る出力値は、当該各リソースの使用率、スループットやＴＡＴ等を表すデータである。ハードウェア層の性能予測モデル生成部３０２は、これらの入出力値を用いて、例えば、ニューラルネットワーク、遺伝的アルゴリズム、多項式関数、回帰分析等の演算処理によって性能予測モデル３０２を生成する。但し、本実施形態を例に説明する本発明は、これらの演算処理に限定されず、実測値を用いた同様のアプローチによって性能予測モデル３０２を実現できればよい。
【０１０１】
図９は、図６に示す仮想化環境の性能予測モデル合成部１０３における、仮想化環境の性能予測モデル３０３の合成方法を概念的に表した説明図である。図９に示すアプリケーション層２０４では、仮想マシン毎に用意した、アプリケーション層の性能予測モデル８０１に対してそれぞれリクエスト（８０５，８０６）が入力され、その後、待ち行列を用いて処理した後、処理済リクエスト（８１２，８１３）が出力される状況を表している。ここで、性能予測モデル８０１は、アプリケーション層において実行されるアプリケーションの動作を模倣したモデルである。
【０１０２】
即ち、オペレータ等２０の操作により、アプリケーション層の性能予測モデル８０１には、リクエスト８０５、８０６が入力される。ここで、リクエスト８０５、８０６は、各性能予測モデル８０１を用いたシミュレーションのために、模擬的に作成したデータである。このデータの内容は、各ソフトウェア資源への負荷や、ハードウェアリソースの利用タイミング等を表す。
【０１０３】
アプリケーション層２０４において動作する仮想マシン（２０１）が複数台の場合、当該各仮想マシンへのリクエストは、同時もしくはオペレータ等２０が指定した時間差をおいて、当該各仮想マシンに入力されることとする。図９に示す例の場合、リクエスト８０５、８０６がアプリケーション層の性能予測モデル８０１に入力されると、係る性能予測モデル８０１は、そのリクエストに対応する処理を行った後、処理済みリクエスト８１２、８１３を、入力された当該リクエストに関する処理結果として出力する。
【０１０４】
仮想化環境の性能予測モデル合成部１０３は、アプリケーション層の性能予測モデル８０１を用いて、入力されたリクエスト８０５、８０５から、そのリクエストが求める処理に必要なリソース要求８０７、８０８を算出する。係るリソース要求８０７、８０８とは、当該各性能予測モデル８０１に入力されたリクエストに対応する処理を実現するために必要なハードウェア層２０５を構成するリソースに対して、特定の処理を要求する命令であるとする。ここで、ハードウェア層２０５を構成するリソースとは、例えば、ＣＰＵ、記憶装置（ＨＤＤ）、通信ネットワーク（ＮＩＣ：Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等である。
【０１０５】
仮想化環境の性能予測モデル合成部１０３は、アプリケーション層２０４にて算出されたハードウェアリソースへのリソース要求８０７、８０８を、ハードウェア層２０５に入力する。ハードウェア層２０５に入力されたリソース要求８０７、８０８は、ハードウェア層の性能予測モデル８０２によって処理される。仮想化環境の性能予測モデル合成部１０３は、性能予測モデル８０２による処理完了後に、処理完了通知８１０、８１１を、ハードウェア層２０５からアプリケーション層２０４に対して出力する。処理完了通知８１０、８１１は、上述した第１の実施形態における、リソース要求に関する処理完了通知８１０（図４）に相当する。
【０１０６】
仮想化環境の性能予測モデル合成部１０３は、ハードウェア層の性能予測モデル８０２を用いて、リソース要求８０７、８０８に対する処理において算出した性能指標８０９を、ハードウェア層の性能予測モデル８０２から出力する。係る性能指標８０９は、例えば、各リソースの使用率やＴＡＴ等の情報である。
【０１０７】
仮想化環境の性能予測モデル合成部１０３は、ハードウェア層２０５が出力した処理完了通知８１０、８１１をアプリケーション層２０４が受け取った後、処理済みリクエスト８１２、８１３を、各性能予測モデル８０２から出力する。
【０１０８】
尚、アプリケーション層２０４がハードウェア層２０５に対してリソース要求８０７、８０８を出力（発行）してから、ハードウェア層２０５から出力（発行）された処理完了通知８１０、８１１がアプリケーション層２０４に入力されるまでの時間（期間）を、アプリケーション層の性能予測モデル８０１の処理時間（処理所要時間）ＰＴとする。係る処理時間ＰＴは、アプリケーション層２０４から出力されたリソース要求８０７、８０８がハードウェア層２０５に入力されてから、ハードウェア層２０５がアプリケーション層２０４に対して処理完了通知８１０、８１１を出力するまでの時間（期間）と捉えることもできる。
【０１０９】
以上の各ステップで算出された性能指標等を用いて、仮想化環境の性能予測モデル合成部１０３は、仮想化システム２の性能を予測可能な情報を、オペレータ等２０に提供する。
【０１１０】
即ち、アプリケーション層２０４の仮想マシン２０１において動作するアプリケーションとして置き換えられた、アプリケーション層２０４の性能予測モデル８０１の入出力の関係性に基づいて、オペレータ等２０は、仮想化システム２の性能を予測することができる。具体的に、オペレータ等２０は、アプリケーション層の性能予測モデル８０１への入力値であるリクエスト８０５、８０６と、当該リクエストに対する処理時間ＰＴとの関係性を用いて、仮想化システム２全体の性能を予測することができる。
【０１１１】
また、ハードウェア層２０５を置き換えた性能予測モデル８０２への入力と出力との関係に基づいて、オペレータ等２０は、ハードウェア層２０５の性能を予測することができる。具体的に、オペレータ等２０は、性能予測モデル８０２への入力値であるリソース要求８０７、８０８と、出力値である性能指標８０９との関係性を用いて、ハードウェア層２０５の性能を予測することができる。
【０１１２】
これにより、オペレータ等２０は、仮想化システム２全体の性能を予測できる。
【０１１３】
図１０は、第２の実施形態において、仮想化環境の性能予測モデル合成部１０３が行う合成処理（性能予測）の手順を示すフローチャートであり、上述したステップＳ１０３の詳細を示す。
【０１１４】
ステップＳ３０１：仮想化環境の性能予測モデル合成部１０３は、オペレータ等２０の操作を契機に、アプリケーション層の性能予測モデル８０１に、リクエスト８０５、８０６を入力する。係るリクエストは、アプリケーション層の各性能予測モデル３０１を用いたシミュレーションのために、模擬的に作成したデータである。即ち、図９に例示する如く複数の性能予測モデル８０１が動作している場合は、当該各性能予測モデルに対して、リクエストをそれぞれ入力する。係るデータの内容は、各ソフトウェア資源への負荷や、ハードウェアリソースの利用タイミング等である。また、各仮想マシンへの当該個々のリクエストは、同時、もしくはオペレータ等２０が指定した時間差をおいたタイミングで入力される。
【０１１５】
ステップＳ３０２：仮想化環境の性能予測モデル合成部１０３は、ステップＳ３０１にて入力されたリクエストに従って、アプリケーション層の性能予測モデル８０１によって、リソース要求８０７、８０８を算出する。係るリソース要求は、仮想マシンを構成するプロセスが、どのハードウェアリソースを、どのように使用するかについての情報を含んだデータである。
【０１１６】
ステップＳ３０３：仮想化環境の性能予測モデル合成部１０３は、ステップＳ３０２にて算出したリソース要求８０７、８０８を、ハードウェア層の性能予測モデル８０２に入力する。
【０１１７】
ステップＳ３０４：仮想化環境の性能予測モデル合成部１０３は、ステップＳ３０３にて入力されたリソース要求８０７、８０８を、ハードウェア層の性能予測モデル８０２によって処理する。
【０１１８】
ステップＳ３０５：仮想化環境の性能予測モデル合成部１０３は、ステップＳ３０４における処理が完了したことを表す処理完了通知８１０、８１１を、ハードウェア層２０５からアプリケーション層２０４に入力する。係る処理完了通知がハードウェア層２０５から出力されるタイミングで、性能予測モデル合成部１０３は、ハードウェア層の性能予測モデル８０２により算出した性能指標（リソース使用率、ＴＡＴ等）８０９を、ハードウェア層２０５から出力する。この性能指標８０９を算出するタイミングは、任意のタイミングでよい。具体的には、係る性能指標を算出するタイミングは、例えば、処理完了通知８１０、８１１を出力するときでもよいし、オペレータ等２０が決めた時間毎でもよい。
【０１１９】
ステップＳ３０６：仮想化環境の性能予測モデル合成部１０３は、ハードウェア層２０５に対して、アプリケーション層２０４が出力する未処理のリソース要求の有無を確認する。未処理のリソース要求がアプリケーション層２０４に残っている場合（ステップＳ３０６にてＹＥＳ）、性能予測モデル合成部１０３は、処理をステップＳ３０３に戻す。一方、全てのリソース要求の処理が完了した場合（ステップＳ３０６にてＮＯ）、性能予測モデル合成部１０３は、処理をステップＳ３０７に進める。即ち、ステップＳ３０３からステップＳ３０６までの各ステップからなるループは、アプリケーション層２０４におけるリソース要求が無くなるまで繰り返される。
【０１２０】
ステップＳ３０７：仮想化環境の性能予測モデル合成部１０３は、ステップＳ３０６にて全てのリソース要求に関して処理を完了したと判断すると、各性能予測モデル８０１から、処理済みリクエスト８１２、８１３を出力する。
【０１２１】
ステップＳ３０８：これまでの過程において性能予測モデル合成部１０３が算出した、アプリケーション層２０４及びハードウェア層２０５の計算結果（性能指標８０９等）を用いて、オペレータ等２０は、仮想化システム２全体の性能予測を行う。
【０１２２】
上述したステップＳ３０１からステップＳ３０７までの処理ステップにおいて得られる値（情報）は、以下の通りである。即ち、
・アプリケーション層の性能予測モデル８０１に入力されたリクエスト（８０５、８０６）、
・アプリケーション層の性能予測モデル８０１により算出されたハードウェア層２０５へのリソース要求（８０７、８０８）、
・ハードウェア層の性能予測モデル８０２により算出された性能指標（８０９：各リソースの使用率、ＴＡＴ等）、
・処理時間（処理所要時間）ＰＴ。
【０１２３】
即ち、係る性能予測モデル８０２を用いることで、仮想化環境の性能予測モデル合成部１０３は、性能を予測すべき対象である仮想化システム２へのリクエストの内容を基に、性能指標（８０９：各リソースの使用率、ＴＡＴ、スループット）を算出することができる。従って、オペレータ等２０は、上述した各算出値を参照することにより、仮想化環境の性能予測モデル（３０３）を用いた性能予測として、仮想化システム２全体の性能を容易に予測することができる。
【０１２４】
上述した本実施形態に係る性能予測装置１０は、仮想化システム２の構成をアプリケーション層２０４、ハードウェア層２０５と定義した上で、これら各層の性能予測モデル８０１、８０２を生成し、当該各層の依存関係が反映された仮想化システム２の性能予測モデル３０３を生成することによって性能予測を行う。これにより、アプリケーション層２０４において動作する仮想マシン（２０１）の台数が単体または複数の場合であっても、仮想化システム２の性能を容易に予測することが可能である。
【０１２５】
（第１及び第２の実施形態の変形例）
次に、上述した第１及び第２の実施形態の変形例について説明する。図１１は、本発明の第１及び第２の実施形態の変形例に係る、仮想化システムの性能予測装置の前提条件を概念的に説明する図である。本実施形態では、仮想化システム（対象システム）２の性能を予測するに際して、その仮想化システムの構成を、アプリケーション層２０４、仮想マシンモニタ層２０６、及びハードウェア層２０５Ａという３層からなる階層的な構成と定義する。この構成が図２に示した前提条件（２層構造）とは異なる。
【０１２６】
即ち、本変形例では、これら３層において性能予測モデルをそれぞれ生成し、生成した性能予測モデルを用いて対象システム２の性能予測を行うことも可能である。係る３層に定義した場合も、当該各層のシステム構成の特徴を性能予測モデルに反映可能なアプローチを用いた性能予測モデルの生成を行うことが必要である。このような本変形例によっても、上述した各実施形態と略同様な効果を実現することができる。
【０１２７】
以上説明した各実施形態及びその変形例によれば、仮想化システム２の性能予測モデルに対して、実環境における振舞い（挙動）が反映されているため、様々な性能予測の用途に適応が可能である。即ち、上述した性能予測装置（１、１０）によれば、仮想化技術を用いて構築された情報処理システムを、実際の運用に先だって振舞いを確認したい場合に、比較的簡単な操作によって、高精度な性能予測が実現する。
【０１２８】
＜ハードウェアの構成例＞
ここで、上述した各実施形態及びその変形例に係る性能予測装置を実現可能なハードウェアの構成例について説明する。上述した性能予測装置（１、１０）は、専用の装置として実現してもよいが、コンピュータ（情報処理装置）を用いて実現してもよい。
【０１２９】
図１２は、本発明の各実施形態及びその変形例を実現可能なコンピュータ（情報処理装置）のハードウェア構成を例示的に説明する図である。
【０１３０】
図１２に示した情報処理装置（コンピュータ）１００のハードウェアは、ＣＰＵ１１、通信インタフェース（Ｉ／Ｆ）１２、入出力ユーザインタフェース１３、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１４、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１５、記憶装置１７、及びコンピュータ読み取り可能な記憶媒体１９のドライブ装置１８を備え、これらがバス１６を介して接続された構成を有する。入出力ユーザインタフェース１３は、入力デバイスの一例であるキーボードや、出力デバイスとしてのディスプレイ等のマンマシンインタフェースである。通信インタフェース１３は、上述した各実施形態に係る装置（図１，図６）が、外部装置とのとの間において、通信ネットワーク３００を介して通信するための一般的な通信手段である。係るハードウェア構成において、ＣＰＵ１１は、各実施形態に係る性能予測装置（１、１０）としての情報処理装置１００の全体の動作を司る。
【０１３１】
そして、上述した各実施形態およびその変形例を例に説明した本発明は、それら実施形態の説明において参照したフローチャート（図７，図８，図１０）の機能、或いは、図１，図６に示したブロック図において当該装置内に示した各部（各ブロック）を実現可能なプログラム（コンピュータ・プログラム）を、図１２に示す情報処理装置１００に対して供給した後、そのプログラムを、ＣＰＵ１１に読み出して実行することによって達成される。また、情報処理装置１００内に供給されたプログラムは、読み書き可能な一時記憶メモリ（１５）またはハードディスクドライブ等の不揮発性の記憶装置（１７）に格納すればよい。即ち、記憶装置１７において、プログラム群１７Ａは、例えば、上述した各実施形態における性能予測装置（１、１０）内に示した各部の機能を実現可能なプログラムである。また、各種の記憶情報１７Ｂは、例えば、上述した各実施形態におけるアプリケーション層の性能予測モデル群１１０や、対象システム２に関する実測値等である。但し、情報処理装置１００へのプログラムの実装に際して、個々のプログラム・モジュールの構成単位は、ブロック図（図１，図６）に示した各ブロックの区分けには限定されず、当業者が実装に際して適宜選択可能な事項である。
【０１３２】
また、前記の場合において、当該装置内へのプログラムの供給方法は、ＣＤ−ＲＯＭ、フラッシュメモリ等のコンピュータ読み取り可能な各種の記録媒体（１９）を介して当該装置内にインストールする方法や、インターネット等の通信回線（３００）を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード（プログラム群１０７Ａ）或いは係るコードが格納された記憶媒体（１９）によって構成されると捉えることができる。
【０１３３】
以上、本発明を、上述した模範的な実施形態およびその実施例に適用した例として説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態及び実施例に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。
【０１３４】
尚、上述した実施形態及びその変形例の一部又は全部は、以下の付記のようにも記載されうる。しかしながら、上述した実施形態及びその変形例により例示的に説明した本発明は、以下には限られない。
【０１３５】
即ち、
（付記１）
アプリケーション層とハードウェア層とからなる仮想化システムにて実行される仮想マシンにおいて動作するところの、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能予測モデルを生成する第１の性能予測モデル生成部と、
前記仮想化システムを計測した結果に基づいて、前記ハードウェア層の性能予測モデルを生成する第２の性能予測モデル生成部と、
前記アプリケーション層の性能予測モデルと、前記ハードウェア層の性能予測モデルとを対象として、一方の層の性能予測モデルにおける出力値を、他方の層の性能予測モデルにおける入力値として利用する合成処理により、該２層間の依存関係が反映された、前記仮想化システムの性能予測モデルを生成する性能予測モデル合成部と、
を備えることを特徴とする、仮想化システムの性能予測装置。
【０１３６】
（付記２）
前記第１の性能予測モデル生成部は、
前記アプリケーション層の性能予測モデルにリクエストが入力されるのに応じて、前記ハードウェア層に対して、そのハードウェア層を構成するハードウェアリソースの使用方法に関する情報を含むリソース要求を発行し、
前記第２の性能予測モデル生成部は、
前記ハードウェア層の性能予測モデルによって、前記リソース要求に応じた処理を行うと共に、その処理の完了に応じて、前記アプリケーション層に対して、処理完了通知を発行し、
前記性能予測モデル合成部は、
前記合成処理に際して、前記リソース要求と、前記処理完了通知とを利用する
ことを特徴とする付記１記載の、仮想化システムの性能予測装置。
【０１３７】
（付記３）
前記性能予測モデル合成部は、前記仮想化システムの性能予測モデルとして、
前記リクエストと、
前記リソース要求と、
前記ハードウェア層の性能予測モデルにより算出された性能指標と、
前記リソース要求が前記ハードウェア層に対して発行されてから、前記ハードウェア層から前記処理完了通知が発行されるまでの所用時間と
のうち、少なくとも何れかを提示する
ことを特徴とする付記２記載の、仮想化システムの性能予測装置。
【０１３８】
（付記４）
前記性能指標は、
前記ハードウェア層を構成するハードウェアリソースの使用率、ＴＡＴ（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ）、及びスループットのうち少なくとも何れかを含む
ことを特徴とする付記３記載の、仮想化システムの性能予測装置。
【０１３９】
（付記５）
前記ハードウェア層は、
仮想マシンモニタと、物理マシンのハードウェアとを含む
ことを特徴とする付記１乃至付記４の何れかに記載の、仮想化システムの性能予測装置。
【０１４０】
（付記６）
前記第２の性能予測モデル生成部は、
前記仮想化システムを計測し、計測した結果得られた入力値と、その入力値に対応する出力値とに基づいて、前記ハードウェア層の性能予測モデルを生成する
ことを特徴とする付記１乃至付記５の何れかに記載の、仮想化システムの性能予測装置。
【０１４１】
（付記７）
前記第１の性能予測モデル生成部の代わりに、或いは、前記第１の性能予測モデル生成部に加えて更に、
前記仮想マシンにて動作するアプリケーションの設計情報に基づき生成された、前記アプリケーション層の性能予測モデルを１つ以上格納している記憶部から、特定の性能予測モデルを選択する、性能予測モデル特定部を備える
ことを特徴とする付記１乃至付記６の何れかに記載の、仮想化システムの性能予測装置。
【０１４２】
（付記８）
前記記憶部を更に備える
ことを特徴とする付記１乃至付記７の何れかに記載の、仮想化システムの性能予測装置。
【０１４３】
（付記９）
前記仮想化システムの計測に関わる設定値と、その計測の実行命令を指定可能な入力内容指定部と、
前記仮想化システムの計測値である入力値と、その入力値に対応する出力値とを収集する情報収集部と、
を更に備えることを特徴とする付記１乃至付記８の何れかに記載の、仮想化システムの性能予測装置。
【０１４４】
（付記１０）
アプリケーション層とハードウェア層とからなる仮想化システムにて実行される仮想マシンにおいて動作するところの、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能予測モデルを生成し、
前記仮想化システムを計測した結果に基づいて、前記ハードウェア層の性能予測モデルを生成し、
前記アプリケーション層の性能予測モデルと、前記ハードウェア層の性能予測モデルとを対象として、一方の層の性能予測モデルにおける出力値を、他方の層の性能予測モデルにおける入力値として利用することにより、該２層間の依存関係が反映された、前記仮想化システムの性能予測モデルを生成する
ことを特徴とする、仮想化システムの性能予測方法。
【０１４５】
（付記１１）
前記ハードウェア層の定義に、仮想マシンモニタと、物理マシンのハードウェアとを含める
ことを特徴とする付記１０記載の、仮想化システムの性能予測方法。
【０１４６】
（付記１２）
仮想化システムの性能予測装置の動作制御のためのコンピュータ・プログラムであって、そのコンピュータ・プログラムにより、
アプリケーション層とハードウェア層とからなる仮想化システムにて実行される仮想マシンにおいて動作するところの、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能予測モデルを生成する第１の性能予測モデル生成機能と、
前記仮想化システムを計測した結果に基づいて、前記ハードウェア層の性能予測モデルを生成する第２の性能予測モデル生成機能と、
前記アプリケーション層の性能予測モデルと、前記ハードウェア層の性能予測モデルとを対象として、一方の層の性能予測モデルにおける出力値を、他方の層の性能予測モデルにおける入力値として利用する合成処理により、該２層間の依存関係が反映された、前記仮想化システムの性能予測モデルを生成する性能予測モデル合成機能とを、
コンピュータに実現させることを特徴とするコンピュータ・プログラム。
【符号の説明】
【０１４７】
１    性能予測装置
２    （対象システム）仮想化システム
３    記憶部
１０    性能予測装置
１１    ＣＰＵ
１２    通信インタフェース
１３    入出力ユーザインタフェース
１４    ＲＯＭ
１５    ＲＡＭ
１６    バス
１７    記憶装置
１８    ドライブ装置
１９    記憶媒体
２０    オペレータ等
１０１    アプリケーション層の性能予測モデル生成部
１０２    ハードウェア層の性能予測モデル生成部
１０３    仮想化環境の性能予測モデル合成部
１０４    アプリケーション層の性能予測モデル特定部
１１０    アプリケーション層の性能予測モデル群
２０１    仮想マシン
２０２    仮想マシンモニタ
２０３    物理マシンのハードウェア
２０４    アプリケーション層
２０５    ハードウェア層
２０５Ａ    ハードウェア層
２０６    仮想マシンモニタ層
３００  通信ネットワーク
３０１    アプリケーション層の性能予測モデル
３０２    ハードウェア層の性能予測モデル
３０３    仮想化環境の性能予測モデル
４０１    入力内容指定部
４０２    情報収集部
８０１    アプリケーション層の性能予測モデル
８０２    ハードウェア層の性能予測モデル
８０５    リクエスト
８０６    リクエスト
８０７    ハードウェアリソースへのリソース要求
８０８    ハードウェアリソースへのリソース要求
８０９    性能指標
８１０    リソース要求に関する処理完了通知
８１１    リソース要求に関する処理完了通知
８１２    処理済みリクエスト
８１３    処理済みリクエスト
【図１】
2014132419.tif 000003
【図２】
2014132419.tif 000004
【図３】
2014132419.tif 000005
【図４】
2014132419.tif 000006
【図５】
2014132419.tif 000007
【図６】
2014132419.tif 000008
【図７】
2014132419.tif 000009
【図８】
2014132419.tif 000010
【図９】
2014132419.tif 000011
【図１０】
2014132419.tif 000012
【図１１】
2014132419.tif 000013
【図１２】
2014132419.tif 000014