(57)【要約】【課題】【解決手段】インターネットにおけるトラフィック障害検出を実行するための技術が開示されている。いくつかの実施形態において、インターネットにおけるトラフィック障害検出のためのシステム、処理、および／または、コンピュータプログラム製品は、複数のエージェントと、配備されたエージェントによって実行される複数のテストとを配備することと；１または複数の終了イベントを識別するために複数のエージェントからのパストレースデータを収集することと；１または複数の終了イベントに基づいてネットワーク障害を検出することと、を含む。【選択図】図７
2020536475.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
プロセッサであって、
複数のエージェントを配備し、前記配備されたエージェントによって実行される複数のテストを配備し、
１以上の終了イベントを特定するために、前記複数のエージェントからパストレースデータを収集し、
前記１以上の終了イベントに基づいて、ネットワーク障害を検出するよう構成された、プロセッサと、
前記プロセッサに接続され、前記プロセッサに命令を提供するよう構成されたメモリと、
を備える、システム。
【請求項２】
請求項１に記載のシステムであって、前記複数のエージェントの各々は、エージェントコントローラによって制御される、システム。
【請求項３】
請求項１に記載のシステムであって、前記ネットワーク障害のグラフィカルな可視化が、Ｗｅｂ層によって生成される、システム。
【請求項４】
請求項１に記載のシステムであって、前記エージェントによって実行されうる前記複数のテストの各々は、構成可能である、システム。
【請求項５】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
前記複数のテストについて前記複数のエージェントの各々からテスト結果を収集するよう構成されている、システム。
【請求項６】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
前記複数のテストについて前記複数のエージェントの各々から収集した前記パストレースデータをフィルタリングするよう構成されている、システム。
【請求項７】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
複数のフィルタリング動作を用いて、前記パストレースデータをフィルタリングするよう構成されている、システム。
【請求項８】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
障害イベントをマージするよう構成されている、システム。
【請求項９】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
前記障害検出のグラフィカルな可視化を生成するよう構成されている、システム。
【請求項１０】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
前記障害検出のグラフィカルな可視化を生成し、
前記障害検出の前記グラフィカルな可視化を出力するよう構成されている、システム。
【請求項１１】
方法であって、
複数のエージェントを配備し、前記配備されたエージェントによって実行される複数のテストを配備する工程と、
１以上の終了イベントを特定するために、前記複数のエージェントからパストレースデータを収集する工程と、
前記１以上の終了イベントに基づいて、ネットワーク障害を検出する工程と、
を備える、方法。
【請求項１２】
請求項１１に記載の方法であって、前記複数のエージェントは、エージェントコントローラによって制御される、方法。
【請求項１３】
請求項１１に記載の方法であって、グラフィカルな可視化が、Ｗｅｂ層によって生成される、方法。
【請求項１４】
請求項１１に記載の方法であって、前記エージェントによって実行されうる前記複数のテストの各々は、構成可能である、方法。
【請求項１５】
請求項１１に記載の方法であって、さらに、
前記複数のテストについて前記複数のエージェントの各々から収集した前記パストレースデータをフィルタリングする工程を備える、方法。
【請求項１６】
コンピュータプログラム製品であって、有形のコンピュータ読み取り可能な記憶媒体内に具現化され、
複数のエージェントを配備し、前記配備されたエージェントによって実行される複数のテストを配備するためのコンピュータ命令と、
１以上の終了イベントを特定するために、前記複数のエージェントからパストレースデータを収集するためのコンピュータ命令と、
前記１以上の終了イベントに基づいて、ネットワーク障害を検出するためのコンピュータ命令と、
を備える、コンピュータプログラム製品。
【請求項１７】
請求項１６に記載のコンピュータプログラム製品であって、前記複数のエージェントは、エージェントコントローラによって制御される、コンピュータプログラム製品。
【請求項１８】
請求項１６に記載のコンピュータプログラム製品であって、グラフィカルな可視化が、Ｗｅｂ層によって生成される、コンピュータプログラム製品。
【請求項１９】
請求項１６に記載のコンピュータプログラム製品であって、さらに、
前記複数のテストについて前記複数のエージェントの各々から収集した前記パストレースデータをフィルタリングするためのコンピュータ命令を備える、コンピュータプログラム製品。
【請求項２０】
システムであって、
プロセッサであって、
１以上の終了イベントを特定するために、複数のエージェントからパストレースデータを収集し、
前記１以上の終了イベントに基づいて、インターネットにおけるネットワーク障害を検出し、
インターネットにおける前記ネットワーク障害に基づいて、警告、報告、および／または、可視化を生成するよう構成された、プロセッサと、
前記プロセッサに接続され、前記プロセッサに命令を提供するよう構成されたメモリと、
を備える、システム。
【発明の詳細な説明】
【背景技術】
【０００１】
（他の出願の相互参照）
本願は、２０１７年１０月６日出願の米国仮特許出願第６２／５６９，２６６号「ＴＲＡＦＦＩＣ  ＯＵＴＡＧＥ  ＤＥＴＥＣＴＩＯＮ  ＩＮ  ＴＨＥ  ＩＮＴＥＲＮＥＴ」の優先権を主張し、その出願は、すべての目的のために参照により本明細書に組み込まれる。
【０００２】
ウェブサービスが、インターネットなどのネットワーク上で電子／コンピュータデバイス間の通信を提供するために利用されうる。ウェブサイトは、ウェブサービスのタイプの一例である。ウェブサイトは、典型的には、ウェブドメインから供給されうる１セットの関連ウェブページである。ウェブサイトは、ウェブサーバ上にホストされうる。パブリックにアクセス可能なウェブサイトは、一般に、インターネットなどのネットワークを介してアクセスされうる。パブリックにアクセス可能な一群のウェブサイトは、一般に、ワールドワイドウェブ（ＷＷＷ）と呼ばれる。
【０００３】
クラウドコンピューティングは、一般に、ネットワーク（例えば、典型的には、インターネット）上でサービスとして提供されるコンピューティングリソース（例えば、ハードウェアおよびソフトウェア）を利用することを指す。クラウドコンピューティングは、リモートサービスを利用して、ユーザのデータ、ソフトウェア、および、計算を提供することを含む。
【０００４】
分散型アプリケーションは、一般に、クラウドコンピューティング技術を用いて提供されうる。例えば、分散型アプリケーションは、ユーザがネットワーク上でアプリケーションソフトウェアおよびデータベースへのアクセスを提供されるクラウドコンピューティングモデルを用いて提供されうる。クラウドプロバイダは、一般に、アプリケーションが実行されるインフラおよびプラットフォーム（例えば、サーバ／電化製品）を管理する。様々なタイプの分散型アプリケーションが、インターネットなどのネットワーク上で、クラウドサービスとして、または、サービスとしてのソフトウェア（ＳａａＳ）として提供されうる。
【図面の簡単な説明】
【０００５】
以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。
【０００６】
【図１】いくつかの実施形態に従って、障害コンテキストを重ねたパス可視化を示す図。
【０００７】
【図２】いくつかの実施形態に従って、特定のＺａｙｏ  Ｂａｎｄｗｉｄｔｈイベントについて障害の影響を受ける地理的位置を表示する世界地図可視化を示す図。
【０００８】
【図３Ａ】いくつかの実施形態に従って、グループ化されていないインターフェース（ＩＰアドレス）を表示する障害トポロジ可視化を示す図。
【０００９】
【図３Ｂ】いくつかの実施形態に従って、ネットワークおよび位置でグループ化されたインターフェースを表示する障害トポロジ可視化を示す図。
【００１０】
【図３Ｃ】いくつかの実施形態に従って、ドメインでグループ化されたターゲットを表示する障害トポロジ可視化を示す図。
【００１１】
【図４Ａ】いくつかの実施形態に従って、障害がポート４４３をターゲットとするトラフィックに影響する利用例の可視化を示す図。
【００１２】
【図４Ｂ】いくつかの実施形態に従って、障害がポート４４３をターゲットとするトラフィックに影響する利用例の別の可視化を示す図。
【００１３】
【図４Ｃ】いくつかの実施形態に従って、障害がポート４４３をターゲットとするトラフィックに影響する利用例の別の可視化を示す図。
【００１４】
【図４Ｄ】いくつかの実施形態に従って、障害がポート４４３をターゲットとするトラフィックに影響する利用例の別の可視化を示す図。
【００１５】
【図５】いくつかの実施形態に従って、ホスティングプロバイダ障害の利用例の可視化を示す図。
【００１６】
【図６】いくつかの実施形態に従って、インターネットにおけるトラフィック障害検出を実行するためのプラットフォームアーキテクチャを示すシステム図。
【００１７】
【図７】いくつかの実施形態に従って、インターネットにおけるトラフィック障害検出を実行するための処理を示すフローチャート。
【発明を実施するための形態】
【００１８】
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および／または、プロセッサ（プロセッサに接続されたメモリに格納および／またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ）を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、１または複数のデバイス、回路、および／または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
【００１９】
以下では、本発明の原理を示す図面を参照しつつ、本発明の１または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
【００２０】
分散型アプリケーションは、一般に、クラウドコンピューティング技術を用いて提供されうる。例えば、分散型アプリケーションは、ユーザがネットワーク上でアプリケーションソフトウェアおよびデータベースへのアクセスを提供されるクラウドコンピューティングモデルを用いて提供されうる。クラウドプロバイダは、一般に、アプリケーションが実行されるインフラおよびプラットフォーム（例えば、サーバ／電化製品）を管理する。様々なタイプの分散型アプリケーションが、インターネットなどのネットワーク上で、クラウドサービスとして、または、サービスとしてのソフトウェア（ＳａａＳ）として提供されうる。一例として、分散型アプリケーションは、インターネットを介してアクセスできるウェブサイトを介して利用可能なＳａａＳベースのウェブサービスとして実装されうる。別の例として、分散型アプリケーションは、クラウドプロバイダを用いてクラウドベースのサービスを提供することで実装されうる。
【００２１】
ユーザは、通例、ウェブブラウザ、ライトウェイトデスクトップ、および／または、モバイルアプリケーション（例えば、モバイルアプリ）を通して、クラウドベース／ウェブベースのサービス（例えば、インターネットを介してアクセス可能な分散型アプリケーション）にアクセスするが、企業ソフトウェアおよびユーザのデータは、通例、リモート位置のサーバに格納される。例えば、クラウドベース／ウェブベースのサービスを利用すれば、企業は、管理の容易性を改善すると共にメンテナンスを低減しつつ、より迅速にアプリケーションを立ち上げて実行することが可能になり、企業ＩＴは、変動的で予測不能なビジネス要求に合わせて、迅速にリソースを調整することが可能になりうる。したがって、クラウドベース／ウェブベースのサービスを利用すれば、企業が、ハードウェアおよびソフトウェアのメンテナンスおよびサポートをクラウドプロバイダにアウトソーシングすることによって、情報技術（ＩＴ）の運用コストを削減することが可能になりうる。
【００２２】
しかしながら、クラウドベース／ウェブベースのサービス（例えば、ウェブサイトを介しておよび／または分散型アプリケーションのその他のクラウドベースの実装を用いてウェブサービスとして利用可能な分散型アプリケーションおよびＳａａＳベースソリューション）の重大な欠点は、パフォーマンスの問題のトラブルシューティングが、非常に困難であり時間がかかりうることである。例えば、パフォーマンスの問題が、クラウドベース／ウェブベースサービスプロバイダ、顧客自身の内部ＩＴネットワーク（例えば、顧客の企業ＩＴネットワーク）、ユーザのクライアントデバイス、および／または、ユーザのクライアントデバイス／内部ＩＴネットワークと（例えば、インターネット内の）分散型アプリケーションおよび／またはウェブサイトのクラウドベース／ウェブベースサービスプロバイダとの間の中間ネットワークプロバイダ、に起因するのを判定することは、かかるネットワーキング関連のパフォーマンスの問題を検出し、かかるネットワーキング関連のパフォーマンスの問題の位置および／または根本原因を決定する際に、重大な技術的課題を提示しうる。
【００２３】
求められているのは、例えば、様々なネットワーキング関連のパフォーマンスの問題の検出、ならびに、かかるネットワーキング関連のパフォーマンスの問題の位置および／または根本原因の決定を容易にするために、クラウドベース／ウェブベースのサービス（例えば、ウェブサイトを介しておよび／または分散型アプリケーションのその他のクラウドベースの実装を用いてウェブサービスとして利用可能な分散型アプリケーションおよびＳａａＳベースソリューション）のパフォーマンスを監視、可視化、および、トラブルシューティングする新規の改良技術である。
【００２４】
インターネットにおけるトラフィック障害検出のための技術の概要
【００２５】
インターネットにおけるトラフィック障害検出を実行するための様々な技術が開示されている。例えば、インターネットにおけるトラフィック障害検出のための開示技術は、エージェント（例えば、クラウドおよび／または企業配備されたエージェント）から収集されたパストレースデータに基づいて、異なるサービスプロバイダ（例えば、インターネットサービスプロバイダ（ＩＳＰ））にわたってインターネット全体における障害を検出することを容易にする。データプレーンデータが、クラウドベース／ウェブベースのサービス（例えば、ウェブサイトを介しておよび／または分散型アプリケーションのその他のクラウドベースの実装を用いてウェブサービスとして利用可能な分散型アプリケーションおよびＳａａＳベースソリューション）のアプリケーションエンドポイントなど、アプリケーションエンドポイントへのパストレースを定期的に実行するエージェントから収集および／または受信されうる。障害に関するコンテキスト情報を用いて、アプリケーションのパフォーマンス低下を特定することができ、また、障害に関するコンテキスト情報を用いて、イベントの根本原因を具体的なプロバイダおよび地理的位置に特定することもできる。
【００２６】
いくつかの実施形態において、インターネットにおけるトラフィック障害検出のためのシステム、処理、および／または、コンピュータプログラム製品は、（例えば、インターネットにわたる複数のＩＳＰに対して）アクティブネットワークテストを実行するエージェントからネットワークトラフィックデータを収集し；収集したネットワークトラフィックデータをフィルタリングし；インターネット上のネットワークトラフィック障害イベントを判定することを含む。例えば、アクティブネットワークテストは、後にさらに説明するパストレーステストを含みうる。一実施例において、（例えば、パストレーステストに基づいた）収集したネットワークトラフィックデータのフィルタリングは、以下（例えば、後にさらに説明する）の内の１以上を実行または利用することを含みうる：ソースおよびスタブネットワーク内のインターフェースの除外、自律システム番号（ＡＳＮ）ブラックリスト、ブラックリストフィルタ、ホワイトリストフィルタ、ノイズフィルタ、地理ベース（ジオベース）のフィルタ、ならびに、ハイパーテキスト・トランスファ・プロトコル（ＨＴＴＰ）ポート８０および４４３。
【００２７】
様々な実施形態において、インターネットにおけるトラフィック障害検出のためのシステム、処理、および／または、コンピュータプログラム製品は、さらに、障害検出イベントをメターデータで強化することと、強化された障害検出イベントの可視化、警告、および／または、障害検出イベントに関連するその他の報告のためのユーザインターフェース（例えば、グラフィカルユーザインターフェース（ＧＵＩ））を生成することと、を含みうる。例えば、グラフィカルな可視化は、後に詳述するように、障害コンテキストを重ねたパス可視化、障害マップ（例えば、経時的／ホットスポット）、および／または、障害トポロジの可視化を含みうる。別の例として、様々なタイプの警告が、後に詳述するように、障害検出イベントに基づいて自動的に生成されうる。
【００２８】
いくつかの実施形態において、インターネットにおけるトラフィック障害検出のためのシステム、処理、および／または、コンピュータプログラム製品は、複数のエージェントと、配備されたエージェントによって実行される複数のテストとを配備することと；１または複数の終了イベントを識別するために複数のエージェントからのパストレースデータを収集することと；１または複数の終了イベントに基づいてネットワーク障害を検出することと、を含む。例えば、ネットワークトラフィックテストの結果を、複数のインターネットサービスプロバイダ（ＩＳＰ）について収集することで、後述の技術を用いてインターネットにおけるネットワーク障害を検出することができる。
【００２９】
いくつかの実施形態において、インターネットにおけるトラフィック障害検出のためのシステム、処理、および／または、コンピュータプログラム製品は、さらに、複数のテストについて複数のエージェントの各々からテスト結果を収集することを含む。
【００３０】
いくつかの実施形態において、インターネットにおけるトラフィック障害検出のためのシステム、処理、および／または、コンピュータプログラム製品は、さらに、複数のテストについて複数のエージェントの各々から収集されたパストレースデータをフィルタリングすることを含む。例えば、パストレースデータは、後に詳述するように、様々なフィルタリング動作を用いてフィルタリングされうる。
【００３１】
いくつかの実施形態において、インターネットにおけるトラフィック障害検出のためのシステム、処理、および／または、コンピュータプログラム製品は、さらに、障害イベントをマージすることを含む。例えば、様々な検出された障害は、後に詳述するように、プラットフォームを用いてＡＳＮベースで終了イベントの集合に基づいてマージされうる。
【００３２】
いくつかの実施形態において、インターネットにおけるトラフィック障害検出のためのシステム、処理、および／または、コンピュータプログラム製品は、さらに、障害検出のグラフィカルな可視化（例えば、経時的におよび／またはホットスポット上に障害を表示できる障害マップおよび／またはその他の可視化）を生成することと、障害検出のグラフィカルな可視化を出力することと、を含む。
【００３３】
いくつかの実施形態において、インターネットにおけるトラフィック障害検出のためのシステム、処理、および／または、コンピュータプログラム製品は、さらに、障害検出の報告を生成することと、障害検出の報告を出力することと、を含む。
【００３４】
いくつかの実施形態において、インターネットにおけるトラフィック障害検出のためのシステム、処理、および／または、コンピュータプログラム製品は、さらに、障害検出の警告を生成することを含む。
【００３５】
いくつかの実施形態において、インターネットにおけるトラフィック障害検出のためのシステム、処理、および／または、コンピュータプログラム製品は、さらに、後に詳述するように、ソースおよびスタブネットワーク内のインターフェースを除外することを含む。
【００３６】
いくつかの実施形態において、インターネットにおけるトラフィック障害検出のためのシステム、処理、および／または、コンピュータプログラム製品は、さらに、ノイズのあるインターフェースを除外することを含む。例えば、ノイズのあるインターフェースをフィルタリングするための様々な技術が開示されている。
【００３７】
いくつかの実施形態において、インターネットにおけるトラフィック障害検出のためのシステム、処理、および／または、コンピュータプログラム製品は、さらに、ノイズのあるターゲットを除外することを含む。例えば、ノイズのあるターゲットをフィルタリングするための様々な技術が開示されている。
【００３８】
いくつかの実施形態において、インターネットにおけるトラフィック障害検出のためのシステム、処理、および／または、コンピュータプログラム製品は、さらに、後に詳述するように、ＡＳＮブラックリストを適用することを含む。
【００３９】
いくつかの実施形態において、インターネットにおけるトラフィック障害検出のためのシステム、処理、および／または、コンピュータプログラム製品は、さらに、後に詳述するように、ジオベースフィルタ（例えば、ジオフィルタ）を適用することを含む。
【００４０】
いくつかの実施形態において、インターネットにおけるトラフィック障害検出のためのシステム、処理、および／または、コンピュータプログラム製品は、さらに、後に詳述するように、（例えば、ＨＴＴＰポート８０および／または４４３に対する）ポートベースフィルタを適用することを含む。
【００４１】
後に詳述するように、インターネットにおけるトラフィック障害検出を実行のためのこれらおよび様々なその他の特徴および技術が開示されている。
【００４２】
パストレースおよび終了パス
【００４３】
一実施形態において、パストレースが、構成されたテストを有するエージェントから収集および／または受信される。エージェントは、ネットワーク監視サービスプロバイダによって管理されてもよいし（例えば、ＴｈｏｕｓａｎｄＥｙｅｓ社などのネットワーク監視サービスプロバイダによって管理されるクラウドエージェント）、企業顧客によってインストールおよび管理されてもよい（例えば、企業ネットワーク上の顧客内にインストールされた企業エージェント）。パストレースは、２０１６年９月２７日に与えられた米国特許第９，４５５，８９０号「ＤＥＥＰ  ＰＡＴＨ  ＡＮＡＬＹＳＩＳ  ＯＦ  ＡＰＰＬＩＣＡＴＩＯＮ  ＤＥＬＩＶＥＲＹ  ＯＶＥＲ  Ａ  ＮＥＴＷＯＲＫ」に記載されたものなど、ソースからターゲットアプリケーションまたは別のエージェントに至るまでパケットによってトラバースされた一連のルータを表しており、その特許はすべての目的のために参照によって本明細書に組み込まれる。パストレースは、ネットワーク監視サービスプロバイダおよび／または企業顧客によって構成されうるテストに基づいて生成される。例えば、顧客（ＡＣＭＥ社）が、アプリケーションＥＸＡＭＰＬＥ−ＡＰＰ（例えば、ウェブサイトを介しておよび／または分散型アプリケーションのその他のクラウドベースの実装を用いてウェブサービスとして利用可能な任意のタイプの分散型アプリケーションおよびＳａａＳベースソリューション）を監視することを決定した場合、ＡＣＭＥ社のネットワーク内の企業エージェントが、ソースから宛先（例えば、ＥＸＡＭＰＬＥ−ＡＰＰのアプリケーションエンドポイント）までのＬ３パスを定期的に発見するよう構成されうる。
【００４４】
終了パスは、宛先でも最終サーバでもない特定のインターフェースで終わるパスである。終了パス内の最後のノード（例えば、後に詳述する終了ノードとも呼ばれる）は、特定のアプリケーションに対してパケットを転送したことが知られている最後の既知のインターフェースである。これは、典型的には、上流インターフェース（例えば、通常は、隣接する）がパケットロスの原因であることを意味する。後に詳述するように、終了パスは、インターネットにおける障害を検出するために識別および利用されうる。
【００４５】
障害検出
【００４６】
一実施形態において、すべてのエージェントから収集および／または受信されたパストレースが、開示システムを用いて定期的に処理され、終了パスを有するパストレースは、後に詳述するようにフィルタリングされる。終了パス内の最後のホップは、本明細書では終了ノードと呼ばれる。終了ノードは、パケットを転送したことが知られている最後のインターフェースである。
【００４７】
例えば、開示システムは、３００秒ビン（例えば、５分の時間窓または別の時間窓が利用されうる）で時間をスライスすることによって終了ノードの時系列を生成することができ、各ビンにおいて、システムは、終了ノード、ならびに、終了ノードに影響をされるテスト、エージェント、および、アプリケーションを追跡することができる。
【００４８】
この例では、終了インターフェースイベントが、タプル（ＡＳＮ，ｌｏｃａｔｉｏｎ＿ｉｄ，ｉｎｔｅｒｆａｃｅ＿ｉｐ）によって表される。ＡＳＮは、最長プレフィックスマッチングを用いてＩＰアドレスが対応するＢＧＰ自律システムである。位置ＩＤ（例えば、タプル内のｌｏｃａｔｉｏｎ＿ｉｄ）は、典型的には都市または大都市に対応する地理的領域である。インターフェースＩＰ（例えば、タプル内のｉｎｔｅｒｆａｃｅ＿ｉｐ）は、ネットワークインターフェースのＩＰアドレスである。
【００４９】
フィルタリング動作
【００５０】
ここで記載するように、ファイアウォール、ＮＡＴ、負荷バランサ、および／または、様々なミドルボックスにより終了イベントが比較的頻繁でありうるネットワークの端で特に、インターフェース上のノイズをフィルタリングするためにシステムが利用できるいくつかのメカニズムがある。
【００５１】
第１例のフィルタとして、ソースおよびスタブネットワーク内のインターフェースを除外できる。具体的には、エージェントと同じＡＳＮ内のインターフェースを除外でき、スタブであるインターフェースＡＳＮも除外できる。例えば、Ｏｌｉｖｅｉｒａ  ｅｔ  ａｌ．（「Ｑｕａｎｔｉｆｙｉｎｇ  ｔｈｅ  Ｃｏｍｐｌｅｔｅｎｅｓｓ  ｏｆ  ｔｈｅ  Ｏｂｓｅｒｖｅｄ  Ｉｎｔｅｒｎｅｔ  ＡＳ−ｌｅｖｅｌ  Ｓｔｒｕｃｔｕｒｅ」、ＵＣＬＡコンピュータサイエンス学部−技術報告ＴＲ−０８００２６−２００８、ｈｔｔｐ：／／ｉｒｌ．ｃｓ．ｕｃｌａ．ｅｄｕ／〜ｒｖｅｌｏｓｏ／ｐａｐｅｒｓ／ｃｏｍｐｌｅｔｅｎｅｓｓ＿ｔｒ．ｐｄｆ）に記載されたアルゴリズムは、スタブまたはサービスプロバイダにおけるＡＳＮを分類するために利用できる。主要なコンテンツ・デリバリ・ネットワーク（ＣＤＮ）およびドメイン名システム（ＤＳＮ）のプロバイダに属するＡＳＮのホワイトリストを利用することで、それらのＡＳＮを含む障害が、ＡＮＳがスタブでありうるとしてもフィルタリングされないようにすることができる。また、インターフェースがプライベートＩＰレンジを有するケースを除外できる。
【００５２】
第２例のフィルタとして、ノイズのあるインターフェースを除外できる。具体的には、一部のインターフェースは、インターネット制御メッセージプロトコル（ＩＣＭＰ）時間超過を抑えるので、後に詳述するように、指数関数的なペナルティの減衰を伴うボーダ・ゲートウェイ・プロトコル（ＢＧＰ）ルート・プラップ・ダンプニング（ＲＦＤ）アルゴリズムと同様のペナルティシステムも、これらのインターフェースを除外するために実行できる。
【００５３】
第３例のフィルタとして、ノイズのあるインターフェースを除外できる。具体的には、一部のエージェントは、特定のターゲットドメイン名に至る問題を絶えず有しうる。ノイズのあるインターフェースに用いられるのと同じペナルティが、それらのエージェント／ターゲットの組みあわせのためのパストレースを除外するために同様に適用されうる。
【００５４】
第４例のフィルタとして、ＡＳＮブラックリストを適用できる。具体的には、障害を持ち続けるか、または、エージェントプローブ（例えば、Ｉｎｔｅｒｎａｐ社）を抑え続けるＡＳＮのブラックリストが、識別されて適用されうる（例えば、かかるＡＳＮブラックリストは、主にスタブＡＳＮを含んでよい）。
【００５５】
第５例のフィルタとして、ジオフィルタを適用できる。具体的には、ジオフィルタを用いて、正確にジオロケートできないインターフェースを除外できる。
【００５６】
終了イベント（またはインターフェースイベント）
【００５７】
一実施形態において、単一のテストおよびインターフェースＸが上記の条件によってフィルタリングされるならば、テスト内の１または複数のエージェントがＸで終了するトレースを有する場合、インターフェースＸを含む終了イベントが、単一のテストの範囲で規定される。この例において、タプルは、（ＡＳＮ、ジオ、インターフェース）である。
【００５８】
障害イベント
【００５９】
一実施形態において、障害イベントは、ＡＳＮベース（すなわち、（ＡＳＮ）タプル）の終了イベントの集合である。例えば、障害は、位置（例えば、ｍｉｎ＝１）ならびにエージェント（例えば、ｍｉｎ＝２）およびテスト（例えば、ｍｉｎ＝２）に関するいくつかの閾値を超えるイベントとして規定されうる。
【００６０】
例えば、障害に関与するインターフェースが、比較的長い期間にわたって頻繁にパケットを落としている場合、（例えば、閾値またはその他の設定可能なパラメータに基づいて）かかるインターフェースを（最終的に）抑制することができ、障害状態を解消できる。この例において、各３００秒ビンは、障害トリガの目的で個別に評価されうる。
【００６１】
インターフェースペナルティ
【００６２】
例えば、開示システムは、インターフェースでどれだけの頻度でパスの終了が見られるのかを示す各インターフェースのペナルティ値を追跡できる：
【数１】
2020536475.tif 000003
ここで、
Ｈ：ｈａｌｆ−ｌｉｆｅ＝ｌｎ（２／ｙ）は、ペナルティがその値の半分まで減少するのにかかる時間である；
ｔ０：ペナルティが更新された最後のラウンド；
ｐ：増分ペナルティ。システムは、インターフェースでパスの終了が見られる度にこれを追加できる；
ｍａｘ＿ｐ：最大ペナルティ。これは、それ以降は値が大きくならないペナルティの最大値であり、ペナルティは、ｍａｘ＿ｐ（０〜１００％）によって正規化されうる；
ｒｅｕｓｅ＿ｐ：この値より下では、インターフェースが抑制状態ではなくなるペナルティの値；
ｓｕｐｐｒｅｓｓ＿ｐ：この値より上では、インターフェースが抑制されるペナルティの値。
【００６３】
この実施例では、すべてのインターフェースのペナルティが、定期的にデータベースへ格納されるので、障害プロセスが再開する場合、ペナルティ状態が復元されうる。
【００６４】
動的障害インターフェース閾値
【００６５】
いくつかのＡＳが特定の地理的位置においてより大きい存在感を有すると仮定すると、影響を受けるインターフェースの数が、イベントを障害であると見なすのに十分に多いか否かを判定することが望ましい。一実施例において、影響を受ける地理的位置内のＡＳに属するインターフェースの総数の内の割合（最小値および最大値で境界された割合）を利用する動的閾値が実施される。各ＡＳ／位置に対して見られるインターフェースの数は、エージェントによって収集されたパストレースデータの一部に基づいて常に計算される。例えば、用いられる閾値は、ＡＳＮ／位置あたりの最小被影響インターフェース、ＡＳＮ／位置あたりの最大被影響インターフェース、および、ＡＳＮ／位置あたりの被影響インターフェースの割合、で構成されうる。この実施例において、ＡＳＮ／位置あたりの最小被影響インターフェースが３であり、ＡＳＮ／位置あたりの最大被影響インターフェースが１０である場合、ＡＳＮ／位置あたりの被影響インターフェースの割合は、３０％である。
【００６６】
パス可視化への障害コンテキストの追加
【００６７】
図１は、いくつかの実施形態に従って、障害コンテキストを重ねたパス可視化を示す。テストの各パス可視化ビューについて、可視化が参照する時刻に検出された障害があった場合、システムは、それに関する示唆を追加できる。図１において、システムは、以下のものでパス可視化１０２を拡張するよう構成されている（例えば、様々な可視化およびスクリーンショットの例は、偽の／例示のＩＰアドレス、ドメイン名／ＵＲＬ、ネットワーク、および、エージェントテスト名で匿名化されている）：（１）障害が発生したネットワーク（符号１０４）（例えば、名称およびＡＳＮ）；（２）影響を受けたアカウント内テスト（符号１０６）；（３）障害の影響を受ける地理的位置の数／リスト（符号１０８）；および、（４）障害の影響を受けるインターフェースの数／リスト（例えば、ＩＰアドレスおよびリバースＤＮＳ名を伴う）（符号１１０）（例えば、この例のスクリーンショットでは、「影響を受けるテスト」がドリルダウンのために選択されており、図に示すように、テスト例：８０および２つのインターフェースが障害の影響を受けていることが表示されている。「位置」（符号１０８）および「インターフェース」（符号１１０）を同様に選択することで、それぞれ、障害の影響を受ける地理的位置の数／リストおよび障害の影響を受けるインターフェースの数／リストについての詳細情報のためにドリルダウンすることができる）。
【００６８】
複数のネットワークへの障害の一般化
【００６９】
一部の例において、開示システムは、障害（特に、サービスプロバイダ側での障害をトリガするエッジネットワークでの障害）における実質的なノイズレベルを検出することができる。このノイズ問題に対処するために、一実施形態において、システムは、パストレース内の以下のネットワークに障害位置をシフトするためにさらなる前処理工程を実行するよう構成される。ほとんどの例において、これはエッジネットワークである。開示システムは、ネットワークＡ内のＩＰ１／ＩＰ２がラウンドＮでは終了インターフェースであるがラウンドＮ−１（前の時間間隔）ではネットワークＢ内のＩＰ３に接続されている以下のようなファネルパターンを検出することができ、したがって、問題は、実際には、ネットワークＡではなく、ネットワークＢ上にある可能性が非常に高い。
ＩＰ１（Ａ）−ＩＰ３（Ｂ）
ＩＰ２（Ａ）−ＩＰ３（Ｂ）
【００７０】
したがって、システムは、以下に示すように、元々の障害オブジェクト（上記Ａ）から受信ファネルインターフェースを除去し、新たな障害オブジェクト（上記Ｂ）に送信インターフェースを追加するよう構成されうる。
●Ｂにおける障害
○ＩＰ３
○ＩＰ１（ピアリング）
○ＩＰ２（ピアリング）
●Ａにおける障害
○ＩＰ１（除去）
○ＩＰ２（除去）
【００７１】
障害マップ
【００７２】
図２は、いくつかの実施形態に従って、特定のＺａｙｏ  Ｂａｎｄｗｉｄｔｈイベントについて障害の影響を受ける地理的位置を示す世界地図可視化を示す。一実施形態において、システムは、図２に示す世界地図に障害の影響を受ける各地理的位置を、２０４、２０６、および、２０８で示す地理的位置ごとの終了イベントの数を付して表示できるユーザインターフェース２０２（例えば、グラフィカルユーザインターフェース（ＧＵＩ））を生成する。この例のＧＵＩには、ビン当たりの終了イベントの数を示し、影響を受けるインターフェース数が高いスパイクをユーザが見つけることを可能にするナビゲーションタイムライン２１０が提供されている。また、図２に示すように、検出された障害ごとに１行を有する表２１２が提供されており、ここで、ユーザインターフェースは、影響を受けるインターフェース、テスト、および、位置も表示する。
【００７３】
障害トポロジ
【００７４】
図３Ａは、いくつかの実施形態に従って、グループ化されていないインターフェース（ＩＰアドレス）を示す障害トポロジ可視化を示す。一実施形態において、システムは、時間窓［Ｎ−２，Ｎ］（Ｎは、障害が検出された最初のラウンド）における障害に関係するすべてのパストレースの集合として、図３Ａに示すような、障害トポロジを表示できるユーザインターフェース３０２（例えば、ＧＵＩ）を生成する（例えば、ここでは、ＩＰアドレスとして、例示／偽のＩＰアドレスが提供され、ドメイン名として、例示／偽のドメイン名が提供されており、その他のノードについても、それらに対応するＩＰアドレスを含むが、この可視化のために匿名化されている）。障害が検出される前の時間間隔を含めることにより、ユーザインターフェースは、障害周辺のコンテキストを提供できる。これは、障害が起きた場合に一般には障害時間を知ることができないことを考慮すると、終了パスにとって特に興味深い。
【００７５】
図３Ｂは、いくつかの実施形態に従って、ネットワークおよび位置でグループ化されたインターフェースを表示する障害トポロジ可視化を示す。図３Ｂに示すように、インターフェース３１０のトポロジでは、例えば、以下に従って、異なるタイプのインターフェースグループ化が可能である：ネットワークおよび位置（例えば、ポイント・オブ・プレゼンス（ＰｏＰ））；ネットワーク（例えば、ＡＳＮ）；位置；および、ＩＰアドレス。右側の宛先は、例えば、以下に従ってグループ化されてもよい：ネットワーク（例えば、ＡＳＮ）；および、ドメイン（例えば、パブリックサフィックスリスト＋１レベル）。
【００７６】
例えば、ユーザインターフェースは、コンテキストとしてトポロジの各側に２つまでのＩＰホップを表示することができ、非ＩＳＰインターフェースを、ユーザのログインしているアカウント内でのテストにそれらが属する場合を除いて、隠すことができる。
【００７７】
図３Ｃは、いくつかの実施形態に従って、ドメインでグループ化されたターゲットを表示する障害トポロジ可視化を示す。図３Ｃに示すように、インターフェース３２０のトポロジは、ターゲットがドメインでグループ化された障害トポロジ可視化である。
【００７８】
障害に関する警告
【００７９】
一実施形態において、ユーザは、特定のテスト／宛先ＩＰ、インターフェース、位置、および、サービスプロバイダ；ならびに、影響を受けるテスト、インターフェース、および、位置の数、を含みうるいくつかの基準に従って、特定の障害に関して警告を受けることができる。ルーティング障害について、フィルタは、本明細書で記載するように、特定のテスト／プレフィックス、国、根本原因におけるサービスプロバイダ；ならびに、影響を受けるテストおよびプレフィックスの数、を含みうる。
【００８０】
利用例１：障害がポート４４３をターゲットとするトラフィックに影響する
【００８１】
図４Ａは、いくつかの実施形態に従って、障害がポート４４３をターゲットとするトラフィックに影響する利用例の可視化を示す。このように、図４Ａは、ＲｉｇｈｔＮｏｗ−Ｅｘａｍｐｌｅ  Ｔｅｓｔ４０４として示されたテストを実行した結果である、障害がポート４４３をターゲットとするトラフィックに影響する利用例の可視化４０２を示しており、テストは、ＩＰアドレス１．１．１．１として示されたポート４４３上のサーバをターゲットとするよう設定されたＥｘ−Ａｇｅｎｔ−１、Ｅｘ−Ａｇｅｎｔ−２、Ｅｘ−Ａｇｅｎｔ−３、Ｅｘ−Ａｇｅｎｔ−４、および、Ｅｘ−Ａｇｅｎｔ−５として示された複数のエージェントを利用している。この第１利用例において、トラフィックは、テストにおいて構成されたエージェントの１つ（Ｅｘ−Ａｇｅｎｔ−１）から宛先に到達しておらず、その代わりに、図４Ａの４０６で示すように、ＡＳＮ６３２７に属するノードで終了している。
【００８２】
図４Ｂは、いくつかの実施形態に従って、障害がポート４４３をターゲットとするトラフィックに影響する利用例の別の可視化を示す。図に示すように、図４Ｂは、障害がポート４４３をターゲットとするトラフィックに影響する利用例の別の可視化４１２を示す。具体的には、終了ノード上へマウス操作すると、４１４で示すような円グラフが表示され、これは、図４Ｂで示すように、そのノードを利用したいくつのテストがノードの影響を受けたのかを示す。
【００８３】
図４Ｃは、いくつかの実施形態に従って、障害がポート４４３をターゲットとするトラフィックに影響する利用例の別の可視化を示す。図に示すように、図４Ｃは、障害がポート４４３をターゲットとするトラフィックに影響する利用例の別の可視化４２２を示す。具体的には、障害の詳細をチェックすると、この障害が、図４Ｃに４２４で示す複数のネットワークに影響を与えたことがわかる。これは、他のネットワーク（例えば、この利用例ではＡＳＮ２９１４および３２５７）に属する終了ノードが複数のテストで見つかったが、実際には、それらの両方が接続されたＡＳＮ６３２７における問題によって障害が引き起こされたことを意味する。
【００８４】
図４Ｄは、いくつかの実施形態に従って、障害がポート４４３をターゲットとするトラフィックに影響する利用例の別の可視化を示す。図に示すように、図４Ｄは、障害がポート４４３をターゲットとするトラフィックに影響する利用例の別の可視化４３２を示す。具体的には、別のテストが、この同じ障害の影響を受けたが、図４Ｄに４３４で示すように、その中の終了ノードはＡＳＮ３２５７に属することがわかる。これらのテストはすべて、同じ障害の影響を受けたものとしてマークされ、その障害は、図４Ｄに４３６で示したＡＳＮ６３２７、３２５７、および、２９１４における問題に関係したものである。
【００８５】
利用例２：ホスティングプロバイダ障害
【００８６】
図５は、いくつかの実施形態に従って、ホスティングプロバイダ障害の利用例の可視化を示す。この第２利用例では、ホスティングプロバイダ（例えば、ｅｘａｍｐｌｅ．ｎｅｔのホスティングプロバイダ）が、いくつかのテストに影響を与えた障害を持っていた。前の利用例（例えば、上述の利用例１）と同様に、障害の影響を受けたすべてのインターフェースを見ることができ、すべての影響を受けたテストにジャンプして、図５に図示する可視化５０２に示すようにテストへの影響を見ることができる。
【００８７】
インターネットにおけるトラフィック障害検出を実行するためのプラットフォームのシステムアーキテクチャ
【００８８】
インターネットにおけるトラフィック障害検出を実行するためのプラットフォームのシステムアーキテクチャの一例が、以下に記載するように図６に示されている。
【００８９】
図６は、いくつかの実施形態に従って、インターネットにおけるトラフィック障害検出を実行するためのプラットフォームアーキテクチャを示すシステム図である。例えば、図６に記載の動作は、様々な実施形態に関して上述した技術を実行するよう構成されうる。
【００９０】
特に、図６は、インターネットにおけるトラフィック障害検出を実行するためのプラットフォーム６００が、構成されたテストに基づいてデータを収集するエージェント６１６〜６２０（例えば、本明細書で同様に記載したような、特定のテストを実行する、ラベルを有する、および／または、イベント／コンテキストでトリガされたおよび／またはスケジュールされたテストをオンデマンドで実行するよう構成可能なクラウドおよび／または企業エージェント）を備え、エージェント６１６〜６２０が、このデータをコントローラ６１４（例えば、エージェントコントローラ）に送信する環境を示す。コントローラ６１４は、同様に上述したように、様々な可視化、警告、および／または、報告など、クライアント／エンドポイントデバイス６０６および６０８（例えば、コンピュータ、ラップトップ、スマートフォン、および／または、様々なその他のコンピュータデバイス）を用いてプラットフォーム６００にアクセスするユーザへの可視化、警告、および／または、報告を生成するためにＷｅｂ層６０４によって利用可能なデータをストレージ層６１２（例えば、永久ストレージを提供する）に格納する。
【００９１】
様々な実施形態において、プラットフォーム６００は、拡張性および柔軟性のあるアーキテクチャであり、１または複数のサードパーティによって提供されたコンポーネントなど、いくつかの分散型コンポーネントを備えてもよい。さらに、プラットフォーム６００が、データの格納またはデータの処理などのタスクを実行すると言う場合に、プラットフォーム６００の１つのサブコンポーネントまたは複数のサブコンポーネントが（個々に、または、サードパーティコンポーネントと協働して）、そのタスクを実行するよう協働してもよいことを理解されたい。
【００９２】
開示技術を用いてインターネットにおけるトラフィック障害検出を実行するための処理の例を、以下に記載する。
【００９３】
インターネットにおけるトラフィック障害検出を実行するための処理
【００９４】
図７は、いくつかの実施形態に従って、インターネットにおけるトラフィック障害検出を実行するための処理を示すフローチャートである。いくつかの実施形態において、処理７００は、図６に示したプラットフォーム６００および様々な実施形態に関して上述した技術を用いて実行される。
【００９５】
工程７０２で、複数のエージェントの配備と、配備されたエージェントによって実行されるテストの配備が実行される。例えば、複数のエージェントは、同様に上述したように、様々なアクティブネットワークテストを実行するよう構成可能なクラウドおよび／または企業エージェントであってよい。
【００９６】
工程７０４で、複数のエージェントの各々からのパストレースデータの収集が実行される。例えば、複数のエンドポイントエージェントの各々からのパストレースデータテスト結果が、上述のプラットフォームを用いて収集されうる。
【００９７】
工程７０６で、収集されたパストレースデータのフィルタリングが実行される。例えば、システムがインターフェース上のノイズをフィルタリングするために利用ができる様々なフィルタリング動作が、上述のプラットフォームを用いて実行されてよい。図に示すように、このフィルタリング工程の出力が、終了イベントを含む。
【００９８】
工程７０８で、終了イベントに基づいて、障害の検出が実行される。例えば、動的な障害インターフェース閾値動作が、同様に上述したように、終了イベントに基づいて障害の検出を容易にするために上述のプラットフォームを用いて実行されてよい。図に示すように、この障害検出工程の出力が、障害イベントを含む。
【００９９】
工程７１０で、障害イベントのマージが実行される。例えば、様々な検出された障害は、同様に上述したように、プラットフォームを用いてＡＳＮベースで終了イベントの集合に基づいてマージされてよい。図に示すように、このフィルタリング工程の出力が、障害集積イベントを含む。
【０１００】
工程７１２で、マージされた障害イベントに基づいて、警告、報告、および／または、可視化の生成が実行される。例えば、マージおよび集積された障害イベントに基づいて、様々な警告、報告、および／または、可視化が、同様に上述したように、プラットフォームを用いて実行されてよい。
【０１０１】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
【図１】
2020536475.tif 000004
【図２】
2020536475.tif 000005
【図３Ａ】
2020536475.tif 000006
【図３Ｂ】
2020536475.tif 000007
【図３Ｃ】
2020536475.tif 000008
【図４Ａ】
2020536475.tif 000009
【図４Ｂ】
2020536475.tif 000010
【図４Ｃ】
2020536475.tif 000011
【図４Ｄ】
2020536475.tif 000012
【図５】
2020536475.tif 000013
【図６】
2020536475.tif 000014
【図７】
2020536475.tif 000015
【国際調査報告】
2020536475.tif 000016