(57)【要約】   ここに記載するものは、データ・センターのオペレータに対して、データ・センターにおける障害に関する補助を提供することに関する様々な技術である。アラームが受信され、該アラームの内容に基づき障害デバイスが識別される。アラームの障害状況は、障害デバイスが呈することがある障害症状にマッピングされ、該障害症状を軽減するために以前に用いられたトラブルシューティング・オプションが履歴データから読み出される。ラベルがそれぞれトラブルシューティング・オプションに割り当てられ、ここで、ラベルは、当該ラベルの割り当て有られたトラブルシューティング・オプションが、障害症状を軽減するであろう確率を示すものである。
2017509262.tif 000002
【特許請求の範囲】
【請求項１】
アラームを受信するステップであって、前記アラームは、ネットワーク障害を示す障害状況を含む、ステップと、
前記アラームの受信に応答して、履歴データにアクセスするステップであって、前記履歴データは、前記ネットワーク障害の障害症状と、前記ネットワーク障害を軽減するために以前にとられたトラブルシューティング・オプションとを含む、ステップと、
前記アラームの前記障害状況を、前記履歴データにおける前記障害症状にマッピングするステップと、
前記アラームの前記障害状況の前記障害症状へのマッピングに応答して、前記トラブルシューティング・オプションを識別するステップと、
前記トラブルシューティング・オプションにそれぞれのラベルを割り当てるステップであって、前記ラベルは、前記トラブルシューティング・オプションが前記障害症状を軽減するであろうそれぞれの確率を示す、ステップと、
複数の前記トラブルシューティング・オプションと、それらのそれぞれのラベルとを出力するステップと
を含む方法。
【請求項２】
請求項１に記載の方法であって、
フィードバックをオペレータから受信するステップであって、前記フィードバックは、前記障害症状が軽減され、前記トラブルシューティング・オプションのうちの第１のトラブルシューティング・オプションが前記障害症状を軽減するために用いられたというものである、ステップと、
前記履歴データを前記フィードバックに基づき更新するステップと
を更に含む方法。
【請求項３】
請求項１に記載の方法であって、
前記アラームの受信に応答して、前記ネットワーク障害を引き起こした障害デバイスを識別するステップであって、前記アラームの前記障害状況の前記履歴データにおける前記障害症状への前記マッピングは、前記障害デバイスの前記識別に基づき、前記トラブルシューティング・オプションの前記識別は、前記障害デバイスの前記識別に基づく、ステップと
を更に含む方法。
【請求項４】
請求項３に記載の方法であって、前記履歴データは、前記障害デバイスについてのデバイス障害履歴テーブルを含み、前記デバイス障害履歴テーブルは、前記障害デバイスが以前に呈した障害症状を含み、前記障害症状は、前記障害デバイスが以前に呈した障害症状に含まれ、前記障害履歴テーブルは、前前記障害デバイスが以前に呈した前記障害症状についての前記トラブルシューティング・オプションを更に含む、方法。
【請求項５】
請求項１に記載の方法であって、
前記トラブルシューティング・オプションからの１つのトラブルシューティング・オプションの選択を受信するステップと、
前記１つのトラブルシューティング・オプションの前記選択を受信することに応答して、デバッギング・ステップを表示するステップであって、前記デバッギング・ステップは、前記ネットワーク障害を解決するための命令を含む、ステップと
を更に含む方法。
【請求項６】
請求項１に記載の方法であって、
前記複数のトラブルシューティング・オプションと、それらのそれぞれのラベルとを出力することに応答して、前記データ・センター内のデバイスに信号を送信するステップであって、前記信号は、前記トラブルシューティング・オプションのうちの１つのトラブルシューティング・オプションを、オペレータの介在なく実行させる、ステップ
を更に含む方法。
【請求項７】
請求項１に記載の方法であって、前記それぞれの確率を、前記トラブルシューティング・オプションがとられたと前記履歴データにおいて示された回数と、前記トラブルシューティング・オプションがそれぞれのネットワーク障害を成功裏に解決したと示された回数とに基づいて計算するステップを更に含む方法。
【請求項８】
データ・センターにおけるネットワーク障害の解決を手助けする解決システムであって、該解決システムは、
プロセッサと、
前記プロセッサにより実行される複数のコンポーネントを含むメモリと
を備え、前記複数のコンポーネントは、
アラームを受信するアラーム受信コンポーネントであって、前記アラームは前記データ・センターにおけるネットワーク障害を示す、前記アラーム受信コンポーネントと、
前記アラーム受信コンポーネントによる前記アラームの受信に応答して、前記ネットワーク障害を解決するためのトラブルシューティング・オプションを出力する解決識別コンポーネントであって、前記トラブルシューティング・オプションは、それぞれに割り当てられたラベルを有し、該ラベルは、前記トラブルシューティング・オプションが、前記データ・センターのオペレータにより実行されたときに、前記ネットワーク障害を解決するであろう確実性を示す、前記解決識別コンポーネントと
を含む、解決システム。
【請求項９】
請求項８に記載の解決システムであって、前記解決識別コンポーネントは、前記ラベルを、前記トラブルシューティング・オプションに関するオペレータのフィードバックに基づき決定する、解決システム。
【請求項１０】
請求項８に記載の解決システムであって、前記アラームはネットワーク・インフラストラクチャ・デバイスが発生させ、該ネットワーク・インフラストラクチャ・デバイスは、スイッチと、ルータと、リルータと、ゲートウェイと、ハブと、ブリッジとのうちの１つである、解決システム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]データ・センターはコンピューティング・デバイスを集めたもの（ｃｏｌｌｅｃｔｉｏｎ）であり、これらコンピューティング・デバイスは、ネットワークを通じて互いに通信し、コンピューティング・サービス及びデータ・ストレージ・サービスの一方又は双方を１人又は複数のエンド・ユーザに提供するように共同して動作し、ここで、１人のエンド・ユーザは個人や企業等でありうる。従って、データ・センターは、多数のコンピューティング・デバイスと、ルータ、リルータ（ｒｅ−ｒｏｕｔｅｒｓ）、スイッチ、ゲートウェイ、ファイアウォール、仮想プライベート・ネットワーク（ＶＰＮ）、ブリッジ等の多数のネットワーク・インフラストラクチャ・デバイスと、コンピューティング・デバイスとネットワーク・インフラストラクチャ・デバイスとの間の通信リンクと、ネットワーク・インフラストラクチャ・デバイス間の通信リンクとを含む。上述のサービスを提供するとき、データは、ネットワークを通じて、データ・センター内のコンピューティング・デバイス間で伝送される。ネットワーク・インフラストラクチャ・デバイスは、ネットワークを流れるトラフィックを方向付けるように構成されている。
【背景技術】
【０００２】
[0002]従来のデータ・センターにおいて、ネットワーク・インフラストラクチャ・デバイスは、比較的高価な傾向のあるハイエンド・デバイスを含む。しかしながら、最近、データ・センターに関連した資本コストを削減するために、データ・センターは、多数のコモディティ（例えば、オフザシェルフ）ネットワーク・インフラストラクチャ・デバイスを含むように構成されるようになった。これらコモディティ・デバイスは、「ハイエンド」デバイスよりもコストを低くする一方で、ハイエンド・デバイスよりも幾分信頼性が低い傾向があり、その結果、中断のないサービスを保証するためのデータ・センターのオペレータの負荷が増大している。しかしながら、データ・センター内のネットワーク・インフラストラクチャ・デバイスは、多数の異なるメーカー（ｍａｎｕｆａｃｔｕｒｅｒ）によって製造されることがあること、データ・センター内のコンピューティング・デバイス及びネットワーク・デバイスの一方又は双方に、異なるオペレーティング・システムがインストールされる場合があること、メーカーは、同じタイプのデバイスの異なるモデルを作成する場合があること等により、ネットワーク障害の解決は、複雑で、従って時間のかかる場合がある。従って、従来のデータ・センターにおいては著しい量の多様性（ｈｅｔｅｒｏｇｅｎｅｉｔｙ）がある。
【０００３】
[0003]比較的大規模なデータ・センターにおいて、エンド・ユーザに約束されたコンピューティング・サービス及びストレージ・サービスが（例えばサービス・レベル・アグリーメントにおいて）満たされることを保証するために、オペレーション・チームが雇用される。従って、ネットワーク・デバイス（例えば、コンピューティング・デバイス又はネットワーク・インフラストラクチャ・デバイス）がアラームを発生させたとき、そのアラームは、オペレーション・チームのオペレータがモニタするオペレータ・コンソールに向けられる。オペレータは、アラームを再検討し、個人の知識と経験（及び場合によっては何らかの静的ガイドライン）に基づいて、アラームが示す障害を、（原因を突き止めるというよりも）単に軽減させること又は（問題の根本的原因を突き止めることにより）修正することの何れかをしようと、トラブルシューティング及びデバッグを行う。このアプローチは、比較的小規模なデータ・センターでは適切でありうるが、当該アプローチはスケールしない。例えば、データ・センターは、数十万ものコンピューティング・デバイスと数千ものネットワーク・インフラストラクチャ・デバイスを含むようにスケーリングされる。特定のイベントが生じたとき、多数のアラームが、データ・センター内のデバイスにより比較的短い時間に発生する可能性がある。オペレータは、これらアラームを解析し、どのアラームについて最初に対処すべきかの優先順位を付け、次に、典型的には、（事前に定められた人間が作成したガイドラインにより行われる可能性のある）トライアルアンドエラー・アプローチを用いて優先順位が高いと信じられるアラームに対処しなければならない。可能性あるネットワーク問題の比較的高い複雑さにより、オペレータは、トラブルシューティングの長期にわたる時間ウィンドウを必要とする場合があり、このことは、サービス・ダウンタイムを生じさせることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
[0004]以下は、ここにより詳細に記載する主題事項の概要である。この概要により請求項の範囲を限定する意図はない。
[0005]ここに記載するものは、データ・センターにおけるネットワーク障害を解決するために用いることが可能な、可能性あるトラブルデューティング・オプション及び解決ステップの識別に関する様々な技術である。これらトラブルシューティング・オプション及び解決ステップはオペレータに提供され、オペレータは、当該トラブルシューティング・オプション及び解決ステップを消費し、提供されたトラブルシューティング・オプション及び解決ステップを用いてネットワーク障害を解決することが可能である。ここに更に記載するものは、データ・センター内のデバイスが発生させたアラームに基づいてネットワーク障害に優先順位を付けることに関する様々な技術であり、アラームのトリアージ（ｔｒｉａｇｉｎｇ  ａｌａｒｍｓ）を手助けするよう、オペレータには優先順位の付けられたリストを表面化する（ｓｕｒｆａｃｅｄ）ことが可能である。
【課題を解決するための手段】
【０００５】
[0006]データ・センターは、ネットワーク接続された複数のコンピューティング・デバイスを含み、データは、これらコンピューティング・デバイス間を、ネットワーク・リンクを通じて、特に、ルータ、コルータ（ｃｏ−ｒｏｕｔｅｒｓ）、スイッチ、ロード・バランサ、ファイアウォール、仮想プライベート・ネットワーク（ＶＰＮ）等の複数のネットワーク・インフラストラクチャ・デバイスによって伝送することができる。コンピューティング・デバイス及びネットワーク・インフラストラクチャ・デバイスの一方又は双方（集合的に「デバイス」という。）は、ネットワーク障害を示すアラームを発生させるように構成することができる。例えば、スイッチは、該スイッチと別のデバイスとの間のリンクのダウンを検出したときに、アラームを発生させるように構成することができる。アラームは受信され、アラームがアクション可能な（ａｃｔｉｏｎａｂｌｅ）ネットワーク・イベント（例えば、解決すべきネットワーク障害）を示すかどうかの判定がなされる。アラームが解決可能なネットワーク障害を示すと判定されると、障害状況及び関連するテレメトリ・データを、特に、以下の（１）〜（５）のうちの１以上について経験した、観測された症状のセットにマッピングすることが可能である：（１）障害デバイス又はリンク；（２）障害デバイスのプラットフォーム；（３）ネットワーク・トポロジにおいて障害デバイスに近傍のデバイス；（４）障害デバイスとプロパティを共有するデバイス；（５）障害デバイスと同じデータ・センター内のデバイス。従って、少なくとも１つの症状（例えば、「デバイス・ダウン」、「リンク・フラッピング」、「高いＣＰＵ利用率」、…）を障害デバイス又はリンクについて識別することが可能である。
【０００６】
[0007]障害デバイス又はリンクについて症状を識別することに応答して、ネットワーク障害を解決する可能性のある複数の推奨トラブルシューティング・オプションを識別することが可能である。これらトラブルシューティング・オプションは、障害デバイス又はリンク、障害デバイスのタイプ、障害デバイスのプラットフォーム等に関するネットワーク障害を解決するために、過去に観測された以前のトラブルシューティング・オプションに基づくことが可能である。トラブルシューティング・オプションは、ぞれぞれ、割り当てられたラベルを有することが可能であり、これらラベルは、そのトラブルシューティング・オプションが、オペレータにより採用された（ｔａｋｅｎ）ときに、アラームが示すネットワーク障害を解決するであろう確率をそれぞれ示すものである。ラベルは、障害デバイス又はリンク、障害デバイスのタイプ、障害デバイスのプラットフォーム等に関してとられた（ｕｎｄｅｒｔａｋｅｎ）ときの、トラブルシューティング・オプションの過去の成功又は失敗に基づいて識別することが可能である。従って、オペレータには、ネットワーク障害を解決するためのトラブルシューティング・オプションと、これらトラブルシューティング・オプションにそれぞれ割り当てられたラベルとのリストを提供することが可能であり、これらラベルは、そのトラブルシューティング・オプションがネットワーク障害を解決するであろう確率をそれぞれ示すものである。更に、オペレータは、（例えばドメイン・エキスパートにより提供される経験又は知識からの）ドメイン知識を、トラブルシューティング・オプションの確率と組み合わせて用いて、障害を解決するために行うアクションのシーケンスを決定することが可能である。
【０００７】
[0008]更に、トラブルシューティング・オプションのリスト内の１つのトラブルシューティング・オプションについて、オペレータに複数のデバッギング・ステップを提示することが可能であり、これらデバッギング・ステップには、デバッギング・ステップがネットワーク障害を直すであろう確率をそれぞれ示すラベルを割り当てることが可能である。非限定的な例において、ネットワーク・インフラストラクチャ・デバイスは、ダウンストリーム・ネットワーク・インフラストラクチャ・デバイスがハートビート・リクエストにリプライしていないことを示すアラームを出力することが可能である。このアラームを受信し、当該アラームにおける障害状況を以前に観測された症状「デバイス・ダウン」にマッピングすることが可能である。そのような症状について、それぞれの障害を解決する確率によりランク付けされた以下の３つのトラブルシューティング・オプションをオペレータに提示することが可能である：（１）「ケーブルをチェックせよ」；（２）「電源をチェックせよ」；（３）「ネットワーク・カードをチェックせよ」。これらトラブルシューティング・オプションに割り当てられたラベルは、第１のトラブルシューティング・オプションがネットワーク障害を解決する可能性が最も高く、第２のトラブルシューティング・オプションがネットワーク障害を解決する可能性が２番目に高く、第３のトラブルシューティング・オプションがネットワーク障害を解決する可能性が３番目に高いことを示すことが可能である。更に、トラブルシューティング・オプションのリスト内の１つのトラブルシューティング・オプションについて、少なくとも１つのデバッギング・ステップをオペレータに提供することが可能である。例えば、トラブルシューティング・オプション「ケーブルをチェックせよ」について、２つの可能性あるデバッギング・ステップをオペレータに提示することが可能である。各デバッギング・ステップには、当該デバッギング・ステップがネットワーク障害を解決するであろう確率を示すラベルをそれぞれ割り当てることができる。例えば、「ケーブルを付け直せ（ｒｅｓｅａｔ）」及び「ケーブルを清掃せよ」のデバッギング・ステップをデバッギング・ステップとして提示することができ、第１のデバッギング・ステップは、第２のデバッギング・ステップよりもネットワーク障害を直す可能性が高いものとして示すことができる。可能性を示すものは、障害デバイス若しくはリンク又は障害デバイス若しくはリンクに関係したリンク若しくはデバイスについてデータ・センターのオペレータにより以前にとられた、観測されたデバッギング・ステップに基づいて計算された確率の関数であることができる。
【０００８】
[0009]データドリブン・アプローチを用いて、トラブルシューティング・オプション及びデバッギング・ステップを識別し、トラブルシューティング・オプション及びデバッギング・ステップにそれぞれのラベルを割り当てることができる。例えば、オペレータが、ネットワーク障害を、あるトラブルシューティング・オプション及び対応するデバッギング・ステップにより解決すると、オペレータは、症状が正しく識別されていたかを示すフィードバックを提供することができ、どのトラブルシューティング・オプションが選択されたかを識別することができ、どのデバッグ・オプションを用いてネットワーク障害を解決したかを識別することができる。従って、（障害デバイス又はリンク、障害デバイスのタイプ、障害デバイスのプラットフォーム等に関する）異なるアラームを後で受信したときに、障害状況を症状に適切にマッピングすることができ、トラブルシューティング・オプション及びデバッギング・ステップにそれぞれ割り当てられたラベルを、このフィードバックに基づき更新することができる。従って、時間が経過するにつれ、トラブルシューティング・オプション及びデバッギング・ステップの的確さ（ａｃｃｕｒａｃｙ）を向上させることができる。
【０００９】
[0010]更に、ここに記載するであろうように、複数のアラームをただ１つの（ｓｉｎｇｕｌａｒ）ネットワーク障害を表すようにグループ化することができ、ネットワーク障害に優先順位を付けることができる。即ち、低レベル・ネットワーク・アラームを分離して扱う代わりに、ただ１つのネットワーク障害を表すようにアラームを互いに相関させる（グループ化する）ことができる。一例に従うと、このグループ化は以下の３つの基準に基づくことができる：（１）時間；第１のデバイスが発生させた第１のアラームは、第１のデバイス又は同じインターフェース上の第２のデバイスが直近に（ｒｅｃｅｎｔｌｙ  ｉｎ  ｔｉｍｅ）発生させた第２のアラームとグループ化することができる；（２）場所；第１のアラームは、ネットワークにおいて第１のデバイスの近傍である（例えば、階層的ネットワーク・トポロジにおいて１〜２ホップ上流であるか下流である）第２のデバイスが発生させた第２のアラームとグループ化することができる；（３）冗長グループ；第１のアラームは、（例えば、フェールオーバ・プロトコルに関連する問題を示す可能性のある）第１のデバイスと同じ冗長グループ内の第２のデバイスが発生させた第２のアラームとグループ化することができる。ネットワーク障害を表すアラームのグループ化は、現在のネットワーク障害のカテゴリ化及びランク付けのために用いることができ、それにより、大きなビジネス上の影響を生じさせるであろうネットワーク障害に、低いビジネス上の影響を生じさせるネットワーク障害よりも高い優先順位を付けることが可能である。
【００１０】
[0011]上記概要は、ここに論じるシステム及び方法の一方又は双方の幾つかの態様の基礎的な理解を提供するための、単純化された概要を表している。この概要は、ここに論じるシステムおよび方法の一方又は双方の外延的な要旨ではない。鍵となる／クリティカルな要素を識別することも、当該システム及び方法の一方又は双方の範囲の輪郭を描くことも意図していない。その唯一の目的は、後に提示するより詳細な記載の前置きとしての、単純化された形態の幾つかの概念を提示することにある。
【図面の簡単な説明】
【００１１】
【図１】データ・センターの例示の部分を図解している。
【図２】例示のデータ・センターのアーキテクチャを図解している。
【図３】例示の解決システムの機能ブロック・ダイアグラムであり、例示の解決システムは、データ・センター内のネットワーク・デバイスが発生させたアラームを受信し、アラームの受信に応答してトラブルシューティング・オプション及びデバッギング・ステップを出力する。
【図４】解決システムに含まれる例示の解決識別（ｉｄｅｎｔｉｆｉｅｒ）コンポーネントの機能ブロック図である。
【図５】例示の障害履歴テーブルである。
【図６】アラームが示すネットワーク障害を解決するための、可能性あるトラブルシューティング・オプション及びデバッギング・ステップを描写した例示のグラフィカル・ユーザ・インターフェースである。
【図７】解決システムにオプションで含まれる例示のアラーム優先順位付け（ｐｒｉｏｒｉｔｉｚｅｒ）コンポーネントを図解している。
【図８】トラブルシューティング・オプションを出力するための例示の技法を図解したフロー・ダイアグラムであり、このトラブルシューティング・オプションは、ネットワーク・デバイスが発生させたアラームにより示されるネットワーク障害を解決するためのものである。
【図９】最初に関係アラームをグループ化し、次にネットワーク障害のランク付けされたリストを出力するための例示の技法を図解したフロー・ダイアグラムである。
【図１０】データ・センターに関する履歴データをオペレータのフィードバックに基づいて更新するための例示の技法を図解したフロー・ダイアグラムである。
【図１１】例示のコンピューティング・システムである。
【発明を実施するための形態】
【００１２】
[0023]データ・センターにおけるネットワーク障害の解決に関する様々な技術を、図面を参照してこれから記載し、一貫して同様の参照番号は同様の要素を参照するように使用している。以下の記載において、説明の目的で、１つ又は複数の態様の深い理解を提供するために、多数の特定の詳細を記載する。しかしながら、そのような態様は、これら特定の詳細を伴わずに実施されうることは明らかであろう。他の例では、１つ又は複数の態様の記載を手助けするために、ブロック・ダイアグラムの形態において周知の構成及びデバイスを示している。更に、あるシステム・コンポーネントにより実行されるものとして記載された機能は、複数のコンポーネントにより実行されうることを理解されたい。同様に、例えば、１つのコンポーネントは、複数のコンポーネントにより実行されるものとして記載された機能を実行するように構成することができる。
【００１３】
[0024]更にまた、用語「又は（若しくは）」は、排他的な（ｅｘｃｌｕｓｉｖｅ）「又は（若しくは）」ではなく両立的な（ｉｎｃｌｕｓｉｖｅ）「又は（若しくは）」を意味することを意図している。即ち、そうでないと特定されない場合、又は、文脈から明らかでない場合、フレーズ「ＸはＡ又はＢを用いる」は、自然な両立的順列（ｎａｔｕｒａｌ  ｉｎｃｌｕｓｉｖｅ  ｐｅｒｍｕｔａｔｉｏｎｓ）のうちの何れかを意味することを意図している。即ち、フレーズ「ＸはＡ又はＢを用いる」は、以下の場合の何れかにより満たされる：ＸはＡを用いる；ＸはＢを用いる；ＸはＡ及びＢの双方を用いる。更に、本願及び添付の請求項において用いられる１つを表す冠詞（ｔｈｅ  ａｒｔｉｃｌｅｓ  “ａ”  ａｎｄ  “ａｎ”）は、そうでないと特定されない場合、又は、文脈から単数形を指示することが明らかでない場合、一般的に、「１つ又は複数」を意味すると解釈すべきである。
【００１４】
[0025]更に、ここに使用されている用語「コンポーネント」及び「システム」は、コンピュータ実行可能命令とともに構成されたコンピュータ可読データ・ストレージを包含することを意図しており、コンピュータ実行可能命令は、プロセッサにより実行されると、ある機能を実行させるものである。コンピュータ実行可能命令は、ルーチン、関数等を含むことがある。また、コンポーネント又はシステムは、単一のデバイスに局在していることも、幾つかのデバイスに分散していることもあることを理解されたい。更に、ここに使用されている用語「例示の」は、何かの図解又は例として機能するものを意味することを意図しており、好適なものを示すことを意図していない。
【００１５】
[0026]今、図１を参照すると、例示のデータ・センター１００の一部（以下、データ・センター１００という。）が図解されている。データ・センター１００は、エンド・ユーザ１０２にサービスを提供するよう構成されており、そのようなサービスはコンピュート・サービス及びストレージ・サービスの一方又は双方であることができ、エンド・ユーザ１０２は個人、企業等であることができる。一例において、データ・センター１００は、特定の企業が所有する企業データ・センターであり、企業に対してコンピュート及びストレージ・サービスを提供することができる。そのようなシチュエーションにおいて、エンド・ユーザ１０２は企業において働く個人、企業の部署等であることができる。別の例において、データ・センター１００は第１の会社により運営され、エンド・ユーザ１０２は第２の会社であることができる（例えば、第１の会社は、データ・ストレージ及びコンピューティング・リソースを第２の会社にリースする）。また別の例において、データ・センター１００は会社によって運営されてよく、エンド・ユーザ１０２は個人であってよい。データ・センター１００により提供することが可能な例示のコンピューティング・サービス及びストレージ・サービスの一方又は双方は、電子メール・サービス、サーチ・サービス、ストレージ、オンライン・サービス等を含むことができる。一例において、エンド・ユーザ１０２は、コンピューティング・デバイス１０３を操作し、コンピューティング・デバイス１０３によりデータをデータ・センター１００に送信し、データをデータ・センター１００から受信することができ、コンピューティング・デバイス１０３は、デスクトップ・コンピューティング・デバイス、モバイル・コンピューティング・デバイス（例えば、ラップトップ・コンピューティング・デバイス、携帯電話、スレート・コンピューティング・デバイス、ウェアラブル・コンピューティング・デバイス等）、サーバ等を含むがこれらに限定されない任意の適切なタイプのコンピューティング・デバイスであることができる。
【００１６】
[0027]データ・センター１００は、複数のコンピューティング・デバイス１０４〜１１０を含み、コンピューティング・デバイス１０４〜１１０は、サーバ、専用ストレージ・デバイス等を含んでよい。コンピューティング・デバイス１０４〜１１０は、アクション（例えば、データの記憶、データの処理及びデータの伝送のうちの１以上）を、エンド・ユーザ１０２のコンピューティング・デバイス１０３からのリクエストに基づいて行うように構成されている。例えば、エンド・ユーザ１０２は、第１のコンピューティング・デバイス１０４のストレージ内のコンテンツのサーチの実行をリクエストすることができ、第１のコンピューティング・デバイス１０４は、データ・センター１００によるリクエストの受信に応答して、サーチを実行しサーチ結果を出力するように構成することができる。別の例において、第２のコンピューティング・デバイス１０６は、サーチ・エンジン・インデックスの一部を記憶することができ、サーチ・エンジン・インデックスの一部をデータ・センター１００（又は別のデータ・センター）内の別のコンピューティング・デバイスに、コンピューティング・デバイス１０３からのそれを行うリクエストの受信に応答して送信するように構成することができる。
【００１７】
[0028]データ・センター１００は、複数のネットワーク・インフラストラクチャ・デバイス１１４〜１２０を更に含む。ネットワーク・インフラストラクチャ・デバイス１１４〜１２０は、データ・センター１００内のコンピューティング・デバイス１０４〜１１０のうちのコンピューティング・デバイス間のデータの伝送を手助けし、データ・センター間のデータの伝送を手助けし、エンド・ユーザ１０２により操作されるコンピューティング・デバイス１０３とコンピューティング・デバイス１０４〜１１０との間のデータの伝送を手助けするように構成される。図１に描写された例示のデータ・センター１００において、ネットワーク・インフラストラクチャ・デバイス１１４〜１２０は、２つのスイッチ１１４及び１１６と、ルータ１１８と、ファイアウォール１２０とを含む。データ・センター１００内のデバイス（ここで、「デバイス」は、コンピューティング・デバイス及びネットワーク・インフラストラクチャ・デバイスを集合的に参照している）は、ネットワーク・リンクにより互いに通信するように結合している。従って、例えば、第１のコンピューティング・デバイス１０４はスイッチ１１４と第１のネットワーク・リンクにより通信するように結合され、第２のコンピューティング・デバイス１０６はスイッチ１１４と第２のネットワーク・リンクにより通信するように結合され、スイッチ１１４はルータ１１８と第３のネットワーク・リンクにより通信するように結合される、等である。データ・センター１００は比較的小さな数のデバイスを含むものとして示されているが、あるデータ・センターは、数千ものコンピューティング・デバイス及び数千ものネットワーク・インフラストラクチャ・デバイスを含む場合があることは理解されたい。更に、ネットワーク・インフラストラクチャ・デバイス１１４〜１２０は、ハードウエア及びソフトウエアベースのデバイスの一方又は双方を含むことができる。例えば、ルータ１１８は、コンピューティング・デバイスにより実行されるソフトウエアベースのルータであってよい。同様に、ファイアウォール１２０は、ハードウエア・ルータ又はコンピューティング・デバイスにおいて実行されるソフトウエア・ファイアウォールであってよい。
【００１８】
[0029]コンピューティング・デバイス１０４〜１１０及びネットワーク・インフラストラクチャ・デバイス１１４〜１２０のうちの１以上は、複数のアラームを、あるそれぞれのイベントが検出されたときに出力するように構成することができる。例えば、ルータ１１８は、ハートビート・リクエスト（例えば、メッセージに対するリプライのリクエスト）を特定のコンピューティング・デバイスに向けて出力し、ハートビートの送信から閾値時間内に１つ又は複数の応答を受信できないときに、アラームを出力するように構成することができる。別の例において、データ・センター１００の内部で動いている分散プロセスのセット（「ランナー」又は「ウォッチドッグ」という。）又はデータ・センター１００の外部で動いている分散処理のセットは、ハートビート・リクエストをサービス、サーバ又はコンピューティング・デバイスに、このサービス、サーバ又はコンピューティング・デバイスがエンド・ユーザの視点から利用可能であることを保証するための合成（ｓｙｎｔｈｅｔｉｃ）マイクロ・トランザクションのセットを実行することに加えて周期的に送る（例えば、メール・サービスが適正に動いていることをチェックするための小さなテスト・メールを送る）ことができる。ハートビート・リクエストに対する応答を受信しないときに、アラームを発生させることができる。従って、アラームは、ネットワーク障害、例えば、コンピューティング・デバイスがダウンしているか又はルータ１１８と特定のコンピューティング・デバイスとの間のネットワーク・リンクがダウンしていることを示すことができる。別の例において、スイッチ１１４は、スイッチ１１４を通過するデータ・ボリュームが事前に定められた閾値に達したときに、アラームを発生させるように構成することができる。
【００１９】
[0030]解決システム１２２は、コンピューティング・デバイス１０４〜１１０及びネットワーク・インフラストラクチャ・デバイス１１４〜１２０のうちの１以上が発生させたアラームを受信し、ネットワーク・オペレータ１２６が用いるオペレータ・ステーション１２４にデータを出力して、少なくとも１つのアラームが示すネットワーク障害の解決においてネットワーク・オペレータ１２６を補助する。ここにより詳細に記載するであろうように、解決システム１２２は、ネットワーク障害を、受信した少なくとも１つのアラームに基づいて識別することができ、このネットワーク障害の解決のために複数の可能性あるトラブルシューティング・オプションを識別することができる。トラブルシューティング・オプションは、オペレータが行うことのできる高レベル・チェック、例えば、「ネットワーク・カードをチェックせよ」、「ケーブルをチェックせよ」等として把握することができる。更に、解決システム１２２は、それぞれのラベルをトラブルシューティング・オプションに割り当てることが可能であり、ここで、ラベルは、ネットワーク・オペレータ１２６によってとられたときにそのトラブルシューティング・オプションがネットワーク障害を解消するであろう確率をそれぞれ示すものである。ここにより詳細に記載するであろうように、解決システム１２２は、トラブルシューティング・オプション及びそれぞれのラベルを、ネットワーク・オペレータ１２６（又はデータ・センター１００のオペレーション・チームの他のオペレータ）により類似のネットワーク障害（例えば、類似の症状を伴うネットワーク障害）を解決するためにとられた以前のトラブルシューティング・オプションに基づいて識別することができる。
【００２０】
[0031]従って、オペレータ１２６には、ネットワーク障害を解決するためにオペレータ１２６が進める（ｓｔｅｐ  ｔｈｒｏｕｇｈ）ことが可能なトラブルシューティング・オプションの優先順位の付けられたリストが提供される。更にまた、１つのトラブルシューティング・オプションは、割り当てられた１つ又は複数のデバッギング・ステップを有することができ、１つのデバッギング・ステップは、（トラブルシューティング・オプションと比較して）より粒度の細かい命令を、オペレータ１２６に、ネットワーク障害を解決するために提供する。一例において、オペレータ１２６が特定のトラブルシューティング・オプションを選んだときに、デバッギング・ステップのリストをオペレータ１２６に提示することができる。更に、各デバッギング・ステップは、割り当てられたそれぞれのラベルを有することができ、ここで、ラベルは、（トラブルシューティング・オプションが正しいオプションであると仮定して）当該デバッギング・オプションが、識別されたネットワーク障害を解決するであろう確率を示すものである。オペレータ１２６の観点から、オペレータ１２６にはトラブルシューティング・オプションのリストが提供され、オペレータ１２６はそのリストから特定のトラブルシューティング・オプション（例えば、ネットワーク障害を解決する最高の確率に関連するトラブルシューティング・オプション）を選択することが可能であり、次に、確率の順にデバッギング・ステップを実行することが可能である。加えて、オペレータ１２６には、トラブルシューティング・オプション及びデバッギング・ステップの一方若しくは双方がとられた回数、並びに、トラブルシューティング・オプション及びデバッギング・ステップの一方若しくは双方が成功した回数の一方又は双方を示すカウントを更に提供することができる。例えば、２つのトラブルシューティング・オプションに、等しい確率（例えば、５０％）を割り当てることができる。しかしながら、第１のトラブルシューティング・オプションに割り当てられた第１のラベルは、そのトラブルシューティング・オプションが２回とられ、１回成功したことを示すことができる一方、第２のトラブルシューティング・オプションに割り当てられた第２のラベルは、そのトラブルシューティング・オプションが１，０００回選択され、５００回成功したことを示すことができる。オペレータ１２６がネットワーク障害を解決すると、オペレータ１２６は、（もしあれば）どのトラブルシューティング・オプション及び（もしあれば）どのデバッギング・ステップがネットワーク障害を解決したのかについてのフィードバックを解決システム１２２に提供することができる。このフィードバックを、解決システム１２２は、後のアラームを受信したときに用いることができ、トラブルシューティング・オプション、デバッギング・ステップ及び対応するラベルは、このフィードバックに基づくことができる。従って、解決システム１２２は、データドリブン・アプローチを用いてネットワーク障害解決命令をオペレータに提供する。
【００２１】
[0032]解決システム１２２は、オペレータ１２６に対してネットワーク障害に優先順位を付け、それによってネットワーク障害がトリアージされる（ｔｒｉａｇｅｄ）ように更に構成することができる。当業者には理解されるであろうように、幾つかのネットワーク障害は、他のネットワーク障害よりも、利益、データスループット等に関して大きな影響を有する。解決システム１２２は、アラームを、コンピューティング・デバイス１０４〜１１０及びネットワーク・インフラストラクチャ・デバイス１１４〜１２０のうちの１以上から受信し、ただ１つのネットワーク障害を表すようにそのアラームを少なくとも１つの他のアラームとグループ化するように更に構成することができる。従って、オペレータ１２６が低ベルの独立したアラームを分析することに代えて、オペレータ１２６にはネットワーク障害の高レベル表現を提供することができる。更に、解決システム１２２は、互いに関してネットワーク障害に優先順位を付け、それによって、オペレータ１２６が、最も高い影響を有するネットワーク障害を最初にトラブルシューティングし、続いてより低い影響を有するネットワーク障害をトラブルシューティングするように仕向けることが可能である。
【００２２】
[0033]解決システム１２２は、データ・センター１００に含まれるものとして示されているが、データ・センター１００の外部にあるコンピューティング・デバイス上で実行してもよいことを理解されたい。例えば、データ・センター１００は、全ての集められたネットワーク・アラームを、解決システム１２２を実行する外部デバイスに送信するように構成されたコンピューティング・デバイスを含んでいてよい。更にまた、解決システム１２２は、１つのコンピューティング・デバイス上で実行されるか又は複数のコンピューティング・デバイスにわたって分散することができることを理解されたい。また別の例において、解決システム１２２は仮想マシン（ＶＭ）において実行することができ、このＶＭは、１つのコンピューティング・デバイス上で実行されるか又は（データ・センター１００の内部であるか若しくは外部にある）複数のコンピューティング・デバイスにわたって分散することができる。
【００２３】
[0034]今、図２を参照すると、例示の（部分的な）データ・センター・アーキテクチャ２００が図解されており、データ・センター・アーキテクチャ２００はデータ・センター１００を含むことが可能である。データ・センター・アーキテクチャ２００は例であり、フラット・ネットワーク／Ｃｌｏｓトポロジー等の他のトポロジーの変形がデータ・センター１００を含んでいてよく、当該変形を添付の請求項はカバーすることが意図されていることを理解されたい。データ・センター・アーキテクチャ２００は、複数のトップ・オブ・ラック（ＴｏＲ）スイッチ２０２〜２０８を含む。複数のラックマウント・サーバ（図示せず）のそれぞれをＴｏＲスイッチ２０２〜２０８のうちの各ＴｏＲスイッチに接続する（か又はデュアルホーム（ｄｕａｌ−ｈｏｍｅｄ）である）ことができる。
【００２４】
[0035]また、アーキテクチャ２００は、主アグリゲーション・スイッチ２１０及びバックアップ・アグリゲーション・スイッチ２１２を含み、ＴｏＲスイッチ２０２〜２０８のうちの各ＴｏＲスイッチは、主アグリゲーション・スイッチ２１０及び（冗長にするために）バックアップ・アグリゲーション・スイッチ２１２に接続される。実際、あるデータ・センターは主アグリゲーション・スイッチ及びバックアップ・アグリゲーション・スイッチの幾つかのペアを含み、アグリゲーション・スイッチの各冗長ペアは、幾つかの（例えば、数十の）ＴｏＲスイッチからのトラフィックを集約する。アーキテクチャ２００は、主アグリゲーション・スイッチ２１０に接続されたロード・バランサ２１４〜２１６の第１の冗長ペアと、バックアップ・アグリゲーション・スイッチ２１２に接続されたロード・バランサ２１８及び２２０の第２の冗長ペアとを含んでいてよい。ロード・バランサ２１４〜２２０は、ユーザ・リクエストを処理するサーバの、（例えば、ＤＮＳを通じてクライアントにさらされる）スタティックＩＰアドレスとダイナミックＩＰアドレスとのマッピングを行うことができる。
【００２５】
[0036]アーキテクチャ２００は、主アクセス・ルータ２２２及びバックアップ・アクセス・ルータ２２４を更に含む。主アグリゲーション・スイッチ２１０、バックアップ・アグリゲーション・スイッチ２１２、主アクセス・ルータ２２２及びバックアップ・アクセス・ルータ２２４は冗長グループを形成することができる。アーキテクチャ２００を有するデータ・センターにおいて、デバイス及びリンクの冗長グループは、ネットワーク障害を隠すのに用いることができる。アグリゲーション・スイッチ２１０〜２１２は、（ＴｏＲ２０２〜２０８から集約された）トラフィックをアクセス・ルータ２２２〜２２４に転送する。また、アーキテクチャ２００は、主コア・ルータ２２６及びバックアップ・コア・ルータ２２８を含み、主コア・ルータ２２６及びバックアップ・コア・ルータ２２８の各々は、アクセス・ルータ２２２〜２２４の双方に接続されている。主アクセス・ルータ２２２、バックアップ・アクセス・ルータ２２４、主コア・ルータ２２６及びバックアップ・コア・ルータ２２８は、別の冗長グループを形成する。例えば、アクセス・ルータ２２２〜２２４は、最大で数千のサーバからの集約されたトラフィックをルーティングし、このトラフィックをコア・ルータ２２６〜２２８にルーティングする。コア・ルータ２２６〜２２８は、データ・センター・ネットワークの残り及びインターネット２３０に接続される。
【００２６】
[0037]例示の実施形態において、（例えばＴｏＲスイッチ２０２〜２０８に結合された）アーキテクチャにおけるサーバは、複数の仮想ローカル・エリア・ネットワーク（ＶＬＡＮ）に分割して、オーバーヘッドを制限し、ネットワークにおいてホストされる様々なアプリケーションを隔離することができる。データ・センター・トポロジの各レイヤにおいて（ＴｏＲスイッチのサブセットを除外する場合がある）、冗長性（１：１の冗長性）をネットワーク・トポロジに構築して、障害を軽減することができる。更に、ルータ及びスイッチに加えて、アーキテクチャ２００は、ロード・バランサ、ファイアウォール等のミドル・ボックスを含むことができる。以上のことから、コンピューティング・デバイス１０４〜１１０は、アーキテクチャ２００におけるサーバ・コンピューティング・デバイスであることができ、スイッチ１１４〜１１６はアグリゲーション・スイッチであることができ、ルータ１１８はアクセス・ルータ又はコア・ルータであることができる、等を確認することができる。
【００２７】
[0038今、図３を参照すると、解決システム１２２の機能ブロック・ダイアグラムが図解されている。上で示したように、解決システム１２２は、データ・センター１００内の複数のデバイスが様々な時点で発生させたアラームを受信することが可能である。解決システム１２０は、データ・センター１００内のデバイスが発生させたアラームを受信するアラーム受信（ｒｅｃｅｉｖｅｒ）コンポーネント３０２を含む。解決識別（ｉｄｅｎｔｉｆｉｅｒ）コンポーネント３０４は、アラーム受信コンポーネント３０２と通信し、アラーム受信コンポーネント３０２が受信したアラームがアクション可能ネットワーク障害（例えば、オペレータ１２６がトラブルシューティング及びデバッギングを介して解決可能なネットワーク障害）を示すかを確認するように構成されている。一例に従うと、ルータ１１８が発生させたアラームは、ルータ１１８がスイッチ１１６と通信できないことを示すことができ、このことは、転じて、（例えば）以下の何れかを示すことがある：（１）ルータの故障；（２）スイッチのダウン；（３）ルータ１１８とスイッチ１１６との間のネットワーク・リンクに関するケーブルの緩み、等。これらは、オペレータ１２６が解決可能な、アクション可能ネットワーク障害である。
【００２８】
[0039]解決システム１２２は、データ・ストア３０６を含むか又はデータ・ストア３０６へのアクセスを有することができ、データ・ストア３０６は履歴データ３０８を含む。以下でより詳細に記載するであろうように、履歴データ３０６は、データ・センター１００内のデバイス及びリンクについての「障害履歴テーブル」を含むことができ、あるデバイス又はリンクについての障害履歴テーブルは、障害症状を含む、当該デバイス又はリンクの過去の障害を記載した情報、最近の障害回数、ある閾値の期間にわたる障害の回数、構成の変更等を含むことができる。
【００２９】
[0040]動作において、アラーム受信コンポーネント３０２は、障害状況を含むアラームを受信する。障害状況は、アラームが発生した時間、障害症状を呈するデバイス又はリンクのアイデンティティ、アラームを発生させたデバイスのアイデンティティ、検出されたイベントに対応するインターフェースの識別、障害症状を呈するデバイス又はリンクを含むデータ・センターのアイデンティティ等を含むことができる。解決識別コンポーネント３０４は、上記アラーム（及びオプションで他に受信したアラーム）に基づいて、当該アラームがアクション可能ネットワーク障害を示すと判定することができ、障害デバイス又はリンクをアラームの内容に基づいて更に識別する（例えば、アラームを発生させたデバイスは障害デバイスでない場合がある）ことが可能である。解決識別コンポーネント３０４は、アラームにおいて示された障害状況及び関連するテレメトリ・データを、履歴データ３０８に含まれる以前に観測された障害症状のセットにマッピングすることができる。一例において、障害デバイス又はリンクは、障害症状を以前に呈していた場合があり、障害のデバイスと同じタイプのデバイスは、障害症状を以前に呈していた場合があり、障害デバイスとプラットフォームを共有するデバイスは、障害症状を以前に呈していた場合があり、ネットワークにおける（例えば、障害デバイスから１〜２ホップ上流又は下流の）近傍デバイスは、障害症状を以前に呈していた場合がある、等。アラームの障害状況が症状にマッピングできない場合、静的ガイドラインがオペレータ１２６には表面化されることが更に予期される。
【００３０】
[0041]観測された症状がマッピングを介して識別されることに応答して、解決識別コンポーネント３０４は、履歴データ３０８にわたる統計的分析を行い、オペレータ１２６がネットワーク障害を解決するために用いるための、複数の推奨されるトラブルシューティング・オプション、及び、トラブルシューティング・オプションにそれぞれ対応するデバッギング・ステップを識別することができる。更に、トラブルシューティング・オプション及び関連するデバッギング・ステップは、各々、確実性によりランク付けすることができ、それによって、ネットワーク問題を解決するのに最高の確実性を有するトラブルシューティング・オプション及びデバッギング・ステップが、オペレータ１２６に対して最も目立つように提示される。
【００３１】
[0042]例えば、解決識別コンポーネント３０４は、スイッチ１１６が発生させたネットワーク・アラームが、データ・センター１００内の第３のコンピューティング・デバイス１０８がハートビート・リクエストに応答しないことを示すと判定することができ、データ・センター１００内の第３のコンピューティング・デバイス１０８がハートビート・リクエストに応答しないことは、例えば、第３のコンピューティング・デバイス１０８（又はデータ・センター１００内若しくは別のデータ・センター内の他のデバイス）について以前に観測された以下の障害症状にマッピングすることができる：（１）「リンク・フラッピング」；（２）「デバイス・ダウン」。解決識別コンポーネント３０４により識別されたこのような症状の各々について、解決識別コンポーネント３０４は、当該症状を有するネットワーク障害を解決するために以前に実行されたと示された、履歴データ３０８におけるトラブルシューティング・オプション及び対応するデバッギング・ステップを識別することができる。更に、解決識別コンポーネント３０４は、ラベルをトラブルシューティング・オプション及びデバッギング・ステップに割り当てることができ、これらラベルは、当該トラブルシューティング・オプション及びデバッギング・ステップがネットワーク障害を軽減するであろう確率をそれぞれ示すものである。症状、トラブルシューティング・オプション、デバッギング・ステップ及びラベルの識別を手助けする履歴データ３０８内のデータの例示の構成は、後で更に詳細に記載する。
【００３２】
[0043]例示の実施形態において、解決識別コンポーネント３０４は、次に、症状、トラブルシューティング・オプション、デバッギング・ステップ及び対応するラベルをオペレータ１２６に出力することができる。実用的には、次に、オペレータ１２６に、各症状についてのトラブルシューティング・オプション及び解決ステップの優先順位の付けられたリストが提供され、各症状は、（アクション可能ネットワーク障害を示す）受信したアラームの障害状況にマッピングされたものである。次に、オペレータ１２６は、トラブルシューティング・オプション及びデバッギング・ステップに、該トラブルシューティング・オプション及びデバッギング・ステップに割り当てられたラベルに基づく順番で進むことができ、ネットワーク障害の比較的有効な解決をもたらすことになる。
【００３３】
[0044]別の例示の実施形態において、解決識別コンポーネント３０４は、少なくとも１つのトラブルシューティング・オプション及び少なくとも１つのデバッギング・ステップを識別することができ、データ・センター１００内のデバイスに、当該少なくとも１つのトラブルシューティング・オプションを選択させ、当該少なくとも１つのデバッギング・ステップを実行させる信号を、オペレータ１２６の介在なしに送信することができる。非限定的な例において、解決識別コンポーネント３０４は、比較的高い確率で、スイッチ１１６を再起動することが、観測されるネットワーク障害症状を緩和するであろうと判定することができる。解決識別コンポーネント３０４は、オペレータ１２６にアラームを表面化するか又はそうではなくオペレータの介在を要求することなく、スイッチ１１６に、スイッチ１１６を再起動させる信号を送信することができる。
【００３４】
[0045]一例において、解決識別コンポーネント３０４は、以下の（１）〜（５）の１以上であるとき、トラブルシューティング・オプション及びデバッギング・ステップをオペレータ１２６に表面化する前に、ネットワーク障害を自動的に解決しようと試みることができる：（１）あるトラブルシューティング・オプション及びデバッギング・ステップがネットワーク障害を解決する計算された確率が、事前に定められた確率の閾値（例えば、０．９）よりも高い；（２）上記トラブルシューティング・オプション及びデバッギング・ステップがネットワーク障害を解決する計算された確率が、トラブルシューティング・オプション及びデバッギング・ステップがネットワーク障害を解決する最も高いｋ個の確率（例えば、ネットワーク障害を解決する可能性の最も高い３つのトラブルシューティング・オプション及びデバッギング・ステップ）のうちの１つである；（３）自動的なトラブルシューティング・オプションの選択及びデバッギング・ステップの実行が冗長障害を生じさせない；（４）自動的なトラブルシューティング・オプションの選択及びデバッギング・ステップの実行がある閾値時間（例えば、１分）を越えない；（５）自動的なトラブルシューティング・オプションの選択及びデバッギング・ステップの実行が、データ・センター１００を流れるトラフィックの比較的大きなボリュームの輸送を手助けするデバイスを除去しない。自動的にデバッグ・オプションを選択しデバッギング・ステップを実行するときを判定する他のファクターもまた予期される。
【００３５】
[0046]解決識別コンポーネント３０４は、ネットワーク障害に関する追加データをオペレータ１２６に表面化するように更に構成することができる。例えば、解決識別コンポーネント３０４は、履歴データ３０８にクエリを行い様々な次元にまたがり障害データを集約することができる。一例において、（例えば、障害デバイスであると識別されたか又はそうではなくオペレータ１２６によって識別された）特定の障害デバイス又はリンクに関して、解決識別コンポーネント３０４は、（例えば、閾値の履歴時間ウィンドウにわたる）デバイス又はリンクが障害を起こした回数、デバイス又はリンクが障害を起こす、データ・センター１００内の他のデバイス又はリンクが障害を起こす頻度に対する頻度、デバイスが障害を起こす、データ・センター１００内の同じタイプの他のデバイスが障害を起こす頻度に対する頻度等を示すデータを出力することができる。
【００３６】
[0047]別の例において、オペレータ１２６は、特定のデバイス・タイプ、プラットフォーム又はデータ・センターに関する情報のリクエストを説明する（ｓｅｔ  ｆｏｒｔｈ）ことができ、解決識別コンポーネント３０４は、障害データを様々なパラメータにまたがり集約して、障害情報をオペレータ１２６に対して表面化することができる。非限定的な例において、オペレータ１２６からのデバイス・プラットフォームについての情報のリクエストを受信することに応答して、解決識別コンポーネント３０４は、そのプラットフォームにおいて最も頻繁に障害を起こすデバイスを識別するデータ、そのプラットフォームのデバイス障害の他のプラットフォームに対する頻度、様々なタイプのデバイスの障害の互いに対する頻度等を出力することができる。
【００３７】
[0048]また別の例において、オペレータ１２６は、特定のデバイスまたはデバイスのタイプではなく、データ・センターの次元／軸についての情報を表面化することをリクエストすることができる。例えば、オペレータ１２６は、データ・センター１００内の最も頻繁に故障するデバイスの識別をリクエストすることができ、解決識別コンポーネント３０４は、データ・センター１００内の最も頻繁に障害を起こすデバイスのリストを返すことができる。同様に、オペレータ１２６は、データ・センター１００内の最も安定なデバイスの識別をリクエストすることができ、解決識別コンポーネント３０４は、データ・センター１００内の最も稀に障害を起こすデバイスのリストを返すことができる。履歴データ３０８の構成は、様々な次元／軸についての情報の集約を手助けする。
【００３８】
[0049]また、解決システム１２２はフィードバック・コンポーネント３１２を含むことができ、フィードバック・コンポーネント３１２は、特に、障害デバイスについて観測された症状、障害デバイスが発生させたネットワーク障害を直すために取られた、トラブルシューティング・オプション及びデバッギング・ステップのうちの１以上についてのフィードバックをオペレータ１２６から受信するように構成される。次に、フィードバック・コンポーネント３１２は、オペレータ１２６からの入力を受けることに応答して、履歴データ３０８（例えば、障害デバイスについての履歴の障害テーブル）を更新するように構成されてよい。従って、解決システム１２２が後でアラームを受信したとき、解決識別コンポーネント３０４は、オペレータ１２６の最近の観測に基づく更新された障害症状、トラブルシューティング・オプション、デバッギング・ステップ及びラベルのうちの１以上を出力することができる。
【００３９】
[0050]解決システム１２２は、オプションで、イベント優先順位付け（ｐｒｉｏｒｉｔｉｚｅｒ）コンポーネント３１４を含むことができ、イベント優先順位付けコンポーネント３１４は、オペレータ１２６への提示のためにアクション可能ネットワーク障害に優先順位を付けるものである。例えば、（例えば、オペレーティング・システムのパッチのロールアウトによる）特定の時間ウィンドウの間に、データ・センター１００内の多数のデバイスがアラームを発生させることがあり、従来、オペレータ１２６が、大きなボリュームのアラームをパースしてどのアラームがアクション可能ネットワーク障害を表すのかを決定し、ネットワーク障害に更に優先順位を付ける必要があった。イベント優先順位付けコンポーネント３１４は、オペレータ１２６の負担を、ただ１つのネットワーク障害を表す幾つかのアラームを相関させ、（例えばネットワーク障害の影響の関数として）ネットワーク障害に優先順位を付けることにより軽減する。
【００４０】
[0051]ネットワーク障害に優先順位を付けることに関係して、データ・ストア３０６はネットワーク・グラフ３１０を含み、ネットワーク・グラフ３１０はデータ・センター１００の階層的ネットワーク・トポロジを表すものであり、イベント優先順位付けコンポーネント３１４は、ネットワーク・グラフ３１０に基づいてネットワーク障害に優先順位を付けることができる。例えば、（ネットワーク・グラフ３０８において識別される）ネットワーク階層のトップに近いデバイスによって生じたネットワーク障害は、サービス停止の高いリスクをもたらし、従って、ネットワーク階層においてより低いデバイスにより生じたネットワーク障害よりも高く優先順位を付けることができる。別の例において、イベント優先順位付けコンポーネント３１２は、それぞれのネットワーク障害により影響を受けるであろうプロパティの数（又は高いビジネス・インテリジェンス影響のリスクを有する単一のプロパティ）の関数として、ネットワーク障害に優先順位を付けることができる。
【００４１】
[0052]今、図４を参照すると、解決識別コンポーネント３０４の機能ブロック・ダイアグラムが描写されている。解決識別コンポーネント３０４は、データ・センター１００内のデバイスが発生させたアラーム４００を受信する。例えば、デバイスは、コンピューティング・デバイス１０４〜１１０のうちの１つであるか又はネットワーク・インフラストラクチャ・デバイス１１４〜１２０のうちの１つであってよい。図４に示された例において、アラーム４００は、以下の複数の障害状況を含む：（１）デバイスがアラームを発生させたときを示すタイムスタンプ；（２）デバイスから発生したアラームを一意に識別するアラームＩＤ；（３）アラームを発生させたデバイスを識別するデバイスＩＤ；（４）障害を受けている特定のポート又はネットワーク・リンクを識別するインターフェース・リンク；（５）障害に関するより詳細なものを提供するマシン生成のテキストを含み、アラーム４００を発生させたデバイスにより出力されるイベント記述。アラーム４００の内容は、図４に示されここに記載されたものとは異なる場合があることは理解されたい。
【００４２】
[0053]解決識別コンポーネント３０４は、アラーム４００を受信し、例示の実施形態において、アラームがアクション可能ネットワーク障害を示すかを判定することができる。より詳細には、解決識別コンポーネント３０４は、アラーム４００を分析し、アラーム４００がアクション可能ネットワーク障害を表すと識別することができ、（例えばデバイスＩＤ及びネットワーク・グラフ３１０の一方又は双方に基づき）障害デバイス又はリンクを更に識別することができる障害識別コンポーネント４０２を含む。例えば、アラーム４００を発生させたデバイス（発生デバイス）は適正に動作しているが、アラームを発生させたデバイスに（例えば、アラーム４００において識別されるインターフェース・リンクによって）接続されたネットワーク・インフラストラクチャ・デバイス（障害デバイス）に障害が発生していることがある。一例において、アラーム４００におけるイベント記述は、デバイスＩＤにより識別されるデバイスが特定のネットワーク・リンクを通じたハートビート・リクエストに応答しないことを示すことができる。
【００４３】
[0054]更に、障害識別コンポーネント４０２は、アラーム４００に、アラームにより示されるネットワーク障害の深刻度を示すメタデータを割り当てることができる。一例において、障害識別コンポーネント４０２が障害デバイス又はリンクを識別することに応答して、障害識別コンポーネント４０２は、デバイス又はリンクに障害が発生したことにより生じたトラフィック損失を識別することができる。例えば、障害識別コンポーネント４０２は、複数の事前に定められた値のうちの１つをアラーム４００に、アラーム４００により表されるイベントにより生じたであろうトラフィック損失のボリュームに基づき割り当てることができる。従って、障害識別コンポーネント４０２は、ネットワーク・アラームの深刻度を表すために、「高」、「中」又は「低」のうちの１つをアラーム４００に割り当てることができる。一例に従うと、この値は、デバイス障害履歴テーブル及びリンク障害履歴テーブルの一方又は双方に置くことができる。
【００４４】
[0055]更に、障害識別コンポーネント４０２は、データ・センター１００における冗長性に関係するリスクを示す値をアラーム４００に割り当てることができる。例えば、この値は、アラーム４００により表される障害が冗長グループ内のトラフィック損失を生じさせるかを示すことができる。冗長性が有効でトラフィック損失が最小であるイベントについて、トラブルシューティング・オプションを自動的に選択しデバッギング・ステップを自動的に行って、アラーム４００により表される障害イベントの自動トリアージをする（ａｕｔｏ−ｔｒｉａｇｅ）ことができる。例示の値は、「冗長性は成功」、「冗長性に障害」又は「冗長性が危険」を含むことができ、「冗長性が危険」は、障害デバイス又はリンクがシングル・レッグド（ｓｉｎｇｌｅ  ｌｅｇｇｅｄ）であることを示すことができる。
【００４５】
[0056]解決識別コンポーネント３０４は、マッパ・コンポーネント４０４を更に含む。障害識別コンポーネント４０２が障害デバイス又はリンクを識別することに応答して、マッパ・コンポーネント４０４は、履歴データ３０８にアクセスし、アラーム４００（又はネットワーク障害を表す相関するアラームのグループ）において示される障害状況（及び関連テレメトリ・データ）を、履歴データ３０８において表された少なくとも１つの以前に観測された症状にマッピングすることが可能である。
【００４６】
[0057]履歴データ３０８の例示の構成に関してより詳細にいうと、履歴データ３０８は、複数のデバイス障害履歴テーブル４０６〜４０８と、複数のリンク障害履歴テーブル４１０〜４１２とを含むことができ、デバイス障害履歴テーブル４０６〜４０８の各障害履歴テーブルは、データ・センター１００内のそれぞれのデバイスについてのものであり、リンク障害履歴テーブル４１０〜４１２の各障害履歴テーブルは、データ・センター１００内のそれぞれのリンクについてのものである。オプションで、履歴データ３０８は、他のデータ・センター内のデバイス／リンクについての障害履歴テーブルを含むことができる。更に、履歴データ３０８は集中型のものとして示されているが、障害履歴テーブル４０６〜４１２は、多数のストレージ・デバイスにわたり分散させることができることは理解されよう。
【００４７】
[0058]第１のデバイス障害履歴テーブル４０６は、データ・センター１００内の第１のデバイスについての履歴障害情報を含むことができる。この障害情報は以下のものを含むことができるが、これらに限定されない：（１）第１のデバイスのアイデンティティ、第１のデバイスの製造業者、第１のデバイスのタイプ、第１のデバイスのモデル、第１のデバイスのプラットフォーム、等を含む、第１のデバイスを記載したデータ；（２）時間にわたる第１のデバイスの可用性（及び最近の障害から経過した時間量）；（３）第１のデバイスを通過したトラフィック、第１のデバイスの現在のＣＰＵ及びメモリの使用率、時間にわたる第１のデバイスのＣＰＵ使用率、時間にわたる第１のデバイスのメモリ使用率、第１のデバイスの接続数、等のネットワーク・モニタリング・データ；（４）第１のデバイスに対してなされた設定変更を示すデータ；（５）第１のデバイスについての観測される障害症状、障害症状を軽減するために以前に用いられたトラブルシューティング・オプション、及び、障害症状を解決するために以前にとられたデバッギング・ステップ；（６）第１のデバイス上で行われたハードウエア及びソフトウエアの変更；（７）デバイスに関して履歴上作業したエンジニア及びオペレータのアイデンティティ；（８）第１のデバイスに関してなされた保証のないコンポーネントの交換の数。ｎ番目のデバイスの障害履歴テーブル４０８は、同様の情報を含むことができる。ざっと図５を見ると、例示の障害履歴テーブル５００の内容が図解されている。
【００４８】
[0059]第１のリンク障害履歴テーブル４１０は、データ・センター内の第１のリンクについての履歴障害データを含むことができる。この障害情報は以下のものを含むことができるが、これらに限定されない：（１）第１のリンクのアイデンティティ、第１のリンクを介して接続されたデバイス、当該デバイス／リンクの製造業者、当該デバイスのプラットフォーム、等を含む、第１のリンクを記載したデータ；（２）時間にわたる第１のリンクの可用性（及び最近の障害から経過した時間量）；（３）リンクを通過する現在のトラフィック、リンクを通過した履歴上のトラフィック、等を含むネットワーク・モニタリング・データ；（４）リンクを介して結合されたデバイスの設定変更を示すデータ；（５）リンクについて観測される障害症状、障害症状を軽減するために以前に用いられたトラブルシューティング・オプション、及び、障害症状を解決するために以前にとられたデバッギング・ステップ；（６）リンクを介して接続されたデバイス上で行われたハードウエア及びソフトウエアの変更；（７）リンクのタイプ、例えば銅か光か；（８）リンク容量、等。ｎ番目のリンク障害履歴テーブル４１２は、同様の情報を含むことができる。
【００４９】
[0068]従って、マッパ・コンポーネント４０８は、アラーム４００を受信し、アラーム４００における障害状況を、デバイス障害履歴テーブル４０６〜４０８又はリンク障害履歴テーブル４１０〜４１２のうちの少なくとも１つにおいて識別される障害デバイスについて観測される少なくとも１つの症状にマッピングすることができる。例えば、マッパ・コンポーネント４０４は、最初に障害デバイスの障害履歴テーブルにアクセスし、障害状況が障害デバイスについて以前に観測された障害症状にマッピングされるかを確認することができる。次に、マッパ・コンポーネント４０４は、ネットワーク内の近傍デバイス並びに障害デバイスと同じタイプ及びモデルの一方若しくは双方の一方又は双方にサーチを広げて、アラーム４００において示される障害症状にマッピングされる以前に観測された障害症状を識別することができる。非限定的な例において、マッパ・コンポーネント４０４はアラーム４００の障害状況を以前に観測された以下の症状にマッピングすることができる：（１）「デバイス・ダウン」；（２）障害デバイスについての障害履歴テーブルにおいて識別された、障害デバイスについての「リンク・フラッピング」。
【００５０】
[0061]解決識別コンポーネント３０４はラベル割り当て（ａｓｓｉｇｎｏｒ）コンポーネント４１４を更に含み、ラベル割り当てコンポーネント４１４は、履歴データ３０８において識別される、マッパ・コンポーネント４０４によって識別されたネットワーク障害症状を解決するために以前にとられたトラブルシューティング・オプションを識別する。ラベル割り当てコンポーネント４１４はラベルをそれぞれのトラブルシューティング・オプションに更に割り当て、ラベルは、そのトラブルシューティング・オプションがネットワーク障害症状を軽減するであろう確率を示すものである。
【００５１】
[0062]例示の実施形態において、ラベル割り当てコンポーネント４１４は、最初に、障害デバイスのデバイス障害履歴テーブル（又は障害リンクについてのリンク障害履歴テーブル）をサーチして、観測された症状及びデバイスについて何らかのトラブルシューティング・オプション及びデバッギング・ステップの一方又は双方が以前にとられたかを確認することができる。障害デバイス及びリンクの一方又は双方が比較的大量のトラブルシューティング及びデバッギングにさらされるとき、ラベル割り当てコンポーネント４１４は、履歴データ３０８において更にサーチを行う必要はない場合がある。例えば、デバイスを再起動するトラブルシューティング・オプションが、障害デバイスにより呈された障害症状を以前に（及び高い確実性で）軽減したことを、障害デバイスについての障害履歴テーブルが示すときに、ラベル割り当てコンポーネント４１４は、他のデバイスの他の障害履歴テーブルの内容を分析することなくトラブルシューティング・オプションを出力することができる。代替として、障害デバイスについての障害履歴テーブルが、障害デバイスは以前に症状を呈していなかった（又は症状を稀に呈していた）ことを示すときに、ラベル割り当てコンポーネント４１４は、次に、ネットワーク・トポロジにおける近傍デバイス、同じ製造業者のデバイス、同じタイプのデバイス、等の他のデバイスの障害履歴テーブルをサーチすることができる。履歴データ３０８の障害履歴テーブル４０６〜４１２におけるサーチにより、ラベル割り当てコンポーネント４１４は、以前に成功したトラブルシューティング・オプション及びデバッギング・ステップ並びにそれぞれの確実性ラベルを、障害症状を解決するために識別することが可能である。
【００５２】
[0063]解決識別コンポーネント３０４は、トラブルシューティング・オプション、デバッギング・ステップ及び対応するラベルを出力する出力コンポーネント４１６を更に含むことができる。一例において、出力コンポーネント４１６は、当該トラブルシューティング・オプション、デバッギング・ステップ及びラベルを、オペレータ１２６が用いるコンピューティング・デバイス１２４のディスプレイに出力することができる。別の例において、出力コンポーネント４１６は、トラブルシューティング・オプション、デバッギング・ステップ及びラベルを、異なるコンピューティング・デバイスに送信することができる。また別の例において、出力コンポーネント４１６は、オペレータの介在なく、トラブルシューティング・オプションが自動的に選択され、デバッギング・ステップが自動的に実行されるようにすることができる。
【００５３】
[0064]トラブルシューティング・オプション及びデバッギング・ステップの出力に加えて、出力コンポーネント４１６はまた、（障害デバイス又はリンクについて）、オペレータ１２６に提示するための要約の障害履歴テーブルを出力することができる。このことは、オペレータ１２６に、以前のデバイス又はリンクの障害に関する履歴上の文脈を提供することが可能である。例えば、解決識別は、データ・センター１００内のデバイス及びリンクの一方又は双方についての要約の障害履歴テーブルを維持することができ、例示の要約の障害履歴テーブルは、以下のものを含むことができるが、これらに限定されない：（１）デバイス又はリンクの名前；（２）デバイス又はリンクの他のデバイス又はリンクに対する障害レートについて示すもの（例えば、デバイス又はリンクが上位ｋ個の問題デバイスであるかについて示すもの）；（３）デバイス又はリンクに対してなされた最近の変更（例えば、ハードウエア、ソフトウエア及び設定のうちの１以上の変更）；（４）デバイス又はリンクが障害を最後に起こしたときからの時間量；（５）最近選択されたトラブルシューティング・オプション及びトラブルシューティングを行ったオペレータの一方又は双方。
【００５４】
[0065]今、図６を参照すると、オペレータ１２６が用いるコンピューティング・デバイス１２４のディスプレイに提示される例示のグラフィカル・ユーザ・インターフェース６００が図解されている。グラフィカル・ユーザ・インターフェース６００は、解決識別コンポーネント３０４によって生成することができる。このグラフィカル・ユーザ・インターフェースはフィールド６０２を含み、フィールド６０２は、障害識別コンポーネント４０２により識別された障害デバイス又はそうではなくオペレータ１２６が興味のあるデバイスの何れかに関する以下の情報をオペレータ１２６に提示するものである：（１）障害デバイスの名前；（２）障害デバイスのモデル；（３）障害デバイスを含むデータ・センターのアイデンティティ；（４）障害デバイスのプロパティ；（５）障害デバイスのタイプ；（６）最近のハードウエア変更及び最近のソフトウエア変更；（７）これら変更をより詳細に記載したチケットに対するリンク。
【００５５】
[0066]グラフィカル・ユーザ・インターフェース６００は追加でフィールド６０４を含み、フィールド６０４は、受信したアラーム（例えば、アラーム４００）の内容にマッピングされた、以前に観測された症状を図解するものである。図６に示されるように、例示の症状は「リンク・フラッピング」及び「デバイス・ダウン」を含むことが可能である。また、フィールド６０４は、観測された症状ごとに、複数の可能性あるトラブルシューティング・オプションを含む。例えば、「デバイス・ダウン」のシステムについて、以下のトラブルシューティング・オプションがフィールド６０４に表示される：（１）「ケーブルをチェックせよ」；（２）「電源をチェックせよ」；（３）「ネットワーク・カードをチェックせよ」。これらトラブルシューティング・オプションは割り当てられたそれぞれのラベルを有し、これらラベルは、それぞれのトラブルシューティング・オプションが対応する障害症状を軽減するであろう確率を示すものである。例えば、「ケーブルをチェックせよ」というトラブルシューティング・オプションには、当該トラブルシューティング・オプションに対応する少なくとも１つのデバッギング・ステップの利用を通じて障害症状「デバイス・ダウン」をトラブルシューティングすることが、６０％の確率で問題を軽減するであろうことを示すが割り当てられる。同様に、「電源をチェックせよ」というトラブルシューティング・オプションには、当該トラブルシューティング・オプションに対応する１又は複数のデバッギング・ステップを実行することが、２５％の確率で障害症状を軽減する結果となるであろうことを示すラベルを割り当てることができる。
【００５６】
[0067]確認したように、各トラブルシューティング・オプションは、それに対応する少なくとも１つのデバッギング・ステップを有している。例えば、トラブルシューティング・オプション「ケーブルをチェックせよ」は、それに対応する（グラフィカル・ユーザ・インターフェース６００に図解される）以下の２つのデバッギング・ステップを有している：（１）「ケーブルを付け直せ」；（２）「ケーブルを清掃せよ」。また、これらデバッギング・ステップには、（親となるトラブルシューティング・オプションが選択されたときに）それら解決ステップが障害症状を解決するであろうそれぞれの確率を示すラベルが割り当てられる。
【００５７】
[0068]更に、あるデバッギング・ステップは、それらデバッギング・ステップの実行においてオペレータ１２６を補助するための、割り当てられた更なる命令を有することができる。例えば、「ネットワーク・カードを交換せよ」というデバッギング・ステップに対して、オペレータ１２６に、上述の解決ステップに隣接して位置する、グラフィカル・ユーザ・インターフェース６００におけるグラフィカル・アイコン６０６をオペレータが選択することに応答して、更なる命令を提示することができる。これは、オペレータ１２６に、ネットワーク・カードを交換することについての追加の情報を提供するポップアップ・ウィンドウ６０７（又は別のウィンドウ）を表示する結果となりうる。この追加の情報は、例示の実施形態において、当該追加の情報に割り当てられたハイパーリンクを有することができ、オペレータ１２６によるハイパーリンクの選択は、オペレータに追加の情報を案内する（ｄｉｒｅｃｔ）ことができる。
【００５８】
[0079]グラフィカル・ユーザ・インターフェース６００は、様々なフィールド６０８〜６１２を更に含むことができ、フィールド６０８〜６１２は、障害デバイスの様々なオペレーティング・パラメータを表すグラフィカル・データ（例えば、グラフ）を含むことができる。例えば、フィールド６０８は、障害デバイスを特定の時間ウィンドウにわたり通過するトラフィック量を図解するグラフを描写することができ、フィールド６１０は、障害デバイスのある時間ウィンドウにわたる可用性を表すグラフを描写することができ、フィールド６１２は、障害デバイスに障害が発生したと観測された時点を図解するグラフを描写することができる。
【００５９】
[0070]また、グラフィカル・ユーザ・インターフェース６００は、オペレータ１２６からのフィードバックを受けることを手助けする特徴を含むことができる。例えば、グラフィカル・ユーザ・インターフェース６００にボタン６１４を含めることができ、ボタン６１４は、選択されるとオペレータ１２６にウィンドウ６１６を提示するものであり、ウィンドウ１２６は、オペレータ１２６からの入力を受ける（ｂｅ  ｐｏｐｕｌａｔｅｄ  ｂｙ  ｏｐｅｒａｔｏｒ １２６）ことが可能な幾つかのフィールドを含むものである。このことは、オペレータ１２６が、障害デバイスをトラブルシューティングする際に観測される症状、障害デバイスをトラブルシューティングする際にオペレータ１２６により用いられるトラブルシューティング・オプション及び障害デバイスをトラブルシューティングする際にオペレータ１２６によりとられるデバッギング・ステップを識別することを可能にする。
【００６０】
[0071]また、グラフィカル・ユーザ・インターフェース６００は、データ・センター１００の一部のトポロジカル・ビューを表すグラフィカル・オブジェクト６１８を含むことができ、フィールド６０２において識別されるデバイスは、グラフィカル・オブジェクト６１８のセンター・グラフィカル・アイコン６２０として表すことができ、フィールド６０２において識別されるデバイスから１ホップのデバイスは、（例えば、グラフィカル・アイコン間の、それらの間のリンクを表す接続と共に）セントラル・グラフィカル・アイコン６２０を囲むグラフィカル・アイコン６２２〜６３４により表すことができる。更にまた、グラフィカル・アイコン６２０〜６３４は、グラフィカル・アイコン６２０〜６３４が表わすそれぞれのデバイスのタイプを示すように色分けすることができる。別の例において、グラフィカル・オブジェクト６１８のグラフィカル・アイコン６２０〜６３４は、これらグラフィカル・アイコンが表わすデバイスのタイプを示すそれぞれの形状を有することができる。例えば、四角形のグラフィカル・アイコンはコア・ルータを表すことができ、円形のグラフィカル・アイコンはＶＰＮを表すことができる、等である。グラフィカル・オブジェクト６１８のグラフィカル・アイコン６２０〜６３４は選択可能であることができ、グラフィカル・アイコンの選択は、当該グラフィカル・アイコンが表わすデバイスについての情報が、フィールド６０２（及びグラフィカル・ユーザ・インターフェース６００の他のフィールド）に記載されるようにする。また別の例において、グラフィカル・アイコンの形状は、当該アイコンが表わすデバイスのタイプを表すことができ、グラフィカル・アイコンの色は、デバイスのメーカーを表すことができる。他の変形も予期される。
【００６１】
[0072]今、図７を参照すると、イベント優先順位付けコンポーネント３１２の例示の描写が図解されている。イベント優先順位付けコンポーネント３１２は、データ・センター１００のデバイスが発生させたアラームを受信することができる。イベント優先順位付けコンポーネント３１２は、アラーム関連付け（ｃｏｒｒｅｌａｔｏｒ）コンポーネント７００を含んでおり、アラーム関連付けコンポーネント７００は、アラームをそれぞれのグループに関連付け、これらグループは、それぞれのネットワーク障害を表すものである。例示の実施形態において、アラーム関連付けコンポーネント７００は、アラームを受信すると、履歴データ３０８における検索を実行して、受信したアラームに関係しうる最近のアラームを識別することができる。例えば、アラーム関連付けコンポーネント７００は、（例えば、ある閾値履歴時間ウィンドウ、例えば最近３０分、にわたり）同じデバイスが発生した以前のアラーム及び同じインターフェースについて発生した以前のアラームの一方又は双方について、履歴データ３０８を検索することができる。例示の実施形態において、アラーム関連付けコンポ―ネント７００は、受信したアラームを、閾値時間ウィンドウ内で同じデバイスにより発生した他のアラーム及び同じインターフェースについて発生した他のアラームの一方又は双方とグループ化することが可能である。別の例において、アラーム発生（ｇｅｎｅｒａｔｏｒ）コンポーネント７００は、受信したアラームを、ネットワーク・トポロジにおいて近傍のデバイスが発生させた少なくとも１つのアラームとグループ化することができる（ここで、アラーム関連付けコンポーネント７００は、ネットワーク・グラフ３１０の分析を通じて近傍のデバイスを識別する）。例えば、アラーム関連付けコンポーネント７００は、アラームを、階層的ネットワーク・トポロジにおいて障害デバイスの１〜２ホップ上流又は下流にある近傍のデバイスに関して発生し、受信したアラームが発生したときから閾値時間内に発生したアラームとグループ化することができる。更に、アラーム関連付けコンポーネント７００は、受信したアラームを、（例えば、ファイルオーバ・プロトコルにともなう問題を図解する）関連付けられうる（アラームを発生させたデバイスを有する）ネットワーク冗長グループ内の１つ又は複数のデバイスが発生させた少なくとも１つの他のアラームとグループ化することができる。アラームのグループがただ１つのネットワーク障害を表すことができ、アラームの異なるグループが異なるネットワーク障害を表すことができることが確認されよう。
【００６２】
[0073]アラーム関連付けコンポーネント７００の動作に関してより詳細にいうと、受信したアラームごとに、アラーム関連付けコンポーネント７００は、アラームを（もし存在すれば）プライオリティ・イベント又はトラブル・チケットとマッチさせることを試みることができる。例えば、アラーム関連付けコンポーネント７００は、以下の様々なフィールドに関するマッチングを行うことができる：（１）ネットワーク・デバイス及びインターフェースの一方又は双方の名前。デバイス名は、典型的にはａａ−ｂｂ−ｃｃ−ｄｄのようにコードされ、ここで、ａａはデータ・センターであり、ｂｂはプラットフォーム名であり、ｃｃはホストされるサービスまたはアプリケーションであり、ｄｄはアラームを発生させたデバイスのデプロイ（ｄｅｐｌｏｙｍｅｎｔ）に関係した論理番号である；（２）デバイスのタイプ；（３）エラー・メッセージ；（４）イベント通知時間。文字列ベースのフィールド（デバイス名やエラー・メッセージ）を比較するために、アラーム関連付けコンポーネント７００は、様々な文字列マッチング・アルゴリズム（例えば、編集距離、エイホ−コラシック・パターン・マッチング、レーベンシュタイン距離等）を用いることができる。このことは、（通知時間に関する閾値を設定することに基づいて）アラームの直近の過去における可能性あるマッチとのマッチングを可能にする。第２に、アラーム関連付けコンポーネント７００は、近傍デバイスにて発生した障害に基づくマッチングを行うことができる。近傍は、ネットワーク・グラフ３１０をリンク・レベル接続性に基づき分析することにより決定される。第３に、アラーム関連付けコンポーネント７００は、ネットワーク・デバイスのタイプ−例えば、同じデータ・センター又は複数のデータ・センターにまたがるロード・バランサにわたる構成バグは、大きな関連付けられた障害を引き起こす−に基づくマッチを行うことができる。
【００６３】
[0074]また、イベント優先順位付けコンポーネント３１２は、トラブルシューティングのためにアラーム（障害イベント）のグルーピングをランク付けするランク付け（ｒａｎｋｅｒ）コンポーネント７０２を含む。ランク付けコンポーネント７０２は、イベントに優先順位を付けて、データ・センター１００及びデータ・センター１００の顧客の一方又は双方へのネガティブな影響を最小化するように構成することができる。例えば、ランク付けコンポーネント７０２は、ネットワーク階層のトップに近く、従ってサービス停止の比較的高いリスクをもたらす障害デバイスに基づいてイベントに優先順位を付けることができる。別の例において、ランク付けコンポーネント７０２は、デバイスの障害により影響を受けうるプロパティの数の関数としてイベントに優先順位を付けることができる。更に、単一のプロパティの影響が、ランク付けコンポーネント７０２に、イベントに比較的高い優先順位を割り当てさせることがある。別の例において、ランク付けコンポーネント７０２は、障害デバイスにより運ばれるトラフィックの量に基づきイベントに優先順位を付けることができる。また別の例において、ランク付けコンポーネント７０２は、データ・センター１００を通過するトラフィックに関する影響−例えば、デバイスの障害がトラフィックの著しい損失を引き起こす場合がある−に基づきイベントに優先順位を付けることができる。更に別の例において、ランク付けコンポーネント７０２は、可能性ある冗長性障害に基づきイベントに優先順位をつけることができる。例えば、デバイス内の又はデバイス間の冗長性によりマスクされない障害イベントは、比較的高くランク付けすることができる。最後に、ランク付けコンポーネント７０２は、シングル・レッグド・デバイスにより引き起こされるか又はシングル・レッグド・デバイスに影響を与える障害イベントに優先順位を付けることができる。例えば、フェール・オーバは成功した場合に関するが、冗長性障害を引き起こす危険をもたらすイベントは、比較的高くランク付けすることができる。従って、イベント優先順位付けコンポーネント３１２の出力は、優先順位の付けられたイベントのリストであり、それによって、オペレータ１２６はネットワーク障害に優先順位を付けて、ホストされるアプリケーション及びサービスに関する影響を最小化することができる。
【００６４】
[0075]図８〜１０は、ネットワーク障害を解決することに関する例示の技法（ｍｅｔｈｏｄｏｌｏｇｙ）を図解している。これら技法は、あるシーケンスで実行される一連のアクトとして示され記載されているものの、これら技法は、シーケンスの順番により限定されないことが理解されたい。例えば、幾つかのアクトは、ここに記載されているものとは異なる順番で発生することができる。更に、あるアクトは別のアクトと同時に発生することができる。更に、場合によっては、ここに記載する技法を実施するのに全てのアクトが必要ない場合がある。
【００６５】
[0076]更に、ここに記載するアクトは、１つ又は複数のプロセッサにより実施されるか、１つ又は複数のコンピュータ可読媒体に記憶されるか又はそれら双方であることができるコンピュータ実行可能命令でありうる。コンピュータ実行可能命令は、ルーチン、サブルーチン、プログラム、実行スレッド等のうちの１以上を含むことができる。更にまた、技法のアクトの結果を、コンピュータ可読媒体に記憶する、ディスプレイ・デバイスに表示する等の１以上をすることができる。
【００６６】
[0077]今、図８を参照すると、ネットワーク障害をトラブルシューティングする際に用いる複数のトラブルシューティング・オプションを出力するための例示の技法８００を図解するフロー・ダイアグラムが図解されている。技法８００は８０２において開始し、８０４において、ネットワーク障害を示すアラームを受信する。アラームはデータ・センターのデバイスが発生させたものであり、このデバイスは、コンピューティング・デバイス又はネットワーク・インフラストラクチャ・デバイスであることができる。アラームは、特に、障害を起こしたと信じられるデバイス、アラームを発生させたデバイス、影響を受ける障害デバイスのインターフェース、アラームが発生したときを示すタイムスタンプ等のデータを識別することが可能である。
【００６７】
[0078]８０６において、アラームの受信に応答して、障害デバイス及び障害リンクの一方又は双方が識別される。障害デバイスは、アラームを発生させたデバイスであるか又はアラームを発生させたデバイスと通信するデバイスでありうる。障害デバイスがアラームを発生させたとき、そのことは、デバイス全体が故障したことを必ずしも意味しないことを理解されたい。むしろ、アラームは、デバイスのリンクのうちの１つが故障した、デバイスのＣＰＵ利用率が事前に定められた閾値を越えた、メモリ利用率が事前に定められた閾値を越えた等を示すことがある。８０８において、障害デバイスの識別に応答して、アラームにおいて示される障害状況が、履歴上観測された障害症状にマッピングされ、障害症状は、障害デバイス、障害デバイスに関係したデバイス等により呈された以前に観測されたものでありうる。上に示したように、障害履歴テーブルをそれぞれのネットワーク・デバイスについて維持することができ、これらテーブルは、アラームにおける障害状況を可能性ある障害症状にマッピングすることを手助けする。
【００６８】
[0079]８１０において、識別された障害症状について複数のトラブルシューティング・オプションが識別され、これらトラブルシューティング・オプションは、障害症状を直すための可能性ある解決を示すものである。更に、トラブルシューティング・オプションは割り当てられたそれぞれのラベルを有することができ、これらラベルは、トラブルシューティング・オプションが障害症状を直す確率を示すものである。ラベルは、確率又はより控えめな（ｄｉｓｃｒｅｅｔ）ラベル（例えば、高確実性、中確実性、低確実性等）であることができる。８１２において、複数のトラブルシューティング・オプション及びそれらのそれぞれのラベルは、オペレータがネットワーク障害を解決するのに用いるための出力である。上に記したように、ラベルは、オペレータによってとられたときに、トラブルシューティング・オプションがネットワーク障害をそれぞれ軽減するであろう確実性を示すことができる。技法８００は、８１４において完了する。
【００６９】
[0080]今、図９を参照すると、アラームをグループ化してネットワーク障害を識別し、ネットワーク障害に優先順位を付けるのを手助けする例示の技法９００が図解されている。技法９００は９０２において開始し、９０４において、ネットワーク障害を示すアラームが受信される。９０６において、アラームの受信に応答して、データベースにクエリが発行される。このクエリは、アラームの発生した時間、アラームを発行したデバイスのタイプ及びネットワークの階層におけるデバイスの位置に基づくものである。９０８において、クエリの発行に応答して、第２のアラームを含む、クエリに基づく結果が受信される。９１０において、アラームは第２のアラームとグループ化され、９１２において、アラームのランク付けされたリストが、アラームの第２のアラームとのグルーピングに基づき出力される。技法９００は９１４において完了する。
【００７０】
[0081]今、図１０を参照すると、トラブルシューティング・オプション及びデバッギング・ステップの一方又は双方についてのフィードバックを受信し、これらトラブルシューティング・オプション及びデバッギング・ステップの一方又は双方に対応する確率を、フィードバックに基づき更新するための技法１０００が図解されている。技法１０００は１００２において開始し、１００４において、オペレータからのフィードバックが受信される。フィードバックは、以下のものを識別することができる：（１）（例えば、デバイスのタイプ、デバイスのプラットフォーム、ネットワーク・トポロジにおけるデバイスの位置等を含む）障害の起きたネットワーク・デバイス又はリンク；（２）障害の症状；（３）障害を軽減するためにオペレータによってとられるトラブルシューティング・オプションのアイデンティティ；（４）トラブルシューティング・オプションが成功裏に障害を軽減したかどうかを示すもの（ｉｎｄｉｃａｔｉｏｎ）；（５）障害を軽減するためにオペレータによって実行されるデバッギング・ステップのアイデンティティ；（６）デバッギング・ステップが成功裏に障害を軽減したかどうかを示すもの。
【００７１】
[0082]１００６において、ネットワーク障害を記載する履歴データが、フィードバックに基づき更新される。より詳細には、デバイス障害履歴テーブル及びリンク障害履歴テーブルの一方又は双方を、受信したフィードバックに基づき更新することができる。１００８において、履歴データの更新に続き、アラームが受信され、１０１０において、履歴データがアラームに基づきクエリされる。例えば、履歴データを、幾つかの次元（例えば、デバイスＩＤ、デバイスのタイプ、デバイスのプラットフォーム、リンクＩＤ等）についてクエリすることができる。１０１２において、アラームが示すネットワーク障害を軽減する可能性のあるトラブルシューティング・オプション及びデバッギング・ステップの一方又は双方についての確率が（例えばリアルタイムに又はオフラインで）計算される。そのような確率は、オペレータからのフィードバックに基づくことができ、それによって、更なるフィードバックを受信するにつれて、確率は時間にわたり改善される。更に、オペレータが、デバイスに関して以前に用いられたことのないトラブルシューティング・オプションをとった場合、この新しいトラブルシューティング・オプションで履歴データ及び確率の一方又は双方を更新することができ、この新しいトラブルシューティング・オプションは、類似のアラームが発生したときに後で示される（ｓｕｒｆａｃｅｄ）。技法１０００は１０１４において完了する。
【００７２】
[0083]今、図１１を参照すると、例示のコンピューティング・デバイス１１００の高レベル図が図解されており、例示のコンピューティング・デバイス１１００は、ここに開示したシステム及び技法に従って用いることのできるものである。例えば、コンピューティング・デバイス１１００は、データ・センターにおける障害症状を直すためのトラブルシューティング・オプション及びデバッギング・ステップの出力をサポートするシステムにおいて用いることができる。別の例として、コンピューティング・デバイス１１００は、オペレータのためにネットワーク障害に優先順位を付けることをサポートするシステムにおいて用いることができる。コンピューティング・デバイス１１００は、メモリ１１０４に記憶された命令を実行する少なくとも１つのプロセッサ１１０２を含む。命令は、例えば、上述した１つ又は複数のコンポーネントが実行するものとして記載した機能を実施するための命令であるか、又は、上述した方法のうちの１つ又は複数を実施するための命令であってよい。プロセッサ１１０２は、メモリ１１０４に、システム・バス１１０６によりアクセスすることができる。実行可能命令を記憶することに加えて、メモリ１１０４は、障害履歴テーブル、ネットワーク・グラフ等も記憶することができる。
【００７３】
[0084]コンピューティング・デバイス１１００は、更に、プロセッサ１１０２がシステム・バス１１０６によりアクセス可能なデータ・ストア１１０８を含む。データ・ストア１１０８は、実行可能命令、障害履歴テーブル等を含むことができる。また、コンピューティング・デバイス１１００は、外部デバイスがコンピューティング・デバイス１１００と通信することを可能にする入力インターフェース１１１０も含む。例えば、入力インターフェース１１１０は、外部コンピュータ・デバイス、ユーザ等から命令を受信するために用いることができる。また、コンピューティング・デバイス１１００は、コンピューティング・デバイス１１００を１つ又は複数の外部デバイスとインターフェースする出力インターフェース１１１２を含む。例えば、コンピューティング・デバイス１１００は、テキスト、イメージ等を出力インターフェース１１１２により表示することができる。
【００７４】
[0085]コンピューティング・デバイス１１００と入力インターフェース１１１０及び出力インターフェース１１１２を介して通信する外部デバイスは、ユーザが相互作用可能な任意のタイプのユーザ・インターフェースを実質的に提供する環境に含まれる場合があることが予期される。ユーザ・インターフェースのタイプの例は、グラフィカル・ユーザ・インターフェース、ナチュラル・ユーザ・インターフェース等を含む。例えば、グラフィカル・ユーザ・インターフェースは、キーボード、マウス、リモコン等の入力デバイスを用いてユーザからの入力を受け入れ、ディスプレイ等の出力デバイス上で出力を提供することができる。更に、ナチュラル・ユーザ・インターフェースは、ユーザが、コンピューティング・デバイス１１００と、キーボード、マウス、リモコン等の入力デバイスによって課される制約のない手法で相互作用することを可能にすることができる。むしろ、ナチュラル・ユーザ・インターフェースは、音声認識、タッチ及びスタイラス認識、スクリーン上のジェスチャ及びスクリーンに隣接したジェスチャの双方の認識、エア・ジェスチャ、ヘッド及びアイ・トラッキング、音声会話（ｖｏｉｃｅ  ａｎｄ  ｓｐｅｅｃｈ）、視覚、タッチ、ジェスチャ、人工知能（ｍａｃｈｉｎｅ  ｉｎｔｅｌｌｉｇｅｎｃｅ）等に依存することができる。
【００７５】
[0086]更に、１つのシステムとして図解しているものの、コンピューティング・デバイス１１００は分散システムでありうることが理解されよう。従って、例えば、幾つかのデバイスは、ネットワーク接続により通信することがあり、コンピューティング・デバイス９００が実行するものとして記載したタスクを全体として実行することがある。
【００７６】
[0087]ここに記載した様々な機能は、ハードウエアで、ソフトウエアで又はそれらの組み合わせで実現することができる。ソフトウエアで実現した場合、機能は、１つ若しくは複数の命令若しくはコードとしてコンピュータ可読媒体上に記憶されるか又はコンピュータ可読媒体を通じて伝送されることがありうる。コンピュータ可読媒体はコンピュータ可読ストレージ媒体を含む。コンピュータ可読ストレージ媒体は、コンピュータがアクセス可能な任意の利用可能なストレージ媒体であることができる。限定することなく例示すると、そのようなコンピュータ可読ストレージ媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭその他の光ディスク・ストレージ、磁気ディスク・ストレージその他の磁気ストレージ・デバイス、又は、命令若しくはデータ構造の形式の所望のプログラム・コードを運ぶか若しくは記憶するために用いることができ、コンピュータがアクセス可能な任意の他の媒体を含むことができる。ここに使用するディスク（ｄｉｓｋ  ａｎｄ  ｄｉｓｃ）は、コンパクト・ディスク（ＣＤ）、レーザー・ディスク、光ディスク、デジタル・バーサタイル・ディスク（ＤＶＤ）、フロッピー・ディスク及びブルーレイ・ディスク（ＢＤ）を含み、ここで、ディスク（ｄｉｓｋｓ）は、通常、データを磁気的に再生するものであり、ディスク（ｄｉｓｃｓ）は、通常、レーザを用いてデータを光学的に再生するものである。更に、伝播される信号は、コンピュータ可読ストレージ媒体の範囲に含まれない。また、コンピュータ可読媒体は通信媒体を含み、通信媒体は、コンピュータ・プログラムをある場所から別の場所へと伝送することを手助けする任意の媒体を含むものである。接続は、例えば、通信媒体でありうる。例えば、ソフトウエアが、ウェブサイト、サーバその他リモート・ソースから、同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、デジタル加入者回線（ＤＳＬ）、又は、赤外線、無線、マイクロ波等のワイヤレス技術を用いて伝送される場合、上記同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、ＤＳＬ、又は、赤外線、無線、マイクロ波等のワイヤレス技術は、通信媒体の定義に含まれる。上述したものの組み合わせもまた、コンピュータ可読媒体の範囲に含まれるべきである。
【００７７】
[0088]代替として又は追加として、ここに記載した機能を、少なくとも部分的に、１つ又は複数のハードウエア・ロジック・コンポーネントにより実行することができる。限定することなく例示すると、使用可能なハードウエア・ロジック・コンポーネントの例示のタイプは、フィールドプログラマブル・ゲート・アレイ（ＦＰＧＡ）、プログラム固有集積回路（ＡＳＩＣ）、プログラム固有スタンダード・プロダクト（ＡＳＳＰ）、システムオンチップ・システム（ＳＯＣ）、結合プログラム可能論理回路（ＣＰＬＤ）等を含む。
【００７８】
[0089]上に記載してきたことは、１つ又は複数の実施形態の例を含む。むろん、上述の態様を記載する目的で、上記デバイス又は技法の考えられるあらゆる修正及び代替を記載することは不可能であるが、当業者であれば、様々な態様の多くの更なる修正及び変形が可能であることを認識可能である。従って、記載した態様は、添付した特許請求の範囲の精神及び範囲に入る全てのそのような代替、修正及び変形を含むことを意図している。更にまた、発明の詳細な説明又は特許請求の範囲の何れかにおいて用語「含む（ｉｎｃｌｕｄｅ）」を用いる限りにおいて、当該用語は、用語「含む（ｃｏｍｐｒｉｓｉｎｇ）」が、請求項におけるトランジショナル・ワード（ｔｒａｎｓｉｔｉｏｎａｌ  ｗｏｒｄ）として用いられる際に「含む（ｃｏｍｐｒｉｓｉｎｇ）」が解釈されるときと同様の手法において両立的であることを意図している。
【図１】
2017509262.tif 000003
【図２】
2017509262.tif 000004
【図３】
2017509262.tif 000005
【図４】
2017509262.tif 000006
【図５】
2017509262.tif 000007
【図６】
2017509262.tif 000008
【図７】
2017509262.tif 000009
【図８】
2017509262.tif 000010
【図９】
2017509262.tif 000011
【図１０】
2017509262.tif 000012
【図１１】
2017509262.tif 000013
【国際調査報告】
2017509262.tif 000014
2017509262.tif 000015
2017509262.tif 000016