(57)【要約】【課題】複数ジョブが混在するシステムであっても、長期的傾向を踏まえたリソース消費の予測を可能とすることを目的とする。【解決手段】基底行列学習部３１は、学習行列を非負値行列因子分解により、ジョブごとのリソースの消費の特性を表す基底行列と、ジョブごとの負荷を時系列で表した係数行列とに分解し、基底行列を基底行列記憶部３４に記憶する。周期成分抽出部３２が、係数行列からジョブごとの周期成分を抽出し、周期成分記憶部３５に記憶する。係数行列推定部３７が、基底行列記憶部３４に記憶されている基底行列を用いて、予測行列に対応する係数行列を予測対応係数行列として推定する。周期成分除去部３８が、予測対応係数行列から、周期成分記憶部３５に記憶されている周期成分を除去する。予測部３９が、周期成分が除去された予測対応係数行列に対して予測手法を用いることにより、ジョブごとの負荷を予測した予測値を算出する。【選択図】図２
2020154982.tif 000002
【特許請求の範囲】
【請求項１】
複数のジョブが実行される計算機のリソースを管理するリソース管理装置において、
リソースの消費を時系列に表すメトリックが蓄積されたメトリック蓄積部から、学習対象のメトリックを学習行列として取得し、前記学習行列を非負値行列因子分解により、ジョブごとのリソースの消費の特性を表す基底行列と、ジョブごとの負荷を時系列で表した係数行列とに分解し、前記基底行列を基底行列記憶部に記憶する基底行列学習部と、
前記係数行列からジョブごとの周期成分を抽出し、前記周期成分を周期成分記憶部に記憶する周期成分抽出部と、
前記メトリック蓄積部から、予測に使うメトリックを予測行列として取得し、前記基底行列記憶部に記憶されている前記基底行列を用いて、前記予測行列に対応する係数行列を予測対応係数行列として推定する係数行列推定部と、
前記予測対応係数行列から、前記周期成分記憶部に記憶されている前記周期成分を除去する周期成分除去部と、
前記周期成分が除去された前記予測対応係数行列に対して予測手法を用いることにより、ジョブごとの負荷を予測した予測値を算出する予測部と
を備えたリソース管理装置。
【請求項２】
前記リソース管理装置は、
前記周期成分記憶部に記憶されている前記周期成分を前記予測値に付与し、前記周期成分が付与された前記予測値と、前記基底行列記憶部に記憶されている前記基底行列とを用いて、リソースの消費の種類ごとの予測値をメトリック予測値として算出する予測値再現部を備えた請求項１に記載のリソース管理装置。
【請求項３】
前記係数行列推定部は、
前記基底行列記憶部に記憶されている前記基底行列と前記予測対応係数行列を用いた場合と、前記予測行列との誤差を記憶し、
前記予測値再現部は、
前記メトリック予測値に前記誤差を付与する請求項２に記載のリソース管理装置。
【請求項４】
前記係数行列推定部は、
前記予測行列と前記基底行列とを用いて得られた係数行列から予測対象が含まれない行を削除し、前記予測対応係数行列とする請求項１から３のいずれか１項に記載のリソース管理装置。
【請求項５】
前記リソース管理装置は、
時系列予測に用いられる複数の予測アルゴリズムの各々と前記係数行列とを用いて、前記複数の予測アルゴリズムの各々の精度を算出し、最も精度の高い予測アルゴリズムを前記予測手法とする予測手法決定部を備えた請求項１から請求項４のいずれか１項に記載のリソース管理装置。
【請求項６】
前記リソース管理装置は、
メトリックの計測値と予測値との誤差を計算し、計算結果が閾値を超えている場合に、前記基底行列学習部に再学習指示を送信する予測精度監視部を備えた請求項１から請求項５のいずれか１項に記載のリソース管理装置。
【請求項７】
複数のジョブが実行される計算機のリソースを管理するリソース管理装置のリソース管理方法において、
基底行列学習部が、リソースの消費を時系列に表すメトリックが蓄積されたメトリック蓄積部から、学習対象のメトリックを学習行列として取得し、前記学習行列を非負値行列因子分解により、ジョブごとのリソースの消費の特性を表す基底行列と、ジョブごとの負荷を時系列で表した係数行列とに分解し、前記基底行列を基底行列記憶部に記憶し、
周期成分抽出部が、前記係数行列からジョブごとの周期成分を抽出し、前記周期成分を周期成分記憶部に記憶し、
係数行列推定部が、前記メトリック蓄積部から、予測に使うメトリックを予測行列として取得し、前記基底行列記憶部に記憶されている前記基底行列を用いて、前記予測行列に対応する係数行列を予測対応係数行列として推定し、
周期成分除去部が、前記予測対応係数行列から、前記周期成分記憶部に記憶されている前記周期成分を除去し、
予測部が、前記周期成分が除去された前記予測対応係数行列に対して予測手法を用いることにより、ジョブごとの負荷を予測した予測値を算出するリソース管理方法。
【請求項８】
複数のジョブが実行される計算機のリソースを管理するリソース管理装置のリソース管理プログラムにおいて、
リソースの消費を時系列に表すメトリックが蓄積されたメトリック蓄積部から、学習対象のメトリックを学習行列として取得し、前記学習行列を非負値行列因子分解により、ジョブごとのリソースの消費の特性を表す基底行列と、ジョブごとの負荷を時系列で表した係数行列とに分解し、前記基底行列を基底行列記憶部に記憶する基底行列学習処理と、
前記係数行列からジョブごとの周期成分を抽出し、前記周期成分を周期成分記憶部に記憶する周期成分抽出処理と、
前記メトリック蓄積部から、予測に使うメトリックを予測行列として取得し、前記基底行列記憶部に記憶されている前記基底行列を用いて、前記予測行列に対応する係数行列を予測対応係数行列として推定する係数行列推定処理と、
前記予測対応係数行列から、前記周期成分記憶部に記憶されている前記周期成分を除去する周期成分除去処理と、
前記周期成分が除去された前記予測対応係数行列に対して予測手法を用いることにより、ジョブごとの負荷を予測した予測値を算出する予測処理と
をコンピュータである前記リソース管理装置に実行させるリソース管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リソース管理装置、リソース管理方法およびリソース管理プログラムに関する。
【背景技術】
【０００２】
仮想マシンを利用したシステムにおいて、ＣＰＵ使用率およびディスクＩ／Ｏといったリソース消費の増加を予測してリソースを割り当てる技術が存在する。仮想マシンは、ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）ともいう。ＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略語である。このような技術においては、できる限り正確にリソース消費量を予測しつつ、システムの状態が変化してから実際にリソースを制御するまでの時間を短縮させる必要がある。すなわち、リソース予測の精度と処理時間を両立させる必要がある。
【０００３】
特許文献１では、予測対象となるメトリック１と相関係数が高いメトリックのみを使って局所的なモデルを生成することで、リソース予測の精度と処理時間の短縮を両立している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−６７１１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、リソース消費量の長期的傾向を予測材料に用いることができないため、予測結果の活用方法はごく短期的なリソース制御に限定される。すなわち、長期的なリソース消費量に基づいて物理マシンのオンオフを制御したり、仮想マシンの展開先を選択するような活用法をとることができない。また、システム上では、バックアップのような定期的に発生するジョブ、あるいは、ウェブリクエストのような予測困難な外部要因によって生じるジョブが混在している場合がある。このような場合、ジョブによりリソース消費の特性が異なるため、長期的傾向を把握するのはより困難になる。また、複数ホスト上で複数システムが動作している場合にはさらに困難となる。
【０００６】
本発明は、複数ジョブが混在するシステムであっても、長期的傾向を踏まえたリソース消費の予測を可能とすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るリソース管理装置は、複数のジョブが実行される計算機のリソースを管理するリソース管理装置において、
リソースの消費を時系列に表すメトリックが蓄積されたメトリック蓄積部から、学習対象のメトリックを学習行列として取得し、前記学習行列を非負値行列因子分解により、ジョブごとのリソースの消費の特性を表す基底行列と、ジョブごとの負荷を時系列で表した係数行列とに分解し、前記基底行列を基底行列記憶部に記憶する基底行列学習部と、
前記係数行列からジョブごとの周期成分を抽出し、前記周期成分を周期成分記憶部に記憶する周期成分抽出部と、
前記メトリック蓄積部から、予測に使うメトリックを予測行列として取得し、前記基底行列記憶部に記憶されている前記基底行列を用いて、前記予測行列に対応する係数行列を予測対応係数行列として推定する係数行列推定部と、
前記予測対応係数行列から、前記周期成分記憶部に記憶されている前記周期成分を除去する周期成分除去部と、
前記周期成分が除去された前記予測対応係数行列に対して予測手法を用いることにより、ジョブごとの負荷を予測した予測値を算出する予測部とを備えた。
【０００８】
前記リソース管理装置は、
前記周期成分記憶部に記憶されている前記周期成分を前記予測値に付与し、前記周期成分が付与された前記予測値と、前記基底行列記憶部に記憶されている前記基底行列とを用いて、リソースの消費の種類ごとの予測値をメトリック予測値として算出する予測値再現部を備えた。
【０００９】
前記係数行列推定部は、
前記基底行列記憶部に記憶されている前記基底行列と前記予測対応係数行列を用いた場合と、前記予測行列との誤差を記憶し、
前記予測値再現部は、
前記メトリック予測値に前記誤差を付与する。
【００１０】
前記係数行列推定部は、
前記予測行列と前記基底行列とを用いて得られた係数行列から予測対象が含まれない行を削除し、前記予測対応係数行列とする。
【００１１】
前記リソース管理装置は、
時系列予測に用いられる複数の予測アルゴリズムの各々と前記係数行列とを用いて、前記複数の予測アルゴリズムの各々の精度を算出し、最も精度の高い予測アルゴリズムを前記予測手法とする予測手法決定部を備えた。
【００１２】
前記リソース管理装置は、
メトリックの計測値と予測値との誤差を計算し、計算結果が閾値を超えてる場合に、前記基底行列学習部に再学習指示を送信する予測精度監視部を備えた。
【００１３】
本発明に係るリソース管理方法は、複数のジョブが実行される計算機のリソースを管理するリソース管理装置のリソース管理方法において、
基底行列学習部が、リソースの消費を時系列に表すメトリックが蓄積されたメトリック蓄積部から、学習対象のメトリックを学習行列として取得し、前記学習行列を非負値行列因子分解により、ジョブごとのリソースの消費の特性を表す基底行列と、ジョブごとの負荷を時系列で表した係数行列とに分解し、前記基底行列を基底行列記憶部に記憶し、
周期成分抽出部が、前記係数行列からジョブごとの周期成分を抽出し、前記周期成分を周期成分記憶部に記憶し、
係数行列推定部が、前記メトリック蓄積部から、予測に使うメトリックを予測行列として取得し、前記基底行列記憶部に記憶されている前記基底行列を用いて、前記予測行列に対応する係数行列を予測対応係数行列として推定し、
周期成分除去部が、前記予測対応係数行列から、前記周期成分記憶部に記憶されている前記周期成分を除去し、
予測部が、前記周期成分が除去された前記予測対応係数行列に対して予測手法を用いることにより、ジョブごとの負荷を予測した予測値を算出する。
【００１４】
本発明に係るリソース管理プログラムは、複数のジョブが実行される計算機のリソースを管理するリソース管理装置のリソース管理プログラムにおいて、
リソースの消費を時系列に表すメトリックが蓄積されたメトリック蓄積部から、学習対象のメトリックを学習行列として取得し、前記学習行列を非負値行列因子分解により、ジョブごとのリソースの消費の特性を表す基底行列と、ジョブごとの負荷を時系列で表した係数行列とに分解し、前記基底行列を基底行列記憶部に記憶する基底行列学習処理と、
前記係数行列からジョブごとの周期成分を抽出し、前記周期成分を周期成分記憶部に記憶する周期成分抽出処理と、
前記メトリック蓄積部から、予測に使うメトリックを予測行列として取得し、前記基底行列記憶部に記憶されている前記基底行列を用いて、前記予測行列に対応する係数行列を予測対応係数行列として推定する係数行列推定処理と、
前記予測対応係数行列から、前記周期成分記憶部に記憶されている前記周期成分を除去する周期成分除去処理と、
前記周期成分が除去された前記予測対応係数行列に対して予測手法を用いることにより、ジョブごとの負荷を予測した予測値を算出する予測処理と
をコンピュータである前記リソース管理装置に実行させる。
【発明の効果】
【００１５】
本発明に係るリソース管理装置では、基底行列学習部が、リソースの消費を時系列に表すメトリックが蓄積されたメトリック蓄積部から、学習対象のメトリックを学習行列として取得する。そして、基底行列学習部が、この学習行列を非負値行列因子分解により、ジョブごとのリソースの消費の特性を表す基底行列と、ジョブごとの負荷を時系列で表した係数行列とに分解する。また、周期成分抽出部が、係数行列から、ジョブごとの周期成分を抽出する。本発明に係るリソース管理装置によれば、このような基底行列および周期成分を用いて、予測対象のメトリックである予測行列に対する予測値を算出することができるので、複数ジョブが混在するシステムであっても、長期的傾向を踏まえたリソース消費の予測を的確に行うことができる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態１に係るリソース管理装置の全体構成図。
【図２】実施の形態１に係る学習予測部の詳細構成図。
【図３】実施の形態１に係るリソース管理装置によるリソース管理処理の学習処理のフロー図。
【図４】実施の形態１に係る学習行列Ｘの例。
【図５】実施の形態１に係る基底行列Ｗと係数行列Ｈの例。
【図６】実施の形態１に係る予測対象システムにおけるメトリックの実例とジョブの負荷の時系列の例。
【図７】実施の形態１に係るリソース管理装置によるリソース管理処理の予測処理のフロー図。
【図８】実施の形態１に係るジョブごとの予測値Ｆ１の例。
【図９】実施の形態１に係るメトリック予測値Ｆ２の例。
【図１０】実施の形態１に係るリソース管理装置によるリソース管理処理の精度監視処理のフロー図。
【図１１】実施の形態１に係るリソース管理装置によるリソース管理処理のリソース配分決定処理のフロー図。
【図１２】実施の形態１に係るＣＰＵ割り当ての例。
【図１３】実施の形態１に係るリソース管理装置によるリソース管理処理のリソース配分決定処理のフロー図。
【図１４】実施の形態１に係る他の構成例として、リソース割り当て量に応じてホストの電源オンオフをコントロールする処理のフロー図。
【図１５】実施の形態１に係るリソース管理装置のハードウェア構成図。
【発明を実施するための形態】
【００１７】
以下、本実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
【００１８】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係るリソース管理装置１００の全体構成図である。
本実施の形態に係るリソース管理装置１００は、複数のジョブが実行される計算機のリソースを管理する。複数ホストにまたがって複数システムが混在している仮想化環境のリソース消費を予測することを想定する。このような仮想化環境の具体例には、ＩａａＳ（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）がある。
【００１９】
リソース管理装置１００は、機能要素として、仮想環境管理部１１０、メトリック取得部１２０、メトリック蓄積部１２１、学習予測部１３０、予測履歴記憶部１４０、予測精度監視部１５０、リソース配分決定部１７０、およびＶＭ配置決定部１８０を備える。
【００２０】
仮想環境管理部１１０は、ＶＭｗａｒｅ  ｖＣｅｎｔｅｒ  Ｓｅｒｖｅｒ（登録商標）といったサーバ管理ソフトウェアに相当する。ＡＰＩ（アプリケーションインタフェース）を通じてホスト間でのＶＭ移動、ホストの停止、およびＶＭに対するリソースの割り当てを行う。また、継続的にホストまたはＶＭのメトリックを取得する。メトリックとは、仮想環境においてホストおよびＶＭの性能を表す指標である。ＣＰＵ使用率およびメモリ使用率がメトリックの代表例である。
【００２１】
メトリック取得部１２０は、Ｚａｂｂｉｘ（登録商標）といった監視ソフトウェアに相当する。メトリック取得部１２０は、仮想環境管理部１１０からメトリック５０を取得する。また、ＶＭ内のエージェントを通じて追加でメトリック５０を取得しても良い。
学習予測部１３０は、メトリック取得部１２０を通じて収集したメトリックからリソース消費の予測方法を学習し、その手法を使ってリソース消費を予測する。学習予測部１３０は、リソース消費学習・予測部ともいう。
【００２２】
予測履歴記憶部１４０は、リソース消費の予測結果を記憶する。
予測精度監視部１５０は、予測履歴記憶部１４０で記憶した予測結果と学習予測部１３０から取得した実際のリソース消費を照合し、精度を計算する。精度が下がっている場合は学習予測部１３０に再学習指示を与える。
リソース配分決定部１７０は、リソース消費の予測結果をもとに追加および削除が必要なリソースを決定する。
ＶＭ配置決定部１８０は、リソース配分決定部１７０からのリソースの追加・削除要求をもとに、ホスト間のＶＭ配置を決定する。
【００２３】
図２は、本実施の形態に係る学習予測部１３０の詳細構成図である。
学習予測部１３０は、基底行列学習部３１、周期成分抽出部３２、予測手法決定部３３、基底行列記憶部３４、周期成分記憶部３５、予測手法記憶部３６、係数行列推定部３７、周期成分除去部３８、予測部３９、および、予測値再現部４０を備える。
【００２４】
メトリック蓄積部１２１には、メトリック取得部１２０で取得したメトリック５０が定期的（例：１分ごと）に送信され、入力される。メトリック蓄積部１２１は、時系列データベースであり、取得したメトリック５０を多変量時系列として記憶する。
【００２５】
基底行列学習部３１は、学習指示を受け付ける。学習指示は、例えば、定期的（例：日次）に、学習予測部１３０に対して学習を指示する。予測精度監視部１５０が予測精度の低下を検知した場合は追加で再学習を指示する。基底行列学習部３１は、メトリック蓄積部１２１から一定期間（例：３ヶ月）のメトリック５０を取得し、ＮＭＦ（非負値行列因子分解）により基底行列Ｗと係数行列Ｈに分解する。
基底行列記憶部３４は、ＮＭＦにより得られた基底行列Ｗを記憶する。
【００２６】
係数行列推定部３７は、定期的（例：５分ごと）に学習予測部１３０に対して予測を指示する予測指示を受け付ける。係数行列推定部３７は、メトリック蓄積部１２１から予測に用いる期間（例：１時間）のメトリック５０を取得し、記憶した基底行列Ｗを固定して、ＮＭＦにより係数行列Ｈへ分解する。
【００２７】
周期成分抽出部３２は、各係数行列Ｈをジョブの負荷を表す時系列データとみなして、それぞれの時系列データから周期成分を抽出する。
周期成分記憶部３５は、基底行列Ｗごとの周期成分を記憶する。
周期成分除去部３８は、係数行列Ｈから周期成分を除去する。
【００２８】
予測手法決定部３３は、プリセットされた複数の時系列予測アルゴリズムを使って一定期間（例：１時間）のデータから次につづく期間（例：３０分）のデータを予測することを繰り返し、予測アルゴリズムごとの精度を計算する。
予測手法記憶部３６は、予測手法決定部３３で得られた各基底行列Ｗに対する最高精度の予測アルゴリズムを記憶する。
【００２９】
予測部３９は、各基底行列Ｗに対して記憶した予測アルゴリズムを用いて、次につづく期間（例：３０分）のデータを予測した予測値を出力する。
予測値再現部４０は、予測値から周期成分と基底行列を使って、メトリックを再合成する。そして、予測部３９は、再合成したメトリックを最終的なメトリック予測値として出力する。
【００３０】
＊＊＊動作の説明＊＊＊
図３を用いて、本実施の形態に係るリソース管理装置１００によるリソース管理処理の学習処理について説明する。
学習処理は、定期的に、または、予測精度監視部１５０からの再学習指示によって開始する。学習処理は予測処理より負荷が高いため、日次あるいは週次で実行される。
【００３１】
＜学習処理＞
ステップＳ１０１において、基底行列学習部３１は、メトリック蓄積部１２１から一定期間（例：３か月）のメトリックを学習対象の学習行列Ｘとして取得する。
【００３２】
図４は、本実施の形態に係る学習行列Ｘの例を表す図である。
メトリックは、仮想環境管理部１１０といったＡＰＩを利用して、リソース消費量を表すデータが等間隔で取得される。取り扱うメトリックは常に０以上の値をとり、ジョブの負荷に応じて増大するものを選択する。具体的には、ＶＭのＣＰＵ使用率、メモリ使用量、ディスク読み込み回数およびディスク書き込み回数（以下、ＩＯとする）、およびネットワーク送受信データ量といった情報である。
【００３３】
図４の学習行列Ｘは、ＶＭ１のＣＰＵ使用率のメトリック５０と、ＶＭ１のＩＯのメトリック５０と、ＶＭ２のＣＰＵ使用率のメトリック５０と、ＶＭ２のＩＯのメトリック５０とが含まれている。
取得したメトリック５０の種類をｍ、各メトリックの取得したサンプル数をｎとすると、取得したデータはｍ行ｎ列の非負値行列とみなせる。すなわち、学習行列Ｘは、ｍ行ｎ列の非負値行列である。
【００３４】
ステップＳ１０２において、基底行列学習部３１は、学習行列ＸをＮＭＦ（非負値行列因子分解）により基底行列Ｗと係数行列Ｈに分解する。基底行列Ｗは、ジョブごとのリソースの消費の特性を表す。係数行列Ｈは、ジョブごとの負荷を時系列で表す。
【００３５】
具体的には、基底行列学習部３１は、学習行列Ｘを、ｍ行ｒ列の非負値行列Ｗと、ｒ行ｎ列の非負値行列Ｈに分解する。すなわち、Ｘ≒ＷＨとなるようなＷとＨを求める。ｒはｒ＜ｍを満たす任意のパラメータである。この分解は非負値行列因子分解（ＮＭＦ）と呼ばれ、オープンソースの実装でも解くことが可能であり、最も単純な場合では、｜｜Ｘ−ＷＨ｜｜（Ｘ−ＷＨのノルム）を最小化するようなＷとＨを求める。この際、Ｗは基底行列と呼ばれ、ジョブ発生時に同期的に上昇するメトリックを表現する。Ｈは係数行列と呼ばれ、ジョブの負荷を時系列的に表現していると解釈できる。このことから、ジョブの負荷の上昇が滑らかになるように、｜｜Ｘ−ＷＨ｜｜（Ｘ−ＷＨのノルム）と何らかの正則化項の和を最小化するようにしても構わない。
【００３６】
図５は、本実施の形態に係る基底行列Ｗと係数行列Ｈの例を示す図である。
図５では、メトリックをＶＭ１，ＶＭ２，ＶＭ３，ＶＭ４，・・・のＣＰＵ使用率とする。基底行列Ｗでは、ジョブごとに同期的に上昇するメトリックが表現される。つまり、同期的にＣＰＵ使用率が上昇するＶＭを特定できる。また、係数行列Ｈでは、ジョブの負荷が時系列的に表現される。
【００３７】
ステップＳ１０３において、基底行列学習部３１は、基底行列Ｗを基底行列記憶部３４に記憶する。基底行列Ｗは、予測処理において使用される。
【００３８】
図６は、本実施の形態に係る予測対象システム１０におけるメトリックの実例とジョブの負荷の時系列を示す図である。
具体的には、ジョブ１は、ＶＭ１とＶＭ２の間の通信を伴うジョブであり、平日の日中に負荷が上昇する傾向がある。また、ジョブ２は、ＶＭ１からディスク１へのバックアップジョブであり、毎日夜の決まった時間に実行される。ＶＭ１のＣＰＵ使用率のみに注目した場合、複数の周期成分が混在する上にジョブによって時系列の変化特性（例：上昇速度）が異なるため、予測は困難になる。しかし、ジョブ１では、ＶＭ２のＣＰＵ使用率が同期的に上昇し、ジョブ２ではディスク１のＩＯが同期的に上昇する。このことから、ジョブ１のリソース消費とジョブ２のリソース消費は分離可能である。よって、ジョブ１の時系列とジョブ２の時系列に対してそれぞれ異なった時系列予測アルゴリズムを適用することで、より精度を高めることが可能となる。
【００３９】
ステップＳ１０４において、周期成分抽出部３２は、係数行列Ｈからジョブごとの周期成分Ｐを抽出する。
ステップＳ１０５において、周期成分抽出部３２は、周期成分Ｐを周期成分記憶部３５に記憶する。ジョブごとの周期成分Ｐは、予測処理において使用される。
【００４０】
具体的には、周期成分抽出部３２は、係数行列を行ごとに時系列と見なした際の周期成分を抽出して除去する。ここでは周期（例：月、週、日）が与えられた際に周期成分を抽出する既知のアルゴリズムを利用する。アルゴリズムはオープンソースの実装であってよい。周期成分Ｐは、予測時に利用するため、基底ごとに周期成分記憶部３５に記憶される。
【００４１】
ステップＳ１０６およびステップＳ１０７において、予測手法決定部３３は、時系列予測に用いられる複数の予測アルゴリズムの各々と、係数行列Ｈとを用いて、複数の予測アルゴリズムの各々の精度を算出する。具体的には、周期成分Ｐを考慮せずに時系列予測を行う既知の複数の予測アルゴリズムがプリセットとしてメモリに記憶されている。例えば、ＡＲＩＭＡモデル、指数平滑化法、あるいは線形モデルによるトレンド分析といった予測アルゴリズムが記憶されている。さらには、予測アルゴリズムで使うパラメータの組み合わせが複数記憶されていても良い。周期成分Ｐを除去した時系列の一部を学習データ、それに続く一部をテストデータとしてプリセットされた予測アルゴリズムを適用する（ステップＳ１０６）。
予測手法決定部３３は、それぞれの予測アルゴリズムの精度を計算する。精度の計算方法は何分後まで予測したいかに合わせて好きなように決定してよい（ステップＳ１０７）。例えば、最大２０分後まで予測したいのであれば、時系列データ全体を１時間ごとに区切り、前半４０分間から後半２０分間の時系列を予測し、予測値と計測値の最小二乗誤差の和を精度の指標としてよい。
【００４２】
ステップＳ１０８において、予測手法決定部３３は、最も精度の高い予測アルゴリズムを予測手法Ｍとする。予測手法決定部３３は、最も精度の良い手法を予測手法Ｍとして予測手法記憶部３６に記憶する。予測手法Ｍは、基底ごとに最も精度の良い手法を予測時に利用するため予測手法記憶部３６に記憶される。
【００４３】
図７を用いて、本実施の形態に係るリソース管理装置１００によるリソース管理処理の予測処理について説明する。
予測処理は、予測処理は定期的（例：５分あるいは１０分）に実行される。また、予測指示においては予測対象となる１つまたは複数のメトリック（例：各ＶＭのＣＰＵ使用率）が指示される。
【００４４】
＜予測処理＞
ステップＳ２０１において、係数行列推定部３７は、メトリック蓄積部１２１から予測に使うメトリックを予測行列Ｙとして取得する。予測行列Ｙは、具体例として、３０分あるいは１時間といった一定期間のデータである。
【００４５】
次に、係数行列推定部３７は、基底行列記憶部３４に記憶されている基底行列Ｗを用いて、予測行列Ｙに対応する係数行列を予測対応係数行列Ｉとして推定する。
具体的には、以下の通りである。
【００４６】
ステップＳ２０２において、係数行列推定部３７は、基底行列記憶部３４に記憶された非負値行列である基底行列Ｗを用いて、予測行列Ｙを基底行列Ｗと非負値行列に分解する。この処理は基底行列Ｗを固定して、ＮＭＦを実行することで、非負値行列である係数行列を推定することである。
ステップＳ２０３において、係数行列推定部３７は、予測対象が含まれる係数行列を予測対応係数行列Ｉとして選択する。つまり、係数行列推定部３７は、係数行列から予測対象が含まれない行を削除し、予測対応係数行列Ｉとする。この時点で、予測対象となるメトリックが基底行列に含まれない時系列は破棄される。
【００４７】
ステップＳ２０４において、係数行列推定部３７は、基底行列記憶部３４に記憶されている基底行列Ｗと予測対応係数行列Ｉを用いた場合と、予測行列Ｙとの誤差をメモリに記憶する。基底行列Ｗと予測対応係数行列Ｉの積は元の予測行列Ｙの近似であるため、誤差（残差ともいう）が発生する。係数行列推定部３７は、この予測対象となるメトリックの誤差をメモリに記憶する。この予測対象となるメトリックの誤差は予測値再現部４０の処理で用いられる。
【００４８】
ステップＳ２０５において、周期成分除去部３８は、予測対応係数行列Ｉから、周期成分記憶部３５に記憶されている周期成分Ｐを除去する。具体的には、周期成分除去部３８は、基底ごとに周期成分記憶部３５に記憶された周期成分Ｐを、時系列のデータである予測対応係数行列Ｉから除去する。
【００４９】
ステップＳ２０６において、予測部３９は、周期成分Ｐが除去された予測対応係数行列Ｉに対して予測手法Ｍを用いることにより、ジョブごとの負荷を予測した予測値Ｆを算出する。予測値Ｆは、例えば、２０分から３０分程度の時間でもよい。予測部３９は、基底ごとに予測手法記憶部３６に記憶された最高精度の予測手法Ｍを用いて、予測対応係数行列Ｉに続く時系列を予測する。
【００５０】
ステップＳ２０６において、予測値再現部４０は、周期成分記憶部３５に記憶されている周期成分Ｐを予測値Ｆに付与する。そして、予測値再現部４０は、周期成分Ｐが付与された予測値Ｆ１と、基底行列記憶部３４に記憶されている基底行列Ｗとを用いて、リソースの消費の種類ごと、すなわちメトリックごとの予測値をメトリック予測値Ｆ２として算出する。また、予測値再現部４０は、メトリック予測値Ｆ２にステップＳ２０４で記憶した誤差を付与する。
【００５１】
図８は、本実施の形態に係るジョブごとの予測値Ｆ１の例を示す図である。
予測値再現部４０は、周期成分記憶部３５に記憶された周期成分Ｐを予測値Ｆに付与し、予測値Ｆ１とする。
【００５２】
図９は、本実施の形態に係るメトリック予測値Ｆ２の例を示す図である。
予測値再現部４０は、基底行列Ｗのうち、予測対象となるメトリックの行のみ抽出した行列と予測値Ｆ１を行として並べた行列の積を取る。これにより、メトリックごとの予測値が得られる。最後に、予測値再現部４０は、係数行列推定部３７で生じた誤差をメトリックごとの予測値に付与して、予測対象となるメトリック予測値Ｆ２を出力する。メトリック予測値Ｆ２は一定時間後までの時系列として、リソース配分決定部１７０および予測履歴記憶部１４０へ出力される。
【００５３】
図１０を用いて、本実施の形態に係るリソース管理装置１００によるリソース管理処理の精度監視処理について説明する。
精度監視処理は、予測処理は定期的に実行される。
【００５４】
＜精度監視処理＞
ステップＳ３０１において、予測精度監視部１５０は、メトリック蓄積部１２１および予測履歴記憶部１４０から、予測対象となる１つまたは複数のメトリックを同じ期間だけ取得する。
ステップＳ３０２において、予測精度監視部１５０は、メトリックの計測値とメトリックの予測値の誤差を計算する。例えば、予測値と計測値の最小二乗誤差の和を計算する。
ステップＳ３０３において、予測精度監視部１５０は、計算結果が予め決められた閾値を超えているか否かを判定する。計算結果が閾値を超えている場合、ステップＳ３０４に進む。計算結果が閾値以下の場合、ステップＳ３０１に戻る。
ステップＳ３０４において、予測精度監視部１５０は、システム特性が変化したとみなして学習予測部１３０の基底行列学習部３１に再学習指示５１を送信する。
【００５５】
図１１を用いて、本実施の形態に係るリソース管理装置１００によるリソース管理処理のリソース配分決定処理について説明する。
リソース配分決定処理は、学習予測部１３０から予測対象の時系列データ、すなわちメトリック予測値Ｆ２を受け取って処理を開始する。
【００５６】
＜リソース配分決定処理＞
リソース配分決定部１７０は、予測対象となる１つまたは複数のメトリック（例：各ＶＭのＣＰＵ使用率）のメトリック予測値Ｆ２が、設定値（例：現状割り当ての９０％）を超えるか否かを判定する（ステップＳ４０１）。設定値を超える場合、リソース配分決定部１７０は、ＣＰＵ割り当てを追加する指示を、設定値を超えるまでの時間と合わせてＶＭ配置決定部１８０に送信する（ステップＳ４０２）。さらに高い設定値を一つまたは複数設けても良い。例えば、ＣＰＵ使用率が現状割り当ての９０％を超える場合に０．５ＣＰＵの割り当てを要求し、ＣＰＵ使用率が現状割り当ての１４０％を超える場合に０．５ＣＰＵの割り当てを追加で要求してもよい。
また、設定値（例：現状割り当ての５０％）を下回るか否かを判定する（ステップＳ４０３）。設定値を下回る場合、リソース配分決定部１７０は、ＣＰＵ割り当てを削減する指示をＶＭ配置決定部１８０に送信する（ステップＳ４０４）。
【００５７】
図１２は、本実施の形態に係るＣＰＵ割り当ての例を示す図である。
図１２に示すように、ホストのＣＰＵは仮想化されてＶＭに割り当てられるため、ＣＰＵの割り当てを小数値でコントロールできる。
【００５８】
図１３を用いて、本実施の形態に係るリソース管理装置１００によるリソース管理処理のリソース配分決定処理について説明する。
リソース配分決定処理は、リソース配分決定部１７０からリソース割り当て指示を受けて開始する。
【００５９】
＜ＶＭ配置決定処理＞
ＶＭ配置決定部１８０は、要求通りにリソース割り当てを行った際にホストのリソース上限を超えるか否かを判定する（ステップＳ５０１）。ホストのリソース上限を超える場合、リソース割り当てを行ってもオーバーコミットが発生するため、性能の低下が発生する。オーバーコミットとは、各ＶＭに割り当てたリソース（特にＣＰＵ、メモリ）の合計がホストのリソースを超えた状態である。オーバーコミットでは、ＣＰＵ割り当て待ち時間の増加およびメモリの書き換えによる性能低下を引き起こす。
【００６０】
そのため、ＶＭ配置決定部１８０は、ホスト間でＶＭを移動して、リソース上限が超えないようなＶＭの配置がないか探索する（ステップＳ５０２）。例えば、ＣＰＵ使用率の予測値が低いＶＭから順に余剰リソースの存在するホストに移動することで、リソース上限が超えないようにできるかどうか探索する。
【００６１】
探索の結果、ホストのリソース上限を超えないようなＶＭ配置が見つからない場合、ＶＭ配置決定部１８０は、リソース消費量が設定値を超えるのが最も遅いＶＭのリソース割り当て要求を破棄し、再度ＶＭ配置を探索する（ステップＳ５０３）。ＶＭ配置が見つかった場合は、ＶＭ配置決定部１８０は、ＶＭの移動を行う（ステップＳ５０４）。
【００６２】
最後に、ＶＭ配置決定部１８０は、リソース割り当て要求にしたがい各ＶＭのリソース割り当て要求を処理するため、仮想環境管理部１１０に指示を送る（ステップＳ５０５）。
【００６３】
他の構成例として、リソース消費予測の対象としてディスクＩＯを用いる場合について説明する。物理ディスクのディスクＩＯの上限値は決まっているため、物理ディスク上の仮想ディスクへのディスクＩＯが集中すると性能低下を引き起こす。ディスクＩＯの予測値がディスクの上限を超える場合、ディスクＩＯの予測値が低い仮想ディスクから順に余剰リソースの存在するディスクに仮想ディスクの場所を移動することで、リソース上限が超えないように制御できる。
【００６４】
図１４は、本実施の形態に係る他の構成例として、リソース割り当て量に応じてホストの電源オンオフをコントロールする処理のフロー図である。
ＶＭ配置決定部１８０は、要求通りにリソース割り当てを行った際にホストのリソース上限を超える場合にホスト間でＶＭを移動して、リソース上限が超えないようなＶＭの配置がないか探索する（ステップＳ６０１およびステップＳ６０２）。
【００６５】
探索の結果、ホストのリソース上限を超えないようなＶＭ配置が見つからない場合、ＶＭ配置決定部１８０は、新たなホストの電源をオンにするよう仮想環境管理部１１０に指示を送りリソースを確保した上で再探索する（ステップＳ６０３）。ＶＭ配置が見つかった場合は、ＶＭの移動を行う（ステップＳ６０４）。
【００６６】
また、ホストがより少ない状態を仮定して、リソース上限が超えないようなＶＭの配置がないか探索する（ステップＳ６０５）。例えば、稼働しているホストのうち最も搭載ＣＰＵが少ないホスト上でＶＭを稼働させないという条件でＶＭの配置がないか探索する。
【００６７】
探索の結果、ホストがより少ない状態でもホストのリソース上限を超えないようなＶＭ配置が見つかった場合、ＶＭ配置決定部１８０は、不要となったホスト上でＶＭを稼働させないようにＶＭの移動を行う（ステップＳ６０６）。そして、ＶＭ配置決定部１８０は、ホストを停止するよう仮想環境管理部１１０に指示を送る（ステップＳ６０７）。
ステップＳ６０５での探索の結果、ＶＭ配置が見つからなかった場合は、現状のホスト数を維持し、ステップＳ６０８に移行する。
最後に、ＶＭ配置決定部１８０は、リソース割り当て要求にしたがい各ＶＭのリソース割り当て要求を処理するため、仮想環境管理部１１０に指示を送る（ステップＳ６０８）。
【００６８】
＊＊＊ハードウェア構成＊＊＊
ここで、図１５を用いて、リソース管理装置１００のハードウェア構成について説明する。
リソース管理装置１００は、コンピュータである。リソース管理装置１００は、プロセッサ９１０を備えるとともに、メモリ９２１、補助記憶装置９２２、入力インタフェース９３０、出力インタフェース９４０、および通信装置９５０といった他のハードウェアを備える。プロセッサ９１０は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００６９】
リソース管理装置１００は、機能要素として、仮想環境管理部１１０、メトリック取得部１２０、メトリック蓄積部１２１、学習予測部１３０、予測履歴記憶部１４０、予測精度監視部１５０、リソース配分決定部１７０、およびＶＭ配置決定部１８０を備える。また、学習予測部１３０は、基底行列学習部３１、周期成分抽出部３２、予測手法決定部３３、基底行列記憶部３４、周期成分記憶部３５、予測手法記憶部３６、係数行列推定部３７、周期成分除去部３８、予測部３９、および、予測値再現部４０を備える。
【００７０】
仮想環境管理部１１０、メトリック取得部１２０、学習予測部１３０、予測精度監視部１５０、リソース配分決定部１７０、およびＶＭ配置決定部１８０の機能は、ソフトウェアにより実現される。また、基底行列学習部３１、周期成分抽出部３２、予測手法決定部３３、係数行列推定部３７、周期成分除去部３８、予測部３９、および、予測値再現部４０の機能も、ソフトウェアにより実現される。これらの各部をリソース管理装置１００の各部とする。また、メトリック蓄積部１２１、予測履歴記憶部１４０、基底行列記憶部３４、周期成分記憶部３５、予測手法記憶部３６は、メモリ９２１に備えられる。メトリック蓄積部１２１、予測履歴記憶部１４０、基底行列記憶部３４、周期成分記憶部３５、予測手法記憶部３６は、各記憶部とする。各記憶部は、補助記憶装置９２２に備えられていてもよい。また、各記憶部は、メモリ９２１と補助記憶装置９２２に分けられて備えられてもよい。
【００７１】
プロセッサ９１０は、リソース管理プログラムを実行する装置である。リソース管理プログラムは、リソース管理装置１００の各部の機能を実現するプログラムである。
プロセッサ９１０は、演算処理を行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ９１０の具体例は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００７２】
メモリ９２１は、データを一時的に記憶する記憶装置である。メモリ９２１の具体例は、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、あるいはＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
補助記憶装置９２２は、データを保管する記憶装置である。補助記憶装置９２２の具体例は、ＨＤＤである。また、補助記憶装置９２２は、ＳＤ（登録商標）メモリカード、ＣＦ、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤといった可搬の記憶媒体であってもよい。なお、ＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略語である。ＳＤ（登録商標）は、Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌの略語である。ＣＦは、ＣｏｍｐａｃｔＦｌａｓｈ（登録商標）の略語である。ＤＶＤは、Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋの略語である。
【００７３】
入力インタフェース９３０は、マウス、キーボード、あるいはタッチパネルといった入力装置と接続されるポートである。入力インタフェース９３０は、具体的には、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子である。なお、入力インタフェース９３０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）と接続されるポートであってもよい。
出力インタフェース９４０は、ディスプレイといった出力機器のケーブルが接続されるポートである。出力インタフェース９４０は、具体的には、ＵＳＢ端子またはＨＤＭＩ（登録商標）（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子である。ディスプレイは、具体的には、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）である。
【００７４】
通信装置９５０は、レシーバとトランスミッターを有する。通信装置９５０は、無線で、ＬＡＮ、インターネット、あるいは電話回線といった通信網に接続している。通信装置９５０は、具体的には、通信チップまたはＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ
Ｃａｒｄ）である。
【００７５】
リソース管理プログラムは、プロセッサ９１０に読み込まれ、プロセッサ９１０によって実行される。メモリ９２１には、リソース管理プログラムだけでなく、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。プロセッサ９１０は、ＯＳを実行しながら、リソース管理プログラムを実行する。リソース管理プログラムおよびＯＳは、補助記憶装置９２２に記憶されていてもよい。補助記憶装置９２２に記憶されているリソース管理プログラムおよびＯＳは、メモリ９２１にロードされ、プロセッサ９１０によって実行される。なお、リソース管理プログラムの一部または全部がＯＳに組み込まれていてもよい。
【００７６】
リソース管理装置１００は、プロセッサ９１０を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、リソース管理プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ９１０と同じように、リソース管理プログラムを実行する装置である。
【００７７】
リソース管理プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ９２１、補助記憶装置９２２、または、プロセッサ９１０内のレジスタあるいはキャッシュメモリに記憶される。
【００７８】
リソース管理装置１００の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えてもよい。またリソース管理装置１００の各部の部を処理に読み替えた場合の「処理」を「プログラム」、「プログラムプロダクト」または「プログラムを記録したコンピュータ読取可能な記録媒体」に読み替えてもよい。
リソース管理プログラムは、上記の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えた各処理、各手順あるいは各工程を、コンピュータに実行させる。また、リソース管理方法は、リソース管理装置１００がリソース管理プログラムを実行することにより行われる方法である。
リソース管理プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよい。また、リソース管理プログラムは、プログラムプロダクトとして提供されてもよい。
【００７９】
＊＊＊他の構成＊＊＊
＜変形例１＞
本実施の形態では、リソース管理装置１００の各部の機能がソフトウェアで実現される。変形例として、リソース管理装置１００の各部の機能がハードウェアで実現されてもよい。その場合、リソース管理装置１００は、プロセッサ９１０に替えて、電子回路を備える。
【００８０】
電子回路は、リソース管理装置１００の各部の機能を実現する専用の電子回路である。
電子回路は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＡＳＩＣ、または、ＦＰＧＡである。ＧＡは、Ｇａｔｅ  Ａｒｒａｙの略語である。ＡＳＩＣは、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。ＦＰＧＡは、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略語である。
【００８１】
リソース管理装置１００の各部の機能は、１つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。
別の変形例として、リソース管理装置１００の各部の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。
また、別の変形例として、リソース管理装置１００の各部の一部あるいはすべての機能が、ファームウェアで実現されていてもよい。
【００８２】
プロセッサと電子回路の各々は、プロセッシングサーキットリとも呼ばれる。つまり、リソース管理装置１００において、リソース管理装置１００の各部の機能は、プロセッシングサーキットリにより実現される。
【００８３】
＊＊＊本実施の形態の効果の説明＊＊＊
本実施の形態に係るリソース管理装置１００では、各ＶＭおよびホストのリソース消費を、数理的手法を用いてジョブごとに分離した後、各ジョブに適した時系列予測アルゴリズムを利用することで、精度よく予測する。
本実施の形態に係るリソース管理装置１００では、長い周期でモデルを生成する学習フェーズと、短い周期で予測を行う予測フェーズが存在する。
学習フェーズでは、複数メトリックの時系列を非負値行列とみなして非負値行列因子分解を行う。この際、基底行列はジョブごとのメトリック消費特性、係数行列はジョブ発生の時系列と解釈できる。ジョブ発生の時系列からはジョブごとに異なる周期成分を抽出する。周期成分を除いた時系列に対して複数のプリセットされた予測アルゴリズムを適用し、最も高精度なアルゴリズムを記憶する。
また、予測フェーズでは、事前に取得した基底行列を使って直近のメトリック時系列を分解し、直近のジョブ発生の時系列を得る。事前に取得した周期成分を除き、事前に取得したアルゴリズムを適用してジョブ単位での発生予測を行う。ジョブ単位での発生予測は除いた周期成分と基底行列に基づいて予測対象となるメトリックに復元される。
【００８４】
本実施の形態に係るリソース管理装置１００では、取得したメトリックに対して非負値行列因子分解を行うことで、ジョブごとのリソース消費の特性とジョブ発生の時系列を割り出す。ジョブ発生の時系列に対して時系列予測を行う。この際、時系列予測に用いる手法、時系列に含まれる周期成分はジョブごとに学習したものを用いる。よって、本実施の形態に係るリソース管理装置１００によれば、メトリックをジョブごとのリソース消費に分解することができる。また、ジョブごとに適した時系列予測の手法を適用することができる。したがって、複数ジョブが混在するシステムであっても、長期的傾向を踏まえたリソース消費の予測を可能とすることができる。
【００８５】
以上の実施の形態１では、リソース管理装置の各部を独立した機能ブロックとして説明した。しかし、リソース管理装置の構成は、上述した実施の形態のような構成でなくてもよい。リソース管理装置の機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、どのような構成でもよい。また、リソース管理装置は、１つの装置でなく、複数の装置から構成されたシステムでもよい。
また、実施の形態１のうち、複数の部分を組み合わせて実施しても構わない。あるいは、この実施の形態のうち、１つの部分を実施しても構わない。その他、この実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
すなわち、実施の形態１では、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【００８６】
なお、上述した実施の形態は、本質的に好ましい例示であって、本発明の範囲、本発明の適用物の範囲、および本発明の用途の範囲を制限することを意図するものではない。上述した実施の形態は、必要に応じて種々の変更が可能である。
【符号の説明】
【００８７】
１０  予測対象システム、３１  基底行列学習部、３２  周期成分抽出部、３３  予測手法決定部、３４  基底行列記憶部、３５  周期成分記憶部、３６  予測手法記憶部、３７  係数行列推定部、３８  周期成分除去部、３９  予測部、４０  予測値再現部、５０
メトリック、５１  再学習指示、１００  リソース管理装置、１１０  仮想環境管理部、１２０  メトリック取得部、１２１  メトリック蓄積部、１３０  学習予測部、１４０
予測履歴記憶部、１５０  予測精度監視部、１７０  リソース配分決定部、１８０  ＶＭ配置決定部、Ｗ  基底行列、Ｈ  係数行列、Ｉ  予測対応係数行列、Ｘ  学習行列、Ｙ  予測行列、Ｐ  周期成分、Ｆ，Ｆ１  予測値、Ｆ２  メトリック予測値、９１０  プロセッサ、９２１  メモリ、９２２  補助記憶装置、９３０  入力インタフェース、９４０  出力インタフェース、９５０  通信装置。
【図１】
2020154982.tif 000003
【図２】
2020154982.tif 000004
【図３】
2020154982.tif 000005
【図４】
2020154982.tif 000006
【図５】
2020154982.tif 000007
【図６】
2020154982.tif 000008
【図７】
2020154982.tif 000009
【図８】
2020154982.tif 000010
【図９】
2020154982.tif 000011
【図１０】
2020154982.tif 000012
【図１１】
2020154982.tif 000013
【図１２】
2020154982.tif 000014
【図１３】
2020154982.tif 000015
【図１４】
2020154982.tif 000016
【図１５】
2020154982.tif 000017