(57)【要約】【課題】障害の事前予測の精度を向上させる。【解決手段】情報処理装置１０は、情報処理システム１の部品を示す構成情報１１と、発生した障害を示す障害情報１２とに基づいて、部品の条件と障害発生確率との関係を示すモデル１３を学習する処理を行う。情報処理装置２０は、情報処理システム２の部品を示す構成情報２１と、発生した障害を示す障害情報２２とに基づいて、部品の条件と障害発生確率との関係を示すモデル２３を学習する処理を行う。情報処理装置２０は、モデル２３を用いて特定の部品条件２４に対応する障害発生確率２５を算出し、部品条件２４を情報処理装置１０に送信する処理を行う。情報処理装置１０は、モデル１３を用いて部品条件２４に対応する障害発生確率１５を算出して情報処理装置２０に送信する処理を行う。情報処理装置２０は、障害発生確率１５，２５に基づいて部品条件２４に該当する部品の将来の障害発生を判定する処理を行う。【選択図】図１
2020030628.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報処理システムに含まれる第１の部品を示す第１の構成情報と、前記第１の部品に発生した障害を示す第１の障害情報とに基づいて、部品の条件と当該条件に該当する部品の障害発生確率との関係を示す第１のモデルを学習する処理と、ある部品条件を受信すると、前記受信した部品条件に対応する障害発生確率を前記第１のモデルを用いて算出し、前記算出した障害発生確率を送信する処理とを行う第１の情報処理装置と、
第２の情報処理システムに含まれる第２の部品を示す第２の構成情報と、前記第２の部品に発生した障害を示す第２の障害情報とに基づいて、部品の条件と当該条件に該当する部品の障害発生確率との関係を示す第２のモデルを学習する処理と、特定の部品条件に対応する第２の障害発生確率を前記第２のモデルを用いて算出し、前記特定の部品条件を前記第１の情報処理装置に送信して前記第１のモデルに基づく第１の障害発生確率を前記第１の情報処理装置から受信し、前記第１の障害発生確率と前記第２の障害発生確率とに基づいて前記特定の部品条件に該当する部品の将来の障害発生を判定する処理とを行う第２の情報処理装置と、
を有する監視システム。
【請求項２】
前記第１のモデルは、階層的な部品の条件によって前記第１の部品を複数のグループに分類する第１の決定木であり、前記第２のモデルは、階層的な部品の条件によって前記第２の部品を複数のグループに分類する第２の決定木である、
請求項１記載の監視システム。
【請求項３】
前記第１の情報処理装置は、前記第１の情報処理システムに含まれる第１のセンサデバイスから前記第１の部品の使用状況を示す第１のセンサ情報を取得し、
前記第２の情報処理装置は、前記第２の情報処理システムに含まれる第２のセンサデバイスから前記第２の部品の使用状況を示す第２のセンサ情報を取得し、
前記第１のモデルおよび前記第２のモデルが規定する部品の条件は、構成情報が示す部品の種類に対する条件と、センサ情報が示す部品の使用状況に対する条件とを含む、
請求項１記載の監視システム。
【請求項４】
前記部品の種類に対する条件は、部品の製造日および部品が有するファームウェアのバージョンの少なくとも一方を含み、前記部品の使用状況に対する条件は、測定された温度および測定された湿度の少なくとも一方を含む、
請求項３記載の監視システム。
【請求項５】
前記第２の情報処理装置は、前記第２のモデルを用いて算出される障害発生確率が閾値以上である部品の条件を前記特定の部品条件として選択する、
請求項１記載の監視システム。
【請求項６】
前記第２の情報処理装置は、前記特定の部品条件に対して複数の第１の情報処理装置における前記第１の障害発生確率および前記第２の障害発生確率を含む複数の障害発生確率を取得し、前記複数の障害発生確率のうち閾値以上の障害発生確率の個数に基づいて、前記特定の部品条件に該当する部品に将来障害が発生するか否かを判定する、
請求項１記載の監視システム。
【請求項７】
第２の情報処理システムに含まれるコンピュータが、
前記第２の情報処理システムに含まれる部品を示す構成情報と、前記第２の情報処理システムの部品に発生した障害を示す障害情報とに基づいて、部品の条件と当該条件に該当する部品の障害発生確率との関係を示すモデルを学習し、
前記モデルを用いて特定の部品条件に対応する第２の障害発生確率を算出し、
第１の情報処理システムに含まれる他のコンピュータに前記特定の部品条件を送信し、前記他のコンピュータにより算出された前記特定の部品条件に対応する第１の障害発生確率を前記他のコンピュータから受信し、
前記第１の障害発生確率と前記第２の障害発生確率とに基づいて前記特定の部品条件に該当する部品の将来の障害発生を判定する、
監視方法。
【請求項８】
第２の情報処理システムに含まれるコンピュータに、
前記第２の情報処理システムに含まれる部品を示す構成情報と、前記第２の情報処理システムの部品に発生した障害を示す障害情報とに基づいて、部品の条件と当該条件に該当する部品の障害発生確率との関係を示すモデルを学習し、
前記モデルを用いて特定の部品条件に対応する第２の障害発生確率を算出し、
第１の情報処理システムに含まれる他のコンピュータに前記特定の部品条件を送信し、前記他のコンピュータにより算出された前記特定の部品条件に対応する第１の障害発生確率を前記他のコンピュータから受信し、
前記第１の障害発生確率と前記第２の障害発生確率とに基づいて前記特定の部品条件に該当する部品の将来の障害発生を判定する、
処理を実行させる監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は監視システム、監視方法および監視プログラムに関する。
【背景技術】
【０００２】
データセンタなどの大規模情報処理システムは、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）など、継続的使用によって障害が発生する可能性が高くなるため交換が想定されている部品を多く含んでいる。実際に障害が発生してから部品を交換していると、情報処理システムの可用性が低下するおそれがあるため、障害発生の可能性が高くなった部品を事前に判定して障害発生前に交換することが行われている。例えば、過去の障害発生事例から、障害が発生する可能性が高い部品の条件を示すモデルを学習し、情報処理システムから収集する情報とモデルとを照合して障害発生の可能性が高い部品を検出することが行われている。
【０００３】
なお、複数のストレージ装置と監視サーバとを有する監視システムが提案されている。監視サーバは、何れか１つのストレージ装置に異常が発生すると、異常が発生したストレージ装置の動作情報および構成情報を収集し、異常が発生していないストレージ装置の動作情報および構成情報を収集する。監視サーバは、前者の動作情報および構成情報と後者の動作情報および構成情報との比較によって、異常原因を判定する。
【０００４】
また、システム障害の予兆を検出する予兆監視システムが提案されている。提案の予兆監視システムは、システムからイベントメッセージを収集し、イベント種別と障害との間の関係を分析して障害予兆の判定条件を学習する。また、複数のデータセンタの信頼性向上を支援する管理装置が提案されている。提案の管理装置は、各データセンタのシステム構成情報を保持し、障害発生条件を示す最新の障害報告とシステム構成情報とを照合する。管理装置は、障害発生条件に該当するデータセンタに対して障害報告を送信する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１７４２３２号公報
【特許文献２】特開２０１６−２０１０６０号公報
【特許文献３】特開２０１７−５８７８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
障害の原因には、適切な使用のもとで生じる自然劣化や不適切な使用による異常劣化など、部品の使用に起因するものが存在する。部品の使用に起因する障害は、情報処理システム毎に障害発生事例を蓄積してモデルを学習することで予測し得る。
【０００７】
一方、障害の原因には、製造不良やファームウェア不具合など、部品の製造に起因するものも存在する。例えば、部品が特定の製造日に製造されたことや特定のバージョンのファームウェアをもつことが、障害の原因の１つになっていることがある。しかし、部品の製造に起因する障害は、情報処理システム毎にモデルを学習する方法では、初めて経験する障害原因であることも多く事前に予測することが難しいという問題がある。また、複数のデータセンタなど複数の情報処理システムの間では、部品ベンダとの保守契約や秘密保持などの観点から、詳細な障害情報を直接共有することが難しく、部品の製造に起因する障害の情報が共有されにくいという問題がある。
【０００８】
１つの側面では、本発明は、障害の事前予測の精度を向上させる監視システム、監視方法および監視プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの態様では、第１の情報処理装置と第２の情報処理装置とを有する監視システムが提供される。第１の情報処理装置は、第１の情報処理システムに含まれる第１の部品を示す第１の構成情報と、第１の部品に発生した障害を示す第１の障害情報とに基づいて、部品の条件と当該条件に該当する部品の障害発生確率との関係を示す第１のモデルを学習する処理を行う。第１の情報処理装置は、ある部品条件を受信すると、受信した部品条件に対応する障害発生確率を第１のモデルを用いて算出し、算出した障害発生確率を送信する処理を行う。第２の情報処理装置は、第２の情報処理システムに含まれる第２の部品を示す第２の構成情報と、第２の部品に発生した障害を示す第２の障害情報とに基づいて、部品の条件と当該条件に該当する部品の障害発生確率との関係を示す第２のモデルを学習する処理を行う。第２の情報処理装置は、特定の部品条件に対応する第２の障害発生確率を第２のモデルを用いて算出し、特定の部品条件を第１の情報処理装置に送信して第１のモデルに基づく第１の障害発生確率を第１の情報処理装置から受信し、第１の障害発生確率と第２の障害発生確率とに基づいて特定の部品条件に該当する部品の将来の障害発生を判定する処理を行う。
【００１０】
また、１つの態様では、監視方法が提供される。また、１つの態様では、コンピュータに実行させる監視プログラムが提供される。
【発明の効果】
【００１１】
１つの側面では、障害の事前予測の精度が向上する。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態の監視システムの例を説明する図である。
【図２】第２の実施の形態の情報処理システムの例を示す図である。
【図３】管理サーバのハードウェア例を示すブロック図である。
【図４】管理サーバの機能例を示すブロック図である。
【図５】テーブルの例を示す図である。
【図６】決定木の生成例を示す第１の図である。
【図７】決定木の生成例を示す第２の図である。
【図８】決定木の生成例を示す第３の図である。
【図９】潜在障害判定の手順例を示すフローチャートである。
【図１０】潜在障害判定の手順例を示すフローチャート（続き）である。
【図１１】データセンタ間の通信例を示すシーケンス図である。
【発明を実施するための形態】
【００１３】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
第１の実施の形態を説明する。
【００１４】
図１は、第１の実施の形態の監視システムの例を説明する図である。
第１の実施の形態の監視システムは、情報処理装置１０（第１の情報処理装置）と情報処理装置２０（第２の情報処理装置）とを有する。
【００１５】
情報処理装置１０は、情報処理システム１（第１の情報処理システム）を監視して、情報処理システム１に含まれる部品（第１の部品）のうち、今後障害が発生する可能性が高い部品を障害発生前に事前に予測する。情報処理装置１０は、情報処理システム２（第２の情報処理システム）を監視して、情報処理システム２に含まれる部品（第２の部品）のうち、今後障害が発生する可能性が高い部品を障害発生前に事前に予測する。
【００１６】
情報処理システム１，２は、データセンタやクラウドコンピューティングシステムなど第三者に情報処理サービスを提供するものであってもよい。情報処理システム１，２は、離れた場所に設置されており互いに独立に運用されているものであってもよい。情報処理装置１０は情報処理システム１に属していてもよく、情報処理装置２０は情報処理システム２に属していてもよい。情報処理装置１０，２０が監視対象とする部品は、例えば、ＨＤＤなど、継続的使用によって障害が発生する可能性が高くなる部品であって、他の部品とは独立に交換可能な電子機器である。
【００１７】
例えば、情報処理装置１０は、情報処理システム１について障害発生の可能性が高い部品を検出すると、情報処理システム１の管理者や所定の管理装置などに対して警告を通知する。また、情報処理装置２０は、情報処理システム２について障害発生の可能性が高い部品を検出すると、情報処理システム２の管理者や所定の管理装置などに対して警告を通知する。ただし、情報処理装置１０が情報処理システム２の管理者や所定の管理装置などに対して警告を通知することがあってもよく、情報処理装置２０が情報処理システム１の管理者や所定の管理装置などに対して警告を通知することがあってもよい。
【００１８】
情報処理装置１０，２０は、クライアント装置であってもよいしサーバ装置であってもよい。情報処理装置１０，２０は汎用コンピュータであってもよい。例えば、情報処理装置１０，２０は、ＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）などのプロセッサを有する。情報処理装置１０，２０は、ＦＰＧＡ（Field-Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）などの専用ハードウェアを有してもよい。また、例えば、情報処理装置１０，２０は、ＲＡＭ（Random Access Memory）などの揮発性半導体メモリと、ＨＤＤやフラッシュメモリなどの不揮発性ストレージとを有する。プロセッサは、メモリに記憶されたプログラムを実行する。２以上のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うこともある。
【００１９】
ここで、情報処理装置１０と情報処理装置２０とが連携して障害の事前予測を行う。
情報処理装置１０は、情報処理システム１に含まれる部品を示す構成情報１１（第１の構成情報）と、情報処理システム１に含まれる部品に発生した障害を示す障害情報１２（第１の障害情報）とを取得する。例えば、情報処理装置１０は、情報処理システム１を監視して情報処理システム１から構成情報１１と障害情報１２を収集する。構成情報１１は、部品を製造したベンダ、部品の製造日、部品のファームウェアのバージョンなどを含んでもよい。障害情報１２は、例えば、一定期間内に障害が発生した部品を示す。情報処理装置１０は、情報処理システム１に含まれるセンサデバイスから、部品の使用状況を示すセンサ情報を更に取得するようにしてもよい。センサ情報は、部品の周辺の温度や湿度など使用環境の情報を含んでもよく、入出力エラー回数などログ情報を含んでもよい。
【００２０】
情報処理装置１０は、構成情報１１と障害情報１２に基づいて、部品の条件と当該条件に該当する部品の障害発生確率との関係を示すモデル１３（第１のモデル）を学習する。例えば、情報処理装置１０は、障害が発生した部品をそれ以外の部品と区別できるように、部品を適切にグループ化するための条件を発見してモデル１３を生成する。モデル１３は、階層的な条件によって部品を複数のグループに分類する決定木（ディシジョンツリー）であってもよい。障害発生確率は、例えば、ある条件を満たす部品のうち一定期間内に障害が発生した部品の割合として定義することが可能である。
【００２１】
１つのグループを特定するための条件は、部品の種類に対する条件および部品の使用状況に対する条件のうちの２つ以上を組み合わせたものであってもよい。例えば、ベンダＸのディスクドライブであってファームウェアのバージョンがＡ３より後の部品のグループに対して、障害発生確率０％が計算される。また、ベンダＸのディスクドライブであってファームウェアのバージョンがＡ３以前であり４０℃以下の温度下で使用していた部品のグループに対して、障害発生確率１０％が計算される。また、ベンダＸのディスクドライブであってファームウェアのバージョンがＡ３以前であり４０℃を超える温度下で使用していた部品のグループに対して、障害発生確率９０％が計算される。
【００２２】
同様に、情報処理装置２０は、構成情報２１と障害情報２２に基づいて、部品の条件と当該条件に該当する部品の障害発生確率との関係を示すモデル２３（第２のモデル）を学習する。モデル２３は、階層的な条件によって部品を複数のグループに分類する決定木であってもよい。モデル２３が示す部品の条件は、モデル１３と異なる可能性がある。
【００２３】
例えば、ベンダＸのディスクドライブであってファームウェアのバージョンがＡ３より後の部品のグループに対して、障害発生確率０％が計算される。また、ベンダＸのディスクドライブであってファームウェアのバージョンがＡ３以前であり３０℃以下の温度下で使用していた部品のグループに対して、障害発生確率２０％が計算される。また、ベンダＸのディスクドライブであってファームウェアのバージョンがＡ３以前であり３０℃を超える温度下で使用していた部品のグループに対して、障害発生確率７０％が計算される。
【００２４】
情報処理装置２０は、モデル２３を用いて特定の部品条件２４に対応する障害発生確率２５（第２の障害発生確率）を算出する。情報処理装置２０は、モデル２３が示す部品条件のうち障害発生確率が閾値以上である部品条件を部品条件２４として選択してもよい。例えば、情報処理装置２０は、部品条件２４として、ベンダＸのディスクドライブであってファームウェアのバージョンがＡ３以前であり３０℃を超える温度下で使用していたという条件を選択する。また、例えば、情報処理装置２０は、障害発生確率２５を７０％として算出する。情報処理装置２０は、部品条件２４を情報処理装置１０に送信する。
【００２５】
情報処理装置１０は、部品条件２４を受信すると、モデル１３を用いて部品条件２４に対応する障害発生確率１５（第１の障害発生確率）を算出する。例えば、情報処理装置１０は、障害発生確率１５を９０％として算出する。情報処理装置１０は、算出した障害発生確率１５を情報処理装置２０に送信する。
【００２６】
情報処理装置２０は、障害発生確率２５に加えて障害発生確率１５も考慮して、部品条件２４に該当する部品の将来の障害発生を判定する。例えば、情報処理装置２０は、収集した複数の障害発生確率のうち閾値以上である障害発生確率の個数をカウントし、カウントした個数が閾値以上である場合に、部品条件２４に該当する部品の障害発生の可能性が高いと判定する。情報処理装置２０は、情報処理システム２の管理者または所定の管理装置に警告を通知してもよい。また、情報処理装置２０は、情報処理システム１の管理者または所定の管理装置に警告を通知してもよい。なお、情報処理装置１０が、上記の情報処理装置２０と同様の処理を行うようにしてもよい。
【００２７】
第１の実施の形態の監視システムによれば、情報処理システム毎に、部品の構成情報と過去の障害発生事例が収集され、モデルが学習され、今後障害が発生する可能性の高い部品の条件が検出される。よって、障害の事前予測が可能となる。また、部品条件に温度や入出力エラー回数など部品の使用状況に関する条件を含めることで、自然劣化や不適切な使用による異常劣化に起因する障害をモデル上で表現し得る。また、部品条件に製造日やファームウェアのバージョンなど部品の製造に関する条件を含めることで、製造不良やファームウェア不具合に起因する障害をモデル上で表現し得る。
【００２８】
また、情報処理装置１０と情報処理装置２０とが情報を共有することで、障害の事前予測の精度を向上させることができる。特に、製造不良やファームウェア不具合など部品の製造に起因する障害は、情報処理システム毎にモデルを学習するだけでは、その情報処理システムにとって初めて経験する障害原因であることも多く事前に予測することが難しいことがある。そこで、複数の情報処理システムの間で情報を共有することで、他の情報処理システムにおける部品の製造に起因する障害の経験を考慮することが可能となる。また、部品の製造に起因する障害であるか否かの判定を慎重に行うことが可能となる。
【００２９】
また、情報処理装置１０と情報処理装置２０は、障害情報１２，２２そのものを共有するわけではなく、障害情報１２，２２を統計処理することによって算出された特定の部品条件２４に対応する障害発生確率１５，２５を共有する。このため、部品ベンダとの保守契約や秘密保持などの観点から、情報処理システム間で詳細な障害情報を直接共有することが難しい場合であっても、障害の事前予測に資する情報を共有することができる。
【００３０】
［第２の実施の形態］
次に、第２の実施の形態を説明する。
図２は、第２の実施の形態の情報処理システムの例を示す図である。
【００３１】
第２の実施の形態の情報処理システムは、データセンタ３１〜３３を含む。データセンタ３１〜３３は、互いに離れた場所に設置された情報処理システムであり、顧客に対して情報処理サービスを提供する。データセンタ３１〜３３はネットワーク３０に接続されている。ネットワーク３０は、インターネットなどの広域ネットワークを含む。
【００３２】
データセンタ３１は、ストレージサーバ４１、管理サーバ５１および管理者端末６１を有する。ストレージサーバ４１、管理サーバ５１および管理者端末６１は、データセンタ３１内のローカルネットワークを介してネットワーク３０に接続されている。ストレージサーバ４１は、ＨＤＤなどの不揮発性ストレージを用いてデータを管理するサーバコンピュータである。管理サーバ５１は、ストレージサーバ４１などデータセンタ３１内の電子機器を監視するサーバコンピュータである。管理者端末６１は、データセンタ３１の管理者が使用するクライアントコンピュータである。同様に、データセンタ３２は、ストレージサーバ４２、管理サーバ５２および管理者端末６２を有する。データセンタ３３は、ストレージサーバ４３、管理サーバ５３および管理者端末６３を有する。
【００３３】
管理サーバ５１は、ストレージサーバ４１に含まれるＨＤＤなどの交換可能部品の構成および動作を監視し、実際に障害が発生する前に障害の事前予測を行う。管理サーバ５１は、障害が発生する可能性が高い部品を検出すると、検出結果を管理者端末６１に通知する。管理者端末６１を使用する管理者は、例えば、検出結果が示す部品を障害発生前に新しいものに交換する。後述するように、管理サーバ５１は、検出結果を他のデータセンタの管理者が使用する管理者端末６２，６３に通知することもある。
【００３４】
同様に、管理サーバ５２は、ストレージサーバ４２に含まれるＨＤＤなどの交換可能部品を監視して障害の事前予測を行う。管理サーバ５２は、障害が発生する可能性が高い部品を検出すると、検出結果を管理者端末６２に通知し、検出結果を更に管理者端末６１，６３に通知することもある。管理サーバ５３は、ストレージサーバ４３に含まれるＨＤＤなどの交換可能部品を監視して障害の事前予測を行う。管理サーバ５３は、障害が発生する可能性が高い部品を検出すると、検出結果を管理者端末６３に通知し、検出結果を更に管理者端末６１，６２に通知することもある。
【００３５】
第２の実施の形態では、部品の監視および障害の事前予測は原則としてデータセンタ単位で行い、具体的な障害発生事例を異なるデータセンタの間で共有しない。これは、あるデータセンタで発生した障害の詳細を他のデータセンタに伝達することは、部品を製造するベンダが望まないことも多く、また、秘密情報管理の観点から制限されることも多いためである。ただし、後述するように、障害の事前予測の精度を向上させるための最小限の情報をデータセンタ３１〜３３の間で共有することとする。
【００３６】
なお、管理サーバ５１は、第１の実施の形態の情報処理装置２０に対応する。管理サーバ５２は、第１の実施の形態の情報処理装置１０に対応する。
図３は、管理サーバのハードウェア例を示すブロック図である。
【００３７】
管理サーバ５１は、ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、媒体リーダ１０６、通信インタフェース１０７およびセンサデバイス１０８を有する。ストレージサーバ４１〜４３、管理サーバ５２，５３および管理者端末６１〜６３も、管理サーバ５１と同様のハードウェアを有し得る。
【００３８】
ＣＰＵ１０１は、プログラムの命令を実行するプロセッサである。ＣＰＵ１０１は、ＨＤＤ１０３に記憶されたプログラムやデータの少なくとも一部をＲＡＭ１０２にロードし、プログラムを実行する。なお、ＣＰＵ１０１は複数のプロセッサコアを備えてもよく、管理サーバ５１は複数のプロセッサを備えてもよい。
【００３９】
ＲＡＭ１０２は、ＣＰＵ１０１が実行するプログラムやＣＰＵ１０１が演算に使用するデータを一時的に記憶する揮発性の半導体メモリである。なお、管理サーバ５１は、ＲＡＭ以外の種類のメモリを備えてもよく、複数のメモリを備えてもよい。
【００４０】
ＨＤＤ１０３は、ＯＳ（Operating System）やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性ストレージである。なお、管理サーバ５１は、フラッシュメモリやＳＳＤ（Solid State Drive）など他の種類のストレージを備えてもよく、複数のストレージを備えてもよい。
【００４１】
画像信号処理部１０４は、ＣＰＵ１０１からの命令に従って、管理サーバ５１に接続されたディスプレイ１０４ａに画像を出力する。ディスプレイ１０４ａとしては、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）、有機ＥＬ（ＯＥＬ：Organic Electro-Luminescence）ディスプレイなど、任意の種類のディスプレイを使用することができる。
【００４２】
入力信号処理部１０５は、管理サーバ５１に接続された入力デバイス１０５ａから入力信号を受信する。入力デバイス１０５ａとして、マウス、タッチパネル、タッチパッド、キーボードなど、任意の種類の入力デバイスを使用できる。また、管理サーバ５１に複数の種類の入力デバイスが接続されてもよい。
【００４３】
媒体リーダ１０６は、記録媒体１０６ａに記録されたプログラムやデータを読み取る読み取り装置である。記録媒体１０６ａとして、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）、半導体メモリなどを使用できる。媒体リーダ１０６は、例えば、記録媒体１０６ａから読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００４４】
通信インタフェース１０７は、ネットワークに接続され、ネットワークを介して他の情報処理装置と通信を行うインタフェースである。通信インタフェース１０７は、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースでもよいし、基地局やアクセスポイントに接続される無線通信インタフェースでもよい。
【００４５】
センサデバイス１０８は、部品の使用状況を示すセンサ情報を生成する。センサデバイス１０８として、ある部品の内部または周辺の温度を測定する温度センサや、ある部品の内部または周辺の湿度を測定する湿度センサなどを使用できる。センサデバイス１０８は、部品に組み込まれていることもあるし、部品の外部に配置されていることもある。
【００４６】
図４は、管理サーバの機能例を示すブロック図である。
管理サーバ５１は、データ記憶部１１１、モデル記憶部１１２、データ収集部１１３、モデル学習部１１４、障害判定部１１５および障害情報共有部１１６を有する。データ記憶部１１１およびモデル記憶部１１２は、ＲＡＭ１０２またはＨＤＤ１０３の記憶領域を用いて実現される。データ収集部１１３、モデル学習部１１４、障害判定部１１５および障害情報共有部１１６は、ＣＰＵ１０１が実行するプログラムを用いて実現される。
【００４７】
データ記憶部１１１は、ストレージサーバ４１などデータセンタ３１内の電子機器から収集した情報を記憶する。収集する情報には、ＨＤＤなど電子機器に使用される部品の構成を示す構成情報が含まれる。また、収集する情報には、ストレージサーバ４１が有するセンサデバイスで測定した情報など、各部品の使用状況を示すセンサ情報が含まれる。また、収集する情報には、部品における障害の発生を示す障害情報が含まれる。部品の障害としては、例えば、ＨＤＤのデータ消失、継続的な入出力エラー、入出力の著しい遅延などが挙げられる。ＨＤＤの障害は、例えば、基盤やモータや磁気ヘッドの劣化、データ記録面の破損、ファームウェアの不具合などによって生じ得る。
【００４８】
モデル記憶部１１２は、構成情報、センサ情報および障害情報に基づいて学習されたモデルを記憶する。管理サーバ５１〜５３が学習するモデルは、部品をグループ化するための部品条件を階層的に配置した決定木である。障害が多い部品グループの部品条件は障害原因と密接に関連しており、適切な部品条件が学習によって発見される。決定木の末端（葉ノード）には、ある部品条件を満たす部品グループについて、直近の一定期間内に障害が発生しなかった正常部品の数と障害が発生した異常部品の数が登録される。
【００４９】
データ収集部１１３は、ストレージサーバ４１などデータセンタ３１内の電子機器から構成情報、センサ情報および障害情報を収集し、データ記憶部１１１に格納する。データ収集部１１３は、定期的にこれらの情報を収集してもよい。また、データ収集部１１３は、モデルを更新するときに不定期にこれらの情報を収集してもよい。
【００５０】
モデル学習部１１４は、データ記憶部１１１に記憶された構成情報、センサ情報および障害情報を用いて、モデルとして決定木を学習し、学習した決定木をモデル記憶部１１２に格納する。モデル学習部１１４は、構成と使用状況と障害の有無が近似している部品グループが形成されるように部品をクラスタリングし、そのような部品グループが形成されるための部品条件を決定する。決定する部品条件には、製造日の閾値、ファームウェアのバージョンの閾値、温度の閾値、湿度の閾値などが含まれ得る。
【００５１】
すなわち、モデル学習部１１４は、部品条件を調整することで、構成や使用状況が近似しており、障害率が十分高いかまたは障害率が十分に低い部品グループを形成する。障害率は、部品総数に対する障害が発生した部品の数の割合である。障害率が十分に高い部品条件に該当する部品は、現在は正常でも今後障害が発生する可能性があり、早期に交換しておくことが好ましい場合がある。モデル学習部１１４は、定期的に決定木を更新してもよい。また、モデル学習部１１４は、構成情報が変化したときに決定木を更新してもよい。また、モデル学習部１１４は、センサ情報が大きく変化した場合に決定木を更新してもよい。また、モデル学習部１１４は、新たに障害が検出される毎または一定量の障害情報が蓄積されたときに決定木を更新してもよい。
【００５２】
障害判定部１１５は、モデル記憶部１１２に記憶された決定木の中から、障害率が閾値（例えば、７０％や９０％など）以上である部品グループの部品条件を検出する。障害判定部１１５は、検出した部品条件に該当する部品は、現在正常であっても近い将来障害が発生する可能性が高いと判定する。障害判定部１１５は、検出した部品条件を管理者端末６１に通知する。障害判定部１１５から管理者端末６１への通知は、検出した部品条件に該当する部品の早期交換を要求する交換要求メッセージとしての意味をもつ。
【００５３】
また、障害判定部１１５は、他のデータセンタと連携して、予測した障害が部品の製造不良やファームウェア不具合に起因する障害である可能性を検討し、その可能性が高い場合には他のデータセンタの管理者に通知する。製造不良やファームウェア不具合に起因する障害は、単一のデータセンタの監視のみでは早期に発見することが難しいためである。製造不良やファームウェア不具合に起因する障害は、特定の使用状況の下でのみ発生することがあり、同様の部品を使用しているデータセンタの間でも発生タイミングがばらつくことがある。そこで、まだそのような障害を経験していないデータセンタに通知することによって、製造不良やファームウェア不具合に起因する障害への事前対処を可能とする。
【００５４】
すなわち、障害判定部１１５は、障害情報共有部１１６を通じて管理サーバ５２，５３に、上記で検出した部品条件を通知し、データセンタ３２，３３における当該検出した部品条件に対応する障害率を取得する。障害率は、各管理サーバで学習された決定木に基づいて算出される。障害判定部１１５は、データセンタ３１〜３３の障害率のうち閾値（例えば、７０％や９０％など）以上である障害率が過半数を占める場合、製造不良やファームウェア不具合に起因する障害である可能性が高いと判断する。すると、障害判定部１１５は、管理者端末６２，６３にも上記の検出した部品条件を通知する。障害判定部１１５から管理者端末６２，６３への通知は、検出した部品条件に該当する部品の早期交換を要求する交換要求メッセージとしての意味をもつ。
【００５５】
障害情報共有部１１６は、管理サーバ５２，５３との間で部品条件や障害率の情報を共有する。ただし、共有する情報は障害の事前予測の精度を向上させるための最小限の情報とし、具体的な障害発生事例は共有しない。障害情報共有部１１６は、障害判定部１１５から部品条件を受け取ると、受け取った部品条件を管理サーバ５２，５３に通知して、当該部品条件に対応する障害率の算出を要求する。障害判定部１１５は、通知した部品条件に対応する障害率を管理サーバ５２，５３から受信し、受信した障害率を障害判定部１１５に報告する。また、障害判定部１１５は、管理サーバ５２または管理サーバ５３から障害率の算出の要求を受け付けると、モデル記憶部１１２に記憶された決定木を用いて、通知された部品条件に対応する障害率を算出して返信する。
【００５６】
図５は、テーブルの例を示す図である。
データ記憶部１１１は、構成情報テーブル１２１に登録された構成情報を記憶する。構成情報テーブル１２１は、部品ＩＤ、ベンダ、製造日、ＦＷ（Firmware）版数および親部品ＩＤの項目を含む。部品ＩＤは、ＨＤＤなどの部品を識別する識別子である。ベンダは、部品を製造した製造者の名称である。製造日は、部品が製造された日である。ＦＷ版数は、部品の搭載されたファームウェアのバージョンである。親部品ＩＤは、その部品を内部に含む別の部品または製品が存在する場合において、当該別の部品または製品を識別する識別子である。構成情報の一部または全部が管理者によって入力されてもよい。
【００５７】
また、データ記憶部１１１は、センサ情報テーブル１２２に登録されたセンサ情報を記憶する。センサ情報テーブル１２２は、部品ＩＤ、ＩＯ（Input Output）エラー回数、温度および湿度の項目を含む。部品ＩＤは、部品を識別する識別子である。ＩＯエラー回数は、ＨＤＤで発生した入出力エラーの回数である。ＩＯエラー回数は、ＨＤＤのファームウェア、デバイスドライバ、ＯＳなどから収集することができる。温度は、部品の内部または外部に設置された温度センサによって測定された測定値である。湿度は、部品の内部または外部に設置された湿度センサによって測定された測定値である。
【００５８】
また、データ記憶部１１１は、障害情報テーブル１２３に登録された障害情報を記憶する。障害情報テーブル１２３は、部品ＩＤおよび時刻の項目を含む。部品ＩＤは、部品を識別する識別子である。時刻は、障害が発生した時刻である。障害の発生は、例えば、ストレージサーバ４１などの電子機器から収集されるエラーログに基づいて検出され得る。障害であるか否かは、管理サーバ５１が判断してもよいし他の情報処理装置が判断してもよい。また、障害情報の一部または全部が管理者によって入力されてもよい。
【００５９】
次に、管理サーバ５１による決定木の生成方法を説明する。
図６は、決定木の生成例を示す第１の図である。
モデル学習部１１４は、構成情報テーブル１２１に登録された構成情報を用いて、第１段階目の決定木１２４を生成する。決定木１２４は、ノード１３０〜１３４，１４０〜１４２を含む。ノード１３０〜１３４は、部品を分類する部品条件を示すノードである。ノード１４０〜１４２は、データセンタ３１が有する部品のうち、ルートノードからのパスに相当する部品条件を満たす部品の数を登録した葉ノードである。
【００６０】
第１段階目では障害情報を参照していないため、ノード１４０〜１４２は部品数を正常部品数と異常部品数とに区分していない。また、ノード１３０〜１３４は、構成情報のうちベンダなど閾値を決定しなくてよい情報を部品条件として使用している。ノード１３０〜１３４それぞれについて、部品条件に該当する部品は左部分木に分類され、部品条件に該当しない部品は右部分木に分類される。ルートノードから葉ノードに向かってノード間のパスを辿ることで、各部品が何れかの葉ノードに分類される。
【００６１】
具体的には、ノード１３０はルートノードであり、ベンダＡのＳＡＮ（Storage Area Network）ストレージ製品に使用されているか否か判定する。ノード１３１はノード１３０の左子ノードであり、ベンダＸのディスクドライブであるか否か判定する。ノード１３２はノード１３０の右子ノードであり、ベンダＢのＳＡＮストレージ製品に使用されているか否か判定する。ノード１３３はノード１３２の左子ノードであり、ベンダＸのディスクドライブであるか否か判定する。ノード１３４はノード１３３の右子ノードであり、ベンダＹのディスクドライブであるか否か判定する。
【００６２】
ノード１４０はノード１３１の左子ノードである。ノード１４０は、ベンダＡのＳＡＮストレージ製品に使用されているベンダＸのディスクドライブの個数を示す。ノード１４１はノード１３３の左子ノードである。ノード１４１は、ベンダＢのＳＡＮストレージ製品に使用されているベンダＸのディスクドライブの個数を示す。ノード１４２はノード１３４の左子ノードである。ノード１４２は、ベンダＢのＳＡＮストレージ製品に使用されているベンダＹのディスクドライブの個数を示す。
【００６３】
図７は、決定木の生成例を示す第２の図である。
モデル学習部１１４は、障害情報テーブル１２３に登録された障害情報を更に用いて、第１段階目の決定木１２４を第２段階目の決定木１２５に更新する。決定木１２５は、ノード１３０〜１３４に加えてノード１３５〜１３７を含み、ノード１４０〜１４２に代えてノード１５０〜１５４を含む。ノード１３５〜１３７は、部品を分類する部品条件を示すノードである。ノード１５０〜１５４は、ルートノードからのパスに相当する部品条件を満たす部品の数を登録した葉ノードである。
【００６４】
第２段階目では障害情報を参照しているため、ノード１５０〜１５４は部品数を正常部品数と異常部品数とに区分している。ノード１３５〜１３７は、構成情報のうちファームウェアのバージョンなど適切な閾値を要する情報を部品条件として使用している。モデル学習部１１４は、クラスタリングによって、各葉ノードの障害率が十分に大きくなるかまたは十分に小さくなるように閾値を調整する。障害率は、正常部品数と異常部品数の合計に対する異常部品数の割合である。
【００６５】
具体的には、ノード１３５はノード１３１の左子ノードであり、ファームウェアのバージョン（ＦＷ版数）がＡ３より後であるか否か判定する。ノード１３６はノード１３３の左子ノードであり、ＦＷ版数がＡ３より後であるか否か判定する。ノード１３７はノード１３４の左子ノードであり、ＦＷ版数がＴ３より後であるか否か判定する。
【００６６】
ノード１５０はノード１３５の左子ノードである。ノード１５０は、ベンダＡのＳＡＮストレージ製品に使用されているベンダＸのディスクドライブであって、ＦＷ版数がＡ３より後である個数を示す。ノード１５１はノード１３５の右子ノードである。ノード１５１は、ベンダＡのＳＡＮストレージ製品に使用されているベンダＸのディスクドライブであって、ＦＷ版数がＡ３以前である個数を示す。ノード１５２はノード１３６の左子ノードである。ノード１５２は、ベンダＢのＳＡＮストレージ製品に使用されているベンダＸのディスクドライブであって、ＦＷ版数がＡ３より後である個数を示す。
【００６７】
ノード１５３はノード１３６の右子ノードである。ノード１５３は、ベンダＢのＳＡＮストレージ製品に使用されているベンダＸのディスクドライブであって、ＦＷ版数がＡ３以前である個数を示す。ノード１５４はノード１３７の右子ノードである。ノード１５４は、ベンダＢのＳＡＮストレージ製品に使用されているベンダＹのディスクドライブであって、ＦＷ版数がＴ３以前である個数を示す。
【００６８】
図８は、決定木の生成例を示す第３の図である。
モデル学習部１１４は、センサ情報テーブル１２２に登録されたセンサ情報を更に用いて、第２段階目の決定木１２５を第３段階目の決定木１２６に更新する。決定木１２６は、ノード１３０〜１３７に加えてノード１３８，１３９を含み、ノード１５１，１５３に代えてノード１５５〜１５８を含む。ノード１３８，１３９は、部品を分類する部品条件を示すノードである。ノード１５５〜１５８は、ルートノードからのパスに相当する部品条件を満たす部品の数を登録した葉ノードである。
【００６９】
ノード１３８，１３９は、センサ情報の中の温度などの情報を部品条件として使用している。モデル学習部１１４は、クラスタリングによって、各葉ノードの障害率が十分に大きくなるかまたは十分に小さくなるように閾値を調整する。具体的には、ノード１３８はノード１３５の右子ノードであり、温度が３０℃より高いか否か判定する。ノード１３９はノード１３６の右子ノードであり、温度が３０℃より高いか否か判定する。
【００７０】
ノード１５５はノード１３８の左子ノードである。ノード１５５は、ベンダＡのＳＡＮストレージ製品に使用されているベンダＸのディスクドライブであって、ＦＷ版数がＡ３以前であり使用時の温度が３０℃より高い個数を示す。ノード１５６はノード１３８の右子ノードである。ノード１５６は、ベンダＡのＳＡＮストレージ製品に使用されているベンダＸのディスクドライブであって、ＦＷ版数がＡ３以前であり使用時の温度が３０℃以下である個数を示す。ノード１５７はノード１３９の左子ノードである。ノード１５７は、ベンダＢのＳＡＮストレージ製品に使用されているベンダＸのディスクドライブであって、ＦＷ版数がＡ３以前であり使用時の温度が３０℃より高い個数を示す。ノード１５８は、ベンダＢのＳＡＮストレージ製品に使用されているベンダＸのディスクドライブであって、ＦＷ版数がＡ３以前であり使用時の温度が３０℃以下である個数を示す。
【００７１】
決定木１２６はモデル記憶部１１２に格納される。なお、例えば、ノード１５０の障害率は０％、ノード１５２の障害率は０％、ノード１５４の障害率は０％、ノード１５５の障害率は１００％、ノード１５６の障害率は０％、ノード１５７の障害率は６７％、ノード１５８の障害率は０％である。モデル学習部１１４は、できる限り少ない部品条件によって各葉ノードの障害率が十分に高いかまたは十分に小さくなるように、すなわち、部品が適切にグループ化されるように、採用する部品条件を選択する。
【００７２】
障害判定部１１５は、決定木１２６の中から障害率が閾値（例えば、７０％や９０％など）以上である葉ノードを選択し、ルートノードから選択した葉ノードまでのパスが示す部品条件を、障害発生の可能性が高い部品条件として検出する。例えば、障害判定部１１５は、障害率が１００％であるノード１５５を選択し、「ベンダＡのＳＡＮストレージ製品に使用されているベンダＸのディスクドライブであって、ＦＷ版数がＡ３以前であり使用時の温度が３０℃より高い」という部品条件を検出する。
【００７３】
障害情報共有部１１６は、管理サーバ５２または管理サーバ５３から部品条件が通知されると、決定木１２６をルートノードから葉ノードに向かって辿って通知された部品条件に該当する葉ノードを選択し、選択した葉ノードの障害率を返信する。なお、決定木１２６の中の閾値と通知された部品条件の中の閾値とが異なる場合がある。例えば、管理サーバ５１は温度の閾値を３０℃に設定している一方、管理サーバ５２は温度の閾値を４０℃に設定していることがある。その場合には、次のようにして障害率を返信する。
【００７４】
決定木１２６の中の閾値が、通知された部品条件の中の閾値より小さい場合、障害情報共有部１１６は、通知された部品条件に対応する障害率が不明と返信する。障害判定部１１５は、ある管理サーバから障害率が不明という回答を受けた場合、当該回答を除外し、他の回答の数のうち閾値以上の障害率が過半数を占めるか判定する。一方、決定木１２６の中の閾値が、通知された部品条件の中の閾値より大きい場合、障害情報共有部１１６は、決定木１２６の左子ノードを選択して障害率を算出し、算出した障害率を返信する。
【００７５】
次に、管理サーバ５１の処理について説明する。
図９は、潜在障害判定の手順例を示すフローチャートである。
（Ｓ１０）モデル学習部１１４は、データセンタ３１で使用されている部品について、ベンダや製造日やファームウェアのバージョンなどの構成情報を取得する。
【００７６】
（Ｓ１１）モデル学習部１１４は、構成情報が示す部品をベンダなどに基づいて複数の部品グループに分類し、部品グループ毎に部品数をカウントする。
（Ｓ１２）モデル学習部１１４は、ステップＳ１１の分類方法に対応する決定木を生成し、各部品グループの部品数を決定木の葉ノードに記録する。
【００７７】
（Ｓ１３）モデル学習部１１４は、直近の一定期間において、データセンタ３１で使用されている部品の障害の有無を示す障害情報を取得する。
（Ｓ１４）モデル学習部１１４は、クラスタリングにより、できる限り障害の有無との相関が大きくなるように製造日やファームウェアのバージョンなどの閾値を決定する。すなわち、閾値によって部品グループを細分化したときに、障害率が非常に高い部品グループと障害率が非常に低い部品グループとに分かれるように閾値を調整する。
【００７８】
（Ｓ１５）モデル学習部１１４は、ステップＳ１４で決定した閾値に基づいてステップＳ１２の決定木を詳細化する。モデル学習部１１４は、障害情報に基づいて、詳細化した決定木の葉ノードに相当する部品について正常部品数と異常部品数をカウントし、カウントした正常部品数および異常部品数を葉ノードに記録する。
【００７９】
（Ｓ１６）モデル学習部１１４は、データセンタ３１で使用されている部品について、温度や湿度やＩＯエラー回数などのセンサ情報を取得する。
（Ｓ１７）モデル学習部１１４は、クラスタリングにより、できる限り障害の有無との相関が大きくなるように温度や湿度やＩＯエラー回数などの閾値を決定する。すなわち、閾値によって部品グループを細分化したときに、障害率が非常に高い部品グループと障害率が非常に低い部品グループとに分かれるように閾値を調整する。
【００８０】
（Ｓ１８）モデル学習部１１４は、ステップＳ１７で決定した閾値に基づいてステップＳ１５の決定木を詳細化する。モデル学習部１１４は、障害情報に基づいて、詳細化した決定木の葉ノードに相当する部品について正常部品数と異常部品数をカウントし、カウントした正常部品数および異常部品数を葉ノードに記録する。
【００８１】
図１０は、潜在障害判定の手順例を示すフローチャート（続き）である。
（Ｓ１９）障害判定部１１５は、データセンタ３１（自ＤＣ）で生成された決定木の中から障害率が閾値以上である部品条件を検索する。障害率が閾値以上である部品条件は、正常部品数と異常部品数の合計に対する異常部品数の割合が閾値以上である葉ノードを探し、ルートノードから当該葉ノードに至るパスを抽出することで検索できる。障害率の閾値は、７０％や９０％など予め定めた十分大きな値とする。決定木において、ルートノードから障害率が閾値以上の葉ノードに至るパスをFailure Pathと言うことができる。
【００８２】
（Ｓ２０）障害判定部１１５は、ステップＳ１９で該当する部品条件、すなわち、障害率が閾値以上の部品グループを形成する部品条件が検出されたか判断する。該当する部品条件が検出された場合はステップＳ２１に進み、該当する部品条件が検出されなかった場合は今回の潜在障害判定を終了する。
【００８３】
（Ｓ２１）障害判定部１１５は、データセンタ３１の管理者端末６１に、ステップＳ１９で検出した部品条件を通知する。この通知は、検出した部品条件に該当する部品を、障害発生前に交換するよう管理者に推奨するメッセージである。
【００８４】
（Ｓ２２）障害情報共有部１１６は、データセンタ３２の管理サーバ５２やデータセンタ３３の管理サーバ５３など、他のデータセンタ（他ＤＣ）の管理サーバに、ステップＳ１９で検出した部品条件を通知し、通知した部品条件に対応する障害率を要求する。
【００８５】
（Ｓ２３）障害情報共有部１１６は、他のデータセンタの管理サーバから、通知した部品条件に対応する障害率を受信する。他のデータセンタにおいてもステップＳ１０〜Ｓ１８と同様に決定木が生成されており、受信する障害率は、通知した部品条件と他のデータセンタの決定木とを照合することで算出されるものである。
【００８６】
（Ｓ２４）障害判定部１１５は、ステップＳ２３で受信した障害率それぞれと閾値とを比較する。ここで使用する障害率の閾値はステップＳ１９と同じであってもよく、７０％や９０％など予め定めた十分大きな値とする。障害判定部１１５は、データセンタ３１と、データセンタ３２，３３などの他のデータセンタのうち、検出した部品条件に対応する障害率が閾値以上であるデータセンタをカウントする。
【００８７】
（Ｓ２５）障害判定部１１５は、ステップＳ２４に該当するデータセンタが、自ＤＣおよび他ＤＣを含むデータセンタ総数の過半数を占めるか判断する。ただし、ここで使用するデータセンタ数の閾値を変更してもよい。該当するデータセンタが過半数を占める場合はステップＳ２６に進み、半数以下の場合は今回の潜在障害判定を終了する。
【００８８】
（Ｓ２６）障害判定部１１５は、データセンタ３２の管理者端末６２やデータセンタ３３の管理者端末６３など、他のデータセンタの管理者端末に、ステップＳ１９で検出した部品条件を通知する。この通知は、検出した部品条件に該当する部品を、障害発生前に交換するよう管理者に推奨するメッセージである。
【００８９】
図１１は、データセンタ間の通信例を示すシーケンス図である。
データセンタ３１は、データセンタ３１内で収集した構成情報、センサ情報および障害情報に基づいて、他のデータセンタとは独立に決定木を生成する（Ｓ３０）。データセンタ３２は、データセンタ３２内で収集した構成情報、センサ情報および障害情報に基づいて、他のデータセンタとは独立に決定木を生成する（Ｓ３１）。データセンタ３３は、データセンタ３３内で収集した構成情報、センサ情報および障害情報に基づいて、他のデータセンタとは独立に決定木を生成する（Ｓ３２）。
【００９０】
データセンタ３１は、データセンタ３１で生成した決定木に基づいて各部品グループの障害率を算出し（Ｓ３３）、障害率が高い部品グループに属する部品であって現在正常である部品に潜在障害があると判定する（Ｓ３４）。
【００９１】
データセンタ３１は、潜在障害がある部品の部品条件をデータセンタ３２，３３に通知する。データセンタ３２は、データセンタ３２で生成した決定木に基づいて当該部品条件に該当する部品の障害率を算出し、データセンタ３１に回答する（Ｓ３５）。データセンタ３３は、データセンタ３３で生成した決定木に基づいて当該部品条件に該当する部品の障害率を算出し、データセンタ３１に回答する（Ｓ３６）。
【００９２】
データセンタ３１は、障害率が高いデータセンタが多い場合、製造不良やファームウェア不具合などのため、まだ障害率が低いデータセンタでも今後障害が発生する可能性があると判断する。すると、データセンタ３１は、データセンタ３２，３３に対して潜在障害がある部品の部品条件を通知して該当する部品の交換を依頼する（Ｓ３７）。
【００９３】
第２の実施の形態の情報処理システムによれば、データセンタ毎に部品の構成情報とセンサ情報と障害情報が収集され、当該データセンタにおいて障害が多く発生している部品の条件を発見するための決定木が学習される。よって、個々の部品に実際に障害が発生する前に潜在的な障害を検出することができ、部品を交換することでデータセンタの可用性を向上させることができる。また、決定木では、温度やＩＯエラー回数など部品の使用に関する部品条件と、製造日やファームウェアのバージョンなど部品の製造に関する部品条件とが組み合わされて使用される。よって、自然劣化、不適切な使用による異常劣化、製造不良、ファームウェア不具合など様々な原因の潜在障害を検出し得る。
【００９４】
また、あるデータセンタが潜在障害を検出したとき他のデータセンタの障害率を確認し、複数のデータセンタで障害率が高いと言える場合には、他のデータセンタにも潜在障害が通知される。よって、ある類型の障害の経験がまだ少なく潜在障害を検出していないデータセンタでも当該類型の潜在障害に気付くことができる。特に、製造不良やファームウェア不具合に起因する潜在障害を早期に把握することが可能となる。また、複数のデータセンタの障害率を総合的に検討することで、潜在障害の判定精度が向上する。また、複数のデータセンタの間では具体的な障害情報は共有されず、学習された決定木における潜在障害に関連する部品条件や障害率が共有される。よって、部品ベンダとの保守契約や秘密保持などの観点からデータセンタ間で障害情報を直接共有することが難しい場合であっても、潜在障害の判定精度を向上させることができる。
【００９５】
第１および第２の実施の形態を含む実施の形態に関し、更に以下の付記を開示する。
（付記１）  第１の情報処理システムに含まれる第１の部品を示す第１の構成情報と、前記第１の部品に発生した障害を示す第１の障害情報とに基づいて、部品の条件と当該条件に該当する部品の障害発生確率との関係を示す第１のモデルを学習する処理と、ある部品条件を受信すると、前記受信した部品条件に対応する障害発生確率を前記第１のモデルを用いて算出し、前記算出した障害発生確率を送信する処理とを行う第１の情報処理装置と、
第２の情報処理システムに含まれる第２の部品を示す第２の構成情報と、前記第２の部品に発生した障害を示す第２の障害情報とに基づいて、部品の条件と当該条件に該当する部品の障害発生確率との関係を示す第２のモデルを学習する処理と、特定の部品条件に対応する第２の障害発生確率を前記第２のモデルを用いて算出し、前記特定の部品条件を前記第１の情報処理装置に送信して前記第１のモデルに基づく第１の障害発生確率を前記第１の情報処理装置から受信し、前記第１の障害発生確率と前記第２の障害発生確率とに基づいて前記特定の部品条件に該当する部品の将来の障害発生を判定する処理とを行う第２の情報処理装置と、
を有する監視システム。
【００９６】
（付記２）  前記第１のモデルは、階層的な部品の条件によって前記第１の部品を複数のグループに分類する第１の決定木であり、前記第２のモデルは、階層的な部品の条件によって前記第２の部品を複数のグループに分類する第２の決定木である、
付記１記載の監視システム。
【００９７】
（付記３）  前記第１の情報処理装置は、前記第１の情報処理システムに含まれる第１のセンサデバイスから前記第１の部品の使用状況を示す第１のセンサ情報を取得し、
前記第２の情報処理装置は、前記第２の情報処理システムに含まれる第２のセンサデバイスから前記第２の部品の使用状況を示す第２のセンサ情報を取得し、
前記第１のモデルおよび前記第２のモデルが規定する部品の条件は、構成情報が示す部品の種類に対する条件と、センサ情報が示す部品の使用状況に対する条件とを含む、
付記１記載の監視システム。
【００９８】
（付記４）  前記部品の種類に対する条件は、部品の製造日および部品が有するファームウェアのバージョンの少なくとも一方を含み、前記部品の使用状況に対する条件は、測定された温度および測定された湿度の少なくとも一方を含む、
付記３記載の監視システム。
【００９９】
（付記５）  前記第２の情報処理装置は、前記第２のモデルを用いて算出される障害発生確率が閾値以上である部品の条件を前記特定の部品条件として選択する、
付記１記載の監視システム。
【０１００】
（付記６）  前記第２の情報処理装置は、前記特定の部品条件に対して複数の第１の情報処理装置における前記第１の障害発生確率および前記第２の障害発生確率を含む複数の障害発生確率を取得し、前記複数の障害発生確率のうち閾値以上の障害発生確率の個数に基づいて、前記特定の部品条件に該当する部品に将来障害が発生するか否かを判定する、
付記１記載の監視システム。
【０１０１】
（付記７）  第２の情報処理システムに含まれるコンピュータが、
前記第２の情報処理システムに含まれる部品を示す構成情報と、前記第２の情報処理システムの部品に発生した障害を示す障害情報とに基づいて、部品の条件と当該条件に該当する部品の障害発生確率との関係を示すモデルを学習し、
前記モデルを用いて特定の部品条件に対応する第２の障害発生確率を算出し、
第１の情報処理システムに含まれる他のコンピュータに前記特定の部品条件を送信し、前記他のコンピュータにより算出された前記特定の部品条件に対応する第１の障害発生確率を前記他のコンピュータから受信し、
前記第１の障害発生確率と前記第２の障害発生確率とに基づいて前記特定の部品条件に該当する部品の将来の障害発生を判定する、
監視方法。
【０１０２】
（付記８）  前記モデルは、階層的な部品の条件によって前記第２の情報処理システムの部品を複数のグループに分類する決定木である、
付記７記載の監視方法。
【０１０３】
（付記９）  前記モデルの学習では、前記第２の情報処理システムに含まれるセンサデバイスから前記第２の情報処理システムの部品の使用状況を示すセンサ情報を取得し、
前記モデルが規定する部品の条件は、前記構成情報が示す部品の種類に対する条件と、前記センサ情報が示す部品の使用状況に対する条件とを含む、
付記７記載の監視方法。
【０１０４】
（付記１０）  第２の情報処理システムに含まれるコンピュータに、
前記第２の情報処理システムに含まれる部品を示す構成情報と、前記第２の情報処理システムの部品に発生した障害を示す障害情報とに基づいて、部品の条件と当該条件に該当する部品の障害発生確率との関係を示すモデルを学習し、
前記モデルを用いて特定の部品条件に対応する第２の障害発生確率を算出し、
第１の情報処理システムに含まれる他のコンピュータに前記特定の部品条件を送信し、前記他のコンピュータにより算出された前記特定の部品条件に対応する第１の障害発生確率を前記他のコンピュータから受信し、
前記第１の障害発生確率と前記第２の障害発生確率とに基づいて前記特定の部品条件に該当する部品の将来の障害発生を判定する、
処理を実行させる監視プログラム。
【０１０５】
（付記１１）  前記モデルは、階層的な部品の条件によって前記第２の情報処理システムの部品を複数のグループに分類する決定木である、
付記１０記載の監視プログラム。
【０１０６】
（付記１２）  前記モデルの学習では、前記第２の情報処理システムに含まれるセンサデバイスから前記第２の情報処理システムの部品の使用状況を示すセンサ情報を取得し、
前記モデルが規定する部品の条件は、前記構成情報が示す部品の種類に対する条件と、前記センサ情報が示す部品の使用状況に対する条件とを含む、
付記１０記載の監視プログラム。
【符号の説明】
【０１０７】
１，２  情報処理システム
１０，２０  情報処理装置
１１，２１  構成情報
１２，２２  障害情報
１３，２３  モデル
２４  部品条件
１５，２５  障害発生確率
【図１】
2020030628.tif 000003
【図２】
2020030628.tif 000004
【図３】
2020030628.tif 000005
【図４】
2020030628.tif 000006
【図５】
2020030628.tif 000007
【図６】
2020030628.tif 000008
【図７】
2020030628.tif 000009
【図８】
2020030628.tif 000010
【図９】
2020030628.tif 000011
【図１０】
2020030628.tif 000012
【図１１】
2020030628.tif 000013