(57)【要約】【課題】分析対象の仮想マシンと動作傾向が類似する仮想マシンを探索すること。【解決手段】分析支援装置１０１は、第２の構成情報を参照して、第１の構成情報に基づいて、分析対象仮想マシンが動作する物理マシンＨｏｓｔＡと変更前後の構成が類似する第２の物理マシンとして物理マシンＨｏｓｔＢを探索する。物理マシンＨｏｓｔＢが探索された場合、分析支援装置１０１は、変更前後の第２の物理マシン上で動作する仮想マシンのうち第１の仮想マシンと変更前の動作情報が類似する第２の仮想マシンとなる類似仮想マシンを探索する。具体的に、分析支援装置１０１は、変更前後の物理マシンＨｏｓｔＢ上で動作する仮想マシンＧｕｅｓｔＣの動作情報１１１＿ＧＣのうちの変更前の動作情報と、仮想マシンＧｕｅｓｔＡの動作情報１１１＿ＧＡのうちの変更前の動作情報とが類似すると判断する。【選択図】図１
2015011362.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
分析対象となる第１の仮想マシンが動作する第１の物理マシン上で前記第１の仮想マシン以外の仮想マシンが変更された変更前後の前記第１の物理マシンの構成を特定する第１の構成情報に基づいて、前記第１の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の前記物理マシンの構成を特定する第２の構成情報を参照して、前記第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索し、
前記第２の物理マシンが探索された場合、変更前の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に基づいて、変更前の前記第２の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第２の物理マシン上で動作する仮想マシンのうち前記第１の仮想マシンと動作情報が類似する第２の仮想マシンを探索する、
処理を実行させることを特徴とする分析支援プログラム。
【請求項２】
前記コンピュータに、
前記第２の仮想マシンが探索された場合、変更後の前記第２の物理マシン上で動作する前記第２の仮想マシンの動作情報を出力する、
処理を実行させることを特徴とする請求項１に記載の分析支援プログラム。
【請求項３】
前記第１の仮想マシンの動作情報は、前記第１の仮想マシンが単位時間当たりに使用した前記第１の物理マシンのハードウェア資源の使用率を含み、
前記コンピュータに、
変更後の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に含まれる使用率の測定された期間が所定の期間未満であるか否かを判断する、処理を実行させ、
前記第２の物理マシンを探索する処理は、
変更後の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に含まれる使用率の測定された期間が前記所定の期間未満であると判断された場合、前記第１の構成情報に基づいて、前記第２の構成情報を参照して、前記第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索することを特徴とする請求項１または２に記載の分析支援プログラム。
【請求項４】
前記第２の物理マシン上で動作する仮想マシンの動作情報は、前記第２の物理マシン上で動作する仮想マシンが単位時間当たりに使用した前記第２の物理マシンのハードウェア資源の使用率を含み、
前記第２の仮想マシンを探索する処理は、
前記第２の物理マシンが探索された場合、変更前の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に基づいて、変更前後の前記第２の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第２の物理マシン上で動作する仮想マシンのうち前記第１の仮想マシンと動作情報が類似し、かつ、変更後の前記第２の物理マシン上で動作する仮想マシンの動作情報に含まれる使用率の測定された期間が前記所定の期間以上である第２の仮想マシンを探索することを特徴とする請求項３に記載の分析支援プログラム。
【請求項５】
前記コンピュータに、
前記第２の仮想マシンが探索された場合、変更前の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に含まれる使用率および変更前の前記第２の物理マシン上で動作する前記第２の仮想マシンの動作情報に含まれる使用率の差分と、変更後の前記第２の物理マシン上で動作する前記第２の仮想マシンの動作情報に含まれる使用率とに基づいて、変更後の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に含まれる利用率を算出する、
処理を実行させることを特徴とする請求項４に記載の分析支援プログラム。
【請求項６】
前記第１の構成情報は、前記第１の物理マシン上で変更された仮想マシンを特定する情報および変更内容の種別とを有しており、
前記第２の構成情報は、前記物理マシン上で変更された仮想マシンを特定する情報および変更内容の種別とを有しており、
前記第２の物理マシンを探索する処理は、
前記第１の構成情報に基づいて、前記第２の構成情報を参照して、前記第１の物理マシンと変更内容の種別が一致し、かつ、前記第１の物理マシン上で変更された仮想マシンの構成と変更後の前記第１の物理マシンの構成とが類似する物理マシンを探索することにより、前記第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索することを特徴とする請求項１〜５のいずれか一つに記載の分析支援プログラム。
【請求項７】
前記第１の構成情報は、変更前後の前記第１の物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別と、当該仮想マシンそれぞれに割り当てられたハードウェア資源の量と、前記第１の物理マシンが有するハードウェア資源の量とを含み、
前記第２の構成情報は、変更前後の前記物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別と、当該仮想マシンそれぞれに割り当てられたハードウェア資源と、前記物理マシンが有するハードウェア資源の量とを含み、
前記第２の物理マシンを探索する処理は、
前記第１の構成情報に基づいて、前記第２の構成情報を参照して、変更前後の前記第１の物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別が一致し、変更前後の前記第１の物理マシン上で動作する仮想マシンそれぞれに割り当てられたハードウェア資源の量が類似し、前記第１の物理マシンが有するハードウェア資源の量が類似する物理マシンを探索することにより、前記第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索することを特徴とする請求項１〜６のいずれか一つに記載の分析支援プログラム。
【請求項８】
前記コンピュータに、
前記物理マシン上で動作する仮想マシンの変更に応じて、変更後の前記物理マシンの構成に基づいて、前記第２の構成情報を更新する、処理を実行させ、
前記第２の物理マシンを探索する処理は、
前記第１の構成情報に基づいて、更新した前記第２の構成情報を参照して、前記第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索することを特徴とする請求項１〜７のいずれか一つに記載の分析支援プログラム。
【請求項９】
分析対象となる第１の仮想マシンが動作する第１の物理マシン上で前記第１の仮想マシン以外の仮想マシンが変更された変更前後の前記第１の物理マシンの構成を特定する第１の構成情報に基づいて、前記第１の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の前記物理マシンの構成を特定する第２の構成情報を参照して、前記第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索する第１探索部と、
前記第１探索部によって前記第２の物理マシンが探索された場合、変更前の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に基づいて、変更前の前記第２の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第２の物理マシン上で動作する仮想マシンのうち前記第１の仮想マシンと動作情報が類似する第２の仮想マシンを探索する第２探索部と、
を有することを特徴とする分析支援装置。
【請求項１０】
コンピュータが、
分析対象となる第１の仮想マシンが動作する第１の物理マシン上で前記第１の仮想マシン以外の仮想マシンが変更された変更前後の前記第１の物理マシンの構成を特定する第１の構成情報に基づいて、前記第１の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の前記物理マシンの構成を特定する第２の構成情報を参照して、前記第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索し、
前記第２の物理マシンが探索された場合、変更前の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に基づいて、変更前の前記第２の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第２の物理マシン上で動作する仮想マシンのうち前記第１の仮想マシンと動作情報が類似する第２の仮想マシンを探索する、
処理を実行することを特徴とする分析支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分析支援プログラム、分析支援装置、および分析支援方法に関する。
【背景技術】
【０００２】
従来、物理マシン上で動作する仮想マシンが使用したハードウェア資源の使用状況を分析する技術がある。分析結果の精度をある程度維持するには、分析対象となるデータとして、使用状況をある程度の期間以上測定したデータが要求される。物理マシン上で仮想マシンが追加されたり削除されたりすることにより、物理マシンの構成が変更される。
【０００３】
関連する先行技術として、たとえば、新規に構築される情報処理システムの構成に類似した情報処理システムに該当する情報処理装置の性能データを選択し、性能データに基づいて性能測定の対象となる情報処理システムの性能測定を行う技術がある。また、入力項目として入力されるパラメータと、システムモデルＤＢ（ＤａｔａＢａｓｅ）内のモデルパターン、システム特性、機能特性および応答時間予測モデル情報に従い、Ｗｅｂシステムの性能を予測する技術がある。さらに、コンピュータ・システムに含まれる複数のサーバの各々のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）使用率とコンピュータ・システムのユーザによるリクエスト頻度とを用いて、各サーバにおける平均遅延時間を推定する技術がある。さらに、仮想マシンの構成情報、リソースの稼働実績情報、およびリソースの不稼働情報に基づいて仮想マシンのリソースの適正値を算出し、算出したリソースの適正値に基づいて仮想マシンのマイグレーション指令をする技術がある。さらに、コンピュータ・システムを構成する構成要素が変更した構成変更後のＣＰＵ使用率、Ｉ／Ｏ負荷情報等を定期的に取得する技術がある。さらに、仮想マシンへの資源割り当て情報の履歴を有する技術がある。（たとえば、下記特許文献１〜６を参照。）
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１６５６７３号公報
【特許文献２】特開２００４−４６７３４号公報
【特許文献３】国際公開第２００６／４６２９７号
【特許文献４】特開２０１０−２７７２０８号公報
【特許文献５】特開２００３−６７３５２号公報
【特許文献６】国際公開第２００８／１３２９２４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術によれば、分析精度をある程度維持するデータが測定されていない仮想マシンの動作傾向を、他の仮想マシンの測定データを基に分析する場合、どの仮想マシンの測定データを基に分析すればよいのか判断することが難しい。
【０００６】
１つの側面では、本発明は、分析対象の仮想マシンと動作傾向が類似する仮想マシンを探索する分析支援プログラム、分析支援装置、および分析支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、分析対象となる第１の仮想マシンが動作する第１の物理マシン上で第１の仮想マシン以外の仮想マシンが変更された変更前後の第１の物理マシンの構成を特定する第１の構成情報に基づいて、第１の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の物理マシンの構成を特定する第２の構成情報を参照して、第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索し、第２の物理マシンが探索された場合、変更前の第１の物理マシン上で動作する第１の仮想マシンの動作情報に基づいて、変更前の第２の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の第２の物理マシン上で動作する仮想マシンのうち第１の仮想マシンと動作情報が類似する第２の仮想マシンを探索する分析支援プログラム、分析支援装置、および分析支援方法が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、分析対象の仮想マシンと動作傾向が類似する仮想マシンを探索することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施の形態にかかる分析支援方法の動作例を示す説明図である。
【図２】図２は、クラウドシステムの接続例を示す説明図である。
【図３】図３は、分析装置のハードウェア構成例を示すブロック図である。
【図４】図４は、分析装置の機能構成例を示すブロック図である。
【図５】図５は、物理マシン構成情報の記憶内容の一例を示す説明図である。
【図６】図６は、仮想マシン構成情報の記憶内容の一例を示す説明図である。
【図７】図７は、動作情報ログの記憶内容の一例を示す説明図である。
【図８】図８は、構成変更記録の記憶内容の一例を示す説明図である。
【図９】図９は、類似ケース一覧の生成例を示す説明図である。
【図１０】図１０は、類似ケース一覧から類似度一覧の作成例を示す説明図である。
【図１１】図１１は、類似度の算出例を示す説明図である。
【図１２】図１２は、物理マシンの類似度の算出例を示す説明図である。
【図１３】図１３は、仮想マシンの類似度の算出例を示す説明図である。
【図１４】図１４は、標準類似度の算出例を示す説明図である。
【図１５】図１５は、類似仮想マシンの選択例を示す説明図である。
【図１６】図１６は、推定値の算出例を示す説明図である。
【図１７】図１７は、分析対象仮想マシンと同じ構成情報、同じ構成変更を行った仮想マシンで分析する例を示す説明図である。
【図１８】図１８は、分析対象仮想マシンの構成変更前の動作情報の傾向が類似する仮想マシンで分析する例を示す説明図である。
【図１９】図１９は、分析処理手順の一例を示すフローチャートである。
【図２０】図２０は、推定実行有無判断処理手順の一例を示すフローチャートである。
【図２１】図２１は、類似仮想マシン探索処理手順の一例を示すフローチャートである。
【図２２】図２２は、類似度算出処理手順の一例を示すフローチャートである。
【図２３】図２３は、物理マシンの類似度算出処理手順の一例を示すフローチャートである。
【図２４】図２４は、動作傾向の類似度算出処理手順の一例を示すフローチャートである。
【図２５】図２５は、仮想マシンの類似度算出処理手順の一例を示すフローチャートである。
【図２６】図２６は、重要度算出処理手順の一例を示すフローチャートである。
【図２７】図２７は、標準類似度算出処理手順の一例を示すフローチャートである。
【図２８】図２８は、動作傾向の標準類似度算出処理手順の一例を示すフローチャートである。
【図２９】図２９は、類似仮想マシン選択処理手順の一例を示すフローチャートである。
【図３０】図３０は、推定動作情報作成処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、開示の分析支援プログラム、分析支援装置、および分析支援方法の実施の形態を詳細に説明する。
【００１１】
図１は、本実施の形態にかかる分析支援方法の動作例を示す説明図である。分析支援方法を実行する分析支援装置１０１は、システム１００内の仮想マシンの動作情報を分析する処理を支援するコンピュータである。システム１００は、物理マシンＨｏｓｔＡ〜ＨｏｓｔＺを含む。
【００１２】
物理マシンＨｏｓｔＡ〜ＨｏｓｔＺは、ハードウェア資源を用いて動作するコンピュータである。ハードウェア資源は、たとえば、ＣＰＵ、メモリ、ディスク等である。物理マシンＨｏｓｔＡ〜ＨｏｓｔＺは、仮想マシンＧｕｅｓｔＡ〜ＧｕｅｓｔＤを動作させる。
【００１３】
仮想マシンＧｕｅｓｔＡ〜ＧｕｅｓｔＤは、物理マシンＨｏｓｔＡ〜ＨｏｓｔＺのいずれか上で動作する仮想的なコンピュータである。たとえば、仮想マシンＧｕｅｓｔＡと仮想マシンＧｕｅｓｔＢは、物理マシンＨｏｓｔＡ上で動作する仮想的なコンピュータである。仮想マシンＧｕｅｓｔＡ〜ＧｕｅｓｔＤの実体は、たとえば、プログラムやＯＳなどのソフトウェア、ソフトウェアに与えられる変数、およびソフトウェアを実行させるために、仮想マシンに割り当てるハードウェア資源を指定する情報を含むものである。
【００１４】
仮想マシンで形成されるシステムを構築することにより、物理マシンで形成されるシステムよりも、ハードウェア資源を有効に活用することができる。システム１００内の仮想マシンを分析する分析装置は、仮想マシンが使用したハードウェア資源の使用率を含む動作情報を用いて、仮想マシンの動作傾向を分析する。以下、分析の対象となる仮想マシンを、「分析対象仮想マシン」と呼称する。分析した結果を用いて、分析装置は、分析対象仮想マシンを移動した方がよいことを提案したり、物理マシンの増加を提案したりする。
【００１５】
ここで、仮想マシン、物理マシンの構成は、クラウド環境が増加することにより、仮想マシンの追加、移動、削除といった構成変化が頻繁に行われる環境に変化している。このような構成変化が起こると仮想マシンの動作情報の傾向も変化するため、変更前の仮想マシンの動作情報と変更後の仮想マシンの動作情報とを含めて分析すると、正しい分析結果が得られない可能性があり、分析精度が劣化する。一方、変更前の仮想マシンの動作情報を用いずに、変更後の仮想マシンの動作情報を用いて分析する場合、十分なデータ量が得られない可能性があり、分析精度が劣化する。
【００１６】
そこで、分析支援装置１０１は、分析対象仮想マシンが動作する物理マシンと変更前後の仮想マシンの構成が類似する他の物理マシン上の仮想マシンから変更前の動作情報が分析対象仮想マシンと類似する仮想マシンを探索する。これにより、分析支援装置１０１は、変更後の分析対象の動作傾向を表すであろう仮想マシンを検出する。
【００１７】
図１において、物理マシンＨｏｓｔＡは、分析対象仮想マシンとなる仮想マシンＧｕｅｓｔＡと仮想マシンＧｕｅｓｔＢとを動作させており、構成変更により、仮想マシンＧｕｅｓｔＢが削除された状態である。仮想マシンＧｕｅｓｔＡは、仮想マシンに割り当てることが可能なＣＰＵ周波数のうち相対的に大きいＣＰＵ周波数が割り当てられており、仮想マシンに割り当てることが可能なメモリ量のうち相対的に大きいメモリ量が割り当てられている。仮想マシンＧｕｅｓｔＢは、仮想マシンに割り当てることが可能なＣＰＵ周波数のうち相対的に小さいＣＰＵ周波数が割り当てられており、仮想マシンに割り当てることが可能なメモリ量のうち相対的に大きいメモリ量が割り当てられている。仮想マシンの変更前後の物理マシンＨｏｓｔＡの構成と、変更前後の物理マシンＨｏｓｔＡ上で動作する仮想マシンの構成と、を特定する情報は、第１の構成情報として、分析支援装置１０１がアクセス可能な記憶領域内にある。第１の構成情報の具体的な記憶内容の例については、図８で後述する。
【００１８】
また、物理マシンＨｏｓｔＢは、仮想マシンＧｕｅｓｔＣと仮想マシンＧｕｅｓｔＤとを動作させており、構成変更により、仮想マシンＧｕｅｓｔＤが削除された状態である。また、仮想マシンＧｕｅｓｔＣは、仮想マシンに割り当てることが可能なＣＰＵ周波数のうち相対的に大きいＣＰＵ周波数が割り当てられており、仮想マシンに割り当てることが可能なメモリ量のうち相対的に大きいメモリ量が割り当てられている。仮想マシンＧｕｅｓｔＤは、仮想マシンに割り当てることが可能なＣＰＵ周波数のうち相対的に小さいＣＰＵ周波数が割り当てられており、仮想マシンに割り当てることが可能なメモリ量のうち相対的に大きいメモリ量が割り当てられている。仮想マシンの変更前後の物理マシンＨｏｓｔＢの構成と、変更前後の物理マシンＨｏｓｔＢ上で動作する仮想マシンの構成と、を特定する情報は、第２の構成情報として、分析支援装置１０１がアクセス可能な記憶領域内にある。第２の構成情報の具体的な記憶内容の例については、図８で後述する。
【００１９】
分析支援装置１０１は、第２の構成情報を参照して、第１の構成情報に基づいて、分析対象仮想マシンが動作する物理マシンＨｏｓｔＡと変更前後の構成が類似する第２の物理マシンを探索する。図１の例では、分析支援装置１０１は、第２の物理マシンとして、物理マシンＨｏｓｔＢを検出する。具体的に、分析支援装置１０１は、変更前の物理マシンの構成として、仮想マシンＧｕｅｓｔＡの構成および仮想マシンＧｕｅｓｔＣの構成と、仮想マシンＧｕｅｓｔＢの構成と仮想マシンＧｕｅｓｔＤの構成と、がそれぞれ類似すると判断する。また、分析支援装置１０１は、変更前の物理マシンの構成として、仮想マシンＧｕｅｓｔＡの構成および仮想マシンＧｕｅｓｔＣの構成がそれぞれ類似すると判断する。より具体的な類似の判断例については、図９で後述する。
【００２０】
物理マシンＨｏｓｔＢが探索された場合、分析支援装置１０１は、変更前後の第２の物理マシン上で動作する仮想マシンのうち第１の仮想マシンと変更前の動作情報が類似する第２の仮想マシンとなる類似仮想マシンを探索する。具体的に、分析支援装置１０１は、変更前の仮想マシンＧｕｅｓｔＡの動作情報に基づいて、変更前の物理マシンＨｏｓｔＢ上で動作する仮想マシンの動作情報を参照して、類似仮想マシンを探索する。
【００２１】
図１の例では、分析支援装置１０１は、変更前後の物理マシンＨｏｓｔＢ上で動作するＧｕｅｓｔＣの動作情報１１１＿ＧＣのうちの変更前の動作情報と、仮想マシンＧｕｅｓｔＡの動作情報１１１＿ＧＡのうちの変更前の動作情報とが類似すると判断する。図１上では、動作情報１１１＿ＧＣのうちの変更前の動作情報の変化の傾向と、動作情報１１１＿ＧＡのうちの変更前の動作情報の変化の傾向が一致していることを示す。より具体的な類似の判断例は、図１０〜図１５で後述する。
【００２２】
（クラウドシステムの説明）
次に、図１に示したシステム１００をクラウドシステムに適用した場合について説明する。クラウドシステムでは、分析支援装置１０１を、仮想マシンを分析する装置に適用している。
【００２３】
図２は、クラウドシステムの接続例を示す説明図である。クラウドシステム２００は、管理者端末２０１と、構成管理サーバ２０２と、クラウド環境２０３と、分析装置２０４と、を有する。管理者端末２０１〜分析装置２０４は、ネットワーク２１０によりそれぞれ接続される。構成管理サーバ２０２は、物理マシン構成情報２１１と、仮想マシン構成情報２１２とを有する。クラウド環境２０３は、物理マシンＨｏｓｔＡ〜ＨｏｓｔＺを含む。分析装置２０４は、動作情報ログ２２１を有する。
【００２４】
管理者端末２０１は、クラウドシステム２００を管理する管理者によって操作される装置である。具体的に、管理者端末２０１は、管理者の操作によってクラウドシステム２００内の、分析対象となる分析対象仮想マシンの分析要求を発行し、分析結果を表示する。
【００２５】
構成管理サーバ２０２は、クラウドシステム２００の物理マシンＨｏｓｔＡ〜ＨｏｓｔＺを管理する装置である。具体的に、構成管理サーバ２０２は、物理マシンＨｏｓｔＡ〜ＨｏｓｔＺに対して、仮想マシンとなる仮想マシンの追加、仮想マシンの削除、仮想マシンの移動を指示する。物理マシンＨｏｓｔＡ〜ＨｏｓｔＺへの指示後、構成管理サーバ２０２は、物理マシン構成情報２１１と、仮想マシン構成情報２１２とを更新する。物理マシン構成情報２１１の記憶内容の一例については、図５で後述する。仮想マシン構成情報２１２の記憶内容の一例については、図６で後述する。
【００２６】
クラウド環境２０３は、物理マシンＨｏｓｔＡ〜ＨｏｓｔＺを有する。物理マシンＨｏｓｔＡ〜ＨｏｓｔＺは、それぞれ、仮想マシンを実行する。クラウド環境２０３に含まれる物理マシンＨｏｓｔＡ〜ＨｏｓｔＺは、クラウドシステム２００に接続する利用者端末からアクセスされる。仮想マシンは、定期的に、動作情報として、ＣＰＵ使用率と、メモリ使用率と、ディスクビジー率と、トランザクション数と、を収集して、分析装置２０４に格納する。
【００２７】
分析装置２０４は、動作情報ログ２２１に基づいて、クラウドシステム２００におけるある仮想マシンの動作情報の分析を行う装置である。動作情報ログ２２１の記憶内容の一例は、図７で後述する。動作情報ログ２２１に分析を行えるだけの情報がない場合、分析装置２０４は、物理マシンＨｏｓｔＡ〜ＨｏｓｔＺ上で実行される仮想マシンのうち、分析対象仮想マシンに類似する類似仮想マシンを探索する。類似仮想マシンを検出できた場合、分析装置２０４は、類似仮想マシンに対して性能の分析を行う。
【００２８】
（分析装置２０４のハードウェア）
図３は、分析装置のハードウェア構成例を示すブロック図である。図３では、分析装置２０４のハードウェア構成例を説明する。図３において、分析装置２０４は、ＣＰＵ３０１と、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、を含む。また、分析装置２０４は、ディスクドライブ３０４およびディスク３０５と、通信インターフェース３０６と、を含む。また、ＣＰＵ３０１〜通信インターフェース３０６はバス３０７によってそれぞれ接続される。
【００２９】
ＣＰＵ３０１は、分析装置２０４の全体の制御を司る演算処理装置である。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される揮発性メモリである。
【００３０】
ディスクドライブ３０４は、ＣＰＵ３０１の制御に従ってディスク３０５に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ３０４には、たとえば、磁気ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する不揮発性メモリである。たとえばディスクドライブ３０４が磁気ディスクドライブである場合、ディスク３０５には、磁気ディスクを採用することができる。また、ディスクドライブ３０４がソリッドステートドライブである場合、ディスク３０５には、半導体素子メモリを採用することができる。
【００３１】
通信インターフェース３０６は、ネットワーク２１０と内部のインターフェースを司り、他の装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース３０６は、通信回線を通じてネットワーク２１０を介して他の装置に接続される。通信インターフェース３０６には、たとえば、モデムやＬＡＮアダプタなどを採用することができる。
【００３２】
また、構成管理サーバ２０２、物理マシンＨｏｓｔＡ〜ＨｏｓｔＺも、分析装置２０４と同様のハードウェア構成を有する。管理者端末２０１は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ディスクドライブ、ディスク、キーボード、マウスを有する。
【００３３】
（分析装置２０４の機能構成）
次に、分析装置２０４の機能構成について説明する。図４は、分析装置の機能構成例を示すブロック図である。分析装置２０４は、判断部４０１と、第１探索部４０２と、第２探索部４０３と、出力部４０４と、算出部４０５と、更新部４０６と、を含む。制御部となる判断部４０１〜更新部４０６は、記憶装置に記憶されたプログラムをＣＰＵ３０１が実行することにより、判断部４０１〜更新部４０６の機能を実現する。記憶装置とは、具体的には、たとえば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などである。
【００３４】
また、分析装置２０４は、構成情報群４１０と、動作情報ログ２２１とにアクセス可能である。構成情報群４１０は、物理マシン構成情報２１１と、仮想マシン構成情報２１２と、構成変更記録２２２とを含む。
【００３５】
第１の構成情報は、分析対象となる第１の仮想マシンが動作する第１の物理マシン上で第１の仮想マシン以外の仮想マシンが変更された変更前後の第１の物理マシンの構成を特定する情報である。また、第１の構成情報は、第１の物理マシン上で変更された仮想マシンを特定する情報および変更内容の種別とを含んでもよい。第１の物理マシン上で変更された仮想マシンを特定する情報および変更内容の種別は、構成変更記録２２２に記録される。さらに、第１の構成情報は、変更前後の第１の物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別と、当該仮想マシンそれぞれに割り当てられたハードウェア資源の量と、第１の物理マシンが有するハードウェア資源の量とを含んでもよい。仮想マシンそれぞれが実行するソフトウェアの種別は、仮想マシン構成情報２１２に記憶される。
【００３６】
第２の構成情報は、第１の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の物理マシンの構成を特定する情報である。また、第２の構成情報は、物理マシン上で変更された仮想マシンを特定する情報および変更内容の種別とを含んでもよい。第２の構成情報は、変更前後の物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別と、当該仮想マシンそれぞれに割り当てられたハードウェア資源と、物理マシンが有するハードウェア資源の量と含む。
【００３７】
第１の仮想マシンの動作情報は、第１の仮想マシンが単位時間当たりに使用した第１の物理マシンのハードウェア資源の使用率を含む。ハードウェア資源の使用率は、ＣＰＵ使用率、メモリ使用率、ディスクビジー率等である。
【００３８】
第２の物理マシン上で動作する仮想マシンの動作情報は、第２の物理マシン上で動作する仮想マシンが単位時間当たりに使用した第２の物理マシンのハードウェア資源の使用率を含む。
【００３９】
判断部４０１は、変更後の第１の物理マシン上で動作する第１の仮想マシンの動作情報に含まれる使用率の測定された期間が所定の期間以上であるか否かを判断する。所定の期間としては、たとえば、１日、１週間等である。なお、判断結果は、ＲＡＭ３０３、ディスク３０５などの記憶領域に記憶される。
【００４０】
第１探索部４０２は、第１の構成情報に基づいて、第２の構成情報を参照して、第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索する。また、第１探索部４０２は、判断部４０１によって変更後の第１の物理マシン上で動作する第１の仮想マシンの動作情報に含まれる使用率の測定された期間が所定の期間未満であると判断された場合に、第２の物理マシンを探索してもよい。
【００４１】
また、第１探索部４０２は、第１の構成情報に基づいて、第２の構成情報を参照して、第１の物理マシンと変更内容の種別が一致し、かつ、第１の物理マシン上で変更された仮想マシンの構成と変更後の第１の物理マシンの構成とが類似する物理マシンを探索する。探索結果を用いることにより、第１探索部４０２は、第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索してもよい。
【００４２】
また、第１探索部４０２は、第１の構成情報に基づいて、第２の構成情報を参照して、次に示す３つの条件を満たす物理マシンを探索することにより、第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索してもよい。第１の条件は、変更前後の第１の物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別が一致することである。第２の条件は、変更前後の第１の物理マシン上で動作する仮想マシンそれぞれに割り当てられたハードウェア資源の量が類似することである。第３の条件は、第１の物理マシンが有するハードウェア資源の量が類似することである。
【００４３】
また、第１探索部４０２は、第１の構成情報に基づいて、更新部４０６が更新した第２の構成情報を参照して、第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索してもよい。なお、第２の物理マシンを特定する情報は、ＲＡＭ３０３、ディスク３０５などの記憶領域に記憶される。
【００４４】
第２探索部４０３は、第１探索部４０２によって第２の物理マシンが探索された場合、変更前の第１の仮想マシンの動作情報に基づいて、変更前の第２の物理マシン上で動作する仮想マシンの動作情報を参照して、類似仮想マシンを探索する。
【００４５】
また、第２探索部４０３は、変更前後の第２の物理マシン上で動作する仮想マシンのうち第１の仮想マシンと動作情報が類似し、かつ、変更後の仮想マシンの動作情報に含まれる使用率の測定された期間が所定の期間以上である類似仮想マシンを探索してもよい。なお、類似仮想マシンを特定する情報は、ＲＡＭ３０３、ディスク３０５などの記憶領域に記憶される。
【００４６】
出力部４０４は、第２探索部４０３によって類似仮想マシンが探索された場合、変更後の第２の物理マシン上で動作する類似仮想マシンの動作情報を出力する。出力結果は、分析装置２０４内の、分析処理を行うプログラムに通知されてもよいし、管理者端末２０１に送信されてもよい。
【００４７】
算出部４０５は、第２探索部４０３によって類似仮想マシンが探索された場合、変更前の第１の仮想マシンの動作情報に含まれる使用率および変更前の類似仮想マシンの動作情報に含まれる使用率の差分を算出する。そして、算出部４０５は、差分と、変更後の第２の物理マシン上で動作する類似仮想マシンの動作情報に含まれる使用率とに基づいて、変更後の第１の仮想マシンの動作情報に含まれる利用率を算出する。
【００４８】
たとえば、算出部４０５は、変更前の第１の仮想マシンの動作情報に含まれる使用率の平均値から、変更前の類似仮想マシンの動作情報に含まれる使用率の平均値を減じた差を算出する。そして、算出部４０５は、変更後の第２の物理マシン上で動作する類似仮想マシンの動作情報に含まれる使用率に差を加えることにより、変更後の第１の仮想マシンの動作情報に含まれる利用率を算出する。
【００４９】
また、算出部４０５は、変更前の類似仮想マシンの動作情報に含まれる使用率の平均値から、変更前の第１の仮想マシンの動作情報に含まれる使用率を減じた差を算出する。そして、算出部４０５は、変更後の第２の物理マシン上で動作する類似仮想マシンの動作情報に含まれる使用率から差を減じることにより、変更後の第１の仮想マシンの動作情報に含まれる利用率を算出してもよい。また、算出部４０５は、後述する図１６による手順により変更後の第１の仮想マシンの動作情報に含まれる利用率を算出してもよい。なお、算出した使用率は、ＲＡＭ３０３、ディスク３０５などの記憶領域に記憶される。
【００５０】
更新部４０６は、物理マシン上で動作する仮想マシンの変更に応じて、変更後の物理マシンの構成に基づいて、第２の構成情報を更新する。
【００５１】
図５は、物理マシン構成情報の記憶内容の一例を示す説明図である。図５に示す物理マシン構成情報２１１は、レコード５０１−１〜レコード５０１−３を記憶する。
【００５２】
物理マシン構成情報２１１は、物理マシンＩＤと、ＣＰＵ動作周波数と、ＣＰＵコア数と、メモリ量と、ディスク容量と、という５つのフィールドを含む。物理マシンＩＤフィールドには、物理マシンを識別するＩＤが格納される。ＣＰＵ動作周波数フィールドには、物理マシンが有するＣＰＵの動作周波数が格納される。ＣＰＵコア数フィールドには、物理マシンが有するＣＰＵの個数が格納される。メモリ量フィールドには、物理マシンが有するメモリ量が格納される。ディスク容量フィールドには、物理マシンが有するディスク容量が格納される。
【００５３】
たとえば、レコード５０１−１は、ＩＤがＨｏｓｔＡとなる物理マシンが、動作周波数が３．０［ＧＨｚ］のＣＰＵを８個有するとともに、１６［ＧＢ］のメモリと１［ＴＢ］のディスクを有することを示す。以下、ＨｏｓｔＸは、物理マシンであるとする。Ｘは、数字またはアルファベットで形成される文字列である。
【００５４】
図６は、仮想マシン構成情報の記憶内容の一例を示す説明図である。図６に示す仮想マシン構成情報２１２は、レコード６０１−１〜レコード６０１−７を記憶する。
【００５５】
仮想マシン構成情報２１２は、仮想マシンＩＤと、ＣＰＵ動作周波数と、ＣＰＵコア数と、メモリ量と、ディスク容量と、仮想マシンの役割と、いう６つのフィールドを含む。仮想マシンＩＤフィールドには、仮想マシンを識別するＩＤが格納される。ＣＰＵ動作周波数フィールドには、仮想マシンが要求するＣＰＵの動作周波数が格納される。ＣＰＵコア数フィールドには、仮想マシンが要求するＣＰＵの個数が格納される。メモリ量フィールドには、仮想マシンが要求するメモリ量が格納される。ディスク容量フィールドには、仮想マシンが要求するディスク容量が格納される。
【００５６】
仮想マシンの役割フィールドには、仮想マシンが実行するソフトウェアの種別によって決まる役割が格納される。仮想マシンの役割フィールドには、たとえば、以下の３つの識別子が格納される。第１の識別子は、仮想マシンがデータベースサーバソフトウェアを実行することにより、仮想マシンがデータベースサーバとして使用されることを示す“ＤＢサーバ”である。第２の識別子は、仮想マシンがＷｅｂサーバソフトウェアを実行することにより、仮想マシンがＷｅｂサーバとして使用されることを示す“Ｗｅｂサーバ”である。第３の識別子は、仮想マシンがサーバ用アプリケーションを実行することにより、仮想マシンがアプリケーションサーバとして使用されることを示す“ＡＰサーバ”である。
【００５７】
たとえば、レコード６０１−１は、ＩＤがＧｕｅｓｔ０であり、ＤＢサーバとして使用される仮想マシンが、動作周波数が１［ＧＨｚ］となるＣＰＵを１個要求するとともに、１［ＧＢ］のメモリと５００［ＧＢ］のディスクを要求することを示す。以下、ＧｕｅｓｔＸは、仮想マシンであるとする。Ｘは、数字またはアルファベットで形成される文字列である。
【００５８】
図７は、動作情報ログの記憶内容の一例を示す説明図である。図７に示す動作情報ログ２２１は、レコード７０１−１〜レコード７０１−４を記憶する。動作情報ログ２２１は、時刻と、マシンＩＤと、ＣＰＵ使用率と、メモリ使用率と、ディスクビジー率と、トランザクション数と、いう６つのフィールドを含む。
【００５９】
時刻フィールドには、動作情報を記録した日時を示す値が格納される。マシンＩＤフィールドには、動作情報の対象となる物理マシンまたは仮想マシンのＩＤが格納される。ＣＰＵ使用率フィールドには、動作情報の対象となるマシンが使用したＣＰＵの使用率を測定した値が格納される。メモリ使用率フィールドには、動作情報の対象となるマシンが使用したメモリの使用率を測定した値が格納される。
【００６０】
動作情報の対象が仮想マシンである場合、ＣＰＵ使用率フィールドに格納される値は、物理マシン構成情報２１１に記憶された物理マシンのＣＰＵコア数に対して仮想マシンがＣＰＵを使用した割合である。または、ＣＰＵ使用率フィールドに格納される値は、仮想マシン構成情報２１２に記憶された仮想マシンのＣＰＵコア数に対して仮想マシンがＣＰＵを使用した割合でもよい。メモリ使用率についても同様である。
【００６１】
ディスクビジー率フィールドには、動作情報の対象となるマシンがディスクにアクセスすることにより発生したアクセス待ちの割合が格納される。トランザクション数フィールドには、クラウド環境２０３にアクセスする利用者端末によってアクセスされた回数が格納される。
【００６２】
たとえば、レコード７０１−１は、時刻“２０１２／１１／１０  ０：００”において、Ｇｕｅｓｔ１が、ＣＰＵ使用率が４０［％］であり、メモリ使用率が３０［％］であり、ディスクビジー率が４０［％］であり、トランザクション数が１０であることを示す。
【００６３】
図８は、構成変更記録の記憶内容の一例を示す説明図である。図８に示す構成変更記録２２２は、レコード８０１−１〜レコード８０１−７を記憶する。
【００６４】
構成変更記録２２２は、ケースＩＤと、物理マシンＩＤ１と、仮想マシンＩＤリスト１と、物理マシンＩＤ２と、仮想マシンＩＤリスト２と、変更仮想マシンＩＤと、変更内容と、日時と、いう８つのフィールドを含む。ケースＩＤフィールドには、仮想マシンの構成が変更された状態を１つのケースとして、各ケースを識別するＩＤが格納される。物理マシンＩＤ１フィールドには、仮想マシンの構成が変更された際の物理マシンのＩＤが格納される。仮想マシンＩＤリスト１フィールドには、仮想マシンの構成が変更された際の物理マシンＩＤ１フィールドに格納された物理マシン上で動作する仮想マシンのＩＤの一覧が格納される。なお、仮想マシンＩＤリスト１フィールドには、仮想マシンの構成が変更された際の変更の対象となる仮想マシンのＩＤは含まれない。
【００６５】
物理マシンＩＤ２フィールドには、仮想マシンの構成が変更された際の物理マシンが格納される。物理マシンＩＤ２フィールドは、変更内容の種別が“移動”である場合に情報が格納される。仮想マシンＩＤリスト２フィールドには、仮想マシンの構成が変更された際の物理マシンＩＤ２フィールドに格納された物理マシン上で動作する仮想マシンのＩＤの一覧が格納される。なお、仮想マシンＩＤリスト２フィールドには、仮想マシンの構成が変更された際の変更の対象となる仮想マシンのＩＤは含まれない。
【００６６】
変更仮想マシンＩＤフィールドには、仮想マシンの構成が変更された際の変更の対象となる仮想マシンのＩＤが格納される。変更内容フィールドには、変更内容の種別が格納される。変更内容の種別として、仮想マシンが削除されたことを示す“削除”と、仮想マシンが追加されたことを示す“追加”と、仮想マシンがある物理マシンから他の物理マシンに移動されたことを示す“移動”と、がある。日時フィールドには、仮想マシンの構成が変更された時点の日時が格納される。
【００６７】
たとえば、レコード８０１−１は、ＨｏｓｔＡ上でＧｕｅｓｔ０とＧｕｅｓｔ１とＧｕｅｓｔ２とが動作する状態において、２０１２／９／１０  ２０：００に、Ｇｕｅｓｔ０が削除されたことを示す。また、レコード８０１−２は、ＨｏｓｔＡ上でＧｕｅｓｔ１とＧｕｅｓｔ２とが動作する状態において、２０１２／１０／１０  １５：００に、Ｇｕｅｓｔ３が追加されたことを示す。また、レコード８０１−５は、ＨｏｓｔＣ上でＧｕｅｓｔ７とＧｕｅｓｔ９とが動作する状態において、２０１２／１０／１５  ２３：００に、Ｇｕｅｓｔ８が動作するＨｏｓｔＤにＧｕｅｓｔ９が移動したことを示す。
【００６８】
なお、クラウド環境２０３内において、仮想マシンの構成変更は頻繁に発生するため、全ての仮想マシンの構成変更を記憶するとなると、構成変更記録２２２が記憶する記憶量が膨大となる。そこで、構成変更記録２２２は、各物理マシンの構成変更について、直近の１０件ずつを記憶する等、限られたレコード数を記憶してもよい。新しい構成変更を記憶する理由として、クラウド環境２０３全体の環境変化が与える各仮想マシンの性能情報への影響を最小にするためである。クラウド環境２０３全体の環境変化として、たとえば、物理マシンの追加、物理マシンの削除、クラウド環境２０３内のネットワーク等の変更、経済活動の節目や利用者の推移によって変化する仮想マシンの稼働率等がある。
【００６９】
分析対象仮想マシンがＧｕｅｓｔＺ１である場合、前述した第１の構成情報は、レコード８０１−７と、レコード５０１−３と、レコード６０１−５〜レコード６０１−７となる。また、第２の物理マシンがＨｏｓｔＡである場合、前述した第２の構成情報は、レコード８０１−２と、レコード５０１−１と、レコード６０１−２〜レコード６０１−４となる。
【００７０】
次に、図９〜図１５を用いて、図５〜図８で説明した記憶内容から、類似仮想マシンを探索する手順について説明する。図９〜図１５では、分析対象となる仮想マシンが、ＧｕｅｓｔＺ１であるとして、説明を行う。
【００７１】
図９は、類似ケース一覧の生成例を示す説明図である。分析装置２０４は、構成変更記録２２２を参照して、次に示す情報が一致するケースを探索する。次に示す情報は、以下の（情報１）〜（情報６）である。
【００７２】
（情報１）：物理マシンＩＤ１フィールドに格納された物理マシンの構成情報
（情報２）：仮想マシンＩＤリスト１フィールドに格納された各仮想マシンの構成情報
（情報３）：物理マシンＩＤ２フィールドに格納された物理マシンの構成情報
（情報４）：仮想マシンＩＤリスト２フィールドに格納された各仮想マシンの構成情報
（情報５）：変更仮想マシンＩＤフィールドに格納された仮想マシンの構成情報
（情報６）：変更内容フィールドに格納された変更内容の種別
【００７３】
（情報１）について、クラウド環境２０３内の物理マシンの構成は、似たような構成となり易く、一般的には、高性能な構成と、中程度の性能となる構成と、低性能な構成と、いう３種類に大別され、一致する物理マシンが存在する可能性が高い。また、（情報１）〜（情報５）について、分析装置２０４は、完全一致でなく、たとえば、ハードウェア資源の量が一定の差以内であれば、一致すると判断してもよい。
【００７４】
たとえば、分析装置２０４は、比較元ケースとなるレコード８０１−７を参照して、ＧｕｅｓｔＺ１がＨｏｓｔＺに含まれることを特定する。そして、分析装置２０４は、レコード８０１−７の上述した６つのフィールドに格納された情報について、構成変更記録２２２のレコードのうち、上述した６つのフィールドに格納された情報が一致するレコードがあるかを探索する。
【００７５】
図９の例では、分析装置２０４は、レコード８０１−２におけるＣａｓｅ２と、レコード８０１−４におけるＣａｓｅ３とについて、（情報１）〜（情報６）が一致すると判断する。以下、レコード８０１−７とレコード８０１−２とについて、（情報１）〜（情報６）が一致すると判断する例を示す。
【００７６】
（情報１）について、分析装置２０４は、物理マシン構成情報を参照して、物理マシンＩＤ１フィールドに格納されたＨｏｓｔＡの構成情報と、ＨｏｓｔＺの構成情報が同一であると判断する。同様に、（情報２）について、分析装置２０４は、仮想マシン構成情報を参照して、Ｇｕｅｓｔ１の構成情報とＧｕｅｓｔＺ１の構成情報とが同一であり、Ｇｕｅｓｔ２の構成情報とＧｕｅｓｔＺ２の構成情報とが同一であると判断する。（情報３）と（情報４）について、分析装置２０４は、レコード８０１−２およびレコード８０１−７それぞれについて、物理マシンＩＤ２フィールドと仮想マシンＩＤリスト２フィールドとに値が入っていないため、同一であると判断する。（情報５）について、分析装置２０４は、仮想マシン構成情報を参照して、Ｇｕｅｓｔ３の構成情報と、ＧｕｅｓｔＺ３の構成情報とが同一であると判断する。（情報６）について、分析装置２０４は、レコード８０１−２の変更内容が“追加”であり、レコード８０１−７の変更内容が“追加”であるため、同一であると判断する。
【００７７】
（情報１）〜（情報６）が一致する場合、分析装置２０４は、探索して、一致するケースのケースＩＤを類似ケース一覧９０１に登録する。図９の例では、分析装置２０４は、レコード９０１−１に、“Ｃａｓｅ２”を格納し、レコード９０１−２に、“Ｃａｓｅ３”を格納する。
【００７８】
以下、比較元ケースの物理マシンＩＤ１フィールドまたは物理マシンＩＤ２フィールドにより特定される物理マシンを、「比較元物理マシン」と呼称する場合がある。さらに、比較元ケースの仮想マシンＩＤリスト１フィールドまたは仮想マシンＩＤリスト２フィールドにより特定される仮想マシンを、「比較元仮想マシン」と呼称する場合がある。また、（情報１）〜（情報６）が一致したケースを、「比較先候補ケース」と呼称する場合がある。さらに、比較先候補ケースの物理マシンＩＤ１フィールドまたは物理マシンＩＤ２フィールドにより特定される物理マシンを、「比較先候補物理マシン」と呼称する場合がある。さらに、比較先候補ケースの仮想マシンＩＤリスト１フィールドまたは仮想マシンＩＤリスト２フィールドにより特定される仮想マシンを、「比較先候補仮想マシン」と呼称する場合がある。
【００７９】
図１０は、類似ケース一覧から類似度一覧の作成例を示す説明図である。分析装置２０４は、類似ケース一覧９０１と、物理マシン構成情報と、仮想マシン構成情報とを参照して、類似度一覧１００１を作成する。
【００８０】
図１０に示す類似度一覧１００１は、候補Ｎｏと、ケースＩＤと、物理マシンＩＤ１と、仮想マシンＩＤ１と、仮想マシンＩＤ２と、類似度と、いう６つのフィールドを含む。ここで、仮想マシンＩＤフィールドの個数は、比較元ケースとなるケースＩＤの仮想マシンＩＤリスト１フィールドに格納された仮想マシンの個数に依存する。図１０の例では、比較元ケースとなるケースＩＤが“ＣａｓｅＺ”であり、仮想マシンＩＤリスト１フィールドに格納された仮想マシンの個数が２個であるため、仮想マシンＩＤ１フィールドと、仮想マシンＩＤ２フィールドとを有する。また、物理マシンＩＤフィールドと仮想マシンＩＤフィールドの個数は、比較元となるケースＩＤの変更内容の種別にも依存する。
【００８１】
具体的に、比較元ケースとなるケースＩＤの変更内容の種別が“追加”、または“削除”であれば、物理マシンＩＤフィールドの個数は１個であり、仮想マシンＩＤフィールドの個数は仮想マシンＩＤリスト１フィールドに格納された仮想マシンの個数となる。一方、比較元となるケースＩＤの変更内容の種別が“移動”であれば、物理マシンＩＤフィールドの個数は２個である。そして、仮想マシンＩＤフィールドの個数は仮想マシンＩＤリスト１フィールドと仮想マシンＩＤリスト２フィールドとに格納された仮想マシンの個数の合計となる。
【００８２】
候補Ｎｏフィールドには、類似度一覧１００１のレコードを識別するＩＤが格納される。ケースＩＤフィールドには、先頭のレコードでは、比較元となるケースＩＤが格納され、２番目以降のレコードでは、比較先候補となるケースＩＤが格納される。物理マシンＩＤ１フィールドには、ケースＩＤに対応する物理マシンのＩＤが格納される。仮想マシンＩＤ１フィールドには、ケースＩＤに対応する仮想マシンＩＤリストのうちの１番目の仮想マシンＩＤが格納される。仮想マシンＩＤ２フィールドには、ケースＩＤに対応する仮想マシンＩＤリストのうちの２番目の仮想マシンＩＤが格納される。類似度フィールドには、先頭のレコードでは、標準類似度が格納され、２番目以降のレコードでは、類似度が格納される。類似度については、図１１で後述する。標準類似度については、図１４で後述する。
【００８３】
まず、分析装置２０４は、“ＣａｓｅＺ”を候補Ｎｏ０として、レコード１００１−１に格納する。レコード１００１−１の内容として、分析装置２０４は、物理マシンＩＤ１フィールドに“ＨｏｓｔＺ”を格納し、仮想マシンＩＤ１フィールドに“ＧｕｅｓｔＺ１”を格納し、仮想マシンＩＤ２フィールドに“ＧｕｅｓｔＺ２”を格納する。
【００８４】
次に、分析装置２０４は、候補Ｎｏ１から順に、仮想マシンの役割が同じ仮想マシン同士を関連付ける。“ＣａｓｅＺ”の仮想マシンＩＤ１フィールドと仮想マシンＩＤ２フィールドに格納されたＧｕｅｓｔＺ１とＧｕｅｓｔＺ２との役割は、仮想マシン構成情報２１２によると、ともにＷｅｂサーバである。また、“Ｃａｓｅ２”の仮想マシンＩＤ１フィールドと仮想マシンＩＤ２フィールドに格納されたＧｕｅｓｔ１とＧｕｅｓｔ２との役割は、仮想マシン構成情報２１２によると、ともにＷｅｂサーバである。
【００８５】
したがって、以下に示す２つの関連付け方が存在する。第１の関連付け方は、図１０の（Ａ）で示すように、ＧｕｅｓｔＺ１とＧｕｅｓｔ１とを関連付けるとともに、ＧｕｅｓｔＺ２とＧｕｅｓｔ２とを関連付けることである。第２の関連付け方は、図１０の（Ｂ）で示すように、ＧｕｅｓｔＺ１とＧｕｅｓｔ２とを関連付けるとともに、ＧｕｅｓｔＺ２とＧｕｅｓｔ１とを関連付けることである。分析装置２０４は、第１の関連付け方を、レコード１００１−２で示す候補Ｎｏ１として類似度一覧１００１に登録するとともに、第２の関連付け方を、レコード１００１−３で示す候補Ｎｏ２として類似度一覧１００１に登録する。
【００８６】
同様に、分析装置２０４は、Ｃａｓｅ３について、ＧｕｅｓｔＺ１とＧｕｅｓｔ４とを関連付けるとともに、ＧｕｅｓｔＺ２とＧｕｅｓｔ５とを関連付けたものをレコード１００１−４で示す候補Ｎｏ３として類似度一覧１００１に登録する。また、分析装置２０４は、Ｃａｓｅ３について、ＧｕｅｓｔＺ１とＧｕｅｓｔ５とを関連付けるとともに、ＧｕｅｓｔＺ２とＧｕｅｓｔ４とを関連付けたものをレコード１００１−５で示す候補Ｎｏ４として類似度一覧１００１に登録する。
【００８７】
図１１は、類似度の算出例を示す説明図である。分析装置２０４は、類似度一覧１００１のレコード１００１−２〜レコード１００１−５に対して、類似度を算出する。分析装置２０４は、下記（１）式を用いて類似度を算出する。
【００８８】
類似度＝物理マシンの類似度（比較元物理マシン，比較先候補物理マシン）＋Σ仮想マシンの類似度（比較元仮想マシンｎ，比較先候補仮想マシンｎ）  …（１）
【００８９】
物理マシンの類似度は、図１２で後述する。仮想マシンの類似度は、図１３で後述する。ｎは、１から類似度一覧１００１の仮想マシンＩＤフィールドの個数までの整数である。レコード１００１−２を例にすると、分析装置２０４は、候補Ｎｏ１の類似度を、（１）式を用いて以下のように算出する。
【００９０】
候補Ｎｏ１の類似度＝物理マシンの類似度（ＨｏｓｔＺ，ＨｏｓｔＡ）＋仮想マシンの類似度（ＧｕｅｓｔＺ１，Ｇｕｅｓｔ１）＋仮想マシンの類似度（ＧｕｅｓｔＺ２，Ｇｕｅｓｔ２）
【００９１】
分析装置２０４は、算出した候補Ｎｏ１の類似度を、レコード１００１−２の類似度フィールドに格納する。
【００９２】
図１２は、物理マシンの類似度の算出例を示す説明図である。分析装置２０４は、下記（２）式を用いて、物理マシンの類似度を算出する。
【００９３】
物理マシンの類似度（比較元物理マシン，比較先候補物理マシン）＝ＣＰＵ使用率に対する動作傾向の類似度＋メモリ使用率に対する動作傾向の類似度＋ディスクビジー率に対する動作傾向の類似度  …（２）
【００９４】
動作傾向の類似度は、物理マシンが単位時間あたりに使用した物理マシンの資源の使用量について、比較元の物理マシンと比較先候補の物理マシンとで類似する度合を示す。動作傾向の類似度は、値が大きいほど類似することを示す。単位時間は、たとえば、１時間でもよいし、１日でもよい。また、日曜日から土曜日の１週間における各１時間での資源の使用率を比較元の物理マシンと比較先候補の物理マシンとで比較してもよい。日曜日から土曜日の１週間における各１時間での資源の使用率を比較する理由として、一般的に、業務内容は、１週間を単位として、平日と休日とで異なるためである。たとえば、あるデータベースサーバは、平日では、利用者端末からアクセスに対する処理を行うとともに、休日では、ストアドプロシージャによる週次処理を行う。
【００９５】
本実施の形態では、分析可能期間Ｔを１週間とする。そして、仮想マシンの構成が１週間以上継続した場合に、分析装置２０４は、動作傾向の類似度について、日曜日から土曜日の１週間における各１時間での使用量を比較元の物理マシンと比較先候補の物理マシンとで比較するものとする。仮想マシンの構成が１週間以内である場合、分析装置２０４は、動作傾向の類似度を算出せず、比較先候補の物理マシンを候補から外す。
【００９６】
以下、ＣＰＵ使用率に対する動作傾向の類似度について、具体的な算出例を示す。メモリ使用率に対する動作傾向の類似度＋ディスクビジー率に対する動作傾向の類似度については、ＣＰＵ使用率に対する動作傾向の類似度と同一であるため、説明を省略する。
【００９７】
分析装置２０４は、仮想マシンの構成が１週間以上継続した場合に、図１２のグラフ１２００が示すように、比較元の物理マシンと比較先候補の物理マシンとで、日曜日から土曜日の１週間における各１時間でのＣＰＵを比較する。グラフ１２００は、比較元物理マシンのＣＰＵ使用率と時刻との関係と、比較先候補物理マシンのＣＰＵ使用率と時刻との関係と、を示す。
【００９８】
図１２の例では、比較元の物理マシンを、サーバＡとし、比較先候補の物理マシンを、サーバＢとする。分析装置２０４は、動作情報ログ２２１から、サーバＡ、サーバＢのそれぞれについて、単位時間当たりとして１時間当たりのＣＰＵ使用率を抽出する。抽出した結果は、表１２０１となる。表１２０１は、レコード１２０１−１〜レコード１２０１−６を有する。たとえば、レコード１２０１−１は、０１：００において、サーバＡのＣＰＵ使用率が１０［％］であり、サーバＢのＣＰＵ使用率が２０［％］であることを示す。
【００９９】
そして、分析装置２０４は、１時間当たりのＣＰＵ使用率から、１時間当たりのＣＰＵ使用率の変化量を作成する。作成した結果は、表１２０２となる。表１２０２は、レコード１２０２−１〜レコード１２０２−５を有する。たとえば、レコード１２０１−１は、０１：００から０２：００までの時間帯において、サーバＡのＣＰＵ使用率の変化量が１０［％］であり、サーバＢのＣＰＵ使用率の変化量が２０［％］であることを示す。
【０１００】
続けて、分析装置２０４は、下記（３）式を用いて、動作傾向の類似度を算出する。
【０１０１】
動作傾向の類似度＝１／√Σ（（各時間帯における比較元物理マシンの変化量−各時間帯における比較先候補物理マシンの変化量）＾２）  …（３）
【０１０２】
（３）式は、時間帯に対する変化量を示すグラフにおいて、時間帯に対する比較元物理マシンの変化量を示す点と、時間帯に対する比較先候補の物理マシンの変化量を示す点の距離を分母とする式である。図１２の例では、分析装置２０４は、（３）式を用いて、ＣＰＵ使用率に対する動作傾向の類似度を以下のように算出する。
【０１０３】
ＣＰＵ使用率に対する動作傾向の類似度＝１／√（（１０−２０）＾２＋（２０−２０）＾２＋（４０−２０）＾２＋（−３０−２０）＾２＋（−３０−０）＾２＋（−２０−（−２０））＾２）＝０．１６
【０１０４】
図１３は、仮想マシンの類似度の算出例を示す説明図である。分析装置２０４は、下記（４）式を用いて、仮想マシンの類似度を算出する。
【０１０５】
仮想マシンの類似度（比較元仮想マシン，比較先候補仮想マシン）＝ＣＰＵ重要度＊ＣＰＵ使用率に対する動作傾向の類似度＋メモリ重要度＊メモリ使用率に対する動作傾向の類似度＋ディスク重要度＊ディスクビジー率に対する動作傾向の類似度  …（４）
【０１０６】
ＣＰＵ使用率に対する動作傾向の類似度と、メモリ使用率に対する動作傾向の類似度と、ディスクビジー率に対する動作傾向の類似度との算出手順は、図１２で説明した、物理マシンにおける、動作傾向の類似度の算出手順と同一であるため、説明を省略する。
【０１０７】
ＣＰＵ重要度と、メモリ重要度と、ディスク重要度とは、ＣＰＵ、メモリ、ディスクのそれぞれが業務にどれだけ影響あるかという度合を示す。以下、ＣＰＵ重要度と、メモリ重要度と、ディスク重要度とをまとめて、単に、「重要度」と呼称する。重要度を考慮することにより、業務に依存した動作傾向を評価することができる。
【０１０８】
グラフ１３０１は、比較元仮想マシンと、比較先候補仮想マシン１と、比較先候補仮想マシン２とについて、時刻とＣＰＵ使用率との関係を示したグラフである。また、グラフ１３０２は、比較元仮想マシンと、比較先候補仮想マシン１と、比較先候補仮想マシン２とについて、時刻とメモリ使用率との関係を示したグラフである。さらに、グラフ１３０３は、比較元仮想マシンと、比較先候補仮想マシン１と、比較先候補仮想マシン２とについて、時刻とディスクビジー率との関係を示したグラフである。
【０１０９】
グラフ１３０１の横軸と、グラフ１３０２の横軸と、グラフ１３０３の横軸とは、時刻を示す。グラフ１３０１の縦軸は、ＣＰＵ使用率を示す。グラフ１３０２の縦軸は、メモリ使用率を示す。グラフ１３０３の縦軸は、ディスクビジー率を示す。また、グラフ１３０１と、グラフ１３０２と、グラフ１３０３とにおいて、実線が比較元仮想マシンを示し、点線が比較先候補仮想マシン１を示し、一点鎖線が比較先候補仮想マシン２を示す。
【０１１０】
グラフ１３０１は、比較元仮想マシンのＣＰＵ使用率の時刻当たりの傾向は、比較先候補仮想マシン１のＣＰＵ使用率の時刻当たりの変動と類似しており、比較先候補仮想マシン２のＣＰＵ使用率の時刻当たりの変動と類似していないことを示す。一方、メモリ使用率とディスクビジー率とが業務に依存して傾向が変化しないため、グラフ１３０２とグラフ１３０３とが、各仮想マシンともに似たような傾向になることを示す。
【０１１１】
グラフ１３０１〜グラフ１３０３から、ＣＰＵ使用率と、メモリ使用率と、ディスクビジー率とのうち、業務に最も依存する動作情報は、ＣＰＵ使用率となる。分析装置２０４は、下記（５）式を用いて、ハードウェア資源の重要度を算出する。
【０１１２】
ハードウェア資源の重要度＝トランザクション数とハードウェア資源の使用率との相関係数／Σ（トランザクション数と資源の使用率との相関係数）  …（５）
【０１１３】
ただし、相関係数の値が０未満で計算された場合、相関係数の値を０とする。たとえば、図１３の例では、分析装置２０４は、以下のように、相関係数を算出する。
【０１１４】
ＣＰＵ使用率とトランザクション数との相関係数＝０．９
メモリとトランザクション数との相関係数＝０．８
ディスクとトランザクション数との相関係数＝０
【０１１５】
そして、分析装置２０４は、（５）式を用いて、それぞれの重要度を算出する。
【０１１６】
ＣＰＵ重要度：０．９／（０．９＋０．８＋０）＝０．５３
メモリ重要度：０．８／（０．９＋０．８＋０）＝０．４７
ディスク重要度：０／（０．９＋０．８＋０）＝０
【０１１７】
分析装置２０４は、重要度一覧１３１０に、各仮想マシンの重要度を格納する。図１３に示す重要度一覧１３１０は、レコード１３１０−１と、レコード１３１０−２を記憶する。たとえば、レコード１３０１−１は、ＧｕｅｓｔＺ１のＣＰＵ重要度が、０．５３であり、メモリ重要度が０．４７であり、ディスク重要度が０であることを示す。
【０１１８】
図１４は、標準類似度の算出例を示す説明図である。標準類似度は、類似判定する比較先候補仮想マシンの数が少ない場合に、類似度が低い仮想マシンが選択されないために用いる値である。具体的に、分析装置２０４は、類似度が標準類似度より大きい仮想マシンを選択する。分析装置２０４は、下記（６）式を用いて標準類似度を算出する。
【０１１９】
標準類似度＝物理マシンの標準類似度（比較元物理マシン）＋Σ仮想マシンの標準類似度（比較元仮想マシンｎ）  …（６）
【０１２０】
ｎは、１から類似度一覧１００１の仮想マシンＩＤフィールドの個数までの整数である。分析装置２０４は、下記（７）式を用いて物理マシンの標準類似度（比較元物理マシン）を算出する。
【０１２１】
物理マシンの標準類似度（比較元物理マシン）＝ＣＰＵ使用率に対する動作傾向の標準類似度＋メモリ使用率に対する動作傾向の標準類似度＋ディスクビジー率に対する動作傾向の標準類似度  …（７）
【０１２２】
また、分析装置２０４は、下記（８）式を用いて仮想マシンの標準類似度（比較元仮想マシン）を算出する。
【０１２３】
仮想マシンの標準類似度（比較元仮想マシン）＝ＣＰＵ重要度＊ＣＰＵ使用率に対する動作傾向の標準類似度＋メモリ重要度＊メモリ使用率に対する動作傾向の標準類似度＋ディスク重要度＊ディスクビジー率に対する動作傾向の標準類似度  …（８）
【０１２４】
ＣＰＵ重要度と、メモリ重要度と、ディスク重要度との算出手順については、図１３で示した重要度と同一であるため、説明を省略する。以下、動作傾向の標準類似度の算出手順について説明する。
【０１２５】
分析装置２０４は、動作情報ログ２２１から、１週間ごとに各時間帯の変化量を算出する。図１４では、ＣＰＵ使用率に対する動作傾向の標準類似度を算出する例を示す。図１４に示す表１４０１は、ＣＰＵ使用率について、１週間ごとに各時間帯の変化量を示す。表１４０１は、レコード１４０１−１〜レコード１４０１−３を有する。分析装置２０４は、各時間帯の変化量について、それぞれ平均値と標準変化量とを算出する。ここで、標準変化量とは、平均値に標準偏差を加えた値である。
【０１２６】
たとえば、レコード１４０１−１について、分析装置２０４は、１週目の００：００−０１：００における変化量５［％］と、２週目の００：００−０１：００における変化量１０［％］と、…から、平均値は、６［％］と算出する。同様に、分析装置２０４は、１週目の００：００−０１：００における変化量５［％］と、２週目の００：００−０１：００における変化量１０［％］と、…から標準偏差を求め、標準偏差と平均値との和から標準変化量７．５［％］を算出する。
【０１２７】
続けて、分析装置２０４は、下記（９）式を用いて動作傾向の標準類似度を算出する。
【０１２８】
動作傾向の標準類似度＝１／√Σ（（各時間帯における平均値−各時間帯における標準変化量）＾２）  …（９）
【０１２９】
たとえば、図１４の例では、分析装置２０４は、ＣＰＵ使用率の動作傾向の標準類似度を（９）式を用いて以下のように算出する。
【０１３０】
ＣＰＵ使用率の動作傾向の標準類似度＝１／√（（６−７．５）＾２＋（１３−１６．３）＾２＋…＋（２３−２８．６）＾２＋…）
【０１３１】
図１５は、類似仮想マシンの選択例を示す説明図である。分析装置２０４は、次に示す（条件１）、（条件２）をともに満たす候補先仮想マシンのうち、類似度が最も高い候補先仮想マシンを類似仮想マシンとして選択する。
【０１３２】
（条件１）標準類似度＜仮想マシンの類似度
（条件２）分析可能時間Ｔ≦構成変更後からの構成維持期間
【０１３３】
構成維持期間とは、類似度を求めた仮想マシンについて再度構成が変更されるまでの期間である。構成が変わると動作傾向が変わるため、再度構成の変更があった場合、再度構成の変更後の動作情報を使用することができない。
【０１３４】
分析装置２０４は、構成変更後からの構成維持期間を次の手順により算出する。初めに、分析装置２０４は、類似度を求めた仮想マシンのケースＩＤを取得する。次に、分析装置２０４は、取得したケースＩＤの変更内容の種別が“追加”または“削除”であれば物理マシンＩＤ１フィールドに格納された物理マシンを特定し、変更内容の種別が“移動”であれば物理マシンＩＤ２フィールドに格納された物理マシンを特定する。続けて、分析装置２０４は、特定した物理マシンにおいて、次に構成が変更されたケースを構成変更記録２２２から探索する。次に構成が変更されたケースが検出されれば、分析装置２０４は、検出されたケースと、類似度を求めたケースとの日時の差分を、構成変更後からの構成維持期間とする。一方、次に構成が変更されたケースが検出されなければ、分析装置２０４は、現在時刻と類似度を求めたケースとの日時の差分を、構成変更後からの構成維持期間とする。
【０１３５】
類似度が同一の値となる候補先仮想マシンが複数あれば、分析装置２０４は、構成変更後からの構成維持期間がより長い候補先仮想マシンを選択してもよい。また、（条件１）と（条件２）とをともに満たす候補先仮想マシンがなければ、分析装置２０４は、類似仮想マシンを選択せずに終了する。
【０１３６】
図１５の例では、（条件１）について、分析装置２０４は、レコード１００１−３とレコード１００１−４について、類似度が標準類似度となる０．０７９以下であるため、Ｇｕｅｓｔ２とＧｕｅｓｔ４を候補先から除外する。そして、（条件２）について、分析装置２０４は、類似度が最も高い候補先仮想マシンとなるＧｕｅｓｔ５について、構成変更後からの構成維持期間を算出する。図１５に示すグラフ１５０１が示す通り、Ｃａｓｅ３における構成変更後からの構成維持期間は、１週間以上であるため、分析装置２０４は、Ｇｕｅｓｔ５を類似仮想マシンとして選択する。
【０１３７】
次に、本実施の形態における類似仮想マシンの動作情報を用いて算出した推定値を用いることによる効果を示す。具体的には、図１６を用いて、本実施の形態にかかる類似仮想マシンの推定値を用いて分析する場合について説明する。
【０１３８】
図１６は、推定値の算出例を示す説明図である。グラフ１６０１は、分析対象仮想マシンとなるＧｕｅｓｔＺ１の時刻とＣＰＵ使用率の関係を示す。グラフ１６０１において、（ｙ＿Ｚ１＿１，ｔ＿Ｚ１＿１）から（ｙ＿Ｚ１＿２，ｔ＿Ｚ１＿２）までが構成変更前の構成維持期間である。グラフ１６０１は、（ｙ＿Ｚ１＿２，ｔ＿Ｚ１＿２）でＧｕｅｓｔＺ３が追加されるという構成変更が起こり、（ｙ＿Ｚ１＿２，ｔ＿Ｚ１＿２）以降においてＣＰＵリソースが競合して、ＧｕｅｓｔＺ１のＣＰＵ使用率が低下したことを示す。
【０１３９】
グラフ１６０２は、類似仮想マシンとなるＧｕｅｓｔ５の時刻とＣＰＵ使用率の関係を示す。（ｙ＿５＿１，ｔ＿５＿１）から（ｙ＿５＿２，ｔ＿５＿２）までが構成変更前の構成維持期間である。また、（ｙ＿５＿２，ｔ＿５＿２）から（ｙ＿５＿３，ｔ＿５＿３）までが構成変更後からの構成維持期間である。グラフ１６０２は、（ｙ＿５＿２，ｔ＿５＿２）でＧｕｅｓｔ６が追加されるという構成変更が起こり、（ｙ＿５＿２，ｔ＿５＿２）以降においてＣＰＵリソースが競合して、Ｇｕｅｓｔ５のＣＰＵ使用率が低下したことを示す。
【０１４０】
分析装置２０４は、分析対象仮想マシンの構成変更前の構成維持期間の動作情報と、探索した類似仮想マシンの構成変更前の構成維持期間の動作情報とを用いて、下記（１０）式に従って補正値（ｙ，ｔ）を算出する。
【０１４１】
補正値（ｙ，ｔ）＝類似仮想マシンの構成変更前の構成維持期間の動作情報（ｙ，ｔ）−分析対象仮想マシンの構成変更前の構成維持期間の動作情報（ｙ，ｔ）  …（１０）
【０１４２】
ここで、ｙは曜日を示す。ｔは時刻を示す。また、類似仮想マシンの構成変更前の構成維持期間の動作情報が複数週分存在する場合、分析装置２０４は、各週の各曜日の各時刻に対する動作情報の平均値を、類似仮想マシンの構成変更前の構成維持期間の動作情報（ｙ，ｔ）とする。
【０１４３】
表１６０３は、各週の各曜日の各時刻に対する補正値を示す。グラフ１６０４は、補正値の算出の様子を示すグラフである。グラフ１６０４において、実線が分析対象仮想マシンの構成変更前の構成維持期間の動作情報を示し、点線が類似仮想マシンの構成変更前の構成維持期間の動作情報を示す。グラフ１６０４では、類似仮想マシンの構成変更前の構成維持期間の動作情報（ｙ，ｔ）が、分析対象仮想マシンの構成変更前の構成維持期間の動作情報（ｙ，ｔ）より小さいため、補正値が負の値となる。
【０１４４】
続けて、分析装置２０４は、補正値を用いて、下記（１１）式に従って、分析対象仮想マシンの構成変更後からの構成維持期間の動作情報を推定した動作情報を作成する。
【０１４５】
推定した動作情報（ｙ，ｔ）＝類似仮想マシンの構成変更後からの構成維持期間の動作情報（ｙ，ｔ）−補正値（ｙ，ｔ）  …（１１）
【０１４６】
表１６０５は、推定した動作情報として、各週の各曜日の各時刻に対する補正値を示す。グラフ１６０６は、推定した動作情報の様子を示すグラフである。グラフ１６０６において、実線が類似仮想マシンの動作情報を示し、点線が推定した動作情報を示す。グラフ１６０４で示したように、補正値は負の値となるため、推定値は、類似仮想マシンの構成変更後からの構成維持期間の動作情報より大きい値となる。
【０１４７】
このように、分析対象仮想マシンと同じ構成情報、同じ構成変更を行い、かつ、構成変更前の動作情報の傾向が類似する仮想マシンで分析を行うことにより、分析対象仮想マシンの構成変更後のデータ量が少なくても、分析精度を良くすることができる。
【０１４８】
また、分析対象仮想マシンと同じ構成情報、同じ構成変更を行った仮想マシンであり、かつ、分析対象仮想マシンの構成変更前の動作情報の傾向が類似する仮想マシンを探索すべき理由について図１７および図１８を用いて説明する。具体的には、図１７を用いて、分析対象仮想マシンと同じ構成情報、同じ構成変更を行った仮想マシンで分析する場合について説明する。また、図１８を用いて、分析対象仮想マシンの構成変更前の動作情報の傾向が類似する仮想マシンで分析する場合について説明する。
【０１４９】
図１７は、分析対象仮想マシンと同じ構成情報、同じ構成変更を行った仮想マシンで分析する例を示す説明図である。図１７の（Ａ）では、分析対象仮想マシンとなるＧｕｅｓｔＡが、ＨｏｓｔＡからＨｏｓｔＢに移動した例を示す。グラフ１７０１は、分析対象仮想マシンとなるＧｕｅｓｔＡの時刻とＣＰＵ使用率の関係を示す。グラフ１７０１において、（ｙ＿Ａ＿１，ｔ＿Ａ＿１）から（ｙ＿Ａ＿２，ｔ＿Ａ＿２）までが構成変更前の構成維持期間であり、（ｙ＿Ａ＿２，ｔ＿Ａ＿２）から（ｙ＿Ａ＿３，ｔ＿Ａ＿３）までが構成変更後からの構成維持期間である。グラフ１７０１は、（ｙ＿Ａ＿２，ｔ＿Ａ＿２）でＧｕｅｓｔＡが移動されるという構成変更が起こり、構成変更前の構成維持期間ではＣＰＵ資源を十分に使用できなかったＧｕｅｓｔＡが、構成変更後からはＣＰＵ資源を十分に使用できるようになったことを示す。
【０１５０】
このとき、ＧｕｅｓｔＡの構成変更後の構成維持期間が短く、動作情報ログ２２１の構成変更後のデータ量が少ないために分析が十分な精度で行えないとする。図１７の例では、分析対象仮想マシンとなるＧｕｅｓｔと同じ構成情報、同じ構成変更を行った仮想マシンとして、ＧｕｅｓｔＥで分析する例を示す。
【０１５１】
図１７の（Ｂ）では、ＧｕｅｓｔＥが、ＨｏｓｔＣからＨｏｓｔＤに移動した例を示す。グラフ１７０２は、ＧｕｅｓｔＥの時刻とＣＰＵ使用率の関係を示す。グラフ１７０２において、（ｙ＿Ｅ＿１，ｔ＿Ｅ＿１）から（ｙ＿Ｅ＿２，ｔ＿Ｅ＿２）までが構成変更前の構成維持期間であり、（ｙ＿Ｅ＿２，ｔ＿Ｅ＿２）から（ｙ＿Ｅ＿３，ｔ＿Ｅ＿３）までが構成変更後からの構成維持期間である。グラフ１７０２は、（ｙ＿Ｅ＿２，ｔ＿Ｅ＿２）でＧｕｅｓｔＥが移動されるという構成変更が起こり、構成変更前の構成維持期間ではＣＰＵ資源を十分に使用できなかったＧｕｅｓｔＥが、構成変更後からはＣＰＵ資源を十分に使用できるようになったことを示す。
【０１５２】
分析対象仮想マシンと同じ構成情報について、ＨｏｓｔＣとＨｏｓｔＢとは、追加される前から動作していたＧｕｅｓｔＤとＧｕｅｓｔＨとの構成が類似する。また、同じ構成変更について、追加されたＧｕｅｓｔＡとＧｕｅｓｔＥとの構成が類似する。しかしながら、ＧｕｅｓｔＡとＧｕｅｓｔＥとは、（ｙ＿Ａ＿１，ｔ＿Ａ＿１）〜（ｙ＿Ａ＿２，ｔ＿Ａ＿２）のＣＰＵ使用率と、（ｙ＿Ｅ＿１，ｔ＿Ｅ＿１）〜（ｙ＿Ｅ＿２，ｔ＿Ｅ＿２）のＣＰＵ使用率とから判断できるように、構成変更前の動作情報の傾向が類似しない可能性がある。このように、分析対象仮想マシンと同じ構成情報、同じ構成変更を行った仮想マシンの動作情報を、分析対象マシンの動作情報の代わりとして分析を行っても、分析精度が悪くなる。
【０１５３】
図１８は、分析対象仮想マシンの構成変更前の動作情報の傾向が類似する仮想マシンで分析する例を示す説明図である。図１８の（Ａ）およびグラフ１８０１は、図１７の（Ａ）と同一であるため説明を省略する。
【０１５４】
図１８の（Ｂ）では、ＧｕｅｓｔＦが、ＧｕｅｓｔＥを動作するＨｏｓｔＣに追加された例を示す。グラフ１８０２は、ＧｕｅｓｔＥの時刻とＣＰＵ使用率の関係を示す。グラフ１８０２において、（ｙ＿Ｅ＿１，ｔ＿Ｅ＿１）から（ｙ＿Ｅ＿２，ｔ＿Ｅ＿２）までが構成変更前の構成維持期間であり、（ｙ＿Ｅ＿２，ｔ＿Ｅ＿２）から（ｙ＿Ｅ＿３，ｔ＿Ｅ＿３）までが構成変更後からの構成維持期間である。グラフ１８０２は、（ｙ＿Ｅ＿２，ｔ＿Ｅ＿２）でＧｕｅｓｔＦが追加されるという構成変更が起こる前において、ＧｕｅｓｔＥは、ＣＰＵ資源を十分に使用できており、ＧｕｅｓｔＦが追加された後でもＣＰＵ資源を十分に使用できたことを示す。
【０１５５】
ＧｕｅｓｔＡとＧｕｅｓｔＥとは、（ｙ＿Ａ＿１，ｔ＿Ａ＿１）〜（ｙ＿Ａ＿２，ｔ＿Ａ＿２）のＣＰＵ使用率と、（ｙ＿Ｅ＿１，ｔ＿Ｅ＿１）〜（ｙ＿Ｅ＿２，ｔ＿Ｅ＿２）のＣＰＵ使用率とから判断できるように、構成変更前の動作情報の傾向が類似する。しかしながら、構成変更前において、ＧｕｅｓｔＡは、ＣＰＵ資源が十分に使用できなかったのに対し、ＧｕｅｓｔＥは、ＣＰＵ資源が十分に使用できたため、構成変更後では、ＧｕｅｓｔＡとＧｕｅｓｔＥとの動作情報の傾向が類似しない。このように、分析対象仮想マシンの構成変更前の動作情報の傾向が類似する仮想マシンの動作情報を、分析対象マシンの動作情報の代わりとして分析を行っても、分析精度が悪くなる。
【０１５６】
以下、図１９〜図３０を用いて、図９〜図１６を用いて説明した動作を行うフローチャートを示す。
【０１５７】
図１９は、分析処理手順の一例を示すフローチャートである。分析処理は、分析対象仮想マシンの性能分析を行う処理である。分析装置２０４は、管理者端末２０１から、仮想マシンに対する分析依頼を受信する（ステップＳ１９０１）。分析依頼があった仮想マシンを、「分析対象仮想マシン」とする。
【０１５８】
次に、分析装置２０４は、推定実行有無判断処理を実行する（ステップＳ１９０２）。推定実行有無判断処理の詳細は、図２０で後述する。続けて、分析装置２０４は、推定実行有無判断処理の処理結果から、推定を実行すべきか否かを判断する（ステップＳ１９０３）。推定を実行すべきである場合（ステップＳ１９０３：Ｙｅｓ）、分析装置２０４は、類似仮想マシン探索処理を実行する（ステップＳ１９０４）。類似仮想マシン探索処理は、図２１で後述する。
【０１５９】
次に、分析装置２０４は、類似仮想マシン探索処理の処理結果から、類似仮想マシンを選択したか否かを判断する（ステップＳ１９０５）。類似仮想マシンを選択した場合（ステップＳ１９０５：Ｙｅｓ）、分析装置２０４は、推定動作情報作成処理を実行する（ステップＳ１９０６）。推定動作情報作成処理は、図３０で後述する。次に、分析装置２０４は、類似仮想マシンに対して、推定した動作情報を分析する（ステップＳ１９０７）。具体的な分析例は、回帰分析や相関分析等がある。一方、推定を実行しなくてよい場合（ステップＳ１９０３：Ｎｏ）、分析装置２０４は、分析対象仮想マシンに対して、動作情報を分析する（ステップＳ１９０８）。
【０１６０】
ステップＳ１９０７、またはステップＳ１９０８の処理終了後、分析装置２０４は、管理者端末２０１に対して、分析結果を出力する（ステップＳ１９０９）。一方、類似仮想マシンを選択していない場合（ステップＳ１９０５：Ｎｏ）、分析装置２０４は、分析できないことを出力する（ステップＳ１９１０）。
【０１６１】
ステップＳ１９０９、またはステップＳ１９１０の処理終了後、分析装置２０４は、分析処理を終了する。分析処理を実行することにより、分析装置２０４は、分析対象仮想マシンの構成変更後のデータ量が少なくても、分析精度の良い分析結果を出力することができる。
【０１６２】
図２０は、推定実行有無判断処理手順の一例を示すフローチャートである。推定実行有無判断処理は、分析依頼があった仮想マシンの動作情報を推定すべきか否かを判断する処理である。
【０１６３】
分析装置２０４は、構成変更記録２２２のゲストＩＤリスト１とゲストＩＤリスト２とのいずれかに、分析対象仮想マシンのＩＤがある最新のケースを比較元ケースとして検索する（ステップＳ２００１）。次に、分析装置２０４は、比較元ケースを検出したか否かを判断する（ステップＳ２００２）。比較元ケースを検出した場合（ステップＳ２００２：Ｙｅｓ）、分析装置２０４は、“現在時刻−検出した比較元ケースの日時”を計算して、計算結果として構成維持期間を求める（ステップＳ２００３）。次に、分析装置２０４は、構成維持期間が分析可能期間Ｔより小さいか否かを判断する（ステップＳ２００４）。構成維持期間が分析可能期間Ｔより小さい場合（ステップＳ２００４：Ｙｅｓ）、分析装置２０４は、推定すべきであることを出力する（ステップＳ２００５）。
【０１６４】
一方、比較元ケースを検出していない場合（ステップＳ２００２：Ｎｏ）、または、構成維持期間が分析可能期間Ｔ以上である場合（ステップＳ２００４：Ｎｏ）、分析装置２０４は、推定しなくてよいことを出力する（ステップＳ２００６）。なお、ステップＳ２００２：Ｎｏとなる場合とは、たとえば、分析対象仮想マシンが動作する物理マシンにおいて、仮想マシンの構成が一度も変更していない場合である。
【０１６５】
ステップＳ２００５、またはステップＳ２００６の処理終了後、分析装置２０４は、推定実行有無判断処理を終了する。推定実行有無判断処理を実行することにより、分析装置２０４は、分析対象仮想マシンの動作情報が十分にあれば、分析対象仮想マシンの動作情報を用いて分析を行うことにより分析精度を向上することができる。一方、分析対象仮想マシンの動作情報が十分になければ、分析装置２０４は、類似仮想マシンの動作情報を用いて分析を行うことにより分析精度を向上することができる。
【０１６６】
図２１は、類似仮想マシン探索処理手順の一例を示すフローチャートである。類似仮想マシン探索処理は、分析対象仮想マシンに類似する仮想マシンを探索する処理である。分析装置２０４は、物理マシン構成情報２１１と、仮想マシン構成情報２１２と、構成変更記録２２２とから、比較元ケースと図９で示した（情報１）〜（情報６）が一致する比較先候補ケースを探索する（ステップＳ２１０１）。
【０１６７】
次に、分析装置２０４は、比較先候補ケースを検出したか否かを判断する（ステップＳ２１０２）。比較先候補ケースを検出した場合（ステップＳ２１０２：Ｙｅｓ）、分析装置２０４は、類似度算出処理を実行する（ステップＳ２１０３）。類似度算出処理は、図２２で後述する。続けて、分析装置２０４は、標準類似度算出処理を実行する（ステップＳ２１０４）。標準類似度算出処理は、図２７で後述する。次に、分析装置２０４は、類似仮想マシン選択処理を実行する（ステップＳ２１０５）。類似仮想マシン選択処理は、図２９で後述する。ステップＳ２１０５の処理終了後、類似仮想マシン探索処理を終了する。
【０１６８】
一方、比較先候補ケースを検出していない場合（ステップＳ２１０２：Ｎｏ）、分析装置２０４は、類似仮想マシン探索処理を終了する。ステップＳ２１０２：Ｎｏとなった場合、類似仮想マシンを選択していないことから、分析装置２０４は、ステップＳ１９０５では、Ｎｏのルートを実行することになる。類似仮想マシン探索処理を実行することにより、分析装置２０４は、動作情報が類似する仮想マシンを探索することができる。
【０１６９】
図２２は、類似度算出処理手順の一例を示すフローチャートである。類似度算出処理は、比較先候補ケースの類似度を算出する処理である。分析装置２０４は、類似度一覧１００１のうちの比較先候補ケースの先頭のケースを選択する（ステップＳ２２０１）。次に、分析装置２０４は、選択したケースの各物理マシンについて、選択したケースの前回の構成変更のケースを検索する（ステップＳ２２０２）。続けて、分析装置２０４は、選択したケースの前回の構成変更のケースを検出したか否かを判断する（ステップＳ２２０３）。選択したケースの前回の構成変更のケースを検出した場合（ステップＳ２２０３：Ｙｅｓ）、分析装置２０４は、“選択したケースの日時−比較先ケースの前回の構成変更のケースの日時”を計算して、計算結果として、選択したケースの前回の構成変更からの構成維持期間を求める（ステップＳ２２０４）。
【０１７０】
次に、分析装置２０４は、選択したケースの前回の構成変更からの構成維持期間が分析可能期間Ｔ以上か否かを判断する（ステップＳ２２０５）。選択したケースの前回の構成変更からの維持期間が分析可能期間Ｔ以上である場合（ステップＳ２２０５：Ｙｅｓ）、分析装置２０４は、選択したケースの各物理マシンに対して、物理マシンの類似度算出処理を実行する（ステップＳ２２０６）。物理マシンの類似度算出処理は、図２３で後述する。次に、分析装置２０４は、選択したケースの各仮想マシンに対して、仮想マシンの類似度算出処理を実行する（ステップＳ２２０７）。仮想マシンの類似度算出処理は、図２５で後述する。続けて、分析装置２０４は、“各物理マシンの類似度の和＋各仮想マシンの類似度の和”を計算して、計算結果として選択したケースの類似度を求める（ステップＳ２２０８）。ステップＳ２２０８の処理は、（１）式に相当する。
【０１７１】
選択したケースの前回の構成変更のケースを検出しなかった場合（ステップＳ２２０３：Ｎｏ）、または、選択したケースの前回の構成変更からの構成維持期間が分析可能期間Ｔ未満である場合（ステップＳ２２０５：Ｎｏ）、分析装置２０４は、選択したケースの類似度を“算出不可能”に設定する（ステップＳ２２０９）。
【０１７２】
ステップＳ２２０８、またはステップＳ２２０９のいずれかの処理を実行終了後、分析装置２０４は、比較先候補ケースの全てを選択したか否かを判断する（ステップＳ２２１０）。選択していない比較先候補ケースがある場合（ステップＳ２２１０：Ｎｏ）、分析装置２０４は、次のケースを選択する（ステップＳ２２１１）。ステップＳ２２１１の処理終了後、分析装置２０４は、ステップＳ２２０２の処理に移行する。
【０１７３】
比較先候補ケースの全てを選択した場合（ステップＳ２２１０：Ｙｅｓ）、分析装置２０４は、類似度算出処理を終了する。類似度算出処理を実行することにより、分析装置２０４は、比較先候補ケースの類似度を算出することができる。
【０１７４】
図２３は、物理マシンの類似度算出処理手順の一例を示すフローチャートである。物理マシンの類似度算出処理は、物理マシンの類似度を算出する処理である。分析装置２０４は、物理マシンのＣＰＵ使用率に対して、動作傾向の類似度算出処理を実行する（ステップＳ２３０１）。動作傾向の類似度算出処理は、図２４で後述する。次に、分析装置２０４は、物理マシンのメモリ使用率に対して、動作傾向の類似度算出処理を実行する（ステップＳ２３０２）。続けて、分析装置２０４は、物理マシンのディスクビジー率に対して、動作傾向の類似度算出処理を実行する（ステップＳ２３０３）。
【０１７５】
次に、分析装置２０４は、“ＣＰＵ使用率の動作傾向の類似度＋メモリ使用率の動作傾向の類似度＋ディスクビジー率の動作傾向の類似度”を計算して、計算結果を、物理マシンの類似度として求める（ステップＳ２３０４）。ステップＳ２３０４の処理が、（２）式に相当する。ステップＳ２３０４の処理終了後、分析装置２０４は、物理マシンの類似度算出処理を終了する。物理マシンの類似度算出処理を実行することにより、分析装置２０４は、物理マシンの類似度を算出することができる。
【０１７６】
図２４は、動作傾向の類似度算出処理手順の一例を示すフローチャートである。動作傾向の類似度算出処理は、動作情報の類似度を算出する処理である。動作傾向の類似度算出処理がステップＳ２３０１〜ステップＳ２３０３の処理から呼ばれた場合、分析装置２０４は、動作傾向の類似度算出処理を実行することにより、物理マシンの動作情報の類似度を算出することになる。また、動作傾向の類似度算出処理が後述するステップＳ２５０３〜ステップＳ２５０５の処理から呼ばれた場合、分析装置２０４は、動作傾向の類似度算出処理を実行することにより、仮想マシンの動作情報の類似度を算出することになる。
【０１７７】
分析装置２０４は、動作情報ログ２２１を参照して、選択したケースの前回の構成変更からの構成維持期間から、１週間における各時刻の動作傾向の平均値を算出する（ステップＳ２４０１）。ステップＳ２４０１の処理について、選択したケースとは、ステップＳ２２０１またはステップＳ２２１１の処理で選択したケースである。
【０１７８】
次に、分析装置２０４は、選択したケースの各時刻の動作傾向の平均値から、選択したケースの各時間帯における変化量を算出する（ステップＳ２４０２）。続けて、分析装置２０４は、構成変更記録２２２を参照して、比較元ケースの前回の構成変更のケースを検索する（ステップＳ２４０３）。次に、分析装置２０４は、“比較元ケースの日時−比較元ケースの前回の構成変更のケースの日時”を計算して、計算結果を比較元ケースの前回の構成変更からの構成維持期間として求める（ステップＳ２４０４）。
【０１７９】
続けて、分析装置２０４は、比較元ケースの前回の構成変更からの構成維持期間から、比較元ケースの１週間における各時刻の動作傾向の平均値を算出する（ステップＳ２４０５）。次に、分析装置２０４は、比較元ケースの各時刻の動作傾向の平均値から、比較元ケースの各時間帯における変化量を算出する（ステップＳ２４０６）。続けて、分析装置２０４は、“１／√Σ（選択したケースの各時間帯における変化量−比較元ケースの各時間帯における変化量）＾２”を計算して、計算結果を動作傾向の類似度として求める（ステップＳ２４０７）。ステップＳ２４０７の処理終了後、分析装置２０４は、動作傾向の類似度算出処理を終了する。動作傾向の類似度算出処理を実行することにより、分析装置２０４は、動作情報の類似度を算出することができる。
【０１８０】
図２５は、仮想マシンの類似度算出処理手順の一例を示すフローチャートである。仮想マシンの類似度算出処理は、仮想マシンの類似度を算出する処理である。分析装置２０４は、重要度一覧１３１０を参照して、比較元ケースの仮想マシンの重要度が算出済か否かを判断する（ステップＳ２５０１）。比較元ケースの仮想マシンの重要度を算出していない場合（ステップＳ２５０１：Ｎｏ）、分析装置２０４は、重要度算出処理を実行する（ステップＳ２５０２）。重要度算出処理は、図２６で後述する。
【０１８１】
ステップＳ２５０２の処理終了後、または、比較元ケースの仮想マシンの重要度が算出済である場合（ステップＳ２５０１：Ｙｅｓ）、分析装置２０４は、仮想マシンのＣＰＵ使用率に対して、動作傾向の類似度算出処理を実行する（ステップＳ２５０３）。次に、分析装置２０４は、仮想マシンのメモリ使用率に対して、動作傾向の類似度算出処理を実行する（ステップＳ２５０４）。続けて、分析装置２０４は、仮想マシンのディスクビジー率に対して、動作傾向の類似度算出処理を実行する（ステップＳ２５０５）。
【０１８２】
次に、分析装置２０４は、“ＣＰＵ重要度＊ＣＰＵ使用率の動作傾向の類似度＋メモリ重要度＊メモリ使用率の動作傾向の類似度＋ディスク重要度＊ディスクビジー率の動作傾向の類似度”を計算して、計算結果を仮想マシンの類似度として求める（ステップＳ２５０６）。ステップＳ２５０６の処理は、（４）式に相当する。ステップＳ２５０６の処理終了後、分析装置２０４は、仮想マシンの類似度算出処理を終了する。仮想マシンの類似度算出処理を実行することにより、分析装置２０４は、仮想マシンの類似度を算出することができる。
【０１８３】
図２６は、重要度算出処理手順の一例を示すフローチャートである。重要度算出処理は、重要度を算出する処理である。分析装置２０４は、対象マシンの前回の構成変更からの構成維持期間から、比較元ケースの１週間における各時刻のＣＰＵ使用率、メモリ使用率、ディスクビジー率、トランザクション数それぞれの平均値を算出する（ステップＳ２６０１）。次に、分析装置２０４は、ＣＰＵ使用率と、メモリ使用率と、ディスクビジー率とに対し、トランザクション数との相関係数を算出する（ステップＳ２６０２）。続けて、分析装置２０４は、動作傾向それぞれの相関係数から、ＣＰＵ使用率、メモリ使用率、ディスクビジー率それぞれの重要度を算出する（ステップＳ２６０３）。具体的な算出手順は、（５）式となる。ステップＳ２６０３の処理終了後、分析装置２０４は、重要度算出処理を終了する。重要度算出処理を実行することにより、分析装置２０４は、重要度を算出することができる。
【０１８４】
図２７は、標準類似度算出処理手順の一例を示すフローチャートである。標準類似度算出処理は、標準類似度を算出する処理である。分析装置２０４は、比較元ケースの各物理マシンのＣＰＵ使用率に対して、動作傾向の標準類似度算出処理を実行する（ステップＳ２７０１）。動作傾向の標準類似度算出処理は、図２８で後述する。次に、分析装置２０４は、比較元ケースの各物理マシンのメモリ使用率に対して、動作傾向の標準類似度算出処理を実行する（ステップＳ２７０２）。続けて、分析装置２０４は、比較元ケースの各物理マシンのディスクビジー率に対して、動作傾向の標準類似度算出処理を実行する（ステップＳ２７０３）。次に、分析装置２０４は、“ＣＰＵ使用率の動作傾向の標準類似度＋メモリ使用率の動作傾向の標準類似度＋ディスクビジー率の動作傾向の標準類似度”を計算して、計算結果を各物理マシンの標準類似度として求める（ステップＳ２７０４）。ステップＳ２７０４の処理は、（７）式に相当する。
【０１８５】
続けて、分析装置２０４は、比較元ケースの各仮想マシンのＣＰＵ使用率に対して、動作傾向の標準類似度算出処理を実行する（ステップＳ２７０５）。次に、分析装置２０４は、比較元ケースの各仮想マシンのメモリ使用率に対して、動作傾向の標準類似度算出処理を実行する（ステップＳ２７０６）。続けて、分析装置２０４は、比較元ケースの各仮想マシンのディスクビジー率に対して、動作傾向の標準類似度算出処理を実行する（ステップＳ２７０７）。次に、分析装置２０４は、“ＣＰＵ重要度＊ＣＰＵ使用率の動作傾向の標準類似度＋メモリ重要度＊メモリ使用率の動作傾向の標準類似度＋ディスク重要度＊ディスクビジー率の動作傾向の標準類似度”を計算して、計算結果を各仮想マシンの標準類似度として求める（ステップＳ２７０８）。ステップＳ２７０８の処理は、（８）式に相当する。
【０１８６】
続けて、分析装置２０４は、“各物理マシンの標準類似度＋各仮想マシンの標準類似度”を計算して、計算結果を標準類似度として求める（ステップＳ２７０９）。ステップＳ２７０９の処理は、（６）式に相当する。ステップＳ２７０９の処理終了後、分析装置２０４は、標準類似度算出処理を終了する。標準類似度算出処理を実行することにより、分析装置２０４は、標準類似度を算出することができる。
【０１８７】
図２８は、動作傾向の標準類似度算出処理手順の一例を示すフローチャートである。動作傾向の標準類似度算出処理は、動作傾向の標準類似度を算出する処理である。分析装置２０４は、比較元ケースの前回の構成変更からの構成維持期間において、各時間帯における動作傾向の変化量を１週間ごとに算出する（ステップＳ２８０１）。次に、分析装置２０４は、各時間帯における動作傾向の変化量から、各時間帯における動作傾向の平均値および標準変化量を算出する（ステップＳ２８０２）。続けて、分析装置２０４は、“１／√Σ（（各時間帯における動作傾向の平均値−各時間帯における動作傾向の標準変化量）＾２）”を計算して、計算結果を動作傾向の標準類似度として求める（ステップＳ２８０３）。ステップＳ２８０３の処理は、（９）式に相当する。
【０１８８】
ステップＳ２８０３の処理終了後、分析装置２０４は、動作傾向の標準類似度算出処理を終了する。動作傾向の標準類似度算出処理を実行することにより、分析装置２０４は、動作傾向の標準類似度を算出することができる。
【０１８９】
図２９は、類似仮想マシン選択処理手順の一例を示すフローチャートである。類似仮想マシン選択処理は、動作情報が分析対象仮想マシンと類似する類似仮想マシンを選択する処理である。
【０１９０】
分析装置２０４は、類似度一覧１００１の比較先候補ケースを、類似度が高い順に並び替えする（ステップＳ２９０１）。次に、分析装置２０４は、比較先候補ケースのうちの先頭のケースを選択する（ステップＳ２９０２）。続けて、分析装置２０４は、選択したケースの類似度が標準類似度より大きいか否かを判断する（ステップＳ２９０３）。選択したケースの類似度が標準類似度より大きい場合（ステップＳ２９０３：Ｙｅｓ）、分析装置２０４は、選択したケースの物理マシンの構成変更後からの構成維持期間を算出する（ステップＳ２９０４）。具体的な算出例は、図１５で説明した通りである。
【０１９１】
次に、分析装置２０４は、選択したケースの仮想マシンの構成変更後からの構成維持期間が分析可能期間Ｔ以上か否かを判断する（ステップＳ２９０５）。選択したケースの仮想マシンの構成変更後からの構成維持期間が分析可能期間Ｔ未満である場合（ステップＳ２９０５：Ｎｏ）、分析装置２０４は、比較先候補ケースのうちの次のケースを選択する（ステップＳ２９０６）。ステップＳ２９０６の処理終了後、分析装置２０４は、ステップＳ２９０３の処理に移行する。
【０１９２】
一方、選択したケースの仮想マシンの構成変更後からの構成維持期間が分析可能期間Ｔ以上である場合（ステップＳ２９０５：Ｙｅｓ）、分析装置２０４は、選択したケースの仮想マシンを類似仮想マシンとして選択する（ステップＳ２９０７）。ステップＳ２９０７の処理終了後、分析装置２０４は、類似仮想マシン選択処理を終了する。
【０１９３】
選択したケースの類似度が標準類似度以下である場合（ステップＳ２９０３：Ｎｏ）、分析装置２０４は、類似仮想マシンを選択せずに、類似仮想マシン選択処理を終了する。ステップＳ２９０３：Ｎｏとなった場合、類似仮想マシンを選択していないことから、分析装置２０４は、ステップＳ１９０５では、Ｎｏのルートを実行することになる。類似仮想マシン選択処理を実行することにより、分析装置２０４は、動作情報が分析対象仮想マシンと類似する類似仮想マシンを選択することができる。
【０１９４】
図３０は、推定動作情報作成処理手順の一例を示すフローチャートである。推定動作情報作成処理は、構成変更後からの構成維持期間の動作情報を推定した動作情報を作成する処理である。
【０１９５】
分析装置２０４は、分析対象仮想マシンの構成変更前の構成維持期間の動作情報から、１週間における各時間帯の動作情報の平均値を算出する（ステップＳ３００１）。次に、分析装置２０４は、類似仮想マシンの構成維持期間の動作情報から、１週間における各時間帯の動作情報の平均値を算出する（ステップＳ３００２）。続けて、分析装置２０４は、各時間帯に対して、分析対象仮想マシンの動作情報の平均値と類似仮想マシンの動作情報の平均値との差分を補正値として算出する（ステップＳ３００３）。ステップＳ３００３の処理は、（１０）式に相当する。
【０１９６】
次に、分析装置２０４は、類似仮想マシンの構成変更後の動作情報を取得する（ステップＳ３００４）。続けて、分析装置２０４は、類似仮想マシンの構成変更後の動作情報から、補正値を減じた推定値を推定した動作情報として作成する（ステップＳ３００５）。ステップＳ３００５の処理は、（１１）式に相当する。ステップＳ３００５の処理終了後、分析装置２０４は、推定動作情報作成処理を終了する。推定動作情報作成処理を実行することにより、分析装置２０４は、構成変更後からの構成維持期間の動作情報を推定した動作情報を作成することができる。
【０１９７】
以上説明したように、分析装置２０４によれば、分析対象仮想マシンが動作する物理マシンと変更前後の仮想マシンの構成が類似する他の物理マシン上の仮想マシンから変更前の動作情報が分析対象仮想マシンと類似する仮想マシンを探索する。これにより、分析装置２０４によれば、変更後の物理マシン上で動作する分析対象の仮想マシンと似たような動作の傾向となる類似仮想マシンを探索することができ、分析精度を向上することができる。また、変更後の類似仮想マシンの使用率を測定した期間が所定の期間未満であっても、変更後の類似仮想マシンの使用率を測定した期間が変更後の分析対象仮想マシンの使用率を測定した期間より長かったとする。このとき、たとえば、分析装置２０４は、分析を一旦行わず、変更後の類似仮想マシンの使用率を測定した期間が所定の期間を超えた時点で分析してもよい。これにより、分析装置２０４は、分析対象仮想マシンのデータが十分に蓄積するまでの時間より早く、分析を行うことができる。
【０１９８】
また、分析装置２０４によれば、類似仮想マシンが探索された場合、変更後の前記第２の物理マシン上で動作する類似仮想マシンの動作情報を出力してもよい。出力した結果を用いて分析することにより、分析装置２０４は、分析精度を向上することができる。
【０１９９】
また、分析装置２０４によれば、変更後の分析対象仮想マシンの動作情報に含まれる使用率の測定された期間が所定の期間未満である場合に、類似仮想マシンの探索を行ってもよい。これにより、分析装置２０４、変更後の分析対象仮想マシンの動作情報が不足するときに限り、変更後の類似仮想マシンの動作情報を用いて分析するため、常に変更後の類似仮想マシンの動作情報を用いて分析する場合よりも分析精度を向上することができる。
【０２００】
また、分析装置２０４によれば、変更前の分析対象仮想マシンの動作情報と類似する仮想マシンのうち、変更後の第２の物理マシン上で動作する仮想マシンの動作情報に含まれる使用率の測定された期間が所定の期間以上の仮想マシンを類似仮想マシンとしてもよい。これにより、変更後の類似仮想マシンの動作情報のデータ量が十分にあるため、分析精度を向上することができる。
【０２０１】
また、分析装置２０４によれば、変更前の分析対象仮想マシンおよび変更前の類似仮想マシンのハードウェア資源の使用率の差分と変更後の類似仮想マシンの使用率とに基づいて、変更後の分析対象仮想マシンの利用率を算出してもよい。これにより、分析装置２０４は、単に変更後の類似仮想マシンの使用率を用いて分析するより分析精度を向上することができる。
【０２０２】
また、分析装置２０４によれば、第１の物理マシンと変更内容の種別が一致し、かつ、第１の物理マシン上で変更された仮想マシンの構成と変更後の第１の物理マシンの構成とが類似する物理マシンを探索してもよい。これにより、分析装置２０４は、変更前の変更されなかった仮想マシンの構成が類似するか否かを判断しなくてよくなるため、第２の物理マシンを探索する処理について処理量を減らすことができる。
【０２０３】
また、分析装置２０４によれば、変更前後の第１の物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別が一致する物理マシンを探索してもよい。また、分析装置２０４によれば、変更前後の第１の物理マシン上で動作する仮想マシンそれぞれに割り当てられたハードウェア資源の量が類似する物理マシンを探索してもよい。また、分析装置２０４によれば、第１の物理マシンが有するハードウェア資源の量が類似する物理マシンを探索してもよい。これにより、分析装置２０４は、変更後の分析対象マシンの動作情報とより類似する仮想マシンを探索することができる。
【０２０４】
また、分析装置２０４によれば、物理マシン上で動作する仮想マシンの変更に応じて、変更後の物理マシンの構成に基づいて、第２の構成情報を更新してもよい。これにより、分析装置２０４は、動作情報ログ２２１のデータ量を少なくして、記憶リソースを圧迫することを抑制することができる。
【０２０５】
また、分析装置２０４によれば、分析対象仮想マシンと構成が類似し、かつ、分析対象仮想マシンと変更前の動作情報が類似する仮想マシンを類似仮想マシンとして探索してもよい。これにより、分析装置２０４は、仮想マシンの構成が類似する分、変更後の物理マシン上で動作する分析対象の仮想マシンに、より類似するような動作の傾向となる類似仮想マシンを探索することができる。
【０２０６】
なお、本実施の形態で説明した分析支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本分析支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本分析支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２０７】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２０８】
（付記１）コンピュータに、
分析対象となる第１の仮想マシンが動作する第１の物理マシン上で前記第１の仮想マシン以外の仮想マシンが変更された変更前後の前記第１の物理マシンの構成を特定する第１の構成情報に基づいて、前記第１の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の前記物理マシンの構成を特定する第２の構成情報を参照して、前記第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索し、
前記第２の物理マシンが探索された場合、変更前の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に基づいて、変更前の前記第２の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第２の物理マシン上で動作する仮想マシンのうち前記第１の仮想マシンと動作情報が類似する第２の仮想マシンを探索する、
処理を実行させることを特徴とする分析支援プログラム。
【０２０９】
（付記２）前記コンピュータに、
前記第２の仮想マシンが探索された場合、変更後の前記第２の物理マシン上で動作する前記第２の仮想マシンの動作情報を出力する、
処理を実行させることを特徴とする付記１に記載の分析支援プログラム。
【０２１０】
（付記３）前記第１の仮想マシンの動作情報は、前記第１の仮想マシンが単位時間当たりに使用した前記第１の物理マシンのハードウェア資源の使用率を含み、
前記コンピュータに、
変更後の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に含まれる使用率の測定された期間が所定の期間未満であるか否かを判断する、処理を実行させ、
前記第２の物理マシンを探索する処理は、
変更後の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に含まれる使用率の測定された期間が前記所定の期間未満であると判断された場合、前記第１の構成情報に基づいて、前記第２の構成情報を参照して、前記第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索することを特徴とする付記１または２に記載の分析支援プログラム。
【０２１１】
（付記４）前記第２の物理マシン上で動作する仮想マシンの動作情報は、前記第２の物理マシン上で動作する仮想マシンが単位時間当たりに使用した前記第２の物理マシンのハードウェア資源の使用率を含み、
前記第２の仮想マシンを探索する処理は、
前記第２の物理マシンが探索された場合、変更前の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に基づいて、変更前後の前記第２の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第２の物理マシン上で動作する仮想マシンのうち前記第１の仮想マシンと動作情報が類似し、かつ、変更後の前記第２の物理マシン上で動作する仮想マシンの動作情報に含まれる使用率の測定された期間が前記所定の期間以上である第２の仮想マシンを探索することを特徴とする付記３に記載の分析支援プログラム。
【０２１２】
（付記５）前記コンピュータに、
前記第２の仮想マシンが探索された場合、変更前の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に含まれる使用率および変更前の前記第２の物理マシン上で動作する前記第２の仮想マシンの動作情報に含まれる使用率の差分と、変更後の前記第２の物理マシン上で動作する前記第２の仮想マシンの動作情報に含まれる使用率とに基づいて、変更後の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に含まれる利用率を算出する、
処理を実行させることを特徴とする付記４に記載の分析支援プログラム。
【０２１３】
（付記６）前記第１の構成情報は、前記第１の物理マシン上で変更された仮想マシンを特定する情報および変更内容の種別とを有しており、
前記第２の構成情報は、前記物理マシン上で変更された仮想マシンを特定する情報および変更内容の種別とを有しており、
前記第２の物理マシンを探索する処理は、
前記第１の構成情報に基づいて、前記第２の構成情報を参照して、前記第１の物理マシンと変更内容の種別が一致し、かつ、前記第１の物理マシン上で変更された仮想マシンの構成と変更後の前記第１の物理マシンの構成とが類似する物理マシンを探索することにより、前記第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索することを特徴とする付記１〜５のいずれか一つに記載の分析支援プログラム。
【０２１４】
（付記７）前記第１の構成情報は、変更前後の前記第１の物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別と、当該仮想マシンそれぞれに割り当てられたハードウェア資源の量と、前記第１の物理マシンが有するハードウェア資源の量とを含み、
前記第２の構成情報は、変更前後の前記物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別と、当該仮想マシンそれぞれに割り当てられたハードウェア資源と、前記物理マシンが有するハードウェア資源の量とを含み、
前記第２の物理マシンを探索する処理は、
前記第１の構成情報に基づいて、前記第２の構成情報を参照して、変更前後の前記第１の物理マシン上で動作する仮想マシンそれぞれが実行するソフトウェアの種別が一致し、変更前後の前記第１の物理マシン上で動作する仮想マシンそれぞれに割り当てられたハードウェア資源の量が類似し、前記第１の物理マシンが有するハードウェア資源の量が類似する物理マシンを探索することにより、前記第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索することを特徴とする付記１〜６のいずれか一つに記載の分析支援プログラム。
【０２１５】
（付記８）前記コンピュータに、
前記物理マシン上で動作する仮想マシンの変更に応じて、変更後の前記物理マシンの構成に基づいて、前記第２の構成情報を更新する、処理を実行させ、
前記第２の物理マシンを探索する処理は、
前記第１の構成情報に基づいて、更新した前記第２の構成情報を参照して、前記第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索することを特徴とする付記１〜７のいずれか一つに記載の分析支援プログラム。
【０２１６】
（付記９）前記第２の仮想マシンを探索する処理は、
前記第２の物理マシンが探索された場合、変更前の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に基づいて、変更前の前記第２の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第２の物理マシン上で動作する仮想マシンのうち前記第１の仮想マシンと構成が類似し、かつ、前記第１の仮想マシンと動作情報が類似する第２の仮想マシンを探索する、ことを特徴とする付記１〜８のいずれか一つに記載の分析支援プログラム。
【０２１７】
（付記１０）分析対象となる第１の仮想マシンが動作する第１の物理マシン上で前記第１の仮想マシン以外の仮想マシンが変更された変更前後の前記第１の物理マシンの構成を特定する第１の構成情報に基づいて、前記第１の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の前記物理マシンの構成を特定する第２の構成情報を参照して、前記第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索し、
前記第２の物理マシンが探索された場合、変更前の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に基づいて、変更前の前記第２の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第２の物理マシン上で動作する仮想マシンのうち前記第１の仮想マシンと動作情報が類似する第２の仮想マシンを探索する、
処理を実行させる分析支援プログラムを記録したことを特徴とする記録媒体。
【０２１８】
（付記１１）分析対象となる第１の仮想マシンが動作する第１の物理マシン上で前記第１の仮想マシン以外の仮想マシンが変更された変更前後の前記第１の物理マシンの構成を特定する第１の構成情報に基づいて、前記第１の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の前記物理マシンの構成を特定する第２の構成情報を参照して、前記第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索する第１探索部と、
前記第１探索部によって前記第２の物理マシンが探索された場合、変更前の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に基づいて、変更前の前記第２の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第２の物理マシン上で動作する仮想マシンのうち前記第１の仮想マシンと動作情報が類似する第２の仮想マシンを探索する第２探索部と、
を有することを特徴とする分析支援装置。
【０２１９】
（付記１２）分析対象となる第１の仮想マシンが動作する第１の物理マシン上で前記第１の仮想マシン以外の仮想マシンが変更された変更前後の前記第１の物理マシンの構成を特定する第１の構成情報に基づいて、前記第１の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の前記物理マシンの構成を特定する第２の構成情報を参照して、前記第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索する第１探索部と、
前記第１探索部によって前記第２の物理マシンが探索された場合、変更前の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に基づいて、変更前の前記第２の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第２の物理マシン上で動作する仮想マシンのうち前記第１の仮想マシンと動作情報が類似する第２の仮想マシンを探索する第２探索部と、
を有するコンピュータを含むことを特徴とする分析支援装置。
【０２２０】
（付記１３）コンピュータが、
分析対象となる第１の仮想マシンが動作する第１の物理マシン上で前記第１の仮想マシン以外の仮想マシンが変更された変更前後の前記第１の物理マシンの構成を特定する第１の構成情報に基づいて、前記第１の物理マシン以外の物理マシン上で動作する仮想マシンが変更された変更前後の前記物理マシンの構成を特定する第２の構成情報を参照して、前記第１の物理マシンと変更前後の構成が類似する第２の物理マシンを探索し、
前記第２の物理マシンが探索された場合、変更前の前記第１の物理マシン上で動作する前記第１の仮想マシンの動作情報に基づいて、変更前の前記第２の物理マシン上で動作する仮想マシンの動作情報を参照して、変更前後の前記第２の物理マシン上で動作する仮想マシンのうち前記第１の仮想マシンと動作情報が類似する第２の仮想マシンを探索する、
処理を実行することを特徴とする分析支援方法。
【符号の説明】
【０２２１】
１００  システム
１０１  分析支援装置
２００  クラウドシステム
２０４  分析装置
２１１  物理マシン構成情報
２１２  仮想マシン構成情報
２２１  動作情報ログ
２２２  構成変更記録
４０１  判断部
４０２  第１探索部
４０３  第２探索部
４０４  出力部
４０５  算出部
４０６  更新部
【図１】
2015011362.tif 000003
【図２】
2015011362.tif 000004
【図３】
2015011362.tif 000005
【図４】
2015011362.tif 000006
【図５】
2015011362.tif 000007
【図６】
2015011362.tif 000008
【図７】
2015011362.tif 000009
【図８】
2015011362.tif 000010
【図９】
2015011362.tif 000011
【図１０】
2015011362.tif 000012
【図１１】
2015011362.tif 000013
【図１２】
2015011362.tif 000014
【図１３】
2015011362.tif 000015
【図１４】
2015011362.tif 000016
【図１５】
2015011362.tif 000017
【図１６】
2015011362.tif 000018
【図１７】
2015011362.tif 000019
【図１８】
2015011362.tif 000020
【図１９】
2015011362.tif 000021
【図２０】
2015011362.tif 000022
【図２１】
2015011362.tif 000023
【図２２】
2015011362.tif 000024
【図２３】
2015011362.tif 000025
【図２４】
2015011362.tif 000026
【図２５】
2015011362.tif 000027
【図２６】
2015011362.tif 000028
【図２７】
2015011362.tif 000029
【図２８】
2015011362.tif 000030
【図２９】
2015011362.tif 000031
【図３０】
2015011362.tif 000032