<第1の実施の形態>
本発明の第1の実施の形態について、図面を参照して詳細に説明する。
図1は、本実施の形態に係る、複数の仮想化システムを連携した連携システムの性能を予測するための性能予測装置の機能構成の一例を示すブロック図である。図1に示す通り、性能予測装置1は、連携システム2に含まれる複数の仮想化システム(仮想化システム20、21)と通信可能に接続されている。仮想化システム20および仮想化システム21を含む連携システム2は、性能予測装置1が性能を予測する対象(以下、対象システム、または、仮想化環境とも呼ぶ)である。性能予測装置1と連携システム2の各仮想化システムとの接続方法には、例えば、インターネットやLAN(Local Area Network)等の一般的な通信手段を採用することができる。よって、本実施の形態では、係る通信手段に関する詳細な説明は省略する。
連携システム2について、図2を参照してさらに説明する。図2は、仮想化システム同士がネットワークを介して連携する連携システム2の構成を説明するための図である。図2に示す通り、連携システム2は、複数の仮想化システム(20、21)と、ネットワーク部301とを含んでいる。各仮想化システムは、ネットワーク(ネットワーク部301)を介して互いに通信可能に接続されている。本実施の形態においては、仮想化システム同士を接続しているネットワークをネットワーク部301と定義する。なお、図1および図2においては、連携システム2に2つの仮想化システムが含まれる構成について説明しているが、連携システム2に含まれる仮想化システムの数はこれに限定されるものではない。
(仮想化システム20、21)
ここで、図3を参照して、本実施の形態に係る仮想化システム20、21の概念について説明する。図3は、本発明の第1の実施の形態に係る、一般的な仮想化システムを概念的に説明する図である。本実施の形態では、性能予測装置1によって連携システム2の性能を予測するに際して、その連携システム2を構成する複数の仮想化システム(20、21)の構成が階層的な構成をなす、と定義する。以下では、仮想化システム20についてのみ説明を行うが、仮想化システム21も仮想化システム20と同様の構成を有している。
図3では、仮想化システム20を、一例として、モノリシック・ハイパーバイザ型で構築している。ただし、仮想化システム20の構成方法は、仮想マシンモニタがホストOS(Operating System)において動作するホストOS型や、仮想マシンモニタが仮想化環境を提供するための最低限の機能しか持たないマイクロカーネル・ハイパーバイザ型でもよい。即ち、仮想化システム20の構成方法は、一つの物理マシンにおいて、仮想マシンが動作できる環境が実現できる方法であれば、何れの方法でも採用することができる。
本実施の形態における仮想化システム20は、一般的な仮想化システムと同様に、仮想マシン201と、仮想マシンモニタ(ハイパーバイザ)202と、物理マシンのハードウェア203という3層をなす。仮想マシン201は、図3に示すように、N台(Nは0を除く自然数)であり、台数は限定されない。個々の仮想マシン201は、図3に例示するように、ゲストOS環境を提供すると共に、1つ以上の任意のアプリケーション(AP)を実行することができる。そして、本実施の形態では、このような3層構造をなす仮想化システム20を、図3において破線で囲まれた、以下の(a)および(b)の2層(2階層)として取り扱う。すなわち、
(a)仮想マシン201によって構成されるアプリケーション層204、
(b)仮想マシンモニタ202と、物理マシンのハードウェア203とによって構成されるハードウェア層205。
つまり、3層構造をなす仮想化システム20を含む連携システム2の性能を予測するに際して、本実施の形態に係る性能予測装置1は、上記仮想化システム20が上記2層で構成されている、と定義する。
上述した、図2に示すネットワーク部301は、仮想化システム20と仮想化システム21とを通信可能に接続している。上記仮想化システム間の通信形態は、スイッチやルーター等を介した通信形態でもよい。また、例えば、2つの仮想化システム(20、21)を設置しているデータセンタ等の拠点が夫々異なる場合、上記仮想化システム間の通信形態は、通信拠点を跨いだ通信形態であってもよい。
そして、性能予測装置1は、このような定義を前提として、複数の仮想化システム(20、21)およびネットワーク部301を含む連携システム2の性能を予測するための性能モデルを生成する。ここで、性能予測装置1への定義の仕方としては、例えば、複数の仮想化システム(20、21)の夫々において、仮想マシン201をアプリケーション層204と関連づけて登録し、仮想マシンモニタ202と、物理マシンのハードウェア203とをハードウェア層205と関連付けて登録すればよい。
(性能予測装置1)
性能予測装置1は、図1に示す通り、ネットワーク部性能モデル生成部(第3の性能モデル生成手段)3と、ハードウェア層性能モデル生成部(第2の性能モデル生成手段)4と、アプリケーション層性能モデル生成部(第1の性能モデル生成手段)5と、性能モデル合成部6と、を備えている。
本実施の形態における性能モデルの生成には、少なくとも、システムの動作の詳細を模倣する性能モデルを作成するホワイトボックスアプローチと、性能予測対象のシステムの実測値により性能モデルを構築するブラックボックスアプローチとを用いることとする。性能モデルの生成には、例えば、待ち行列理論や回帰分析手法などを採用することができる。なお、本実施の形態における性能モデル生成方法は、一般的な手法を採用するため、詳細な説明を省略する。
ネットワーク部性能モデル生成部3は、連携システム2を計測した結果に基づいて、ネットワーク部301の性能モデル(図4における300)を生成する。具体的には、ネットワーク部性能モデル生成部3は、連携システム2の計測によって得られた結果に基づいて、上述したブラックボックスアプローチによって、ネットワーク部301の性能モデルを生成する。
ネットワーク部性能モデル生成部3は、生成した性能モデル(ネットワーク部性能モデル300)を性能モデル合成部6に供給する。
ハードウェア層性能モデル生成部4は、仮想化システム20、21を夫々計測した結果に基づいて、当該ハードウェア層の性能モデル(図4における400、401)を生成する。具体的には、ハードウェア層性能モデル生成部4は、仮想化システム20の計測によって得られた実測値に基づいて、上述したブラックボックスアプローチによって、ハードウェア層の性能モデル(400)を生成する。同様に、ハードウェア層性能モデル生成部4は、仮想化システム21の計測によって得られた実測値に基づいて、ハードウェア層の性能モデル(401)を生成する。
ハードウェア層性能モデル生成部4は、生成した性能モデル(ハードウェア層性能モデル400、401)を性能モデル合成部6に供給する。
本実施の形態において、ブラックボックスアプローチによる性能モデルの生成(モデル生成とも呼ぶ)とは、上述したとおり、任意のシステムへの入力値と、その入力値に対応する出力値とに基づいて、統計処理や機械学習によってモデルを生成する手法である。ブラックボックスアプローチによるモデル生成手法では、例えば、回帰分析やニューラルネットワーク、遺伝的アルゴリズムを用いることができる。なお、上記モデル生成手法は、これに限定されるものではなく、同様のアプローチ方法が実現できる手法であればよい。
アプリケーション層性能モデル生成部5は、仮想化システム20、21にて実行される仮想マシンにおいて動作するアプリケーションに関する情報に基づいて、当該アプリケーション層の各仮想マシン201の性能モデル(図4における500、501)を生成する。
より具体的に、アプリケーション層性能モデル生成部5は、オペレータ等の操作に応じて、仮想化システム20において実行される仮想マシン201上で動作するアプリケーションに関する情報に基づいて、上述したホワイトボックスアプローチによって、アプリケーション層の性能モデル(500)を仮想マシン201毎に生成する。同様に、アプリケーション層性能モデル生成部5は、仮想化システム21において実行される仮想マシン201上で動作するアプリケーションに関する情報に基づいて、アプリケーション層の性能モデル(501)を仮想マシン201毎に生成する。
本実施の形態において、ホワイトボックスアプローチによるモデル生成とは、上述したとおり、任意のシステムの設計情報を基に当該任意のシステムの動作を模倣したモデル生成手法である。ホワイトボックスアプローチによるモデル生成手法では、例えば、待ち行列理論やペトリネットを用いることができる。なお、上記モデル生成手法は、これに限定されるものではなく、同様のアプローチ方法が実現できる手法であればよい。
アプリケーション層性能モデル生成部5は、生成した性能モデル(アプリケーション層性能モデル500、501)を性能モデル合成部6に供給する。
性能モデル合成部6は、仮想化システム20のアプリケーション層204およびハードウェア層205に対し、一方の層の性能モデルにおける出力値を、他方の層の性能モデルの入力値として利用する合成処理(第1の合成処理)を行う。さらに、性能モデル合成部6は、ある仮想化システム(例えば、仮想化システム20)のハードウェア層205の性能モデル(400)における出力値が入力されたネットワーク部301の性能モデル(300)における出力値を、他の仮想化システム(例えば、仮想化システム21)のハードウェア層205の性能モデル(401)における入力値として利用する合成処理(第2の合成処理)を行う。これらの合成処理により、性能モデル合成部6は、各仮想化システムにおける2層間の依存関係と、仮想化システム間の依存関係とが反映された、連携システム2の性能モデル(600)を生成する。以下、本実施の形態において、(1)ハードウェア層205の性能モデル(400、401)と、アプリケーション層204の性能モデル(500、501)との間の依存関係、および、(2)ネットワーク部301の性能モデル(300)と、ハードウェア層205の性能モデル(400、401)との間の依存関係、を考慮した性能モデルの生成処理を、合成(合成処理)と称することがある。
性能モデル合成部6の処理について、図4を参照して、更に詳細に説明する。
一般的に、仮想化システムにおいて、アプリケーション層204にて実行される仮想マシン201は、ハードウェア層205を構成する物理マシンのハードウェアリソースを利用することによって、アプリケーションを実行する。また、連携システム2において、一方の仮想化システムにおけるハードウェア層205が、ネットワークを介して、他方の仮想化システムにおけるハードウェア層205に処理を要求することによって、2つの仮想化システムにおける仮想マシンで動作するアプリケーションを連携させた処理を実行する。そのため、アプリケーション層204とハードウェア層205との間、並びに、2つの仮想化システムの間にはそれぞれ依存関係がある。つまり、アプリケーション層204とハードウェア層205の間や、2つの仮想化システムの間を、別々に分けた状態では、性能を予測すべき対象である連携システム2の性能を、好適に予測することはできない。
そのため、本実施の形態に係る性能予測装置1の性能モデル合成部6は、仮想化システム20、21の夫々において、アプリケーション層204の性能モデル(500、501)と、ハードウェア層205の性能モデル(400、401)と、ネットワーク部301の性能モデル(300)とを用いて連携システム2の性能モデル(600)を生成する。これにより、連携システム2の性能予測を可能とする。
図4は、性能モデル合成部6が行う合成処理を概念的に説明するための図である。以下では、仮想化システム20のアプリケーション層204の性能モデル(アプリケーション層性能モデル500)にリクエストが入力される場合について説明する。
性能モデル合成部6は、仮想化システム20に入力されたリクエストにしたがって、アプリケーション層性能モデル500を用いて、連携処理要求(第1の処理要求)700を出力する。性能モデル合成部6は、連携処理要求700を、ハードウェア層性能モデル400の入力値として利用する。連携処理要求700は、ハードウェア層205のハードウェアリソースをアプリケーション層性能モデル500がどのように使用するかに関する情報を含む。
そして、性能モデル合成部6は、連携処理要求700を、ハードウェア層性能モデル400を用いて合成処理する。性能モデル合成部6は、上記合成処理後、ハードウェア層性能モデル400からネットワーク処理要求(第2の処理要求)701を出力する。ネットワーク処理要求701は、連携システム2のネットワーク部301を介するプロセスが、ネットワークをどのように使用するかについての情報を含む。
性能モデル合成部6は、ハードウェア層性能モデル400から出力されたネットワーク処理要求701を、ネットワーク部性能モデル300への入力値として利用する。性能モデル合成部6は、ネットワーク処理要求701を、ネットワーク部性能モデル300を用いて処理する。性能モデル合成部6は、当該処理が完了すると、ネットワーク部性能モデル300からネットワーク処理完了通知(第3の処理要求)702を出力する。ネットワーク処理完了通知702は、仮想化システム21のハードウェア層性能モデル401への入力値となる。前記ネットワーク処理完了通知702には、仮想化システム20がネットワーク部301を介して通信する場合の、オーバヘット等に関する情報を含む。
そして、性能モデル合成部6は、仮想化システム21において、ネットワーク処理完了通知702を、ハードウェア層性能モデル401を用いて処理する。性能モデル合成部6は、当該処理が完了すると連携処理完了通知703を出力する。その後、性能モデル合成部6は、ネットワーク通信に関する処理が完了したことを示す連携処理完了通知703をアプリケーション層性能モデル501へ入力する。
また、性能モデル合成部6は、仮想化システム21のハードウェア層性能モデル401に入力されたネットワーク処理完了通知702に応じて、ハードウェア層性能モデル401に、連携システム2の性能を予測することが可能な性能指標を、算出させる。
なお、図4に示す例では、仮想化システム20のアプリケーション層性能モデル500にリクエストが入力される場合について説明したが、仮想化システム21のアプリケーション層性能モデル501にリクエストが入力されてもよい。その場合、上記で説明した仮想化システム20と仮想化システム21、ハードウェア層性能モデル400とハードウェア層性能モデル401、アプリケーション層性能モデル500とアプリケーション層性能モデル501、を夫々入れ替えることにより、性能モデル合成部6は、ハードウェア層性能モデル400に、連携システム2の性能を予測することが可能な性能指標を、算出させることができる。
図4を用いて説明したとおり、リクエストがアプリケーション層性能モデル500に入力された場合、性能モデル合成部6は、仮想化システム20に対応する性能モデルを用いた処理を行い、仮想化システム21に出力する。このとき、アプリケーション層性能モデル500に入力されたリクエストの内容によっては、仮想化システム21に対応する性能モデルを用いた処理から、仮想化システム20に対応する性能モデルを用いた処理へ処理が戻ることもある。つまり、アプリケーション層性能モデル500へのリクエスト内容により、ネットワーク処理要求701がハードウェア層性能モデル400からネットワーク部301へ発行された時点で、以下の(1)、(2)の場合がある。すなわち、
(1)仮想化システム21のハードウェア層性能モデル401からの通知を受けずに、仮想化システム20のハードウェア層性能モデル400からアプリケーション層性能モデル500に、連携処理完了通知707が発行される場合、
(2)仮想化システム21のハードウェア層性能モデル401から処理完了の通知を受けて、仮想化システム20のハードウェア層性能モデル400からアプリケーション層性能モデル500に、連携処理完了通知707が発行される場合。
上記(1)または(2)は、仮想化システム20の仮想マシンで動作するアプリケーションに入力されるリクエストの処理プロセスの内容により決定する。
(2)の場合、性能モデル合成部6は、連携処理要求704をアプリケーション層性能モデル501からハードウェア層性能モデル401に入力する。その後性能モデル合成部6は、ネットワーク処理要求705をハードウェア層性能モデル401からネットワーク部性能モデル300に入力する。そして、性能モデル合成部6は、ネットワーク処理完了通知706をネットワーク部性能モデル300からハードウェア層性能モデル400に入力する。その後、性能モデル合成部6は、ネットワーク通信に関する処理が完了したことを示す連携処理完了通知707をハードウェア層性能モデル400からアプリケーション層性能モデル500に入力する。また、性能モデル合成部6は、仮想化システム20のハードウェア層性能モデル400に入力されたネットワーク処理要求705に応じて、ハードウェア層性能モデル400に、連携システム2の性能を予測することが可能な性能指標を、算出させる。
上記(1)の場合、上述した仮想化システム20の性能モデルを用いた処理と、仮想化システム21の性能モデルを用いた処理とは、並行して行われる。したがって、性能モデル合成部6は、ネットワーク通信に関する処理が完了したことを示す連携処理完了通知703、707を、夫々、アプリケーション層性能モデル501、500へ入力する。
このように、性能モデル合成部6は、連携システム2の性能を予測することが可能な性能指標を、オペレータ等に提供することができる。ここで、性能モデル合成部6は、性能指標として、例えば、ハードウェアリソースの使用率、TAT(Turn Around Time)、スループット等を採用してもよい。上記性能指標を、図5に例示する。図5は、第1の実施の形態においてハードウェア層性能モデル400、401が算出する性能指標を例示する図である。図5に示す例では、同一のシステムに対して、クライアント数を増やした場合の、「CPU使用率(%)」「ディスク容量(%)」「TAT(ms:ミリ秒)」を表す。なお、オペレータ等への提供方法は、図示しない表示手段を用いて提供する構成であってもよいが、本発明はこれに限定されるものではない。
本実施の形態に係る性能予測装置1の性能モデル合成部6は、各仮想化システムにおけるアプリケーション層性能モデル500、501と、ハードウェア層性能モデル400、401、ネットワーク部性能モデル300とに対し、一方の層の性能モデルにおける出力値を、他方の層の性能モデルの入力値として利用し、更に、一方の仮想化システムの出力値を、他方の仮想化システムにおける入力値として利用する合成処理を行う。このような構成によって、性能モデル合成部6は、仮想化システム間および2層間の依存関係が反映された、連携システム2の性能モデル(システム性能モデル600)を生成する。
(効果)
本実施の形態に係る連携システム2は、上述したとおり、複数の仮想化システムが互いにネットワーク部を介して連携している。そして、複数の仮想化システムは、夫々、アプリケーション層とハードウェア層とを有している。
このような連携システム2の性能を予測するための性能予測装置1によれば、より好適に、連携システム2の性能を予測することができる。
なぜならば、本実施の形態に係る性能予測装置1が、ネットワーク部性能モデル生成部3と、ハードウェア層性能モデル生成部4と、アプリケーション層性能モデル生成部5と、性能モデル合成部6と、を備えているからである。
アプリケーション層性能モデル生成部5は、連携システム2における各仮想化システム(20、21)の仮想マシン201上で動作する、アプリケーションに関する情報に基づいて、アプリケーション層204のアプリケーション層性能モデル(500、501)を、仮想化システム(20、21)ごとに生成する。ハードウェア層性能モデル生成部4は、連携システム2における各仮想化システム(20、21)を対象に計測した結果に基づいて、ハードウェア層205のハードウェア層性能モデル(400、401)を、仮想化システム(20、21)ごとに生成する。ネットワーク部性能モデル生成部3は、連携システム2を対象に計測した結果に基づいて、ネットワーク部301のネットワーク部性能モデル300を生成する。
そして、性能モデル合成部6は、複数の仮想化システム(20、21)の夫々に含まれるアプリケーション層204およびハードウェア層205に対し、一方の層の性能モデルにおける出力値を、他方の層の性能モデルの入力値として利用する合成処理(第1の合成処理)を行う。また、性能モデル合成部6は、ハードウェア層性能モデル(400または401)における出力値が入力されたネットワーク部性能モデル300における出力値を、他の仮想化システムのハードウェア層性能モデル(401または400)の入力値として利用する合成処理(第2の合成処理)を行う。これにより、性能モデル合成部60は、該2層間の依存関係および仮想化システム間の依存関係が反映された、連携システム2の性能モデル(システム性能モデル600)を生成する。
したがって、本実施の形態に係る性能予測装置1によれば、上記システム性能モデル600を用いて、連携システム2の性能を好適に予測できる。
また、本実施の形態における性能予測装置1は、ホワイトボックスアプローチを採用して、アプリケーション層204で動作する仮想マシン201で実行されるアプリケーション情報を用いて、アプリケーション層性能モデル500、501を生成している。ホワイトボックスアプローチを用いて生成した性能モデルは、一般に、仮想マシン毎にシステム構成が明確である。ここで、アプリケーション層204において複数台の仮想マシン201が動作する環境において、例えば、仮想マシン201の追加や削除といった仮想マシンの構成の変更があった場合について説明する。この時、アプリケーション層性能モデル生成部5は、追加/削除された仮想マシン201のアプリケーション層性能モデルを追加/削除することにより、ハードウェア層205に対する性能モデルを作成することができる。よって、本実施の形態によれば、ブラックボックスアプローチを採用した場合に必要となる、仮想マシン201の台数に応じて仮想化システム20、21を計測し直すといった、手間を要しない。
また、本実施の形態における性能予測装置1は、ブラックボックスアプローチを用いて、ハードウェア層性能モデル400、401とネットワーク部性能モデル300とを生成する。ホワイトボックスアプローチによってハードウェア層205に関する性能モデルを生成した場合、動作が複雑な各構成要素(仮想マシンモニタ202、物理マシンのハードウェア203、ネットワーク部301、等)の仕様を、モデルの生成に先だって明確に設定する必要がある。しかしながら、本実施の形態のように、ブラックボックスアプローチを用いて生成した性能モデルは、実測値を用いてモデルを生成する。そのため、動作が複雑な各構成要素について動作が不明確なままでも、ハードウェア層性能モデル400、401とネットワーク部性能モデル300とを生成することができる。したがって、(a)仮想マシンモニタ202のエミュレーション、(b)物理マシンのハードウェア203におけるリソース競合、(c)ネットワーク部301でのオーバヘッド等の詳細を明示的に記述することなく、性能予測装置1は、これらが及ぼす性能への影響が正しく考慮されたハードウェア層性能モデル400、401とネットワーク部性能モデル300とを生成できる。
そして、本実施の形態における仮想化環境の性能モデル合成部6は、仮想化システム(20、21)の、アプリケーション層性能モデル(400、401)と、ハードウェア層性能モデル(500、501)と、ネットワーク部性能モデル300とを利用する合成処理により、仮想化システムにおける各層間の依存性と仮想化システム間の依存性とが考慮された、システム性能モデル600を生成する。すなわち、本実施の形態によれば、このように生成されたシステム性能モデル600を用いて、連携システム2の性能を好適に予測することができる。
このように、本実施の形態によれば、アプリケーション層204とハードウェア層205とにおける仮想化システム20または仮想化システム21、並びに、ネットワーク部301の動作の特徴を考慮した性能予測方法が採用される。したがって、本実施の形態に係る性能予測装置1によれば、オーバヘッドや、リソース競合の詳細についてオペレータ等が明確に把握していない場合であっても、連携システム2の性能を予測することが可能である。なお、本実施の形態におけるオーバヘッドとは、例えば、物理マシンのハードウェア203によって発生するオーバヘッドや、仮想マシンモニタ202におけるエミュレーションによって発生するオーバヘッド、ネットワーク部301における複数プロセスの同時実行によるオーバヘッドが想定される。また、リソース競合とは、例えば、複数トランザクションの同時実行により発生するハードウェアリソースの競合や、仮想マシンモニタ202が同時に複数の仮想マシンの仮想ハードウェアをエミュレーションすることによるソフトウェアの競合が想定される。
<第2の実施の形態>
次に、上述した第1の実施の形態に係る性能予測装置1を基本とする第2の実施の形態について説明する。なお、説明の便宜上、前述した第1の実施の形態で説明した図面に含まれる部材と同じ機能を有する部材については、同じ符号を付し、その説明を省略する。なお、本実施の形態において、性能予測装置10が性能を予測する対象となる連携システム2に含まれる各仮想化システムは、第1の実施の形態と同様、図3に例示した2層(アプリケーション層204およびハードウェア層205)により構成されることを前提条件とする。
(性能予測装置10)
図6は、本発明の第2の実施の形態に係る性能予測装置10の機能構成を示すブロック図である。図6に示す通り、性能予測装置10は、ネットワーク部性能モデル生成部30、ネットワーク部入力内容指定部31、ネットワーク部情報収集部32、ハードウェア層性能モデル生成部40、ハードウェア層性能モデル生成部41、記憶部51、アプリケーション層性能モデル特定部52、性能モデル合成部60、入力内容指定部110、入力内容指定部111、情報収集部410、情報収集部411、を備えている。
なお、本実施の形態においては、記憶部51が性能予測装置10の内部に構成されていることを例に説明を行うが、記憶部51は、性能予測装置10の外部の記憶装置などによって実現されてもよい。この場合、アプリケーション層性能モデル特定部52は、上記記憶装置を参照すればよい。
また、本実施の形態における性能予測装置10は、第1の実施の形態と同様に、連携システム2と通信可能に接続されている。また、性能予測装置10は、オペレータ等9からの指示を受け付けるように構成されている。
(入力内容指定部110、111)
入力内容指定部(第1の入力内容指定手段)110、111は、夫々、オペレータ等9に対するユーザインタフェース(UI、マンマシンインタフェース)として機能を有する。オペレータ等9は、仮想化システム20、21の夫々に関する実測値を計測する際に、入力内容指定部110または入力内容指定部111を用いて、計測に関連する内容を指定することができる。よって、入力内容指定部110を用いたオペレータ等9による入力操作により、仮想化システム20には、仮想化システム20の実測値(例えば、各リソースの使用率、スループット、TAT等)の計測にかかわる設定値や、計測等の実行命令に関する内容が指定される。同様に、入力内容指定部111を用いたオペレータ等9による入力操作により、仮想化システム21には、仮想化システム21の実測値の計測にかかわる設定値や、計測等の実行命令に関する内容が指定される。
なお、入力内容指定部110、111に対し、オペレータ等9による入力(指定)が行われることを例に説明を行ったが、本発明はこれに限定されない。入力内容指定部110、111に対し、LANやインターネットを介したサーバ等の外部装置からの命令が入力されてもよい。
また、入力内容指定部110、111は、指定された内容(入力内容)を、夫々、仮想化システム20、21に入力(設定)する。具体的には、入力内容指定部110は、オペレータ等9の操作によって入力された、仮想化システム20の計測にかかわる設定値、計測の実行を指示する命令(リクエスト)等を、仮想化システム20に設定する。同様に、入力内容指定部111は、仮想化システム21の計測にかかわる設定値、計測の実行を指示する命令等を、仮想化システム21に設定する。これにより、仮想化システム20、21は、夫々、入力内容指定部110、111によって入力された情報に基づいて、仮想化システム20、21の計測を行う。
なお、上記入力を用いて、仮想化システム20から出力される実測値であって、計測の結果で得られた実測値は、ハードウェア層性能モデル生成部40によるハードウェア層性能モデル400の生成に利用される。また、仮想化システム21から出力される実測値であって、計測の結果で得られた実測値は、ハードウェア層性能モデル生成部41によるハードウェア層性能モデル401の生成に利用される。
仮想化システム20、21の夫々における実測値の計測は、後述する性能モデル合成部60による合成処理に先立って行われてもよい。計測の内容としては、仮想化システム20、21の夫々で動作する仮想マシン201におけるベンチマークソフトを用いた、ベンチマークテストが挙げられる。このベンチマークソフトは、例えば、CPU、記憶装置、通信ネットワーク等のように、仮想化システム20、21の夫々に関係する各種のハードウェアリソースに負荷を与えることか可能なソフトウェア(コンピュータ・プログラム)であってもよい。本実施の形態においては、ベンチマークソフトとしては、特定のハードウェアリソースの負荷状況を再現できる任意のソフトウェア(コンピュータ・プログラム)を採用するとするが、本発明はこれに限定されるものではない。仮想化システム20、21の夫々における実測値の計測方法は、一般的な手順を採用することができるので、本実施の形態における詳細な説明は省略する。
なお、本実施の形態においては、入力内容指定部110と入力内容指定部111とを別個の部材で実現することを例に説明を行ったが、本発明はこれに限定されるものではない。入力内容指定部110と入力内容指定部111とは、同じ部材で実現されてもよい。この場合、入力内容指定部は、どの仮想化システムに関する入力かを判別し、当該入力に対応する仮想化システムに対し、入力内容を設定する。
(情報収集部410、411)
情報収集部410、411は、夫々、仮想化システム20、21に対して計測された実測値を収集する。ここで、実測値とは、入力内容指定部110、111の夫々に対する入力内容に応じて、夫々実行される仮想化システム20、21に関するベンチマークテストにおける入力値と、その入力値に対する出力値との対をなす情報である。情報収集部410は、仮想化システム20から上述した実測値として、仮想化システム20への入力値と、その入力値に対応する出力値とを収集する。また、情報収集部411は、仮想化システム21から上述した実測値として、仮想化システム21への入力値と、その入力値に対応する出力値とを収集する。
ここで、入力値とは、仮想化システム20、21を夫々構成する各ハードウェアリソースに対する要求(ハードウェア資源の使用方法に関する情報を含んだ情報)を含んでいる。
なお、情報収集部410は、この入力値を、仮想化システム20から収集する構成について、説明を行ったが、本発明はこれに限定されるものではない。情報収集部410は、上記入力値を、入力内容指定部110から収集する構成であってもよい。同様に、情報収集部411は、上記入力値を、入力内容指定部111から収集する構成であってもよい。
また、入力値に対応する出力値とは、例えば、各ハードウェアリソースの使用率、スループット、TAT等である。
情報収集部410、411の夫々は、HDD(Hard Disk Drive)等のコンピュータ読み取り可能な記憶媒体(例えば、記憶部51)に、収集した実測値(即ち、各仮想化システム(20、21)への入力値と、その入力値に対応する出力値)を記憶する機能を有する。また、情報収集部410は、これらの情報の収集が終了(入力内容指定部110が指定した計測が完了)したことを契機に、収集した実測値を、ハードウェア層性能モデル生成部40に供給する。同様に、情報収集部411は、これらの情報の収集が終了(入力内容指定部111が指定した計測が完了)したことを契機に、収集した実測値を、ハードウェア層性能モデル生成部41に供給する。
なお、本実施の形態においては、情報収集部410と情報収集部411とを別個の部材で実現することを例に説明を行ったが、本発明はこれに限定されるものではない。情報収集部410と情報収集部411とは、同じ部材で実現されてもよい。この場合、情報収集部は、どの仮想化システムからの情報を収集するかを判別し、対応する仮想化システムに対する実測値を対応するハードウェア層性能モデル生成部に供給する。
(ハードウェア層性能モデル生成部40、41)
ハードウェア層性能モデル生成部40、41は、夫々、第1の実施の形態におけるハードウェア層性能モデル生成部4と同様の処理を行う。ハードウェア層性能モデル生成部40は、情報収集部410から入力された情報(上述した実測値)に基づいて、ブラックボックスアプローチにより、ハードウェア層性能モデル400を生成する。同様に、ハードウェア層性能モデル生成部41は、情報収集部411から入力された情報に基づいて、ハードウェア層性能モデル401を生成する。
実測値は、上述したとおり、仮想化システム20または仮想化システム21への入力値と、その入力値に対応する出力値とを含む。入力値は、上述したとおり、ハードウェアリソースに対する要求(ハードウェア資源の使用方法に関する情報を含んだ情報)を含むデータである。出力値は、各リソースの使用率、スループットやTAT等を表すデータである。ハードウェア層性能モデル生成部40は、これらの入力値を用いて、例えば、ニューラルネットワーク、遺伝的アルゴリズム、多項式関数、回帰分析等の演算処理によってハードウェア層性能モデル400を生成する。同様に、ハードウェア層性能モデル生成部41は、これらの入力値を用いて、ハードウェア層性能モデル401を生成する。ただし、本実施の形態において、ハードウェア層性能モデル400、401の生成方法は、これらの演算処理に限定されず、実測値を用いた同様のアプローチによってハードウェア層性能モデル400、401を実現する方法であればよい。
そして、ハードウェア層性能モデル生成部40およびハードウェア層性能モデル生成部41は、夫々、生成したハードウェア層性能モデル400およびハードウェア層性能モデル401を性能モデル合成部60に供給する。
なお、本実施の形態においては、ハードウェア層性能モデル生成部40と、ハードウェア層性能モデル生成部41とを別個の部材で実現することを例に説明を行ったが、本発明はこれに限定されるものではない。ハードウェア層性能モデル生成部40と、ハードウェア層性能モデル生成部41とは、同じ部材で実現されてもよい。この場合、ハードウェア層性能モデル生成部は、どの仮想化システムに対応するハードウェア層性能モデルを生成するのかを判別し、対応する仮想化システムのハードウェア層性能モデルを生成する。
(記憶部51)
記憶部51は、例えば、コンピュータ読み取り可能な記憶媒体であるハードディスク装置で実現される記憶手段である。記憶部51は、性能モデル群510を記憶している。
記憶部51に記憶された性能モデル群510は、アプリケーション層204において動作する仮想マシン201で実行されるアプリケーションの設計情報等を用いて生成される。また、性能モデル群510は、アプリケーション層性能モデル500、501として特定可能な候補の集合である。つまり、性能モデル群510は、仮想化システム20および仮想化システム21の夫々におけるアプリケーション層204の仮想マシン201において動作するアプリケーションの振る舞いを模倣した構成を有するモデルの集合である。
本実施の形態において、性能モデル群510をなす個々のアプリケーション層性能モデル500、501は、第1の実施の形態において説明したアプリケーション層性能モデル500、501と同様に、上述したホワイトボックスアプローチによって生成される。本実施の形態においては、性能予測装置10は、例えば、性能モデル群510を構成するアプリケーション層性能モデルを後述する性能モデル合成部60による合成処理に先立って、ホワイトボックスアプローチを用いた一般的な手段により求めてもよい。なお、以下では、アプリケーション層性能モデル500、501が、夫々、ホワイトボックスアプローチを用いて生成されたものとして説明を行う。
つまり、記憶部51は、ホワイトボックスアプローチを用いて生成された仮想化システム20の仮想マシン201において動作する可能性のあるアプリケーションのアプリケーション層性能モデル500を1または複数、記憶している。また、記憶部51は、ホワイトボックスアプローチを用いて生成された仮想化システム21の仮想マシン201において動作する可能性のあるアプリケーションのアプリケーション層性能モデル501を1または複数、記憶している。
性能モデル群510には、仮想マシン201で実行されるアプリケーションの設計情報に従って、例えば、待ち行列やペトリネットなどを利用して生成した性能モデルを採用することができる。なお、本実施の形態における性能モデル群510の生成方法は、上記に限定されない。性能モデル生成方法は、入力に対する解析計算やシミュレーション等の予め決められた手順で出力が決定される、という任意の方法を採用してもよい。
(アプリケーション層性能モデル特定部52)
アプリケーション層性能モデル特定部52は、オペレータ等9に対するユーザインタフェース(UI、マンマシン)としての機能を有する。オペレータ等9は、アプリケーション層性能モデル特定部52を用いて、仮想化システム20、21の夫々のアプリケーション層204にて実行される、仮想マシン201において動作するアプリケーションに関する情報等を指定することができる。アプリケーション層性能モデル特定部52を用いたオペレータ等9による入力操作により、アプリケーション層性能モデル特定部52は、その入力内容に対応するまたは一致するアプリケーション層性能モデル500、501を、性能モデル群510から特定し、取得する。
具体的には、アプリケーション層性能モデル特定部52は、オペレータ等9の操作に応じて、仮想化システム20および仮想化システム21の夫々の仮想マシン201にて動作するアプリケーションに関する情報に基づいて記憶部51を参照する。そして、アプリケーション層性能モデル特定部52は、性能モデル群510の中から、上記アプリケーションに関する情報に関連付けられた、特定のアプリケーション層性能モデル500、501を特定する。そして、アプリケーション層性能モデル特定部52は、記憶部51から、特定したアプリケーション層性能モデル500、501を夫々取得する。
また、アプリケーション層性能モデル特定部52は、上記取得したアプリケーション層性能モデル500、501を、性能モデル合成部60に供給する。
ここで、オペレータ等9から指示された情報(入力内容)とは、仮想化システム20、21の夫々におけるアプリケーション層204にて実行される仮想マシン201のアプリケーションに関する情報である。
そして、入力内容に対応するアプリケーション層性能モデル500、501とは、性能を予測すべき対象となる仮想マシン201毎のシステム内容を表す。このシステム内容は、当該仮想マシン201毎に異なる。したがって、対応するアプリケーション層性能モデル500、501もシステム毎(仮想マシン201毎)に異なる。例えば、仮想化システム20、21の夫々におけるアプリケーション層204において、仮想マシン201が3台稼働している場合を考える。この時、これら3台の仮想マシン201におけるアプリケーションの情報と同じ内容の情報にマッチするアプリケーション層性能モデル500、501を性能モデル群510(記憶部51)から取り出す必要がある。
なお、アプリケーション層性能モデル500、501は、性能モデル群510の中から、オペレータ等9が、例えば、人的操作によって選択してもよい。このアプリケーション層性能モデル500、501は、仮想化システム20、21の夫々の仮想マシン201においてオペレータ等9が稼働を希望する所望のアプリケーションに関する情報と同じ内容のアプリケーション情報を用いて予め生成されたものであってもよい。
なお、アプリケーション層性能モデル特定部52に対し、オペレータ等9による入力(指定)が行われることを例に説明を行ったが、本発明はこれに限定されない。アプリケーション層性能モデル特定部52に対し、LANやインターネットを介したサーバ等の外部装置から必要な情報が入力されてもよい。
(ネットワーク部入力内容指定部31)
ネットワーク部入力内容指定部31は、オペレータ等9等に対するユーザインタフェース(UI、マンマシンインタフェース)として機能を有する。オペレータ等9は、連携システム2に関する実測値を計測する際、ネットワーク部入力内容指定部31を用いて、計測に関連する内容を指定することができる。よって、ネットワーク部入力内容指定部31を用いたオペレータ等9による入力操作により、連携システム2には、連携システム2の実測値(例えば、ネットワークリソースの遅延時間、同時接続ユーザ数、有効接続帯域幅、秒間あたりのヒット数等)の計測にかかわる設定値、計測等の実行命令に関する内容が指定される。
なお、ネットワーク部入力内容指定部31に対し、オペレータ等9による入力(指定)が行われることを例に説明を行ったが、本発明はこれに限定されない。ネットワーク部入力内容指定部31に対し、LANやインターネットを介したサーバ等の外部装置からの命令が入力されてもよい。
また、ネットワーク部入力内容指定部31は、指定された内容(入力内容)を、連携システム2に入力(設定)する。具体的には、ネットワーク部入力内容指定部31は、オペレータ等9の操作によって入力された、連携システム2の計測に関わる設定値、計測指示を示す命令(リクエスト)等を、連携システム2に設定する。これにより、連携システム2は、ネットワーク部入力内容指定部31によって入力された情報に基づいて、連携システム2の計測を行う。
なお、上記入力を用いて、連携システム2から出力される実測値であって、計測の結果で得られた実測値は、ネットワーク部性能モデル生成部30によるネットワーク部性能モデル300の生成に利用される。
連携システム2における実測値の計測は、後述する性能モデル合成部60による合成処理に先立って行われてもよい。計測の内容としては、仮想化システム20、21を連携させた連携システム2のネットワーク部301を対象としたベンチマークソフトを用いた、ベンチマークテストが挙げられる。本実施の形態においては、ベンチマークソフトとしては、特定のハードウェアリソースの負荷状況を再現できる任意のソフトウェア(コンピュータ・プログラム)を採用するとするが、本発明はこれに限定されるものではない。連携システム2のネットワーク部301に対する実測値の計測方法は、一般的な手順を採用することができるので、本実施の形態における詳細な説明は省略する。
(ネットワーク部情報収集部32)
ネットワーク部情報収集部32は、連携システム2に対して計測された実測値を収集する。ここで、実測値とは、ネットワーク部入力内容指定部31からの入力内容に応じて実行される連携システム2に関するベンチマークテストにおける入力値と、その入力値に対応する出力値との対をなす情報である。ネットワーク部情報収集部32は、連携システム2から上述した実測値として、連携システム2への入力値と、その入力値に対応する出力値とを収集する。
ここで、入力値とは、ハードウェアリソースへのリソース要求(例えば、ネットワークリソースの遅延時間、同時接続ユーザ数、有効接続帯域幅、秒間あたりのヒット数等)を含んでいる。
なお、ネットワーク部情報収集部32は、この入力値を、連携システム2から収集する構成について説明を行ったが、本発明はこれに限定されるものではない。ネットワーク部情報収集部32は、上記入力値を、ネットワーク部入力内容指定部31から収集する構成であってもよい。
また、入力値に対応する出力値とは、例えば、各ハードウェアリソースの使用率やスループット、TAT等である。
ネットワーク部情報収集部32は、HDD等のコンピュータ読み取り可能な記憶媒体(例えば、記憶部51)に、収集した実測値(即ち、連携システム2への入力値と、その入力値に対応する出力値)を記憶する機能を有する。また、ネットワーク部情報収集部32は、これらの情報を収集が終了(ネットワーク部入力内容指定部31が指定した計測が完了)したことを契機に、収集した実測値を、ネットワーク部性能モデル生成部30に供給する。
(ネットワーク部性能モデル生成部30)
ネットワーク部性能モデル生成部30は、第1の実施の形態におけるネットワーク部性能モデル生成部3と同様の処理を行う。ネットワーク部性能モデル生成部30は、ネットワーク部情報収集部32から入力された情報(上述した実測値)に基づいて、ブラックボックスアプローチにより、ネットワーク部性能モデル300を生成する。
実測値は、上述したとおり、連携システム2への入力値と、その入力値に対応する出力値とを含む。入力値は、ネットワークへの同時接続ユーザ数等を表すデータである。出力値は、遅延時間、有効接続帯域幅、秒間あたりのヒット数等を表すデータである。ネットワーク部性能モデル生成部30は、これらの入出力値を用いて、例えば、ニューラルネットワーク、遺伝的アルゴリズム、多項式関数、回帰分析等の演算処理によってネットワーク部性能モデル300を生成する。ただし、本実施の形態において、ネットワーク部性能モデル300の生成方法は、これらの演算処理に限定されず、実測値を用いた同様のアプローチによってネットワーク部性能モデル300を実現する方法であればよい。
そして、ネットワーク部性能モデル生成部30は、生成したネットワーク部性能モデル300を、性能モデル合成部60に供給する。
(性能モデル合成部60)
性能モデル合成部60は、(a)アプリケーション層性能モデル特定部52にて特定されたアプリケーション層性能モデル500、501と、(b)ハードウェア層性能モデル生成部40にて生成されたハードウェア層性能モデル400およびハードウェア層性能モデル生成部41にて生成されたハードウェア層性能モデル401と、(c)ネットワーク部性能モデル生成部30にて生成されたネットワーク部性能モデル300とを合成することにより、連携システム2の性能モデルであるシステム性能モデル600を生成する。性能モデル合成部60は、第1の実施の形態における性能モデル合成部6と同様の処理を行う。性能モデル合成部60は、例えば、ネットワーク部入力内容指定部31、入力内容指定部110、入力内容指定部111、アプリケーション層性能モデル特定部52の少なくとも何れかに対するオペレータ等9の操作を契機に、合成処理を実行してもよい。
すなわち、性能予測装置10は、性能モデル合成部60が生成するシステム性能モデル600を用いることにより、連携システム2へのリクエスト内容を元に、連携システム2の性能を予測するための指標である性能指標を算出することができる。オペレータ等9は、このような性能指標を、例えばディスプレイ等を介して参照することにより、連携システム2の性能を予測できる。
(性能モデル生成処理)
次に、性能予測装置10が行う性能モデル生成処理について、図7から図12を参照して説明する。
図7は、本発明の第2の実施の形態に係る性能予測装置10による性能モデル生成処理の概要を示すフローチャートである。図7に示す通り、性能予測装置10は、以下のステップS101からステップS103の動作を行う。
ステップS101:ハードウェア層性能モデル生成部40が、仮想化システム20の性能モデル(ハードウェア層性能モデル400)を生成する処理を行う。また、ハードウェア層性能モデル生成部41が、仮想化システム21の性能モデル(ハードウェア層性能モデル401)を生成する処理を行う。なお、このハードウェア層性能モデル400、401の生成処理については、図面を変えて説明を行う。
ステップS102:アプリケーション層性能モデル特定部52が、オペレータ等9の操作に応じて、記憶部51の性能モデル群510からアプリケーション層性能モデル500、501を夫々特定し、記憶部51から取得する。具体的には、まず、アプリケーション層性能モデル特定部52は、仮想化システム20の仮想マシン201にて動作するアプリケーションに関する情報を用いて(検索キーとして)、記憶部51を参照する。そして、アプリケーション層性能モデル特定部52は、記憶部51に記憶されている性能モデル群510から、上記情報に対応する(合致する)アプリケーション層性能モデル500を特定し、当該特定したアプリケーション層性能モデル500を取得する。同様に、アプリケーション層性能モデル特定部52が、アプリケーション層性能モデル501を記憶部51から取得する。
ステップS103:ネットワーク部性能モデル生成部30が、ネットワーク部301の性能モデル(ネットワーク部性能モデル300)を生成する処理を行う。なお、このネットワーク部性能モデル300の生成処理については、図面を変えて説明を行う。
なお、ステップS101からS103は同時に実行されてもよいし、任意の順番で実行されてもよい。
ステップS104:性能モデル合成部60が、ステップS101にて生成されたハードウェア層性能モデル400、401と、ステップS102にて特定されたアプリケーション層性能モデル500、501と、ステップS103にて生成されたネットワーク部性能モデル300とを用いて、合成処理を実行する。これにより、連携システム2の性能を予測するための性能モデルが生成される。この合成処理の結果として得た性能モデル(性能予測値)は、性能モデル合成部60の出力値である。性能モデル合成部60の処理(合成処理)については、図面を変えて説明する。
(ハードウェア層性能モデルの生成処理)
次に、図8を参照して、上述したステップS101における、ハードウェア層性能モデル400、401の生成処理について説明する。
図8は、上述したステップS101における、ハードウェア層性能モデル400、401の生成処理の流れの一例を示すフローチャートである。図8に示す通り、ハードウェア層性能モデル400、401の生成処理では、以下のステップS201からステップS203の処理が行われる。
ステップS201:入力内容指定部110が、オペレータ等9の操作を契機に、仮想化システム20に計測を開始させる。そして、仮想化システム20は、仮想化システム20の計測を行う。同様に、入力内容指定部111が、オペレータ等9の操作を契機に、仮想化システム21に計測を開始させる。そして、仮想化システム21は、仮想化システム21の計測を行う。
ステップS202:情報収集部410が、ステップS201にて行われた仮想化システム20の計測によって出力される実測値を収集する。この実測値は、例えば、各リソースの使用率、スループット、TAT等、ハードウェア層205の状態を表す情報である。情報収集部410は、収集した実測値(ステップS201にて、仮想化システム20に入力された入力値とその入力値に対応する出力値)を、ハードウェア層性能モデル生成部40に供給する。同様に、情報収集部411は、仮想化システム21の計測によって出力される実測値を収集し、当該実測値をハードウェア層性能モデル生成部41に供給する。
ステップS203:ハードウェア層性能モデル生成部40が、情報収集部410から供給された実測値を用いて、ブラックボックスアプローチにより、ハードウェア層性能モデル400を生成する。同様に、ハードウェア層性能モデル生成部41が、情報収集部411から供給された実測値を用いて、ハードウェア層性能モデル401を生成する。これによりハードウェア層性能モデル400、401の生成処理を終了する。
(ネットワーク部性能モデルの生成処理)
次に、図9を参照して、上述したステップS103における、ネットワーク部性能モデル300の生成処理について説明する。
図9は、上述したステップS103における、ネットワーク部性能モデル300の生成処理の流れの一例を示すフローチャートである。図9に示す通り、ネットワーク部性能モデル300の生成処理では、以下のステップS301からステップS303の処理が行われる。
ステップS301:ネットワーク部入力内容指定部31が、オペレータ等9の操作を契機に、連携システム2に計測を開始させる。そして、連携システム2は、連携システム2の計測を行う。
ステップS302:ネットワーク部情報収集部32が、ステップS301にて行われた連携システム2の計測によって出力される実測値を収集する。この実測値は、例えば、ネットワークリソースの遅延時間、同時接続ユーザ数、有効接続帯域幅、秒間あたりのヒット数等の、ネットワーク部301の状態を表す情報である。ネットワーク部情報収集部32は、収集した実測値(ステップS301にて、連携システム2に入力された入力値とその入力値に対応する出力値)を、ネットワーク部性能モデル生成部30に供給する。
ステップS303:ネットワーク部性能モデル生成部30が、ネットワーク部情報収集部32から供給された実測値を用いて、ブラックボックスアプローチにより、ネットワーク部性能モデル300を生成する。これによりネットワーク部性能モデル300の生成処理を終了する。
(合成処理)
次に、図10〜図12を参照して、上述したステップS104における、合成処理について説明する。
図10〜図12は、上述したステップS104における、性能モデル合成部60が行う合成処理の流れの一例を示すフローチャートである。図10〜図12に示す通り、性能モデル合成部60の合成処理では、以下のステップS401からステップS427の処理が行われる。
なお、図10〜図12の例では、仮想化システム20のアプリケーション層性能モデル500にリクエストが入力される場合について説明するが、仮想化システム21のアプリケーション層性能モデル501にリクエストが入力されてもよい。なお、この場合も、アプリケーション層性能モデル500にリクエストが入力される場合と同様の処理を行うため、説明を省略する。
まず、図10を参照してステップS401からS410の処理について説明する。
ステップS401:性能モデル合成部60が、一方の仮想化システムのアプリケーション層204の性能モデル(本例では、アプリケーション層性能モデル500)に、リクエストを入力する。このリクエストは、アプリケーション層204の各性能モデル(500)を用いたシミュレーションのために、模擬的に作成したデータである。このデータの内容は、各ソフトウェア資源への負荷や、ハードウェアリソースの利用タイミング等を表す。個々のリクエストは、同時、または、例えば、オペレータ等9が指定した時間差をおいて、アプリケーション層性能モデル500へ入力される。
ステップS402:性能モデル合成部60が、アプリケーション層性能モデル500に対し、ステップS401にて入力されたリクエストにしたがって、連携処理要求700を生成させる。連携処理要求700は、連携システム2を構成するプロセスが、ネットワークや仮想化システム20のどのハードウェアリソース(例えば、ディスク、CPU等)を、どのように使用するかについての情報を含んだデータである。
ステップS403:性能モデル合成部60が、ステップS402にてアプリケーション層性能モデル500に生成させた連携処理要求700を、ハードウェア層性能モデル400に入力する。
ステップS404:性能モデル合成部60が、ステップS403にて入力した連携処理要求700を、ハードウェア層性能モデル400を用いて処理する。つまり、性能モデル合成部60は、ハードウェア層性能モデル400にネットワーク処理要求701を生成させる。ネットワーク処理要求701は、連携システム2のネットワーク部301を介するプロセスが、ネットワークをどのように使用するかについての情報を含んだデータである。
ステップS405:性能モデル合成部60が、アプリケーション層性能モデル500に対する処理プロセスの実行を、仮想化システム21からの処理完了通知を待ってから行うか否かを、仮想化システム20のハードウェア層205に対して確認する。具体的には、性能モデル合成部60は、処理プロセスが(a)ネットワーク部性能モデル300を介して仮想化システム21に対応する性能モデルに移り、(b)仮想化システム21の性能モデルからネットワーク部性能モデル300を介して仮想化システム20の性能モデルでの処理に戻るまで、仮想化システム20におけるアプリケーション層性能モデル500に対する処理プロセスの実行を待つかどうかを、仮想化システム20のハードウェア層205に対して確認する。アプリケーション層性能モデル500に対する処理を、仮想化システム21の性能モデルでの処理が完了するまで待つ場合(YESの場合)、性能モデル合成部60は、処理をステップS406に移す。ここで、アプリケーション層性能モデル500の処理を、仮想化システム21の性能モデルの処理完了まで待つとは、ハードウェア層性能モデル400にネットワーク部性能モデル300からネットワーク処理完了通知706を入力されるまで待つということを示す。アプリケーション層性能モデル500に対する処理を、仮想化システム21の性能モデルでの処理が完了する前に行う場合(NOの場合)、性能モデル合成部60は、処理をステップS421(図12参照)に移す。ここで、アプリケーション層性能モデル500に対する処理を、仮想化システム21の性能モデルの処理完了前に行うとは、仮想化システム20の性能モデルに対する処理と、仮想化システム21の性能モデルに対する処理とを並行して行うことを示す。
ステップS406:性能モデル合成部60が、ステップS404にてハードウェア層性能モデル400に生成させたネットワーク処理要求701を、ネットワーク部性能モデル300に入力する。
ステップS407:性能モデル合成部60が、ステップS406にて入力したネットワーク処理要求701を、ネットワーク部性能モデル300を用いて処理する。つまり、性能モデル合成部60は、ネットワーク部性能モデル300に、ネットワーク処理完了通知702を生成させる。ネットワーク処理完了通知702は、連携システム2のネットワーク部301での負荷やリソースの利用タイミング等の情報を含む。
ステップS408:性能モデル合成部60が、ステップS407にてネットワーク部性能モデル300に生成させたネットワーク処理完了通知702を、仮想化システム21のハードウェア層性能モデル401に入力する。
ステップS409:性能モデル合成部60が、ステップS408にて入力したネットワーク処理完了通知702を、ハードウェア層性能モデル401を用いて処理する。
ステップS410:性能モデル合成部60が、ステップS409における処理が完了したことを表す連携処理完了通知703を、アプリケーション層性能モデル501に入力する。連携処理完了通知703がハードウェア層性能モデル401から出力される際、性能モデル合成部60は、ハードウェア層性能モデル401により算出した性能指標(リソース使用率、スループット、TAT等)を、仮想化システム21のハードウェア層性能モデル401から出力する。この後、性能モデル合成部60は、処理をステップS411に移す。なお、ステップS411以降の処理は、図11を参照して、説明を行う。
ステップS411:性能モデル合成部60が、ステップS410にて入力した連携処理完了通知703を、アプリケーション層性能モデル501を用いて処理する。つまり、性能モデル合成部60は、アプリケーション層性能モデル501に、連携処理要求704を生成させる。連携処理要求704は、連携システム2を構成するプロセスが、ネットワークや仮想化システム21のどのハードウェアリソース(例えば、ディスク、CPU等)を、どのように使用するかについての情報を含んだデータである。
ステップS412:性能モデル合成部60が、ステップS411にてアプリケーション層性能モデル501に生成させた連携処理要求704を、ハードウェア層性能モデル401に入力する。
ステップS413:性能モデル合成部60が、ステップS412にて入力した連携処理要求704を、ハードウェア層性能モデル401を用いて処理する。つまり、性能モデル合成部60は、ハードウェア層性能モデル401にネットワーク処理要求705を生成させる。ネットワーク処理要求705は、連携システム2のネットワーク部301を介するプロセスが、ネットワークをどのように使用するかについての情報を含んだデータである。
ステップS414:性能モデル合成部60が、ステップS413にてハードウェア層性能モデル401に生成させたネットワーク処理要求705を、ネットワーク部性能モデル300へ入力する。
ステップS415:性能モデル合成部60が、ステップS414にて入力したネットワーク処理要求705を、ネットワーク部性能モデル300を用いて処理する。つまり、性能モデル合成部60は、ネットワーク部性能モデル300に、ネットワーク処理完了通知706を生成させる。ネットワーク処理完了通知706は、連携システム2のネットワーク部301での負荷やリソースの利用タイミング等の情報を含む。
ステップS416:性能モデル合成部60が、ステップS415にてネットワーク部性能モデル300に生成させたネットワーク処理完了通知706を、仮想化システム20のハードウェア層性能モデル400に入力する。
ステップS417:性能モデル合成部60が、ステップS416にて入力したネットワーク処理完了通知706を、仮想化システム20のハードウェア層性能モデル400を用いて処理する。
ステップS418:性能モデル合成部60が、ステップS417における処理が完了したことを表す連携処理完了通知707を、アプリケーション層性能モデル500に入力する。連携処理完了通知707がハードウェア層性能モデル400から出力される際、性能モデル合成部60は、ハードウェア層性能モデル400により算出した性能指標(リソース使用率、スループット、TAT等)を、仮想化システム20のハードウェア層性能モデル400から出力する。
ステップS419:性能モデル合成部60は、連携システム2に対して、仮想化システム20のアプリケーション層204が出力する未処理の連携処理要求の有無を確認する。未処理の連携処理要求が仮想化システム20のアプリケーション層204に残っている場合(YESの場合)、性能モデル合成部60は、処理をステップS402に戻す。全ての連携処理要求の処理が完了した場合(NOの場合)、性能モデル合成部60は、処理をステップS420に進める。即ち、ステップS402からステップS419までの各ステップからなるループは、仮想化システム20のアプリケーション層204における連携処理要求が無くなるまで繰り返される。
ステップS420:ステップS419にて全ての連携処理要求の処理が完了したと判断すると、性能モデル合成部60は、アプリケーション層性能モデル500から、処理済みリクエストを出力し処理を終了する。
なお、仮想化システム20のアプリケーション層204がハードウェア層205に対して、連携処理要求700を出力(発行)してから、当該ハードウェア層205から連携処理完了通知707が当該アプリケーション層204に入力されるまでの時間(期間)を、アプリケーション層性能モデル500の処理時間(処理所要時間)PTとする。処理時間PTは、仮想化システム20のアプリケーション層204から出力された連携処理要求700がハードウェア層205に入力されてから、当該ハードウェア層205が当該アプリケーション層204に対して連携処理完了通知707を出力するまでの時間(期間)と捉えることもできる。
これにより、オペレータ等9は、性能モデル合成部60が算出した、ネットワーク部性能モデル300、ハードウェア層性能モデル400、ハードウェア層性能モデル401、アプリケーション層性能モデル500、およびアプリケーション層性能モデル501の計算結果(性能指標等)を用いて、連携システム2の性能を予測することができる。
図10および図11を用いて説明したとおり、性能モデル合成部60の合成処理のうち、アプリケーション層性能モデル500に対する処理プロセスの実行を、仮想化システム21からの処理完了通知を待ってから行う場合に得られる値(情報)は、以下の通りである。すなわち、
(a)アプリケーション層性能モデル500に入力されたリクエスト、
(b)アプリケーション層性能モデル500により生成された、ハードウェア層性能モデル400への連携処理要求700、
(c)ハードウェア層性能モデル400により生成された、ネットワーク部性能モデル300へのネットワーク処理要求701、
(d)ネットワーク部性能モデル300により生成された、ハードウェア層性能モデル401へのネットワーク処理完了通知702、
(e)ハードウェア層性能モデル401により生成された、ハードウェア層性能モデル401への連携処理完了通知703、
(f)アプリケーション層性能モデル501により生成された、ハードウェア層性能モデル401への連携処理要求704、
(g)ハードウェア層性能モデル401により生成された、ネットワーク部性能モデル300へのネットワーク処理要求705、
(h)ネットワーク部性能モデル300により生成された、ハードウェア層性能モデル400へのネットワーク処理完了通知706、
(i)ハードウェア層性能モデル400により生成された、アプリケーション層性能モデル500への連携処理完了通知707、
(j)ハードウェア層性能モデル401により算出された性能指標、
(k)ハードウェア層性能モデル400により算出された性能指標、
(l)処理時間(処理所要時間)PT。
なお、性能モデル合成部60は、システム性能モデル600として、上記(j)、(k)、(l)の少なくとも何れかを出力する構成であってもよい。また、性能モデル合成部60は、上記(j)、(k)、(l)の少なくとも何れかに加え、(a)〜(i)の何れかを出力する構成であってもよい。
すなわち、システム性能モデル600を用いることで、性能モデル合成部60は、性能を予測すべき対象である連携システム2へのリクエスト内容を基に、性能指標(各リソースの使用率、TAT、スループット等)を算出することができる。したがって、オペレータ等9は、上述した各算出値を参照することにより、連携システム2の性能を予測することができる。
次に、図12を用いて、ステップS405にてNOの場合の、性能モデル合成部60の処理について説明する。つまり、性能モデル合成部60が、仮想化システム20の性能モデルに対する処理と、仮想化システム21の性能モデルに対する処理とを並行して行うことについて、説明する。図12において、左側の破線で囲った枠に含まれる処理およびステップS421は、仮想化システム20の性能モデルを用いた処理を示し、右側の破線で囲った枠に含まれる処理は、仮想化システム21の性能モデルを用いた処理を示している。
ステップS421:性能モデル合成部60が、ステップS404にてハードウェア層性能モデル400に生成させたネットワーク処理要求701を、ネットワーク部性能モデル300に入力する。
以降の処理において、仮想化システム20の性能モデルを用いる処理と、仮想化システム21の性能モデルを用いる処理とは、並行して行われる。以下では、ステップS422の処理が行われるタイミングと、ステップS423の処理が行われるタイミングとは、略同時であることを例に説明を行うが、本発明はこれに限定されるものではない。
以下では、まず、仮想化システム20の性能モデルを用いる処理について説明する。
ステップS422:性能モデル合成部60が、ステップS421における処理が完了したことを表す連携処理完了通知707を、ハードウェア層性能モデル400からアプリケーション層性能モデル500に入力する。そして、性能モデル合成部60は、図11のステップS419に処理を進める。
次に、仮想化システム20の性能モデルを用いる処理と並行して行われる、仮想化システム21の性能モデルを用いる処理について説明する。
ステップS423:性能モデル合成部60が、ステップS421にて入力したネットワーク処理要求701を、ネットワーク部性能モデル300を用いて処理する。つまり、性能モデル合成部60は、ネットワーク部性能モデル300に、ネットワーク処理完了通知702を生成させる。ネットワーク処理完了通知702は、連携システム2のネットワーク部301での負荷やリソースの利用タイミング等の情報を含む。
ステップS424:性能モデル合成部60が、ステップS423にてネットワーク部性能モデル300に生成させたネットワーク処理完了通知702を、仮想化システム21のハードウェア層性能モデル401に入力する。
ステップS425:性能モデル合成部60が、ステップS424にて入力したネットワーク処理完了通知702を、ハードウェア層性能モデル401を用いて処理する。
ステップS426:性能モデル合成部60が、ステップS425における処理が完了したことを表す連携処理完了通知703を、アプリケーション層性能モデル501に入力する。連携処理完了通知703がハードウェア層性能モデル401から出力される際、性能モデル合成部60は、ハードウェア層性能モデル401により算出した性能指標(リソース使用率、スループット、TAT等)を、仮想化システム20のハードウェア層性能モデル401から出力する。
ステップS427:ステップS426における処理が完了すると、性能モデル合成部60は、アプリケーション層性能モデル501から処理済みリクエストを出力し、仮想化システム21の性能モデルを用いた処理を終了する。
なお、仮想化システム20のアプリケーション層204がハードウェア層205に対して、連携処理要求700を出力(発行)してから、当該ハードウェア層205から連携処理完了通知707が当該アプリケーション層204に入力されるまでの時間(期間)を、アプリケーション層性能モデル500の処理時間(処理所要時間)PT1とする。処理時間PT1は、仮想化システム20のアプリケーション層204から出力された連携処理要求700がハードウェア層205に入力されてから、当該ハードウェア層205が当該アプリケーション層204に対して連携処理完了通知707を出力するまでの時間(期間)と捉えることもできる。
同様に、仮想化システム20のアプリケーション層204がハードウェア層205に対して、連携処理要求700を出力(発行)してから、仮想化システム21のアプリケーション層204に当該仮想化システム21のハードウェア層205から連携処理完了通知703が入力されるまでの期間(時間)を処理時間PT2とする。
これにより、オペレータ等9は、性能モデル合成部60が算出した、ネットワーク部性能モデル300、ハードウェア層性能モデル400、ハードウェア層性能モデル401、アプリケーション層性能モデル500、およびアプリケーション層性能モデル501の計算結果(性能指標等)を用いて、連携システム2の性能を予測することができる。
図10から図12を用いて説明したとおり、性能モデル合成部60の合成処理のうち、仮想化システム20の性能モデルを用いた処理と、仮想化システム21の性能モデルを用いた処理とを並行して行う場合に得られる値(情報)は、以下の通りである。すなわち、
(A)アプリケーション層性能モデル500に入力されたリクエスト、
(B)アプリケーション層性能モデル500により生成された、ハードウェア層性能モデル400への連携処理要求700、
(C)ハードウェア層性能モデル400により生成された、ネットワーク部性能モデル300へのネットワーク処理要求701、
(D)ネットワーク部性能モデル300により生成された、ハードウェア層性能モデル401へのネットワーク処理完了通知702、
(E)ハードウェア層性能モデル401により生成された、ハードウェア層性能モデル401への連携処理完了通知703、
(F)アプリケーション層性能モデル501により生成された、ハードウェア層性能モデル401への連携処理要求704、
(G)ハードウェア層性能モデル400により生成された、アプリケーション層性能モデル500への連携処理完了通知707、
(H)ハードウェア層性能モデル401により算出された性能指標、
(I)ハードウェア層性能モデル400により算出された性能指標、
(J)処理時間(処理所要時間)PT1、
(K)処理時間(処理所要時間)PT2。
なお、性能モデル合成部60は、システム性能モデル600として、上記(H)、(I)、(J)、(K)の少なくとも何れかを出力する構成であってもよい。また、性能モデル合成部60は、上記(H)、(I)、(J)、(K)の少なくとも何れかに加え、(A)〜(G)の何れかを出力する構成であってもよい。
すなわち、システム性能モデル600を用いることで、性能モデル合成部60は、性能を予測すべき対象である連携システム2へのリクエスト内容を基に、性能指標(各リソースの使用率、TAT、スループット等)を算出することができる。したがって、オペレータ等9は、上述した各算出値を参照することにより、連携システム2の性能を予測することができる。
なお、本実施の形態の性能予測装置10は、第1の実施の形態におけるアプリケーション層性能モデル生成部5の代わりに、アプリケーション層性能モデル特定部52を備える構成について説明を行った。しかし、本実施の形態に係る性能予測装置10は、図6に示した構成に、更に、第1の実施の形態におけるアプリケーション層性能モデル生成部5を備える構成であってもよい。
(効果)
以上のように、本実施の形態に係る性能予測装置10は、連携システム2の複数の仮想化システムの各々の構成を、アプリケーション層204およびハードウェア層205と定義する。また、複数の仮想化システムの各々は互いにネットワーク部301を介して接続されている。そして、性能予測装置10は、仮想化システムごとに、ハードウェア層性能モデルとアプリケーション層性能モデルとを生成する。さらに、性能予測装置10は、連携システム2のネットワーク部301に対する性能モデルであるネットワーク部性能モデル300を生成する。そして、性能予測装置10は、上記ハードウェア層性能モデル、上記アプリケーション層性能モデル、並びに、ネットワーク部性能モデル300を用いて、各層間並びに各仮想化システム間の依存関係が反映された連携システム2の性能モデルであるシステム性能モデル600を生成する。これにより、連携システム2の性能を予測することができる。したがって、本実施の形態に係る性能予測装置1によれば、上記システム性能モデル600を用いて、連携システム2の性能を好適に予測することが可能である。
<ハードウェアの構成例>
ここで、上述した各実施の形態に係る性能予測装置を実現可能なハードウェアの構成例について説明する。上述した性能予測装置(1、10)は、専用の装置として実現してもよいが、コンピュータ(情報処理装置)を用いて実現してもよい。
図13は、本発明の各実施の形態を実現可能なコンピュータ(情報処理装置)のハードウェア構成を例示する図である。
図13に示した情報処理装置(コンピュータ)100のハードウェアは、CPU11、通信インタフェース(I/F)12、入出力ユーザインタフェース13、ROM(Read Only Memory)14、RAM(Random Access Memory)15、記憶装置17、及びコンピュータ読み取り可能な記憶媒体19のドライブ装置18を備え、これらがバス16を介して接続された構成を有する。入出力ユーザインタフェース13は、入力デバイスの一例であるキーボードや、出力デバイスとしてのディスプレイ等のマンマシンインタフェースである。通信インタフェース12は、上述した各実施の形態に係る装置(図1、図6)が、外部装置と、通信ネットワーク200を介して通信するための一般的な通信手段である。係るハードウェア構成において、CPU11は、各実施の形態に係る性能予測装置(1、10)を実現する情報処理装置100について、全体の動作を司る。
上述した各実施の形態を例に説明した本発明は、例えば、上記各実施の形態において説明した処理を実現可能なプログラム(コンピュータ・プログラム)を、図13に示す情報処理装置100に対して供給した後、そのプログラムを、CPU11に読み出して実行することによって達成される。なお、係るプログラムは、例えば、上記各実施の形態の説明において参照したフローチャート(図7〜図12)に記載した各種処理や、或いは、図1、図6に示したブロック図において当該装置内に示した各部(各ブロック)を実現可能なプログラムであってもよい。
また、情報処理装置100内に供給されたプログラムは、読み書き可能な一時記憶メモリ(15)またはハードディスクドライブ等の不揮発性の記憶装置(17)に格納されてもよい。即ち、記憶装置17において、プログラム群17Aは、例えば、上述した各実施の形態における性能予測装置(1、10)内に示した各部の機能を実現可能なプログラムである。また、各種の記憶情報17Bは、例えば、上述した各実施の形態におけるアプリケーション層の性能モデル群510や、仮想化システム20、仮想化システム21および連携システム2に関する実測値等である。ただし、情報処理装置100へのプログラムの実装に際して、個々のプログラム・モジュールの構成単位は、ブロック図(図1、図6)に示した各ブロックの区分けには限定されず、当業者が実装に際して適宜選択してよい。
また、前記の場合において、当該装置内へのプログラムの供給方法は、CD−ROM、フラッシュメモリ等のコンピュータ読み取り可能な各種の記録媒体(19)を介して当該装置内にインストールする方法や、インターネット等の通信回線(200)を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード(プログラム群17A)或いは係るコードが格納された記憶媒体(19)によって構成されると捉えることができる。
以上、本発明を、上述した模範的な実施の形態およびその実施例に適用した例として説明した。しかしながら、本発明の技術的範囲は、上述した各実施の形態及び実施例に記載した範囲には限定されない。当業者には、係る実施の形態に対して多様な変更または改良を加えることが可能であることは明らかである。そのような場合、係る変更または改良を加えた新たな実施の形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。
なお、上述した実施の形態の一部または全部は、以下の付記のようにも記載されうる。しかしながら、上述した実施の形態により例示的に説明した本発明は、以下には限られない。
(付記1)複数の仮想化システムが互いにネットワーク部を介して連携している連携システムの性能を予測するための性能予測装置であって、前記複数の仮想化システムは、夫々、アプリケーション層とハードウェア層とを有し、前記性能予測装置は、前記連携システムにおける各仮想化システムの仮想マシン上で動作する、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能モデルを、仮想化システムごとに生成する第1の性能モデル生成手段と、前記連携システムにおける各仮想化システムを対象に計測した結果に基づいて、前記ハードウェア層の性能モデルを、仮想化システムごとに生成する第2の性能モデル生成手段と、前記連携システムを対象に計測した結果に基づいて、前記ネットワーク部の性能モデルを生成する第3の性能モデル生成手段と、前記複数の仮想化システムの夫々に含まれる前記アプリケーション層および前記ハードウェア層に対し、一方の層の性能モデルにおける出力値を、他方の層の性能モデルの入力値として利用する第1の合成処理と、前記ハードウェア層の性能モデルにおける出力値が入力された前記ネットワーク部の性能モデルにおける出力値を、他の仮想化システムの前記ハードウェア層の性能モデルの入力値として利用する第2の合成処理とにより、該2層間の依存関係および仮想化システム間の依存関係が反映された、前記連携システムの性能モデルを生成する性能モデル合成手段と、を備えることを特徴とする性能予測装置。
(付記2)前記性能モデル合成手段は、前記仮想化システムの前記アプリケーション層の性能モデルにリクエストが入力されるのに応じて、当該仮想化システムのハードウェア層を構成するハードウェアリソースおよびネットワークの使用方法に関する情報を含む第1の処理要求を、当該アプリケーション層の性能モデルに発行させ、前記仮想化システムの前記ハードウェア層の性能モデルに、前記第1の処理要求に応じた処理を行わせると共に、当該処理の完了に応じて、ネットワークの使用方法に関する情報を含む第2の処理要求を発行させ、前記ネットワーク部の性能モデルに、前記第2の処理要求に基づいて、他の前記仮想化システムの前記ハードウェア層の性能モデルに対して、前記ネットワーク部を介する通信に関する情報を含む第3の処理要求を発行させ、前記他の仮想化システムの前記ハードウェア層の性能モデルに、前記第3の処理要求に応じた処理を行わせると共に、当該処理の完了に応じて、前記他の仮想化システムの前記アプリケーション層の性能モデルに対して、処理完了通知を発行させ、前記第1の処理要求、前記第2の処理要求、前記第3の処理要求、および、前記処理完了通知を利用する合成処理を行うことを特徴とする付記1に記載の性能予測装置。
(付記3)前記性能モデル合成手段は、前記連携システムの性能モデルとして、前記仮想化システムにおける前記ハードウェア層の性能モデルによって算出された性能指標と、前記第1の処理要求が前記性能システムの前記ハードウェア層の性能モデルに対して発行されてから、前記他の性能システムの前記ハードウェア層の性能モデルから前記処理完了通知が発行されるまでの所要時間と、の少なくとも何れかを提示することを特徴とする付記2に記載の性能予測装置。
(付記4)前記性能モデル合成手段は、前記連携システムの性能モデルとして、前記仮想化システムにおける前記ハードウェア層の性能モデルによって算出された性能指標と、前記第1の処理要求が前記性能システムの前記ハードウェア層の性能モデルに対して発行されてから、当該ハードウェア層の性能モデルから前記処理完了通知が発行されるまでの所要時間と、の少なくとも何れかを提示することを特徴とする付記2に記載の性能予測装置。
(付記5)前記性能モデル合成手段は、前記連携システムの性能モデルとして、前記仮想化システムにおける前記ハードウェア層の性能モデルによって算出された性能指標と、前記第1の処理要求が前記性能システムの前記ハードウェア層の性能モデルに対して発行されてから、当該ハードウェア層の性能モデルから前記処理完了通知が発行されるまでの第1の所要時間と、前記第1の処理要求が前記性能システムの前記ハードウェア層の性能モデルに対して発行されてから、前記他の性能システムの前記ハードウェア層の性能モデルから前記処理完了通知が発行されるまでの第2の所要時間と、の少なくとも何れかを提示することを特徴とする付記2に記載の性能予測装置。
(付記6)前記ハードウェア層は、仮想マシンモニタと、物理マシンのハードウェアと、を含むことを特徴とする付記1から5の何れかに記載の性能予測装置。
(付記7)前記第2の性能モデル生成手段は、前記複数の仮想化システムの各々に対して計測を行い、当該計測に用いた入力値と、当該入力値に対応する、当該計測によって得られた出力値とに基づいて、仮想化システムにおける前記ハードウェア層の性能モデルを夫々生成する、ことを特徴とする付記1から6の何れかに記載の性能予測装置。
(付記8)前記第1の性能モデル生成手段の代わりに、あるいは、前記第1の性能モデル生成手段に加えて更に、各仮想マシンにて動作するアプリケーションの設計情報に基づき生成された、アプリケーション層の性能モデルを、仮想マシン毎に1つ以上格納している記憶手段から、特定の性能モデルを選択する、性能モデル特定手段を備えることを特徴とする、付記1から7の何れかに記載の性能予測装置。
(付記9)前記仮想化システムの計測に関わる設定値と、当該計測の実行命令を指定可能な第1の入力内容指定手段と、前記仮想化システムの設定値である入力値と、当該入力値に対応する出力値とを収集する第1の情報収集手段と、を更に備え、前記第2の性能モデル生成手段は、前記入力値と、前記出力値とに基づいて、前記ハードウェア層の性能モデルを生成することを特徴とする、付記1から8の何れかに記載の性能予測装置。
(付記10)前記性能予測装置は、前記複数の仮想化システムの各々に対して、前記第1の入力内容指定手段、前記第1の情報収集手段、および、前記第2の性能モデル生成手段を、夫々備える、ことを特徴とする、付記9に記載の性能予測装置。
(付記11)前記連携システムの計測に関わる設定値と、当該計測の実行命令を指定可能な第2の入力内容指定手段と、前記連携システムの設定値である入力値と、当該入力値に対応する出力値とを収集する第2の情報収集手段と、を更に備え、前記第3の性能モデル生成手段は、前記入力値と、前記出力値とに基づいて、前記ネットワーク部の性能モデルを生成することを特徴とする、付記1から10の何れかに記載の性能予測装置。
(付記12)複数の仮想化システムが互いにネットワーク部を介して連携している連携システムの性能を予測するための性能予測装置における性能モデル生成方法であって、前記複数の仮想化システムは、夫々、アプリケーション層とハードウェア層とを有し、前記性能モデル生成方法は、前記連携システムにおける各仮想化システムの仮想マシン上で動作する、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能モデルを、仮想化システムごとに生成し、前記連携システムにおける各仮想化システムを対象に計測した結果に基づいて、前記ハードウェア層の性能モデルを、仮想化システムごとに生成し、前記連携システムを対象に計測した結果に基づいて、前記ネットワーク部の性能モデルを生成し、前記複数の仮想化システムの夫々に含まれる前記アプリケーション層および前記ハードウェア層に対し、一方の層の性能モデルにおける出力値を、他方の層の性能モデルの入力値として利用すること、並びに、前記ハードウェア層の性能モデルにおける出力値が入力された前記ネットワーク部の性能モデルにおける出力値を、他の仮想化システムの前記ハードウェア層の性能モデルの入力値として利用することにより、該2層間の依存関係および仮想化システム間の依存関係が反映された、前記連携システムの性能モデルを生成する、ことを特徴とする性能モデル生成方法。
(付記13)複数の仮想化システムが互いにネットワーク部を介して連携している連携システムの性能を予測するための性能予測装置を含むコンピュータに実行させるプログラムであって、前記複数の仮想化システムは、夫々、アプリケーション層とハードウェア層とを有し、前記プログラムは、前記連携システムにおける各仮想化システムの仮想マシン上で動作する、アプリケーションに関する情報に基づいて、前記アプリケーション層の性能モデルを、仮想化システムごとに生成する処理と、前記連携システムにおける各仮想化システムを対象に計測した結果に基づいて、前記ハードウェア層の性能モデルを、仮想化システムごとに生成する処理と、前記連携システムを対象に計測した結果に基づいて、前記ネットワーク部の性能モデルを生成する処理と、前記複数の仮想化システムの夫々に含まれる前記アプリケーション層および前記ハードウェア層に対し、一方の層の性能モデルにおける出力値を、他方の層の性能モデルの入力値として利用する第1の合成処理、並びに、前記ハードウェア層の性能モデルにおける出力値が入力された前記ネットワーク部の性能モデルにおける出力値を、他の仮想化システムの前記ハードウェア層の性能モデルの入力値として利用する第2の合成処理により、該2層間の依存関係および仮想化システム間の依存関係が反映された、前記連携システムの性能モデルを生成する処理と、をコンピュータに実行させることを特徴とする、プログラム。
(付記14)付記13に記載のプログラムを記憶する、ことを特徴とするコンピュータ読み取り可能な記録媒体。