(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-04
(45)【発行日】2025-03-12
(54)【発明の名称】管理装置および管理方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20250305BHJP
G06F 11/34 20060101ALI20250305BHJP
【FI】
G06N20/00
G06F11/34 138
(21)【出願番号】P 2021073660
(22)【出願日】2021-04-23
【審査請求日】2024-03-07
(73)【特許権者】
【識別番号】524132520
【氏名又は名称】日立ヴァンタラ株式会社
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】河野 泰隆
【審査官】佐藤 直樹
(56)【参考文献】
【文献】特開2019-079120(JP,A)
【文献】特開2020-129314(JP,A)
【文献】特開2017-016632(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06F 11/34
(57)【特許請求の範囲】
【請求項1】
プロセッサと記憶装置を有し、前記プロセッサが前記記憶装置に格納されたソフトウェアプログラムを実行することにより実現される、管理対象から取得される監視データを推論するための機械学習モデルを生成する機械学習モデル生成部と、前記機械学習モデルを用いて推論処理を行う推論処理部と、前記推論処理の結果を用いて前記管理対象を管理する管理部と、前記機械学習モデルの再学習の要否を判定する再学習要否判定部と、を備える管理装置であって、
前記管理部は、
前記管理対象に対する管理操作が前記管理対象に与える影響を定義した操作影響情報と、前記管理対象に対して実行された管理操作を記録した管理操作ログと、前記管理対象に対して実行されることが計画または推測される管理操作を示す管理操作スケジュールと、を備え、
前記管理対象から取得された監視データである実測監視データと、前記推論処理部により前記監視データを予測する推論処理の結果である予測監視データと、の差が所定の閾値を超えるか否か判定し、
前記再学習要否判定部は、
前記差が前記閾値を超えたら前記差を有意差とし、前記操作影響情報と、前記管理操作ログと、前記管理操作スケジュールと、に基づいて、前記有意差が一時的なものか継続するものか否か判定し、
前記有意差が継続するものと判定したら、前記機械学習モデルの再学習を実行すべきと判定する、
管理装置。
【請求項2】
請求項1に記載の管理装置であって、
前記管理対象は、1または複数の計算機を備える計算機システムであり、
前記操作影響情報は、前記1または複数の計算機の間でやりとりされるデータ入出力への影響を定義した情報を含み、
前記再学習要否判定部は、
前記管理対象に対して実行された管理操作が、前記1または複数の計算機の間でやりとりされるデータ入出力を増加あるいは減少させるか否かを判定し、
前記管理操作が前記データ入出力を増加あるいは減少させると判定した場合は、前記有意差が継続するものであると判定する、
管理装置。
【請求項3】
請求項1に記載の管理装置であって、
前記管理対象は、1または複数の計算機を備える計算機システムであり、
前記操作影響情報は、前記1または複数の計算機の間でやりとりされるデータ入出力の処理負荷に対する影響の情報を含み、
前記再学習要否判定部は、
前記管理対象に対して実行された管理操作が、前記1または複数の計算機の間でやりとりされるデータ入出力により前記計算機にかかる処理負荷を変化させるか否かを判定し、
前記管理操作が前記処理負荷を変化させると判定した場合は、前記有意差が継続するものであると判定する、
管理装置。
【請求項4】
請求項1に記載の管理装置であって、
前記管理対象は、1または複数の計算機を備える計算機システムであり、
前記操作影響情報は、管理操作の種別と該種別の管理操作が前記1または複数の計算機に対してデータ入出力を発生させるものであるか否かとを対応付ける情報を含み、
前記再学習要否判定部は、
前記管理操作ログに基づき、前記管理対象に対して実行された管理操作が前記1または複数の計算機に対してデータ入出力を発生させる種別であるか否か判定し、
前記管理操作が前記データ入出力を発生させる種別であった場合には、前記スケジュールに基づいて、前記管理操作が継続して実行されるものであるか否かを判定し、
前記管理操作が継続して実行されるものであると判定した場合は、前記有意差が継続するものであると判定する、
管理装置。
【請求項5】
請求項1に記載の管理装置であって、
前記再学習要否判定部は、
前記機械学習モデルの再学習を実行すべきと判定した場合に、前記管理操作スケジュールに基づいて、前記管理対象への管理操作の実行が予定されているか否か判定し、
前記管理操作の実行が予定されていれば、前記機械学習モデルの再学習を、前記管理操作の実行が完了するまで実行させない、
管理装置。
【請求項6】
請求項5に記載の管理装置であって、
前記再学習要否判定部は、
前記予定されていた管理操作が実行された後に前記管理対象から実測監視データを管理操作後実測監視データとして取得し、該管理操作後実測監視データと、前記有意差が発生する前に取得された実測監視データである有意差発生前実測監視データとの差が所定の閾値を超えているか否か判定し、前記差が前記閾値を超えていなければ、前記機械学習モデルの再学習を実行しない、
管理装置。
【請求項7】
請求項1に記載の管理装置であって、
前記管理部は、
前記管理対象に対する管理操作が実行されたら、前記管理操作の完了後に前記管理対象に生じる変化を監視し、
前記管理対象に生じた変化に基づいて、前記操作影響情報を更新する、
管理装置。
【請求項8】
請求項1に記載の管理装置であって、
前記管理部は、
前記管理操作ログに基づいて、前記管理対象に対して周期的に実行される管理操作を周期管理操作として特定し、
前記管理操作ログに基づいて、前記周期管理操作の将来の実行時刻を予測し、
前記周期管理操作と前記将来の実行時刻とを前記管理操作スケジュールに登録する、
管理装置。
【請求項9】
請求項1に記載の管理装置であって、
前記管理部は、前記再学習要否判定部が前記機械学習モデルの再学習を実行すべきと判定したら、前記管理対象から取得した監視データのうち、前記有意差を継続して発生させる原因である管理操作が完了した時刻より後に取得された監視データを、前記機械学習モデルの再学習に学習データとして用いる、
管理装置。
【請求項10】
請求項1に記載の管理装置であって、
前記再学習要否判定部は、前記機械学習モデルを再学習すべきと判定したら、前記継続する有意差の原因である第1の管理操作と異なる第2の管理操作が、前記機械学習モデルの再学習に用いる学習データが取得された時間内に実行されていたら、前記学習データから前記第2の管理操作の影響を除外するように補正して前記再学習に用いる、
管理装置。
【請求項11】
請求項1に記載の管理装置であって、
前記再学習要否判定部が前記機械学習モデルを再学習すべきと判定したら、前記操作影響情報と前記管理操作ログと前記管理操作スケジュールと、に基づいて、前記有意差が継続して発生すると判定した根拠に関する情報を表示する表示部を更に備える、
管理装置。
【請求項12】
プロセッサと記憶装置を有し、前記プロセッサが前記記憶装置に格納されたソフトウェアプログラムを実行することにより実現される、管理対象から取得される監視データを推論するための機械学習モデルを生成する機械学習モデル生成部と、前記機械学習モデルを用いて推論処理を行う推論処理部と、前記推論処理の結果を用いて前記管理対象を管理する管理部と、前記機械学習モデルの再学習の要否を判定する再学習要否判定部と、を備えるコンピュータが実行する管理方法であって、
前記管理部が、
前記管理対象に対する管理操作が前記管理対象に与える影響を定義した操作影響情報と、前記管理対象に対して実行された管理操作を記録した管理操作ログと、前記管理対象に対して実行されることが計画または推測される管理操作を示す管理操作スケジュールと、を記録し、
前記管理対象から取得された監視データである実測監視データと、前記推論処理部により前記監視データを予測する推論処理の結果である予測監視データと、の差が所定の閾値を超えるか否か判定し、
前記再学習要否判定部が、
前記差が前記閾値を超えたら前記差を有意差とし、前記操作影響情報と、前記管理操作ログと、前記管理操作スケジュールと、に基づいて、前記有意差が一時的なものか継続するものか否か判定し、
前記有意差が継続するものと判定したら、前記機械学習モデルの再学習を実行すべきと判定する、
管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習を活用するシステムを運用管理するための技術に関する。
【背景技術】
【0002】
近年、機械学習(ML: Machine Learning)を活用するシステムの運用を通じて、MLモデルの品質を継続的に維持または改善する仕掛けやサービスが求められている。これに関連する技術として、特許文献1に開示された技術がある。
【0003】
特許文献1には、モデルの精度を継続的に評価した結果に基づいてコンセプトドリフトの有無を判定し、コンセプトドリフトが発生していると判定した場合にモデルを再学習する方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】米国公開特許公報US20160371601A1
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1で開示されているMLモデルの再学習方法は、コンセプトドリフトの発生原因を考慮していないため、必ずしも適切な再学習とならない可能性があった。例えば、(1)不要な再学習により不要なコストがかかる、(2)再学習によって却って精度が低下する、(3)再学習するタイミングが必ずしも適切ではなく不要なコストがかかる、といった可能性がある。
【0006】
ここではMLを活用したITインフラストラクチャの管理を具体例として課題を説明する。例えば、あるデータストレージ装置が記憶領域(以下、プールと呼ぶ)を備え、そこから切り出した記憶領域(以下、ボリュームと呼ぶ)を計算機に割り当て、計算機が当該ボリュームに対してデータのI/O(Input/Output)を行う構成を考える。このとき、プールの過去の性能データ(例えばBusy Rateなど)をMLにより学習し、その将来値を予測するMLモデルがあるとする。このMLモデルに対して特許文献1の再学習方法を適用すると、MLモデルの品質劣化が検出された場合に当該モデルを再学習することができる。
【0007】
しかし、特許文献1で開示されているMLモデルの再学習方法では、コンセプトドリフトが計算機からのI/Oの傾向変化によって生じたものか、あるいはボリュームやプールに対する管理操作によって生じたものか、といった区別をすることができない。
【0008】
例えば、計算機からボリュームに対するI/Oは全く変化がなく、当該ボリュームに対して実行されたデータコピー操作によってプールの性能負荷が増大したことでコンセプトドリフトが検知されるというケースが考えられる。当該データコピー操作が手動で行われた単発の操作であった場合、この性能負荷の増大は継続的なものではないため、MLモデルを再学習すべきではない。しかし特許文献1で開示されているMLモデルの再学習方法では、この区別がつかないため再学習を実行してしまい、その結果、前述の(1)(2)の事象が発生する。
【0009】
さらに別の例を用いて課題を説明する。ここでは、例えば前述のプールから第2のボリュームを切り出し、第2の計算機に割り当てるという管理操作を行ったとする。これにより、当該プールに新たに第2の計算機からのI/Oが流入することになることで、コンセプトドリフトが検知されるというケースが考えられる。このとき、特許文献1で開示されているMLモデルの再学習方法では、MLモデルの再学習が行われる。一方、MLモデルによる性能予測値と、その後に観測された性能実測値との間に一定以上の大きさの乖離(すなわち性能異常)が認められた場合に、IT管理ソフトまたはIT管理者が当該性能異常を解消するための管理操作を行うケースが考えられる。例えば、当該プールの性能負荷を下げ、他のプールとの性能負荷を均衡させるために、プールから切り出された一部のボリュームを別のプールに移行する操作を行うことがある。IT管理ソフトまたはIT管理者が当該操作を行うとプールの性能負荷が下がるため、再学習したMLモデルによるプール性能予測の精度が再び低下することが考えられる。これにより、特許文献1で開示されているMLモデルの再学習方法では、もう一度MLモデルの再学習が行われてしまい、前述の(3)の事象となる。
【0010】
本開示のひとつの目的は、機械学習モデルの適切な再学習を可能にする技術を提供することである。
【課題を解決するための手段】
【0011】
本開示に含まれるひとつの態様による管理装置は、プロセッサと記憶装置を有し、プロセッサが記憶装置に格納されたソフトウェアプログラムを実行することにより実現される、管理対象から取得される監視データを推論するための機械学習モデルを生成する機械学習モデル生成部と、機械学習モデルを用いて推論処理を行う推論処理部と、推論処理の結果を用いて管理対象を管理する管理部と、機械学習モデルの再学習の要否を判定する再学習要否判定部と、を備える。管理部は、管理対象に対する管理操作が管理対象に与える影響を定義した操作影響情報と、管理対象に対して実行された管理操作を記録した管理操作ログと、管理対象に対して実行されることが計画または推測される管理操作を示す管理操作スケジュールと、を備え、管理対象から取得された監視データである実測監視データと、推論処理部により監視データを予測する推論処理の結果である予測監視データと、の差が所定の閾値を超えるか否か判定し、再学習要否判定部は、差が閾値を超えたら差を有意差とし、操作影響情報と、管理操作ログと、管理操作スケジュールと、に基づいて、有意差が一時的なものか継続するものか判定し、有意差が継続するものと判定したら、機械学習モデルの再学習を実行すべきと判定する。
【発明の効果】
【0012】
本開示のひとつの態様によれば、機械学習モデルの適切な再学習が可能になる。
【図面の簡単な説明】
【0013】
【
図1】計算機システムの構成を示すブロック図である。
【
図2】管理計算機の構成例を示すブロック図である。
【
図7】IT管理プログラムにより実行される監視処理の処理手順の一例を示すフローチャートである。
【
図8】再学習要否判定プログラムにより実行される再学習要否判定処理の処理手順の一例を示すフローチャートである。
【
図9】学習プログラムにより実行される再学習処理の処理手順の一例を示すフローチャートである。
【
図10】再学習データの補正の様子を示す概念図である。
【
図11】再学習要否の判定結果を表示するための画面の一例を示す図である。
【
図12】再学習要否の判定結果を表示するための画面の別の例を示す図である。
【
図13】再学習要否の判定結果を表示するための画面の別の例を示す図である。
【
図14】再学習要否の判定結果を表示するための画面の別の例を示す図である。
【発明を実施するための形態】
【0014】
以下、幾つかの実施形態を、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。これらの図面において、複数の図を通じて同一の符号は同一の構成要素を示している。なお、以後の説明では「aaaテーブル」等の表現にて本発明の情報を説明するが、これら情報はテーブル等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「aaaテーブル」等について「aaa情報」と呼ぶことがある。さらに、各情報の内容を説明する際に、「識別情報」、「識別子」、「名称」、「ID」という表現を用いるが、これらについてはお互いに置換が可能である。
【0015】
以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(通信デバイス、管理I/F、データI/F)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理はサーバ等の計算機、情報処理装置が行う処理としてもよい。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。また、各種プログラムはプログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。
【0016】
以後、計算機システムを管理し、本発明の表示用情報を表示する一つ以上の計算機の集合を管理システムと呼ぶことがある。管理計算機が表示用情報を表示する場合は管理計算機が管理システムである。また、管理計算機と表示用計算機との組み合わせも管理システムである。また、管理処理の高速化や高信頼化のために複数の計算機で管理計算機と同等の処理を実現してもよく、この場合は当該複数の計算機(表示を表示用計算機が行う場合は表示用計算機も含め)が管理システムである。
【0017】
<<実施形態>>
【0018】
図1は、本実施形態における計算機システムの構成を示すブロック図である。計算機システム100は、複数の計算環境から構成される。
図1には、計算環境1000及び計算環境2000により構成されている計算機システム100が例示されている。
図1には、管理対象である計算環境1000が2つ存在する構成が例示されているが、これに限定されることはない。計算環境1000は1つ以上存在すれば良い。計算環境1000と計算環境2000はそれぞれ地理的に異なる場所に設置されてもよい。
【0019】
計算環境1000は、計算機3000、ストレージ装置4000、データネットワーク7000及び管理ネットワーク8000を備えて構成される。ストレージ装置4000は専用のハードウェアを備えた装置であっても良いし、計算機3000が備えるプロセッサによって実行されるプログラムとして実装されても良い。計算機3000及びストレージ装置4000は物理装置、仮想装置、コンテナ、マネージドサービスなどどのような形態で提供されるものであっても良い。計算機3000およびストレージ装置4000が備える各機能は、機能ごとにマイクロサービスとして異なる装置上で実行されても良い。計算機3000同士、ストレージ装置4000同士、計算機3000とストレージ装置4000は、データネットワーク7000を介して互いに接続される。計算機3000とストレージ装置4000は、管理ネットワーク8000を介して計算環境2000の管理計算機5000及びデータストア6000と接続されている。
図1の例では、2つの計算環境1000は同一の構成を有しているが、この例に限定されることはない。他の例として、2つの計算環境1000がそれぞれ異なる構成を備えても良い。さらに、計算環境1000及び計算環境2000は異なる所有者によって所有されても良い。その場合、計算環境2000の所有者が計算環境1000の所有者に対して、計算環境2000が備える計算リソースや機能をクラウドサービスのような形態で利用させても良い。
【0020】
計算環境2000は、管理計算機5000、データストア6000及び管理ネットワーク8000を備えて構成される。管理計算機5000及びデータストア6000は物理装置、仮想装置、コンテナ、マネージドサービスなどどのような形態で提供されるものであっても良い。管理計算機5000及びデータストア6000が備える各機能が、機能ごとにマイクロサービスとして異なる装置上で実行されるものであっても良い。管理計算機5000とデータストア6000は、管理ネットワーク8000を介して互いに接続されている。
【0021】
計算環境1000と計算環境2000とは、広域ネットワーク9000を介して互いに接続されている。すなわち、計算環境1000の管理ネットワーク8000と、計算環境2000の管理ネットワーク8000とは、広域ネットワーク9000を介して通信可能である。したがって、計算環境2000の管理計算機5000は、計算環境1000の計算機3000及びストレージ装置4000を、管理ネットワーク8000を介して管理可能である。また、計算環境1000の計算機3000及びストレージ装置4000の監視データ(メトリクスデータとも呼ぶ)を、管理ネットワーク8000を介してデータストア6000に保存可能である。メトリクスデータには、例えば、計算機3000及びストレージ装置4000の性能データ、計算リソースの容量データ、稼働状態などのデータがあるが、これに限定しない。本実施形態においては、計算機3000及びストレージ装置4000が備えるプロセッサによって実行されるプログラムが、計算機3000及びストレージ装置4000のメトリクスデータをデータストア6000に送信することで、メトリクスデータをデータストア6000に保存するが、これに限定しない。例えば、計算環境1000の管理ネットワーク8000に接続された計算機3000及びストレージ装置4000とは別の計算機によって、計算機3000及びストレージ装置4000からメトリクスデータを収集してデータストア6000に送信するプログラムが実行されても良い。また、例えば管理計算機5000が管理ネットワーク8000を介して計算機3000及びストレージ装置4000のメトリクスデータを収集してデータストア6000に格納しても良い。
【0022】
なお、計算機システム100に計算環境2000が存在せず、管理計算機5000及びデータストア6000が計算環境1000の内部に存在する構成であっても良い。さらに、計算機システム100に広域ネットワーク9000が存在せず、計算環境1000が1つのみ存在し、管理計算機5000及びデータストア6000がその計算環境1000の内部に存在する構成であっても良い。広域ネットワーク9000は例えばインターネットであっても良いし、専用線であっても良い。また、広域ネットワーク9000は仮想プライベートネットワークであっても良い。
【0023】
図2は、本実施形態における管理計算機5000の構成例を示すブロック図である。管理計算機5000は、計算環境1000の計算機3000及びストレージ装置4000を管理するための計算機である。管理計算機5000は、プロセッサ5100、メモリ5200、記憶装置5300、管理ネットワークインタフェース5400及びI/O(Input/Output)デバイス5500を備えている。これらの構成要素は互いにバスを介して接続されている。
【0024】
管理ネットワークインタフェース5400は、管理ネットワーク8000との接続に用いるネットワークインタフェースである。
【0025】
記憶装置5300は、HDD(Hard Disk Drive)やSSD(Solid State Drive)などから構成される。本実施形態では、記憶装置5300には、学習データ5310、MLモデル5320及び推論結果データ5330が格納されている。また、IT管理プログラム5210、学習プログラム5260、推論プログラム5270及び再学習要否判定プログラム5280は記憶装置5300に格納されており、プロセッサ5100によってメモリ5200上に読み出されて実行される。
【0026】
メモリ5200は、例えば半導体メモリから構成される。本実施形態では、メモリ5200には、IT管理プログラム5210、学習プログラム5260、推論プログラム5270及び再学習要否判定プログラム5280、管理対象テーブル5220、構成情報テーブル5230、管理操作テーブル5240及び操作影響テーブル5250が格納される。なお、管理対象テーブル5220、構成情報テーブル5230、管理操作テーブル5240及び操作影響テーブル5250を記憶装置5300に格納することでデータを永続化しても良い。
【0027】
学習プログラム5260は、データストア6000に格納された計算機3000及びストレージ装置4000から取得されたメトリクスデータから作成した学習データ5310を用いて、メトリクスデータの将来値を予測するMLモデル5320を生成するプログラムである。例えばRandom Forestなどの公知のアルゴリズムを用いて学習プログラム5260を実装することができる。ただし、これに限らず他のアルゴリズムを学習プログラム5260に用いても良い。また、メトリクスデータの将来値の予測は一般に回帰問題として知られるが、学習プログラム5260が生成するMLモデルは回帰問題を扱うものであってよい。ただし、これに限らず別の問題を扱うMLモデルであっても良い。
【0028】
推論プログラム5270は、MLモデル5320を用いて推論を実行し、推論結果データ5330を生成するプログラムである。ここでいう推論は、計算機3000及びストレージ装置4000のメトリクスデータの将来値の予測である。本実施形態では、推論プログラム5270は、プロセッサ5100によって定期的に実行されるものとする。ただし、これに限らず、推論プログラム5270が他のタイミングで実行されても良い。
【0029】
IT管理プログラム5210は、計算環境1000の計算機3000及びストレージ装置4000を管理するプログラムである。本実施形態では、IT管理プログラム5210は、推論プログラム5270が生成した推論結果データ5330と、データストア6000に格納された計算機3000及びストレージ装置4000のメトリクスデータと、を比較することで、計算機3000またはストレージ装置4000の性能異常を判別する機能を備える。ここでいう性能異常は、実測値が予測と異なる値を示すことである。なお、本実施形態では、IT管理プログラム5210の管理対象は、計算機3000及びストレージ装置4000であるが、これに限らず他の管理対象を管理しても良い。IT管理プログラム5210の詳細は後述する。
【0030】
管理対象テーブル5220は、IT管理プログラム5210の管理対象である計算機3000及びストレージ装置4000の情報を格納するテーブルである。当該テーブルの詳細は後述する。
【0031】
構成情報テーブル5230は、計算機3000及びストレージ装置4000の構成情報を格納するテーブルである。当該テーブルの詳細は後述する。
【0032】
管理操作テーブル5240は、IT管理プログラム5210によって計算機3000及びストレージ装置4000に対して実行された管理操作のログ及び、今後実行される予定の管理操作のスケジュールの情報を格納するテーブルである。
【0033】
管理操作テーブル5240に格納される情報は、IT管理者がIT管理プログラム5210を用いて実行した管理操作のログ及び登録した管理操作のスケジュールに限らない。他のログやスケジュールを管理操作テーブル5240に格納しても良い。例えば、IT管理プログラム5210が、管理操作の実行ルールを備え、IT管理者の操作によらず、実行ルールに従って、計算機3000及びストレージ装置4000のメトリクスデータの変化をトリガーとして、特定の管理操作を実行する場合に、その管理操作のログおよび/またはスケジュールを管理操作テーブル5240に登録しても良い。当該テーブルの詳細は後述する。
【0034】
操作影響テーブル5250は、IT管理プログラム5210によって計算機3000及びストレージ装置4000に対して実行される管理操作が、計算機3000及びストレージ装置4000に対してどのような影響を与えるかを示す情報を格納するテーブルである。当該テーブルの詳細は後述する。
【0035】
再学習要否判定プログラム5280は、IT管理プログラム5210によって、MLモデル5320の性能異常が検出された場合に、MLモデル5320の再学習を行う必要があるか否かを判定するプログラムである。当該プログラムの詳細は後述する。
【0036】
記憶装置5300やメモリ5200には、他に、計算機3000及びストレージ装置4000の管理を行うための一般的なプログラムやテーブルが格納されていても良い。例えばメモリ5200に、ユーザの認証情報(ユーザ名、パスワード、アクセス権限など)を保持するテーブルが格納されていても良い。
【0037】
図3は、本実施形態における管理対象テーブル5220の一例を示す図である。管理対象テーブル5220は、IT管理プログラム5210が管理する対象の計算機3000及びストレージ装置4000の情報を格納するテーブルである。管理対象テーブル5220は、機器ID欄5221、コンポーネントID欄5222、及びMLモデルID欄5223を備えて構成される。
【0038】
機器ID欄5221には、計算機3000及びストレージ装置4000にそれぞれ付与された識別子である機器IDが格納される。コンポーネントID欄5222には、計算機3000及びストレージ装置4000が備えるコンポーネントにそれぞれ付与された識別子であるコンポーネントIDが格納される。MLモデルID欄5223には、MLモデルにそれぞれ付与された識別子であるMLモデルIDが格納される。
【0039】
図3に示した例では、例えば5220-1で示されるレコードには、機器ID「Storage-01」で示されるストレージ装置4000がコンポーネントID「Processor-01」で示されるコンポーネント(ここではプロセッサ)を備え、当該プロセッサのメトリクスデータの将来値を予測するために、MLモデルID「Processor-Model-01」で示されるMLモデルが用いられることが示されている。本実施形態では、機器IDとコンポーネントIDの対に対してMLモデルIDで識別されるMLモデルが1つ割り当てられているが、これに限られることはない。他の例として、機器IDとコンポーネントIDの対に対して複数のMLモデルを割り当てても良い。また、同一のMLモデルを、機器IDとコンポーネントIDの複数の対に対して割り当てても良い。
【0040】
図4は、本実施形態における構成情報テーブル5230の一例を示す図である。構成情報テーブル5230は、管理対象である計算機3000及びストレージ装置4000の構成を示す情報を格納するテーブルである。構成情報テーブル5230は、機器ID欄5231、プールID欄5232、ボリュームID欄5233、プロセッサID欄5234、キャッシュID欄5235、ポートID欄5236、ホストID欄5237、コピー先ボリュームID欄5238、及びコピー状態5239を備えて構成される。
【0041】
機器ID欄5231には、ストレージ装置4000にそれぞれ付与された識別子である機器IDが格納される。プールID欄5232には、ストレージ装置4000が備える記憶領域プールにそれぞれ付与された識別子であるプールIDが格納される。ボリュームID欄5233には、ストレージ装置4000が備える記憶領域プールから切り出されたボリュームにそれぞれ付与された識別子であるボリュームIDが格納される。プロセッサID欄5234には、ストレージ装置4000が備えるプロセッサにそれぞれ付与された識別子であるプロセッサIDが格納される。キャッシュID欄5235には、ストレージ装置4000が備えるキャッシュ領域にそれぞれ付与された識別子であるキャッシュIDが格納される。ポートID欄5236には、ストレージ装置4000が備えるデータI/Oのためのネットワークポートにそれぞれ付与された識別子であるポートIDが格納される。ホストID欄5237には、ストレージ装置4000が備えるボリュームを割り当てられた計算機3000にそれぞれ付与された識別子であるホストIDが格納される。コピー先ボリュームID欄5238には、ストレージ装置4000が備えるボリュームのデータコピー先ボリュームにそれぞれ付与された識別子であるコピー先ボリュームIDが格納される。
【0042】
本実施形態では、コピー先ボリュームIDは、データコピー先の機器IDとボリュームIDとをドット記号で連結した形式である。すなわち、コピー先ボリュームID5238の機器IDの部分が機器ID5231と同一のストレージ装置4000を示す場合は、同一ストレージ装置内でのデータコピーすなわちローカルコピーが行われることを示す。コピー先ボリュームID5238の機器IDの部分が、機器ID5231とは別のストレージ装置4000を示す場合は、ストレージ装置間でのデータコピーすなわちリモートコピーが行われることを示す。
【0043】
コピー状態5239には、ストレージ装置4000が備えるボリュームのデータコピーの状態が格納される。
【0044】
図4には、コピー状態5239に「split」と「sync」という2種類の状態が例示されている。ここでは「split」状態は、ボリュームID5233で示されるボリュームからコピー先ボリュームID5238で示されるボリュームへのデータコピーが停止している状態を示す。したがって、コピー状態が「split」の場合、ボリュームID5233で示されるボリュームに対してホストID5237で示される計算機3000からデータの書き込みがあっても、当該データはコピー先ボリュームID5238で示されるボリュームにはコピーされない。一方、「sync」状態は、ボリュームID5233で示されるボリュームからコピー先ボリュームID5238で示されるボリュームへのデータコピーが継続している状態を示す。したがって、コピー状態が「sync」の場合、ボリュームID5233で示されるボリュームに対してホストID5237で示される計算機3000からデータの書き込みがあると、当該データはコピー先ボリュームID5238で示されるボリュームにコピーされる。コピー状態5239に格納するコピー状態は例示した「split」と「sync」だけに限られず、他の状態がコピー状態5239に格納されても良い。
【0045】
ホストID5237で示される計算機3000からのデータの書き込みに対して、コピー先ボリュームID5238で示されるボリュームへの当該データのコピーは、同期的に行われても良いし、非同期的に行われても良い。データコピーを同期的に行う場合、ホストID5237で示される計算機3000からボリュームID5233で示されるボリュームに対してデータの書き込みが行われると、ストレージ装置4000は当該データをコピー先ボリュームID5238で示されるボリュームにコピーする処理が完了してから、ホストID5237で示される計算機3000に対して書き込みが完了したことを応答する。一方、データコピーを非同期的に行う場合、ホストID5237で示される計算機3000からボリュームID5233で示されるボリュームに対してデータの書き込みが行われると、ストレージ装置4000は、ホストID5237で示される計算機3000に対して書き込みの完了を応答してから、当該データをコピー先ボリュームID5238で示されるボリュームにコピーする処理を行う。
【0046】
図4に示した例では、例えば5230-1で示されるレコードは、機器ID「Storage-01」で示されるストレージ装置4000が、プールID「Pool-01」で示される記憶領域プールを備え、当該プールからボリュームID「Vol-01」で示されるボリュームが切り出されており、当該ボリュームに対するI/O処理をプロセッサID「Processor-01」で示されるプロセッサが処理し、当該ボリュームにはキャッシュID「Cache-01」で示されるキャッシュ領域が割り当てられており、当該ボリュームはポートID「Port-01」で示されるポートを介してホストID「Host-01」で示される計算機3000に割り当てられており、当該ボリュームのデータはコピー先ボリュームID「Storage-01.Vol-02」で示されるボリュームにコピーされ、当該ボリュームのデータコピーの状態は「split」状態であることを示している。
【0047】
構成情報テーブル5230には、
図4に示した情報に限らず、計算機3000及びストレージ装置4000の構成に関する他の情報を格納しても良い。構成情報テーブル5230に、例えばボリュームのデータコピーに関するコピーの種別、例えばフルコピーやスナップショットなどを更に格納しても良い。
【0048】
図5は、本実施形態における管理操作テーブル5240の一例を示す図である。管理操作テーブル5240は、IT管理プログラム5210によって計算機3000及びストレージ装置4000に対して実行された管理操作のログ及び、今後実行される予定の管理操作のスケジュールの情報を格納するテーブルである。管理操作のログを以下管理操作ログと呼ぶ場合がある。また、管理操作のスケジュールを管理操作スケジュールと呼ぶ場合がある。管理操作テーブル5240は、管理操作ID欄5241、管理操作欄5242、操作対象ID欄5243、実行状態欄5244、及び実行日時欄5245を備えて構成される。
【0049】
管理操作ID欄5241には、管理操作の種別にそれぞれ付与された識別子である管理操作IDが格納される。管理操作欄5242には、管理操作の名称が格納される。操作対象ID欄5243には、管理操作の実行対象にそれぞれ付与された識別子である操作対象IDが格納される。本実施形態では、操作対象IDは、管理操作の実行対象である機器及びコンポーネントを示す機器ID及びコンポーネントIDをドット記号で連結した形式である。実行状態欄5244には、管理操作の実行状態が格納される。実行日時欄5245には、管理操作の実行日時が格納される。
【0050】
本実施形態では、実行状態5244には「Completed」「Scheduled」「Expected」のいずれかの状態が格納される。ここでは「Completed」状態は、当該管理操作が実行日時5245で示される日時を以って完了したことを示す。したがって、実行状態欄5244に「Completed」が格納されているレコードは、管理操作ログである。「Scheduled」状態は、当該管理操作が実行日時5245で示される日時に実行されるというスケジュールを示す。したがって、実行状態欄5244に「Scheduled」が格納されているレコードは、管理操作スケジュールである。「Expected」状態は、当該管理操作が実行日時5245で示される日時に実行されると推測されることを示す。これは、IT管理者やIT管理プログラム5210によって明示的に管理操作のスケジュールが登録されてはいないが、過去の管理操作の実行周期から当該管理操作が当該日時に実行されると推測されることを示している。「Expected」状態のレコードは、IT管理プログラム5210により生成される。IT管理プログラム5210は、管理操作テーブル5240を定期的に監視し、管理操作5242と操作対象ID5243によって実行状態が「Completed」となった管理操作を管理操作の名称および操作対象IDによりグルーピングし、グルーピングされた管理操作の実行日時5245に周期性があるか否かを判定し、周期性があれば、その周期性に従って管理操作が実行されると推測し、「Expected」状態のレコードを生成する。本実施形態では、実行状態が「Expected」のレコードは、実行状態が「Scheduled」のレコードと同様に、管理操作スケジュールの一種として扱う。
【0051】
図5に示した例では、例えば5240-1で示されるレコードは、管理操作ID「Task-01」で示される管理操作が、管理操作5242及び操作対象ID5243で示される通り、「Storage-01.Vol-01」で示されるボリュームから「Storage-01.Vol-02」で示されるボリュームへのデータコピーの管理操作である。また、実行状態5244及び実行日時5245で示される通り、当該管理操作は「2021/02/01 00:00:00」の日時を以って実行が完了している。
【0052】
図6は、本実施形態における操作影響テーブル5250の一例を示す図である。操作影響テーブル5250は、IT管理プログラム5210によって計算機3000及びストレージ装置4000に対して実行される管理操作が、計算機3000及びストレージ装置4000に対して与える影響に関する情報を格納するテーブルである。操作影響テーブル5250は、管理操作欄5251、ホストI/O変化欄5252、ホストI/O処理負荷変化欄5253、及びI/O発生欄5254を備えて構成される。
【0053】
管理操作欄5251には、管理操作の名称が格納される。ホストI/O変化欄5252には、管理操作がホストI/Oを変化させるか否かを示す情報が格納される。ここでいうホストI/Oは、計算機3000からボリュームに対するI/Oである。また、ここでいうホストI/Oの変化とは、ホストI/Oの量的な変化すなわち増減のことである。ホストI/O処理負荷変化欄5253には、管理操作がホストI/Oを処理するための処理負荷を変化すなわち増減させるか否かを示す情報が格納される。以下、ホストI/Oを処理するための処理負荷をホストI/O処理負荷と呼ぶ場合がある。I/O発生欄5254は、管理操作がI/Oを発生させるか否かを示す情報が格納される。
【0054】
図6に示した例では、例えば5250-1で示されるレコードには、「データコピー」の管理操作は、ホストI/Oを変化させず、コピー状態が「sync」であればホストI/O処理負荷を変化させ、コピー状態が「sync」でなければホストI/O処理負荷を変化させず、管理操作自体がI/Oを発生させることが示されている。また、例えば5250-7で示されるレコードには、「ボリューム割り当て」の管理操作は、ホストI/Oを変化させ、ホストI/O処理負荷を変化させず、管理操作自体がI/Oを発生させないことを示している。
【0055】
本実施形態では、操作影響テーブル5250に格納される各情報は予め定義されるものとする。ただし、これに限らず、他の方法で各情報を定義しても良い。例えば、IT管理プログラム5210が計算機3000及びストレージ装置4000に対して管理操作を実行した後に計算機3000及びストレージ装置4000のI/Oの変化を監視し、観測された変化に基づいて操作影響テーブル5250の情報を記録あるいは更新しても良い。
【0056】
図7は、IT管理プログラム5210により実行される監視処理の処理手順の一例を示すフローチャートである。IT管理プログラム5210は
図7に示す手順に従って、計算機3000及びストレージ装置4000の監視を行う。特にIT管理プログラム5210は
図7に示す手順に従って、推論プログラム5270が生成した推論結果データ5330と、データストア6000に格納された計算機3000及びストレージ装置4000のメトリクスデータと、を比較することで性能異常を判別する。
【0057】
ステップ10010にて本処理が開始される。なお、本処理は、IT管理プログラム5210が定期的に開始するものとするが、これに限らず他の方法で開始されても良い。
【0058】
ステップ10020にて、IT管理プログラム5210が管理対象テーブル5220を参照し、管理対象の一覧を取得する。
【0059】
ステップ10030にて、IT管理プログラム5210がデータストア6000から、管理対象のメトリクスデータを取得する。
【0060】
ステップ10040にて、IT管理プログラム5210が推論結果データ5330を参照し、管理対象に対する推論結果を取得する。本実施形態においては、管理対象に対する推論結果とは、当該管理対象のメトリクスデータの将来の予測値である。
【0061】
ステップ10050にて、IT管理プログラム5210はステップ10030で取得した管理対象のメトリクスデータと、ステップ10040で取得した推論結果と、を比較する。ここで、ステップ10040で取得した推論結果と、ステップ10030で取得したメトリクスデータの関係は、管理対象のメトリクスデータの予測値と、それに対する正解(実測値)という関係である。
【0062】
ステップ10060にて、IT管理プログラム5210はステップ10030で取得した管理対象のメトリクスデータと、ステップ10040で取得した推論結果と、の間に所定の閾値よりも大きな乖離があるか否かを判定する。閾値よりも大きな乖離があると判定された場合は、処理はステップ10070に遷移する。閾値よりも大きな乖離があると判定されなかった場合は、処理はステップ10090に遷移する。ここで、閾値よりも大きな乖離があるということは、メトリクスデータの予測値と大きく異なる実測値が観測されたことを意味しており、性能異常が発生している可能性を示している。また、MLモデルの精度の観点からは、予測値と大きく異なる実測値が観測されたことはMLモデルの精度が劣化したことを示している。したがって、コンセプトドリフトが発生している可能性を示している。
【0063】
なお、本実施形態では、このようにコンセプトドリフトの検出をMLモデルの精度に基づいて行うが、コンセプトドリフトの検出方法はこれに限られず、他の方法を用いてコンセプトドリフトを検出しても良い。例えば、MLモデルの学習に用いたメトリクスデータの統計的特徴量と、ステップ10030で取得した最近のメトリクスデータの統計的特徴量と、を比較し、それらの統計的特徴量の間に閾値より大きな乖離があった場合にコンセプトドリフトが発生していると判定しても良い。
【0064】
ステップ10070にて、IT管理プログラム5210は該当の管理対象に対して性能異常を回復するための対処としての管理操作を計画する。本実施形態では、IT管理プログラム5210が管理操作の実行ルールを備え、計算機3000及びストレージ装置4000の性能異常を回復するための特定の管理操作の実行スケジュールを管理操作テーブル5240に登録する。
【0065】
ここで1つの例を用いて、ステップ10030の処理とステップ10070の処理と、を説明する。
図4の5230-7で示されるレコードは、「Storage-02」で示されるストレージ装置4000が、「Pool-01」で示される記憶領域プールを備え、当該プールから「Vol-01」で示されるボリュームが切り出されており、当該ボリュームは、「Host-10」で示される計算機3000に割り当てられていることを示している。ここで、
図5のレコード5240-4に示すように、「Storage-02.Pool-01.Vol-02」で示されるボリュームを、「Host-11」で示される計算機3000に割り当てる管理操作が行われたとする。これにより、
図4のレコード5230-8に示すように、「Storage-02」で示されるストレージ装置4000が備える「Pool-01」で示される記憶領域プールから、「Vol-02」で示されるボリュームが切り出され、当該ボリュームは、「Host-11」で示される計算機3000に割り当てられる。当該管理操作の実行前は「Storage-02」で示されるストレージ装置4000が備える、「Pool-01」で示される記憶領域プールには、「Host-10」で示される計算機3000からのデータI/Oのみが流入していた。これに対し、当該管理操作を実行した結果、当該プールには新たに「Host-11」で示される計算機3000からのデータI/Oも流入することになる。
【0066】
ここでIT管理プログラム5210が、
図7に示す管理処理を実行したとする。また、ここで、管理対象が「Storage-02」で示されるストレージ装置4000が「Pool-01」で示される記憶領域プールであるとする。前述の通り、ステップ10060にて、IT管理プログラム5210は、ステップ10030で取得した管理対象すなわち「Storage-02」で示されるストレージ装置4000が「Pool-01」で示される記憶領域プールのメトリクスデータと、ステップ10040で取得した推論結果と、の間に閾値よりも大きな乖離があるか否かを判定する。ここで、ステップ10040で取得した推論結果は、「Host-10」で示される計算機3000からのデータI/Oのみが当該プールに流入していた過去のデータで学習されたMLモデルによって、当該プールのメトリクスデータの将来値を予測した推論結果である。これに対し、ステップ10030で取得したメトリクスデータは、当該プールに対して「Host-10」で示される計算機3000及び「Host-11」で示される計算機3000からのデータI/Oが流入している現在の状態のメトリクスデータである。「Host-11」で示される計算機3000から当該プールに対して十分なデータI/Oが流入しているとすると、IT管理プログラム5210は推論結果とメトリクスデータとの間に閾値よりも大きな乖離がある、すなわち、当該プールに性能異常があると判定する。
【0067】
この判定結果を受けて、IT管理プログラム5210はステップ10070にて、当該プールの性能異常を回復するための対処となる管理操作を計画し、当該管理操作の実行スケジュールを管理操作テーブル5240に登録する。
【0068】
図5の5240-6で示されるレコードは、IT管理プログラム5210が該当プールの性能異常を回復するために登録した管理操作を示している。この管理操作は、「Storage-02.Pool-01.Vol-02」で示されるボリュームを、「Storage-02.Pool-02」で示されるプールに移行する管理操作である。この管理操作を実行することにより、「Storage-02.Pool-01.Vol-02」で示されるボリュームの記憶領域の提供元が、「Storage-02.Pool-01」で示されるプールから、「Storage-02.Pool-02」で示されるプールに変更される。その結果、「Storage-02.Pool-01」で示されるプールには「Host-10」で示される計算機3000からのデータI/Oのみが流入するようになり、「Host-11」で示される計算機3000からのデータI/Oは「Storage-02.Pool-02」で示されるプールに流入するようになる。これにより、「Storage-02.Pool-01」で示されるプールの性能異常が回復される。以上が具体例を用いたステップ10070及びステップ10080の説明である。
【0069】
図7に戻り、ステップ10080にて、IT管理プログラム5210は再学習要否判定プログラム5280の再学習要否判定処理を呼び出す。当該処理の詳細は後述する。
【0070】
ステップ10090にて、IT管理プログラム5210はステップ10020で取得した管理対象の一覧の中に未チェックの管理対象があるか否かを判定する。未チェックの管理対象が存在すると判定された場合は、処理はステップ10030に遷移する。未チェックの管理対象が存在すると判定されなかった場合は、処理はステップ10100に遷移し、終了する。
【0071】
図8は、再学習要否判定プログラム5280により実行される再学習要否判定処理の処理手順を示すフローチャートである。再学習要否判定プログラム5280は、
図8に示す手順に従って、特定の管理対象を監視するためのMLモデルの再学習が必要か否かの判定を行う。
【0072】
ステップ20010にて本処理が開始される。なお、本処理は、IT管理プログラム5210が、
図7に示す監視処理を行う際に、ステップ10080にて本処理を呼び出すことにより開始するものとするが、これに限らず他の方法で開始されても良い。本実施形態では、IT管理プログラム5210がステップ10060で閾値よりも大きな乖離があると判定した管理対象の識別子、例えば「Storage-02.Pool-01」などの識別子を再学習要否判定プログラム5280に渡して本処理を呼び出すものとする。
【0073】
ステップ20020にて、再学習要否判定プログラム5280は、管理操作テーブル5240を参照し、呼び出された際に渡された識別子に該当する管理対象に対する管理操作ログと管理操作スケジュールとを取得する。具体的には、再学習要否判定プログラム5280は、管理操作テーブル5240の中から、操作対象ID欄5243に該当の管理対象の識別子を含むレコードを抽出する。抽出されたレコードのうち、実行状態欄5244に「Completed」が格納されているレコードは管理操作ログである。実行状態欄5244に「Scheduled」または「Expected」が格納されているレコードは管理操作スケジュールである。
【0074】
ステップ20030にて、再学習要否判定プログラム5280は、該当の管理対象に対して管理操作が行われたか否かを判定する。具体的には、ステップ20020で抽出した管理操作ログが1つ以上存在していれば、管理操作が行われたと判定する。管理操作が行われたと判定された場合は、処理はステップ20040に遷移する。管理操作が行われたと判定されなかった場合は、処理はステップ20100に遷移する。
【0075】
ステップ20040にて、再学習要否判定プログラム5280は操作影響テーブル5250を参照し、該当の管理操作による影響の情報を取得する。具体的には、再学習要否判定プログラム5280は、ステップ20020で抽出した管理操作ログの管理操作欄5242と、操作影響テーブル5250の管理操作欄5251と、を一致判定し、操作影響テーブル5250にける一致が得られたレコードから、該当の管理操作による影響の情報を取得する。
【0076】
ステップ20050にて、再学習要否判定プログラム5280は、ステップ20040で取得した管理操作による影響の情報を参照し、ホストI/O変化欄5252が「True」であるか否かを判定する。ホストI/O変化欄5252が「True」であると判定された場合、処理はステップ20100に遷移する。ホストI/O変化欄5252が「True」であると判定されなかった場合、処理はステップ20060に遷移する。
【0077】
ステップ20060にて、再学習要否判定プログラム5280は、ステップ20040で取得した管理操作による影響の情報を参照し、ホストI/O処理負荷変化欄5253が「True」であるか否かを判定する。ホストI/O処理負荷変化欄5253が「True」であると判定された場合、処理はステップ20100に遷移する。ホストI/O処理負荷変化欄5253が「True」であると判定されなかった場合、処理はステップ20070に遷移する。
【0078】
ステップ20070にて、再学習要否判定プログラム5280は、ステップ20040で取得した管理操作による影響の情報を参照し、I/O発生欄5254が「True」であるか否かを判定する。I/O発生欄5254が「True」であると判定された場合、処理はステップ20080に遷移する。I/O発生欄5254が「True」であると判定されなかった場合、処理はステップ20090に遷移する。
【0079】
ステップ20080にて、再学習要否判定プログラム5280は、当該管理操作がスケジュール実行されるか否かを判定する。具体的には、ステップ20020で抽出した管理操作スケジュールの中に、該当の管理操作と同一の管理操作であり且つ、同一の管理対象を持つスケジュールが1つ以上存在していれば、当該管理操作がスケジュール実行されると判定する。当該管理操作がスケジュール実行されると判定された場合は、処理はステップ20100に遷移する。当該管理操作がスケジュール実行されると判定されなかった場合は、処理はステップ20090に遷移する。
【0080】
ステップ20090にて、再学習要否判定プログラム5280は、当該管理対象を監視するためのMLモデルの再学習は不要と判定する。本ステップの実行後、処理はステップ20140に遷移し、終了する。
【0081】
ステップ20100にて、再学習要否判定プログラム5280は、当該管理対象を監視するためのMLモデルの再学習が必要と判定する。
【0082】
ステップ20110にて、再学習要否判定プログラム5280は、当該管理対象について、管理操作が行われる予定があるか否かを判定する。具体的には、ステップ20020で抽出した管理操作スケジュールが1つ以上存在していれば、管理操作が行われる予定があると判定する。管理操作が行われる予定があると判定された場合は、処理はステップ20120に遷移する。管理操作が行われる予定があると判定されなかった場合は、処理はステップ20130に遷移する。
【0083】
ステップ20120にて、再学習要否判定プログラム5280は、当該管理対象に対して行われることが予定されていた管理操作が完了した後に、当該管理対象を監視するためのMLモデルの再学習を実行するようにスケジュールする。
【0084】
ステップ20130にて、再学習要否判定プログラム5280は、学習プログラム5260の再学習処理を呼び出す。当該処理の詳細は後述する。本ステップの実行後、処理はステップ20140に遷移し、終了する。
【0085】
図9は、学習プログラム5260により実行される再学習処理の処理手順の一例を示すフローチャートである。学習プログラム5260は、
図9に示す手順に従って、MLモデルの再学習を行う。
【0086】
ステップ30010にて本処理が開始される。なお、本処理は、再学習要否判定プログラム5280が、
図8に示す再学習要否判定処理を行う際に、ステップ20130にて本処理を呼び出すことにより開始するものとする。ただし、これに限らず、本処理が他の方法で開始されても良い。
【0087】
本実施形態では、再学習要否判定プログラム5280がステップ20100にて再学習が必要と判定したMLモデルの識別子と、ステップ20030で管理操作が行われたか否かの判定結果と、ステップ20120で管理操作の完了後に再学習を実行するようにスケジュールしたか否かの情報と、IT管理プログラム5210が
図7に示す監視処理フローのステップ10060で閾値より大きな乖離があると判定した時刻とが、本処理を呼び出す際に学習プログラム5260に渡されるものとする。
【0088】
ステップ30020にて、学習プログラム5260は、再学習要否判定プログラム5280がステップ20030で管理操作が行われたと判定したか否かを判定する。管理操作が行われたと判定された場合は、処理はステップ30050に遷移する。管理操作が行われたと判定されなかった場合は、処理はステップ30030に遷移する。
【0089】
ステップ30030にて、学習プログラム5260は、IT管理プログラム5210が
図7に示す監視処理フローのステップ10060で閾値より大きな乖離があると判定した時刻以降のメトリクスデータを再学習データに選定する。
【0090】
ステップ30040にて、学習プログラム5260は、ステップ30030で選定した再学習データを用いて該当MLモデルの再学習を実行する。本ステップの実行後、処理はステップ30130に遷移し、終了する。
【0091】
ステップ30050にて、学習プログラム5260は、再学習要否判定プログラム5280が
図8に示す再学習要否判定処理のステップ20120で管理操作の完了後に再学習を実行するようにスケジュールしたか否かを判定する。管理操作の完了後に再学習を実行するようにスケジュールしたと判定された場合は、処理はステップ30060に遷移する。管理操作の完了後に再学習を実行するようにスケジュールしたと判定されなかった場合は、処理はステップ30100に遷移する。
【0092】
ステップ30060にて、学習プログラム5260は、スケジュールされた管理操作の実行が完了するのを待つ。
【0093】
ステップ30070にて、学習プログラム5260は、IT管理プログラム5210が
図7に示す監視処理フローのステップ10060で閾値より大きな乖離があると判定した時刻以前のメトリクスデータの傾向と、現在のメトリクスデータの傾向と、を比較する。メトリクスデータの傾向を比較する方法は特に限定されないが、例えば、当該両データの統計的特徴量を比較することにしてもよい。
【0094】
ステップ30080にて、学習プログラム5260は、当該両データの傾向に閾値よりも大きな差があるか否かを判定する。当該両データの傾向に閾値よりも大きな差があると判定された場合は、処理はステップ30100に遷移する。当該両データの傾向に閾値よりも大きな差があると判定されなかった場合は、処理はステップ30090に遷移する。
【0095】
ステップ30090にて、学習プログラム5260は、当該MLモデルの再学習は不要と判定する。これは、当該MLモデルの監視対象である管理対象に対して管理操作が行われた結果、当該MLモデルに発生したコンセプトドリフトが解消したため、再学習が不要となったケースに対応する処理である。現在のメトリクスデータの傾向が、IT管理プログラム5210が
図7に示す監視処理フローのステップ10060で閾値より大きな乖離があると判定した時刻以前のメトリクスデータの傾向に近い傾向に戻っている。本ステップの実行後、処理はステップ30130に遷移し、終了する。
【0096】
ステップ30100にて、学習プログラム5260は、ステップ30060で実行が完了するのを待った管理操作が実行された時刻よりも後のメトリクスデータを再学習データに選定する。
【0097】
ステップ30110にて、学習プログラム5260は、再学習データの期間内に再学習不要と判定された別の管理操作が含まれるか否かを判定する。再学習データの期間内に再学習不要と判定された別の管理操作が含まれると判定された場合は、処理はステップ30120に遷移する。再学習データの期間内に再学習不要と判定された別の管理操作が含まれると判定されなかった場合は、処理はステップ30040に遷移する。
【0098】
ステップ30120にて、学習プログラム5260は当該別の管理操作の実行期間の再学習データを補正する。
【0099】
ここで1つの例を用いて、ステップ30110の処理とステップ30120の処理とを説明する。
図10は、再学習データの補正の様子を示す概念図である。
図10の計算環境200では、「Pool-1」で示される記憶容量プールから「Vol-1」で示されるボリュームが切り出され、「Host-1」で示される計算機3000に割り当てられている。「MLモデル-1」で示されるMLモデルは、当該プールの性能の将来値を予測するMLモデルである。
【0100】
グラフ210は、当該プールの性能(Busy Rate)の一例を示している。グラフ210には、当該プールの性能の実測値に加えて、当該MLモデルが予測した将来値も図示されている。実線のグラフが予実差が小さいときの実測値を示し、破線のグラフが予実差が大きいときの実測値を示している。点線のグラフは予実差が大きいときの予測値を示している。
【0101】
ここで、「t0」で示される時刻に、「Vol-1」で示されるボリュームから別のボリュームに対してデータコピーが開始されたとする。グラフ210には、この操作を実行したことにより、当該プールの性能として予測値から大きく乖離した実測値が観測された様子、すなわちコンセプトドリフトが発生した様子が示されている。なお、本例において、当該データコピーは単発で実行されたものであり、このとき「MLモデル-1」で示されるMLモデルは再学習すべきではないと判定されるものとする。
【0102】
次に「t1」で示される時刻に、「Pool-1」で示される記憶容量プールから、「Vol-2」で示されるボリュームが切り出され、「Host-2」で示される計算機3000に割り当てられたとする。これにより「Pool-1」で示される記憶容量プールには、「Host-2」で示される計算機3000からのデータI/Oが継続的に入るようになる。このことも当該プールの性能について、予測値と実測値を乖離させる一因となる。なお、本例において当該ボリューム割り当てはホストI/Oを変化させる操作である。そのため、このとき「MLモデル-1」で示されるMLモデルは再学習すべきと判定されるものとする。
【0103】
次に「t2」で示される時刻に、「t0」で示される時刻に開始されたデータコピーが終了する。
【0104】
前述の通り、学習プログラム5260は、
図9に示す再学習処理のステップ30110にて、再学習データの期間内に再学習は不要と判定された別の管理操作が含まれるか否かを判定する。本例において、再学習データの期間は、「t1」で示される時刻以降のデータである。しかし、本例において、「t1」で示される時刻から「t2」で示される時刻の間は、再学習は不要と判定された別の管理操作、すなわちデータコピーが行われている。したがって、学習プログラム5260は、再学習処理のステップ30110にて、再学習データの期間内に再学習不要と判定された別の管理操作が含まれると判定する。
【0105】
続いて、学習プログラム5260は、ステップ30120にて、当該別の管理操作の実行期間の再学習データを補正する。本例では、「t1」で示される時刻から「t2」で示される時刻までの再学習データが補正の対象である。
【0106】
図10の図表220は再学習データの補正方法の一例を示している。図表220にて、時刻221は、「t1」で示される時刻から「t2」で示される時刻までの間の単位時間ごとの時刻を示している。Pool-1 Busy Rate予実差222は、各時刻における、「Pool-1」で示される記憶容量プールの性能であるBusy Rateの予測値と実測値との差分を示している。
【0107】
Pool-1 IOPS(Host由来)223は、「Pool-1」で示される記憶容量プールに対して発行されたIOPS(Input Output Per Second)のうち、「Host-1」または「Host-2」で示される計算機3000から発行されたIOPSを示している。ここでは単位時間に発行されたIOPSの平均値や最大値を利用しても良い。Pool-1 IOPS(コピー由来)224は、「Pool-1」で示される記憶容量プールに対して発行されたIOPSのうち、データコピーによって発行されたIOPSを示している。
【0108】
Pool-1 Busy Rate(補正)225は、Pool-1 Busy Rate予実差222を補正した後のBusy Rateを示している。ここではデータの補正は、Pool-1 Busy Rate予実差222の値に、Pool-1 IOPS(Host由来)223で示されるIOPSとPool-1 IOPS(コピー由来)224で示されるIOPSの合計値におけるPool-1 IOPS(Host由来)223で示されるIOPSの割合を乗算することで行う例を示している。例えば、220-1で示されるレコードでは、時刻「t1-1」におけるPool-1 Busy Rate予実差の値は10である。これにIOPSの合計値2000におけるPool-1 IOPS(Host由来)の値1000の割合、すなわち、1000/(1000+1000)を乗算することで、Pool-1 Busy Rate(補正)の値を5と算出している。なお、データ補正の方法はこれに限らず他の方法で補正を行っても良い。例えば、ストレージ装置4000の性能シミュレータなどを用いて、ホストから発行されたI/Oのメトリクスデータから記憶容量プールのBusy Rateを見積もり、その見積もり値を補正データとして利用しても良い。ホストから発行されたI/Oのメトリクスデータは、Read IOPS, Write IOPS, Read Transfer Rate, Write Transfer Rateなどである。
【0109】
図11は、再学習要否の判定結果を表示するための画面の一例を示す図である。
図11には、再学習要否判定プログラム5280が
図8に示す再学習要否判定処理を実行した後に表示される再学習要否の判定結果の画面の一例が示されている。
【0110】
再学習要否判定結果の表示画面例5280Aは、管理対象表示欄5280A1、性能グラフ表示欄5280A2、管理操作による影響表示欄5280A3、性能異常に対する対処表示欄5280A4、再学習要否判定結果表示欄5280A5、OKボタン5280A6、及び再学習実行ボタン5280A7を備えて構成される。
【0111】
管理対象表示欄5280A1には、IT管理プログラム5210によって管理されている対象の機器およびコンポーネントの識別子が表示される。
【0112】
性能グラフ表示欄5280A2には、当該管理対象の性能値gグラフとして表示される。ここでは、当該管理対象の性能値の実測値と、当該管理対象に割り当てられたMLモデルが算出した予測値とが表示される。ここで表示されるデータは、IT管理プログラム5210が
図7に示す監視処理を行った際に、ステップ10030で取得したメトリクスデータとステップ10040で取得した推論結果である。
【0113】
管理操作による影響表示欄5280A3には、当該管理対象についてコンセプトドリフトの原因となった管理操作と、当該管理操作による影響と、当該管理操作のスケジュールの有無とが表示される。ここで表示される情報は、再学習要否判定プログラム5280が、
図8に示す再学習要否判定処理を行った際にステップ20040で取得した管理操作による影響の情報と、ステップ20020で取得した管理操作ログおよび管理操作スケジュールとである。
【0114】
性能異常に対する対処表示欄5280A4には、当該管理対象において発生した性能異常に対する対処として実行することが予定されている管理操作と、その実行予定日時とが表示される。ここで表示される情報は、IT管理プログラム5210が、
図7に示す監視処理を行った際に、ステップ10070で計画した対処の情報である。
【0115】
再学習要否判定結果表示欄5280A5には、再学習要否の判定結果の説明が表示される。ここで表示される情報は、再学習要否判定プログラム5280が、
図8に示す再学習要否判定処理を行った際に、ステップ20030、ステップ20050、ステップ20060、ステップ20070、及びステップ20080の各ステップにおいて、どの分岐を通過したかに応じて選択された、予め用意された説明文である。
【0116】
OKボタン5280A6は、再学習要否判定結果の表示画面を閉じるためのボタンである。
【0117】
再学習実行ボタン5280A7は、当該MLモデルの再学習を実行するためのボタンである。ユーザが当該ボタンを押下すると、学習プログラム5260は、
図9に示す再学習処理を実行する。なお、この場合は、当該再学習処理のうちステップ30030及びステップ30040のみを実行しても良い。これによりユーザは、再学習要否判定プログラム5280の判定結果によらず、再学習を実行することができる。
【0118】
図11に示す例では、管理対象表示欄5280A1に示すように、「Storage-01」で示されるストレージ装置4000が備える「Pool-01」で示される記憶容量プールについて、当該プールに割り当てられたMLモデルの再学習要否の判定結果が示されている。性能グラフ表示欄5280A2には、当該プールの性能を示すBusy Rateの予測値に対し、閾値よりも大きな差を持った実測値が観測された様子が示されている。また、管理操作による影響表示欄5280A3には、この予実差に表された性能異常の発生原因となった管理操作として、「Vol-01」で示されるボリュームに対するデータコピーの操作が示されている。それにより、「I/O発生」の影響があったことが示されている。また、当該データコピー操作はスケジュール実行されるものではないことが示されている。この場合、
図8に示す再学習要否判定処理によれば、ステップ20030の判定結果は「YES」、ステップ20050の判定結果は「NO」、ステップ20060の判定結果は「NO」、ステップ20070の判定結果は「YES」、ステップ20080の判定結果は「NO」となり、再学習は不要と判定される。性能異常に対する対処表示欄5280A4には、この予実差に対する対処として、管理操作が予定されていないことが示されている。再学習要否判定結果表示欄5280A5には、この予実差が管理操作による一時的な性能への影響によって発生したと再学習要否判定プログラム5280が判定したため、MLモデルの再学習を実行しないという判定結果が示されている。
【0119】
【0120】
図12では、管理操作による影響表示欄5280B3にて、当該データコピー操作がスケジュール実行されることが示されている。この場合、
図8に示す再学習要否判定処理において、ステップ20030の判定結果は「YES」、ステップ20050の判定結果は「NO」、ステップ20060の判定結果は「NO」、ステップ20070の判定結果は「YES」、ステップ20080の判定結果は「YES」となり、再学習が必要と判定される。このため再学習要否判定結果表示欄5280B5には、この予実差に表された性能異常がデータコピーなどの管理操作による性能影響によって発生し、且つ当該管理操作がスケジュール実行されるため、MLモデルの再学習を実行すると再学習要否判定プログラム5280が判定したという判定結果を示している。
【0121】
図13では、管理対象表示欄5280C1に示すように、「Storage-02」で示されるストレージ装置4000が備える、「Pool-01」で示される記憶容量プールについて、当該プールに割り当てられたMLモデルの再学習要否の判定結果が示されている。管理操作による影響表示欄5280C3には、当該プールで観測された予実差に表された性能異常の原因が、「Host-11」で示される計算機3000に「Vol-02」で示されるボリュームを割り当てたことであり、それにより「ホストI/O変化」という影響があったことが示されている。この場合、
図8に示す再学習要否判定処理において、ステップ20030の判定結果は「YES」、ステップ20050の判定結果は「YES」となり、再学習が必要と判定される。性能異常に対する対処表示欄5280C4には、この予実差に対する対処として、「Vol-02」で示されるボリュームの記憶容量の提供元を、「Pool-02」で示される記憶容量プールに移行する管理操作が「2021/02/02 00:30:00」で示される時刻に実行される予定であることが示されている。この場合、
図8の再学習要否判定処理において、ステップ20110の判定結果が「YES」となり、当該管理操作の完了後に再学習を実行するようにスケジュールされる。このため再学習要否判定結果表示欄5280C5には、再学習要否判定プログラム5280が、この予実差に表された性能異常が管理操作であるボリューム割り当てによる性能影響によって発生したと判定し、且つ性能異常に対する対処としてボリューム移行が予定されていることから、当該対処の実行後にMLモデルの再学習を実行すると判定したという判定結果が示されている。
【0122】
図14では
図13と同様に、管理対象表示欄5280D1に示すように、「Storage-02」で示されるストレージ装置4000が備える、「Pool-01」で示される記憶容量プールについて、当該プールに割り当てられたMLモデルの再学習要否の判定結果が示されている。管理操作による影響表示欄5280D3には、当該プールで観測された予実差に表された性能異常の原因となった管理操作が存在しないことが示されている。この場合、
図8に示す再学習要否判定処理において、ステップ20030の判定結果は「NO」となり、再学習が必要と判定される。性能異常に対する対処表示欄5280D4には、この予実差に表された性能異常に対する対処として、「Vol-02」で示されるボリュームの記憶容量の提供元を、「Pool-02」で示される記憶容量プールに移行する管理操作が「2021/02/02 00:30:00」で示される時刻に実行される予定であることが示されている。この場合、
図8に再学習要否判定処理によれば、ステップ20110の判定結果が「YES」となり、当該管理操作の完了後に再学習を実行するようにスケジュールされる。このため再学習要否判定結果表示欄5280D5には、再学習要否判定プログラム5280が、この予実差に表された性能異常がホストである計算機3000からのI/Oが変化したことによって発生したと判定し、且つ性能異常に対する対処としてボリューム移行が予定されていることから、当該対処の実行後にMLモデルの再学習を実行すると判定したという判定結果が示されている。
【0123】
以上説明したように、本実施形態の計算機システム100では、管理計算機5000が、管理対象である計算機3000及びストレージ装置4000のメトリクスデータを監視し、MLモデルが算出したメトリクスデータの将来値の予測結果と、メトリクスデータの実測値との間に閾値より大きな乖離すなわちコンセプトドリフトがあるか否かを判定する。さらに管理計算機5000は、コンセプトドリフトがあると判定した場合、管理対象に対して管理操作が与える影響を定義したテーブルと、計算機3000及びストレージ装置4000に対して実行された管理操作のログと、今後実行される予定の管理操作のスケジュールと、に基づいてMLモデルの再学習の要否を判定する。そして、管理計算機5000は、MLモデルの再学習が必要と判定した場合、当該MLモデルを用いて監視する管理対象に対して管理操作の実行が予定されているか否かを判定し、管理操作の実行が予定されている場合には、当該管理操作の完了後にMLモデルの再学習を行うようにスケジュールする。MLモデルの再学習の実行に際し、管理計算機5000は、適切な再学習データを選定し、MLモデルの再学習を実行する。
【0124】
従って、本実施形態の管理計算機5000によれば、コンセプトドリフトの発生原因となった管理操作と、当該管理操作が管理対象に対して与える影響と、当該管理対象に対して実行が予定されている管理操作と、に応じて適切にMLモデルの再学習要否を判定することができるため、MLモデルの不要な再学習を避けると共に、再学習を実行するタイミングを適性化する方法を実現できる。
【0125】
なお、本実施形態ではMLを活用するシステムの一例としてIT運用管理システムを用いて説明したが、本願発明の適用対象はIT運用管理システムに限らず、別の適用対象であっても良い。
【0126】
また、本実施形態には以下に示す事項が含まれている。ただし、本実施形態に含まれる事項が以下に示すものだけに限定されることはない。
【0127】
(事項1)
プロセッサと記憶装置を有し、前記プロセッサが前記記憶装置に格納されたソフトウェアプログラムを実行することにより実現される、管理対象から取得される監視データを推論するための機械学習モデルを生成する機械学習モデル生成部と、前記機械学習モデルを用いて推論処理を行う推論処理部と、前記推論処理の結果を用いて前記管理対象を管理する管理部と、前記機械学習モデルの再学習の要否を判定する再学習要否判定部と、を備える管理装置であって、
前記管理部は、
前記管理対象に対する管理操作が前記管理対象に与える影響を定義した操作影響情報と、前記管理対象に対して実行された管理操作を記録した管理操作ログと、前記管理対象に対して実行されることが計画または推測される管理操作を示す管理操作スケジュールと、を備え、
前記管理対象から取得された監視データである実測監視データと、前記推論処理部により前記監視データを予測する推論処理の結果である予測監視データと、の差が所定の閾値を超えるか否か判定し、
前記再学習要否判定部は、
前記差が前記閾値を超えたら前記差を有意差とし、前記操作影響情報と、前記管理操作ログと、前記管理操作スケジュールと、に基づいて、前記有意差が一時的なものか継続するものか否か判定し、
前記有意差が継続するものと判定したら、前記機械学習モデルの再学習を実行すべきと判定する、
管理装置。
これによれば、実測監視データと予測監視データとに有意差が生じたときに、その有意差が一時的な管理操作によるものか継続的に発生するものかを判定し、継続的に発生するものである場合に機械学習モデルの再学習を行うべきと判定するので、機械学習モデルの適切な再学習が可能になる。
【0128】
(事項2)
事項1に記載の管理装置であって、
前記管理対象は、1または複数の計算機を備える計算機システムであり、
前記操作影響情報は、前記1または複数の計算機の間でやりとりされるデータ入出力への影響を定義した情報を含み、
前記再学習要否判定部は、
前記管理対象に対して実行された管理操作が、前記1または複数の計算機の間でやりとりされるデータ入出力を増加あるいは減少させるか否かを判定し、
前記管理操作が前記データ入出力を増加あるいは減少させると判定した場合は、前記有意差が継続するものであると判定する、
管理装置。
これによれば、計算機システムにおける管理操作によるデータ入出力への影響を考慮して、機械学習モデルの再学習の要否を判定するので、計算機システムに関する推論処理を行うための機械学習モデルの適切な再学習が可能になる。
【0129】
(事項3)
事項1に記載の管理装置であって、
前記管理対象は、1または複数の計算機を備える計算機システムであり、
前記操作影響情報は、前記1または複数の計算機の間でやりとりされるデータ入出力の処理負荷に対する影響の情報を含み、
前記再学習要否判定部は、
前記管理対象に対して実行された管理操作が、前記1または複数の計算機の間でやりとりされるデータ入出力により前記計算機にかかる処理負荷を変化させるか否かを判定し、
前記管理操作が前記処理負荷を変化させると判定した場合は、前記有意差が継続するものであると判定する、
管理装置
これによれば、計算機システムにおける管理操作によるデータ入出力による計算機へかかる処理負荷への影響を考慮して、機械学習モデルの再学習の要否を判定するので、計算機システムに関する推定処理を行うための機械学習モデルの適切な再学習が可能になる。
【0130】
(事項4)
事項1に記載の管理装置であって、
前記管理対象は、1または複数の計算機を備える計算機システムであり、
前記操作影響情報は、管理操作の種別と該種別の管理操作が前記1または複数の計算機に対してデータ入出力を発生させるものであるか否かとを対応付ける情報を含み、
前記再学習要否判定部は、
前記管理操作ログに基づき、前記管理対象に対して実行された管理操作が前記1または複数の計算機に対してデータ入出力を発生させる種別であるか否か判定し、
前記管理操作が前記データ入出力を発生させる種別であった場合には、前記スケジュールに基づいて、前記管理操作が継続して実行されるものであるか否かを判定し、
前記管理操作が継続して実行されるものであると判定した場合は、前記有意差が継続するものであると判定する、
管理装置。
これによれば、計算機システムにおける管理操作によるデータ入出力による計算機へかかる処理負荷への影響を考慮して、機械学習モデルの再学習の要否を判定するので、計算機システムに関する推定処理を行うための機械学習モデルの適切な再学習が可能になる。
【0131】
(事項5)
事項1に記載の管理装置であって、
前記再学習要否判定部は、
前記機械学習モデルの再学習を実行すべきと判定した場合に、前記管理操作スケジュールに基づいて、前記管理対象への管理操作の実行が予定されているか否か判定し、
前記管理操作の実行が予定されていれば、前記機械学習モデルの再学習を、前記管理操作の実行が完了するまで実行させない、
管理装置。
これによれば、機械学習モデルの再学習を行うときに管理操作が予定されていればその管理操作が完了した後に再学習を行うので、管理操作による再学習後の機械学習モデルへの影響を低減することができる。
【0132】
(事項6)
事項5に記載の管理装置であって、
前記再学習要否判定部は、
前記予定されていた管理操作が実行された後に前記管理対象から実測監視データを管理操作後実測監視データとして取得し、該管理操作後実測監視データと、前記有意差が発生する前に取得された実測監視データである有意差発生前実測監視データとの差が所定の閾値を超えているか否か判定し、前記差が前記閾値を超えていなければ、前記機械学習モデルの再学習を実行しない、
管理装置。
これによれば、機械学習モデルの再学習を行うときに管理操作が予定されていればその管理操作が完了した後に再学習を行うので、例えば有意差を解消するための管理操作により有意差が解消したような場合に不要な再学習を抑制することができる。
【0133】
(事項7)
事項1に記載の管理装置であって、
前記管理部は、
前記管理対象に対する管理操作が実行されたら、前記管理操作の完了後に前記管理対象に生じる変化を監視し、
前記管理対象に生じた変化に基づいて、前記操作影響情報を更新する、
管理装置。
これによれば、操作影響情報を実際に起こる状況に合わせて更新することができる。
【0134】
(事項8)
事項1に記載の管理装置であって、
前記管理部は、
前記管理操作ログに基づいて、前記管理対象に対して周期的に実行される管理操作を周期管理操作として特定し、
前記管理操作ログに基づいて、前記周期管理操作の将来の実行時刻を予測し、
前記周期管理操作と前記将来の実行時刻とを前記管理操作スケジュールに登録する、
管理装置。
これによれば、周期的に実行されている管理操作を管理操作スケジュールに反映するので、有意差が継続的なものかどうかの判定をより正しく行うことが可能になる。
【0135】
(事項9)
事項1に記載の管理装置であって、
前記管理部は、前記再学習要否判定部が前記機械学習モデルの再学習を実行すべきと判定したら、前記管理対象から取得した監視データのうち、前記有意差を継続して発生させる原因である管理操作が完了した時刻より後に取得された監視データを、前記機械学習モデルの再学習に学習データとして用いる、
管理装置。
これによれば、機械学習モデルを再学習すべきと判定したときの有意差の原因となった管理操作が完了した後の監視データを学習データとするので、有意差が生じた後の新しい状態を反映した機械学習モデルを生成することが可能となる。
【0136】
(事項10)
事項1に記載の管理装置であって、
前記再学習要否判定部は、前記機械学習モデルを再学習すべきと判定したら、前記継続する有意差の原因である第1の管理操作と異なる第2の管理操作が、前記機械学習モデルの再学習に用いる学習データが取得された時間内に実行されていたら、前記学習データから前記第2の管理操作の影響を除外するように補正して前記再学習に用いる、
管理装置。
これによれば、学習データから他の管理操作の影響を除外するので、継続的な状態を反映した機械学習モデルを生成することができる。
【0137】
(事項11)
事項1に記載の管理装置であって、
前記再学習要否判定部が前記機械学習モデルを再学習すべきと判定したら、前記操作影響情報と前記管理操作ログと前記管理操作スケジュールと、に基づいて、前記有意差が継続して発生すると判定した根拠に関する情報を表示する表示部を更に備える、
管理装置。
これによれば、再学習すると判定した根拠に関する情報を表示するので、再学習となった根拠を容易に知ることができる。
【0138】
(事項12)
プロセッサと記憶装置を有し、前記プロセッサが前記記憶装置に格納されたソフトウェアプログラムを実行することにより実現される、管理対象から取得される監視データを推論するための機械学習モデルを生成する機械学習モデル生成部と、前記機械学習モデルを用いて推論処理を行う推論処理部と、前記推論処理の結果を用いて前記管理対象を管理する管理部と、前記機械学習モデルの再学習の要否を判定する再学習要否判定部と、を備えるコンピュータが実行する管理方法であって、
前記管理部が、
前記管理対象に対する管理操作が前記管理対象に与える影響を定義した操作影響情報と、前記管理対象に対して実行された管理操作を記録した管理操作ログと、前記管理対象に対して実行されることが計画または推測される管理操作を示す管理操作スケジュールと、を記録し、
前記管理対象から取得された監視データである実測監視データと、前記推論処理部により前記監視データを予測する推論処理の結果である予測監視データと、の差が所定の閾値を超えるか否か判定し、
前記再学習要否判定部が、
前記差が前記閾値を超えたら前記差を有意差とし、前記操作影響情報と、前記管理操作ログと、前記管理操作スケジュールと、に基づいて、前記有意差が一時的なものか継続するものか否か判定し、
前記有意差が継続するものと判定したら、前記機械学習モデルの再学習を実行すべきと判定する、
管理方法。
【産業上の利用可能性】
【0139】
本開示に含まれるひとつの態様による装置および方法は、機械学習を活用するシステムの運用を通じて継続的に品質を維持し改善するシステム運用管理装置に適用して好適なものである。
【符号の説明】
【0140】
100…計算機システム、200…計算環境、1000…計算環境、2000…計算環境、3000…計算機、4000…ストレージ装置、5000…管理計算機、5100…プロセッサ、5200…メモリ、5210…IT管理プログラム、5220…管理対象テーブル、5230…構成情報テーブル、5240…管理操作テーブル、5250…操作影響テーブル、5260…学習プログラム、5270…推論プログラム、5280…再学習要否判定プログラム、5300…記憶装置、5310…学習データ、5320…MLモデル、5330…推論結果データ、5400…管理ネットワークインタフェース、5500…I/Oデバイス、6000…データストア、7000…データネットワーク、8000…管理ネットワーク、9000…広域ネットワーク