(57)【要約】  複数種別のデータの各ペアに対する分散処理を効率的に実行する。  分散データ処理システム１００は、Ｎ種（Ｎは、２以上の自然数）のデータの内の各ペアに対して所定の演算処理を行う。分散データ処理システム１００は、管理部１１１、及び、複数の処理部１２１を含む。管理部１１１は、Ｎ種の内の１番目からＮ−１番目の各々を、複数の処理部１２１のいずれかに割り当てる。複数の処理部１２１の各々は、管理部１１１により割り当てられたｉ番目（ｉは、１以上かつＮ−１以下の自然数）のデータとｉ＋１からＮ番目の各々のデータとのペアに対して所定の演算処理を実行する。
2014068980.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ種（Ｎは、２以上の自然数）のデータの内の各ペアに対して所定の演算処理を行う分散データ処理システムであって、
前記Ｎ種の内の１番目からＮ−１番目の各々を、複数の処理手段のいずれかに割り当てる管理手段と、
各々が、前記管理手段により割り当てられたｉ番目（ｉは、１以上かつＮ−１以下の自然数）のデータとｉ＋１からＮ番目の各々のデータとのペアに対して前記所定の演算処理を実行する前記複数の処理手段と、
を備える分散データ処理システム。
【請求項２】
さらに、前記Ｎ種のデータを記憶するデータ記憶手段を備え、
前記複数の処理手段の各々は、前記データ記憶手段から前記ｉ番目のデータと前記ｉ＋１からＮ番目のデータとを取得し、前記所定の演算処理を実行する、
請求項１に記載の分散データ処理システム。
【請求項３】
さらに、前記複数の処理手段の各々に、第１の一時記憶手段を備え、
前記複数の処理手段の各々は、前記データ記憶手段から取得した前記ｉ番目のデータを前記第１の一時記憶手段に記憶させ、前記第１の一時記憶手段に記憶されたデータを用いて、前記ｉ番目のデータとｉ＋１からＮ番目の各々のデータとのペアに対して前記所定の演算処理を実行する、
請求項１または２に記載の分散データ処理システム。
【請求項４】
さらに、前記複数の処理手段の各々に、第２の一時記憶手段を備え、
前記複数の処理手段の各々は、前記データ記憶手段から取得した前記ｉ＋１からＮ番目のデータの少なくとも一部を前記第２の一時記憶手段に記憶させ、前記管理手段により新たにｋ番目（ｋは、１以上かつＮ−１以下の自然数）が割り当てられた場合に、前記第２の一時記憶手段に記憶されたデータを用いて、前記ｋ番目のデータとｋ＋１からＮ番目の各々のデータとのペアに対して前記所定の演算処理を実行する、
請求項１乃至３のいずれかに記載の分散データ処理システム。
【請求項５】
前記管理手段は、前記Ｎ種の内の１番目からＮ−１番目の各々を順番に、前記複数の処理手段のいずれかに割り当てる、
請求項１乃至４のいずれかに記載の分散データ処理システム。
【請求項６】
さらに、前記複数の処理手段による前記所定の演算処理が実行されているときに、新たな前記処理手段を追加する制御手段を備える、
請求項１乃至５のいずれかに記載の分散データ処理システム。
【請求項７】
前記制御手段は、前記複数の処理手段による前記Ｎ種のデータの内の全ペアに対する前記所定の演算処理の予測処理時間が所定の処理完了時間を越える場合、前記全ペアに対する前記所定の演算処理が前記所定の処理完了時間以内で完了するために必要な前記処理手段の数を算出し、前記処理手段の数が当該算出した数になるように、前記処理手段を追加する、
請求項６に記載の分散データ処理システム。
【請求項８】
前記Ｎ種のデータは、システムにおけるＮ種のメトリックの計測値であり、
前記複数の処理手段の各々は、前記管理手段により割り当てられたｉ番目のメトリックの計測値とｉ＋１からＮ番目の各々のメトリックの計測値とのペアに対して相関関数を算出する、
請求項１乃至７のいずれかに記載の分散データ処理システム。
【請求項９】
Ｎ種（Ｎは、２以上の自然数）のデータの内の各ペアに対して所定の演算処理を行う分散データ処理システムにおける管理装置であって、
前記Ｎ種の内の１番目からＮ−１番目の各々を、管理装置により割り当てられたｉ番目（ｉは、１以上かつＮ−１以下の自然数）のデータとｉ＋１からＮ番目の各々のデータとのペアに対して前記所定の演算処理を実行する複数の処理装置のいずれかに割り当てる管理手段
を備えた管理装置。
【請求項１０】
Ｎ種（Ｎは、２以上の自然数）のデータの内の各ペアに対して所定の演算処理を行う分散データ処理システムにおける処理装置であって、
前記Ｎ種の内の１番目からＮ−１番目の各々を複数の処理装置のいずれかに割り当てる管理装置により割り当てられたｉ番目（ｉは、１以上かつＮ−１以下の自然数）のデータと、ｉ＋１からＮ番目の各々のデータとのペアに対して前記所定の演算処理を実行する処理手段
を備えた処理装置。
【請求項１１】
Ｎ種（Ｎは、２以上の自然数）のデータの内の各ペアに対して所定の演算処理を行う分散データ処理方法であって、
管理手段において、前記Ｎ種の内の１番目からＮ−１番目の各々を、複数の処理手段のいずれかに割り当て、
前記複数の処理手段の各々において、前記管理手段により割り当てられたｉ番目（ｉは、１以上かつＮ−１以下の自然数）のデータとｉ＋１からＮ番目の各々のデータとのペアに対して前記所定の演算処理を実行する、
分散データ処理方法。
【請求項１２】
前記複数の処理手段の各々において、前記Ｎ種のデータを記憶するデータ記憶手段から、前記ｉ番目のデータと前記ｉ＋１からＮ番目のデータとを取得し、前記所定の演算処理を実行する、
請求項１１に記載の分散データ処理方法。
【請求項１３】
前記複数の処理手段の各々において、前記データ記憶手段から取得した前記ｉ番目のデータを、前記複数の処理手段の各々に対応する第１の一時記憶手段に記憶させ、前記第１の一時記憶手段に記憶されたデータを用いて、前記ｉ番目のデータとｉ＋１からＮ番目の各々のデータとのペアに対して前記所定の演算処理を実行する、
請求項１１または１２に記載の分散データ処理方法。
【請求項１４】
前記複数の処理手段の各々において、前記データ記憶手段から取得した前記ｉ＋１からＮ番目のデータの少なくとも一部を、前記複数の処理手段の各々に対応する第２の一時記憶手段に記憶させ、前記管理手段により新たにｋ番目（ｋは、１以上かつＮ−１以下の自然数）が割り当てられた場合に、前記第２の一時記憶手段に記憶されたデータを用いて、前記ｋ番目のデータとｋ＋１からＮ番目の各々のデータとのペアに対して前記所定の演算処理を実行する、
請求項１１乃至１３のいずれかに記載の分散データ処理方法。
【請求項１５】
前記管理手段において、前記Ｎ種の内の１番目からＮ−１番目の各々を順番に、前記複数の処理手段のいずれかに割り当てる、
請求項１１乃至１４のいずれかに記載の分散データ処理方法。
【請求項１６】
さらに、制御手段において、前記複数の処理手段による前記所定の演算処理が実行されているときに、新たな前記処理手段を追加する、
請求項１１乃至１５のいずれかに記載の分散データ処理方法。
【請求項１７】
前記制御手段において、前記複数の処理手段による前記Ｎ種のデータの内の全ペアに対する前記所定の演算処理の予測処理時間が所定の処理完了時間を越える場合、前記全ペアに対する前記所定の演算処理が前記所定の処理完了時間以内で完了するために必要な前記処理手段の数を算出し、前記処理手段の数が当該算出した数になるように、前記処理手段を追加する、
請求項１６に記載の分散データ処理方法。
【請求項１８】
前記Ｎ種のデータは、システムにおけるＮ種のメトリックの計測値であり、
前記複数の処理手段の各々において、前記管理手段により割り当てられたｉ番目のメトリックの計測値とｉ＋１からＮ番目の各々のメトリックの計測値とのペアに対して相関関数を算出する、
請求項１１乃至１７のいずれかに記載の分散データ処理方法。
【請求項１９】
Ｎ種（Ｎは、２以上の自然数）のデータの内の各ペアに対して所定の演算処理を行う分散データ処理システムにおける管理装置のプログラムを格納する記録媒体であって、
コンピュータに、
前記Ｎ種の内の１番目からＮ−１番目の各々を、管理装置により割り当てられたｉ番目（ｉは、１以上かつＮ−１以下の自然数）のデータとｉ＋１からＮ番目の各々のデータとのペアに対して前記所定の演算処理を実行する複数の処理装置のいずれかに割り当てる、
処理を実行させるプログラムを格納する、コンピュータが読み取り可能な記録媒体。
【請求項２０】
Ｎ種（Ｎは、２以上の自然数）のデータの内の各ペアに対して所定の演算処理を行う分散データ処理システムにおける処理装置のプログラムを格納する記録媒体であって、
コンピュータに、
前記Ｎ種の内の１番目からＮ−１番目の各々を複数の処理装置のいずれかに割り当てる管理装置により割り当てられたｉ番目（ｉは、１以上かつＮ−１以下の自然数）のデータと、ｉ＋１からＮ番目の各々のデータとのペアに対して前記所定の演算処理を実行する、
処理を実行させるプログラムを格納する、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散データ処理システム、及び、分散データ処理方法に関し、特に、複数種別のデータの内の各ペアに対して処理を行う、分散データ処理システム、及び、分散データ処理方法に関する。
【背景技術】
【０００２】
システム性能の時系列情報を用いて、システムのモデル化を行い、生成されたモデルを用いてそのシステムの障害を検出する運用管理システムの一例が特許文献１に記載されている。【０００３】
特許文献１記載の運用管理システムは、システムの複数のメトリックの計測値をもとに、複数のメトリックの内の各ペアに対する相関関数を決定することにより、システムの相関モデルを生成する。そして、この運用管理システムは、生成された相関モデルを用いて、相関関係の破壊（相関破壊）を検出し、相関破壊をもとに障害の要因を判定する。このように、相関破壊をもとに障害要因を分析する技術は、不変関係分析と呼ばれる。【０００４】
不変関係分析では、複数のメトリックの内の全ペアについて相関関数が計算される。相関関数を計算するペアの数は、メトリックの数の２乗に比例する。このため、システムの規模（メトリックの数）が大きい場合は、相関関数を計算するペアの数が膨大となり、所定の時間内で相関モデルの生成を行うことは困難となる。【０００５】
上述のような大量のデータに対する計算を短時間に行う方法の１つとして分散処理がある。分散処理の代表的な技術として、例えば、非特許文献１に開示されているＨａｄｏｏｐが知られている。Ｈａｄｏｏｐでは、分散ファイルシステムであるＨＤＦＳ（Hadoop Distributed File System）により、処理対象のデータが複数のノードに分散配置される。そして、ＭａｐＲｅｄｕｃｅにより、複数のノードにおいて処理が並列に実行される。【０００６】
なお、関連技術として、特許文献２には、Ｈａｄｏｏｐのような分散処理システムにおいて、ノード間の通信遅延をもとに、処理を実行するノードを決定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４８７２９４４号公報
【特許文献２】特開２０１０−９７４８９号公報
【非特許文献】
【０００８】
【非特許文献１】The Apache Software Foundation、"hadoop"、［online］、［平成24年9月27日検索］、インターネット〈URL：http://hadoop.apache.org/index.html〉
【発明の概要】
【発明が解決しようとする課題】
【０００９】
Ｈａｄｏｏｐを用いて上述の不変関係分析を行う場合、例えば、複数のメトリックの内の各ペアがいずれかのノードに割り当てられ、各ノードは割り当てられたペアについて相関関数を計算する。この場合、各ノードは、ペアが割り当てられるたびに、割り当てられたペアに係るメトリックのデータを当該データが配置されたノードから取得する必要があり、ノード間のデータ転送が多発する。このように、Ｈａｄｏｏｐでは、複数種別のデータの各ペアに対する分散処理が効率的に実行できないという課題がある。【００１０】
本発明の目的は、上述の課題を解決し、複数種別のデータの各ペアに対する分散処理を効率的に実行できる分散データ処理システム、及び、分散データ処理方法を提供することである。
【課題を解決するための手段】
【００１１】
本発明の一態様における分散データ処理システムは、Ｎ種（Ｎは、２以上の自然数）のデータの内の各ペアに対して所定の演算処理を行う分散データ処理システムであって、前記Ｎ種の内の１番目からＮ−１番目の各々を、複数の処理手段のいずれかに割り当てる管理手段と、各々が、前記管理手段により割り当てられたｉ番目（ｉは、１以上かつＮ−１以下の自然数）のデータとｉ＋１からＮ番目の各々のデータとのペアに対して前記所定の演算処理を実行する前記複数の処理手段と、を備える。【００１２】
本発明の一態様における管理装置は、Ｎ種（Ｎは、２以上の自然数）のデータの内の各ペアに対して所定の演算処理を行う分散データ処理システムにおける管理装置であって、前記Ｎ種の内の１番目からＮ−１番目の各々を、管理装置により割り当てられたｉ番目（ｉは、１以上かつＮ−１以下の自然数）のデータとｉ＋１からＮ番目の各々のデータとのペアに対して前記所定の演算処理を実行する複数の処理装置のいずれかに割り当てる管理手段を備える。【００１３】
本発明の一態様における処理装置は、Ｎ種（Ｎは、２以上の自然数）のデータの内の各ペアに対して所定の演算処理を行う分散データ処理システムにおける処理装置であって、前記Ｎ種の内の１番目からＮ−１番目の各々を複数の処理装置のいずれかに割り当てる管理装置により割り当てられたｉ番目（ｉは、１以上かつＮ−１以下の自然数）のデータと、ｉ＋１からＮ番目の各々のデータとのペアに対して前記所定の演算処理を実行する処理手段を備える。【００１４】
本発明の一態様における分散データ処理方法は、Ｎ種（Ｎは、２以上の自然数）のデータの内の各ペアに対して所定の演算処理を行う分散データ処理方法であって、管理手段において、前記Ｎ種の内の１番目からＮ−１番目の各々を、複数の処理手段のいずれかに割り当て、前記複数の処理手段の各々において、前記管理手段により割り当てられたｉ番目（ｉは、１以上かつＮ−１以下の自然数）のデータとｉ＋１からＮ番目の各々のデータとのペアに対して前記所定の演算処理を実行する。【００１５】
本発明の一態様におけるコンピュータが読み取り可能な第１の記録媒体は、Ｎ種（Ｎは、２以上の自然数）のデータの内の各ペアに対して所定の演算処理を行う分散データ処理システムにおける管理装置のプログラムを格納する記録媒体であって、コンピュータに、前記Ｎ種の内の１番目からＮ−１番目の各々を、管理装置により割り当てられたｉ番目（ｉは、１以上かつＮ−１以下の自然数）のデータとｉ＋１からＮ番目の各々のデータとのペアに対して前記所定の演算処理を実行する複数の処理装置のいずれかに割り当てる処理を実行させるプログラムを格納する。【００１６】
本発明の一態様におけるコンピュータが読み取り可能な第２の記録媒体は、Ｎ種（Ｎは、２以上の自然数）のデータの内の各ペアに対して所定の演算処理を行う分散データ処理システムにおける処理装置のプログラムを格納する記録媒体であって、コンピュータに、前記Ｎ種の内の１番目からＮ−１番目の各々を複数の処理装置のいずれかに割り当てる管理装置により割り当てられたｉ番目（ｉは、１以上かつＮ−１以下の自然数）のデータと、ｉ＋１からＮ番目の各々のデータとのペアに対して前記所定の演算処理を実行する、処理を実行させるプログラムを格納する。
【発明の効果】
【００１７】
本発明の効果は、複数データの各ペアに対する分散処理を効率的に実行できることである。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施の形態の特徴的な構成を示すブロック図である。
【図２】本発明の第１の実施の形態における、運用管理システム５００の構成を示すブロック図である。
【図３】本発明の第１の実施の形態における、管理部１１１の処理を示すフローチャートである。
【図４】本発明の第１の実施の形態における、処理部１２１の処理を示すフローチャートである。
【図５】本発明の第１の実施の形態における、処理データ１１３の例を示す図である。
【図６】本発明の第１の実施の形態における、一時記憶部１２２に記憶されるデータの例を示す図である。
【図７】本発明の第１の実施の形態における、処理結果１３３の例を示す図である。
【図８】本発明の第２の実施の形態における、運用管理システム５００の構成を示すブロック図である。
【図９】本発明の第２の実施の形態における、処理装置制御部１１４の処理を示すフローチャートである。
【図１０】本発明の第２の実施の形態における、稼動状態情報１１６の例を示す図である。
【発明を実施するための形態】
【００１９】
ここでは、システムに対する不変関係分析を行う運用管理システム５００において、分散データ処理システム１００が相関モデルを生成する場合を例に、実施の形態を説明する。
【００２０】
（第１の実施の形態）
次に、本発明の第１の実施の形態について説明する。
【００２１】
はじめに、本発明の第１の実施の形態の構成について説明する。図２は、本発明の第１の実施の形態における、運用管理システム５００の構成を示すブロック図である。
【００２２】
運用管理システム５００は、分析対象システム６００から収集した性能情報をもとに、分析対象システム６００の相関モデルを生成し、生成した相関モデルを用いて、分析対象システム６００の障害や異常の検出を行う。
【００２３】
分析対象システム６００は、ＷＥＢサーバ、アプリケーションサーバ（ＡＰサーバ）、データベースサーバ（ＤＢサーバ）等のサービス処理を実行する被監視装置を１以上含む。被監視装置は、複数種目の性能値の実測データ（計測値）を一定間隔（所定の性能情報収集周期）毎に計測し、運用管理システム５００へ送信する。性能値の種目として、例えば、ＣＰＵ（Central Processing Unit）使用率、メモリ使用率、ディスクアクセス頻度、ネットワークの使用率等、コンピュータリソースの使用率や使用量が用いられる。
【００２４】
ここで、被監視装置と性能値の種目の組をメトリック（性能種別、または、単に種別）とし、同一時刻に計測されたＮ種（Ｎは、２≦Ｎの自然数）のメトリックの値の組を性能情報とする。また、メトリックは、特許文献１における要素に相当する。
【００２５】
運用管理システム５００は、分散データ処理システム（相関モデル生成システム）１００、情報収集装置２００、相関破壊検出装置３００、及び、障害分析装置４００を含む。
【００２６】
情報収集装置２００は、所定の性能情報収集周期で、分析対象システム６００の被監視装置から性能情報を収集し、分散データ処理システム１００の管理装置１１０に送信する。
【００２７】
分散データ処理システム１００は、性能情報をもとに、分析対象システム６００の相関モデルを生成する。相関モデルは、Ｎ種のメトリックの内の各対（ペア）に対する相関関数を含む。相関関数は、メトリックのペアの内の一方のメトリックの値の時系列から他方のメトリックの値の時系列を予測する関数であり、メトリックのペアの相関関係を示す。
【００２８】
分散データ処理システム１００は、管理装置１１０、複数の処理装置１２０（１２０＿１、１２０＿２、…）、及び、処理結果収集装置１３０を含む。
【００２９】
管理装置１１０は、管理部１１１（または、マスター）、及び、データ記憶部１１２を含む。
【００３０】
データ記憶部１１２は、情報収集装置２００から受信した性能情報の時系列を処理データ１１３として記憶する。
【００３１】
図５は、本発明の第１の実施の形態における、処理データ１１３の例を示す図である。図５の例では、性能情報は、Ｎ種のメトリック（ｍ１、ｍ２、…、ｍＮ）の計測値（データ）を含む。
【００３２】
管理部１１１は、処理装置１２０の処理部１２１からの要求に応じて、Ｎ種のメトリックの内の１番目からＮ−１番目の各々を、当該処理装置１２０に割り当てる。
【００３３】
処理装置１２０は、処理部１２１（または、ワーカー）、及び、一時記憶部１２２を含む。
【００３４】
処理部１２１は、管理装置１１０により割り当てられたメトリックと他のメトリックとのペアに対して相関関数の算出を行う。ここで、処理部１２１は、ｉ番目（１≦ｉ≦Ｎ−１）が割り当てられた場合、ｉ番目のメトリック（ｍｉ）とｉ＋１からＮ番目のメトリック（ｍｊ，ｉ＋１≦ｊ≦Ｎ）の各々とのペアに対して相関関数の算出を行う。処理部１２１は、各メトリックのペアの計測値を管理装置１１０から取得し、特許文献１の運用管理装置と同様に、システム同定処理を行うことにより、相関関数の係数を決定する。また、処理部１２１は、管理装置１１０から取得したメトリックの計測値を一時記憶部１２２に保存する。
【００３５】
一時記憶部１２２は、データ記憶部１１２から取得したメトリックのデータを、一時的に記憶（キャッシュ）する。
【００３６】
図６は、本発明の第１の実施の形態における、一時記憶部１２２に記憶されるデータの例を示す図である。図６に示すように、一時記憶部１２２は、ｉ番目のメトリック（ｍｉ）のデータを記憶する一時記憶部１２２ａ（第１の一時記憶部）と、ｉ＋１からＮ番目のメトリック（ｍｊ，ｉ＋１≦ｊ≦Ｎ）のデータを記憶する一時記憶部１２２ｂ（第２の一時記憶部）とに分割されていてもよい。また、一時記憶部１２２ｂは、ｉ＋１からＮ番目のメトリック（ｍｊ，ｉ＋１≦ｊ≦Ｎ）の内、所定数のメトリックのデータを記憶してもよい。この場合、一時記憶部１２２ｂは、例えば、ＦＩＦＯ（First-In First-Out）形式で、メトリックのデータを記憶してもよい。また、この場合、一時記憶部１２２ｂは、ｉが大きいメトリックができるだけ多く残るような形式等、ＦＩＦＯ以外の形式で、メトリックのデータを記憶してもよい。
【００３７】
処理結果収集装置１３０は、処理結果収集部１３１、及び、処理結果記憶部１３２を含む。
【００３８】
処理結果収集部１３１は、各処理装置１２０において算出された相関関数を取得し、処理結果１３３として、処理結果記憶部１３２に保存する。
【００３９】
処理結果記憶部１３２は、処理結果１３３を記憶する。処理結果１３３は、分析対象システム６００の相関モデルを示す。
【００４０】
図７は、本発明の第１の実施の形態における、処理結果１３３の例を示す図である。図７において、ｆ（ｉ，ｊ）は、入力メトリックｍｉと出力メトリックｍｊのペアに対する相関関数を示す。ここで、例えば、相関関数ｆ（ｉ，ｊ）が、ｍｊ＝α×ｍｉ+βの形式である場合、ｍｉとｍｊのペアに対して、係数α、βが決定される。なお、メトリックのペアの内の一方のメトリックの値の時系列から他方のメトリックの値の時系列を予測できれば、相関関数として他の関数式を用いてもよい。
【００４１】
相関破壊検出装置３００は、特許文献１と同様に、新たに入力された性能情報を用いて、相関モデルに含まれる相関関係の相関破壊を検出する。
【００４２】
障害分析装置４００は、特許文献１と同様に、相関破壊の検出結果をもとに、障害要因を推定する。
【００４３】
なお、管理装置１１０、処理装置１２０、処理結果収集装置１３０、情報収集装置２００、相関破壊検出装置３００、及び、障害分析装置４００は、それぞれ、ＣＰＵとプログラムを記憶した記憶媒体を含み、プログラムに基づく制御によって動作するコンピュータであってもよい。また、管理装置１１０、処理装置１２０、処理結果収集装置１３０、情報収集装置２００、相関破壊検出装置３００、及び、障害分析装置４００は、それぞれ、コンピュータ上に構築される仮想的なコンピュータ（仮想マシン）でもよい。また、管理装置１１０、処理装置１２０、処理結果収集装置１３０、情報収集装置２００、相関破壊検出装置３００、及び、障害分析装置４００の内のいくつかが、１つの装置を構成していてもよい。
【００４４】
次に、本発明の第１の実施の形態の動作について説明する。
【００４５】
図３は、本発明の第１の実施の形態における、管理部１１１の処理を示すフローチャートである。
【００４６】
ここでは、情報収集装置２００が分析対象システム６００から性能情報を収集した結果、Ｎ種のメトリックに係る図５のような処理データ１１３が、管理装置１１０のデータ記憶部１１２に記憶されていると仮定する。
【００４７】
はじめに、管理装置１１０の管理部１１１は、メトリック番号を１に初期化する（ステップＳ１０１）。
【００４８】
管理部１１１は、各処理装置１２０の処理部１２１からのリクエストを待機する（ステップＳ１０２）。
【００４９】
管理部１１１は、処理部１２１からのリクエストがメトリック番号であり（ステップＳ１０３／メトリック番号）、メトリック番号がＮ未満の場合、メトリック番号を処理部１２１に送信する（ステップＳ１０４）。
【００５０】
管理部１１１は、メトリック番号に１を加算する（ステップＳ１０５）。
【００５１】
管理部１１１は、処理部１２１からのリクエストがメトリックのデータであった場合（ステップＳ１０３／データ）、要求されたメトリック番号のメトリックのデータをデータ記憶部１１２から取得し、処理部１２１に送信する（ステップＳ１０６）。
【００５２】
管理部１１１は、ステップＳ１０２〜Ｓ１０６の処理を繰り返し実行する。
【００５３】
図４は、本発明の第１の実施の形態における、処理部１２１の処理を示すフローチャートである。
【００５４】
はじめに、各処理装置１２０の処理部１２１は、管理部１１１にメトリック番号ｉをリクエストし（ステップＳ２０１）、メトリック番号ｉを取得する。
【００５５】
処理部１２１は、メトリックｍｉのデータが、一時記憶部１２２ｂにあるかどうかを判定する（ステップＳ２０２）。
【００５６】
一時記憶部１２２ｂにある場合（ステップＳ２０２／Ｙ）、処理部１２１は、一時記憶部１２２ｂからメトリックｍｉのデータを取得し、一時記憶部１２２ａに保存する（ステップＳ２０３）。
【００５７】
一時記憶部１２２ｂに無い場合（ステップＳ２０２／Ｎ）、処理部１２１は、管理部１１１に、メトリックｍｉのデータをリクエストし（ステップＳ２０４）、メトリックｍｉのデータを取得する。
【００５８】
処理部１２１は、メトリックｍｉのデータを一時記憶部１２２ａに保存する（ステップＳ２０５）。
【００５９】
次に、処理部１２１は、メトリック番号ｊをｉ＋１に初期化する（ステップＳ２０６）。
【００６０】
処理部１２１は、メトリックｍｊのデータが、一時記憶部１２２ｂにあるかどうかを判定する（ステップＳ２０７）。
【００６１】
一時記憶部１２２ｂに無い場合（ステップＳ２０７／Ｎ）、処理部１２１は、管理部１１１に、メトリックｍｊのデータをリクエストし（ステップＳ２０８）、メトリックｍｊのデータを取得する。
【００６２】
処理部１２１は、メトリックｍｊのデータを一時記憶部１２２ｂに保存する（ステップＳ２０９）。ここで、一時記憶部１２２ｂには、例えば、ＦＩＦＯ形式で、メトリックのデータが記憶される。
【００６３】
処理部１２１は、メトリックｍｉとｍｊのペアに対して、相関関数ｆ（ｉ，ｊ）の算出を行う（ステップＳ２１０）。ここで、相関関数ｆ（ｉ，ｊ）の入出力が可換でない（ｆ（ｉ，ｊ）とｆ（ｊ，ｉ）とが等しくない）場合、処理部１２１は、相関関数ｆ（ｊ，ｉ）の算出も行う。
【００６４】
処理部１２１は、算出した相関関数を、処理結果収集装置１３０の処理結果収集部１３１に送信する（ステップＳ２１１）。処理結果収集部１３１は、処理装置１２０から取得した相関関数を、処理結果記憶部１３２の処理結果１３３に設定する。
【００６５】
処理部１２１は、メトリック番号ｊに１を加算し（ステップＳ２１２）、ｊがＮ以下であれば（ステップＳ２１３／Ｙ）、ステップＳ２０７〜２１２の処理を繰り返す（ステップＳ２１３）。
【００６６】
さらに、処理部１２１は、ステップＳ２０１〜Ｓ２１３の処理を繰り返す。
【００６７】
例えば、管理部１１１は、処理部１２１からのリクエストに応じて、処理部１２１に、メトリック番号を１からＮ−１まで、順番に割り当てる。
【００６８】
処理部１２１＿１は、管理部１１１から、メトリック番号ｉ＝１を取得する。処理部１２１＿１は、管理部１１１から、メトリックｍ１のデータを取得し、一時記憶部１２２ａに保存する。次に、処理部１２１＿１は、管理部１１１から、メトリックｍ２のデータを取得し、一時記憶部１２２ｂに保存する。処理部１２１＿１は、メトリックのペア（ｍ１、ｍ２）に対して、相関関数ｆ（１，２）、相関関数ｆ（２，１）を算出する。さらに、処理部１２１＿１は、管理部１１１から、メトリックｍ３のデータを取得し、一時記憶部１２２ｂに保存する。処理部１２１＿１は、メトリックのペア（ｍ１、ｍ３）に対して、相関関数ｆ（１，３）、相関関数ｆ（３，１）を算出する。このようにして、処理部１２１＿１は、メトリックのペア（ｍ１、ｍ２）、（ｍ１、ｍ３）、（ｍ１、ｍ４）、…、（ｍ１、ｍＮ）に対して、相関関数ｆ（１，２）、ｆ（１，３）、ｆ（１，４）、…、ｆ（１，Ｎ）、及び、相関関数ｆ（２，１）、ｆ（３，１）、ｆ（４，１）、…、ｆ（Ｎ，１）（図７の処理結果１３３における相関関数群１３４＿１、及び、相関関数群１３４＿２）を算出する。
【００６９】
また、処理部１２１＿２は、管理部１１１から、メトリック番号ｉ＝２を取得する。処理部１２１＿２は、管理部１１１から、メトリックｍ２のデータを取得し、一時記憶部１２２ａに保存する。次に、処理部１２１＿２は、管理部１１１から、メトリックｍ３のデータを取得し、一時記憶部１２２ｂに保存する。処理部１２１＿２は、メトリックのペア（ｍ２、ｍ３）に対して、相関関数ｆ（２，３）、相関関数ｆ（３，２）を算出する。このようにして、処理部１２１＿２は、メトリックのペア（ｍ２、ｍ３）、（ｍ２、ｍ４）、…、（ｍ２、ｍＮ）に対して、相関関数ｆ（２，３）、ｆ（２，４）、…、ｆ（２，Ｎ）、及び、相関関数ｆ（３，２）、ｆ（４，２）、…、ｆ（Ｎ，２）（図７の処理結果１３３における相関関数群１３５＿１、及び、相関関数群１３５＿２）を算出する。
【００７０】
次に、処理部１２１＿１は、管理部１１１から、メトリック番号ｋ（ｋは、前回取得したｉ＜ｋ≦Ｎ−１）を取得する。処理部１２１＿１は、メトリックのペア（ｍｋ、ｍｋ＋１）、（ｍｋ、ｍｋ＋２）、…、（ｍｋ、ｍＮ）に対して、相関関数ｆ（ｋ，ｋ＋１）、ｆ（ｋ，ｋ＋２）、…、ｆ（ｋ，Ｎ）、及び、相関関数ｆ（ｋ＋１，ｋ）、ｆ（ｋ＋２，ｋ）、…、ｆ（Ｎ，ｋ）を算出する。ここで、処理部１２１＿１は、一時記憶部１２２ｂにメトリックｍｋのデータがある場合は、一時記憶部１２２ｂから、メトリックｍｋのデータを取得し、一時記憶部１２２ａに保存して、利用する。また、処理部１２１＿１は、一時記憶部１２２ｂにメトリックｍｋ＋１〜ｍＮのデータがある場合は、それらのデータを利用する。
【００７１】
このようにして、複数の処理部１２１により、Ｎ種のメトリックの内の全ペアに対して相関関数が算出され、例えば、図７に示すような処理結果１３３（相関モデル）が、処理結果記憶部１３２に保存される。
【００７２】
以降、処理結果記憶部１３２が記憶する相関モデルを用いて、特許文献１と同様に、相関破壊検出装置３００による相関破壊の検出、及び、障害分析装置４００による障害要因の推定が行われる。
【００７３】
以上により、本発明の第１の実施の形態の動作が完了する。
【００７４】
次に、本発明の第１の実施の形態の特徴的な構成を説明する。図１は、本発明の第１の実施の形態の特徴的な構成を示すブロック図である。
【００７５】
分散データ処理システム１００は、Ｎ種（Ｎは、２以上の自然数）のデータの内の各ペアに対して所定の演算処理を行う。分散データ処理システム１００は、管理部１１１、及び、複数の処理部１２１を含む。管理部１１１は、Ｎ種の内の１番目からＮ−１番目の各々を、複数の処理部１２１のいずれかに割り当てる。複数の処理部１２１の各々は、管理部１１１により割り当てられたｉ番目（ｉは、１以上かつＮ−１以下の自然数）のデータとｉ＋１からＮ番目の各々のデータとのペアに対して所定の演算処理を実行する。
【００７６】
次に、本発明の第１の実施の形態の効果を説明する。
【００７７】
本発明の第１の実施の形態によれば、複数種別のデータの各ペアに対する分散処理を効率的に実行できる。その理由は、管理部１１１が、Ｎ種の内の１番目からＮ−１番目の各々を、複数の処理部１２１のいずれかに割り当て、複数の処理部１２１の各々が、管理部１１１により割り当てられたｉ番目のデータとｉ＋１からＮ番目の各々のデータとのペアに対して所定の演算処理を実行するためである。
【００７８】
例えば、各処理部１２１が、ペアが割り当てられるたびに、当該ペアに係るデータを取得する場合には、データ転送の回数は、（２×ペアの数）＝（２Ｎ（Ｎ−１）／２）回となる。これに対して、本発明の第１の実施の形態では、データ転送の回数は、（（Ｎ−１）＋ペアの数））＝（（Ｎ＋２）（Ｎ−１）／２）回となり、データ転送の回数が低減される。
【００７９】
また、管理部１１１が、Ｎ種の内の１番目からＮ−１番目の各々を順番に割り当て、処理部１２１が、ｉ＋１からＮ番目のデータを一時記憶部１２２ｂに保存することにより、処理部１２１において次に割り当てられるｋ（ｋは、前回取得したｉ＜ｋ≦Ｎ−１）番目のデータとｋ＋１からＮ番目のデータが、一時記憶部１２２ｂに記憶されるため、データ転送の回数がさらに低減される。
【００８０】
また、上述のように、データ転送の回数が低減されることにより、管理装置１１０、各処理装置１２０、及び、処理結果収集装置１３０のＩ／Ｏ（Input/Output）に係る負荷が低減される。
【００８１】
（第２の実施の形態）
次に、本発明の第２の実施の形態について説明する。
【００８２】
運用管理システム５００において、分析対象システム６００の相関モデルが、時間とともに変動するケースが存在する。この場合、相関モデルが変わる前に、相関モデルの生成、及び、相関モデルを用いた分析を行う必要があるため、相関モデルの生成は、短時間で終了させる必要がある。本発明の第２の実施の形態においては、Ｎ種のメトリックの内の全ペアに対する相関関数の算出を処理完了時間内に完了できるように、処理部１２１が動的に追加される。
【００８３】
はじめに、本発明の第２の実施の形態の構成について説明する。図８は、本発明の第２の実施の形態における、運用管理システム５００の構成を示すブロック図である。
【００８４】
図８を参照すると、分散データ処理システム１００は、稼動中の処理装置１２０（１２０＿１、１２０＿２、…）、及び、停止中の処理装置１２０（１２０＿４、１２０＿５、…）を含む。ここで、稼動中の処理装置１２０は、ステップＳ２０１〜Ｓ２１３（図４）の処理を行うことにより、相関関数を算出する。また、管理装置１１０は、さらに、処理装置制御部１１４（または、制御部）、及び、稼動状態記憶部１１５を含む。
【００８５】
稼動状態記憶部１１５は、処理装置１２０の稼動状態を示す稼動状態情報１１６を記憶する。
【００８６】
図１０は、本発明の第２の実施の形態における、稼動状態情報１１６の例を示す図である。図１０の例では、稼動状態情報１１６は、処理装置１２０の識別子、及び、当該処理装置１２０の稼動状態（稼動中、または、停止中）を含む。
【００８７】
処理装置制御部１１４は、稼動中の処理装置１２０による、Ｎ種のメトリックの内の全ペアに対する相関関数の算出に必要な予測処理時間を算出し、予測処理時間をもとに、停止中の処理装置１２０を稼動させる（処理装置１２０を追加する）。
【００８８】
次に、本発明の第２の実施の形態の動作について説明する。
【００８９】
図９は、本発明の第２の実施の形態における、処理装置制御部１１４の処理を示すフローチャートである。
【００９０】
ここでは、処理装置１２０＿１〜３が稼動中、処理装置１２０＿４〜６が停止中で、図１０のような稼動状態情報１１６が、稼動状態記憶部１１５に設定されていると仮定する。また、稼動中の処理装置１２０＿１〜３により、相関関数の算出が行われていると仮定する。
【００９１】
管理装置１１０の処理装置制御部１１４は、処理部１２１からの最初のメトリック番号のリクエスト（処理部１２１による相関関数の算出開始）から所定の経過時間後に、Ｎ種のメトリックの内の全ペアに対する予測処理時間を算出する（ステップＳ３０１）。ここで、処理装置制御部１１４は、例えば、経過時間と、処理結果１３３において相関関数が算出済みのペアの数とをもとに、全ペアに対する予測処理時間を算出する。
【００９２】
算出した予測処理時間が処理完了時間を超える場合（ステップＳ３０２／Ｙ）、処理装置制御部１１４は、稼動状態情報１１６を参照し、処理完了時間以内に全ペアに対する相関関数を算出するために必要な処理装置１２０の数を算出する（ステップＳ３０３）。ここで、処理完了時間は、相関モデルが変化する時間等をもとに、予め、管理者等により設定されているものと仮定する。処理装置制御部１１４は、上述の経過時間、相関関数を算出済みのペアの数、及び、稼動状態情報１１６から取得した稼動中の処理装置１２０の数をもとに、処理完了時間以内で全ペアに対する相関関数を算出するために必要な処理装置１２０の数を算出する。
【００９３】
処理装置制御部１１４は、稼動中の処理装置１２０の数が算出した数になるように、停止中の処理装置１２０を稼動させる（ステップＳ３０４）。処理装置制御部１１４は、稼動状態情報１１６における、稼動させた処理装置１２０に係る稼動状態を更新する。
【００９４】
そして、これまで稼動中であった処理装置１２０に加えて、新たに稼動した処理装置１２０がステップＳ２０１〜Ｓ２１３の処理を行うことにより、相関関数を算出する。
【００９５】
例えば、所定の処理完了時間がＴであり、経過時間１／２×Ｔにおいて、全ペアの１／３の相関関数が算出済みである場合、処理装置制御部１１４は、予測処理時間を３／２×Ｔと算出する。処理装置制御部１１４は、所定の処理完了時間の残りの１／２×Ｔで、全ペアの２／３の相関関数の算出が必要であることから、必要な処理装置１２０の数を現在の２倍である６と算出する。処理装置制御部１１４は、停止中の処理装置１２０＿４〜６を稼動させる。そして、処理装置１２０＿１〜３に加えて、処理装置１２０＿４〜６が相関関数を算出する。
【００９６】
なお、処理装置制御部１１４は、ステップＳ３０３において、算出した予測処理時間を管理者等に提示し、管理者等の指示に応じて、停止中の処理装置１２０を稼動させてもよい。
【００９７】
また、処理装置制御部１１４は、各処理装置１２０の負荷状況をもとに、必要な処理装置１２０の数を算出し、停止中の処理装置１２０を稼動させてもよい。
【００９８】
また、処理装置１２０が仮想マシンである場合、処理装置制御部１１４は、コンピュータ上に新たな仮想マシンを配備することにより、処理装置１２０を追加してもよい。
【００９９】
次に、本発明の第２の実施の形態の効果を説明する。
【０１００】
本発明の第２の実施の形態によれば、Ｎ種のメトリックの内の全ペアに対する相関関数の算出を処理完了時間内に完了できる。その理由は、処理装置制御部１１４が、予測処理時間が処理完了時間より大きい場合に、処理完了時間以内で全ペアに対する相関関数を算出するために必要な処理装置１２０の数を算出し、処理装置１２０を追加することにより、相関関数の算出処理が加速されるためである。
【０１０１】
また、本発明の第２の実施の形態によれば、相関関数の算出処理の加速を、容易に行うことができる。その理由は、管理装置１１０や各処理装置１２０の処理は、処理装置１２０の数には依存せず、処理装置１２０の追加を容易に行うことができるためである。
【０１０２】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１０３】
例えば、本発明の実施の形態では、分散処理として、複数の処理装置１２０により複数種別のデータの各ペアに対して相関関数が算出される場合を例に説明したが、複数種別のデータの各ペアに対する処理であれば、相関関数の算出以外の他の演算処理が行われてもよい。
【０１０４】
また、本発明の実施の形態では、管理装置１１０、及び、処理結果収集装置１３０をそれぞれ１つとしているが、複数の管理装置１１０、及び、複数の処理結果収集装置１３０が用いられてもよい。この場合、処理装置１２０へのメトリックの割り当て、メトリックのデータの送信は、複数の管理装置１１０で分散して実行される。また、処理装置１２０からの相関関数の収集も、複数の処理結果収集装置１３０で分散して実行される。これにより、処理装置１２０の数が多く、管理装置１１０、各処理装置１２０、処理結果収集装置１３０間の通信帯域や、Ｉ／Ｏの帯域が、上限に達する場合でも、分散処理を効率的に実行できる。
【０１０５】
この出願は、２０１２年１１月１日に出願された日本出願特願２０１２−２４１９９３を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１０６】
１００    分散データ処理システム
１１０    管理装置
１１１    管理部
１１２    データ記憶部
１１３    処理データ
１１４    処理装置制御部
１１５    稼動状態記憶部
１１６    稼動状態情報
１２０    処理装置
１２１    処理部
１２２    一時記憶部
１３０    処理結果収集装置
１３１    処理結果収集部
１３２    処理結果記憶部
１３３    処理結果
２００    情報収集装置
３００    相関破壊検出装置
４００    障害分析装置
５００    運用管理システム
６００    分析対象システム
【図１】
2014068980.tif 000003
【図２】
2014068980.tif 000004
【図３】
2014068980.tif 000005
【図４】
2014068980.tif 000006
【図５】
2014068980.tif 000007
【図６】
2014068980.tif 000008
【図７】
2014068980.tif 000009
【図８】
2014068980.tif 000010
【図９】
2014068980.tif 000011
【図１０】
2014068980.tif 000012
【国際調査報告】
2014068980.tif 000013
2014068980.tif 000014
2014068980.tif 000015