(57)【要約】【課題】情報処理装置の状態が変化してから計算資源の制御を行うまでにかかる時間を低減すること。【解決手段】制御装置１００は、情報処理装置が実行するホストＯＳから入力した運用データに基づき選定された複数の基準データを、記憶部１１０に記憶する。制御装置１００は、予測要求を受け付け、記憶部１１０を参照して、予測対象である予測対象基準データと、他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、複数の基準データから一又は複数の選択基準データを選択する。制御装置１００は、選択した一又は複数の選択基準データに基づき、予測対象基準データの予測値を計算する。制御装置１００は、計算した予測対象基準データの予測値と予め定められた基準値に基づき、制御装置１００の計算資源を制御する。【選択図】図１
2018067113.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算資源を有する情報処理装置を管理する制御装置において、
前記情報処理装置が実行するホストＯＳから入力した運用データに基づき選定された複数の基準データを記憶する記憶部と、
入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、前記複数の基準データから一又は複数の選択基準データを選択する選択部と、
前記選択部が選択した前記一又は複数の選択基準データに基づき、前記予測対象基準データの予測値を計算する計算部と、
前記計算部が計算した前記予測対象基準データの予測値と予め定められた基準値に基づき、前記情報処理装置の計算資源を制御する制御部と、
を有することを特徴とする制御装置。
【請求項２】
前記基準データは複数の時点の各々における性能値を含み、
前記計算部は、
前記一又は複数の選択基準データのそれぞれの選択基準データについて所定の時点の性能値との間でのＬ２ノルムが所定の閾値以下になる前記所定の時点より前の時点の性能値を特定し、特定した前記性能値に基づいて前記予測対象基準データの予測値の統計値を計算する、ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記情報処理装置の計算資源は仮想マシンに割り当て可能な計算資源であり、
前記基準値は予め定められた情報処理装置の、前記仮想マシンに関する状態を示す性能値であり、
前記制御部は、
前記計算部が計算した前記予測対象基準データの予測値が、前記基準値よりも性能が低いことを示す性能値である場合、前記仮想マシンに割り当てる情報処理装置の計算資源を増加させる、ことを特徴とする請求項１又は２に記載の制御装置。
【請求項４】
前記情報処理装置の計算資源は仮想マシンに割り当て可能な計算資源であり、
前記基準値は予め定められた情報処理装置の、前記仮想マシンに関する状態を示す性能値であり、
前記制御部は、
前記計算部が計算した前記予測対象基準データの予測値が、前記基準値よりも性能が高いことを示す性能値である場合、前記仮想マシンに割り当てる情報処理装置の計算資源を減少させる、ことを特徴とする請求項１〜３のいずれか一つに記載の制御装置。
【請求項５】
複数の計算資源を有する情報処理装置の制御方法において、
前記情報処理装置が実行するホストＯＳから入力した運用データに基づき選定された複数の基準データを記憶する記憶部を有する制御装置が、
入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、前記複数の基準データから一又は複数の選択基準データを選択し、
選択した前記一又は複数の選択基準データに基づき、前記予測対象基準データの予測値を計算し、
計算した前記予測対象基準データの予測値と予め定められた基準値に基づき、前記情報処理装置の計算資源を制御する、
処理を実行することを特徴とする情報処理装置の制御方法。
【請求項６】
複数の計算資源を有する情報処理装置の制御プログラムにおいて、
前記情報処理装置が実行するホストＯＳから入力した運用データに基づき選定された複数の基準データを記憶する記憶部を有する制御装置に、
入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、前記複数の基準データから一又は複数の選択基準データを選択し、
選択した前記一又は複数の選択基準データに基づき、前記予測対象基準データの予測値を計算し、
計算した前記予測対象基準データの予測値と予め定められた基準値に基づき、前記情報処理装置の計算資源を制御する、
処理を実行させることを特徴とする情報処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、情報処理装置の制御方法、および情報処理装置の制御プログラムに関する。
【背景技術】
【０００２】
従来、データセンターの計算資源を監視し、ＳＬＡ（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ）を満たすように、データセンターにおいてＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ：仮想マシン）に割り当てる計算資源を自律的に制御する技術がある。
【０００３】
先行技術としては、例えば、ＤＢ（Ｄａｔａ  Ｂａｓｅ）測定情報および仮想ＤＢサーバの構成情報に基づいて設定するネットワークパスごとの帯域使用量の上限値を決定して出力するものがある。また、例えば、プログラムモジュールごとの負荷の測定結果に基づいて、各プログラムモジュールに割当てられているプロセス数を変更すべきかを判定する技術がある。また、例えば、コンピューティング環境に関連付けられたデータに基づいて将来の作業負荷レベルを予測し、将来の作業負荷レベルを満たすには現在のリソース・デプロイメントが不十分又は過度であると推定された場合、１つ又は複数のアクションを実行する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１３３６３０号公報
【特許文献２】特開２０１４−１６４４２５号公報
【特許文献３】特表２００６−５２００２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、データセンターの計算資源の負荷が変動した場合、データセンターの計算資源の負荷が変動してからデータセンターの計算資源の制御を行うまでにタイムラグが有るため、ＳＬＡを満たさなくなる可能性がある。例えば、ＶＭを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）使用率が増大した場合、ＶＭのＣＰＵ使用率が増大してからＶＭへのＣＰＵリソースの割り当てを変更するまでに比較的大きな時間がかかり、ＳＬＡを満たさなくなる可能性がある。
【０００６】
１つの側面では、本発明は、情報処理装置の状態が変化してから計算資源の制御を行うまでにかかる時間を低減することができる制御装置、情報処理装置の制御方法、および情報処理装置の制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、複数の計算資源を有する情報処理装置が実行するホストＯＳから入力した運用データに基づき選定された複数の基準データを記憶する記憶部を参照して、入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、前記複数の基準データから一又は複数の選択基準データを選択し、選択した前記一又は複数の選択基準データに基づき、前記予測対象基準データの予測値を計算し、計算した前記予測対象基準データの予測値と予め定められた基準値に基づき、前記情報処理装置の計算資源を制御する制御装置、制御方法、および制御プログラムが提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、情報処理装置の状態が変化してから計算資源の制御を行うまでにかかる時間を低減することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる制御方法の一実施例を示す説明図である。
【図２】図２は、情報処理システム２００の一例を示す説明図である。
【図３】図３は、制御装置１００のハードウェア構成例を示すブロック図である。
【図４】図４は、メトリックに関する時系列データのデータ構造の一例を示す説明図である。
【図５】図５は、制御装置１００の機能的構成例を示すブロック図である。
【図６】図６は、制御装置１００の具体的な構成例を示すブロック図である。
【図７】図７は、実施例１における制御装置１００の動作例を示す説明図（その１）である。
【図８】図８は、実施例１における制御装置１００の動作例を示す説明図（その２）である。
【図９】図９は、実施例１における制御装置１００の動作例を示す説明図（その３）である。
【図１０】図１０は、実施例１における制御装置１００の動作例を示す説明図（その４）である。
【図１１】図１１は、実施例１における制御装置１００の動作例を示す説明図（その５）である。
【図１２】図１２は、実施例１における基準データの別の例を示す説明図である。
【図１３】図１３は、実施例１における予測処理手順の一例を示すフローチャートである。
【図１４】図１４は、実施例１における制御処理手順の一例を示すフローチャート（その１）である。
【図１５】図１５は、実施例１における制御処理手順の一例を示すフローチャート（その２）である。
【図１６】図１６は、実施例２における制御装置１００の動作例を示す説明図（その１）である。
【図１７】図１７は、実施例２における制御装置１００の動作例を示す説明図（その２）である。
【図１８】図１８は、実施例２における予測処理手順の一例を示すフローチャートである。
【図１９】図１９は、実施例２における制御処理手順の一例を示すフローチャートである。
【図２０】図２０は、実施例３における制御装置１００の動作例を示す説明図（その１）である。
【図２１】図２１は、実施例３における制御装置１００の動作例を示す説明図（その２）である。
【図２２】図２２は、実施例３における予測処理手順の一例を示すフローチャートである。
【図２３】図２３は、実施例３における制御処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、本発明にかかる制御装置、制御方法、および制御プログラムの実施の形態を詳細に説明する。
【００１１】
（実施の形態にかかる制御方法の一実施例）
図１は、実施の形態にかかる制御方法の一実施例を示す説明図である。制御装置１００は、情報処理装置を管理するコンピュータである。情報処理装置は、複数の計算資源を有するコンピュータである。情報処理装置は、例えば、データセンターにあるサーバである。計算資源は、例えば、サーバのＣＰＵリソース等である。
【００１２】
データセンターを利用させるサービスでは、サービスの提供者とサービスの利用者との間で取り決められたＳＬＡを満たすようにして、サービスの利用者が望んでいるユーザビリティを確保することが求められる傾向がある。例えば、データセンターにあるサーバによって実行され、利用者によって利用されるＶＭに、利用者が望んでいるＶＭの性能を確保することができるＣＰＵリソースを割り当てることにより、ＳＬＡを満たすようにすることが考えられる。
【００１３】
一方で、データセンターの消費電力を低減することも求められる傾向がある。例えば、データセンターにあるサーバのうち、起動中のサーバの数を少なくすることにより、消費電力を低減することが考えられる。このように、データセンターを利用させるサービスでは、ＳＬＡを満たしつつ、データセンターの消費電力を低減することが好ましい。
【００１４】
しかしながら、ＳＬＡを満たしつつデータセンターの消費電力を低減することは困難である。例えば、起動中のサーバの数を少なくしていると、ＶＭのＣＰＵ使用率が時間経過にともなって変動したことに応じて、ＶＭに割り当てたＣＰＵリソースが不足してＳＬＡを満たさなくなる期間が発生してしまう可能性が大きくなる。
【００１５】
これに対し、例えば、ＶＭのＣＰＵ使用率の変動に備えて、いくつかのサーバをホットスタンバイ状態で起動させておくことにより、ＳＬＡを満たさない期間が発生することを抑制する場合が考えられる。しかしながら、この場合、ホットスタンバイ状態のサーバには消費電力がかかってしまうため、データセンターの消費電力を効率よく低減することができない。
【００１６】
さらに、例えば、ＶＭのＣＰＵ使用率の変動を予測し、予測した結果に応じてＶＭに割り当てるＣＰＵリソースを制御することにより、ＳＬＡを満たさない期間が発生することを抑制しつつ、データセンターの消費電力を低減する場合も考えられる。しかしながら、この場合であっても、ＶＭのＣＰＵ使用率の変動を予測する際に時間がかかり、ＶＭのＣＰＵ使用率の変動のタイミングまでに、ＶＭに割り当てるＣＰＵリソースの制御が間に合わなければ、ＳＬＡを満たさない期間が発生してしまう可能性がある。
【００１７】
そこで、本実施の形態では、ＪＩＴ（Ｊｕｓｔ−Ｉｎ−Ｔｉｍｅ）モデリングによってデータセンターの計算資源についての負荷を予測することにより、ＳＬＡを満たしつつデータセンターの消費電力を効率よく低減することができる制御方法について説明する。さらに、本実施の形態によれば、複数のメトリック（ｍｅｔｒｉｃ）のうち、ＪＩＴモデリングに使用するメトリックを選択することにより、ＪＩＴモデリングにかかる時間を低減し、ＳＬＡを満たさない期間を発生しづらくすることができる。
【００１８】
（１−１）制御装置１００は、情報処理装置が実行するホストＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）から入力した運用データに基づき選定された複数の基準データを、記憶部１１０に記憶する。運用データは、性能値に関する時系列データである。運用データは、例えば、情報処理装置が実行するホストＯＳ上のパフォーマンスモニタから取得される、情報処理装置の状態を示す性能値に関する時系列データである。
【００１９】
基準データは、運用データから選定された、所定のメトリックに関する時系列データである。基準データは、データセンターに複数のＶＭがあれば、それぞれのＶＭの所定のメトリックに関する時系列データを含んでもよい。メトリックは、例えば、ＶＭのＣＰＵ使用率、メモリ使用率、ＤＩＳＫコマンド数、ネットワーク送受信速度、ＤＩＳＫ読み込み回数、ＤＩＳＫ書込回数、ＤＩＳＫキュー平均待ち時間、送受信データ量などである。メトリックは、具体的には、１００個以上あってもよい。
【００２０】
（１−２）制御装置１００は、予測要求を受け付ける。予測要求は、予測対象である予測対象基準データを指定する情報を含む。予測対象基準データは、予測対象のメトリックに関する時系列データである。予測対象基準データは、例えば、ＶＭのＣＰＵ使用率に関する時系列データである。
【００２１】
（１−３）制御装置１００は、入力された予測要求に基づいて算出された、予測対象である予測対象基準データと、他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、複数の基準データから一又は複数の選択基準データを選択する。
【００２２】
制御装置１００は、例えば、ＶＭのＣＰＵ使用率に関する時系列データと、メモリ使用率に関する時系列データとの相関係数を算出する。また、制御装置１００は、例えば、ＶＭのＣＰＵ使用率に関する時系列データと、ＤＩＳＫコマンド数に関する時系列データとの相関係数を算出する。また、制御装置１００は、例えば、ＶＭのＣＰＵ使用率に関する時系列データと、ネットワーク送受信速度に関する時系列データとの相関係数を算出する。
【００２３】
また、制御装置１００は、例えば、ＶＭのＣＰＵ使用率に関する時系列データと、ＤＩＳＫ読み込み回数に関する時系列データとの相関係数を算出する。また、制御装置１００は、例えば、ＶＭのＣＰＵ使用率に関する時系列データと、ＤＩＳＫ書込回数に関する時系列データとの相関係数を算出する。また、制御装置１００は、ＶＭのＣＰＵ使用率に関する時系列データと、ＤＩＳＫキュー平均待ち時間に関する時系列データとの相関係数を算出する。
【００２４】
そして、制御装置１００は、例えば、複数の基準データのうち、算出した相関係数が大きい順に、所定の数の基準データを選択する。制御装置１００は、複数の基準データのうち、算出した相関係数が所定の閾値以上である基準データを選択してもよい。
【００２５】
（１−４）制御装置１００は、選択した一又は複数の選択基準データに基づき、予測対象基準データの予測値を計算する。制御装置１００は、例えば、選択した一又は複数の選択基準データをＪＩＴモデリングに使用し、局所的なモデルを作成してＶＭのＣＰＵ使用率に関する時系列データに次に追加されるＶＭのＣＰＵ使用率を予測した予測値を計算する。
【００２６】
ＪＩＴモデリングは、種々のメトリックのデータを蓄積しておき、現在の種々のメトリックのデータとの間でのＬ２ノルムが所定の閾値以下になる過去の時点の種々のメトリックのデータから局所的なモデルを作成し、何らかのメトリックのデータの予測値を計算する技術である。
【００２７】
（１−５）制御装置１００は、計算した予測対象基準データの予測値と予め定められた基準値に基づき、制御装置１００の計算資源を制御する。制御装置１００は、例えば、ＶＭのＣＰＵ使用率の予測値が閾値以上であれば、ＶＭに割り当てる計算資源を増やす。閾値は、例えば、ＶＭに割り当て中のＣＰＵリソースの９０％である。
【００２８】
これにより、制御装置１００は、ＪＩＴモデリングによって何らかのメトリックのデータの予測値を計算し、計算した予測値に基づいてデータセンターの計算資源についての負荷を予測することができる。このため、制御装置１００は、ＳＬＡを満たしつつデータセンターの消費電力を効率よく低減することができるように、情報処理装置の計算資源を制御することができる。また、制御装置１００は、消費電力を効率よく低減しづらくてもＳＬＡを満たす確率が大きくなるように、情報処理装置の計算資源を制御してもよい。
【００２９】
さらに、制御装置１００は、複数のメトリックのうち、ＪＩＴモデリングに使用するメトリックを選択し、ＪＩＴモデリングにかかる時間を低減することができる。このため、制御装置１００は、ＪＩＴモデリングに時間がかかり、データセンターの計算資源についての負荷の変動のタイミングまでに、計算資源の制御が間に合わなくなることを抑制することができる。結果として、制御装置１００は、ＳＬＡを満たさない期間が発生してしまう可能性を低減することができる。
【００３０】
また、制御装置１００は、ＪＩＴモデリングによって、データセンターのように物理現象が複雑な場所についても、予測対象の何らかのメトリックのデータの予測値を精度よく計算することができる。また、制御装置１００は、ＪＩＴモデリングによって、予測対象の何らかのメトリックのデータが、非線形な特定を有していても、予測対象の何らかのメトリックのデータの予測値を精度よく計算することができる。
【００３１】
（情報処理システム２００の一例）
次に、図１に示した制御装置１００を適用した、情報処理システム２００の一例について説明する。
【００３２】
図２は、情報処理システム２００の一例を示す説明図である。図２において、情報処理システム２００は、制御装置１００と、情報処理装置２０１とを含む。情報処理システム２００において、制御装置１００と情報処理装置２０１とは、有線又は無線のネットワーク２１０を介して接続される。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００３３】
制御装置１００は、情報処理装置２０１を管理するコンピュータである。制御装置１００は、具体的には、サーバである。制御装置１００は、データセンターにあるサーバである。制御装置１００は、データセンターの外にあるサーバであってもよい。情報処理装置２０１は、計算資源を有するコンピュータである。情報処理装置２０１は、ＶＭを実行することができる。情報処理装置２０１は、例えば、ホストＯＳによってＶＭを実行する。情報処理装置２０１は、例えば、ハイパーバイザによってＶＭを実行してもよい。情報処理装置２０１は、具体的には、サーバである。制御装置１００は、いずれかの情報処理装置２０１と一体であってもよい。
【００３４】
（制御装置１００のハードウェア構成例）
次に、図３を用いて、制御装置１００のハードウェア構成例について説明する。
【００３５】
図３は、制御装置１００のハードウェア構成例を示すブロック図である。図３において、制御装置１００は、ＣＰＵ３０１と、メモリ３０２と、ネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、ディスクドライブ３０４と、ディスク３０５と、記録媒体Ｉ／Ｆ３０６と、ＢＭＣ（Ｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）３０７とを有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００３６】
ここで、ＣＰＵ３０１は、制御装置１００の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００３７】
ネットワークＩ／Ｆ３０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータ（例えば、図２に示したクライアント装置２０２）に接続される。そして、ネットワークＩ／Ｆ３０３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークＩ／Ｆ３０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００３８】
ディスクドライブ３０４は、ＣＰＵ３０１の制御に従ってディスク３０５に対するデータのリード／ライトを制御する。ディスクドライブ３０４は、例えば、磁気ディスクドライブである。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する不揮発メモリである。ディスク３０５は、例えば、磁気ディスク、光ディスクなどである。メモリ３０２、又はディスク３０５は、複数のメトリックのそれぞれのメトリックに関する時系列データを基準データとして記憶する、図４に後述するＤＢ（ＤａｔｅＢａｓｅ）４００を実現する。
【００３９】
記録媒体Ｉ／Ｆ３０６は、外部の記録媒体３０８に接続され、外部の記録媒体３０８と内部のインターフェースを司り、外部の記録媒体３０８に対するデータの入出力を制御する。記録媒体Ｉ／Ｆ３０６は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポートである。記録媒体３０８は、例えば、ＵＳＢメモリである。記録媒体３０８は、実施の形態にかかる制御プログラムを記憶してもよい。ＢＭＣ３０７は、ハードウェアの監視、ハードウェアの遠隔操作を行う。
【００４０】
制御装置１００は、上述した構成部のほか、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、半導体メモリ、キーボード、マウス、ディスプレイなどを有することにしてもよい。また、制御装置１００は、ディスクドライブ３０４およびディスク３０５の代わりに、ＳＳＤおよび半導体メモリなどを有していてもよい。また、制御装置１００は、ディスクドライブ３０４、ディスク３０５、記録媒体Ｉ／Ｆ３０６を有していなくてもよい。
【００４１】
（メトリックに関する時系列データのデータ構造の一例）
次に、図４を用いて、ＤＢ４００に基準データとして記憶されるメトリックに関する時系列データのデータ構造の一例について説明する。ＤＢ４００は、例えば、図３に示した制御装置１００のメモリ３０２、ディスク３０５により実現される。
【００４２】
図４は、メトリックに関する時系列データのデータ構造の一例を示す説明図である。図４に示すように、メトリックに関する時系列データは、メトリックの名称と、データの取得時刻と、物理ホストのアドレスと、仮想マシンのアドレスと、メトリックのデータとのフィールド４０１〜４０５を有する。
【００４３】
メトリックの名称のフィールド４０１には、メトリックの名称が設定される。メトリックの名称は、図４の例では、送受信データ量である。データの取得時刻のフィールド４０２には、メトリックに関するデータが取得された時刻が設定される。物理ホストのアドレスのフィールド４０３には、物理ホストを特定する情報として物理ホストのアドレスが設定される。仮想マシンのアドレスのフィールド４０４には、仮想マシンを特定する情報として仮想マシンのアドレスが設定される。
【００４４】
メトリックのデータのフィールド４０５には、データの取得時刻のフィールド４０２に設定された時刻に取得された、メトリックの名称のフィールド４０１に名称が設定されたメトリックに関するデータが設定される。メトリックのデータのフィールド４０５には、物理マシン、又は物理マシンが実行する仮想マシンごとに、メトリックに関するデータが設定される。
【００４５】
（情報処理装置２０１のハードウェア構成例）
情報処理装置２０１のハードウェア構成例は、制御装置１００のハードウェア構成例と同様であるため、説明を省略する。
【００４６】
（制御装置１００の機能的構成例）
次に、図５を用いて、制御装置１００の機能的構成例について説明する。
【００４７】
図５は、制御装置１００の機能的構成例を示すブロック図である。制御装置１００は、記憶部５０１と、選択部５０２と、計算部５０３と、制御部５０４と、出力部５０５とを含む。
【００４８】
記憶部５０１は、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶領域によって実現される。選択部５０２〜出力部５０５は、具体的には、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶領域に記憶されたプログラムをＣＰＵ３０１に実行させることにより、又は、ネットワークＩ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶領域に記憶される。
【００４９】
記憶部５０１は、情報処理装置２０１が実行するホストＯＳから入力した運用データに基づき選定された複数の基準データを記憶する。基準データは複数の時点のそれぞれの時点の性能値を含む時系列データである。運用データは、性能値に関する時系列データである。運用データは、例えば、情報処理装置２０１が実行するホストＯＳ上のパフォーマンスモニタから取得される、情報処理装置２０１の状態を示す性能値に関する時系列データである。情報処理装置２０１の状態は、情報処理装置２０１が実行するＶＭの性能に関連し、情報処理装置２０１の負荷に関連する。
【００５０】
基準データは、運用データから選定された、所定のメトリックに関する時系列データである。基準データは、データセンターに複数のＶＭがあれば、それぞれのＶＭの所定のメトリックに関する時系列データを含んでもよい。メトリックは、例えば、ＶＭのＣＰＵ使用率、メモリ使用率、ＤＩＳＫコマンド数、ネットワーク送受信速度、ＤＩＳＫ読み込み回数、ＤＩＳＫ書込回数、ＤＩＳＫキュー平均待ち時間、送受信データ量などである。
【００５１】
記憶部５０１は、例えば、ＤＢ４００を記憶する。これにより、記憶部５０１は、ＤＢ４００に、ＪＩＴモデリングに使用する、複数のメトリックのそれぞれのメトリックに関する時系列データを記憶しておき、選択部５０２に参照させることができる。
【００５２】
選択部５０２は、入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、複数の基準データから一又は複数の選択基準データを選択する。
【００５３】
選択部５０２は、例えば、相関係数が大きい方から順に、所定の数の選択基準データを選択する。選択部５０２は、相関係数が所定の閾値以上である選択基準データを選択してもよい。これにより、選択部５０２は、ＪＩＴモデリングに用いられるメトリックに関する時系列データの数を少なくして、ＪＩＴモデリングにかかる時間を低減することができる。
【００５４】
計算部５０３は、選択部５０２が選択した一又は複数の選択基準データに基づき、予測対象基準データの予測値を計算する。計算部５０３は、ＪＩＴモデリングによって局所的なモデルを作成し、予測対象基準データの予測値を計算する。
【００５５】
計算部５０３は、例えば、一又は複数の選択基準データのそれぞれの選択基準データについて所定の時点の一又は複数の性能値との間でのＬ２ノルムが所定の閾値以下になる所定の時点より前の時点の一又は複数の性能値を特定する。そして、計算部５０３は、特定した一又は複数の性能値に基づいて予測対象基準データの予測値の統計値を計算する。所定の時点は、例えば、性能値を取得した最新の時点である。
【００５６】
計算部５０３は、具体的には、それぞれの選択基準データについて所定の時点の一又は複数の性能値との間でＬ２ノルムが所定の閾値以下になる、所定の時点より前の時点の一又は複数の性能値を特定する。そして、計算部５０３は、特定した一又は複数の性能値に基づいて予測対象基準データの予測値の統計値を計算する。これにより、計算部５０３は、データセンターの情報処理装置２０１の負荷を予測することができる。
【００５７】
制御部５０４は、計算部５０３が計算した予測対象基準データの予測値と予め定められた基準値に基づき、出力部５０５を介して情報処理装置２０１の計算資源の制御を行う。基準値は、予め定められた情報処理装置の、仮想マシンに関する状態を示す性能値である。基準値は、例えば、利用者が求める仮想マシンの性能が確保されるか否かについての判断基準となる性能値である。計算資源の制御は、例えば、仮想マシンへの計算資源の割り当ての変更である。計算資源の制御は、計算資源への電源供給の変更であってもよい。
【００５８】
制御部５０４は、例えば、計算部５０３が計算した予測対象基準データの予測値が、基準値よりも性能が低いことを示す性能値である場合、出力部５０５を介して仮想マシンに割り当てる情報処理装置２０１の計算資源を増加させる。制御部５０４は、具体的には、ＶＭのＣＰＵ使用率の予測値を計算した場合であれば、ＶＭに割り当てたＣＰＵリソースの９０％を基準値として採用する。制御部５０４は、出力部５０５を介して、情報処理装置２０１に制御信号を出力することにより、ＶＭに割り当てるＣＰＵリソースを変化させる。これにより、制御部５０４は、ＳＬＡを満たさなくなることを抑制することができる。
【００５９】
制御部５０４は、例えば、計算部５０３が計算した予測対象基準データの予測値が、基準値よりも性能が高いことを示す性能値である場合、仮想マシンに割り当てる情報処理装置２０１の計算資源を減少させる。制御部５０４は、具体的には、ＶＭのＣＰＵ使用率の予測値を計算した場合であれば、ＶＭに割り当てたＣＰＵリソースの５０％を基準値として採用する。制御部５０４は、出力部５０５を介して、情報処理装置２０１に制御信号を出力することにより、ＶＭに割り当てるＣＰＵリソースを変化させる。これにより、制御部５０４は、ＳＬＡを満たしつつ、データセンターの消費電力を低減することができる。
【００６０】
制御部５０４は、情報処理装置２０１の計算資源の制御を行った結果、情報処理装置２０１の計算資源が割り当てられた仮想マシンがなければ、情報処理装置２０１への電源供給の停止を行う。制御部５０４は、例えば、ＶＭが割り当てられていない情報処理装置２０１への電源供給の停止を行う。制御部５０４は、出力部５０５を介して、情報処理装置２０１に制御信号を出力することにより、情報処理装置２０１への電源供給の停止を行う。これにより、情報処理装置２０１は、消費電力を低減することができる。
【００６１】
出力部５０５は、制御部５０４にしたがって、制御信号を情報処理装置２０１に出力する。これにより、出力部５０５は、情報処理装置２０１の計算資源を制御することができ、ＳＬＡを満たしつつ、データセンターの消費電力の低減化を図ることができる。
【００６２】
（制御装置１００の具体的な構成例）
次に、図６を用いて、制御装置１００の具体的な構成例について説明する。
【００６３】
図６は、制御装置１００の具体的な構成例を示すブロック図である。図６に示すように、制御装置１００は、ＪＩＴ予測ソフトウェア６００によって、メトリック選定部６０１と、変数選択部６０２と、タイマー部６０３と、近傍データセット検索部６０４と、予測値計算部６０５とを管理する。また、制御装置１００は、ＪＩＴ予測ソフトウェア６００によって、制御対象選択部６０６と、制御方針決定部６０７とを管理する。また、制御装置１００は、インフラ管理ソフトウェア６１０によって、制御受け取り部６１１と、制御指示部６１２とを管理する。
【００６４】
メトリック選定部６０１は、情報処理装置２０１のホストＯＳから運用データの入力を受け付ける。メトリック選定部６０１は、受け付けた運用データに基づいて、複数のメトリックのそれぞれのメトリックに関する時系列データを選定してＤＢ４００に記憶する。
【００６５】
変数選択部６０２は、モデル作成要求を受け付ける。モデル作成要求は、例えば、予測対象のメトリックを指定する要求であって、所定の間隔で入力される。モデル作成要求は、具体的には、データセンターの情報処理装置２０１の数の増減のタイミングにおいて、予測対象のメトリックに関するモデルを更新させるために自動で入力される。モデル作成要求は、具体的には、人手で入力されてもよい。モデル作成要求は、具体的には、毎日定時に、予測対象のメトリックに関するモデルを更新させるために入力されてもよい。
【００６６】
変数選択部６０２は、モデル作成要求を受け付けると、予測対象のメトリックと、他のメトリックとの相関係数を算出し、相関係数に基づいてＪＩＴモデリングによって作成されるモデルに用いるメトリックを選択する。また、変数選択部６０２は、ステップワイズ法を用いて、ＪＩＴモデリングによって作成されるモデルに用いる係数を計算する。これにより、変数選択部６０２は、モデルを定期的に更新して、予測値を計算する精度の向上を図ることができる。
【００６７】
タイマー部６０３は、一定時間ごとに近傍データセット検索部６０４に予測要求を出力し、近傍データセット検索部６０４を動作させる。近傍データセット検索部６０４は、過去データセットのうち、最新データセットとの間でのＬ２ノルムが所定の閾値以下になる近傍データセットを検索する。近傍データセット検索部６０４は、例えば、最新データセットと、それぞれの過去データセットとのＬ２ノルムを計算し、Ｌ２ノルムが相対的に小さい過去データセットを近傍データセットとして特定する。
【００６８】
予測値計算部６０５は、作成されたモデルに、特定された近傍データセットを入力することにより、予測対象のメトリックに関する予測値を計算する。予測値計算部６０５は、予測値を計算すると、ＤＢ４００に予測値を記憶する。これにより、予測値計算部６０５は、定期的に予測値を計算し、制御対象選択部６０６や制御方針決定部６０７によってＶＭに割り当てる計算資源が制御されるようにして、データセンターの消費電力の低減化が図られるようにすることができる。
【００６９】
制御対象選択部６０６は、ＤＢ４００に記憶された予測値に基づいて、制御対象のＶＭを選択する。制御方針決定部６０７は、選択されたＶＭに割り当てる計算資源についての制御方針を決定する。制御方針決定部６０７は、例えば、選択されたＶＭに割り当てるＣＰＵリソースの量を決定し、又は、選択されたＶＭを移動させる情報処理装置２０１を決定する。制御方針決定部６０７は、選択したＶＭと、決定した制御方針とを、制御受け取り部６１１に出力する。これにより、制御対象選択部６０６や制御方針決定部６０７は、ＳＬＡを満たしつつ、データセンターの消費電力の低減化を図ることができる。
【００７０】
制御受け取り部６１１は、制御方針決定部６０７から制御対象のＶＭと制御方針とを受け付け、制御指示部６１２に出力する。制御指示部６１２は、制御対象のＶＭを実行中の情報処理装置２０１に対して、制御方針にしたがって制御信号を出力する。これにより、制御受け取り部６１１や制御指示部６１２は、情報処理装置２０１を制御することができる。
【００７１】
（実施例１における制御装置１００の動作例）
次に、図７〜図１１を用いて、実施例１における制御装置１００の動作例について説明する。
【００７２】
図７〜図１１は、実施例１における制御装置１００の動作例を示す説明図である。図７において、制御装置１００は、ＪＩＴ予測ソフトウェア６００によって、一定時間ごとに、情報処理装置２０１から運用データを取得し、ＤＢ４００に記憶する。制御装置１００は、例えば、ＶＭのＯＳ上のパフォーマンスモニタから性能情報を取得し、取得した性能情報に応じたレコードをＤＢ４００に記憶された基準データに追加する。
【００７３】
また、制御装置１００は、例えば、情報処理装置２０１のホストＯＳ上のハードウェアイベント管理ソフトウェアからハードウェアイベント情報を取得し、取得したハードウェアイベント情報に応じたレコードをＤＢ４００に記憶された基準データに追加してもよい。また、制御装置１００は、例えば、情報処理装置２０１のハイパーバイザＡＰＩからハードウェアイベント情報を取得し、取得したハードウェアイベント情報に応じたレコードをＤＢ４００に記憶された基準データに追加してもよい。
【００７４】
これにより、制御装置１００は、ＤＢ４００に記憶された、複数のメトリックのそれぞれのメトリックに関する時系列データを更新することができる。結果として、制御装置１００は、ＪＩＴモデリングに使用するメトリックに関する時系列データを、最新の状態に更新することができる。次に、図８の説明に移行する。
【００７５】
図８において、制御装置１００は、予測対象である予測対象基準データとして、ＣＰＵ使用率に関する時系列データを指定する予測要求を受け付ける。制御装置１００は、予測要求を受け付けると、ＣＰＵ使用率に関する時系列データと、ＣＰＵ使用率とは異なる他のメトリックに関する時系列データとの相関係数を計算する。制御装置１００は、例えば、下記式（１）を用いて、ＣＰＵ使用率に関する時系列データと、送受信データ量に関する時系列データとの相関係数を計算する。
【００７６】
【数１】
2018067113.tif 000003
【００７７】
制御装置１００は、具体的には、ＶＭごとに、上記式（１）にＣＰＵ使用率と、送受信データ量と、ＣＰＵ使用率の標準偏差と、送受信データ量の標準偏差とを代入し、相関係数を計算する。そして、制御装置１００は、計算したＶＭごとの相関係数の統計値を、ＣＰＵ使用率に関する時系列データと、送受信データ量に関する時系列データとの相関係数として計算する。
【００７８】
制御装置１００は、ＶＭごとに相関係数を計算せず、複数のＶＭのそれぞれのＶＭのＣＰＵ使用率や送受信データ量をまとめて扱って、ＣＰＵ使用率に関する時系列データと、送受信データ量に関する時系列データとの相関係数を計算してもよい。制御装置１００は、複数のＶＭの代表としていずれかのＶＭを選択し、代表として選択したいずれかのＶＭについて算出した相関係数を、ＣＰＵ使用率に関する時系列データと、送受信データ量に関する時系列データとの相関係数として用いてもよい。
【００７９】
また、制御装置１００は、同様に、ＣＰＵ使用率に関する時系列データと、ＣＰＵ使用率や送受信データ量とは異なる、メモリ使用率やＤＩＳＫコマンド数などの他のメトリックに関する時系列データとの相関係数を計算する。これにより、制御装置１００は、算出した相関係数が大きく、ＣＰＵ使用率とは異なる他のメトリックのそれぞれのメトリックが、ＣＰＵ使用率の予測値を求める際に用いることがどのくらい好ましいかを示す指標値を得ることができる。次に、図９の説明に移行する。
【００８０】
図９において、制御装置１００は、算出した相関係数が大きい順に、複数のメトリックをソートする。制御装置１００は、ソートした複数のメトリックのうち、順位が１０位までのメトリックを、ＣＰＵ使用率の予測値を求めるためのＪＩＴモデリングに使用するメトリックに設定する。これにより、制御装置１００は、ＪＩＴモデリングの精度の低下を抑制しつつ、ＪＩＴモデリングにかかる時間の低減化を図ることができる。次に、図１０の説明に移行する。
【００８１】
図１０において、制御装置１００は、選択したそれぞれのメトリックに関する時系列データにおいて、最新の時点の性能値の集合である最新データセットとの間でのＬ２ノルムが所定の閾値以下になる過去の時点の性能値の集合である近傍データセットを検索する。制御装置１００は、例えば、下記式（２）を用いて、最新データセットと、過去のそれぞれの時点の性能値の集合である過去データセットとのＬ２ノルムを計算する。
【００８２】
【数２】
2018067113.tif 000004
【００８３】
ここで、ｔは過去の時点である。ｋtは過去の時点ｔに対応する過去データセットである。ｋqは最新データセットである。Ｄt（ｋt，ｋq）は最新データセットと過去の時点ｔに対応する過去データセットとのＬ２ノルムである。
【００８４】
そして、制御装置１００は、過去データセットのうち、計算したＬ２ノルムが小さい方から１０個の過去データセットを、近傍データセットとして特定する。制御装置１００は、過去データセットのうち、計算したＬ２ノルムが所定の閾値以下である過去データセットを、近傍データセットとして特定してもよい。
【００８５】
次に、制御装置１００は、下記式（３）を用いて、特定した近傍データセットごとに、ＣＰＵ使用率の予測値を計算する。制御装置１００は、例えば、ｎ個の近傍データセットのうち、ｊ番目の近傍データセットを用いてＣＰＵ使用率の予測値を計算する。
【００８６】
【数３】
2018067113.tif 000005
【００８７】
ここで、ｙjkqはｊ番目の近傍データセットに基づくＣＰＵ使用率の予測値である。β0は係数である。βiは係数である。β0やβiは例えば、送受信データ量に関する時系列データに基づいてステップワイズ法を用いて求められる。ｘiktはｊ番目の近傍データセットのｉ番目の性能値である。
【００８８】
次に、制御装置１００は、下記式（４）を用いて、計算したＣＰＵ使用率の予測値の統計値を計算する。制御装置１００は、例えば、統計値として平均値を計算する。制御装置１００は、統計値として、中央値やパーセンタイルを計算してもよい。
【００８９】
【数４】
2018067113.tif 000006
【００９０】
ここで、ｙkqはＣＰＵ使用率の予測値の統計値である。これにより、制御装置１００は、ＪＩＴモデリングによって、ＶＭのＣＰＵ使用率の予測値を計算し、データセンターの情報処理装置２０１の負荷を予測することができる。さらに、制御装置１００は、ＪＩＴモデリングにかかる時間を低減することができ、所定の時点になる前に所定の時点のＶＭのＣＰＵ使用率の予測値を求めておくことができる。次に、図１１の説明に移行する。
【００９１】
図１１において、制御装置１００は、計算したＣＰＵ使用率の予測値に基づいて、情報処理装置２０１の計算資源の制御を行う。計算資源は、例えば、ＣＰＵリソースである。制御は、情報処理装置２０１によって実行されるＶＭへの計算資源の割り当ての変更である。制御は、情報処理装置２０１の計算資源への電源供給の変更であってもよい。
【００９２】
（１１−１）制御装置１００は、例えば、情報処理装置２０１によって実行されるＶＭに対する、情報処理装置２０１のＣＰＵリソースの割り当てを増加、又は減少させる。制御装置１００は、具体的には、ＶＭのＣＰＵ使用率の予測値が、ＶＭに割り当てたＣＰＵリソースの９０％を超えている場合、ＶＭに割り当てるＣＰＵリソースを増加させる。
【００９３】
換言すれば、制御装置１００は、ＶＭのＣＰＵ使用率が、ＶＭに割り当てたＣＰＵリソースの１００％を超えてしまい、ＶＭの性能が低下してしまう可能性が比較的大きい場合に、ＶＭに割り当てるＣＰＵリソースを増加させることができる。これにより、制御装置１００は、ＳＬＡを満たさない期間が発生してしまう可能性を低減することができる。
【００９４】
また、制御装置１００は、具体的には、ＶＭのＣＰＵ使用率の予測値が、ＶＭに割り当てたＣＰＵリソースの５０％を下回っている場合、ＶＭに割り当てるＣＰＵリソースを、ＳＬＡを満たすようにしつつも、減少させる。
【００９５】
換言すれば、制御装置１００は、ＶＭのＣＰＵ使用率が、ＶＭに割り当てたＣＰＵリソースの５０％を下回り、ＶＭが使用しないＣＰＵリソースについての消費電力が比較的大きい場合に、ＶＭに割り当てるＣＰＵリソースを減少させることができる。これにより、制御装置１００は、ＳＬＡを満たしつつデータセンターの消費電力を効率よく低減することができる。
【００９６】
（１１−２）制御装置１００は、例えば、情報処理装置２０１によって実行されるＶＭを、他の情報処理装置２０１によって実行させるために、他の情報処理装置２０１に移動させる。具体的には、他の情報処理装置２０１のＣＰＵリソースが、他の情報処理装置２０１によって実行されるＶＭのＣＰＵ使用率の予測値の合計値に比べて大きく、他の情報処理装置２０１がさらにＶＭを実行可能な状態である場合がある。
【００９７】
この場合、制御装置１００は、さらにＶＭを実行可能な状態である他の情報処理装置２０１に、情報処理装置２０１によって実行されているＶＭを移動させる。これにより、制御装置１００は、データセンターにおいて、ＶＭを実行している情報処理装置２０１の数を減らすことができる。
【００９８】
（１１−３）制御装置１００は、例えば、情報処理装置２０１によって実行されるＶＭを、他の情報処理装置２０１に移動させた結果、情報処理装置２０１が実行するＶＭがなくなった場合、情報処理装置２０１への電源供給を停止する。これにより、制御装置１００は、データセンターの消費電力を効率よく低減することができる。
【００９９】
このように、制御装置１００は、情報処理装置２０１の負荷の変動に備えて、情報処理装置２０１をホットスタンバイ状態で起動しておかなくてもよいようにすることができる。制御装置１００は、例えば、情報処理装置１１０１〜１１０３のうち、情報処理装置１１０２，１１０３への電源供給を停止しておくことができる。
【０１００】
ここで、例えば、情報処理装置２０１は、ＣＰＵ使用率が０％であっても、ホットスタンバイ状態で起動している状態であると、消費電力として１３０Ｗ程度使用することがある。一方で、情報処理装置２０１は、電源供給を停止された状態であれば、消費電力としては１０Ｗ程度使用すればよいことがある。また、情報処理装置２０１は、起動中であってＣＰＵ使用率が１００％であると、消費電力として２８０Ｗ程度使用することがある。
【０１０１】
このため、制御装置１００は、データセンターの情報処理装置２０１の負荷を予測せずに、情報処理装置２０１の負荷の変動に備えて、情報処理装置２０１をホットスタンバイ状態で起動しておく場合に比べて、データセンターの消費電力を低減することができる。制御装置１００は、例えば、情報処理装置１１０１〜１１０３のうち、情報処理装置１１０２，１１０３をホットスタンバイ状態で起動しておく場合に比べて、データセンターの消費電力を４５％程度低減することができるようになる。
【０１０２】
さらに、制御装置１００は、消費電力を低減しても、ＳＬＡを満たさない期間が発生してしまう可能性を低減することができる。制御装置１００は、例えば、ＪＩＴモデリングを用いることにより、ＣＰＵ使用率の予測値のうち９８％程度の予測値については、実測値との差分が±１０％未満になるようにすることができる。さらに、制御装置１００は、例えば、ＣＰＵ使用率の予測値のうち２％程度の予測値についても、実測値との差分が±２０％未満になるようにすることができる。
【０１０３】
ここで、制御装置１００は、上述したように、ＶＭのＣＰＵ使用率の予測値が、ＶＭに割り当てたＣＰＵリソースの９０％を超えている場合、ＶＭに割り当てるＣＰＵリソースを増加させる。このため、制御装置１００は、ＶＭのＣＰＵ使用率が、ＶＭに割り当てたＣＰＵリソースの１００％を超えてしまい、ＶＭの性能が低下してしまう可能性を、２％程度に抑制することができる。
【０１０４】
また、制御装置１００は、ＶＭのＣＰＵ使用率の予測値が、ＶＭに割り当てたＣＰＵリソースの８０％を超えている場合、ＶＭに割り当てるＣＰＵリソースを増加させるようにしてもよい。これにより、制御装置１００は、ＶＭのＣＰＵ使用率が、ＶＭに割り当てたＣＰＵリソースの１００％を超えてしまい、ＶＭの性能が低下してしまう可能性をさらに低減することができる。
【０１０５】
さらに、制御装置１００は、複数のメトリックのうち、ＣＰＵ使用率の予測値を求めるためのＪＩＴモデリングに使用するメトリックを限定し、ＪＩＴモデリングの精度の低下を抑制しつつ、ＪＩＴモデリングにかかる時間の低減化を図ることができる。
【０１０６】
例えば、メトリックが２００個あり、過去データセットが２４時間分ある場合が考えられる。この場合、２００個のメトリックをＪＩＴモデリングに使用してしまうと、２００×１４４＝２８８００についてステップワイズ法を用いた計算が行われることになり、具体的には３時間〜４時間かかる傾向がある。一方で、制御装置１００は、２００個のメトリックのうち１０個のメトリックを選択するため、１０×１４４＝１４４０についてステップワイズ法を用いた計算を行えばよいため、９分〜１２分かければよい。ここで、２００個のメトリックのうち１０個のメトリックを選択する際にかかる時間は、ステップワイズ法を用いた計算にかかる時間に比べて小さいため、０分として扱うことにする。
【０１０７】
結果として、制御装置１００は、２００個のメトリックをＪＩＴモデリングに使用する場合に比べて、ＪＩＴモデリングにかかる時間を低減することができる。そして、制御装置１００は、予測値の時点までにＪＩＴモデリングが終わらずに、計算資源の制御が間に合わなくなることを抑制することができ、ＳＬＡを満たさない期間が発生してしまう可能性を低減することができる。
【０１０８】
（実施例１における基準データの別の例）
次に、図１２を用いて、実施例１において情報処理装置２０１が記憶する基準データの別の例について説明する。
【０１０９】
図１２は、実施例１における基準データの別の例を示す説明図である。図１２において、制御装置１００がＶＭのＣＰＵ使用率を取得する時間間隔と、制御装置１００が送受信データ量を取得する時間間隔は異なっていてもよい。図１２の例では、ＣＰＵ使用率は、１０分ごとに取得される。一方で、送受信データ量は、１分ごとに取得される。
【０１１０】
（実施例１における予測処理手順の一例）
次に、図１３を用いて、実施例１における予測処理手順の一例について説明する。
【０１１１】
図１３は、実施例１における予測処理手順の一例を示すフローチャートである。図１３において、制御装置１００は、それぞれの物理マシンおよびそれぞれの仮想マシンについて、複数のメトリックのそれぞれのメトリックの値を取得する（ステップＳ１３０１）。
【０１１２】
次に、制御装置１００は、予測対象のメトリックとなるＣＰＵ使用率と、複数のメトリックのうち予測対象のメトリックとなるＣＰＵ使用率を除いた他のメトリックのそれぞれのメトリックとの相関係数を計算する（ステップＳ１３０２）。そして、制御装置１００は、相関係数が大きい順に、複数のメトリックをソートする（ステップＳ１３０３）。
【０１１３】
次に、制御装置１００は、相関係数の大きい方から所定の順位までのメトリックを、相関係数の大きい変数として記憶する（ステップＳ１３０４）。そして、制御装置１００は、モデルの作成要求を受け付けると、記憶した相関係数の大きい変数を、モデル作成に用いる変数として設定する（ステップＳ１３０５）。
【０１１４】
次に、制御装置１００は、予測値の計算要求を受け付けると、最新データセットとの間でのＬ２ノルムが所定の閾値以下になる近傍データセットを検索する（ステップＳ１３０６）。そして、制御装置１００は、検索した近傍データセットと、設定したモデル作成に用いる変数とに基づいて、モデルを作成する（ステップＳ１３０７）。
【０１１５】
次に、制御装置１００は、作成したモデルに基づいて、それぞれの物理マシンおよびそれぞれの仮想マシンについて、予測対象のメトリックとなるＣＰＵ使用率の予測値を計算する（ステップＳ１３０８）。そして、制御装置１００は、予測処理を終了する。これにより、制御装置１００は、ＪＩＴモデリングによって、ＶＭのＣＰＵ使用率の予測値を計算し、データセンターの情報処理装置２０１の負荷を予測することができる。
【０１１６】
（実施例１における制御処理手順の一例）
次に、図１４および図１５を用いて、実施例１における制御処理手順の一例について説明する。
【０１１７】
図１４および図１５は、実施例１における制御処理手順の一例を示すフローチャートである。図１４において、制御装置１００は、ＶＭのＣＰＵ使用率の予測値が、ＶＭに割り当てたＣＰＵリソースの９０％を超えたか否かを判定する（ステップＳ１４０１）。ここで、超えていない場合（ステップＳ１４０１：Ｎｏ）、制御装置１００は、ステップＳ１４０３の処理に移行する。
【０１１８】
一方で、超えた場合（ステップＳ１４０１：Ｙｅｓ）、制御装置１００は、超えたと判定したＶＭに割り当てるＣＰＵの数を増加させる（ステップＳ１４０２）。制御装置１００は、例えば、超えたと判定したＶＭに割り当てるＣＰＵの数を、ＶＭに割り当てたＣＰＵリソースがＣＰＵ使用率の予測値より大きくなる範囲になるＣＰＵの数のうち、最小の数まで増大させる。
【０１１９】
次に、制御装置１００は、ＶＭのＣＰＵ使用率の予測値が、ＶＭに割り当てたＣＰＵリソースの５０％を下回るか否かを判定する（ステップＳ１４０３）。ここで、下回らない場合（ステップＳ１４０３：Ｎｏ）、制御装置１００は、図１５のステップＳ１５０１の処理に移行する。
【０１２０】
一方で、下回る場合（ステップＳ１４０３：Ｙｅｓ）、制御装置１００は、下回ると判定したＶＭに割り当てるＣＰＵの数を減少させる（ステップＳ１４０４）。制御装置１００は、例えば、下回ると判定したＶＭに割り当てるＣＰＵの数を、ＶＭに割り当てたＣＰＵリソースがＣＰＵ使用率の予測値より大きくなる範囲になるＣＰＵの数のうち、最小の数まで増大させる。そして、制御装置１００は、図１５のステップＳ１５０１の処理に移行する。
【０１２１】
図１５において、制御装置１００は、それぞれの物理マシンのＣＰＵ使用率の予測値の合計値を算出し、算出した合計値よりＣＰＵリソースが大きくなる範囲になる物理マシンの数のうち、最小の数を算出する（ステップＳ１５０１）。
【０１２２】
そして、制御装置１００は、算出した最小の数から、現在起動中の物理マシンの数を減算し、現在の状態から起動又は停止の状態に変更させる物理マシンの数を算出し、算出した物理マシンの数が０であるか否かを判定する（ステップＳ１５０２）。
【０１２３】
減算した結果が正の値であれば、減算した結果の絶対値は、現在停止の状態であって停止の状態から起動の状態に変更させる物理マシンの数を示す値になる。減算した結果が負の値であれば、減算した結果の絶対値は、現在起動の状態であって起動の状態から停止の状態に変更させる物理マシンの数を示す値になる。ここで、０である場合（ステップＳ１５０２：Ｙｅｓ）、制御装置１００は、ステップＳ１５０９の処理に移行する。
【０１２４】
一方で、０ではない場合（ステップＳ１５０２：Ｎｏ）、制御装置１００は、算出した最小の数から、現在起動中の物理マシンの数を減算した結果が、正の値であるか否かを判定する（ステップＳ１５０３）。ここで、負の値であって、起動中の物理マシンのうち、起動の状態から停止の状態に変更させる物理マシンがある場合（ステップＳ１５０３：Ｎｏ）、制御装置１００は、ステップＳ１５０４の処理に移行する。
【０１２５】
ステップＳ１５０４にて、制御装置１００は、起動中の物理マシンのうち、起動の状態から停止の状態に変更させる物理マシンを選択する（ステップＳ１５０４）。制御装置１００は、例えば、算出した物理マシンの数に応じて、実行中のＶＭが少ない物理マシンから順に選択する。
【０１２６】
次に、制御装置１００は、選択した物理マシンが実行中のＶＭを、選択されずに起動中の物理マシンに移動させ、移動が終了した後に選択した物理マシンを起動の状態から停止の状態に変更させる（ステップＳ１５０５）。
【０１２７】
次に、制御装置１００は、起動中の物理マシンの負荷を平準化する（ステップＳ１５０６）。制御装置１００は、例えば、起動中の物理マシンが実行中のＶＭのうち、現在のＣＰＵ使用率から予測値までの変化量が少ないＶＭから順に、物理マシン間を移動させて、起動中の物理マシンの負荷を平準化する。そして、制御装置１００は、制御処理を終了する。
【０１２８】
一方で、正の値であって、起動中の物理マシンのうち、停止の状態から起動の状態に変更させる物理マシンがある場合（ステップＳ１５０３：Ｙｅｓ）、制御装置１００は、ステップＳ１５０７の処理に移行する。
【０１２９】
ステップＳ１５０７にて、制御装置１００は、停止中の物理マシンのうち、停止の状態から起動の状態に変更させる物理マシンを選択する（ステップＳ１５０７）。次に、制御装置１００は、選択した物理マシンを停止の状態から起動の状態に変更させる（ステップＳ１５０８）。
【０１３０】
そして、制御装置１００は、それぞれの物理サーバのＣＰＵ使用率の合計値を比較し、物理サーバ間の合計値の差分が１０％以上であるか否かを判定する（ステップＳ１５０９）。ここで、１０％以上である場合（ステップＳ１５０９：Ｙｅｓ）、制御装置１００は、起動中の物理マシンの負荷を平準化する（ステップＳ１５１０）。制御装置１００は、例えば、起動中の物理マシンが実行中のＶＭのうち、現在のＣＰＵ使用率から予測値までの変化量が少ないＶＭから順に、物理マシン間を移動させて、起動中の物理マシンの負荷を平準化する。
【０１３１】
一方で、１０％以上ではない場合（ステップＳ１５０９：Ｎｏ）、制御装置１００は、制御処理を終了する。これにより、制御装置１００は、ＳＬＡを満たしつつデータセンターの消費電力を効率よく低減することができる。
【０１３２】
（実施例２における制御装置１００の動作例）
次に、図１６および図１７を用いて、実施例２における制御装置１００の動作例について説明する。
【０１３３】
図１６および図１７は、実施例２における制御装置１００の動作例を示す説明図である。制御装置１００は、図７と同様に、ＪＩＴ予測ソフトウェア６００によって、一定時間ごとに、情報処理装置２０１から運用データを取得し、ＤＢ４００に記憶している。
【０１３４】
図１６において、制御装置１００は、予測対象である予測対象基準データとして、レイテンシに関する時系列データを指定する予測要求を受け付ける。制御装置１００は、予測要求を受け付けると、レイテンシに関する時系列データと、レイテンシとは異なる他のメトリックに関する時系列データとの相関係数を計算する。制御装置１００は、例えば、上記式（１）のＣＰＵ使用率をレイテンシに置き換えて、レイテンシに関する時系列データと、送受信データ量に関する時系列データとの相関係数を計算する。
【０１３５】
制御装置１００は、算出した相関係数が大きい順に、複数のメトリックをソートする。制御装置１００は、ソートした複数のメトリックのうち、順位が１０位までのメトリックを、レイテンシの予測値を求めるためのＪＩＴモデリングに使用するメトリックに設定する。これにより、制御装置１００は、ＪＩＴモデリングの精度の低下を抑制しつつ、ＪＩＴモデリングにかかる時間の低減化を図ることができる。次に、図１７の説明に移行する。
【０１３６】
図１７において、制御装置１００は、選択したそれぞれのメトリックに関する時系列データにおいて、最新の時点の性能値の集合である最新データセットとの間でのＬ２ノルムが所定の閾値以下になる過去の時点の性能値の集合である近傍データセットを検索する。制御装置１００は、例えば、上記式（２）を用いて、最新データセットと、過去のそれぞれの時点の性能値の集合である過去データセットとのＬ２ノルムを計算する。
【０１３７】
そして、制御装置１００は、過去データセットのうち、計算したＬ２ノルムが小さい方から１０個の過去データセットを、近傍データセットとして特定する。制御装置１００は、過去データセットのうち、計算したＬ２ノルムが所定の閾値以下である過去データセットを、近傍データセットとして特定してもよい。
【０１３８】
次に、制御装置１００は、上記式（３）のＣＰＵ使用率をレイテンシに置き換えて、特定した近傍データセットごとに、レイテンシの予測値を計算する。制御装置１００は、例えば、ｎ個の近傍データセットのうち、ｊ番目の近傍データセットを用いてレイテンシの予測値を計算する。
【０１３９】
次に、制御装置１００は、上記式（４）のＣＰＵ使用率をレイテンシに置き換えて、計算したレイテンシの予測値の統計値を計算する。制御装置１００は、例えば、統計値として平均値を計算する。制御装置１００は、統計値として、中央値やパーセンタイルを計算してもよい。
【０１４０】
その後、制御装置１００は、図１１と同様に、計算したレイテンシの予測値に基づいて、情報処理装置２０１の計算資源の制御を行う。計算資源は、例えば、ＣＰＵリソースである。制御は、情報処理装置２０１によって実行されるＶＭへの計算資源の割り当ての変更である。制御は、情報処理装置２０１の計算資源への電源供給の変更であってもよい。
【０１４１】
図１７の例では、制御装置１００は、具体的には、ＳＬＡとしてレイテンシが０．５ｍｓｅｃを下回ることが要求されていれば、レイテンシの予測値が０．４５ｍｓｅｃを超えている場合にＶＭに割り当てるＣＰＵリソースを増加させる。換言すれば、制御装置１００は、レイテンシがＳＬＡを満たさなくなる可能性が比較的大きい場合に、ＶＭに割り当てるＣＰＵリソースを増加させることができる。これにより、制御装置１００は、ＳＬＡを満たさない期間が発生してしまう可能性を低減することができる。
【０１４２】
また、制御装置１００は、具体的には、レイテンシの予測値が０．２５ｍｓｅｃを下回っている場合、ＶＭに割り当てるＣＰＵリソースを、ＳＬＡを満たすようにしつつも、減少させてもよい。換言すれば、制御装置１００は、レイテンシがＳＬＡを満たさなくなる可能性が比較的小さい場合に、ＶＭに割り当てるＣＰＵリソースを減少させることができる。これにより、制御装置１００は、ＳＬＡを満たしつつデータセンターの消費電力を効率よく低減することができる。
【０１４３】
このように、制御装置１００は、データセンターの消費電力を低減することができる。さらに、制御装置１００は、消費電力を低減しても、ＳＬＡを満たさない期間が発生してしまう可能性を低減することができる。制御装置１００は、例えば、ＪＩＴモデリングを用いることにより、レイテンシの予測値のうち９８％程度の予測値については、実測値との差分が±１０％未満になるようにすることができる。さらに、制御装置１００は、例えば、レイテンシの予測値のうち２％程度の予測値についても、実測値との差分が±２０％未満になるようにすることができる。
【０１４４】
ここで、制御装置１００は、上述したように、レイテンシの予測値が０．４５ｍｓｅｃを超えている場合、ＶＭに割り当てるＣＰＵリソースを増加させる。このため、制御装置１００は、レイテンシが０．５ｍｓｅｃを超えてしまう可能性を、２％程度に抑制することができる。また、制御装置１００は、レイテンシの予測値が０．４０ｍｓｅｃを超えている場合、ＶＭに割り当てるＣＰＵリソースを増加させるようにしてもよい。これにより、制御装置１００は、レイテンシが０．５ｍｓｅｃを超えてしまう可能性をさらに低減することができる。
【０１４５】
（実施例２における予測処理手順の一例）
次に、図１８を用いて、実施例２における予測処理手順の一例について説明する。
【０１４６】
図１８は、実施例２における予測処理手順の一例を示すフローチャートである。図１８において、制御装置１００は、それぞれの物理マシンおよびそれぞれの仮想マシンについて、複数のメトリックのそれぞれのメトリックの値を取得する（ステップＳ１８０１）。
【０１４７】
次に、制御装置１００は、予測対象のメトリックとなるレイテンシと、複数のメトリックのうち予測対象のメトリックとなるレイテンシを除いた他のメトリックのそれぞれのメトリックとの相関係数を計算する（ステップＳ１８０２）。そして、制御装置１００は、相関係数が大きい順に、複数のメトリックをソートする（ステップＳ１８０３）。
【０１４８】
次に、制御装置１００は、相関係数の大きい方から所定の順位までのメトリックを、相関係数の大きい変数として記憶する（ステップＳ１８０４）。そして、制御装置１００は、モデルの作成要求を受け付けると、記憶した相関係数の大きい変数を、モデル作成に用いる変数として設定する（ステップＳ１８０５）。
【０１４９】
次に、制御装置１００は、予測値の計算要求を受け付けると、最新データセットとの間でのＬ２ノルムが所定の閾値以下になる近傍データセットを検索する（ステップＳ１８０６）。そして、制御装置１００は、検索した近傍データセットと、設定したモデル作成に用いる変数とに基づいて、モデルを作成する（ステップＳ１８０７）。
【０１５０】
次に、制御装置１００は、作成したモデルに基づいて、それぞれの物理マシンおよびそれぞれの仮想マシンについて、予測対象のメトリックとなるレイテンシの予測値を計算する（ステップＳ１８０８）。そして、制御装置１００は、予測処理を終了する。これにより、制御装置１００は、ＪＩＴモデリングによって、ＶＭのＣＰＵ使用率の予測値を計算し、データセンターの情報処理装置２０１の負荷を予測することができる。
【０１５１】
（実施例２における制御処理手順の一例）
次に、図１９を用いて、実施例２における制御処理手順の一例について説明する。
【０１５２】
図１９は、実施例２における制御処理手順の一例を示すフローチャートである。図１９において、制御装置１００は、ＶＭのレイテンシの予測値が、０．４５ｍｓｅｃを超えたか否かを判定する（ステップＳ１９０１）。ここで、超えていない場合（ステップＳ１９０１：Ｎｏ）、制御装置１００は、ステップＳ１９０３の処理に移行する。
【０１５３】
一方で、超えた場合（ステップＳ１９０１：Ｙｅｓ）、制御装置１００は、超えたと判定したＶＭに割り当てるＣＰＵの数を増加させる（ステップＳ１９０２）。制御装置１００は、例えば、超えたと判定したＶＭに割り当てるＣＰＵの数を１増加させる。
【０１５４】
次に、制御装置１００は、ＶＭのレイテンシの予測値が、０．２５ｍｓｅｃを下回るか否かを判定する（ステップＳ１９０３）。ここで、下回らない場合（ステップＳ１９０３：Ｎｏ）、制御装置１００は、図１５のステップＳ１５０１の処理に移行する。
【０１５５】
一方で、下回る場合（ステップＳ１９０３：Ｙｅｓ）、制御装置１００は、下回ると判定したＶＭに割り当てるＣＰＵの数を減少させる（ステップＳ１９０４）。制御装置１００は、例えば、下回ると判定したＶＭに割り当てるＣＰＵの数を１減少させる。そして、制御装置１００は、図１５のステップＳ１５０１の処理に移行する。これにより、制御装置１００は、ＳＬＡを満たしつつデータセンターの消費電力を効率よく低減することができる。
【０１５６】
（実施例３における制御装置１００の動作例）
次に、図２０および図２１を用いて、実施例３における制御装置１００の動作例について説明する。
【０１５７】
図２０および図２１は、実施例３における制御装置１００の動作例を示す説明図である。制御装置１００は、図７と同様に、ＪＩＴ予測ソフトウェア６００によって、一定時間ごとに、情報処理装置２０１から運用データを取得し、ＤＢ４００に記憶している。
【０１５８】
図２０において、制御装置１００は、予測対象である予測対象基準データとして、スループットに関する時系列データを指定する予測要求を受け付ける。制御装置１００は、予測要求を受け付けると、スループットに関する時系列データと、スループットとは異なる他のメトリックに関する時系列データとの相関係数を計算する。制御装置１００は、例えば、上記式（１）のＣＰＵ使用率をスループットに置き換えて、スループットに関する時系列データと、送受信データ量に関する時系列データとの相関係数を計算する。
【０１５９】
制御装置１００は、算出した相関係数が大きい順に、複数のメトリックをソートする。制御装置１００は、ソートした複数のメトリックのうち、順位が１０位までのメトリックを、スループットの予測値を求めるためのＪＩＴモデリングに使用するメトリックに設定する。これにより、制御装置１００は、ＪＩＴモデリングの精度の低下を抑制しつつ、ＪＩＴモデリングにかかる時間の低減化を図ることができる。次に、図２１の説明に移行する。
【０１６０】
図２１において、制御装置１００は、選択したそれぞれのメトリックに関する時系列データにおいて、最新の時点の性能値の集合である最新データセットとの間でのＬ２ノルムが所定の閾値以下になる過去の時点の性能値の集合である近傍データセットを検索する。制御装置１００は、例えば、上記式（２）を用いて、最新データセットと、過去のそれぞれの時点の性能値の集合である過去データセットとのＬ２ノルムを計算する。
【０１６１】
そして、制御装置１００は、過去データセットのうち、計算したＬ２ノルムが小さい方から１０個の過去データセットを、近傍データセットとして特定する。制御装置１００は、過去データセットのうち、計算したＬ２ノルムが所定の閾値以下である過去データセットを、近傍データセットとして特定してもよい。
【０１６２】
次に、制御装置１００は、上記式（３）のＣＰＵ使用率をスループットに置き換えて、特定した近傍データセットごとに、スループットの予測値を計算する。制御装置１００は、例えば、ｎ個の近傍データセットのうち、ｊ番目の近傍データセットを用いてスループットの予測値を計算する。
【０１６３】
次に、制御装置１００は、上記式（４）のＣＰＵ使用率をスループットに置き換えて、計算したスループットの予測値の統計値を計算する。制御装置１００は、例えば、統計値として平均値を計算する。制御装置１００は、統計値として、中央値やパーセンタイルを計算してもよい。
【０１６４】
その後、制御装置１００は、図１１と同様に、計算したスループットの予測値に基づいて、情報処理装置２０１の計算資源の制御を行う。計算資源は、例えば、ＣＰＵリソースである。制御は、情報処理装置２０１によって実行されるＶＭへの計算資源の割り当ての変更である。制御は、情報処理装置２０１の計算資源への電源供給の変更であってもよい。
【０１６５】
図２１の例では、制御装置１００は、具体的には、ＳＬＡとしてスループットが５００ｏｐｓ／ｓｅｃを超えることが要求されていれば、スループットの予測値が５５０ｏｐｓ／ｓｅｃを下回っている場合にＶＭに割り当てるＣＰＵリソースを増加させる。換言すれば、制御装置１００は、スループットがＳＬＡを満たさなくなる可能性が比較的大きい場合に、ＶＭに割り当てるＣＰＵリソースを増加させることができる。これにより、制御装置１００は、ＳＬＡを満たさない期間が発生してしまう可能性を低減することができる。
【０１６６】
また、制御装置１００は、具体的には、スループットの予測値が１０００ｏｐｓ／ｓｅｃを超えている場合、ＶＭに割り当てるＣＰＵリソースを、ＳＬＡを満たすようにしつつも、減少させてもよい。換言すれば、制御装置１００は、スループットがＳＬＡを満たさなくなる可能性が比較的小さい場合に、ＶＭに割り当てるＣＰＵリソースを減少させることができる。これにより、制御装置１００は、ＳＬＡを満たしつつデータセンターの消費電力を効率よく低減することができる。
【０１６７】
このように、制御装置１００は、データセンターの消費電力を低減することができる。さらに、制御装置１００は、消費電力を低減しても、ＳＬＡを満たさない期間が発生してしまう可能性を低減することができる。制御装置１００は、例えば、ＪＩＴモデリングを用いることにより、スループットの予測値のうち９８％程度の予測値については、実測値との差分が±１０％未満になるようにすることができる。さらに、制御装置１００は、例えば、スループットの予測値のうち２％程度の予測値についても、実測値との差分が±２０％未満になるようにすることができる。
【０１６８】
ここで、制御装置１００は、上述したように、スループットの予測値が５５０ｏｐｓ／ｓｅｃを下回っている場合、ＶＭに割り当てるＣＰＵリソースを増加させる。このため、制御装置１００は、スループットが５００ｏｐｓ／ｓｅｃを下回ってしまう可能性を、２％程度に抑制することができる。また、制御装置１００は、スループットの予測値が６００ｏｐｓ／ｓｅｃを下回っている場合、ＶＭに割り当てるＣＰＵリソースを増加させるようにしてもよい。これにより、制御装置１００は、スループットが５００ｏｐｓ／ｓｅｃを下回ってしまう可能性をさらに低減することができる。
【０１６９】
（実施例３における予測処理手順の一例）
次に、図２２を用いて、実施例３における予測処理手順の一例について説明する。
【０１７０】
図２２は、実施例３における予測処理手順の一例を示すフローチャートである。図２２において、制御装置１００は、それぞれの物理マシンおよびそれぞれの仮想マシンについて、複数のメトリックのそれぞれのメトリックの値を取得する（ステップＳ２２０１）。
【０１７１】
次に、制御装置１００は、予測対象のメトリックとなるスループットと、複数のメトリックのうち予測対象のメトリックとなるスループットを除いた他のメトリックのそれぞれのメトリックとの相関係数を計算する（ステップＳ２２０２）。そして、制御装置１００は、相関係数が大きい順に、複数のメトリックをソートする（ステップＳ２２０３）。
【０１７２】
次に、制御装置１００は、相関係数の大きい方から所定の順位までのメトリックを、相関係数の大きい変数として記憶する（ステップＳ２２０４）。そして、制御装置１００は、モデルの作成要求を受け付けると、記憶した相関係数の大きい変数を、モデル作成に用いる変数として設定する（ステップＳ２２０５）。
【０１７３】
次に、制御装置１００は、予測値の計算要求を受け付けると、最新データセットとの間でのＬ２ノルムが所定の閾値以下になる近傍データセットを検索する（ステップＳ２２０６）。そして、制御装置１００は、検索した近傍データセットと、設定したモデル作成に用いる変数とに基づいて、モデルを作成する（ステップＳ２２０７）。
【０１７４】
次に、制御装置１００は、作成したモデルに基づいて、それぞれの物理マシンおよびそれぞれの仮想マシンについて、予測対象のメトリックとなるスループットの予測値を計算する（ステップＳ２２０８）。そして、制御装置１００は、予測処理を終了する。これにより、制御装置１００は、ＪＩＴモデリングによって、ＶＭのＣＰＵ使用率の予測値を計算し、データセンターの情報処理装置２０１の負荷を予測することができる。
【０１７５】
（実施例３における制御処理手順の一例）
次に、図２３を用いて、実施例３における制御処理手順の一例について説明する。
【０１７６】
図２３は、実施例３における制御処理手順の一例を示すフローチャートである。図２３において、制御装置１００は、ＶＭのスループットの予測値が、５５０ｏｐｓ／ｓｅｃを下回るか否かを判定する（ステップＳ２３０１）。ここで、下回らない場合（ステップＳ２３０１：Ｎｏ）、制御装置１００は、ステップＳ２３０３の処理に移行する。
【０１７７】
一方で、下回る場合（ステップＳ２３０１：Ｙｅｓ）、制御装置１００は、下回ると判定したＶＭに割り当てるＣＰＵの数を増加させる（ステップＳ２３０２）。制御装置１００は、例えば、超えたと判定したＶＭに割り当てるＣＰＵの数を１増加させる。
【０１７８】
次に、制御装置１００は、ＶＭのスループットの予測値が、１０００ｏｐｓ／ｓｅｃを超えるか否かを判定する（ステップＳ２３０３）。ここで、超えない場合（ステップＳ２３０３：Ｎｏ）、制御装置１００は、図１５のステップＳ１５０１の処理に移行する。
【０１７９】
一方で、超える場合（ステップＳ２３０３：Ｙｅｓ）、制御装置１００は、超えると判定したＶＭに割り当てるＣＰＵの数を減少させる（ステップＳ２３０４）。制御装置１００は、例えば、超えると判定したＶＭに割り当てるＣＰＵの数を１減少させる。そして、制御装置１００は、図１５のステップＳ１５０１の処理に移行する。これにより、制御装置１００は、ＳＬＡを満たしつつデータセンターの消費電力を効率よく低減することができる。
【０１８０】
以上説明したように、制御装置１００によれば、情報処理装置２０１が実行するホストＯＳから入力した運用データに基づき選定された複数の基準データを記憶することができる。また、制御装置１００によれば、入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、複数の基準データから一又は複数の選択基準データを選択することができる。また、制御装置１００によれば、選択した一又は複数の選択基準データに基づき、予測対象基準データの予測値を計算することができる。また、制御装置１００によれば、計算した予測対象基準データの予測値と予め定められた基準値に基づき、情報処理装置２０１の計算資源を制御することができる。
【０１８１】
これにより、制御装置１００は、予測対象である予測対象基準データの予測値を計算し、計算した予測値に基づいてデータセンターの情報処理装置２０１の計算資源についての負荷を予測することができる。このため、制御装置１００は、ＳＬＡを満たしつつデータセンターの消費電力を効率よく低減することができるように、情報処理装置２０１の計算資源を制御することができる。
【０１８２】
さらに、制御装置１００は、相関係数に基づいて、複数の基準データのうち予測値を計算する際に使用する基準データを選択し、予測値を計算する際にかかる時間を低減することができる。このため、制御装置１００は、予測値を計算する際に時間がかかり、データセンターの計算資源についての負荷の変動のタイミングまでに、計算資源の制御が間に合わなくなることを抑制することができる。結果として、制御装置１００は、ＳＬＡを満たさない期間が発生してしまう可能性を低減することができる。
【０１８３】
制御装置１００によれば、一又は複数の選択基準データのそれぞれの選択基準データについて、所定の時点の性能値との間でのＬ２ノルムが所定の閾値以下になる所定の時点より前の時点の性能値を特定することができる。また、制御装置１００によれば、特定した性能値に基づいて予測対象基準データの予測値の統計値を計算することができる。これにより、制御装置１００は、ＪＩＴモデリングによって効率よく、予測対象基準データの予測値の統計値を計算することができる。
【０１８４】
制御装置１００によれば、それぞれの選択基準データについて所定の時点の性能値との間でＬ２ノルムが所定の閾値以下になる所定の時点より前の時点の性能値を特定することができる。また、制御装置１００によれば、特定した性能値に基づいて予測対象基準データの予測値の統計値を計算することができる。これにより、制御装置１００は、ＪＩＴモデリングによって効率よく、予測対象基準データの予測値の統計値を計算することができる。
【０１８５】
制御装置１００によれば、基準値として、利用者が求める性能値、又は利用者が求める性能値より性能が高いことを示すようにマージンを加えた性能値を採用することができる。また、制御装置１００によれば、計算した予測対象基準データの予測値が、基準値よりも性能が低いことを示す性能値である場合、ＶＭに割り当てる情報処理装置２０１の計算資源を増加させることができる。これにより、制御装置１００は、予測値に基づいて、利用者が求める性能値を確保することが難しくなる可能性が比較的大きくなった場合に、ＶＭに割り当てる情報処理装置２０１の計算資源を増加させ、ＳＬＡを満たしやすくすることができる。
【０１８６】
制御装置１００によれば、基準値として、利用者が求める性能値よりも性能が高いことを示し、かつ現在割り当て中である計算資源のうち一定以上の計算資源を使用しなくても確保することができる性能値を採用することができる。また、制御装置１００によれば、計算した予測対象基準データの予測値が、基準値よりも性能が高いことを示す性能値である場合、ＶＭに割り当てる情報処理装置２０１の計算資源を減少させることができる。これにより、制御装置１００は、データセンターの消費電力の低減化を図ることができる。
【０１８７】
制御装置１００によれば、情報処理装置２０１の計算資源の制御を行った結果、情報処理装置２０１の計算資源が割り当てられたＶＭがなければ、情報処理装置２０１への電源供給の停止を行うことができる。これにより、制御装置１００は、データセンターの消費電力の低減化を図ることができる。
【０１８８】
なお、本実施の形態で説明した制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本制御プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１８９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１９０】
（付記１）複数の計算資源を有する情報処理装置を管理する制御装置において、
前記情報処理装置が実行するホストＯＳから入力した運用データに基づき選定された複数の基準データを記憶する記憶部と、
入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、前記複数の基準データから一又は複数の選択基準データを選択する選択部と、
前記選択部が選択した前記一又は複数の選択基準データに基づき、前記予測対象基準データの予測値を計算する計算部と、
前記計算部が計算した前記予測対象基準データの予測値と予め定められた基準値に基づき、前記情報処理装置の計算資源を制御する制御部と、
を有することを特徴とする制御装置。
【０１９１】
（付記２）前記基準データは複数の時点の各々における性能値を含み、
前記計算部は、
前記一又は複数の選択基準データのそれぞれの選択基準データについて所定の時点の性能値との間でのＬ２ノルムが所定の閾値以下になる前記所定の時点より前の時点の性能値を特定し、特定した前記性能値に基づいて前記予測対象基準データの予測値の統計値を計算する、ことを特徴とする付記１に記載の制御装置。
【０１９２】
（付記３）前記計算部は、
前記それぞれの選択基準データについて所定の時点の性能値との間でＬ２ノルムが所定の閾値以下になる前記所定の時点より前の時点の性能値を特定し、特定した前記性能値に基づいて前記予測対象基準データの予測値の統計値を計算する、ことを特徴とする付記２に記載の制御装置。
【０１９３】
（付記４）前記情報処理装置の計算資源は仮想マシンに割り当て可能な計算資源であり、
前記基準値は予め定められた情報処理装置の、前記仮想マシンに関する状態を示す性能値であり、
前記制御部は、
前記計算部が計算した前記予測対象基準データの予測値が、前記基準値よりも性能が低いことを示す性能値である場合、前記仮想マシンに割り当てる情報処理装置の計算資源を増加させる、ことを特徴とする付記１〜３のいずれか一つに記載の制御装置。
【０１９４】
（付記５）前記情報処理装置の計算資源は仮想マシンに割り当て可能な計算資源であり、
前記基準値は予め定められた情報処理装置の、前記仮想マシンに関する状態を示す性能値であり、
前記制御部は、
前記計算部が計算した前記予測対象基準データの予測値が、前記基準値よりも性能が高いことを示す性能値である場合、前記仮想マシンに割り当てる情報処理装置の計算資源を減少させる、ことを特徴とする付記１〜４のいずれか一つに記載の制御装置。
【０１９５】
（付記６）前記制御部は、
前記情報処理装置の計算資源の制御を行った結果、前記情報処理装置の計算資源が割り当てられた仮想マシンがなければ、前記情報処理装置への電源供給の停止を行う、ことを特徴とする付記４又は５に記載の制御装置。
【０１９６】
（付記７）複数の計算資源を有する情報処理装置の制御方法において、
前記情報処理装置が実行するホストＯＳから入力した運用データに基づき選定された複数の基準データを記憶する記憶部を有する制御装置が、
入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、前記複数の基準データから一又は複数の選択基準データを選択し、
選択した前記一又は複数の選択基準データに基づき、前記予測対象基準データの予測値を計算し、
計算した前記予測対象基準データの予測値と予め定められた基準値に基づき、前記情報処理装置の計算資源を制御する、
処理を実行することを特徴とする情報処理装置の制御方法。
【０１９７】
（付記８）複数の計算資源を有する情報処理装置の制御プログラムにおいて、
前記情報処理装置が実行するホストＯＳから入力した運用データに基づき選定された複数の基準データを記憶する記憶部を有する制御装置に、
入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、前記複数の基準データから一又は複数の選択基準データを選択し、
選択した前記一又は複数の選択基準データに基づき、前記予測対象基準データの予測値を計算し、
計算した前記予測対象基準データの予測値と予め定められた基準値に基づき、前記情報処理装置の計算資源を制御する、
処理を実行させることを特徴とする情報処理装置の制御プログラム。
【符号の説明】
【０１９８】
１００  制御装置
１１０，５０１  記憶部
２００  情報処理システム
２０１，１１０１〜１１０３  情報処理装置
２０２  クライアント装置
２１０  ネットワーク
３００  バス
３０１  ＣＰＵ
３０２  メモリ
３０３  ネットワークＩ／Ｆ
３０４  ディスクドライブ
３０５  ディスク
３０６  記録媒体Ｉ／Ｆ
３０７  ＢＭＣ
３０８  記録媒体
４００  ＤＢ
４０１〜４０５  フィールド
５０２  選択部
５０３  計算部
５０４  制御部
５０５  出力部
６００  ＪＩＴ予測ソフトウェア
６０１  メトリック選定部
６０２  変数選択部
６０３  タイマー部
６０４  近傍データセット検索部
６０５  予測値計算部
６０６  制御対象選択部
６０７  制御方針決定部
６１０  インフラ管理ソフトウェア
６１１  制御受け取り部
６１２  制御指示部
【図１】
2018067113.tif 000007
【図２】
2018067113.tif 000008
【図３】
2018067113.tif 000009
【図４】
2018067113.tif 000010
【図５】
2018067113.tif 000011
【図６】
2018067113.tif 000012
【図７】
2018067113.tif 000013
【図８】
2018067113.tif 000014
【図９】
2018067113.tif 000015
【図１０】
2018067113.tif 000016
【図１１】
2018067113.tif 000017
【図１２】
2018067113.tif 000018
【図１３】
2018067113.tif 000019
【図１４】
2018067113.tif 000020
【図１５】
2018067113.tif 000021
【図１６】
2018067113.tif 000022
【図１７】
2018067113.tif 000023
【図１８】
2018067113.tif 000024
【図１９】
2018067113.tif 000025
【図２０】
2018067113.tif 000026
【図２１】
2018067113.tif 000027
【図２２】
2018067113.tif 000028
【図２３】
2018067113.tif 000029