(57)【要約】  本発明の実施形態は、メモリおよびプロセッサを備えるホスト装置に関し、前記ホスト装置は、コンピュータインフラのコンピュータ環境リソースの属性に関連する異常を決定するように構成されている。前記ホスト装置は、前記検出異常の前記属性に関連するオブジェクトを前記コンピュータインフラの関連オブジェクトと相関させるように構成されている。前記ホスト装置は、前記相関オブジェクトの各オブジェクトに対する根本原因確率を決定するように構成されており、前記根本原因確率は、前記相関オブジェクトが前記検出異常の原因として機能する確率を特定する。前記ホスト装置は、前記特定した根本原因確率に基づいて前記異常に関連する根本オブジェクトの識別を出力するように構成されている。【選択図】図２
2018530803.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置においてコンピュータ環境の異常分析を行う方法であって、
前記ホスト装置が、コンピュータインフラのコンピュータ環境リソースの属性に関連する異常を決定するステップと、
前記ホスト装置が、前記検出異常の前記属性に関連するオブジェクトを前記コンピュータインフラの関連オブジェクトと相関させるステップと、
前記ホスト装置が、前記相関オブジェクトの各オブジェクトに対する根本原因確率を決定するステップであって、前記根本原因確率は、前記相関オブジェクトが前記検出異常の原因として機能する確率を特定する、ステップと、
前記ホスト装置が、前記特定した根本原因確率に基づいて前記異常に関連する根本オブジェクトの識別を出力するステップと、
を有する方法。
【請求項２】
前記コンピュータインフラのコンピュータ環境リソースの前記属性に関連する前記異常を検出するステップは、
ホスト装置が、前記コンピュータインフラの前記コンピュータ環境リソースの前記属性に関連するデータ要素集合に分類機能を適用して、前記データ要素集合の少なくとも１つデータ要素群を定義するステップと、
ホスト装置が、前記データ要素集合のデータ要素が前記少なくとも１つのデータ要素群の外にある場合に、前記データ要素を前記属性に関連する異常要素として特定するステップと、
を有する、請求項１に記載の方法。
【請求項３】
前記分類機能を前記データ要素集合に適用して前記データ要素集合の前記少なくとも１つのデータ要素群を定義するステップは、ホスト装置が、前記データ要素集合にクラスタリング機能を適用して前記データ要素集合の少なくとも１つのデータ要素クラスタを定義するステップを有する、請求項２に記載の方法。
【請求項４】
前記データ要素集合のデータ要素が前記少なくとも１つのデータ要素群の外にある場合に前記データ要素を前記属性に関連する異常要素として特定するステップは、ホスト装置が、前記データ要素集合のデータ要素が前記データ要素集合の前記少なくとも１つのデータ要素クラスタの外にある場合に、前記データ要素を前記属性に関連する異常要素として特定するステップを有する、請求項３に記載の方法。
【請求項５】
ホスト装置が、前記データ要素集合の前記少なくとも１つのデータ要素クラスタに学習挙動機能を適用するステップであって、前記学習挙動機能は、前記少なくとも１つのデータ要素クラスタに対して少なくとも１つの学習挙動境界を定義する、ステップ、
をさらに有し、
前記データ要素集合のデータ要素が前記少なくとも１つのデータ要素群の外にある場合に前記データ要素を前記属性に関連する異常要素として特定するステップは、ホスト装置が、前記データ要素集合のデータ要素が前記少なくとも１つの学習挙動境界の外にある場合に、前記データ要素を前記属性に関連する異常要素として特定するステップを有する、
請求項３に記載の方法。
【請求項６】
ホスト装置が、前記少なくとも１つの学習挙動境界に感度機能を適用するステップであって、前記感度機能は、少なくとも１つの学習挙動境界に対して感度境界を定義する、ステップ、
をさらに有し、
前記データ要素集合のデータ要素が前記少なくとも１つのデータ要素群の外にある場合に前記データ要素を前記属性に関連する異常要素として特定するステップは、ホスト装置が、前記データ要素集合のデータ要素が前記感度境界の外にある場合に、前記データ要素を前記属性に関連する異常要素として特定するステップを有する、
請求項５に記載の方法。
【請求項７】
前記検出異常の前記属性に関連する前記オブジェクトを前記コンピュータインフラの前記関連オブジェクトと相関させるステップは、
前記ホスト装置が、グラフデータベースにアクセスするステップと、
前記ホスト装置が、前記検出異常の前記属性に関連する前記オブジェクトおよび前記関連オブジェクトをグラフデータベースによって特定するステップと、
を有する、請求項１に記載の方法。
【請求項８】
前記相関オブジェクトの各オブジェクトに対する前記根本原因確率を特定するステップは、
前記ホスト装置が、異常オブジェクトおよび関連オブジェクトの１つに起因する異常の事前確率を検出するステップと、
前記ホスト装置が、異常オブジェクトおよび関連オブジェクトの１つに起因する異常の条件付き確率を検出するステップと、
前記ホスト装置が、異常オブジェクトおよび関連オブジェクトの１つに起因する異常の事後確率を検出するステップであって、前記事後確率は、前記事前確率および前記条件付き確率に基づく、ステップと、
を有する、請求項１に記載の方法。
【請求項９】
前記特定した根本原因確率に基づいて前記異常に関連する前記根本オブジェクトの前記識別を出力するステップは、
前記ホスト装置が、前記コンピュータ環境における検出異常の少なくとも１つの推定原因を特定するユーザインタフェースを提供するステップと、
前記ホスト装置が、前記検出異常に関連するランキング情報を受信するステップと、
前記ホスト装置が、前記ランキング情報に基づいてデータセットに関する第２根本原因分析を行うステップと、
を有する、請求項１に記載の方法。
【請求項１０】
前記ホスト装置が、前記コンピュータインフラリソースの前記属性に関連する前記データ要素集合を更新して更新データ要素を含めるステップと、
前記ホスト装置が、前記更新データ要素を含む前記データ要素集合に特性化機能を適用して、前記データ要素集合の少なくとも１つのデータ要素群を定義するステップと、
をさらに有する、請求項２に記載の方法。
【請求項１１】
メモリおよびプロセッサを備えるコントローラを有し、前記コントローラは、
コンピュータインフラのコンピュータ環境リソースの属性に関連する異常を決定し、
前記検出異常の前記属性に関連するオブジェクトを前記コンピュータインフラの関連オブジェクトと相関させ、
前記相関オブジェクトの各オブジェクトに対する根本原因確率を決定し、前記根本原因確率は、前記相関オブジェクトが前記検出異常の原因として機能する確率を特定する、
前記特定した根本原因確率に基づいて前記異常に関連する根本オブジェクトの識別を出力する、
ように構成されているホスト装置。
【請求項１２】
前記コンピュータインフラのコンピュータ環境リソースの前記属性に関連する前記異常を検出するとき、前記コントローラは、
前記コンピュータインフラの前記コンピュータ環境リソースの前記属性に関連するデータ要素集合に分類機能を適用して、前記データ要素集合の少なくとも１つデータ要素群を定義し、
前記データ要素集合のデータ要素が前記少なくとも１つのデータ要素群の外にある場合に、前記データ要素を前記属性に関連する異常要素として特定する、
ように構成されている、請求項１１に記載のホスト装置。
【請求項１３】
前記分類機能を前記データ要素集合に適用して前記データ要素集合の前記少なくとも１つのデータ要素群を定義するとき、前記ホスト装置は、前記データ要素集合にクラスタリング機能を適用して前記データ要素集合の少なくとも１つのデータ要素クラスタを定義するように構成されている、請求項１２に記載のホスト装置。
【請求項１４】
前記データ要素集合のデータ要素が前記少なくとも１つのデータ要素群の外にある場合に前記データ要素を前記属性に関連する異常要素として特定するとき、前記コントローラは、前記データ要素集合のデータ要素が前記データ要素集合の前記少なくとも１つのデータ要素クラスタの外にある場合に、前記データ要素を前記属性に関連する異常要素として特定するように構成されている、請求項１３に記載のホスト装置。
【請求項１５】
前記コントローラは、さらに、
前記データ要素集合の前記少なくとも１つのデータ要素クラスタに学習挙動機能を適用するように構成されており、前記学習挙動機能は、前記少なくとも１つのデータ要素クラスタに対して少なくとも１つの学習挙動境界を定義し、
前記データ要素集合のデータ要素が前記少なくとも１つのデータ要素群の外にある場合に前記データ要素を前記属性に関連する異常要素として特定するとき、前記コントローラは、前記データ要素集合のデータ要素が前記少なくとも１つの学習挙動境界の外にある場合に、前記データ要素を前記属性に関連する異常要素として特定するように構成されている、請求項１３に記載のホスト装置。
【請求項１６】
前記コントローラは、さらに、
前記少なくとも１つの学習挙動境界に感度機能を適用するように構成されており、前記感度機能は、少なくとも１つの学習挙動境界に対して感度境界を定義し、
前記データ要素集合のデータ要素が前記少なくとも１つのデータ要素群の外にある場合に前記データ要素を前記属性に関連する異常要素として特定するとき、前記コントローラは、前記データ要素集合のデータ要素が前記感度境界の外にある場合に、前記データ要素を前記属性に関連する異常要素として特定するように構成されている、請求項１５に記載のホスト装置。
【請求項１７】
前記検出異常の前記属性に関連する前記オブジェクトを前記コンピュータインフラの前記関連オブジェクトと相関させるとき、前記コントローラは、
グラフデータベースにアクセスし、
前記検出異常の前記属性に関連する前記オブジェクトおよび前記関連オブジェクトをグラフデータベースによって特定する、
ように構成されている、請求項１１に記載のホスト装置。
【請求項１８】
前記相関オブジェクトの各オブジェクトに対する前記根本原因確率を特定するとき、前記ホスト装置は、
異常オブジェクトおよび関連オブジェクトの１つに起因する異常の事前確率を検出し、
異常オブジェクトおよび関連オブジェクトの１つに起因する異常の条件付き確率を検出し、
異常オブジェクトおよび関連オブジェクトの１つに起因する異常の事後確率を検出する、前記事後確率は、前記事前確率および前記条件付き確率に基づく、
ように構成されている、請求項１１に記載のホスト装置。
【請求項１９】
前記特定した根本原因確率に基づいて前記異常に関連する前記根本オブジェクトの前記識別を出力するとき、前記コントローラは、
前記コンピュータ環境における検出異常の少なくとも１つの推定原因を特定するユーザインタフェースを提供し、
前記検出異常に関連するランキング情報を受信し、
前記ランキング情報に基づいてデータセットに関する第２根本原因分析を行う、
ように構成されている、請求項１１に記載のホスト装置。
【請求項２０】
前記コントローラは、さらに、
前記コンピュータインフラリソースの前記属性に関連する前記データ要素集合を更新して更新データ要素を含め、
前記更新データ要素を含む前記データ要素集合に特性化機能を適用して、前記データ要素集合の少なくとも１つのデータ要素群を定義する、
ように構成されている、請求項１２に記載のホスト装置。
【発明の詳細な説明】
【背景技術】
【０００１】
現代の経済およびビジネスサービスは、通常、コンピュータインフラの複雑で動的で異種の情報技術（ＩＴ）を実行する。例えば、コンピュータインフラは、例えばスイッチやルータなどの通信装置によって相互接続された１つ以上のサーバまたはホスト装置および１つ以上のストレージアレイを含みうる。サーバは、動作中に１つ以上の仮想マシン（ＶＭ）を実行するように構成されうる。各ＶＭは、通常、１つ以上のアプリケーションまたは作業負荷を実行するように構成されうる。このような作業負荷は、オンプレミス（データセンター）およびオフプレミス（パブリック／プライベートクラウド）環境の一部として実行されうる。
【０００２】
クラウド／仮想化環境において欠けている重要なアプリケーションの実行／変換に関連する最も一般的な問題の１つは、性能に関するものである。クラウド／仮想化環境においてアプリケーションに影響を与える可能性のある１つの性能問題は、ストレージ、特にデータストアの競合に関連している。データストアは、ある環境内の同じホスト上および／または異なるホスト上のＶＭと共有されるオブジェクトとして定義される。データストア競合は、その環境内の多くの異なるイベント、変更、および／または問題に起因しうる。
【０００３】
データストアの競合は、環境に関連する入出力（ＩＯ）レイテンシの異常な増加によって特定されうる。ＩＯレイテンシは、通常、特定のデータストア上の全てのアプリケーションに影響しうる。しかし、ストレージ競合では、ＩＯレイテンシはデータストアで発生する。
【０００４】
データストアは、通常、ローカルに接続されたデバイスの上に構築される場合、ホスト装置にまでより分離される。しかし、データストアがホスト装置間で共有され、例えば単一の論理オブジェクト（つまり、データストアまたはコンバージドインフラストラクチャ）などにさらされている、例えばＳＡＮなどによる、より複雑な構成がある。ここでは、ローカルに接続されたデバイスが集められて複数のホスト（およびＶＭ）間の共有リソースとして構成されている。
【０００５】
クラウド／仮想化環境において欠けている重要なアプリケーションの実行／変換に関連する他の問題は、環境において問題の原因を特定することである。環境において問題の原因を決定するプロセスは、問題の根本原因を導出／決定するプロセスと呼ばれる。このプロセスは、通常、挙動を変更し、故障し、別の一連のイベントを経験するオブジェクトを含みうる。非常に複雑な相互関係を持つ環境では、例えばデータストア競合問題などの性能問題の根本原因の特定は、非常に複雑な手作業のプロセスであるが、アプリケーション問題がシステム管理者の目に明らかになった場合には、環境の運用を維持するために必要である。
【発明の概要】
【０００６】
例えばデータストアなどのクラウド／仮想化環境におけるリソース競合に対処する従来のアプローチには、さまざまな欠点がある。例えば、システム管理者は、特定のツール（スプレッドシートのような）および統計学に精通している必要がある。また、データストアの競合は、ＩＯメトリクス（ＩＯＰＳやレイテンシ、スループット、優れたＩＯＰＳ、エラーのような）の素晴らしい経験と理解がなければ、やはり対処は非常に困難である。最後に、非常に大量の統計データセットに対して、それを連続して繰り返し行うことができるという問題もある。特にそのようなプロセスは継続的に行われる必要があるため、人間がそれを行うための効果的な方法はない。
【０００７】
さらに、あるレベルの閾値に基づく従来のツールを使用して性能問題の根本原因を特定することは、クラウド／仮想化環境における複雑な内部関係の理解なしには、非常に時間のかかる複雑な作業となりうる。これは、特に、問題がアプリケーションやコンピュータ、ストレージ、ネットワークのようなさまざまな分野にまたがる場合においてである。
【０００８】
１つの構成では、図１を参照すると、コンピュータインフラ２の動作中に、ホスト装置４の仮想マシン３は、別のホスト装置から他の仮想マシンのバックアップを実行することができる。例えば、ホスト装置４−２の仮想マシン３−１４は、ホスト装置４−２の仮想マシン３−４、仮想マシン３−５、および仮想マシン３−６をバックアップするように構成されているとする。また、仮想マシン３−１４は、ある時点でホスト装置４−４に移動させられるとする。しかし、移動後も、仮想マシン３−１４は、依然として仮想マシン３−４、３−５、３−６のバックアップを実行するように構成されている。これらのバックアップは、コンピュータインフラ２のさまざまな側面でレイテンシを生じさせる圧力（例えば、ＩＯＰＳ）を発生させうる。例えば、仮想マシン３−１、３−２、３−３は、ネットワーク５を通じて仮想マシン３−４、３−５、３−６に関係しているため、仮想マシン３−４、３−５、３−６のバックアップは、性能に影響を与え、仮想マシン３−１、３−２、３−３のレイテンシの原因となりうる。
【０００９】
従来のモニタリングシステムでは、システム管理者は、例えば仮想マシン３−１４などの仮想マシンを分析して、コンピュータインフラ２上で仮想マシン３−１４によって生じた圧力を決定することができる。しかし、従来の分析は、時間がかかる（例えば、３〜８時間かかる）ことがある。また、仮想マシン３−１、３−２、３−３のレイテンシの原因を決定するために、システム管理者は、集められたすべてのホストから、そして、競合下でデータストアに関連するＶＭから、Ｉ／Ｏ統計を収集して分析しなければならない。さらに、システム管理者は、その後、通常、スプレッドシートまたは別の報告ツールに統計を集約して相互に関連付ける。これにより、処理に余分な時間が加わることがある。
【００１０】
例えばデータストア競合などの問題を特定し修復する従来の方法に比べると、本発明の実施形態は、半教師付き機械学習の原理を活用して根本原因の分析および導出を行いコンピュータ環境の問題を修復する装置および方法に関する。１つの構成では、ホスト装置は、機械学習およびトポロジ的挙動分析の原理を活用することによって、コンピュータ環境内の個々のオブジェクト、データストア、および／または仮想マシンの挙動を決定するように構成されている。ホスト装置は、アプリケーションに対して性能上の問題を引き起こす可能性のある挙動の異常を特定するだけでなく、異常を相関させてコンピュータインフラ内のリソース間の関係を導出するとともに問題（例えば、オブジェクトやイベントなど）の根本原因を特定するように構成されている。ホスト装置は、例えばダッシュボードやユーザインタフェース（ＵＩ）などによって、システム管理者に、性能に影響を与える可能性のあるいかなるインフラコンポーネントイベント異常をも表示するように構成されている。ＵＩを使用すると、包括的で分かりやすい形式で複雑な問題を提示することができる。
【００１１】
ホスト装置は、システム管理者に、（１）データストアリソース競合の存在、（２）競合の発生日時、（３）競合の影響、および（４）競合の考えられる根本原因、に関する情報を提供するために、結果を相互に関連付けるように構成されている。
【００１２】
注目すべきは、データストアは実際には分散オブジェクトであるが、個々のホストは、独立してそれに接続されている（ネットワークに接続されたストレージブロックまたはファイルを想定する）。データストア上のリソース競合は、特定の「うるさい隣人（noisy neighbor）」によって引き起こされうるが、特定の状況下では、特に競合が特定のホストにまで分離されている（つまり、分散オブジェクトの異常が広範囲ではなく、特定のホストにまで分離されている）場合には、ネットワークが問題である可能性がある。こうした状況では、ホスト装置は、レイテンシおよびスループットに関係する全ての異常に対してデータストアが接続されているネットワークインタフェースを評価することもできる。
【００１３】
本発明の実施形態は、根本原因の分析および導出を利用して、例えばレイテンシ問題などのコンピュータ環境の全レイヤ（例えば、アプリケーション、ストレージ、ネットワーク、および計算）にわたる問題を検出するように構成された装置に関する。例えば、ホスト装置は、例えばｋ平均法クラスタリングやトポロジカル（グラフ理論）分析、イベント相関などの機械学習アルゴリズムを実行して、インフラ内のパターンおよび異常を検出するように構成されている。ホスト装置は、さらに、検出した異常に関する根本原因分析を実行して、コンピュータインフラに関連する性能問題をシステム管理者に提供するように構成されている。例えば、根本原因分析の間、ホスト装置は、例えばナイーブベイズ（Naieve Bayes）をベースにしたアルゴリズムなどの因果ネットワークアルゴリズムを実行して、検出した異常の根本原因を決定するように構成されている。
【００１４】
１つの構成では、ホスト装置は、根本原因分析に関連した出力を提供するように構成されている。これにより、エンドユーザは、検出された根本原因を評価またはランク付けすることができる。例えば、エンドユーザのランキング入力に基づいて、ホスト装置は、第２の根本原因分析を実行して根本原因分析確率を再計算することができる。このような構成によって、ホスト装置は、ユーザ入力を介した半教師付き学習を組み入れて、確率を動的に更新する。
【００１５】
本発明の実施形態は、ラスタリング分類アルゴリズムを使用する異常検出、グラフ理論の原理を活用する相関関係、およびネットワークベースの因果アルゴリズムを活用する根本原因導出を含むがこれらに限定されない半教師付き機械学習の原理を使用して根本原因の分析および導出を決定するように構成された装置に関する。本発明の実施形態は、根本原因のイベントを、イベントメタデータ、関連症状、関連オブジェクト、影響を受けたオブジェクト、および根本原因オブジェクトの形でモデル化する方法に関する。本発明の実施形態は、人間のエージェント入力を半教師付き学習の根本原因分析に組み込む方法に関する。１つの構成では、本発明の実施形態は、例えば、根本原因分析の機能を実行して（つまり、影響を受けたオブジェクトを調べ、コンピュータ環境内の他のオブジェクトとの関係を理解して）、根本原因オブジェクトを調べる能力を提供する根本原因分析グラフィカルユーザインタフェースに関する。
【００１６】
本発明の実施形態は、ホスト装置においてコンピュータ環境の異常分析を行う方法に関する。本方法は、前記ホスト装置が、前記コンピュータインフラのコンピュータ環境リソースの属性に関連する異常を決定するステップと、前記ホスト装置が、前記検出異常の前記属性に関連するオブジェクトを前記コンピュータインフラの関連オブジェクトと相関させるステップと、前記ホスト装置が、前記相関オブジェクトの各オブジェクトに対する根本原因確率を決定するステップであって、前記根本原因確率は、前記相関オブジェクトが前記検出異常の原因として機能する確率を特定する、ステップと、前記ホスト装置が、前記特定した根本原因確率に基づいて前記異常に関連する根本オブジェクトの識別を出力するステップと、を有する。１つの構成では、検出した異常の根本原因の特定に加えて、ホスト装置は、その異常によって影響を受けたオブジェクトをその後特定するように構成されている。根本原因でない異常オブジェクトも影響を受けるからである。
【図面の簡単な説明】
【００１７】
上記および他の目的、特徴、および効果は、添付の図面に示したように、本発明の特定の実施形態の以下の説明から明らかになるであろう。添付の図面では、異なる図面を通じて同様の参照文字は同一の部分を示している。図面は、必ずしも一定の縮尺ではなく、むしろ本発明のさまざまな実施形態の原理を説明することに重点が置かれている。
【００１８】
【図１】は、従来技術のコンピュータインフラの概略図である。
【００１９】
【図２】は、１つの構成に係るコンピュータシステムの概略図である。
【００２０】
【図３】は、１つの構成に係る、図２のホスト装置によって実行される手順の一例を示すフローチャートである。
【００２１】
【図４】は、１つの構成に係る、分析プラットフォームを実行する図２のホスト装置の概略図である。
【００２２】
【図５】は、１つの構成に係る、図４のデータトレーニングセットへのクラスタリング機能の適用を示すグラフである。
【００２３】
【図６】は、１つの構成に係る、図４のデータトレーニングセットへの学習挙動機能の適用を示すグラフである。
【００２４】
【図７】は、１つの構成に係る、図４のデータトレーニングセットへの感度機能の適用を示すグラフである。
【００２５】
【図８】は、１つの構成に係る、グラフィカルユーザインタフェースの一部として提供されるインシデント通知の一例を示す図である。
【００２６】
【図９】は、１つの構成に係る、図４のホスト装置によって提供されるグラフデータベースからのオブジェクトの相関を示す概略図である。
【００２７】
【図１０】は、１つの構成に係る、観察ノードおよび根本原因ノードの構成を示す概略図である。
【００２８】
【図１１】は、１つの構成に係る、図４のホスト装置によって出力されるグラフィカルユーザインタフェースの一例を示す図である。
【００２９】
【図１２】は、１つの構成に係る、図４のホスト装置によって出力されるグラフィカルユーザインタフェースの一例を示す図である。
【発明を実施するための形態】
【００３０】
本発明の実施形態は、半教師付き機械学習の原理を活用して根本原因の分析および導出を行いコンピュータ環境の問題を修復する装置および方法に関する。１つの構成では、ホスト装置は、機械学習およびトポロジ的挙動分析の原理を利用することによって、コンピュータ環境内の個々のオブジェクト、データストア、および／または仮想マシンの挙動を決定するように構成されている。ホスト装置は、アプリケーションに対して性能上の問題を引き起こす可能性のある挙動の異常を特定するだけでなく、異常を相関させてコンピュータインフラ内のリソース間の関係を導出するとともに問題（例えば、オブジェクトやイベントなど）の根本原因を特定するように構成されている。ホスト装置は、例えばダッシュボードやユーザインタフェース（ＵＩ）などによって、システム管理者に、性能に影響を与える可能性のあるいかなるインフラコンポーネントイベント異常をも表示するように構成されている。ＵＩを使用すると、包括的で分かりやすい形式で複雑な問題を提示することができる。
【００３１】
図２は、ホスト装置２５と電気通信するように配置された少なくとも１つのコンピュータインフラ１１を含むコンピュータシステム１０の構成を示している。コンピュータインフラ１１は、さまざまな方法で構成可能であるが、１つの構成では、コンピュータ環境リソース１２を含む。例えば、コンピュータ環境リソース１２は、例えばコンピュータ化された装置などの１つ以上のサーバ装置１４、例えばスイッチやルータなどの１つ以上のネットワーク通信装置１６、および例えばディスクドライブやフラッシュドライブなどの１つ以上のストレージ装置１８を含む。
【００３２】
各サーバ装置１４は、例えばメモリおよびプロセッサなどのコントローラまたはコンピュータハードウェア２０を含みうる。例えば、サーバ装置１４−１は、コントローラ２０−１を含み、サーバ装置１４−Ｎは、コントローラ２０−Ｎを含む。各コントローラ２０は、１つ以上の仮想マシン２２を実行するように構成可能であり、各仮想マシン（ＶＭ）２２は、１つ以上のアプリケーションまたは作業負荷２３を実行するようにさらに構成されている。例えば、コントローラ２０−１は、第１の仮想マシン２２−１および第２の仮想マシン２２−２を実行可能であり、これらはそれぞれ順に１つ以上の作業負荷２３を実行するように構成されている。各コンピュータハードウェア要素２０、ストレージ装置要素１８、ネットワーク通信装置要素１６、およびアプリケーション２３は、コンピュータインフラ１１の属性に関係している。
【００３３】
１つの構成では、サーバ装置１４のＶＭ２２は、１つ以上の共有オブジェクトまたはデータストア２９を含みうる。例えば、サーバ装置１４−１は、データストア２９を共有する第１ＶＭ２２−１および第２ＶＭ２２−２を含む。
【００３４】
１つの構成では、ホスト装置２５は、例えばメモリおよびプロセッサなどのコントローラ２６を有するコンピュータ化された装置として構成されている。ホスト装置２５は、コンピュータインフラ１１およびディスプレイ５５の両方と電気通信するように配置されている。
【００３５】
ホスト装置２５は、通信ポート（図示せず）を介して、コンピュータインフラ１１の少なくとも１つのコンピュータ環境リソースから一連のデータ要素２４を受信するように構成されている。一連のデータ要素２４の各データ要素２８は、コンピュータ環境リソース１２の属性に関連している。例えば、データ要素２８は、コンピュータ環境リソース１２の計算レベル（計算属性）、ネットワークレベル（ネットワーク属性）、ストレージレベル（ストレージ属性）、および／またはアプリケーションもしくは作業負荷レベル（アプリケーション属性）に関連しうる。
【００３６】
動作中、ホスト装置２５は、例えばプライベートＡＰＩコールを介して、コンピュータ環境リソース１２をポーリングして、コンピュータインフラ１１の計算、ストレージ、およびネットワーク属性に関するデータ要素２８を取得するように構成されている。例えば、ホスト装置２５は、サーバ装置１４のコントローラ構成および利用（つまり、計算属性）、各サーバ装置１４のＶＭアクティビティ（つまり、アプリケーション属性）、ならびにコンピュータインフラ１１に関連する現在の状態および履歴データに関するデータ要素２８を受信しうる１つの構成では、各データ要素２８は、例えばコンピュータインフラ１１のイベント、統計、および構成など、コンピュータインフラ１１に関連する追加情報を含みうる。
【００３７】
ホスト装置２５は、さまざまな方法でコンピュータインフラ１１からデータ要素２８を受信することができるが、１つの構成では、ホスト装置２５は、ほぼリアルタイムストリームの一部としてデータ要素２８を受信するように構成されている。後述するように、ほぼリアルタイムのストリームとしてデータ要素２８を受信することによって、ホスト装置２５は、コンピュータインフラのアクティビティをほぼ継続的に監視することができる。これにより、ホスト装置２５は、時間と共にほぼ継続的にコンピュータインフラ１１内の変化に応答して１つ以上のコンピュータ環境リソース１２に関連する異常アクティビティを検出することができる。
【００３８】
１つの構成では、ホスト装置２５は、データ要素２８に関するデータストア競合分析を行う分析プラットフォーム２７を含む。例えば、図４に示すように、この分析プラットフォーム２７は、異常検出コンポーネントまたは分析機能４２およびグラフ理論機能４４を備えるトポロジ的挙動分析コンポーネントを含みうる。また、分析プラットフォーム２７は、根本原因分析機能４６もユーザインタフェース（ＵＩ）機能４８も含みうる。
【００３９】
図２に戻って、ホスト装置２５のコントローラ２６は、分析プラットフォーム２７のアプリケーションを記憶しうる。例えば、分析プラットフォームアプリケーションは、コンピュータプログラム製品３２からコントローラ２６にインストールされる。いくつかの構成では、コンピュータプログラム製品３２は、例えば収縮包装パッケージ（例えば、ＣＤ−ＲＯＭやディスケット、テープなど）のような標準的な市販形態で入手可能である。他の構成では、コンピュータプログラム３２は、例えばダウンロード可能なオンライン媒体などの異なる形態で入手可能である。ホスト装置２５のコントローラ２６上で実行されると、分析プラットフォームアプリケーションは、ホスト装置２５にトポロジ的挙動分析および根本原因分析を実行させる。
【００４０】
上記のように、ストレージＩ／Ｏに関する問題は、データストアの競合に起因し、通常、そのようなイベントの症状は、サーバ装置とデータストアの組み合わせにおけるレイテンシの増加である。問題が発生すると、最初は、通常、単一の要求に対してコマンドが停止され始め、状況が対応されないと、恐らく最終的にはキュー内のすべての要求が停止されてしまう。１つの構成では、分析プラットフォーム２７を実行するとき、ホスト装置２５は、コンピュータインフラ１１に関連するデータストアリソースの競合を特定するように構成されている。例えば、ホスト装置２５は、特定のデータストアに接続されたＶＭ２２だけでなく各サーバ装置１４からのストレージＩ／Ｏ関連統計２８も分析することができる。
【００４１】
図３は、例えばデータ要素２８に関するデータストア競合分析を行うために、分析プラットフォーム２７を実行するときに、図１のホスト装置２５によって実行される方法の一例を示すフローチャート１００である。要素１０２において、ホスト装置２５は、コンピュータインフラ１１のコンピュータ環境リソース１２の属性に関連する異常を決定するように構成されている。
【００４２】
上記のように、ホスト装置２５は、例えばサーバ装置１４のコントローラ構成および利用（つまり、計算属性）、各サーバ装置１４のＶＭアクティビティ（つまり、アプリケーション属性）、ならびにコンピュータインフラ１１に関連する現在の状態および履歴データなど、さまざまな属性に関連するデータ要素２８を受信しうる。以下では、データストア競合に関連する異常の存在を決定するときにホスト装置２５によって実行されるプロセスについて説明する。
【００４３】
データ記憶装置の競合の検出に関して、ホスト装置２５は、データ要素２８として、コンピュータインフラ１１のコンピュータ環境リソース１２に関するレイテンシ情報（例えば、入力／出力（ＩＯ）レイテンシや入出力操作毎秒（ＩＯＰＳ）レイテンシなど）を収集するように構成されている。例えば、ホスト装置２５は、例えばプライベートＡＰＩコールを介して、コンピュータ環境リソース１２をポーリングして、コンピュータインフラ１１内のレイテンシに関するデータ要素２８を取得するように構成されている。データ要素２８は、分散データストアオブジェクトのレイテンシ統計、および、データストア競合に関連付けられた個々のＶＭの性能統計を含みうる。
【００４４】
１つの構成では、ホスト装置２５がレイテンシデータ要素２８を受信すると、ホスト装置２５は、レイテンシ情報２８を均一性または正規化機能３４に導いて、データ要素２８を正規化するように構成されている。例えば、さまざまなコンピュータ環境リソース１２が、独自仕様のフォーマットでデータ要素２８をホスト装置２５に提供することができる。このような場合、ホスト装置２５の正規化機能３４は、データ要素２８を標準の独自仕様でないフォーマットに正規化するように構成されている。
【００４５】
他のケースでは、ホスト装置２５が時間と共にデータ要素２８を受信すると、データ要素２８は、さまざまな時間尺度で提示可能である。例えば、コンピュータインフラ１１の複数のネットワーク装置１６から受信したデータ要素２８に対して、装置１６のレイテンシは、秒（秒）またはミリ秒（ミリ秒）で提示可能である。このような例では、ホスト装置２５の正規化機能３４は、データ要素２８を共通の時間尺度に整えるように構成されている。データ要素２８の正規化、クラスタリング機能の適用は、後述するように、全てのデータ要素２８に対して等しい尺度を提供し、クラスタリング機能によって利用される距離メトリック（例えば、ユークリッド距離メトリック）にバランスのとれた影響を与える。さらに、実際問題として、データ要素２８の正規化は、クラスタベースの分析にとって一般的に望ましい特性であるほぼ球形に見えるクラスタを生成する傾向がある。
【００４６】
次に、ホスト装置２５は、異常挙動検出に使用するためにデータトレーニングセット３６を作成するように構成されている。データトレーニングセット３６は、コンピュータ環境リソース１２の特定の挙動パターンまたは傾向を特定するためにホスト装置２５によって使用される一連の基本データとして構成される。
【００４７】
１つの構成では、ホスト装置２５は、正規化されたレイテンシデータ要素３０（つまり、コンピュータインフラのコンピュータインフラリソースの属性）に分類機能３８を適用してデータトレーニングセット３６を作成するように構成されている。分類機能３８は、さまざまな方法で構成可能であるが、１つの構成で、分類機能３８は、例えばクラスタリング機能などの半教師付き機械学習機能として構成されている。
【００４８】
クラスタリングは、クラスタと呼ばれる同じグループ内のオブジェクトが他のグループまたはクラスタ内のオブジェクトよりも互いに類似するような方法で、一連のオブジェクトをグループ化するタスクである。クラスタリングは、機械学習、パターン認識、画像解析、情報検索、およびバイオインフォマティクスを含む多くの分野で使用される、統計的データ分析のための従来の技術である。オブジェクトのクラスタへのグルーピングは、クラスタを構成するものの概念およびそれらを効率的に見つける方法の概念が大きく異なるさまざまなアルゴリズムによって達成されうる。例えば、既知のクラスタリングアルゴリズムは、階層的クラスタリング、重心ベースのクラスタリング（つまり、ｋ平均法クラスタリング）、分布に基づくクラスタリング、および密度に基づくクラスタリングを含む。クラスタリングに基づいて、ホスト装置２５は、コンピュータインフラ１１のさまざまな構成要素に関連する異常または性能低下を検出するように構成されている。
【００４９】
１つの構成では、分類機能３８の実行により、ホスト装置２５は、正規化されたレイテンシデータ要素３０にアクセスしてデータトレーニングセット３６を作成するように構成されている。ホスト装置２５は、時間と共に正規化レイテンシデータ要素３０を受信することによってデータトレーニングセット３６をほぼ連続的かつ継続的に作成することができる。このデータ要素は、コンピュータ環境リソース１２に由来する。例えば、図５を参照すると、データトレーニングセット３６を作成するために、ホスト装置２５は、一定期間にわたって、コンピュータインフラ１１からデータ要素２８のほぼリアルタイムのストリームを受信する。データ要素２８は、その後、正規化される（例えば、正規化データ要素３０）。１つの構成では、ホスト装置２５は、正規化データ要素３０にトレーニング機能（図示せず）を適用して、データ要素２８の継続的ストリームに基づいてデータトレーニングセット３６を連続的に作成し訓練するように構成されている。したがって、コンピュータインフラの属性値が時間と共に変化すると（例えば、コンピュータインフラ１１の特定のコントローラに対するＣＰＵ使用率の増減を示す）、データトレーニングセット３６も、時間と共に変化しうる。
【００５０】
１つの構成では、分類機能３８としてクラスタリング機能を適用することにより、ホスト装置２５は、データトレーニングセット３６をクラスタとして記憶する。例えば、データトレーニングセットは、１オブジェクト当たりの、例えば平均値や標準偏差、最大値、最小値、サイズ（例えば、クラスタ内のデータ点の数）、密度機能（例えば、クラスタがどの程度密集しているか）などの値を定義する、クラスタの中に入れられたモデルである。最大値および最小値は、例えば図５に示すｘ軸（例えば、時間）およびｙ軸（例えば、レイテンシ）に適用可能である。クラスタリングに基づいて、ホスト装置２５は、クラスタの高さおよび幅に基づいて、レイテンシの一定の特性もレイテンシの持続時間も特定することができる。
【００５１】
図５は、データ要素３０にクラスタリング機能３８を適用してデータトレーニングセット３６を生成する一例を示す図である。１つの構成では、データ要素２８への分類（つまり、クラスタリング）機能３８の適用の結果として一連のクラスタ８２が生成されうる。例えば、特性化機能８０を適用した後、トレーニングデータセット４７は、第１、第２、および第３クラスタ８２−１、８２−２、８２−３を含みうる。各クラスタ８２−１〜８２−３は、ある共通の類似性（例えば、入力／出力（ＩＯ）レイテンシや入出力操作毎秒（ＩＯＰＳ）レイテンシなど）を有するコンピュータインフラ属性を識別する。
【００５２】
１つの構成では、図４を参照すると、ホスト装置２５は、データトレーニングセット３６（例えば、７日間など一定期間にわたって収集された正規化レイテンシデータ要素３０）を作成した後、ホスト装置２５は、データトレーニングセット３６および正規化レイテンシデータ要素３０の両方に分析機能４２を適用して異常を特定するように構成されている。
【００５３】
例えば、ホスト装置２５は、分析機能４２を、例えばデータストア競合やストレージ性能レイテンシなどの、データトレーニングセット３６の特定の一連のユースケースに適用するものとして利用して、コンピュータインフラ１１のさまざまなコンピュータ環境リソース１２に関連付けられたレイテンシに関連する異常を検出するように構成されている。図４を参照すると、ホスト装置２５は、分析機能４２をデータトレーニングセット３６および正規化レイテンシデータ要素３０の両方に適用して、コンピュータインフラ１１に関連するレイテンシ情報の異常を決定することができる。
【００５４】
上記のように、また図４を続けて参照すると、ホスト装置２５は、分析機能４２を実行するとき、正規化レイテンシデータ要素３０をデータトレーニングセット３６と比較するように構成されている。分析機能４４のこのような適用によって、ホスト装置２５は、データ要素２８に関連する傾向およびコンピュータ環境リソース１１に関連する異常な挙動の存在を決定することができる。
【００５５】
例えば、分析機能４４の実行により、正規化レイテンシデータ要素３０をデータトレーニングセット３６と比較することによって、ホスト装置２５は、外れデータ要素８４（例えば、クラスタ８２の外にあるデータ要素）を、コンピュータインフラ１１に関連する異常アクティビティを表すデータ異常として識別するように構成されている。例えば、図５を参照すると、正規化レイテンシデータ要素３０をデータトレーニングセット３６と比較することにより、クラスタ８２の外にある多数のデータ要素２８が得られる。分析（例えば、分析機能４２の適用）の結果として、ホスト装置２５は、データ要素のクラスタ８２−１〜８２−３の外にあるデータ要素８４−１、８４−２、８４−３、８４−４を、コンピュータインフラ１１に関連する異常なデータ要素および異常な挙動（例えば、レイテンシ）を示すものとして識別することができる。
【００５６】
１つの構成では、分析機能４２は、さまざまな方法で、ホスト装置２５によって決定された異常データの結果をフィルタリングするように構成可能である。
【００５７】
例えば、図５を参照すると、分析機能４２は、ベストプラクティス機能４５として構成することもでき、ベストプラクティス閾値８５を、クラスタ８２−１〜８２−３の外にあるデータ要素８４−１、８４−２、８４−３、８４−４に適用することができる。ベストプラクティス閾値８５は、非異常の非クラスタレイテンシ情報要素（例えば、「不良」要素）８４−１を、異常な非クラスタレイテンシ情報要素から区別するためのカットオフとして構成されている。ベストプラクティス閾値８５の適用に基づいて、ベストプラクティス機能４５は、データ要素８４−１を異常データ要素と見なして最小化または削除し、また、データ要素８４−２、８４−３、８４−４を異常データ要素として提供する。
【００５８】
別の例では、図６を参照すると、分析機能４２は、クラスタ８２のデータ要素グループに対して学習挙動境界８８を定義する学習挙動機能４７として構成することもできる。学習挙動境界８８は、クラスタ８２にスケーラブルなカットオフを提供して、非異常の非クラスタレイテンシ情報要素を異常な非クラスタレイテンシ情報要素から区別するように構成されている。例えば、学習挙動機能４７は、学習挙動境界８８を、各クラスタ８２の重心９０からの３つの標準偏差として定義する。
【００５９】
図示の例では、学習挙動機能４７は、第１および第２の学習挙動境界８８−１、８８−２を適用する。学習挙動境界８８−１、８８−２の適用に基づいて、学習挙動機能４７は、データ要素８４−２が学習挙動境界８８−１、８２−２の中にあるとき、このデータ要素８４−２を異常データ要素と見なして最小化または削除する。また、学習挙動機能４７は、データ要素８４−３、８４−４が学習挙動境界８８−１、８８−２の外にあるとき、これらのデータ要素８４−３、８４−４を異常データ要素として提供する。
【００６０】
別の例では、図７を参照すると、分析機能４２は、予め定義された学習挙動境界８８に対して感度境界９２を定義する感度機能４９として構成することもできる。感度境界９２は、重要でない異常の報告を制限または阻止し、システム管理者に決定の意味論に影響を与える能力を提供する。例えば、感度機能４９は、重要でない異常が異常な結果として示されないようにシステム管理者が学習挙動閾値を調整できるようにすることによって、異常検出フレームワークの挙動を変更することができる。
【００６１】
図７を参照すると、感度境界９２は、学習挙動境界８８に閾値を提供して、非異常の非クラスタレイテンシ情報要素を異常な非クラスタレイテンシ情報要素から区別するように構成されている。図示の例では、感度機能４９は、第１および第２の感度境界９２−１、９２−２を学習挙動境界８８に適用する。感度境界９２−１、９２−２の適用に基づいて、感度機能４９は、データ要素８４−３が学習挙動境界８８−１、８８−２の内にあるときに、このデータ要素８４−３を異常データ要素と見なして最小化または削除する。また、感度機能４９は、データ要素８４−４が感度境界９２−１、９２−２の外にあるとき、このデータ要素８４−４を異常データ要素として提供する。
【００６２】
コンピュータインフラ１１の動作は、計算レベル、ネットワークレベル、ストレージレベル、および／またはアプリケーションもしくは作業負荷レベルの経時的な変化を識別するために新しいデータ要素２８を作成することができる。１つの構成では、ホスト装置２５は、ほぼ継続的にデータトレーニングセット３６を更新して、コンピュータインフラ１１内の異常アクティビティの変化を検出することができるように構成されている。例えば、図４を参照すると、ホスト装置２５は、例えばストリームの一部として、時間と共にコンピュータインフラ１１から更新データ要素２８を受信し、この更新データ要素２８をデータトレーニングセット３６に提供するように構成されている。ホスト装置２５は、さらに、コンピュータインフラ１１に関連する異常データ要素を特定するために更新データ要素２８を含むデータトレーニングセット３６に分類機能３８を適用するように構成されている。データトレーニングセット３６のほぼ連続的な更新および特性化により、ホスト装置２５は、時間と共にコンピュータ環境リソースの変化を検出することができる。
【００６３】
異常データ要素８４の検出に応答して、１つの構成では、ホスト装置２５は、コンピュータインフラ１１に関連する異常の存在に関するインシデント通知５１をシステム管理者に提供するように構成されている。１つの構成では、インシデント通知５１は、オブジェクトの異常な挙動が検出され恐らく注意が必要であることをユーザに示すイベントである。すなわち、相関が導入されるまで（つまり、後述する競合）、その異常がインフラのいずれかの要素に何らかの影響を与えるかどうかは明確でない。
【００６４】
インシデント通知５１は、さまざまな方法で構成可能であるが、一例では、インシデント通知は、以下の定義された一連の基準を有しうる。
カテゴリ：容量／性能／信頼性／効率（Ｐ：データストア競合の場合）
時間（開始終了日時の期間）：開始時刻と終了時刻から導出可能
レイヤ：アプリケーション／計算／ストレージ／ネットワーク（ストレージ：データストア競合の場合）
問題種別：ストレージ競合／計算競合／ネットワーク競合
重大度：重要／警告／情報
関連オブジェクト：リソースの競合で追加される結果のオブジェクト
症状：レイテンシの増加（実際の値、傾向、差など）
【００６５】
したがって、インシデント通知５１をシステム管理者に報告することにより、コンピュータインフラ１１の潜在的な問題に関する情報を管理者に提供することができる。
【００６６】
１つの構成では、ホスト装置２５は、インシデント通知５１を、ディスプレイ装置５５によって提供されるＧＵＩ５０の一部として提供するように構成されている。例えば、図８に示すように、ホスト装置２５は、インシデント通知５１を平均レイテンシグラフ９０として提供して、コンピュータインフラ１１内の作業負荷を示すとともに、コンピュータインフラ１１内のレイテンシに関連する異常の存在を示すことができる。
【００６７】
１つの構成では、ホスト装置２５は、システム管理者に提供するインシデント通知５１の頻度を制限するように構成可能である。例えば、システム管理者は、個々の異常インシデント通知５１として５秒に１回の間隔で発生している一連の異常を受信したくない可能性がある。
【００６８】
対照的に、永久に続くイベントも存在しうる（つまり、挙動異常を引き起こす新たな負荷が加えられるが、そのイベントが消えてなくなる可能は現在も未来も低い）。インシデント通知５１の頻度を制限するために、ホスト装置２５は、ホスト装置２５がインシデント通知５１をいつ提供するかを、例えば以下の例に示すよう、決定するように構成されている。
−インシデントは、終了の日時がない（期間と無関係である）場合、直ちに起動される。欠点は、グラフ内で何らかのタイプの相関を行うことにした場合、終了が得られるまで異常の領域を記入することができないことである。
−インシデントは、終了の日時が得られる場合にのみ、起動される。これは、管理者またはアプリケーション所有者は問題をすでに経験しており、早期にそれを知らなければならない（これは我々を前述の戦略に引き戻す）という可能性があることを意味する。しかし、監視ツールではないことに注意してください。
【００６９】
１つの構成では、ホスト装置２５は、イベント（異常および根本原因）関係デルタ閾値を用いて構成されている。この閾値は、発生したイベントであって当該イベントを関連付ける特定のオブジェクトに関連し最終的に進行中のイベントの終了時間を設定するイベント間のデルタ時間を定義する。
【００７０】
以下は、閾値の定義の一例である。
Ａ．異常イベント（または一連のイベント）がポーリングサイクルタイムフレーム（現在のポーリングサイクルは５分）内で発生し、かつ、ポーリングサイクル収集データ（新しく開始しない限り５分）内のイベント間のデルタが関係閾値以下である場合、イベント（異常／根本原因）は終了せず（つまり、終了時間が空白である）、したがって継続する。
Ｂ．イベント間のデルタ時間が関係閾値よりも大きい場合、終了時間をイベントの最後の発生に設定する。
【００７１】
ホスト装置２５は、コンピュータインフラ１１に関連する異常（例えば、レイテンシ問題）の存在を検出すると、異常データ要素に関連するオブジェクトに関する根本原因分析を実行して考えられる異常発生源を特定するように構成されている。例えば、図４を参照すると、ホスト装置２５は、根本原因分析の一部として、検出された異常に関連するオブジェクトに根本原因機能４６を適用するように構成されている。
【００７２】
一般に、異常の根本原因分析を実行するとき、コンピュータ化された装置は、異常に関連するタイプに関係なく、一連の関連オブジェクトに関する情報を決定する。例えば、データストアの異常の根本原因を決定するために、ホスト装置２５は、そのデータストアに関連するすべての関連オブジェクト（ホスト、ＶＭ、仮想ディスク、その他のデータストア）を見つけるように構成されている。通常、根本原因分析の一部として利用されるデータは全て、慣例的にリレーショナルデータベースに格納されており、したがって、コンピュータ化された装置は、通常、例えばリレーショナル（ＳＱＬと呼ばれることもある）データベースなどの従来のデータベースにアクセスして、この情報を取り出す。しかし、根本原因分析の一部としてのリレーショナルデータベースの使用は、コンピュータ化された装置がこの情報を照会するために多くの複雑な手順を実行することを必要とする。したがって、根本原因分析の結果は、返されるオブジェクトのタイプごとに異なる結果セットを含むため、使い切るのは困難である。
【００７３】
非リレーショナルデータベースの１つのタイプは、グラフデータベースである。グラフデータベースは、ホスト装置２５に、データセット内の非常に複雑な関係を通じて捕捉および検索を行う能力を提供することができる。リレーショナルデータベースおよびグラフデータベースのそれぞれは、他のものよりも、特定のタイプのデータおよび特定のタイプの操作に適している。例えば、リレーショナルデータベースは、通常、格納される各タイプのデータが全て同じ特性を有する非常に均一なデータに適している。また、リレーショナルデータベースは、通常、例えば多くのデータポイントを持つ平均などの数学的特性を計算するとき、比較的高速に実行される。対照的に、グラフデータベースは、同じタイプの異なるオブジェクトが異なる一連の特性を有することがある不規則なデータに適している（例えば、データベースには人に関する情報が格納されており、「給料」の特性を有する人もいれば有しない人もいる）。グラフデータベースは、リレーショナルデータベースよりも迅速かつ簡単に関係に関する操作を実行するように構成されている。例えば、ソーシャルグラフには、人々の間の多くの異なるタイプの関係（配偶者、兄弟、同僚、友人など）がある。また、グラフデータベースは、これらの関係に関する情報を比較的速く照会するように構成されているが、リレーショナルデータベースは、このタイプの照会に時間がかかることがある。
【００７４】
１つの構成では、ホスト装置２５は、グラフ理論を使用して、根本原因分析中に使用するために、コンピュータインフラ１１を表すオブジェクトのグラフデータベース５４を作成するように構成されている。グラフ理論は、オブジェクト間の対の関係をモデル化するために使用される数学的構造であるグラフの研究に関する。この文脈におけるグラフは、頂点またはノードと、ノードを接続する線または辺とからなる。したがって、グラフは、一連のＶ個の頂点またはノードと、ノード間の関係を表しＶの２要素サブセットである一連の線またはエッジ（つまり、エッジは２つの頂点に関連している）とを含む順序付きペアＧ＝（Ｖ、Ｅ）である。この関係は、特定のエッジに関して頂点３２の順序付けられていない対として表される。
【００７５】
図４に戻ると、動作中、１つの構成では、ホスト装置２５は、コンピュータインフラに関連するデータ要素２８にグラフ理論機能４４を適用してコンピュータインフラ１１のトポロジを定義するように構成されている。例えば、ホスト装置２５は、グラフ理論機能４４をコンピュータインフラ１１の各オブジェクトに適用して、各オブジェクトをグラフデータベース５４内のノードとして定義することができる。さらに、ホスト装置２５は、グラフ理論機能４４を各オブジェクト２８に適用して、オブジェクト間の関係に基づいて（例えば、オブジェクトに関連する関係基準に基づいて）ノード間の一連のエッジを定義するように構成されている。
【００７６】
１つの構成では、グラフデータベース５４を生成するために、ホスト装置２５は、グラフ理論機能４４をリレーショナルデータベースに適用して、例えば管理オブジェクトなどの全ての関連オブジェクトを特定し、その管理オブジェクトをリレーショナルデータベースからグラフデータベース５４に移動させるように構成されている。以下、管理オブジェクト（ＶＭ、ホストなど）のグラフデータベースへの保存について説明する。
【００７７】
１つの構成では、ホスト装置２５は、グラフ検索クエリを実行して、環境を通過しない特定のオブジェクトへの経路を有する任意のオブジェクトを見つけるように構成可能である。１つの構成では、多くのオブジェクトが同じ環境のメンバーであるため、経路内の環境を除外する（つまり、データストアとホストは同じ環境のメンバーでありうるが、他の関係は共有できない。この場合、データストアの異常がホストの状態に関連する可能性は低い）。例えば、ホスト装置２５は、例えば異常を示すデータ要素などのイベントと、その異常に関連するオブジェクトの識別とを用いて、関連オブジェクトを見つけるように構成されている。
【００７８】
上記のように、例えばレイテンシに関連する異常など、コンピュータインフラ１１に関連する異常の検出後、ホスト装置２５は、検出した異常に根本原因分析機能４６を適用して、考えられる異常発生源を特定するように構成されている。
【００７９】
１つの構成では、根本原因機能４６を適用する前に、ホスト装置２５は、グラフデータベース５４にアクセスして、検出した異常オブジェクトの影響を受けるオブジェクトを特定するように構成されている。例えば、図３のフローチャート１００に戻ると、要素１０４において、ホスト装置２５は、検出した異常の属性に関連するオブジェクトを、コンピュータインフラ１１の関連オブジェクトと相関させるように構成されている。このような相関に基づいて、ホスト装置２５は、検出した異常に関連するオブジェクトと、コンピュータインフラに関連する他のオブジェクトに対する異常オブジェクトの関係とを含むコンピュータインフラ１１のトポロジを決定する。
【００８０】
例えば、図９を参照して、ホスト装置２５が、第１の仮想マシン２２−１（つまり、ＶＭ＿Ｒ）に関連する例えばレイテンシなどの異常を特定する場合を想定する。このような特定に基づいて、ホスト装置２５は、第１の仮想マシン２２−１に関連する第１のＶＭオブジェクト１２２−１を特定するために、根本原因機能４６を実行してグラフデータベース５４にアクセスする。グラフデータベース５４に提供されたトポロジ関係を使用して、根本原因機能４６を実行するホスト装置２５は、関係を詳しく検討して、第１のＶＭオブジェクト１２２−１に関連する（例えば、接続されたまたは接触している）関連オブジェクトを全て特定することができる。例えば、根本原因機能４６は、トポロジ１５０によって示されるように、第１のＶＭオブジェクト１２２−１に関連している、データストアオブジェクト１２９（つまり、ＤＳ＿Ｓｉ）および第２のＶＭオブジェクト１２２−２（例えば、ＶＭ＿Ｂ）を特定することができる。したがって、グラフデータベース５４にアクセスすることによって、ホスト装置２５は、さらなる根本原因分析のために、検出した異常に関連する全てのオブジェクトを特定することができる。
【００８１】
異常オブジェクトおよび関連オブジェクトのトポロジ１５０を決定した後、ホスト装置２５は、これらの管理オブジェクトのそれぞれを異常の考えられる根本原因または発生源と見なす。ホスト装置２５は、オブジェクトのＶＭ固有のＩ／Ｏ性能データを分析して、各オブジェクトが実際に異常を経験しているかどうか、また、異常発生源であるかどうかを決定するように構成されている。例えば、図３のフローチャート１００に戻ると、要素１０６において、ホスト装置２５は、相関オブジェクトの各オブジェクトに対する根本原因確率を決定するように構成されている。根本原因確率は、相関オブジェクトが検出された異常の原因として機能する確率を特定する。
【００８２】
根本原因機能４６は、根本原因分析を実行するようにホスト装置２５をさまざまな方法で構成することができるが、１つの構成では、根本原因機能４６は、異常オブジェクトおよび関連オブジェクトのうちの１つに起因する異常の事前確率と、異常オブジェクトおよび関連オブジェクトのうちの１つに起因する異常の条件付き確率と、異常オブジェクトおよび関連オブジェクトのうちの１つに起因する異常の事後確率とを決定するように構成されている。１つの構成では、根本原因機能４６は、トポロジ１５０に一連のテンプレートを適用して異常の根本原因を決定するようにホスト装置２５を構成する。以下、事前確率、条件付き確率、および事後確率を決定するために根本原因機能４６によって適用されるテンプレートの例について説明する。
【００８３】
例えば、図４を参照すると、ホスト装置２５がレイテンシに関連する異常を検出した場合、ホスト装置２５は、トポロジ１５０のオブジェクトに関連する一連の観察を識別するように構成されている。１つの構成における観察（つまり、いわゆる単純ベイズ分類器（Naive Bayes Classifier）という専門用語における特徴）は、ホスト装置２５がシステム１０において発生したか発生しなかったと決定するあらゆる挙動である。観察は、例えば特定の測定に対する特定の範囲（例えば、特定のＶＭのＩＯＰＳ測定値が特定の量よりも大きい）など、比較的粒度の細かいものでも、または、例えば環境全体に進行中の複数の異常があるかどうかなど、比較的一般的なものでもよい。例えば、観察は、特定のデータストアでレイテンシが急増したかどうか、または、異常が始まる前の最後の５分間に特定のＶＭがｖＭｏｔｉｏｎを経験したかどうかを特定することができる。
【００８４】
１つの構成では、観察は、ＯｂｓｅｒｖａｔｉｏｎＴｅｍｐｌａｔｅノード（観察ノード）１６０としてグラフデータベース５４に保存される。観察ノード１６０は、観察が行われたかどうかを決定するために根本原因機能４６の詳細を提供することができる特性１６１を含む。例えば、図１０を参照すると、観察ノード１６０は、Ａｎｏｍａｌｙ  Ｏｂｓｅｒｖａｔｉｏｎノード１６０−１、１６０−２として構成されている。このノード１６０は、特性１６１として、異常を有する可能性のあるオブジェクトのタイプ（例えば、ＶＭ、データストアなど）、および、発生した可能性のある異常のタイプ（例えば、ＩＯＰＳ異常）を含む。
【００８５】
図４に戻って、ホスト装置２５がレイテンシに関連する異常を検出した場合、ホスト装置２５は、トポロジ１５０のオブジェクトに関連する一連の考えられる根本原因を特定するように構成されている。１つの構成において、根本原因は、観察された異常の真の原因である管理オブジェクト（例えば、ＶＭ、データストア、ホストなど）である。１つの構成では、考えられる根本原因は、ＲｏｏｔＣａｕｓｅＴｅｍｐｌａｔｅノード１６２としてグラフデータベース５４に保存される。例えば、図１０を参照すると、グラフデータベース５４は、異常の考えられる根本原因である管理オブジェクトの各タイプ（ＶＭ、データストアなど）に対する根本原因ノード１６２−１、１６２−２を保存することができる。
【００８６】
図１０に示すように、各ＲｏｏｔＣａｕｓｅＴｅｍｐｌａｔｅノード１６２は、ノードの特性（例えば、グラフデータベース５４によって格納された）として事前確率値１６４を含む。１つの構成では、事前確率は、他の証拠が存在しない場合に特定のオブジェクトが真の根本原因である確率である。すなわち、事前確率値１６４は、証拠がオブジェクトに異常が発生したことを示すときに特定のオブジェクトがその異常を引き起こした可能性を示す。例えば、ＶＭの考えられる根本原因ノード１６２−１は、ＲｏｏｔＣａｕｓｅＴｅｍｐｌａｔｅノード１６２−１が検出された異常の根本原因である事前確率を表す２５％の事前確率値１６４−１を含むが、データストアの考えられる根本原因ノード１６２−２は、ＲｏｏｔＣａｕｓｅＴｅｍｐｌａｔｅノード１６２−２が検出された異常の根本原因である事前確率を表す５０％の事前確率値１６４−２を含む。
【００８７】
観察ノード１６０およびＲｏｏｔＣａｕｓｅＴｅｍｐｌａｔｅノード１６２に基づいて、根本原因機能４６は、観察ノード１６０とＲｏｏｔＣａｕｓｅＴｅｍｐｌａｔｅノード１６２の間のエッジをＣｏｎｄｉｔｉｏｎａｌＰｒｏｂａｂｉｌｉｔｉｅｓ（条件付き確率）１６６としてモデル化するように構成されている。１つの構成では、条件付き確率は、特定のオブジェクトが真の根本原因である場合に観察がどの程度確からしいかを示す。例えば、特定のＶＭが異常の真の根本原因である場合、そのＶＭがレイテンシ異常を起こしている確率は１０％でありうる。また、ある他のオブジェクトが異常の真の根本原因である場合、特定のＶＭがレイテンシ異常を起こしている可能性は１００％でありうる。
【００８８】
事前確率１６４および条件付き確率１６６に基づいて、ホスト装置２５は、管理オブジェクトに関連する事後確率を決定するように構成されている。１つの構成では、事後確率は、ホスト装置２５が観察された全ての証拠を考慮した後、特定の管理オブジェクトが異常の真の根本原因である確率である。例えば、単純ベイズ分類器では、事後確率は、事前確率と適用可能な全ての条件付き確率との積として計算される。
【００８９】
動作中、１つの例では、根本原因分析を実行するとき、ホスト装置２５は、上記のテンプレートを利用して、根本原因機能４６によって以下を実行して、検出した異常の根本原因を決定するように構成されている。
【００９０】
例えば、ホスト装置２５が異常オブジェクトの存在を検出し、グラフデータベース５４を利用して異常オブジェクトの関連オブジェクトを見つけることを想定する。ホスト装置２５は、これらの管理オブジェクトのそれぞれが異常の考えられる根本原因であると考える。これらの考えられる根本原因のそれぞれに対して、ホスト装置２５は、グラフデータベース５４からＲｏｏｔＣａｕｓｅＴｅｍｐｌａｔｅ（例えば、根本原因ノード１６２）を検索して、例えばベイズの事前確率などの事前確率を決定するように構成されている。
【００９１】
次に、ホスト装置２５は、根本原因に関連する、可能性のある全ての観察を検出または見つけるように構成されている。例えば、考えられる根本原因ノード１６２ごとに、ホスト装置２５は、グラフデータベース５４からＯｂｓｅｒｖａｔｉｏｎＴｅｍｐｌａｔｅ（例えば、観察ノード１６０）を検索するように構成されている。ある場合には、観察ノード１６０は、あるタイプの管理オブジェクトの全ての場合に適用可能でありうる。例えば、データストアがレイテンシ異常を起こしたことを示す観察ノード１６０は、ホスト装置２５によって特定されたあらゆるデータストアに適用可能でありうる。したがって、グラフデータベース５４は、そのような観察のために１つのノード１６０を含むだけでもよいが、ホスト装置２５は、各データストアの各観察のインスタンスを作成することができる。
【００９２】
図１０に示すように、観察ノード１６０および根本原因ノード１６２は、オブジェクトタイプを有するが、個々の管理オブジェクトには関連付けられていない。例えば、「ＤＳがレイテンシ異常を起こしている」ための観察ノード１６０−２が存在するが、その観察ノード１６０−２は、実際のデータストアノードとの関係を持たない。１つの構成では、グラフデータベース５４から観察および根本原因ノード１６０、１６２をロードするとき、ホスト装置２５は、これらのテンプレートノード１６０、１６２をロードして、適用可能な各管理オブジェクトのテンプレートを複製するように構成されている。例えば、データストアに異常が発生しており、このデータストアに関連する２つのＶＭがあるとする。ホスト装置２５は、データベース５４から「レイテンシ異常を有するＶＭ」ＯｂｓｅｒｖａｔｉｏｎＴｅｍｐｌａｔｅ１６０にアクセスし、ホスト装置６５が検討している２つのＶＭのそれぞれについて１つのＯｂｓｅｒｖａｔｉｏｎクラスの２つのインスタンスを作成するように構成されている。また、ホスト装置２５は、データベース５４から「ＶＭ」ＲｏｏｔＣａｕｓｅＴｅｍｐｌａｔｅ１６２にアクセスし、ホスト装置６５が検討している２つのＶＭのそれぞれについて１つのＲｏｏｔＣａｕｓｅクラスの２つのインスタンス（および、例えばデータストアなどの他の関連オブジェクトのＲｏｏｔＣａｕｓｅインスタンス）を作成するようにも構成されている。
【００９３】
上記のように、ホスト装置２５が根本原因機能４６を実行するとき、ホスト装置２５は、グラフデータベース５４からＯｂｓｅｒｖａｔｉｏｎＴｅｍｐｌａｔｅ１６０、ＲｏｏｔＣａｕｓｅＴｅｍｐｌａｔｅｓ１６２、およびＣｏｎｄｉｔｉｏｎａｌＰｒｏｂａｂｉｌｉｔｉｅｓ１６６を検索するように構成されている。１つの構成では、ホスト装置２５は、これらがグラフデータベース５４に存在しない場合、または、これらが何らかの方法で破損している場合、これらＯｂｓｅｒｖａｔｉｏｎＴｅｍｐｌａｔｅｓ１６０、ＲｏｏｔＣａｕｓｅＴｅｍｐｌａｔｅｓ１６２、およびＣｏｎｄｉｔｉｏｎａｌＰｒｏｂａｂｉｌｉｔｉｅｓ１６６を作成するように構成されている。例えば、破損の場合、ホスト装置２５は、これらのオブジェクトのいずれかをデータベース５４から削除した後、これらの異なるオブジェクトのデフォルト値をデータベース５４に設定するように構成されている。このようにして、ホスト装置２５は、根本原因分析を行うために必要な情報を根本原因機能４６に提供するように構成されている。
【００９４】
次に、図１０を続けて参照すると、ホスト装置２５は、考えられる根本原因ノードがそれぞれ与えられた場合、発生する各観察ノード１６０の条件付き確率１６６を決定するように構成されている。各条件付き確率１６６は、グラフデータベース５４から検索されたパラメータに基づいて決定されうる。グラフデータベース５４は、根本原因ノード１６２を観察ノード１６０と結び付けるエッジとして条件付き確率を保存する。例えば、１つのデータストアおよび１つのＶＭを有する単純な環境を例にとる。データストアが根本原因である場合、データストアがレイテンシの急増を観察する確率は９０％であるが、ＶＭが根本原因である場合、そのような観察が発生する確率はわずか１５％である。
【００９５】
次に、ホスト装置２５は、各根本原因ノード１６２の事後確率を決定するように構成されている。例えば、観察ノード１６０に関連する観察が発生したとホスト装置２５が決定した場合単純ベイズ分類器のプロセスに従って、事後確率は、各根本原因ノード１６２に対する事前確率と各根本原因ノードおよび観察ノード１６０に関連する条件付き確率との積として構成される。
【００９６】
各根本原因ノード１６２の事後確率の比較に基づいて、ホスト装置２５は、検出された異常の１つ以上の発生源または根本原因を選択するように構成されている。上記のように、異常検出の１つの態様は、検出された異常の根本原因または発生源の決定を含む。これに関連して、根本原因は、問題を引き起こしたと考えられる１つ以上の管理オブジェクト（ＶＭ、仮想ディスク、データストアなど）の集合である。複数の関連する管理オブジェクトがそれぞれ異常を経験する場合、これらの異常は、同じイベントの一部と見なされるため、同じ根本原因を共有する。したがって、上記の根本原因分析に基づいて、ホスト装置２５は、検出された異常の発生源として、コンピュータインフラ１１に関連する１つ以上のオブジェクトを選択するように構成されている。
【００９７】
以下、例えば単純ベイズ分類器を使用して、異常根本原因を決定するプロセスの一例を説明する。このプロセスでは、異常を有する管理オブジェクトがホスト装置２５によって特定される。次に、そのオブジェクトおよびその関連オブジェクトの全てが、考えられる根本原因と見なされる。ホスト装置２５は、考えられるそれぞれの根本原因を考慮して、インフラ１１で観察された挙動がありそうか、ありそうにないかを決定する。従来の単純ベイズ分類器のプロセスを使用して、ホスト装置２５は、考えられるそれぞれの根本原因の事後確率を、検出された異常の真の根本原因であると決定するように構成されている。最後に、ホスト装置２５は、異常の最も可能性の高い根本原因として１つ以上の根本原因を選択するように構成されている。
【００９８】
さらに、後述するプロセスの例に関して、ホスト装置２５が異常を検出すると、ホスト装置２５は、異常の根本原因として１つ以上の管理オブジェクトを選択するように構成されている。ホスト装置２５は、たとえ現在の異常が進行中の唯一の異常であったとしても、根本原因を選択する。例えば、どの関連オブジェクトも異常を経験していない場合において１つのＶＭが異常を経験した場合、ホスト装置２５は、適切な根本原因を選択するように構成されている。さらに、第２の関連ＶＭが異常を経験する場合、ホスト装置２５は、両方の異常を同じイベントの一部として考慮するように構成されている。その結果、ホスト装置２５は、このイベントに対する根本原因を選択することができ、これには２つの異常が含まれる。
【００９９】
例えば、図９を参照して、ここではＶＭ＿ＲｅｄまたはＶＭ＿Ｒと呼ばれる第１の仮想マシン１２２−１と、ここではＶＭ＿ＢｌｕｅまたはＶＭ＿Ｂと呼ばれる第２の仮想マシン１２２−２と、ここではＤＳ＿ＳｉｌｖｅｒまたはＤＳ＿Ｓｉと呼ばれるデータストア１２９とを有する環境またはトポロジ１５０を検討する。また、次のシナリオが観察されるシーケンスを検討する。
（１）ＶＭ＿Ｒｅｄはレイテンシ異常を経験する（他のオブジェクトは正常な状態である）。
（２）ＶＭ＿Ｒｅｄがまだ異常を経験している間に、ＤＳ＿Ｓｉｌｖｅｒはレイテンシ異常を経験する（ＶＭ＿Ｂｌｕｅはまだ正常な状態である）。
（３）ＶＭ＿ＲｅｄおよびＤＳ＿Ｓｉｌｖｅｒがまだ異常を経験している間に、ＶＭ＿Ｂｌｕｅはレイテンシ異常を経験し始める。この時点で全てのオブジェクトがレイテンシ異常を経験している。
【０１００】
ホスト装置２５が根本原因機能４６を実行するとき、ホスト装置２５は、これらのシナリオのそれぞれを検討するように構成されている。例えば、環境１５０は３つの管理オブジェクトを含むため、観察された任意の異常に対して３つの考えられる根本原因がある。
（１）ＶＭ＿Ｒｅｄ（つまり、考えられる根本原因ＲＣ＿Ｒｅｄ）。いかなる異常に対しても、事前確率は２５％である。これは、Ｐ（ＲＣ＿Ｒｅｄ）＝０．２５と記される。
（２）ＤＳ＿Ｓｉｌｖｅｒ（つまり、考えられる根本原因ＲＣ＿Ｓｉｌｖｅｒ）。いかなる異常に対しても、事前確率は５０％である。これは、Ｐ（ＲＣ＿Ｓｉｌｖｅｒ）＝０．５と記される。
（３）ＶＭ＿Ｂｌｕｅ（つまり、考えられる根本原因ＲＣ＿Ｂｌｕｅ）。いかなる異常に対しても、事前確率は２５％である。これは、Ｐ（ＲＣ＿Ｂｌｕｅ）＝０．２５と記される。
【０１０１】
ホスト装置２５は、単純ベイズ分類器を使用して以下の観察を追跡するように構成されている。条件付確率のために使用される数学的記法は、以下の通りである。Ｐ（Ａ｜Ｂ）＝０．７５は、「イベントＢが発生した場合のイベントＡの発生確率は７５％である」と読むことができる。次の表は、単純ベイズ分類器に基づく各観察に関連する各観察および関連する条件付き確率を特定したものである。
【表１】
2018530803.tif 000003
【０１０２】
ホスト装置２５は、上記シーケンスの各シナリオにおいて、事前確率および条件付き確率を使用して事後確率を決定するように構成されている。
【０１０３】
シナリオ１：ＶＭ＿Ｒｅｄは異常あり
【０１０４】
シーケンスの第１のシナリオでは、ＶＭ＿Ｒｅｄはレイテンシ異常であるが、他のオブジェクトは異常状態ではない。システムの観察は、現在の状態である。
Lat_Red,NOT_Lat_Silver,NOT_Lat_Blue,NOT_Multi_Anom
【０１０５】
ホスト装置２５は、事後確率を以下のように計算する。
P(RC_Red | Lat_Red,NOT_Lat_Silver,NOT_Lat_Blue,NOT_Multi_Anom)=
P(RC_Red)* P(Lat_Red | RC_Red)* P(NOT_Lat_Silver | RC_Red)*
P(NOT_Lat_Blue | RC_Red)* P(NOT_Multi_Anom | RC_Red)=
0.25 * 1.0 * 0.9 * 0.65 * 0.85 = 0.1243 = 12.43%
P(RC_Silver | Lat_Red,NOT_Lat_Silver,NOT_Lat_Blue,NOT_Multi_Anom)=
P(RC_Silver)* P(Lat_Red | RC_Silver)* P(NOT_Lat_Silver | RC_Silver)*
P(NOT_Lat_Blue | RC_Silver)* P(NOT_Multi_Anom | RC_Silver)=
0.50×0.25×0.0×0.75×0.2 = 0.00 = 0.0%
P(RC_Blue | Lat_Red,NOT_Lat_Silver,NOT_Lat_Blue,NOT_Multi_Anom)=
P(RC_Blue)* P(Lat_Red | RC_Blue)* P(NOT_Lat_Silver | RC_Blue)*
P(NOT_Lat_Blue | RC_Blue)* P(NOT_Multi_Anom | RC_Blue)=
0.25 * 0.35 * 0.9 * 0.0 * 0.85 = 0.00 = 0.0%
【０１０６】
ＲＣ＿Ｒｅｄの計算された事後確率はＲＣ＿ＳｉｌｖｅｒまたはＲＣ＿Ｂｌｕｅよりもはるかに大きいため、ホスト装置２５は、この時点で、ＶＭ＿Ｒｅｄが異常の根本原因であると決定する。
【０１０７】
シナリオ２：ＶＭ＿Ｒｅｄは異常あり、ＤＳ＿Ｓｉｌｖｅｒは異常あり
【０１０８】
シーケンスの第２のシナリオでは、ＶＭ＿Ｒｅｄはレイテンシ異常であり、ＤＳ＿Ｓｉｌｖｅｒはレイテンシ異常であるが、ＶＭ＿Ｂｌｕｅはレイテンシ異常ではない。現在２つのオブジェクトに異常が発生しているため、ホスト装置２５は、ＮＯＴ＿Ｍｕｌｔｉ＿ＡｎｏｍからＭｕｌｔｉ＿Ａｎｏｍに切り替える。システムの観察は、現在の状態である。
Lat_Red,Lat_Silver,NOT_Lat_Blue,Multi_Anom
【０１０９】
次に、ホスト装置２５は、事後確率を以下のように決定する。
P（RC_Red | Lat_Red,Lat_Silver,NOT_Lat_Blue,Multi_Anom）=
P（RC_Red）* P（Lat_Red | RC_Red）* P（Lat_Silver | RC_Red）*
P（NOT_Lat_Blue | RC_Red）* P（Multi_Anom | RC_Red）=
0.25 * 1.0 * 0.1 * 0.65 * 0.15 = 0.0024 = 0.24％
P（RC_Silver | Lat_Red,Lat_Silver,NOT_Lat_Blue,Multi_Anom）=
P（RC_Silver）* P（Lat_Red | RC_Silver）* P（Lat_Silver | RC_Silver）*
P（NOT_Lat_Blue | RC_Silver）* P（Multi_Anom | RC_Silver）=
0.50×0.25×1.0×0.75×0.8 = 0.075 = 7.5％
P（RC_Blue | Lat_Red,Lat_Silver,NOT_Lat_Blue,Multi_Anom）=
P（RC_Blue）* P（Lat_Red | RC_Blue）* P（Lat_Silver | RC_Blue）*
P（NOT_Lat_Blue | RC_Blue）* P（Multi_Anom | RC_Blue）=
0.25 0.35×0.1×0.0×0.15 = 0.00 = 0.0％
【０１１０】
ＤＳ＿Ｓｉｌｖｅｒの計算された事後確率はＲＣ＿ＲｅｄまたはＲＣ＿Ｂｌｕｅよりもはるかに大きいため、ホスト装置２５は、この時点で、ＤＳ＿Ｓｉｌｖｅｒが異常の根本原因であることを検出する。シナリオ１で作成されたイベントは、ＤＳ＿Ｓｉｌｖｅｒが根本原因であることを反映するように更新される。
【０１１１】
シナリオ３：ＶＭ＿Ｒｅｄは異常あり、ＤＳ＿Ｓｉｌｖｅｒは異常あり
【０１１２】
シーケンスの第３のシナリオでは、ＶＭ＿Ｒｅｄ、ＤＳ＿Ｓｉｌｖｅｒ、およびＶＭ＿Ｂｌｕｅは全てレイテンシ異常を経験している。システムの観察は、現在の状態である。
Lat_Red,Lat_Silver,Lat_Blue,Multi_Anom
【０１１３】
ホスト装置２５は、事後確率を以下のように計算する。
P（RC_Red | Lat_Red,Lat_Silver,Lat_Blue,Multi_Anom）=
P（RC_Red）* P（Lat_Red | RC_Red）* P（Lat_Silver | RC_Red）*
P（Lat_Blue | RC_Red）* P（Multi_Anom | RC_Red）=
0.25 * 1.0 * 0.1 * 0.35 * 0.15 = 0.0013 = 0.13％
P（RC_Silver | Lat_Red,Lat_Silver,Lat_Blue,Multi_Anom）=
P（RC_Silver）* P（Lat_Red | RC_Silver）* P（Lat_Silver | RC_Silver）*
P（Lat_Blue | RC_Silver）* P（Multi_Anom | RC_Silver）=
0.50×0.25×1.0×0.25×0.8 = 0.025 = 2.5％
P（RC_Blue | Lat_Red,Lat_Silver,Lat_Blue,Multi_Anom）=
P（RC_Blue）* P（Lat_Red | RC_Blue）* P（Lat_Silver | RC_Blue）*
P（Lat_Blue | RC_Blue）* P（Multi_Anom | RC_Blue）=
0.25 * 0.35 * 0.1 * 1.0 * 0.15 = 0.0013 = 0.13％
【０１１４】
ＤＳ＿Ｓｉｌｖｅｒの計算された事後確率はＲＣ＿ＲｅｄまたはＲＣ＿Ｂｌｕｅよりもはるかに大きいため、ホスト装置２５は、この時点で、ＤＳ＿Ｓｉｌｖｅｒが異常の根本原因であると決定することができる。シナリオ１で作成されたイベントは、ＤＳ＿Ｓｉｌｖｅｒが根本原因であることを反映するように更新される。
【０１１５】
事前確率および条件付き確率に基づいて、ホスト装置２５は、シーケンス内の各シナリオにおける異常に根本原因を割り当てた。ＶＭ＿Ｒｅｄのみが異常を経験していた場合、ＶＭ＿Ｒｅｄが根本原因として特定された。ＶＭ＿ＲｅｄおよびＤＳ＿Ｓｉｌｖｅｒが両方とも異常を経験していた場合、ＤＳ＿Ｓｉｌｖｅｒが根本原因として特定された。ＶＭ＿Ｒｅｄ、ＤＳ＿Ｓｉｌｖｅｒ、およびＶＭ＿Ｂｌｕｅが異常を経験していた場合、ＤＳ＿Ｓｉｌｖｅｒが再度根本原因として特定された。
【０１１６】
事前確率または条件付き確率が異なっていた場合には、シーケンスの各シナリオにおいて異なる結論に達した可能性があることに留意されたい。
【０１１７】
１つの構成では、根本原因機能４６の一部として学習が利用される。この学習は、ユーザ入力を意思決定（分析）プロセスに組み込む半教師付き方法の手段によって行うことができ、根本原因分析の精度についての入力を組み込むためのＵＩへの変更が含まれる。このユーザ入力に基づいて、異常の根本原因をより正確に選択するようにモデル内の確率が変更される。
【０１１８】
ガウスの単純ベイズ分類器（Gaussian Naive Bayes Classifier）
【０１１９】
１つの構成では、単純ベイズ分類器は、ブール値の観察だけでなく、ガウス分布に沿った測定の確率をも計算するように構成されている。例えば、特定の時間枠内でＶＭの最大レイテンシ測定値を表すＯｂｓｅｒｖａｔｉｏｎがありうる。単純ベイズ分類器は、確率を計算するためにイエス／ノーレスポンスを使用する代わりに、この測定値を使用して条件付き確率を計算することができる。
【０１２０】
上記のように、ホスト装置２５は、グラフデータベース５４にアクセスして、検出された異常によって影響を受けるコンピュータインフラ１１の特定の要素を特定するように構成されている。ホスト装置２５は、根本原因分析機能４６によって、根本原因分析を使用してＶＭ固有のＩ／Ｏ性能データを分析することによって、これらの要素が本当に問題を経験しているかどうかを分析するように構成されている。この構成により、ホスト装置２５は、エンドユーザ（例えば、システム管理者）に、検出された異常の考えられる原因に関する特定情報５２をほぼタイムリーに提供することができる。例えば、図３のフローチャート１００に戻ると、要素１０８において、ホスト装置２５は、特定された根本原因確率に基づいて、異常に関連する根本オブジェクトの特定情報５２を出力するように構成されている。
【０１２１】
ホスト装置２５は、さまざまな方法で特定情報５２を提供することができる。例えば、ホスト装置２５は、ユーザインタフェース（ＵＩ）出力５０としてディスプレイ５２に特定情報５２を送信することができる。例えば、図１１に示すように、ホスト装置２５は、ＧＵＩ５０の一部として特定情報５２を提供する。ＧＵＩ５０は、異常の発生源であるオブジェクト１７０、および、異常によって影響を受ける関連オブジェクト１７２を示す。このような特定情報により、システム管理者は、異常の発生源を決定し、必要に応じて是正措置を講じることができる。１つの構成では、ＶＭ上で動作する作業負荷の根本原因分析に続いて、ＵＩは、エンドユーザ（例えば、システム管理者）に、コンピュータ環境における検出された異常の考えられる原因の特定を提案する。
【０１２２】
１つの構成では、ホスト装置２５は、エンドユーザが検出された根本原因を評価またはランク付けすることを可能にするＵＩとして特定情報５２を提供するように構成されている。例えば、図１２を参照すると、ホスト装置２５は、検出された異常発生源（つまり、根本原因）１８０のリストおよびランキング入力部１８２を含むユーザインタフェース（ＵＩ）出力５０として特定情報５２を提供する。ランキング入力部１８２は、エンドユーザが検出された異常の重要度をランク付けする１８４ことを可能にする。ランク１８４が特定の閾値に達した場合、ホスト装置２５は、ランク異常分析の第２根本原因分析を実行して、根本原因分析確率を再計算するように構成されている。この構成により、ホスト装置２５は、根本原因分析を動的に更新するために、ユーザ入力による半教師付き学習を組み込む。
【０１２３】
以上特に本発明のさまざまな実施形態を示し説明してきたが、当業者であれば、添付の特許請求の範囲によって定義された本発明の精神および範囲から逸脱することなく、形式および詳細のさまざまな変更を行うことができることを理解するであろう。
【図１】
2018530803.tif 000004
【図２】
2018530803.tif 000005
【図３】
2018530803.tif 000006
【図４】
2018530803.tif 000007
【図５】
2018530803.tif 000008
【図６】
2018530803.tif 000009
【図７】
2018530803.tif 000010
【図８】
2018530803.tif 000011
【図９】
2018530803.tif 000012
【図１０】
2018530803.tif 000013
【図１１】
2018530803.tif 000014
【図１２】
2018530803.tif 000015
【国際調査報告】
2018530803.tif 000016