(57)【要約】【課題】各サービスのサービスレベルを維持するためには、各サービスに十分な余剰リソースを割り当てる必要があるが、結果として、使用されないリソースが多く必要となってしまうことがある。【解決手段】リソース割り当て最適化システムは、複数のサービスの各々について、当該サービスのワークロードの正確な予測が期待できるか否かの判別である予測判別を行い、前記予測判別の結果を基に、当該サービスに対するリソース割り当てを制御する。各サービスについて、予測判別は、（ｘ）当該サービスについて所定期間における時系列実測ワークロードと時系列予測ワークロード、及び、（ｙ）当該サービスについて前記所定期間における実測サービスレベルと予測サービスレベルとのうちの少なくとも１つ、のうちの少なくとも１つに基づく。【選択図】図１
2019082801.tif 000002
【特許請求の範囲】
【請求項１】
提供される複数のサービスの各々について、当該サービスについて第１期間における時系列ワークロード及び時系列サービスレベルを予測する予測部と、
前記複数のサービスの各々について、下記（ｘ）及び（ｙ）
（ｘ）当該サービスについて前記第１期間における時系列実測ワークロードと時系列予測ワークロード、及び、
（ｙ）当該サービスについて前記第１期間における実測サービスレベルと予測サービスレベルとのうちの少なくとも１つ、
のうちの少なくとも１つを基に、当該サービスのワークロードの正確な予測が期待できるか否かの判別である予測判別を行い、当該予測判別の結果を基に、当該サービスに対するリソース割り当てを制御する最適化部と
を有するリソース割り当て最適化システム。
【請求項２】
前記最適化部は、前記予測判別の結果が偽であるサービスに対してリソース群を追加することを決定する、
請求項１に記載のリソース割り当て最適化システム。
【請求項３】
前記追加されるリソース群は、一定量のリソース群である、
請求項２に記載のリソース割り当て最適化システム。
【請求項４】
前記追加されるリソース群は、ワークロード差分及び超過差分のうちの少なくとも１つに応じて決定された量のリソース群であり、
前記ワークロード差分は、実測ワークロードと予測ワークロードとの差分であり、
前記超過差分は、サービスレベル閾値を超えた実測サービスレベル又は予測サービスレベルと当該サービスレベル閾値との差分である、
請求項２に記載のリソース割り当て最適化システム。
【請求項５】
前記最適化部は、前記予測判別の結果が真であるサービスに関連付いているリソース群における各リソースのリソース量を、当該リソースの前記第１期間での実測メトリック及び予測メトリックの少なくとも１つを基に決定する、
請求項２乃至４のうちのいずれか１項に記載のリソース割り当て最適化システム。
【請求項６】
前記最適化部は、前記予測判別の結果が真であるサービスについてのリソース群のリソース量が、前記決定されたリソース量よりも多い場合、当該リソース群のリソース量を削減することを決定し、
前記追加されたリソース群のリソース量は、前記削減されたリソース量を含む、
請求項５に記載のリソース割り当て最適化システム。
【請求項７】
前記最適化部は、前記予測判別の結果が真であるサービスに関連付けられているリソース群における各リソースについて、当該リソースのリソース量が現状維持か否かの判別である維持判別を行い、
前記最適化部は、前記維持判別の結果が偽であるリソースについて、リソース量を決定し、
前記維持判別は、以下の（Ｋ１）〜（Ｋ３）の判別のうちの少なくとも１つを含み、
（Ｋ１）前記第１期間において時系列実測サービスレベルがサービスレベル閾値以下であるか否かの判別、
（Ｋ２）前記第１期間における実測メトリックと予測メトリックとの差分が、許容範囲内であるか否かの判別、及び、
（Ｋ３）前記第１期間における実測メトリック及び予測メトリックの少なくとも１つがメトリック閾値以下であるか否かの判別、
（Ｋ１）〜（Ｋ３）の判別結果の少なくとも１つが偽の場合、前記維持判別の結果が偽である、
請求項５又は６に記載のリソース割り当て最適化システム。
【請求項８】
前記複数のサービスの各々について学習処理を行う生成部を更に有し、
前記生成部は、前記複数のサービスの各々について、当該サービスについての前記学習処理において、
当該サービスについて第２期間における時系列実測ワークロードと時系列実測サービスレベルとを基に、時刻が入力であり予測ワークロードが出力であるワークロード予測モデルと、予測ワークロードが入力であり予測サービスレベルが出力であるサービスレベル予測モデルとを生成し、
当該サービスに関連付いているリソース群の各リソースについて、前記第２期間における時系列実測ワークロードと時系列実測メトリックとを基に、当該リソースのメトリックの予測モデルであり予測ワークロードが入力であり予測メトリックが出力であるメトリック予測モデルを生成し、
前記第２期間は、前記第１期間よりも過去の期間であり、指定された学習期間のうち実測サービスレベルがサービスレベル閾値以下である期間であり、
前記生成部は、前記或る量のリソース群が追加されたサービスについて、前記ワークロード予測モデル及び前記サービスレベル予測モデルを更新する再学習処理を行い、
前記予測判別の結果が真であるサービスに関連付けられているリソース群のうち、前記維持判別の結果が偽であるが、前記第１期間における実測メトリックと予測メトリックとの差分が、許容範囲外のリソースについて、
前記最適化部が、当該リソースのリソース量の決定を行わず、
前記生成部が、当該サービスについての当該リソースのメトリック予測モデルを更新する再学習処理を行う、
請求項５乃至７のうちのいずれか１項に記載のリソース割り当て最適化システム。
【請求項９】
前記予測判別は、下記の（Ｐ１）及び（Ｐ２）の判別のうちの少なくとも１つを含み、
（Ｐ１）実測ワークロードと予測ワークロードとの差分が、許容範囲内であるか否かの判別、及び、
（Ｐ２）実測サービスレベル及び予測サービスレベルの少なくとも１つがサービスレベル閾値以下であるか否かの判別、
（Ｐ１）及び（Ｐ２）の判別結果のうちの少なくとも１つが偽の場合、前記予測判別の結果が偽である、
請求項１乃至８のうちのいずれか１項に記載のリソース割り当て最適化システム。
【請求項１０】
前記複数のサービスの各々について、当該サービスについて第２期間における時系列実測ワークロードと時系列実測サービスレベルとを基に、時刻が入力であり予測ワークロードが出力であるワークロード予測モデルと、予測ワークロードが入力であり予測サービスレベルが出力であるサービスレベル予測モデルとを生成する学習処理を行う生成部、
を更に有し、
前記第２期間は、前記第１期間よりも過去の期間であり、指定された学習期間のうち実測サービスレベルがサービスレベル閾値以下である期間である、
請求項９に記載のリソース割り当て最適化システム。
【請求項１１】
前記最適化部は、前記予測判別の結果が真であるサービスに関連付いているリソース群における各リソースのリソース量を、当該リソースの前記第１期間での時系列実測メトリック及び時系列予測メトリックの少なくとも１つを基に決定する、
請求項１乃至１０のうちのいずれか１項に記載のリソース割り当て最適化システム。
【請求項１２】
管理情報を表示する表示制御部、
を更に有し、
前記管理情報は、指定期間について、前記複数のサービスの全体に対する、前記予測判別の結果が偽のサービスの数又は割合、を含む、
請求項１乃至１１のうちのいずれか１項に記載のリソース割り当て最適化システム。
【請求項１３】
前記複数のサービスの各々について、
ワークロードは、Ｉ／Ｏ（Input/Output）負荷であり、
サービスレベルは、応答時間である、
請求項１乃至１２のうちのいずれか１項に記載のリソース割り当て最適化システム。
【請求項１４】
提供される複数のサービスの各々について、当該サービスについて所定期間における時系列ワークロード及び時系列サービスレベルを予測し、
前記複数のサービスの各々について、下記（ｘ）及び（ｙ）
（ｘ）当該サービスについて前記所定期間における時系列実測ワークロードと時系列予測ワークロード、及び、
（ｙ）当該サービスについて前記所定期間における実測サービスレベルと予測サービスレベルとのうちの少なくとも１つ、
のうちの少なくとも１つを基に、当該サービスのワークロードの正確な予測が期待できるか否かの判別である予測判別を行い、
前記複数のサービスの各々について、前記予測判別の結果を基に、当該サービスに対するリソース割り当てを制御する、
リソース割り当て最適化方法。
【請求項１５】
提供される複数のサービスの各々について、当該サービスについて所定期間における時系列ワークロード及び時系列サービスレベルを予測し、
前記複数のサービスの各々について、下記（ｘ）及び（ｙ）
（ｘ）当該サービスについて前記所定期間における時系列実測ワークロードと時系列予測ワークロード、及び、
（ｙ）当該サービスについて前記所定期間における実測サービスレベルと予測サービスレベルとのうちの少なくとも１つ、
のうちの少なくとも１つを基に、当該サービスのワークロードの正確な予測が期待できるか否かの判別である予測判別を行い、
前記複数のサービスの各々について、前記予測判別の結果を基に、当該サービスに対するリソース割り当てを制御する、
ことをコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、リソースの割り当ての最適化に関する。
【背景技術】
【０００２】
一般に、クラウド基盤のような計算機システムは、複数のサービスを１以上のユーザに提供する。通常、サービス毎に、計算機システムにおけるリソース（コンピューティングリソース）が割り当てられる。各サービスについて、当該サービスの提供は、当該サービスに対応したアプリケーション（アプリケーションプログラム）の実行により行われる。アプリケーションの実行では、当該アプリケーションに対応したサービスに割り当てられているリソースが使用される。
【０００３】
特許文献１は、「a request for initialization of a new instance of a virtual machine instance configuration, the virtual machine instance configuration associated with an expected resource usage amount of a first computing resource, wherein the expected usage amount is based at least in part on a plurality of prior measurements associated with usage, by instances of one or more a similar virtual machine instance configurations, of the first computing resource」と開示している。すなわち、仮想マシンインスタンスコンフィグレーションに、第１のコンピューティングリソースの予測リソース使用量が関連付けられていて、当該予測リソース使用量は、複数の事前測定値に少なくとも基づいている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】WO2014/047073
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般に、各サービスには、サービスのワークロードが変動したりリソースに障害が生じたりしてもサービスのレベル（サービスの品質）を維持することができるように、余剰のリソースが割り当てられている。
【０００６】
特許文献１に開示の技術は、リソースの使用量を予測できるが、サービスのワークロードを予測することができない。このため、各サービスのサービスレベルを維持するためには、各サービスに十分な余剰リソースを割り当てる必要がある。結果として、使用されないリソースが多く必要となってしまうことがある。例えば、一般に、計算機システムの一例であるクラウド基盤は、多数のサービスを提供する。いずれのサービスにも、十分な余剰リソースとして、定常時の２倍強の余剰リソースが割り当てられるとする。その場合、定常時では、クラウド基盤全体のうちの５０％未満しかリソースが使われないことになってしまう。
【課題を解決するための手段】
【０００７】
リソース割り当て最適化システムは、複数のサービスの各々について、当該サービスのワークロードの正確な予測が期待できるか否かの判別である予測判別を行い、前記予測判別の結果を基に、当該サービスに対するリソース割り当てを制御する。各サービスについて、予測判別は、（ｘ）当該サービスについて所定期間における時系列実測ワークロードと時系列予測ワークロード、及び、（ｙ）当該サービスについて前記所定期間における実測サービスレベルと予測サービスレベルとのうちの少なくとも１つ、のうちの少なくとも１つに基づく。
【０００８】
なお、各サービスについて、時系列実測サービスレベルは、時系列実測ワークロードに対応しており、時系列予測サービスレベルは、時系列予測ワークロードに対応していてよい。また、「複数のサービス」は、一ユーザ（例えば一カスタマ）が提供するサービスでもよいし、同一のクラウド基盤のような計算機システムの複数のユーザが提供するサービスでもよい。
【発明の効果】
【０００９】
本発明により、各サービスのサービスレベルを維持するために必要なリソース量を適切な量に維持することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係るリソース割り当て最適化システムの概要図である。
【図２】一実施形態に係るシステム全体の構成図である。
【図３】第２サーバの構成図である。
【図４】第１サーバの構成図である。
【図５】サービス（アプリケーション）とリソース（ストレージ装置の内部コンポーネント）の関連図である。
【図６】入力テーブル群の構成図である。
【図７】作業テーブル群の構成図である。
【図８】出力テーブル群の構成図である。
【図９】関連付け、予測モデル生成、予測、及び、最適化の流れを示す。
【図１０】関連付け部が行う処理の流れを示す。
【図１１】生成部が行う処理の流れを示す。
【図１２】予測部が行う処理の流れを示す。
【図１３】最適化部が行う処理の流れを示す。
【図１４】管理画面の一例を示す。
【発明を実施するための形態】
【００１１】
以下の説明では、「インターフェース部」は、１以上のインターフェースでよい。当該１以上のインターフェースは、ユーザインターフェース部と、通信インターフェース部とのうちの少なくとも通信インターフェース部を含んでよい。ユーザインターフェース部は、１以上のＩ／Ｏデバイス（例えば入力デバイス（例えばキーボード及びポインティングデバイス）と出力デバイス（例えば表示デバイス））と表示用計算機とのうちの少なくとも１つのＩ／Ｏデバイスでもよいし、それに代えて又は加えて、当該少なくとも１つのＩ／Ｏデバイスに対するインターフェースデバイスでもよい。通信インターフェース部は、１以上の通信インターフェースデバイスでよい。１以上の通信インターフェースデバイスは、１以上の同種の通信インターフェースデバイス（例えば１以上のＮＩＣ（Network Interface Card））であってもよいし２以上の異種の通信インターフェースデバイス（例えばＮＩＣとＨＢＡ（Host Bus Adapter））であってもよい。
【００１２】
以下の説明では、「メモリ部」は、１以上のメモリでよい。少なくとも１つのメモリは、揮発性メモリであってもよいし不揮発性メモリであってもよい。メモリ部は、主に、プロセッサ部による処理の際に使用される。
【００１３】
また、以下の説明では、「ＰＤＥＶ部」は、１以上のＰＤＥＶでよい。「ＰＤＥＶ」は、物理的な記憶デバイスを意味し、典型的には、不揮発性の記憶デバイス（例えば補助記憶デバイス）、例えばＨＤＤ（Hard Disk Drive）又はＳＳＤ（Solid State Drive）である。ＰＤＥＶ部は、ＲＡＩＤグループであってもよい。「ＲＡＩＤ」は、Redundant Array of Independent (or Inexpensive) Disksの略である。
【００１４】
また、以下の説明では、「記憶部」は、メモリ部及びＰＤＥＶ部のうちの少なくともメモリ部を含む。
【００１５】
また、以下の説明では、「プロセッサ部」は、１以上のプロセッサでよい。少なくとも１つのプロセッサは、典型的には、ＣＰＵ（Central Processing Unit）のようなマイクロプロセッサであるが、ＧＰＵ（Graphics Processing Unit）のような他種のプロセッサでもよい。１以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。一部のプロセッサは、処理の一部または全部を行うハードウェア回路でもよい。
【００１６】
また、以下の説明では、「ｋｋｋ部」（インターフェース部、記憶部及びプロセッサ部を除く）の表現にて機能を説明することがあるが、機能は、１以上のコンピュータプログラムがプロセッサ部によって実行されることで実現されてもよいし、１以上のハードウェア回路（例えばＦＰＧＡ（Field-Programmable Gate Array）又はＡＳＩＣ（Application Specific Integrated Circuit））によって実現されてもよい。プログラムがプロセッサ部によって実行されることで機能が実現される場合、定められた処理が、適宜に記憶部及び／又はインターフェース部等を用いながら行われるため、機能はプロセッサ部の少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサ部あるいはそのプロセッサ部を有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体（例えば非一時的な記録媒体）であってもよい。各機能の説明は一例であり、複数の機能が１つの機能にまとめられたり、１つの機能が複数の機能に分割されたりしてもよい。
【００１７】
また、以下の説明では、「ｘｘｘテーブル」といった表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「ｘｘｘテーブル」を「ｘｘｘ情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、１つのテーブルは、２以上のテーブルに分割されてもよいし、２以上のテーブルの全部または一部が１つのテーブルであってもよい。
【００１８】
また、以下の説明では、同種の要素を区別しないで説明する場合は、その要素の参照符号を使用し（例えばサービス１０２）、同種の要素を区別して説明する場合は、その要素のＩＤを使用することがある（例えばサービス１）。
【００１９】
また、以下の説明では、「リソース割り当て最適化システム」は、一以上の計算機で構成されてよい。具体的には、例えば、計算機が表示デバイスを有していて計算機が自分の表示デバイスに情報を表示する場合、当該計算機がリソース割り当て最適化システムでよい。また、例えば、第１計算機（例えばサーバ）が表示用情報を遠隔の第２計算機（表示用計算機（例えばクライアント））に送信し表示用計算機がその情報を表示する場合（第１計算機が第２計算機に情報を表示する場合）、第１計算機と第２計算機とのうちの少なくとも第１計算機がリソース割り当て最適化システムでよい。リソース割り当て最適化システムは、インターフェース部、記憶部およびそれらに接続されたプロセッサ部を有してよい。リソース割り当て最適化システムにおける計算機が「表示用情報を表示する」ことは、計算機が有する表示デバイスに表示用情報を表示することであってもよいし、計算機が表示用計算機に表示用情報を送信することであってもよい（後者の場合は表示用計算機によって表示用情報が表示される）。
【００２０】
また、以下の説明では、「リソース」とは、典型的にはコンピューティングリソースであり、物理リソースと論理リソースの総称である。リソースは、計算機システムを構成する複数のノード（例えば、サーバやストレージ装置）の各々でもよいし、各ノードが有する複数のコンポーネントの各々でもよい。
【００２１】
また、以下の説明では、「ワークロード」は、サービスの実行に伴う作業負荷であり、一例として、当該サービス（アプリケーション）のＩ／Ｏ（Input/Output）負荷が採用される。「Ｉ／Ｏ負荷」として、「Ｉ／Ｏ数」及び「Ｉ／Ｏサイズ」の少なくとも１つを採用することができる。「Ｉ／Ｏ数」は、単位時間当たりに発行されるＩ／Ｏコマンドの数である。「Ｉ／Ｏサイズ」は、単位時間当たりに発行されるＩ／Ｏコマンドに従うＩ／Ｏ対象のデータの合計サイズである。本実施形態では、「Ｉ／Ｏ負荷」として、「Ｉ／Ｏ数」が採用される。
【００２２】
また、以下の説明では、「サービスレベル」は、サービスに求められるレベル（品質）であり、一例として、応答時間が採用される。ここで言う「応答時間」は、サービス（アプリケーション）がＩ／Ｏコマンドを発行してから当該Ｉ／Ｏコマンドの応答を当該サービス（アプリケーション）が受信するまでの時間である。「Ｉ／Ｏ負荷」に対応する「応答時間」は、単位時間当たりに発行された１以上のＩ／Ｏコマンドにそれぞれ対応した１以上の応答時間に基づく時間（例えば、平均応答時間、最小応答時間又は最大応答時間）である。
【００２３】
また、以下の説明では、「メトリック」は、リソースのメトリックである。メトリックの種別は、リソースの種別に依存する。例えば、リソースが、ＭＰ（マイクロプロセッサ）であれば、メトリックの種別は、プロセッサ使用率である。また、例えば、リソースが、プールであれば、メトリックの種別は、プール使用率（割り当てられたプールの最大ＩＯＰＳに対する実測のＩＯＰＳの割合）である。
【００２４】
以下、図面を参照しながら、一実施形態を説明する。なお、以下の説明により本発明が限定されるものではない。
【００２５】
図１は、本発明の一実施形態に係るリソース割り当て最適化システムの概要図である。
【００２６】
リソース割り当て最適化システム２００は、リソースの割り当てを最適化するシステムである。リソース割り当て最適化システム２００は、関連付け部１０１、生成部１０６、予測部１１０及び最適化部１１４を有する。関連付け部１０１、生成部１０６、予測部１１０及び最適化部１１４の各々は、本実施形態では、１以上のコンピュータプログラムがプロセッサ部に実行されることにより発揮される機能であるが、それらの機能のうちの一部がハードウェア回路により発揮されてもよい。
【００２７】
関連付け部１０１は、サービス１０２毎に、当該サービス１０２にリソース群（１以上のリソース）１０３を関連付ける。これにより、サービス１０２毎に、時系列実測応答性能１０４と、時系列実測メトリック１０５とが関連付く。なお、本実施形態では、数千のサービス１０２が後述の情報システム２９０（図２参照）により提供されるとする。
【００２８】
各サービス１０２について、「時系列応答性能」とは、当該サービス１０２の時系列のＩ／Ｏ負荷及び応答時間である。従って、時系列実測応答性能１０４は、時系列実測Ｉ／Ｏ負荷（Ｉ／Ｏ負荷の実測値の時系列データ）と時系列実測応答時間（応答時間の実測値の時系列データ）である。
【００２９】
各サービス１０２について、リソースの「時系列メトリック」は、当該サービス１０２に関連付いたリソース群１０３における当該リソースの時系列のメトリックである。従って、リソースの時系列実測メトリック１０５は、当該サービス１０２に関連付いたリソース群１０３における当該リソースの実測メトリック（メトリックの実測値）の時系列データである。
【００３０】
生成部１０６は、サービス１０２毎に、学習処理を行う。各サービス１０２についての学習処理では、生成部１０６は、当該サービス１０２の時系列実測応答性能１０４の該当部分を使って、Ｉ／Ｏ負荷予測モデル１０７と、応答時間予測モデル１０８とを作成する。また、生成部１０６は、当該サービス１０２の時系列実測応答性能１０４の該当部分（正確には時系列実測Ｉ／Ｏ負荷の該当部分）と、当該サービス１０２に関連付いているリソースの時系列実測メトリック１０５の該当部分とを使って、メトリック予測モデル１０９を作成する。
【００３１】
各サービス１０２について、「時系列実測応答性能１０４の該当部分」とは、当該サービス１０２の時系列実測応答性能１０４の全部又は一部であって、当該サービス１０２の時系列実測応答性能１０４のうち、実学習期間に対応した時系列データである。「実学習期間」は、第２期間の一例であり、指定学習期間のうちの少なくとも一部、具体的には、指定学習期間のうち、実測応答時間が所定の応答時間閾値（ＴｈＲ）以下である期間である。「指定学習期間」は、指定された学習期間である。「学習期間」は、予測モデル１０７〜１０９の作成ための学習用データとして使用されるデータが属する期間（時刻範囲）である。各サービス１０２について、リソース割り当て最適化システム２００の管理者により任意の学習期間が指定されてもよいし、当該サービス１０２のユーザにより任意の学習期間が指定されてもよいし、自動決定された又は所定の学習期間が生成部１０６（又は他の機能）により指定されてもよい。
【００３２】
各サービス１０２について、リソースの「時系列実測メトリック１０５の該当部分」とは、当該リソースの時系列実測メトリック１０５のうち、上記の該当期間に対応した時系列データである。
【００３３】
予測モデル１０７〜１０９として、既知の学習手法を利用して作成されたモデル、例えば、自己回帰移動平均モデル（例えばＡＲＩＭＡ（Autoregressive Integrated Moving Average）モデル）やニューラルネットワークを採用可能である。本実施形態では、Ｉ／Ｏ負荷予測モデル１０７は、複数の第１の値セット（時刻と実測Ｉ／Ｏ負荷とのセット）から作成される予測モデルの一例であって、時刻及び実測Ｉ／Ｏ負荷を入力すると予測Ｉ／Ｏ負荷（Ｉ／Ｏ負荷の予測値）を出力する関数である。応答時間予測モデル１０８は、複数の第２の値セット（同一時刻での実測Ｉ／Ｏ負荷と実測応答時間とのセット）から作成される予測モデルの一例であって、予測Ｉ／Ｏ負荷及び実測応答時間を入力すると予測応答時間（応答時間の予測値）を出力する関数である。メトリック予測モデル１０９は、複数の第３のデータセット（同一時刻での実測Ｉ／Ｏ負荷と実測メトリックとのセット）から作成される予測モデルの一例であって、予測Ｉ／Ｏ負荷及び実測メトリックを入力すると予測メトリック（メトリックの予測値）を出力する関数である。
【００３４】
予測部１１０は、サービス１０２毎に、当該サービス１０２の指定予測期間での時系列応答性能を予測する、すなわち、当該サービス１０２の時系列予測応答性能を出力する。「時系列予測応答性能」は、予測Ｉ／Ｏ負荷と予測応答時間の時系列データであって、指定予測期間に対応した時系列データである。「指定予測期間」は、第１期間の一例であり、指定された予測期間である。「予測期間」は、予測モデル１０７〜１０９に入力されるデータが属する期間（時刻範囲）である。リソース割り当て最適化システム２００の管理者により任意の予測期間が指定されてもよいし、サービス１０２のユーザにより任意の予測期間が指定されてもよいし、自動決定された又は所定の予測期間が予測部１１０（又は他の機能）により指定されてもよい。なお、指定予測期間は、全てのサービス１０２について同一（共通）でよい。上述した指定学習期間は、典型的には、指定予測期間よりも過去の期間である。指定予測期間における各時刻について、予測Ｉ／Ｏ負荷は、Ｉ／Ｏ負荷予測モデル１０７に入力された当該時刻及び実測Ｉ／Ｏ負荷に対応した出力値としてのＩ／Ｏ負荷であり、予測応答時間は、応答時間予測モデル１０８に入力された予測Ｉ／Ｏ負荷（当該時刻に対応した予測Ｉ／Ｏ負荷）及び実測応答時間に対応した出力値としての応答時間である。なお、予測に使用される時刻ｔ（予測モデル１０７に入力される時刻）は、年月日時分秒で表現される時刻ではなく、１日又は１時間といった単位時間幅をｘ番目の単位時間幅（ｘは例えば自然数）と表現した場合の数値ｘである。例えば、指定予測期間が本日から１か月先であり、単位時間幅が１日の場合、予測モデル１０７に入力される時刻ｔは、ｔ＝１，２，３，…，２９，３０である。つまり、時系列に並んだ３０個の時刻が入力される。また、予測モデル１０７に入力される実測Ｉ／Ｏ負荷が属する期間である使用実測期間の長さは、指定予測期間の長さと同じである。指定予測期間がｍ（ｍは時間長）先にずれると（スライディング幅がｍであると）、使用実測期間もｍ先にずれてよい。使用実測期間の少なくとも一部が、実学習期間に重複していてもよい。予測モデル１０７に入力される実測Ｉ／Ｏ負荷の数ｎは、時刻ｔを構成する数ｎと同じである（例えば、過去１か月（３０日）における各日の実測Ｉ／Ｏ負荷が入力される）。つまり、時系列に並んだｎ個の実測Ｉ／Ｏ負荷が入力される。結果として、時系列に並んだｎ個の予測Ｉ／Ｏ負荷が出力される。同様に、予測モデル１０８には、指定予測期間に属する時系列のｎ個の時刻にそれぞれ対応した時系列のｎ個の予測Ｉ／Ｏ負荷と、使用実測期間に属する時系列のｎ個の実測応答時間とが入力され、結果として、時系列のｎ個の予測応答時間が予測モデル１０８から出力される。
【００３５】
予測部１１０は、サービス１０２毎に、当該サービス１０２に関連付いたリソースの指定予測期間での時系列メトリックを予測する、すなわち、当該サービス１０２及び当該リソースに対応した時系列予測メトリックを出力することができる。「時系列予測メトリック」は、予測メトリックの時系列データであって、指定予測期間に対応した時系列データである。指定予測期間における各時刻について、サービス１０２に関連付いたリソースの予測メトリックは、当該サービス１０２及び当該リソースに対応したメトリック予測モデル１０９に入力された予測Ｉ／Ｏ負荷（当該時刻に対応した予測Ｉ／Ｏ負荷）及び実測メトリックに対応した出力値としてのメトリックである。具体的には、予測モデル１０９には、指定予測期間に属する時系列のｎ個の時刻にそれぞれ対応した時系列のｎ個の予測Ｉ／Ｏ負荷と、使用実測期間に属する時系列のｎ個の実測メトリックとが入力され、結果として、時系列のｎ個の予測メトリックが予測モデル１０９から出力される。
【００３６】
最適化部１１４は、サービス１０２毎に、次の処理を行う。すなわち、最適化部１１４は、下記（ｘ）及び（ｙ）
（ｘ）当該サービス１０２について指定予測期間における時系列実測ワークロードと時系列予測ワークロード、及び、
（ｙ）当該サービス１０２について指定予測期間における実測サービスレベルと予測サービスレベルとのうちの少なくとも１つ、
のうちの少なくとも１つを基に、当該サービス１０２のワークロードの正確な予測が期待できるか否かの判別である予測判別を行う。そして、最適化部１１４は、当該予測判別の結果を基に、当該サービス１０２に対するリソース割り当てを制御する。リソース割り当ての制御は、追加又は削減されるリソース量の決定であってもよいし、現状維持のために待ちであってもよい。
【００３７】
予測判別は、以下の（Ｐ１）及び（Ｐ２）の判別、
（Ｐ１）指定予測期間における実測Ｉ／Ｏ負荷と予測Ｉ／Ｏ負荷との差分が、所定の許容範囲内（マージン内）であるか否かの判別、及び、
（Ｐ２）指定予測期間における実測応答時間及び予測応答時間の少なくとも１つが所定の応答時間閾値（ＴｈＲ）以下であるか否かの判別、
のうちの少なくとも１つを含む。（Ｐ１）及び（Ｐ２）の判別結果のうちの少なくとも１つが偽の場合、予測判別の結果が偽である。
【００３８】
なお、（Ｐ１）の判別結果が偽であれば予測判別の結果が偽となる理由は、学習処理において予測モデル１０７及び１０８の生成のために使用された学習用データの量が少なかったために予測モデル１０７及び１０８の少なくとも１つが不正確であると考えられることにある。そして、学習用データの量が少なかったと考えられる理由は、リソース量が不十分であったために上述の「実学習期間」（第２の期間の一例）が短かったと考えられることにある。（Ｐ１）において、「実測Ｉ／Ｏ負荷」は、時系列実測Ｉ／Ｏ負荷に基づく値（例えば、時系列実測Ｉ／Ｏ負荷における最大値、最小値又は平均値）である。「予測Ｉ／Ｏ負荷」は、時系列予測Ｉ／Ｏ負荷に基づく値（例えば、時系列予測Ｉ／Ｏ負荷における最大値、最小値又は平均値）である。
【００３９】
また、（Ｐ２）の判別結果が偽であれば予測判別の結果が偽となる理由は、リソース量が不十分であるために既に又は将来に応答時間が応答時間閾値を超えてしまうと考えられることにある。（Ｐ２）において、「実測応答時間」は、時系列実測応答時間における最大値（又は平均値）である。「予測応答時間」は、時系列予測応答時間における最大値（又は平均値）である。
【００４０】
また、予測判別は、（Ｐ３）指定予測期間における実測応答時間と予測応答時間との差分が所定の許容範囲内（マージン内）であるか否かの判別、を含んでもよいが、（Ｐ３）の判別は、（Ｐ１）の判別と同義であると考えられる（つまり、（Ｐ１）に加えて（Ｐ３）を含むことは不要と考えられる）。なぜなら、Ｉ／Ｏ負荷と応答時間は相関が高いため、（Ｐ１）の判別結果と（Ｐ３）の判別結果は同じになる可能性が高いからである。このため、（Ｐ１）の判別は（Ｐ３）の判別を含むと解釈することができる。
【００４１】
連続した複数の指定予測期間（例えば１か月）における各指定予測期間（例えば第１週〜第４週の各々）について予測判別が行われてよい。
【００４２】
予測判別の結果が偽のサービス１０２について、最適化部１１４は、対象サービス１０２にリソース群を追加することを決定する。追加されるリソース群は、所定種類（例えば全種類）のリソースでよい。また、追加されるリソース群は、一定量のリソースであってもよいし、Ｉ／Ｏ負荷差分及び超過差分のうちの少なくとも１つに応じて決定された量のリソース群でもよい。いずれもリソース量も、リソース群の追加後の再学習を経て行われる再度の予測判別の結果が真となる可能性が十分に高い程のリソース量である。なお、「Ｉ／Ｏ負荷差分」は、実測Ｉ／Ｏ負荷と予測Ｉ／Ｏ負荷との差分である。ここでの「実測Ｉ／Ｏ負荷」及び「予測Ｉ／Ｏ負荷」は、（Ｐ１）の判別についてのそれらと同義でよい。「超過差分」は、応答時間閾値（ＴｈＲ）を超えた実測応答時間又は予測応答時間と当該応答時間閾値（ＴｈＲ）との差分である。なお、最適化部１１４は、予測判別の結果が真であるサービスがあれば、当該サービスから削減されたリソース群（リソース量）を、追加されるリソース群（リソース量）に優先的に含めるようにする。これは、全体最適化に貢献する。
【００４３】
一方、（Ｐ１）及び（Ｐ２）の判別結果のいずれもが真の場合、予測判別の結果が真である。予測判別の結果が真であるサービス１０２に関連付けられているリソース群１０３における各リソースについて、最適化部１１４は、当該リソースのリソース量が現状維持か否かの判別である維持判別を行う。維持判別は、以下の（Ｋ１）〜（Ｋ３）の判別、
（Ｋ１）指定予測期間において実測応答時間が応答時間閾値（ＴｈＲ）以下であるか否かの判別、
（Ｋ２）指定予測期間における実測メトリックと予測メトリックとの差分が、許容範囲内であるか否かの判別、及び、
（Ｋ３）指定予測期間における実測メトリック及び予測メトリックの少なくとも１つがメトリック閾値（ＴｈＭ）以下であるか否かの判別、
の少なくとも１つを含む。
【００４４】
なお、（Ｋ１）において、「実測応答時間」は、（Ｐ２）での「実測応答時間」と同義でよい。
【００４５】
また、（Ｋ２）において、「実測メトリック」は、時系列実測メトリックに基づく値（例えば、時系列実測メトリックにおける最大値、最小値又は平均値）である。「予測メトリック」は、時系列予測メトリックに基づく値（例えば、時系列予測メトリックにおける最大値、最小値又は平均値）である。
【００４６】
また、（Ｋ３）において、「実測メトリック」は、時系列実測メトリックにおける最大値（又は平均値）である。「予測メトリック」は、時系列予測メトリックにおける最大値（又は平均値）である。
【００４７】
維持判別について、時系列予測メトリックは、予測指定期間での予測メトリックの時系列データである。時系列予測メトリックは、予測判別の結果が真の場合に最適化部１１４により予測部１１０が呼び出されることで、取得されてもよいし、予測判別とは非同期に予測部１１０に時系列メトリックの予測が行われることで、取得されてもよい。
【００４８】
（Ｋ１）〜（Ｋ３）の判別結果の少なくとも１つが偽の場合、維持判別の結果が偽である。維持判別の結果が偽であるサービス１０２について、最適化部１１４は、調整リソース量（削減するリソース量、又は、追加するリソース量）を決定する。具体的には、例えば、最適化部１１４は、維持判別結果が偽であるリソースのリソース量を、当該リソースの指定予測期間での実測メトリック（例えば、時系列実測メトリックにおける最大値又は平均値）及び予測メトリック（例えば、時系列予測メトリックにおける最大値又は平均値）の少なくとも１つを基に決定する。当該決定されたリソース量と、現在のリソース量との差分が、調整リソース量（削減される又は追加されるリソース量）である。調整リソース量は、メトリック閾値（ＴｈＭ）を超えた実測メトリック又は予測メトリック（例えば最大値）と当該メトリック閾値（ＴｈＭ）との差分に基づいて決定されてよい。
【００４９】
維持判別の結果が真であるサービス１０２について、最適化部１１４は、現状維持のために待ちとなる。その後、例えば、次の指定予測期間について、上述の予測判別が行われる。
【００５０】
最適化部１１４は、予測判別結果集計８０（全サービス１０２の各々についての指定予測期間毎の予測判別の結果）を作成できる。図１において、集計８０におけるセルは、サービス１０２に対応する。予測可サービス（予測判別の結果が真であるサービス）１０２については、現状維持でない限り、予測メトリックのピーク値がメトリック閾値（ＴｈＭ）以下になるような量のリソース群が当該サービス１０２に割り当てられるよう、リソース量が削減又は追加される。一方、予測不可サービス（予測判別の結果が偽であるサービス）１０２については、一定量のリソース群（又は、Ｉ／Ｏ負荷差分及び超過差分の少なくとも１つに基づき決定されたリソース量のリソース群）が追加される。予測可サービスから削減した余剰リソースがあれば、当該余剰リソースが、上述したように、予測不可サービスに追加されるリソース群に優先的に含まれてよい。
【００５１】
リソース群の追加又は削減後、関連付け部１０１により関連付け（関連付けの更新）が行われ、生成部１０６により再学習処理（予測モデル１０７〜１０９の更新）が行われる。
【００５２】
以上が、本実施形態の概要である。
【００５３】
本実施形態では、複数のサービス１０２の各々が、予測判別を経て、予測可サービスと予測不可サービスとに区別される。
【００５４】
予測可サービスに対応した予測モデル１０７〜１０９は、正確であると考えられる。このため、予測可サービスについては、最適化部１１４は、上述した方法で調整リソース量を決定する。このため、予測可サービスに割り当てられるリソース群のリソース量を、応答時間が応答時間閾値（ＴｈＲ）以下であることを維持するのに適切な量に維持することができる（言い換えれば、過剰なリソース量が割り当たっている状態になってしまうことを防ぐことができる）。
【００５５】
一方、予測不可サービスに対応した予測モデル１０７〜１０９は、学習期間において実測応答時間が応答時間閾値（ＴｈＲ）を超えてしまったために不正確であると考えられる。このため、予測不可サービスに対しては、一定量のリソース群（又は、Ｉ／Ｏ負荷差分及び超過差分の少なくとも１つに基づき決定されたリソース量のリソース群）が追加される。追加されるリソース量は、上述の指定学習期間において実測応答時間が応答時間閾値（ＴｈＲ）以下になることが十分に期待されるリソース量である。このため、再学習処理において、予測モデル１０７〜１０９は、より正確な予測モデル１０７〜１０９に更新され、結果として、後の処理において、Ｉ／Ｏ負荷及び応答時間を正確に予測することができるようになることが期待される。故に、当該サービス１０２についても、割り当てられるリソース群のリソース量を、応答時間が応答時間閾値（ＴｈＲ）以下であることを維持するのに適切な量に維持することができる（言い換えれば、過剰なリソース量が割り当たっている状態になってしまうことを防ぐことができる）。
【００５６】
なお、本実施形態では、予め、各サービス１０２について、余剰リソース（当該サービス１０２について必要と見積もられたリソース量のリソースよりも多くのリソース）が割り当てられていてよい。一比較例では、上述したような予測判別が不可能であるため、過剰に余剰リソースが必要であるが、本実施形態では、各サービス１０２について、リソース量を、応答時間が応答時間閾値（ＴｈＲ）以下であることを維持するのに適切な量に維持することができる。
【００５７】
また、上述の説明において、（Ｐ２）の判別に関し、指定予測期間において予測応答時間が応答時間閾値（ＴｈＲ）を超えても、その超えたトータル時間がＰ秒以下（Ｐ≧０）であれば、（Ｐ２）の判別結果は真でよい。
【００５８】
また、同様に、（Ｍ１）の判別に関し、指定予測期間において実測応答時間が応答時間閾値（ＴｈＲ）を超えても、その超えたトータル時間がＱ秒以下（Ｑ≧０）であれば、（Ｋ１）の判別結果は真でよい。
【００５９】
また、各リソースについて、（Ｋ３）の判別に関し、指定予測期間において実測メトリック又は予測メトリックが、当該リソースに対応したメトリック閾値（ＴｈＭ）を超えても、その超えたトータル時間がＲ秒以下（Ｒ≧０）であれば、（Ｋ３）の判別結果は真でよい。
【００６０】
以下、本実施形態を詳細に説明する。
【００６１】
図２は、本実施形態に係るシステム全体の構成図である。
【００６２】
リソース割り当て最適化システム２００に情報システム２９０が接続されている。
【００６３】
情報システム２９０は、サーバシステム２９１とリソースシステム２９２とに大別される。
【００６４】
サーバシステム２９１は、サービス１０２を提供するシステムである。具体的には、サーバシステム２９１は、１以上のサーバであり、複数（例えば数千）のアプリケーションを実行することで複数のサービス１０２を提供する。
【００６５】
リソースシステム２９２は、複数のサービス１０２のための複数のリソースを含んだシステムである。具体的には、リソースシステム２９２は、１以上のカスタマデータセンタ２０２を有する。各カスタマデータセンタ２０２は、１以上のストレージ装置２０３と、構成データと性能データを収集するプローブ２０４と、ストレージ装置２０３の内部コンポーネント（リソース）の割り当てをする設定ツール２０５とを有する。各ストレージ装置２０３は、物理的なストレージ装置である。プローブ２０４及び設定ツール２０５の各々は、物理的な装置であってもよいし、コンピュータプログラムがプロセッサ部に実行されることによって発揮される機能であってもよい。「構成データ」は、ストレージ装置２０３の構成を示すデータである。「性能データ」は、ストレージ装置２０３の性能を示すデータである。
【００６６】
リソース割り当て最適化システム２００は、カスタマ（ユーザ）データベース２０６と、収集ツール２０７と、第２サーバ２０８と、第１サーバ２０９と、自動化ツール２１０とを有する。カスタマデータベース２０６は、リソース割り当て最適化システム２００における記憶部に格納される。収集ツール２０７及び自動化ツール２１０の各々は、物理的な装置であってもよいし、コンピュータプログラムがプロセッサ部に実行されることによって発揮される機能であってもよい。
【００６７】
カスタマデータベース２０６は、カスタマ毎に、サービス１０２とＬＤＥＶ（Logical Device）との対応関係を示す情報と、各サービス１０２のサービスレベル（応答時間）を示す情報とを含む。なお、ＬＤＥＶは、ストレージ装置２０３が提供する論理的なデバイス（論理ボリューム）である。
【００６８】
収集ツール２０７は、各カスタマデータセンタ２０２内のプローブ２０４から、構成データと性能データを収集する。
【００６９】
第２サーバ２０８は、ＥＴＬ（Extract、 Transform、 Load）ツール２１１と、出力データベース２１２と、ＢＡ（Business Application）ツール２１３がある。ＥＴＬツール２１１は、入力変換部２２０、出力変換部２２５及びジョブ実行部２２２を有する。出力データベース２１２は、管理画面１５に表示される情報を含むデータベースである。ＢＡツール２１３は、管理画面１５の表示や自動化ツール２１０の呼び出しを行う。
【００７０】
第１サーバ２０９は、テーブル群２１７と、分析処理を実行する分析プログラム２１５とを有する。
【００７１】
テーブル群２１７は、入力テーブル群２２１、作業テーブル群２２３及び出力テーブル群２２４を含む。各テーブル群２２１、２２３及び２２４は、１以上のテーブルである。
【００７２】
分析プログラム２１５は、プログラムインターフェース（Ｉ／Ｆ）２１６と、関連付け部１０１と、生成部１０６と、予測部１１０、及び最適化部１１４とを有する。
【００７３】
リソース割り当て最適化システム２００では、例えば以下の処理が行われる。
【００７４】
すなわち、ＥＴＬツール２１１における入力変換部２２０は、カスタマデータベース２０６と収集ツール２０７からのデータを変換し、変換されたデータを入力テーブル群２２１に格納する。
【００７５】
ＥＴＬツール２１１におけるジョブ実行部２２２がジョブを実行すると、分析プログラム２１５上の機能（プログラム）１０１、１０６、１１０及び１１４が順に実行される。分析プログラム２１５は、入力テーブル群２２１を入力し、作業テーブル群２２３に一時的にデータを格納し、当該作業テーブル群２２３を利用し、出力テーブル群２２４に結果を格納する。
【００７６】
ＥＴＬツール２１１における出力変換部２２５は、出力テーブル群２２４（及び入力テーブル群２２１）からのデータを変換して、変換されたデータを出力データベース２１２に格納する。
【００７７】
ＢＡツール２１３は、出力データベース２１２からデータを取得して、当該データに基づく情報を表示した管理画面（典型的にはＧＵＩ（Graphical User Interface））１５を表示する。管理画面１５は、カスタマ向けでもよいし、管理者向けでもよい。管理画面１５経由で、ＢＡツール２１３が、リソース割り当ての指示を受けた場合、ＢＡツール２１３が、自動化ツール２１０を呼び出す。呼び出された自動化ツール２１０は、リソースの割り当て（最適化部１１４により決定されたリソース量のリソース群の追加又は削減）を設定ツール２０５に指示する。当該指示に応答して、設定ツール２０５が、リソースの割り当て（最適化部１１４により決定されたリソース量のリソース群の追加又は削減）を行う。
【００７８】
なお、サーバシステム２９１及びリソースシステム２９２の各々は、計算機システムの一例である。サーバシステム２９１及びリソースシステム２９２のうちの少なくとも１つが、クラウドサービスを提供するシステムでよい。サーバシステム２９１は、１以上の物理的なサーバ（例えばサーバのクラスタ）であってもよいし、少なくとも１つの仮想的なサーバ（例えばＶＭ（Virtual Machine））を含んでもよい。具体的には、例えば、情報システム２９０では、サーバシステム２９１は、リソースシステム２９２におけるカスタマデータセンタ２０２上で実行される仮想的なサーバでもよい。また、リソースシステム２９２において、一部のストレージ装置２０３が、仮想的なストレージ装置であってもよい。情報システム２９０は、ＳＤｘ（Software-Defined anything）を実行してもよい。ＳＤｘとしては、例えば、ＳＤＳ（Software Defined Storage）又はＳＤＤＣ（Software-defined Datacenter）を採用することができる。ＳＤＳと仮想的なサーバが同一の計算機システム上で実行されてもよい。
【００７９】
また、リソース量の追加と削減は、相対的でもよい。具体的には、例えば、サービス１０２（アプリケーション）を、カスタマデータセンタ２０２間で移動することが、当該サービス１０２について、リソース量の追加又は削減であってもよい。
【００８０】
図３は、第２サーバ２０８の構成図である。
【００８１】
第２サーバ２０８は、インターフェース部３０４、ＰＤＥＶ部３０３、メモリ部３０１及びそれらに接続されたプロセッサ部３０２を有する。インターフェース部３０４は、インターネットのような通信ネットワーク３１０に接続される。
【００８２】
メモリ部３０１が、ＥＴＬツール２１１（入力変換部２２０、出力変換部２２５及びジョブ実行部２２２）及びＢＡツール２１３を格納し、プロセッサ部３０２が、それらのツール（プログラム）２１１及び２１３を実行する。
【００８３】
また、ＰＤＥＶ部３０３には、出力データベース２１２が、格納される。
【００８４】
カスタマデータベース２０６と収集ツール２０７からの入力情報、第１サーバ２０９との間でやり取りされる入出力情報、リモート端末（例えば、カスタマ又は管理者の端末）からＷｅｂブラウザ経由でやりとりされる入出力情報は、インターフェース部３０４経由で入出力される。
【００８５】
入力変換部２２０は、構成データ（例えばＣＳＶ（Comma Separated Values）におけるデータ）を、入力テーブル群２２１用のデータに変換する処理と、性能データ（例えばＣＳＶにおけるデータ）を、入力テーブル群２２１用のデータに変換する処理とを行う。性能データは、時刻と実測値（実測Ｉ／Ｏ負荷、実測応答時間及び実測メトリック）とを含んでよい。
【００８６】
出力変換部２２５は、出力テーブル群２２４（及び入力テーブル群２２１）におけるデータを出力データベース２１２用のデータに変換する処理を行う。
【００８７】
ＢＡツール２１３は、出力データベース２１２におけるデータに基づく情報を表示した管理画面を表示する処理を行う。
【００８８】
図４は、第１サーバ２０９の構成図である。
【００８９】
第１サーバ２０９は、インターフェース部４０４、ＰＤＥＶ部４０３、メモリ部４０１及びそれらに接続されたプロセッサ部４０２を有する。インターフェース部４０４は、インターネットのような通信ネットワーク３１０に接続される。
【００９０】
メモリ部４０１が、分析プログラム２１５（Ｉ／Ｆ２１６、関連付け部１０１、生成部１０６、予測部１１０及び最適化部１１４）を格納し、プロセッサ部４０２が、そのプログラム２１５を実行する。
【００９１】
また、ＰＤＥＶ部４０３には、テーブル群２１７（入力テーブル群２２１、作業テーブル群２２３及び出力テーブル群２２４）が格納される。
【００９２】
第２サーバ２０８との間でやりとりされる入出力情報は、インターフェース部４０４経由で入出力される。
【００９３】
図５は、サービス１０２（アプリケーション）とリソース（ストレージ装置２０３の内部コンポーネント）の関連図である。
【００９４】
サーバ５０１は、サーバシステム２９１における物理的又は仮想的なサーバである。サーバ５０１がアプリケーション５０３を実行することでサービス１０２が提供される。アプリケーション５０３が、サーバ５０１における記憶領域５０４を利用する。記憶領域５０４は、１以上のボリューム５４１である。各ボリューム５４１は、ストレージ装置２０３が提供するＬＤＥＶ５０６がマウントされたものである。ボリューム５４１としては、例えば、トランザクションログを格納するボリュームや、ユーザデータを格納するボリュームや、システム管理情報を格納するボリュームでよい。ボリューム５４１を格納先とするデータはＬＤＥＶ５０６に格納される。
【００９５】
ストレージ装置２０３は、インターフェース部、ＰＤＥＶ部、メモリ部及びそれらに接続されたプロセッサ部を有する。インターフェース部の一例が、複数のポート５１２である。ＰＤＥＶ部の一例が、１以上のＲＧ（ＲＡＩＤグループ）５１０である。メモリ部の一例が、１以上のキャッシュメモリである。プロセッサ部の一例が、１以上のＭＰ（マイクロプロセッサ）５０７である。
【００９６】
ポート５１２がサーバ５０１に接続される。
【００９７】
１以上のＲＧ５１０を基に、１以上のプール５０９が構成される。各プール５０９は、論理的な記憶空間であり、複数の論理領域（論理的な記憶領域）の集合である。また、ＬＤＥＶ５０６は、Thin Provisioning技術に従う仮想的なボリュームであり、サーバ５０１に提供される。ＬＤＥＶ５０６にプール５０９が関連付けられている。ＬＤＥＶ５０６におけるライト先に、当該ＬＤＥＶ５０６に関連付けられているプール５０９における論理領域が、当該ＬＤＥＶ５０６に関連付けられているＭＰ５０７により割り当てられる。
【００９８】
ＬＤＥＶ５０６は、ＭＰ５０７、ＣＬＰＲ（Cache Logical Partition）５０８、プール５０９及びＬＵＮ（Logical Unit Number）５１１と関連している。プール５０９はＲＧ５１０と関連しているため、ＬＤＥＶ５０６は、間接的にＲＧ５１０と関連している。ＣＬＰＲ５０８は、１以上のキャッシュメモリの一部領域である。ＬＵＮ５１１は、ＬＤＥＶ５０６のサーバ５０１に提供されるＩＤである。図５の例によれば、同一のＬＤＥＶ５０６に対して２つのＬＵＮ５１１のいずれを使用してもサーバ５０１はＬＤＥＶ５０６にアクセス可能である（交替パス）。ＬＵＮ５１１はポート５１２に関連しているため、ＬＤＥＶ５０６は、間接的にポートと関連している。
【００９９】
サービス１０２に割り当てられ得るリソースは、本実施形態では、サービス１０２を提供するアプリケーション５０３が使用するＬＤＥＶ５０６と、当該ＬＤＥＶ５０６に関連しているＭＰ５０７、ＣＬＰＲ５０８、プール５０９及びポート５１２である。
【０１００】
図６は、入力テーブル群２２１の構成図である。
【０１０１】
入力テーブル群２２１は、構成テーブル６０１、関連テーブル６０２、実測応答性能テーブル６０３、応答時間閾値テーブル６０４、実測メトリックテーブル６０５及びメトリック閾値テーブル６０６を含む。
【０１０２】
構成テーブル６０１は、サービス１０２とＬＤＥＶ５０６の関連を格納する。具体的には、例えば、構成テーブル６０１は、サービス１０２毎に、下記の情報、
・サービスＩＤ６１１（サービス１０２のＩＤを示す）、
・記憶領域ＩＤ６１２（サービス１０２に関連付けられた記憶領域５０４（５０５）のＩＤを示す）、
・ストレージＩＤ６１３（サービス１０２に関連付けられた記憶領域５０４内のボリューム５４１に対応したＬＤＥＶ５０６を有するストレージ装置２０３のＩＤを示す）、及び、
・ＬＤＥＶ＿ＩＤ６１４（サービス１０２に関連付けられた記憶領域５０４内のボリューム５４１に対応したＬＤＥＶ５０６のＩＤを示す）、
を含む。
【０１０３】
関連テーブル６０２は、ＬＤＥＶ５０６とストレージ装置２０３内のコンポーネントとの関連を格納する。具体的には、例えば、関連テーブル６０２は、ＬＤＥＶ５０６毎に、下記の情報、
・ストレージＩＤ６２１（ＬＤＥＶ５０６を有するストレージ装置２０３のＩＤを示す）、
・ＬＤＥＶ＿ＩＤ６２２（ＬＤＥＶ５０６のＩＤを示す）、
・コンポーネント種別６２３（ＬＤＥＶ５０６に関連付けられているコンポーネントの種別を示す）、
・コンポーネントＩＤ６２４（ＬＤＥＶ５０６に関連付けられているコンポーネントのＩＤを示す）、及び、
・リソース量６２５（ＬＤＥＶ５０６に関連付けられているリソース群（コンポーネント群）の量を示す）、
を含む。サービス１０２に関連付けられた１以上のＬＤＥＶ５０６のリソース量６２５の合計が、当該サービス１０２のリソース量に相当する。
【０１０４】
実測応答性能テーブル６０３は、各サービス１０２の実測応答性能を格納する。具体的には、例えば、実測応答性能テーブル６０３は、時刻毎に、下記の情報、
・時刻６３１（時刻を示す）、
・サービスＩＤ６３２（サービス１０２のＩＤを示す）、
・実測Ｉ／Ｏ負荷６３３（実測Ｉ／Ｏ負荷を示す）、及び、
・実測応答時間６３４（実測応答時間を示す）、
を含む。なお、本実施形態において、時刻の単位は、例えば、年月日時分秒であるが、それよりも細かくても粗くてもよい。
【０１０５】
応答時間閾値テーブル６０４は、各サービス１０２の応答時間閾値を格納する。具体的には、例えば、応答時間閾値テーブル６０４は、サービス１０２毎に、下記の情報、
・サービスＩＤ６４１（サービス１０２のＩＤを示す）、
・重要度６４２（サービス１０２の重要度を示す）、及び、
・応答時間閾値６４３（応答時間の閾値を示す）、
を含む。本実施形態では、重要度６４２が高いサービス１０２から優先的に関連付け、予測モデル生成、予測及び最適化が行われてよい。
【０１０６】
実測メトリックテーブル６０５は、各リソース（コンポーネント）の実測メトリックを格納する。具体的には、例えば、実測メトリックテーブル６０５は、時刻毎に、下記の情報、
・時刻６５１（時刻を示す）、
・ストレージＩＤ６５２（コンポーネントを有するストレージ装置２０３のＩＤを示す）、
・コンポーネントＩＤ６５３（コンポーネントのＩＤを示す）、
・メトリック種別６５４（メトリックの種別を示す）、及び、
・実測メトリック６５５（実測メトリックを示す）、
を含む。構成テーブル６０１、関連テーブル６０２及び実測メトリックテーブル６０５を参照することで、サービス１０２に割り当てられたリソースの実測メトリックを取得することができる。
【０１０７】
メトリック閾値テーブル６０６は、各コンポーネント（リソース）のメトリック閾値を格納する。具体的には、例えば、メトリック閾値テーブル６０６は、コンポーネント毎に、下記の情報、
・ストレージＩＤ６６１（コンポーネントを有するストレージ装置２０３のＩＤを示す）、
・コンポーネント種別６６２（コンポーネントの種別を示す）、
・コンポーネントＩＤ６６３（コンポーネントのＩＤを示す）、
・メトリック種別６６４（メトリックの種別を示す）、及び、
・メトリック閾値６６５（メトリック閾値を示す）、
を含む。
【０１０８】
図７は、作業テーブル群２２３の構成図である。
【０１０９】
作業テーブル群２２３は、Ｉ／Ｏ負荷予測モデルテーブル７０１、応答時間予測モデルテーブル７０２、及び、メトリック予測モデルテーブル７０３を含む。
【０１１０】
Ｉ／Ｏ負荷予測モデルテーブル７０１は、Ｉ／Ｏ負荷予測モデル１０７に関する情報を格納する。具体的には、例えば、Ｉ／Ｏ負荷予測モデルテーブル７０１は、予測モデル１０７毎に、下記の情報、
・モデルＩＤ７１１（予測モデル１０７のＩＤを示す）、
・開始時刻７１２（学習期間の開始時刻を示す）、
・終了時刻７１３（学習期間の終了時刻を示す）、
・サービスＩＤ７１４（予測モデル１０７に対応するサービス１０２のＩＤを示す）、及び、
・関数式ｆ（ｔ）７１５（入力を時刻（ｔ）とした出力を得るための予測モデル１０７相当の情報）、
を含む。
【０１１１】
応答時間予測モデルテーブル７０２は、応答時間予測モデル１０８に関する情報を格納する。具体的には、例えば、応答時間予測モデルテーブル７０２は、予測モデル１０８毎に、下記の情報、
・モデルＩＤ７２１（予測モデル１０８のＩＤを示す）、
・開始時刻７２２（学習期間の開始時刻を示す）、
・終了時刻７２３（学習期間の終了時刻を示す）、
・サービスＩＤ７２４（予測モデル１０８に対応するサービス１０２のＩＤを示す）、及び、
・関数式ｆ（Ｉ／Ｏ負荷）７２５（入力をＩ／Ｏ負荷とした出力を得るための予測モデル１０８相当の情報）、
を含む。
【０１１２】
メトリック予測モデルテーブル７０３は、メトリック予測モデル１０９に関する情報を格納する。具体的には、例えば、メトリック予測モデルテーブル７０３は、予測モデル１０９毎に、下記の情報、
・モデルＩＤ７３１（予測モデル１０９のＩＤを示す）、
・開始時刻７３２（学習期間の開始時刻を示す）、
・終了時刻７３３（学習期間の終了時刻を示す）、
・ストレージＩＤ７３４（コンポーネントを有するストレージ装置２０３のＩＤを示す）、
・コンポーネントＩＤ７３５（コンポーネントのＩＤを示す）、
・メトリック種別７３６（メトリックの種別を示す）、及び、
・関数式ｆ（Ｉ／Ｏ負荷）７３７（入力をＩ／Ｏ負荷とした出力を得るための予測モデル１０８相当の情報）、
を含む。
【０１１３】
図８は、出力テーブル群２２４の構成図である。
【０１１４】
出力テーブル群２２４は、関連付けテーブル８０１、予測応答性能テーブル８０５、予測メトリックテーブル８０８、及び、予測判別結果テーブル８０９を含む。
【０１１５】
関連付けテーブル８０１は、サービス１０２とコンポーネント（リソース）との関連付けを示す情報を格納する。具体的には、例えば、関連付けテーブル８０１は、サービス１０２毎に、下記の情報、
・サービスＩＤ８１１（サービス１０２のＩＤを示す）、
・記憶領域ＩＤ８１２（サービス１０２に関連付けられた記憶領域５０４（５０５）のＩＤを示す）、
・ストレージＩＤ８１３（サービス１０２に関連付けられた記憶領域５０４内のボリューム５４１に対応したＬＤＥＶ５０６を有するストレージ装置２０３のＩＤを示す）、
・コンポーネント種別８１４（サービス１０２に関連付けられたコンポーネントの種別を示す）、及び、
・コンポーネントＩＤ８１５（サービス１０２に関連付けられたコンポーネントのＩＤを示す）、
を含む。
【０１１６】
予測応答性能テーブル８０５は、各サービス１０２の予測応答性能を格納する。具体的には、例えば、予測応答性能テーブル８０５は、時刻毎に、下記の情報、
・時刻８５１（時刻を示す）、
・サービスＩＤ８５２（サービス１０２のＩＤを示す）、
・予測Ｉ／Ｏ負荷８５３（予測Ｉ／Ｏ負荷を示す）、及び、
・予測応答時間８５４（予測応答時間を示す）、
を含む。
【０１１７】
予測メトリックテーブル８０８は、各リソース（コンポーネント）の予測メトリックを格納する。具体的には、例えば、予測メトリックテーブル８０８は、時刻毎に、下記の情報、
・時刻８８１（時刻を示す）、
・ストレージＩＤ８８２（コンポーネントを有するストレージ装置２０３のＩＤを示す）、
・コンポーネントＩＤ８８３（コンポーネントのＩＤを示す）、
・メトリック種別８８４（メトリックの種別を示す）、及び、
・予測メトリック８８５（予測メトリックを示す）、
を含む。
【０１１８】
予測判別結果テーブル８０９は、各サービス１０２についての予測判別の結果を格納する。具体的には、例えば、予測判別結果テーブル８０９は、サービス１０２毎に、下記の情報、
・サービスＩＤ８９１（サービス１０２のＩＤを示す）、
・開始時刻８９２（指定予測期間の開始時刻を示す）、
・終了時刻８９３（指定予測期間の終了時刻を示す）、
・許容範囲８９４（Ｉ／Ｏ負荷の実測値と予測値との差分の許容範囲を示す）、及び、
・予測判別結果８９５（予測判別の結果を示す）、
を含む。最適化部１１４は、許容範囲８９４を使って、実測Ｉ／Ｏ負荷に対して予測Ｉ／Ｏ負荷が許容の範囲内かどうかを判別する。許容範囲８９４は、予測Ｉ／Ｏに対して分散σの１０％範囲内などのように指定可能である。予測判別結果テーブル８０９は、図１に示す集計８０に相当する。
【０１１９】
出力テーブル群２２４内のテーブルが、管理画面１５の表示のための出力データベース２１２に格納されるが、出力テーブル群２２４内のテーブルに加えて、入力テーブル群２２１内のテーブル（例えば、実測応答性能テーブル６０３、応答時間閾値テーブル６０４、実測メトリックテーブル６０５及びメトリック閾値テーブル６０６）が、出力データベース２１２に格納されてもよい。
【０１２０】
図９は、関連付け、予測モデル生成、予測、及び、最適化の流れを示す。以下、１つのサービス１０２を例に取る。
【０１２１】
関連付け部１０１は、当該サービス１０２にリソース群１０３を関連付ける（Ｓ９０１）。
【０１２２】
生成部１０６は、当該サービス１０２について、実学習期間（指定学習期間のうち実測応答時間が応答時間閾値以下である期間）の時系列実測Ｉ／Ｏ負荷、時系列実測応答時間及び時系列実測メトリックを用いた学習処理により、予測モデル１０７〜１０９を生成する（Ｓ９０２）。
【０１２３】
予測部１１０が、当該サービス１０２に対応した予測モデル１０７及び１０８を用いて、指定予測期間での時系列応答性能（Ｉ／Ｏ負荷及び応答時間）を予測する（Ｓ９０３）。
【０１２４】
最適化部１１４が、時系列実測応答性能と時系列予測応答性能を基に、当該サービス１０２のＩ／Ｏ負荷の正確な予測が期待できるか否かの判別である予測判別を行う（Ｓ９０４）。
【０１２５】
Ｓ９０４の判別結果が偽の場合（Ｓ９０４：Ｆ）、最適化部１１４は、当該サービス１０２について、リソース群（例えば一定量のリソース群）の追加を決定する。
【０１２６】
Ｓ９０４の判別結果が真の場合（Ｓ９０４：Ｔ）、予測部１１０は、当該サービス１０２に関連付いているリソース群１０３における各リソースの指定予測期間での時系列メトリックを、当該リソースに対応した予測モデル１０９を用いて予測する（Ｓ９０６）。最適化部１１４は、時系列予測メトリック及び時系列実測メトリックの少なくとも１つを基に、当該リソースのリソース量が現状維持か否かの判別である維持判別を行う（Ｓ９０７）。
【０１２７】
Ｓ９０７の判別結果が偽の場合（Ｓ９０７：Ｆ）、最適化部１１４が、当該サービス１０２について、リソース量の調整を決定する（Ｓ９０８）。例えば、最適化部１１４が、実測メトリック又は予測メトリックとメトリック閾値との差分を基に、削減する又は追加するリソース量を決定する。
【０１２８】
図１０は、関連付け部１０１が行う処理の流れを示す。
【０１２９】
Ｓ９０１において、関連付け部１０１は、第１関連付け（Ｓ１００１）と第２関連付け（Ｓ１００２）を行う。
【０１３０】
第１関連付けは、サービス１０２とＬＤＥＶ５０６の関連付けである。具体的には、関連付け部１０１は、構成テーブル６０１を入力し、サービス１０２と記憶領域５０４の関連付け（Ｓ１０１１）と、記憶領域５０４とＬＤＥＶ５０６の関連付け（Ｓ１０１２）を実行し、当該実行の結果を関連付けテーブル８０１に格納する。
【０１３１】
第２関連付けは、サービス１０２とコンポーネントの関連付けである。具体的には、関連付け部１０１は、関連テーブル６０２を入力し、サービス１０２とＭＰ５０７の関連付け（Ｓ１０２１）、サービス１０２とＣＬＰＲ５０８の関連付け（Ｓ１０２２）、サービス１０２とプール５０９の関連付け（Ｓ１０２３）、及び、サービス１０２とポート５１２の関連付け（Ｓ１０２４）を実行し、当該実行の結果を関連付けテーブル８０１に格納する。
【０１３２】
図１１は、生成部１０６が行う処理の流れを示す。
【０１３３】
Ｓ９０２において、生成部１０６は、Ｉ／Ｏ負荷予測モデル１０７の生成（Ｓ１１０１）、応答時間予測モデル１０８の生成（Ｓ１１０２）、及び、メトリック予測モデル１０９の生成（Ｓ１１０３）を行う。
【０１３４】
Ｓ１１０１において、生成部１０６は、実測応答性能テーブル６０３を入力する。生成部１０６は、指定学習期間のうちの実学習期間について、異常値除去と差分処理（Ｓ１１１１）と、ＡＲＩＭＡモデルを用いて関数（予測式）を作成する処理（Ｓ１１１２）とを実行し、当該実行の結果をＩ／Ｏ負荷予測モデルテーブル７０１に格納する。
【０１３５】
Ｓ１１０２において、生成部１０６は、実測応答性能テーブル６０３を入力する。生成部１０６は、指定学習期間のうちの実学習期間について、異常値除去と差分処理（Ｓ１１２１）と、ＡＲＩＭＡモデルを用いて関数（予測式）を作成する処理（Ｓ１１２２）とを実行し、当該実行の結果を応答時間予測モデルテーブル７０２に格納する。
【０１３６】
Ｓ１１０３において、生成部１０６は、実測メトリックテーブル６０５を入力する。生成部１０６は、指定学習期間のうちの実学習期間について、異常値除去と差分処理（Ｓ１１３１）と、ＡＲＩＭＡモデルを用いて関数（予測式）を作成する処理（Ｓ１１３２）とを実行し、当該実行の結果をメトリック予測モデルテーブル７０３に格納する。
【０１３７】
図１２は、予測部１１０が行う処理の流れを示す。
【０１３８】
Ｓ９０３において、予測部１１０は、Ｉ／Ｏ負荷の予測と応答時間の予測とを行う。
【０１３９】
Ｉ／Ｏ負荷の予測では、予測部１１０は、Ｉ／Ｏ負荷予測モデルテーブル７０１を入力する（Ｓ１２０１）。予測部１１０は、そのテーブル７０１における予測式（つまり関数としての予測モデル１０７）を使って、指定予測期間における時系列のｎ個の時刻と使用実測期間における時系列のｎ個の実測Ｉ／Ｏ負荷とを入力として時系列Ｉ／Ｏ負荷を予測する（Ｓ１２０２）。結果として、時系列のｎ個の予測Ｉ／Ｏ負荷が取得される。予測部１１０は、当該予測の結果を予測応答性能テーブル８０５に格納する。
【０１４０】
応答時間の予測では、予測部１１０は、応答時間予測モデルテーブル７０２を入力する（Ｓ１２０１）。予測部１１０は、そのテーブル７０２における予測式（つまり関数としての予測モデル１０８）を使って、予測応答性能テーブル８０５における時系列のｎ個の予測Ｉ／Ｏ負荷（指定予測期間における時系列のｎ個の時刻にそれぞれ対応した時系列のｎ個の予測Ｉ／Ｏ負荷）と使用実測期間における時系列のｎ個の実測応答時間とを入力として時系列応答時間を予測する（Ｓ１２０２）。結果として、時系列のｎ個の予測応答時間が取得される。予測部１１０は、当該予測の結果を予測応答性能テーブル８０５に格納する。
【０１４１】
Ｓ９０６において、予測部１１０は、関連付けテーブル８０１及びメトリック予測モデルテーブル７０３を入力する（Ｓ１２１１）。これにより、サービス１０２に関連付いたリソース（コンポーネント）のメトリック予測モデル１０９を特定できる。予測部１１０は、そのテーブル７０３における予測式（つまり関数としての予測モデル１０９）を使って、予測応答性能テーブル８０５における時系列のｎ個の予測Ｉ／Ｏ負荷（指定予測期間における時系列のｎ個の時刻にそれぞれ対応した時系列のｎ個の予測Ｉ／Ｏ負荷）と使用実測期間における時系列のｎ個の実測メトリックとを入力として時系列メトリックを予測する（Ｓ１２１２）。結果として、時系列のｎ個の予測メトリックが取得される。予測部１１０は、当該予測の結果を予測メトリックテーブル８０８に格納する。
【０１４２】
図１３は、最適化部１１４が行う処理の流れを示す。
【０１４３】
Ｓ９０４において、最適化部１１４は、応答時間閾値テーブル６０４、予測応答性能テーブル８０５及び実測応答性能テーブル６０３を入力する。最適化部１１４は、指定予測期間における実測Ｉ／Ｏ負荷と予測Ｉ／Ｏ負荷との差分が、所定の許容範囲内（マージン内）であるか否かの判別を行う（Ｓ１３０１）。Ｓ１３０１の判別結果が偽の場合（Ｓ１３０１：Ｆ）、最適化部１１４は、当該サービス１０２について、予測判別結果テーブル８０９に、予測判別結果８９５として“予測不可”を格納する。
【０１４４】
Ｓ１３０１の判別結果が真の場合（Ｓ１３０１：Ｔ）、最適化部１１４は、指定予測期間における実測応答時間及び予測応答時間の少なくとも１つが応答時間閾値以下であるか否かの判別を行う（Ｓ１３０２）。Ｓ１３０２の判別結果が偽の場合（Ｓ１３０２：Ｆ）、最適化部１１４は、当該サービス１０２について、予測判別結果テーブル８０９に、予測判別結果８９５として“予測不可”を格納する。一方、Ｓ１３０２の判別結果が真の場合（Ｓ１３０２：Ｔ）、最適化部１１４は、当該サービス１０２について、予測判別結果テーブル８０９に、予測判別結果８９５として“予測可”を格納する。
【０１４５】
Ｓ９０５において、最適化部１１４は、十分なリソース量を決定する（Ｓ１３１１）。ここで言う「十分なリソース量」は、指定学習期間において実測応答時間が応答時間閾値以下になることが十分に期待されるリソース量である。追加されることになる当該リソース量は、例えば一定量のリソースである。
【０１４６】
Ｓ９０７において、最適化部１１４は、メトリック閾値テーブル６０６、予測メトリックテーブル８０８、実測メトリックテーブル６０５及び関連付けテーブル８０１を入力する。最適化部１１４は、指定予測期間における実測メトリックと予測メトリックとの差分が、許容範囲内であるか否かの判別を行う（Ｓ１３２１）。Ｓ１３２１の判別結果が偽の場合（Ｓ１３２１：Ｆ）、非現状維持が得られる（すなわち、維持判別（Ｓ９０７）の結果が偽である）。
【０１４７】
Ｓ１３２１の判別結果が真の場合（Ｓ１３２１：Ｔ）、最適化部１１４は、指定予測期間における実測メトリック及び予測メトリックの少なくとも１つがメトリック閾値以下であるか否かの判別を行う（Ｓ１３２２）。Ｓ１３２２の判別結果が偽の場合（Ｓ１３２２：Ｆ）、非現状維持が得られる。一方、Ｓ１３２２の判別結果が真の場合（Ｓ１３２２：Ｔ）、現状維持が得られる（すなわち、維持判別（Ｓ９０７）の結果が真である）。
【０１４８】
Ｓ９０８において、最適化部１１４は、メトリック等に基づき調整リソース量を決定する（Ｓ１３３１）。具体的には、例えば、最適化部１１４は、メトリック閾値を超えた実測メトリック又は予測メトリックと当該メトリック閾値との差分に基づいて調整リソース量を決定する。
【０１４９】
図１４は、管理画面１５の一例を示す。
【０１５０】
管理画面１５に表示される情報である管理情報は、出力データベース２１２内のデータに基づいている。管理画面１５は、例えばＧＵＩ（Graphical User Interface）である。
【０１５１】
管理画面１５は、分析期間を指定するためのＵＩ（User Interface）１４０１、開始時刻を指定するためのＵＩ１４０２、及び、終了時刻を指定するためのＵＩ１４０３を有する。これらのＵＩ１４０１〜１４０３を用いて期間が指定される。この指定期間（以下、表示期間）に属するデータに基づく情報が、管理画面１５に表示される管理情報である。表示期間は、過去の期間も将来の期間も含むことができる。管理画面１５における情報の表示は、本実施形態では、ＢＡツール２１３により制御され、ＢＡツール２１３が、表示制御部の一例である。なお、表示制御部は、第２サーバ２０８に代えて第１サーバ２０９に設けられてもよい。
【０１５２】
本実施形態において、管理情報は、サービス領域１４０５、ダッシュボード領域１４０４、トポロジー領域１４０６、予測と実測の領域１４０７、及び、グラフ領域１４０８に表示された情報の全部又は一部（例えば、ダッシュボード領域１４０４に表示された情報）である。
【０１５３】
サービス領域１４０５は、サービス１０２の一覧を表示する。なお、サービス領域１４０５において、所定の条件に該当するサービス１０２の表示オブジェクトが強調表示される。「所定の条件に該当するサービス１０２」とは、下記のサービス１０２、
・オペレータ（例えば管理者又はユーザ）により選択されたサービス１０２、
・ＳＬＡ（Service Level Agreement）違反のサービス１０２（実測応答時間又は予測応答時間が応答時間閾値を超えたサービス１０２）、
・実測メトリック又は予測メトリックがメトリック閾値を超えたサービス１０２、及び、
・予測判別の結果が偽であるサービス１０２、
のうちのいずれかのサービス１０２でよい。
【０１５４】
ダッシュボード領域１４０４は、全サービス１０２のサービスレベル遵守状況（ここでは実測応答時間又は予測応答時間が応答時間閾値以下か否か）、全サービス１０２に関連するリソース使用状況（実測メトリック又は予測メトリックがメトリック閾値以下か否か）、及び、全サービス１０２に対する予測判別結果（予測判別結果が偽のサービス１０２の数又は割合）を表示する。また、ダッシュボード領域１４０４は、上記の「所定の条件に該当するサービス１０２」の一覧と、当該一覧における各サービス１０２について、ＳＬＡ違反期間、各コンポーネント（リソース）のメトリック、及び、予測判別の結果を表示する。
【０１５５】
トポロジー領域１４０６は、「所定の条件に該当するサービス１０２」をルートノードとするトポロジーを表示する。当該トポロジーでは、サービス１０２に関連するアプリケーション５０３や、ＬＤＥＶ５０６に関連付いたコンポーネントがリーフノードとなる。トポロジー領域１４０６において、異常のノードの表示オブジェクトが強調表示される。「異常のノード」は、リーフノード（例えばアプリケーション５０３やプール５０９）や、リーフノードの親ノード（例えば、プール５０９が関連付いたＬＤＥＶ５０６）でよい。
【０１５６】
予測と実測の領域１４０７は、トポロジー領域１４０６が表示するトポロジーにおける異常ノード（例えばオペレータにより選択されたノード）の詳細情報を表示する。詳細情報は、サービス性能１４０９（例えば、アプリケーションＩＤと、予測応答時間及び実測応答時間の各々について応答時間を超過した累積時間）と、リソースメトリック１４１０（例えば、コンポーネントのメトリック種別と、当該メトリック種別に関して現在のリソース量と推奨のリソース量）を含む。「推奨のリソース量」は、最適化部１１４により決定されたリソース量である。オペレータが、推奨のリソース量の承認を管理画面１５に入力すると、ＢＡツール２１３が、推奨のリソース量と現在のリソース量との差分である調整リソース量の追加又は削減の指示を、自動化ツール２１０を呼び出すことによりリソースシステム２９２に与えることができる。
【０１５７】
グラフ領域１４０８は、サービス性能１４０９及びリソースメトリック１４１０の各々についてのグラフ（横軸を時刻とし縦軸を実測値又は予測値としたグラフ）を表示する。グラフには、応答時間閾値やメトリック閾値も表示される。
【０１５８】
以上、本発明の一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、予測モデル１０７〜１０９の少なくとも１つが、時系列モデルに代えて、線形モデルであってもよい。例えば、予測モデル１０７〜１０９の各々が、線形モデルの場合、入力は、時系列のｎ個の時刻（指定予測期間における各単位時間幅に対応した数値）でよく、出力は、時系列にの個の予測値（予測Ｉ／Ｏ負荷、予測応答時間又は予測メトリック）でよい。
【符号の説明】
【０１５９】
１０１…関連付け部、１０６…生成部、１１０…予測部、１１４…最適化部
【図１】
2019082801.tif 000003
【図２】
2019082801.tif 000004
【図３】
2019082801.tif 000005
【図４】
2019082801.tif 000006
【図５】
2019082801.tif 000007
【図６】
2019082801.tif 000008
【図７】
2019082801.tif 000009
【図８】
2019082801.tif 000010
【図９】
2019082801.tif 000011
【図１０】
2019082801.tif 000012
【図１１】
2019082801.tif 000013
【図１２】
2019082801.tif 000014
【図１３】
2019082801.tif 000015
【図１４】
2019082801.tif 000016