(57)【特許請求の範囲】
【請求項１】
対象システムが運用される間に前記対象システムの構成要素から学習データを取得する情報収集部と、
前記学習データに基づいて前記対象システムの構成要素間の関係を目的情報と説明情報の関係により表現した予測式を生成する予測式生成部と、
前記対象システムの構成を変更する設定内容を決定する設定変更内容決定部と、
前記対象システムの構成を変更する構成変更部と、を有し、
前記設定変更内容決定部が、前記対象システムの構成を変更する場合に取り得る前記構成要素の状態の範囲において、前記学習データが十分に取得されていない状態をデータ不足状態として抽出し、前記構成要素が前記データ不足状態となるように前記対象システムの構成を変更する設定内容を決定し、
前記構成変更部が、前記決定された設定内容に従って前記対象システムの構成を変更し、
前記情報収集部が、前記対象システムの前記構成要素から前記データ不足状態のときの学習データを取得する、
学習データ処理装置。
【請求項２】
前記設定変更内容決定部は、前記対象システムが取り得る前記構成要素の状態の範囲のうち、学習データが所定データ量以上に取得されていない構成を抽出し、該構成に相当する設定変更を決定する、
請求項１に記載の学習データ処理装置。
【請求項３】
前記設定変更内容決定部は、前記構成要素が前記データ不足状態となるように前記対象システムの構成を一時的に変更し、
前記構成変更部が、前記決定された設定内容に従って前記対象システムの構成を変更し、
前記情報収集部が、前記対象システムの前記構成要素から前記データ不足状態のときの学習データを取得して蓄積し、
前記対象システムの構成が変更されたとき、
前記予測式生成部は、前記構成要素が前記データ不足状態となる構成においては前記情報収集部により蓄積された学習データを用いて前記予測式を生成する、
請求項１に記載の学習データ処理装置。
【請求項４】
前記予測式は、該予測式の対象となる構成要素である対象構成要素の性能を目的情報とし、前記対象構成要素と論理的に関連づけられた１つ以上の関連構成要素の性能を説明情報とし、前記目的情報を前記説明情報の関数で示すものであり、
前記情報収集部は、前記対象システムの構成要素が発揮した性能を性能履歴情報として蓄積し、
前記予測式生成部は、前記性能履歴情報を前記学習データとして前記関数を算出する、
請求項１に記載の学習データ処理装置。
【請求項５】
前記目的情報がストレージにおけるボリュームの応答時間であり、前記説明情報には、前記ボリュームへのアクセスに用いられるプロセッサの使用率およびキャッシュのサイズが含まれる、請求項４に記載の学習データ処理装置。
【請求項６】
前記予測式は、前記目的情報を、前記説明情報と係数の積の和で示すものであり、
前記予測式生成部は、前記性能履歴情報を前記学習データとして、前記関連構成要素毎の係数を算出する、
請求項４に記載の学習データ処理装置。
【請求項７】
前記予測式生成部は、前記対象システムに対して所定の類似条件を満たす類似システムにて取得された学習データを用いて前記予測式を生成する、請求項１に記載の学習データ処理装置。
【請求項８】
前記目的情報がストレージのボリュームの性能であり、
前記類似条件は、前記ボリュームに対するランダムリード、ランダムライト、シーケンシャルリード、およびシーケンシャルライトを含むＩ／Ｏパタンの類似度合いで定められる、
請求項７に記載の学習データ処理装置。
【請求項９】
前記設定変更内容決定部は、前記キャッシュサイズの取りうる範囲のうち、十分な学習データが得られていないサイズに変更することを決定する、請求項５に記載の学習データ処理装置。
【請求項１０】
対象システムが運用される間に前記対象システムの構成要素から学習データを取得し、前記学習データに基づいて前記対象システムの構成要素間の関係を目的情報と説明情報の関係により表現した予測式を生成するための学習データ処理方法であって、
コンピュータにより実現される設定変更内容決定手段が、
前記対象システムの構成を変更する場合に取り得る前記構成要素の状態の範囲において、前記学習データが十分に取得されていない状態をデータ不足状態として抽出し、
前記構成要素が前記データ不足状態となるように前記対象システムの構成を変更する設定内容を決定し、
コンピュータにより実現される構成変更手段が、前記決定された設定内容に従って前記対象システムの構成を変更し、
コンピュータにより実現される情報収集手段が、前記対象システムの前記構成要素から前記データ不足状態のときの学習データを取得する、
学習データ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＴシステム運用管理において取得されるデータの処理方法に関する。
【背景技術】
【０００２】
仮想化機構の普及やクラウド等の新たなシステム提供形態の出現に伴い、ＩＴシステムの運用管理は複雑化している。また、ＩＴシステムで扱われるデータ量の爆発的な増加に伴い、ＩＴシステムの規模は年々拡大し、ＩＴシステムを管理する管理ソフトウェアが扱うオブジェクト数（例えば、ストレージ装置が提供するボリュームの数）も増大している。複雑かつ大量なデータを持つＩＴシステムを、管理コストを抑えて管理することが求められている。【０００３】
ＩＴシステムの管理コストを抑えるために、管理を自動化することが考えられる。ＩＴシステム管理の自動化において活用可能な技術の１つに、機械学習技術が存在する。ＩＴシステムの各オブジェクトにおける各種情報を収集し、学習データとして学習することで、ＩＴシステム内の任意の要素とそれ以外の要素との関連について、学習データに最も良くあてはまる関数を特定することが可能となる。【０００４】
例えば、非特許文献１には、ＩＴシステムで実行する処理の応答性能を、処理の並列数などの処理をおこなう設定に関するパラメータと、処理するデータのサイズなどの処理対象に関するパラメータから予測することを可能にする関数を、学習によって求める技術について記載されている。この関数を利用することで、例えば処理の並列数とデータサイズから処理の応答時間が推定できるようになるため、処理の実行スケジュールの決定をおこなうことができる。また、必要な応答性能を出すために必要な処理の並列数を推定できるようになるため、必要な応答性能を得るために必要となるリソース量を推定することができる。【０００５】
また、インターネットを介して、ＩＴシステムを事業者が提供し、利用に応じて利用者に課金するクラウドサービスが普及している。クラウドサービスの形態として、ＩａａＳ（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）、ＰａａＳ（Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）、ＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）などの形態がある。【０００６】
加えて、クラウドサービスは、機密性が高いデータや、リアルタイム性を要求するアプリケーションのデータ格納場所として利用するには向かないものの、管理業務は、そのＩＴシステムの本来の機能から切り離せることからも、また利用に応じて費用を支払いたいというニーズからもクラウドサービスに好適である。【０００７】
このような背景から、これまでオンプレミスで稼働していた管理ソフトのＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）提供や、運用業務の一部をサービスとして請け負うといった動きがある。オンプレミスにあるストレージを事業者がネットワーク経由で監視し、イベントが発生した場合に構成変更やディスク交換等の保守業務を行う方式は特許文献１で開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−１０７０８０号公報
【非特許文献】
【０００９】
【非特許文献１】Statistics-driven workload modeling for the cloud，Archana Ganapathi，University of California at Berkeley, ICDE 2010
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１及び非特許文献１に開示されている技術は比較的変化の少ない環境での利用を想定しており、システム構成が頻繁に変更されることを想定していない。一方で、仮想化機構の普及や、クラウド等の新たなシステム提供形態の出現に伴い、ＩＴシステムの構成を比較的容易に変更できようになっており、システム構成の変更頻度も上がることが考えられる。【００１１】
機械学習の精度を上げるには大量の学習データが必要である。ＩＴシステムの管理においては、ＩＴシステムの各オブジェクトから長期間にわたって性能情報や容量情報などの各種履歴情報を取得する必要がある。しかし、ＩＴシステムにおいて構成変更が発生すると、構成変更が発生した後に再び長期間の学習をおこなう必要が生じる。そして、構成変更後しばらくは機械学習の精度が上がらず効率の良い管理業務を行うことができないことが考えられる。【００１２】
本発明の目的は、構成が変更されるシステムを対象とした機械学習の精度を高める技術を提供することである。
【課題を解決するための手段】
【００１３】
本発明の一態様によれば、学習データ処理装置は、対象システムが運用される間に対象システムの構成要素から学習データを取得する情報収集部と、学習データに基づいて対象システムの構成要素間の関係を目的情報と説明情報の関係により表現した予測式を生成する予測式生成部と、対象システムの構成を変更する設定内容を決定する設定変更内容決定部と、対象システムの構成を変更する構成変更部と、を有し、設定変更内容決定部が、対象システムの構成を変更する場合に取り得る構成要素の状態の範囲において、学習データが十分に取得されていない状態をデータ不足状態として抽出し、構成要素がデータ不足状態となるように対象システムの構成を変更する設定内容を決定し、構成変更部が、決定された設定内容に従って対象システムの構成を変更し、情報収集部が、対象システムの構成要素からデータ不足状態のときの学習データを取得する。
【発明の効果】
【００１４】
将来の対象システムの構成変更時に不足となる学習データを、予め対象システムの構成を一時的に変更して取得しておくことができるので、実際に構成が変更されたときに生じる学習データの不足が低減され、機械学習の精度が早期に向上する。これを構成の変更が比較的頻繁に行われる対象システムにおける機械学習を適用した場合、構成が変更されたときに生じる機械学習の精度低下を抑制することができる。
【図面の簡単な説明】
【００１５】
【図１】実施例１による計算機システムの概略を説明するための図である。
【図２】実施例１に係る計算機システムの一例の構成図である。
【図３】実施例１に係る関連情報テーブルの一例を示す図である。
【図４】実施例１に係る性能履歴情報テーブル１１２０の一例を示す図である。
【図５Ａ】実施例１に係る構成情報テーブル１１３０の一例を示す図である。
【図５Ｂ】実施例１に係る構成情報テーブル１１３０の一例を示す図である。
【図５Ｃ】実施例１に係る構成情報テーブル１１３０の一例を示す図である。
【図６】実施例１に係る予測式元情報テーブル１１４０の一例を示す図である。
【図７】実施例１に係る予測式テーブル１１５０の一例を示す図である。
【図８】実施例１に係わる予測式を生成する処理のフローチャートである。
【図９】実施例１に係わる学習データを取得するための設定変更内容を決定する処理のフローチャートである。
【図１０】学習データ取得用設定変更を実行する処理のフローチャートである。
【図１１】実施例２に係る業務特性管理テーブル１８００の一例を示す図である。
【図１２】実施例２に係る学習用データ共有を実行する処理のフローチャートである。
【発明を実施するための形態】
【００１６】
幾つかの実施例を、図面を参照して説明する。なお、以下に説明する実施例は特許請求の範囲にかかる発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。これらの図面において、複数の図を通じて同一の符号は同一の構成要素を示している。なお、以後の説明では「ａａａテーブル」等の表現にて本発明の情報を説明するが、これら情報はテーブル等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「ａａａテーブル」等について「ａａａ情報」と呼ぶことがある。さらに、各情報の内容を説明する際に、「識別情報」、「識別子」、「名称」、「ＩＤ」という表現を用いるが、これらについてはお互いに置換が可能である。
【００１７】
以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート（通信デバイス、管理Ｉ／Ｆ、データＩ／Ｆ）を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ（管理計算機）等の計算機、情報処理装置が行う処理としてもよい。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。また、各種プログラムはプログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。
【００１８】
以後、計算機システムを管理し、本発明の表示用情報を表示する一つ以上の計算機の集合を管理システムと呼ぶことがある。管理サーバが表示用情報を表示する場合は管理サーバが管理システムである。また、管理サーバと表示用計算機との組み合わせも管理システムである。また、管理処理の高速化や高信頼化のために複数の計算機で管理サーバと同等の処理を実現してもよく、この場合は当該複数の計算機（表示を表示用計算機が行う場合は表示用計算機も含め）が管理システムである。
【実施例１】
【００１９】
本実施例に係る計算機システムについて説明する。【００２０】
図１は、実施例１による計算機システムの概略を説明するための図である。ここで説明する動作は主に設定変更内容決定プログラム１１８０により実行される。【００２１】
（１）設定変更内容決定プログラム１１８０は、まず、予測式テーブル１１５０及び構成情報テーブル１１３０を参照し、予測式のパラメータのうち計算機システムの構成を示す構成情報にあたるパラメータを抽出する。（２）続いて、設定変更内容決定プログラム１１８０は、予測式元情報テーブル１１４０を参照し、抽出したパラメータの構成上取り得る範囲内で、学習データの情報が不足している範囲を特定する。（３）続いて、設定変更内容決定プログラム１１８０は、抽出したパラメータを、特定した範囲に設定するようにパラメータの値を決定し、パラメータの設定変更を行う。（４）設定を変更した状態で計算機システムを運用することにより、不足していた学習データを取得することができる。【００２２】
図２は、実施例１に係る計算機システムの一例の構成図である。本実施例に係る計算機システムは、１台以上の管理サーバ１０００、１台以上のストレージ装置２０００、及び１台以上のサーバ３０００を備える。サーバ３０００及びストレージ装置２０００は、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）４０００を介して互いに接続される。ＳＡＮの具体例としてファイバチャネルがある。管理サーバ１０００、ストレージ装置２０００、およびサーバ３０００は、管理用ネットワーク５０００を介して互いに接続される。【００２３】
管理サーバ１０００は、メモリ１１００、通信デバイス１２００、プロセッサ１３００、出力デバイス１４００、入力デバイス１５００、および記憶デバイス１６００を備えている。これらは管理サーバ１０００内の内部バス１７００を介して互いに接続される。【００２４】
メモリ１１００には、関連情報テーブル１１１０、性能履歴情報テーブル１１２０、構成情報テーブル１１３０、予測式元情報テーブル１１４０、予測式テーブル１１５０、情報収集プログラム１１６０、予測式生成プログラム１１７０、設定変更内容決定プログラム１１８０、構成変更プログラム１１９０が格納される。【００２５】
通信デバイス１２００は、管理サーバ１０００を管理用ネットワーク５０００に接続するためのデバイスである。管理サーバ１０００は、管理用ネットワーク５０００を通して、サーバ３０００上で動作するプログラムと通信できる。プロセッサ１３００は、メモリ１１００上に展開されている各種プログラムを実行する。出力デバイス１４００は、管理サーバ１０００が実行した処理結果を出力するデバイスであり、例えばディスプレイ等である。入力デバイス１５００は、管理者が管理サーバ１０００に指示を入力するためのデバイスであり、例えばキーボード等である。記憶デバイス１６００は、情報を格納するＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等である。【００２６】
なお、図２に示す例では、各種プログラム及びテーブルは、メモリ１１００に格納されているが、記憶デバイス１６００または他の記憶媒体（図示しない）に格納されても良い。この場合、プロセッサ１３００は、プログラム実行時にメモリ１１００上に対象のプログラムを読みだし、読みだしたプログラムを実行する。【００２７】
また、ストレージ装置２０００のメモリ２１００に、前述のプログラム及びテーブルが格納され、ストレージ装置２０００または物理サーバ３０００が、格納されたプログラムを実行しても良い。また、他のサーバ３０００またはスイッチ（図示しない）等の他の装置が、前述のプログラム及びテーブルを格納し、実行しても良い。【００２８】
ストレージ装置２０００は、メモリ２１００、論理ボリューム提供部２２００、ディスクＩ／Ｆコントローラ２３００、管理Ｉ／Ｆ  ２４００、プロセッサ２５００、及びデータＩ／Ｆ  ２６００を備えている。これらはストレージ装置２０００内の内部バス等の通信路２７００を介して接続される。メモリ２１００は、ディスクキャッシュ２１１０を有する。また、メモリ２１００は、構成性能情報収集プログラム２１２０を格納する。ディスクキャッシュ２１１０は、情報を一時格納するための記憶領域である。構成性能情報収集プログラム２１２０は、ストレージ装置２０００の管理情報及び性能情報等を管理サーバ１０００との間で送受信するためのプログラムである。構成変更プログラム２１３０は、管理サーバ１０００の構成変更プログラム１１９０から呼び出され、ストレージ装置２０００の構成変更をおこなうためのプログラムである。【００２９】
論理ボリューム提供部２２００は、物理領域２２３０によって構成されるディスクプール２２２０を備え、ディスクプール２２２０の記憶領域を論理的に分割し、当該論理的に分割された記憶領域をボリューム２２１０として提供する。ここで物理領域２２３０は、物理ディスクや複数の物理ディスクから構成されるパリティグループなどである。当該ストレージ装置２０００外の装置からはボリューム２２１０経由で物理領域にアクセスすることが可能である。【００３０】
なお、物理領域２２３０には物理領域番号が付され、ディスクプール２２２０にはディスクプール番号が付され、ボリューム２２１０にはボリューム番号が付される。これによって、ストレージ装置２０００は、物理領域２２３０、ディスクプール２２２０及びボリューム２２１０をそれぞれ一意に識別することができる。【００３１】
図２に示す例では、１つの物理領域（パリティグループＰＧ１）から構成されるディスクプール２２２０（ＰＯＯＬ１）が論理的に分割され、１つのボリューム２２１０（Ｖｏｌ１）がストレージ装置２０００外の装置、例えばサーバ３０００に提供される。【００３２】
ディスクＩ／Ｆコントローラ２３００は、論理ボリューム提供部２２００に接続するためのインタフェースデバイスである。管理Ｉ／Ｆ  ２４００は管理用ネットワーク５０００に接続するためのインタフェースデバイスである。プロセッサ２５００は、メモリ２１００上に展開されたプログラムを実行する。【００３３】
データＩ／Ｆ２６００は、ＳＡＮ４０００に接続するためのインタフェースデバイスである。図２示す例では、構成性能情報収集プログラム２１２０は、及び構成変更プログラム２１３０はメモリ２１００に格納されているが、他の記憶装置（図示しない）または、他の記憶媒体（図示しない）に格納されても良い。この場合、プロセッサ２５００は、処理実行時にメモリ２１００上に構成性能情報収集プログラム２１２０及び構成変更プログラム２１３０を読みだし、読みだしたプログラムを実行する。【００３４】
また、論理ボリューム提供部２２００は、１つのディスクプール２２２０の全記憶領域を１つのボリューム２２１０として作成しても良い。また、論理ボリューム提供部２２００は、物理領域２２３０としてパリティグループ以外、例えば物理ディスクそのものや、フラッシュメモリ等の記憶媒体でも良い。【００３５】
サーバ３０００は、メモリ３１００、データＩ／Ｆ  ３２００、プロセッサ３３００、及び管理Ｉ／Ｆ  ３４００を備えた物理サーバである。これらはサーバ３０００の内部バス等の通信路３５００を介して互いに接続される。【００３６】
メモリ３１００は、構成情報収集プログラム３１１０、業務プログラム３１２０、構成変更プログラム３１３０を格納する。構成情報収集プログラム３１１０は、サーバ３０００の管理情報、性能情報等を管理サーバ１０００との間で送受信するためのプログラムである。業務プログラム３１２０は、３０００が実行する業務を実現するためのプログラムであり、例えば、ＤＢＭＳ（Ｄａｔａ  Ｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）やファイルシステム等である。構成変更プログラム３１３０は、管理サーバ１０００の構成変更プログラム１１９０から予備だされ、サーバ３０００の構成変更をおこなうためのプログラムである。【００３７】
サーバ３０００は、ストレージ装置２０００から提供されたボリューム２２１０を用いて、各種業務を実行する。図２に示す例では、各種プログラムはメモリ３１００上に格納されているが、他の記憶装置（図示しない）に格納されていても良い。この場合、プロセッサ３３００は、処理実行時にメモリ３１００上の対象のプログラムを読みだし、読みだしたプログラムを実行する。図２に示す例では、サーバＡとストレージ装置Ａとは、ＳＡＮ４０００を介して互いに接続される。ストレージ装置２０００と物理サーバ３０００との間の接続は、ファイバチャネルを介して直接接続されるものに限定されず、１台以上のファイバチャネルスイッチ等のネットワーク機器を介して接続されても良い。また、ストレージ装置２０００と物理サーバ３０００との間の接続は、データ通信用のネットワークであれば良く、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークでも良い。【００３８】
図３は、実施例１に係る関連情報テーブルの一例を示す図である。関連情報テーブルには、その性能を目的情報とする管理対象オブジェクトと、それに論理的に関連づけられた管理対象オブジェクトとを示す関連情報が格納される。オブジェクトは計算機システムの構成要素である。なお、構成要素には、物理的に存在する構成要素と、論理的に定義された構成要素が含まれる。一例として、関連情報テーブル１１１０は、サーバ３０００上で動作している業務プログラム３１２０から、サーバ３０００が使用しているボリュームを構成する物理領域までのＩ／Ｏ（入出力）経路上に存在する物理／仮想の装置、デバイスを示す情報、すなわち、Ｉ／Ｏ経路に基づく装置及びデバイスの論理的な関係を示す情報を管理する。ここで、論理的な関係は、「ボリューム」と「ボリュームを構成するプール」、「ボリューム」と「ボリュームへのＩ／Ｏ処理を担当するプロセッサ」、「ボリューム」と「ボリュームへのＩ／Ｏを一時的に格納するキャッシュ」など、設定に基づいて格納される。【００３９】
関連情報テーブル１１１０には、装置ＩＤ  １１１１、ボリュームＩＤ  １１１２、プロセッサＩＤ  １１１３、キャッシュＩＤ  １１１４、プールＩＤ  １１１５、物理領域ＩＤ  １１１６のフィールドがある。【００４０】
装置ＩＤ  １１１１にはストレージ２０００を一意に識別するための識別子が格納される。ボリュームＩＤ  １１１２には、ボリューム２２１０を一意に識別するための識別子が格納される。プロセッサＩＤ  １１１３には、ボリュームＩＤ  １１１２で示されるボリュームへの処理を担当するプロセッサ２５００の識別子が格納される。キャッシュＩＤ  １１１４には、ボリュームＩＤ  １１１２で示されるボリュームへの処理がキャッシュされるディスクキャッシュ２１１０を一意に示す識別子が格納される。プールＩＤ  １１１５には、ボリューム２２１０が作成されているディスクプール２２２０を一意に識別するための識別子が格納される。物理領域ＩＤ  １１１６には、ディスクプールを構成する物理領域２２３０、例えばパリティグループやディスク等を一意に識別するための識別子が格納される。以上の各カラムのフィールドには計算機システムから収集された情報が格納される。情報の収集および格納の方法は特に限定されない。【００４１】
ここで、本実施例に係る関連情報テーブル１１１０は、装置ＩＤ  １１１１とボリュームＩＤ  １１１２とボリュームに係る管理対象オブジェクトとして、プロセッサ２５００、ディスクキャッシュ２１１０、ディスクプール２２２０、物理領域２２３０の情報を含んでいるが、本発明がこれに限定されることは無い。ＩＴシステムにおける如何なる管理対象オブジェクトであっても同様に扱うことができる。【００４２】
他の例として、業務アクセスの際に利用される管理対象オブジェクトである、サーバ３０００のマウントポイントをサーバ内で一意に識別するためのドライブ、サーバ３０００がボリュームＩＤ  １１３６によって示されるボリューム２２１０にアクセスする際に利用されるサーバ３０００のデータＩ／Ｆ  ３２００を一意に識別するためのサーバデータＩ／Ｆ、などの物理、仮想含むその他の管理対象オブジェクトを識別するための識別子などが格納されても良い。【００４３】
また、スイッチのデータＩ／Ｆ等の情報を含んでもよく、また、業務サーバであるサーバ３０００上の業務プログラム（ＤＢＭＳ等）の情報等を関連付けて格納してもよい。また、業務プログラムの実行する処理単位の情報等を関連付けて格納しても良く、例えば、業務プログラムにおける処理Ａと、当該処理の実行に利用されるサーバ、当該サーバのＣＰＵ、メモリなどを関連付けて格納しても良い。【００４４】
図４は、実施例１に係る性能履歴情報テーブル１１２０の一例を示す図である。性能履歴情報テーブル１１２０計算機システムの運用により各管理対象オブジェクトから取得された性能の履歴が格納される。性能履歴情報テーブル１１２０は、管理対象オブジェクトの性能、例えばストレージ装置２０００におけるボリューム２２１０、ディスクプール２２２０等に関する性能の情報を管理する。性能履歴情報テーブル１１２０にはエントリを追加するができる。【００４５】
性能履歴情報テーブル１１２０は、時刻１１２１、装置ＩＤ  １１２２、デバイスＩＤ  １１２３、メトリック１１２４、性能値１１２５のフィールドを含む。【００４６】
時刻１１２１には、情報を管理対象オブジェクトから収集した日時のデータが格納される。装置ＩＤ  １１２２には、装置を一意に特定する識別子（装置ＩＤ）が格納される。デバイスＩＤ  １１２３には、性能情報の取得対象となるデバイスを一意に特定するための識別子（デバイスＩＤ）が格納される。【００４７】
メトリック１１２４には、ＣＰＵ使用率、記憶装置に対する単位時間（例えば１秒）あたりのＩ／Ｏ回数（ＩＯＰＳ）、リクエストに対するレスポンスの時間等の、性能情報の種類を示す情報が格納される。性能値１１２５には、デバイスＩＤ  １１２３によって示されたデバイスの、メトリック１１２４によって示された種類の性能情報の値が、デバイスを含む装置から取得されて格納される。【００４８】
ここで、図４に示す性能履歴情報テーブル１１２０では、装置ＩＤ  １１２２とデバイスＩＤ  １１２３によって示される、性能情報の取得対象のデバイスとして、ストレージのボリューム２２１０、プロセッサ２５００、ディスクキャッシュ２１１０をあげたが、これらに限定されない。ＶＭ（図示しない）、ストレージのデータＩ／Ｆ  ２６００、サーバのデータＩ／Ｆ  ３２００や、スイッチやスイッチのポート（図示しない）等でもよい。【００４９】
また、図４には、メトリックの一例として、リクエストに対する応答性能、ＣＰＵ使用率、キャッシュ使用率、ＩＯＰＳ、リクエストに対するレスポンスの時間等を示したが、これらに限定されることはない。Ｉ／Ｏビジー率、転送レート、スループット、データベース管理ソフトのバッファヒット率、挿入、更新、あるいは削除されたレコード数、Ｗｅｂサーバのレスポンスの時間、ファイルシステムあるいはディスクの空き容量あるいは利用率、入出力データ量、ネットワークインタフェースのエラー回数、バッファのオーバーフロー、及びフレームのエラー等の他の性能指標がメトリックとして用いられてもよい。【００５０】
図５Ａ、図５Ｂ、図５Ｃは、実施例１に係る構成情報テーブル１１３０の一例を示す図である。図５Ａ、図５Ｂには、後述する図１０のステップ３０１における構成変更プログラム１１９０による操作実行前の状態が示されている。図５Ｃには、図１０のステップ３０１における構成変更プログラム１１９０による操作実行後の状態が示されている。【００５１】
構成情報テーブル１１３０には、管理対象オブジェクトの構成情報が格納される。例えば、管理対象オブジェクトであるストレージ装置２０００についての構成情報であるディスクキャッシュ２１１０のキャッシュサイズが格納される。また、物理領域（パリティグループ）２２３０のディスク構成が格納される。構成情報テーブル１１３０には一般的な手段によりエントリが追加される。【００５２】
構成情報テーブル１１３０には、装置ＩＤ  １１３１、デバイスＩＤ  １１３２、メトリック１１３３、値１１３４のフィールドが含まれている。装置ＩＤ  １１３１には装置を一意に特定するための識別子が格納される。デバイスＩＤ  １１３２には、構成情報の取得対象となるデバイスを一意に特定するための識別子が格納される。メトリック１１３３には、記憶容量や処理能力など構成情報の種類を示す情報が格納される。値１１３４には、デバイスＩＤ  １１３２によって示されたデバイスの、メトリック１１３３によって示された種類の構成情報についての値が格納される。この値はデバイスを含む装置から取得されたものである。【００５３】
ここで、図５Ａ〜図５Ｃに示す構成情報テーブル１１３０において装置ＩＤ  １１３１およびデバイスＩＤ  １１３２によって示されているデバイスが構成情報を取得する対象となる。ここでは、構成情報の取得対象のデバイスとして、ストレージ２０００のディスクキャッシュ２１１０（Ｃａｃｈｅ１）、物理領域２２３０（ＰＧ１、ＰＧ５）をあげたが、これらに限定されることはない。その他の管理対象オブジェクトの構成情報を保持しても良い。また、ここではメトリックの一例として、キャッシュのサイズ、パリティグループのＲＡＩＤレベル、およびディスク種別を挙げたが、これに限定されない。【００５４】
図６は、実施例１に係る予測式元情報テーブル１１４０の一例を示す図である。予測式元情報テーブル１１４０は、予測式を生成するための元になる情報を管理するためのテーブルである。予測式元情報テーブル１１４０には、予測したい管理対象オブジェクトおよびそのパラメータと、その予測したい管理対象オブジェクトとＩ／Ｏパス上において関連を持つ他の管理対象オブジェクトおよびそのパラメータとが管理される。予測したい管理対象オブジェクトおよびそのパラメータが予測式の目的情報となり、関連する管理対象オブジェクトおよびそのパラメータが説明情報となる。【００５５】
予測式元情報テーブル１１４０には、時刻情報１１４１、目的情報１１４１１、および関連情報１１４１２のフィールドが含まれる。時刻情報１１４１には、情報を管理対象オブジェクトから収集した日時のデータが格納される。目的情報１１４１１には、予測したい管理対象オブジェクト識別情報と、当該管理対象オブジェクトのパラメータの値が格納される。関連情報１１４１２には、予測したい管理対象オブジェクトとＩ／Ｏパス上において関連を持つ、他管理対象オブジェクトのパラメータの値の情報が格納される。本実施例では、目的情報１１４１１として、装置ＩＤ  １１４２、ボリュームＩＤ  １１４３、およびボリューム応答性能１１４４が格納される。関連情報１１４１２には、Ｐｒｏｃｅｓｓｏｒ  Ｂｕｓｙ１１４５、Ｃａｃｈｅ  Ｕｓａｇｅ１１４６、Ｃａｃｈｅ  Ｓｉｚｅ１１４７、Ｐｏｏｌ  Ｂｕｓｙ１１４８、ＰＧ数１１４９のフィールドが含まれている。【００５６】
装置ＩＤ  １１４２には、装置を一意に特定する識別子（装置ＩＤ）が格納される。ボリュームＩＤ  １１４３には、管理対象オブジェクトを一意に特定するための識別子が格納される。ボリューム応答性能１１４４には、ボリュームでのＩ／Ｏ要求受信から処理完了までにかかる時間情報が格納される。ここでは、目的情報１１４１１の一例としてボリュームの応答性能を挙げ、関連情報の一例として、Ｐｒｏｃｅｓｓｏｒ  Ｂｕｓｙ１１４５、Ｃａｃｈｅ  Ｕｓａｇｅ１１４６等を挙げたが、これに限定されない。【００５７】
図６に示したテーブルに格納されている値および情報のうち、時刻情報１１４１が１０：０１の情報および１０：０２の情報は、後述する図１０のステップ３０１における構成変更プログラム１１９０による操作実行前の状態を示し、時刻情報１１４１が１５：１０の情報および１５：１１の情報は、図１０のステップ３０１における構成変更プログラム１１９０による操作実行後の状態を示す。【００５８】
図７は、実施例１に係る予測式テーブル１１５０の一例を示す図である。予測式テーブル１１５０は、予測式を表す情報を管理するためのテーブルである。予測式テーブル１１５０には、予測式で用いられるメトリック、及び各メトリックにかかる係数などが格納される。予測式ｈ、具体的には、目的情報＝説明情報１＋説明情報２＋説明情報３＋説明情報４・・・と表すことができる。より具体的には、ストレージＡのボリューム１の応答性能＝係数１×Ｐｒｏｃｅｓｓｏｒ  Ｂｕｓｙ＋係数２×Ｃａｃｈｅ  Ｓｉｚｅ＋係数３×Ｐｏｏｌ  Ｂｕｓｙ＋係数４×ＰＧ数という学習により得られる関数の情報である。【００５９】
予測式テーブル１１５０は、目的情報１１５１１と説明情報１１５１２のフィールドを含む。目的情報１１５１１には、予測したい管理対象オブジェクトの識別情報と、当該管理対象オブジェクトのパラメータの値が格納される。説明情報１１５１２には、予測したい管理対象オブジェクトのパラメータの値を説明可能なその他管理対象オブジェクトのパラメータおよびその値の情報が格納される。本実施例には、目的情報１１５１１として、装置ＩＤ１１５１、デバイスＩＤ１１５２、メトリック１１５３が管理され、説明情報１１５１２として、Ｐｒｏｃｅｓｓｏｒ  Ｂｕｓｙ１１５４、Ｃａｃｈｅ  Ｓｉｚｅ１１５５、Ｐｏｏｌ  Ｂｕｓｙ１１５６、ＰＧ数１１５７、及び各メトリックに対する係数を表すフィールドを含む。ここでは、目的情報１１４１１の一例としてボリュームの応答性能を、関連情報の一例として、Ｐｒｏｃｅｓｓｏｒ  Ｂｕｓｙ１１５４、Ｃａｃｈｅ  Ｓｉｚｅ１１５５等を挙げたが、これに限定されない。【００６０】
また、ここでは予測式は線形関係を表す式であるものとし、予測式テーブル１１５０は、データに最も良くあてはまる線形関係を特定するための回帰分析の式を表すものとしたが、これに限定されない。他の例として、予測式は多項式であるものとし、予測式テーブル１１５０は多項式を表す情報を管理することにしても良い。【００６１】
次に、管理サーバ１０００が実行する各処理について説明する。【００６２】
図８は、実施例１に係わる予測式を生成する処理のフローチャートである。予測式の生成とは、各オブジェクトにおける各種情報を学習データとして収集し、学習することで、目的とする要素とそれ以外の要素との関連について、学習データに最も良くあてはまる関数を特定することである。本予測式生成処理は、管理サーバ１０００のプロセッサ１３００が、メモリ１１００上に展開された予測式生成プログラム１１７０を実行することによっておこなわれる。以下、本フローチャートの具体例を示す。【００６３】
まず、予測式生成プログラム１１７０は、図３に例示した関連情報テーブル１１１０を参照し、予測式生成対象とする構成要素と、それに関連する構成要素とを特定する（ステップ１０１）。ここで、予測式生成対象の構成要素は、ユーザにより選択される、あるいは予測式生成プログラムにより自動的に選定される（例えば全てのボリューム応答性能について実行するなど）など、どのような方法によって選択され、指定されても良い。また、予測式生成プログラム１１７０が起動するタイミングは、定期的な実行、ユーザが指定した任意のタイミングで実行など任意である。【００６４】
ここでは具体例として、ユーザによりボリュームＩＤ“Ｖｏｌ１”で表されるボリュームが予測式を生成する対象として選択されたとする。この場合、予測式生成プログラム１１７０は、図３の関連情報テーブル１１１０に格納されている情報から、Ｖｏｌ１（Ｖｏｌｕｍｅ１）に関連する構成要素として、Ｐｒｏｃｅｓｓｏｒ１、Ｃａｃｈｅ１、Ｐｏｏｌ１、およびＰＧ１が特定される。【００６５】
図８に戻り、次に、予測式生成プログラム１１７０は、図４に例示した性能履歴情報テーブル１１２０を参照し、予測式を生成する対象の構成要素、及び、それに関連するものとして、ステップ１０１で特定した構成要素の性能履歴情報を取得する（ステップ１０２）。例えば、時刻１０：０１に取得されたＶｏｌｕｍｅ１の応答時間が１０．２ｍｓｅｃ、Ｐｒｏｃｅｓｓｏｒ１の使用率（Ｂｕｓｙ％）が４０％、Ｃａｃｈｅ１の使用率（Ｕｓａｇｅ％）が８０％、Ｐｏｏｌ１の単位時間当たりのＩ／Ｏ回数が７００ＩＯＰＳで使用率（Ｂｕｓｙ％）が３５％であったという性能の情報が取得される。【００６６】
次に、予測式生成プログラム１１７０は、図５Ａ、図５Ｂに例示した構成情報テーブル１１３０を参照し、予測式生成対象の構成要素、およびステップ１０１で特定した構成要素の構成情報を取得する（ステップ１０３）。例えば、図５Ａからは、ストレージＡのＣａｃｈｅ１のサイズが８ＧＢであるという構成情報が取得される。また、図５Ｂから、例えば、ストレージＡの物理領域ＰＧ１のＲＡＩＤレベルがＲＡＩＤ５（３Ｄ＋１Ｐ）である等の構成情報が取得される。【００６７】
次に、予測式生成プログラム１１７０は、ステップ１０２およびステップ１０３で取得した予測式生成に関連する情報を、図６に例示した予測式元情報テーブル１１４０に格納する（ステップ１０４）。図６を参照すると、Ｖｏｌｕｍｅ１の予測式元情報テーブル１１４０に、例えば、時刻１０：０１に取得された性能情報が格納されている。【００６８】
最後に、予測式生成プログラム１１７０は、ステップ１０４で生成した予測式元情報テーブル１１４０の情報から予測式を生成し、図７に例示した予測式テーブル１１５０に格納する（ステップ１０５）。例えば、図７の予測式テーブル１１５０には、（ストレージＡのＶｏｌｕｍｅ１の応答性能）＝３３．７６（係数１）×プロセッサ使用率＋７．２７（係数２）×キャッシュサイズ＋５．１（係数３）×Ｐｏｏｌの使用率＋０．８０（係数４）×物理領域ＰＧ数という予測式が格納されている。【００６９】
ステップ１０５にて予測式を生成する手法は特に限定されず、回帰分析などの一般的な手法を含め、どのような手法であってもよい。回帰分析の場合、例えば、予測式元情報テーブル１１４０に示された関連情報１１４１２の全てを説明変数として設定した上で、目的情報との関連性の低い変数を説明変数から外していくなどの方法で予測式を生成すればよい。本実施例では、図６に示した予測式元情報テーブル１１４０に格納された関連情報のうちＣａｃｈｅ  Ｕｓａｇｅ１１４６は説明変数から外され、図７に示した予測式テーブル１１５０に格納された情報には含まれていない。【００７０】
図９は、実施例１に係わる学習データを取得するための設定変更内容を決定する処理のフローチャートである。本設定変更内容決定処理２００は、例えば、図８に示した予測式を生成する処理の後に実施される。本処理は、管理サーバ１０００のプロセッサ１３００が、メモリ１１００上に展開された設定変更内容決定プログラム１１８０を実行することによっておこなわれる。【００７１】
以下、本フローチャートの具体例を示す。【００７２】
はじめに、設定変更内容決定プログラム１１８０は、図７に例示した予測式テーブル１１５０における説明情報１１５１２のメトリックを抽出し、メトリックごとに以下の処理を実施する。【００７３】
まず、設定変更内容決定プログラム１１８０は、メトリックが構成情報テーブル１１３０に含まれているかどうかをチェックする（ステップ２０１）。メトリックが構成情報テーブル１１３０に含まれていない場合、設定変更内容決定プログラム１１８０は、予測式テーブル１１５０における次のメトリックに対する処理に進む。メトリックが構成情報テーブル１１３０に含まれている場合、設定変更内容決定プログラム１１８０は、メトリックの取り得る範囲の情報を取得する（ステップ２０２）。メトリックがストレージのキャッシュサイズの場合、例えば、ハードウェアスペック上、キャッシュサイズとして取り得る値の範囲の情報を取得する。例えば、キャッシュサイズが１ＧＢ〜７２ＧＢの範囲であるといった情報が取得される。また、メトリックがストレージのパリティグループの場合、ＲＡＩＤレベルの範囲の情報を取得する。例えば、取り得るＲＡＩＤレベルが、ＲＡＩＤ０（２Ｄ）、ＲＡＩＤ１（１Ｄ＋１Ｐ）、ＲＡＩＤ５（３Ｄ＋１Ｐ）であるといった情報が取得される。これらメトリックの取り得る範囲を取得する方法は特に限定されない。例えば、各メトリックの取り得る範囲の情報をあらかじめテーブル（図示しない）に格納しておき、設定変更内容決定プログラム１１８０が適宜そのテーブルから必要な情報を取得することにしてもよい。あるいは、設定変更内容決定プログラム１１８０がストレージなどのハードウェアに要求を出して取得することにしてもよい。【００７４】
次に、設定変更内容決定プログラム１１８０は、ステップ２０２で取得した範囲の中で、データの不足している定義域を探索する（ステップ２０３）。次に、データの不足している定義域が存在するかどうかを判定し（ステップ２０４）、存在しない場合、予測式テーブル１１５０における次のメトリックに対する処理に進む。ステップ２０４において不足している定義域が存在する場合、設定変更内容決定プログラム１１８０は、不足している定義域のデータの取得が可能となる設定変更操作のためのパラメータを生成する（ステップ２０５）。【００７５】
例えば、メトリックであるキャッシュサイズに着目すると、図６に示した予測式元情報テーブル１１４０のＣａｃｈｅ  Ｓｉｚｅ１１４７として８ＧＢ設定時以外のデータが存在しないとする。その場合、設定変更内容決定プログラム１１８０は、８ＧＢ以外に設定したときのデータを取得しようと試みる。例えば、設定変更内容決定プログラム１１８０は、キャッシュサイズを１６ＧＢに設定変更するパラメータを生成する。【００７６】
ここで、設定変更内容決定プログラム１１８０は、ステップ２０５で生成したパラメータの設定を変更した場合に、ＳＬＡ（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ）を満たすかどうかチェックし、変更後のパラメータがＳＬＡを満たさなくなる場合にはそのパラメータの設定範囲から除外するなどしても良い。例えば、キャッシュサイズの８ＧＢを４ＧＢに変更した場合に、ボリュームの性能や、そのボリュームを利用するサーバ３０００上で動作している業務アプリケーションの性能として、あらかじめ定められた要件（応答時間１秒以内など）を満たさなくなる場合には、パラメータの設定を４ＧＢへ変更することを実施しないことにしてもよい。【００７７】
次に、設定変更内容決定プログラム１１８０は、学習データ取得用設定変更処理を実行する（ステップ２０６）。ステップ２０６については図１０を参照して詳細に説明する。【００７８】
図１０は、学習データ取得用設定変更を実行する処理のフローチャートである。本学習データ取得要設定変更処理３００（図９の学習データ取得要設定変更処理２０６）は、管理サーバ１０００のプロセッサ１３００が、メモリ１１００上に展開された設定変更内容決定プログラム１１８０を実行することによっておこなわれる。以下、本フローチャートの具体例を示す。【００７９】
まず、設定変更内容決定プログラム１１８０は、構成変更プログラム１１９０に設定変更の操作実行を要求し、実行結果を取得する（ステップ３０１）。次に、設定変更内容決定プログラム１１８０は、予測式元情報テーブル１１４０に新規時刻のエントリが追加されたかどうかを確認する（ステップ３０２）。【００８０】
新規時刻のエントリが追加されている場合、設定変更内容決定プログラム１１８０は、予測式元情報テーブル１１４０における対象定義域の取得データ数を取得し（ステップ３０３）、データを十分に取得できたかどうかをチェックする（ステップ３０４）。【００８１】
ここで、学習データが十分に取得できたかどうかの判定に、あらかじめデータ数の閾値を設定しておく、予測式テーブルに示す説明情報の個数を閾値として設定しておくなど、どのような方法にておいても良い。学習データを十分に取得できている場合には、設定変更内容決定プログラム１１８０は、次のステップ３０５へ進む。学習データを十分に取得できていない場合には、設定変更内容決定プログラム１１８０は、ステップ３０２から再び処理を実行する。【００８２】
ステップ３０５では、設定変更内容決定プログラム１１８０は、ステップ３０１実行前に戻す設定変更操作の実行を構成変更プログラム１１９０に要求し、実行結果を取得する。ステップ３０１、ステップ３０５において要求した設定変更操作が成功しなかった場合は、本処理を中断する。【００８３】
図１０を実行して十分な学習データを取得した後に、図８に示した予測式生成処理１００を実行することで、新しい構成において、学習データの不足が無い状態の予測式元情報テーブル１１４０から、高い精度の予測式を示す予測式テーブル１１５０を生成することができる。【００８４】
本実施例では、図９に示した設定変更内容決定処理２００のステップ２０１〜ステップ２０４において、構成上取り得る範囲からデータが不足している定義域を全て抽出し、その後、図１０に示した学習データ取得用設定変更処理により、データが不足している定義域のデータを取得し、更にその後、図８に示した予測式生成処理１００で予測式を生成している。しかし、これに限定されることはない。他の例として、データが不足している定義域を１つ抽出するごとにその定義域のデータを取得しデータが取得できたらその段階で予測式を生成するという処理を、データが不足している定義域の個数だけ繰り返すことにしてもよい。【００８５】
具体例を示す。ここではキャッシュサイズの取り得る範囲が１ＧＢから７２ＧＢであるとする。例えば、キャッシュサイズの取り得る範囲のうちデータが不足している定義域を例えば１ＧＢ単位で抽出し、抽出した全ての定義域のデータを取得しきってから予測式を生成してもよい。あるいは他の例として、１ＧＢ単位で抽出したデータが不足している各定義域について、データを取得して予測式を生成し次の定義域に進むという処理を繰り返すことにしてもよい。【００８６】
また、本実施例では、図９に示した設定変更内容決定処理２００において、予測式テーブル１１５０に含まれる項目のうち、構成情報テーブル１１３０に含まれている全ての項目に対して、データが不足している定義域を抽出した後、学習データ取得用設定変更処理２０６を実行している。そのため、予測式テーブル１１５０および構成情報テーブル１１３０に含まれる全ての項目についてデータを収集した後に予測式を生成することとなる。しかし、これに限定されることは無い。他の例として、予測式テーブル１１５０および構成情報テーブル１１３０に含まれる１つの項目に対して学習データ取得用設定変更処理および予測式生成処理を実行して次の項目に進むという処理を繰り返すことにしてもよい。【００８７】
以上、本実施例によれば、計算機システムが構成上取り得る範囲において不足している学習データを予め能動的に収集しておくことにより、構成変更が行われたとき早期に精度の高い予測式を得ることができ、学習時間を短縮し、構成変更後すぐに機械学習技術に基づく効率の良い管理を実施可能とする。【００８８】
例えば、関数を予兆監視に利用する場合、構成変更直後や新規構築された構成であっても、ＩＴシステムから取得した実測値が、関数で示される関係とかけ離れている場合、ＩＴシステムに問題が発生したと判断することが可能となる。【００８９】
また、関数を障害原因切り分けに利用する場合、構成変更直後や新規構築された構成であっても、ＩＴシステムから取得した実測値が、関数で示される関係とかけ離れている場合、各説明情報の中で最も変動幅が大きい説明情報に問題が発生した可能性が高いとして、根本原因と判断することが可能となる。また、これにより、障害発生時に即座に根本原因特定を自動でおこなうことが可能となる。【００９０】
また、関数をＷｈａｔ−ｉｆ分析に利用する場合、構成変更直後や新規構築された構成であっても、試行したい値を関数に代入することによって、代入した値の状況での、関数に現れる他のメトリックの値をシミュレートすることが可能となる。【００９１】
このように、本発明により、構成変更直後や新規構築された構成であっても、障害発生、あるいは管理要件を満たせなくなるなどの未然防止や、障害発生時の迅速な障害回復といった効果を得ることが可能となる。本発明は、前述の各種クラウド形態にも適用可能であり、管理ソフトのＳａａＳや運用管理業務をサービスとして請け負う形態においても適用可能である。
【実施例２】
【００９２】
実施例２に係る計算機システムは基本的には実施例１のものと同様の構成を有し、同様の動作を行う。ただし、実施例２は、目的情報に関連する関連情報だけでなく、目的情報が対象とする業務と類似する特性を有する業務の計算機システムにおいて取得された情報を予測式の生成に利用する点で実施例１と異なる。【００９３】
図１１は、実施例２に係る業務特性管理テーブル１８００の一例を示す図である。業務特性管理テーブル１８００は、業務単位の業務特性情報を管理する。【００９４】
業務特性管理テーブル１８００には、業務単位１８０１１と業務特性１８０１２のデータが格納される。本実施例では、業務単位をボリュームに対応づけ、業務特性として、各業務についてＩ／Ｏ回数および各Ｉ／Ｏパタンの割合などＩ／Ｏに関する情報を管理している例を示している。図１１を参照すると、業務特性管理テーブル１８００には業務単位１８０１１と業務特性１８０１２のフィールドが対応づけられている。業務単位１８０１１にはボリュームＩＤ１８０１が含まれている。業務特性１８０１２には、Ｉ／Ｏ数１８０２、Ｉ／Ｏ増減率１８０３、高頻度のアクセス１８０４、Ｉ／Ｏパタン１８０５のフィールドが含まれている。【００９５】
ボリュームＩＤ１８０１には、ボリューム２２１０を一意に識別するための識別子が格納される。Ｉ／Ｏ数１８０２には、Ｉ／Ｏ数が記録される。例えば、前月のＩＯＰＳの平均値や中間値などを記録する。Ｉ／Ｏ増減率１８０３には、過去一定期間にＩＯＰＳがどれだけ変化したかの割合を記録する。例えば、半年間あるいは１年間において、ＩＯＰＳの１か月の平均を算出し、各月の平均値の前月の平均値に対する増減率を算出する。Ｉ／Ｏパタン１８０５には、Ｒａｎｄｏｍ  Ｒｅａｄ、Ｒａｎｄｏｍ  Ｗｒｉｔｅ、Ｓｅｑｕｅｎｔｉａｌ  Ｒｅａｄ、Ｓｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅの各Ｉ／Ｏパタンの発生割合が記録される。その中で最も割合が高かったＩ／Ｏパタンが高頻度のアクセス１８０４に記録される。なお、ここでは業務単位がボリュームに対応する例を挙げたが、これに限定されない。他の例として、業務単位をＶＭにしてもよく、サーバ３０００上の業務プログラムにしてもよく、あるいは業務プログラムの実行する処理単位の情報などにしても良い。【００９６】
図１２は、実施例２に係る学習用データ共有を実行する処理のフローチャートである。本学習要データ共有処理４００は、実施例１における図８の予測式生成処理１００のステップ１０５に相当する実施例２における処理である。本処理は、管理サーバ１０００のプロセッサ１３００が、メモリ１１００上に展開された予測式生成プログラム１１７０を実行することによっておこなわれる。以下、本フローチャートの具体例を示す。【００９７】
予測式生成プログラム１１７０は、まず、業務特性管理テーブル１８００の情報を取得する（ステップ４０１）。次に、予測式生成プログラム１１７０は、予測式を生成する対象の業務と類似する類似業務で利用されている予測式生成対象の構成要素が存在するか否かをチェックする（ステップ４０２）。ここで、類似業務で利用しているかどうかの判定には、ステップ４０１で取得した業務特性管理テーブル１８００の情報が利用される。類似する業務を予めグループ化しておき、同じグループに属する業務で利用されている構成要素の有無をチェックすればよい。【００９８】
グループ化の例として、高頻度アクセス情報が同一な業務を業務類似グループとしてもよい。あるいは、Ｉ／Ｏ増減率に関して、５％以上の減少率、プラスマイナス５％以内の増減率、５％以上の増加率等をそれぞれ業務類似グループとすることにしてもよい。あるいは、ｋ平均法を用いて、業務をいくつのグループに分類しておいてもよい。あるいは、予めグループ数を入力しておきソノグループ数に適切にグループ分けすることにしてもよい。あるいは、上記グループ分けの方法を組み合わせて業務をグループ化してもよい。このようにグループ分けはどのような方法によっても良く、特に限定されない。【００９９】
図１１に例示した業務特性管理テーブル１８００の場合、Ｖｏｌｕｍｅ１とＶｏｌｕｍｅ３は高頻度アクセス１８０４が「ＲＷ」で同一であり、Ｉ／Ｏ増減率１８０３が「５％以上」で同一であり、かつＩ／Ｏ数１８０２が「１００００以上」で同一である。Ｖｏｌｕｍｅ１とＶｏｌｕｍｅ３が同じ業務類似グループと判断されるように業務をグループ化をしておいてもよい。【０１００】
ステップ４０２において、類似業務で利用している構成要素が存在する場合、予測式生成プログラム１１７０は、類似業務で利用している各構成要素の予測式元情報テーブル１１４０の情報を利用して予測式を生成し、予測式テーブル１１５０に格納する（ステップ４０３）。ステップ４０２において、類似業務で利用している構成要素が存在しない場合、予測式生成プログラム１１７０は、構成要素単位で予測式元情報テーブルの情報から、予測式を生成し、予測式テーブルに格納する（ステップ４０４）。【０１０１】
以上のように、業務の類似しているグループ間で学習データを共有することで、学習時間を短縮し、迅速に機械学習技術に基づく精度の高い効率の管理を実施可能とする。例えば、新しく環境を作成する場合に、通常であれば長期間、例えば数カ月にわたる性能情報および容量情報などの各種履歴情報を取得する必要がある。しかし、新たに作成する業務の環境に類似する環境の業務があれば、その類似業務グループのデータを活用し、短期間、例えば３日間で類似業務グループの判定をおこなうだけで、機械学習技術に基づく効率の良い管理を実施可能となる。また、図９に示した設定変更内容決定処理２００のステップ２０３においても、類似業務グループそれぞれで取ったことのある構成に基づき、不足している定義域を探索できるため、不足しているデータの収集にかかる時間を短縮することが可能となり、機械学習技術に基づく効率の良い管理を実施可能となる。【０１０２】
以上説明した各実施例による計算機システムは以下のような態様に整理することもできる。【０１０３】
（態様１）
対象システムが運用される間に前記対象システムの構成要素から学習データを取得する情報収集部と、前記学習データに基づいて前記対象システムの構成要素間の関係を目的情報と説明情報の関係により表現した予測式を生成する予測式生成部と、前記対象システムの構成を変更する設定内容を決定する設定変更内容決定部と、前記対象システムの構成を変更する構成変更部と、を有し、前記設定変更内容決定部が、前記対象システムの構成を変更する場合に取り得る前記構成要素の状態の範囲において、前記学習データが十分に取得されていない状態をデータ不足状態として抽出し、前記構成要素が前記データ不足状態となるように前記対象システムの構成を変更する設定内容を決定し、前記構成変更部が、前記決定された設定内容に従って前記対象システムの構成を変更し、前記情報収集部が、前記対象システムの前記構成要素から前記データ不足状態のときの学習データを取得する、学習データ処理装置。【０１０４】
将来の対象システムの構成変更時に不足となる学習データを、予め対象システムの構成を一時的に変更して取得しておくことができるので、実際に構成が変更されたときに生じる学習データの不足が低減され、機械学習の精度が早期に向上する。これを構成の変更が比較的頻繁に行われる対象システムにおける機械学習を適用した場合、構成が変更されたときに生じる機械学習の精度低下を抑制することができる。【０１０５】
（態様２）
前記設定変更内容決定部は、前記対象システムが取り得る前記構成要素の状態の範囲のうち、学習データが所定データ量以上に取得されていない構成を抽出し、該構成に相当する設定変更を決定する、態様１に記載の学習データ処理装置。【０１０６】
対象システムが取りうる構成のうち学習データが十分でない構成を一時的に設定し、学習データを収集しておくことが可能となり、対象システムの取り得る構成の学習データを網羅することができる。【０１０７】
（態様３）
前記設定変更内容決定部は、前記構成要素が前記データ不足状態となるように前記対象システムの構成を一時的に変更し、前記構成変更部が、前記決定された設定内容に従って前記対象システムの構成を変更し、前記情報収集部が、前記対象システムの前記構成要素から前記データ不足状態のときの学習データを取得して蓄積し、前記対象システムの構成が変更されたとき、前記予測式生成部は、前記構成要素が前記データ不足状態となる構成においては前記情報収集部により蓄積された学習データを用いて前記予測式を生成する、態様１に記載の学習データ処理装置。【０１０８】
対象システムの構成が変更されたとき、変更後の構成での学習データを予め取得しておきその変更後の構成での学習データで予測式を生成するので、構成が変更されたとき短期間で精度の高い予測式を得ることができる。【０１０９】
（請求項４）
前記予測式は、該予測式の対象となる構成要素である対象構成要素の性能を目的情報とし、前記対象構成要素と論理的に関連づけられた１つ以上の関連構成要素の性能を説明情報とし、前記目的情報を前記説明情報の関数で示すものであり、前記情報収集部は、前記対象システムの構成要素が発揮した性能を性能履歴情報として蓄積し、前記予測式生成部は、前記性能履歴情報を前記学習データとして前記関数を算出する、態様１に記載の学習データ処理装置。【０１１０】
測定して蓄積した性能履歴情報に基づいて予測式を生成するので、十分な性能履歴情報を蓄積しておくことにより、良好な予測式を生成することが可能になる。【０１１１】
（態様５）
前記目的情報がストレージにおけるボリュームの応答時間であり、前記説明情報には、前記ボリュームへのアクセスに用いられるプロセッサの使用率およびキャッシュのサイズが含まれる、態様４に記載の学習データ処理装置。【０１１２】
（態様６）
前記予測式は、前記目的情報を、前記説明情報と係数の積の和で示すものであり、前記予測式生成部は、前記性能履歴情報を前記学習データとして、前記関連構成要素毎の係数を算出する、態様４に記載の学習データ処理装置。【０１１３】
予測式を説明情報と係数の積和で表わし、その係数を算出するので、目的情報と説明情報の関係を示す関数を容易に算出することができる。【０１１４】
（態様７）
前記予測式生成部は、前記対象システムに対して所定の類似条件を満たす類似システムにて取得された学習データを用いて前記予測式を生成する、態様１に記載の学習データ処理装置。【０１１５】
対象システムに類似システムがある場合には類似システムの学習データを利用して予測式を生成するので、利用できる学習データを増やして構成変更後に早期の段階から精度の高い機械学習が可能となる。【０１１６】
（態様８）
前記目的情報が前記ストレージのボリュームの性能であり、前記類似条件は、前記ボリュームに対するランダムリード、ランダムライト、シーケンシャルリード、およびシーケンシャルライトを含むＩ／Ｏパタンの類似度合いで定められる、態様７に記載の学習データ処理装置。【０１１７】
Ｉ／Ｏパタンの類似度で類似判断を行うので、Ｉ／Ｏパタンが類似する業務で収集された学習データを他の業務の構成変更あるいは新規構築にて利用することが可能である。【０１１８】
（態様９）
前記設定変更内容決定部は、前記キャッシュサイズの取りうる範囲のうち、十分な学習データが得られていないサイズに変更することを決定する、態様５に記載の学習データ処理装置。【０１１９】
説明情報にキャッシュサイズがある場合、キャッシュサイズの取りうる範囲の学習データを予め網羅しておくことができるので、対象システムのキャッシュサイズを変更しても学習データ不足で予測式の精度を高く維持することができる。
【符号の説明】
【０１２０】
１０００…管理サーバ、１１００…メモリ、１１１０…関連情報テーブル、１１２０…性能履歴情報テーブル、１１２１…時刻、１１２４…メトリック、１１２５…性能値、１１３０…構成情報テーブル、１１３３…メトリック、１１３４…値、１１４０…予測式元情報テーブル、１１６０…情報収集プログラム、１１７０…予測式生成プログラム、１１８０…設定変更内容決定プログラム、１１９０…構成変更プログラム、１２００…通信デバイス、１３００…プロセッサ、１４００…出力デバイス、１５００…入力デバイス、１６００…記憶デバイス、１７００…内部バス、１８００…業務特性管理テーブル、２０００…ストレージ装置、２１００…メモリ、２１１０…ディスクキャッシュ、２１２０…構成性能情報収集プログラム、２１３０…構成変更プログラム、２２００…論理ボリューム提供部、２２１０…ボリューム、２２２０…ディスクプール、２２３０…物理領域、
２３００…ディスクＩ／Ｆコントローラ、２５００…プロセッサ、２６００…データＩ／Ｆ、２７００…通信路、３０００…サーバ、３１００…メモリ、３１１０…構成情報収集プログラム、３１２０…業務プログラム、３１３０…構成変更プログラム、３３００…プロセッサ、３５００…通信路、４０００…ＳＡＮ、５０００…管理用ネットワーク
【図１】
0006775022.tif 000002
【図２】
0006775022.tif 000003
【図３】
0006775022.tif 000004
【図４】
0006775022.tif 000005
【図５Ａ】
0006775022.tif 000006
【図５Ｂ】
0006775022.tif 000007
【図５Ｃ】
0006775022.tif 000008
【図６】
0006775022.tif 000009
【図７】
0006775022.tif 000010
【図８】
0006775022.tif 000011
【図９】
0006775022.tif 000012
【図１０】
0006775022.tif 000013
【図１１】
0006775022.tif 000014
【図１２】
0006775022.tif 000015