(57)【要約】  コンピュータ記憶媒体上で符号化されたコンピュータプログラムを含む、イメージを決定するための、方法、システム、および装置は、結果を検索する。当該方法の一つは、デバイスのネットワークを介して所定のパスの集合を表すデータを格納するステップを含む。一つまたは複数のパケットは所定のパスの各々に沿って送信され、前記所定のパスのうち異なるパスに沿って前記パケットを転送するための命令を含む。一つまたは複数の送信したパケットを受信する。送信されたパケットと受信されたパケットを使用して複数の問題のあるパスを識別する。問題のあるパスの比較に基づいて、２つのネットワークデバイス間の問題のあるリンクを決定する。
2015526022.tif 000002
【特許請求の範囲】
【請求項１】
デバイスのネットワークを介して所定のパスの集合を表すデータを格納するステップであって、各パスは、データのパケットを転送するためのネットワークデバイスのシーケンスを含むステップと、
前記所定のパスの各々に沿って一つもしくは複数のパケットを送信するステップであって、各パケットは、前記所定のパスのうち異なるパスに沿って前記パケットを転送するための命令を含むステップと、
一つもしくは複数の前記送信されたパケットを受信するステップと、
前記送信されたパケットと前記受信されたパケットを使用して複数の問題のあるパスを識別するステップと、
前記問題のあるパスを比較するステップと、
前記問題のあるパスの比較に基づいて２つのネットワークデバイス間の問題のあるリンクを決定するステップと、
を含むコンピュータによって実行される方法。
【請求項２】
いくつかの送信したパケットといくつかの受信したパケットを計算するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記ネットワークデバイスは、前記所定のパスに沿って前記パケットを転送するように構成されたルータである、請求項１に記載の方法。
【請求項４】
同一のパスに沿って、前記パケットが前回送信された方向と反対方向に、受信したパケットを再送するステップをさらに含む、請求項１に記載の方法。
【請求項５】
前記問題のあるパスを比較するステップは、前記問題のあるパスの一つまたは複数の属性間の相関関係または共通部分を決定するステップを含む、請求項１に記載の方法。
【請求項６】
問題のあるパスは、前記パスに沿って送信された一つまたは複数のパケットが閾値期間内で受信されるパスである、請求項１に記載の方法。
【請求項７】
問題のあるパスは、前記パスに沿って送信された一つまたは複数のパケットが閾値期間内で受信されないパスである、請求項１に記載の方法。
【請求項８】
前記一つまたは複数のパケットを送信するステップは、前記ネットワークの外縁にあるデバイスから前記一つまたは複数のパケットを送信するステップを含む、請求項１に記載の方法。
【請求項９】
ネットワークトポロジのデータベースから前記所定のパスの集合を導出するステップをさらに含む、請求項１に記載の方法。
【請求項１０】
各パケット中の、宛先インターネットプロトコルアドレスを変更するステップをさらに含む、請求項１に記載の方法。
【請求項１１】
前記ネットワークの中の一組の主要なルータを決定するステップと、
ルータの転送トリプレットから各所定のパスを決定するステップであって、各転送トリプレットが、主要なルータと前記主要なルータの2つの隣接ルータを含むステップと、
をさらに含む、請求項１に記載の方法。
【請求項１２】
異なる所定のパスに沿ってパケットを受信し、前記パケットを転送するようにそれぞれ構成された一つまたは複数のネットワークデバイスであって、各パスは、前記パケットを送受信するためのネットワークデバイスのシーケンスを含む、一つ又は複数のネットワークデバイスと、
前記一つまたは複数のネットワークデバイスを介して所定のパスの集合を表すデータを格納するステップと、
前記所定のパスの各々に沿って一つまたは複数のパケットを送信するステップと、
一つまたは複数の前記送信されたパケットを受信するステップと、
前記送信されたパケットと前記受信されたパケットを使用して複数の問題のあるパスを識別するステップと、
前記問題のあるパスを比較するステップと、
前記問題のあるパスの比較に基づいて2つのネットワークデバイス間の問題のあるリンクを決定するステップと、
を含む操作を実行するように構成された一つまたは複数のコンピュータと
を備えたシステム。
【請求項１３】
前記ネットワークデバイスは、前記所定のパスに沿って前記パケットを転送するように構成されたルータである、請求項１２に記載のシステム。
【請求項１４】
前記操作は、同一のパスに沿って、前記パケットが前回送信された方向と反対方向に受信したパケットを再送するステップをさらに含む、請求項１２に記載のシステム。
【請求項１５】
前記問題のあるパスを比較するステップは、前記問題のあるパスの一つまたは複数の属性間の相関関係または共通部分を決定するステップを含む、請求項１２に記載のシステム。
【請求項１６】
問題のあるパスは、前記パスに沿って送信された一つまたは複数のパケットが閾値を満たす待ち時間で受信されるパスである、請求項１２に記載のシステム。
【請求項１７】
問題のあるパスは、前記パスに沿って送信された一つまたは複数のパケットが閾値期間内で受信されないパスである、請求項１２に記載のシステム。
【請求項１８】
前記一つまたは複数のパケットを送信するステップは、ネットワークの外縁にあるデバイスから前記一つまたは複数のパケットを送信するステップを含む、請求項１２に記載のシステム。
【請求項１９】
前記操作は、ネットワークトポロジのデータベースから前記所定のパスの集合を導出するステップをさらに含む、請求項１２に記載のシステム。
【請求項２０】
一つまたは複数コンピュータによって実行されたとき、前記一つまたは複数のコンピュータに、
デバイスのネットワークを介して所定のパスの集合を表すデータを格納するステップであって、各パスは、データのパケットを転送するためのネットワークデバイスのシーケンスを含むステップと、
前記所定のパスの各々に沿って一つもしくは複数のパケットを送信するステップであって、各パケットは、前記所定のパスのうち異なるパスに沿って前記パケットを転送するための命令を含むステップと、
一つもしくは複数の前記送信されたパケットを受信するステップと、
前記送信されたパケットと前記受信されたパケットを使用して複数の問題のあるパスを識別するステップと、
前記問題のあるパスを比較するステップと、
前記問題のあるパスの比較に基づいて２つのネットワークデバイス間の問題のあるリンクを決定するステップと、
を含む操作を実行させる命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
相互接続したネットワークデバイス（例えば、ルータおよびスイッチ）は、ルーティングプロトコルに従ってネットワークパケットを送受信する。例えば、ルータは選択したルーティングプロトコルを使用してパケットを特定のデバイスに送信することができる。様々なルーティングプロトコルを使用して、特定のネットワーク内外で通信を行うことができる。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
本発明では、ネットワークを介した複数の所定のパスを使用して、ネットワークの問題を診断し確定的に識別することを目的とする。
【課題を解決するための手段】
【０００３】
本明細書で説明する主題の一形態において、ネットワークを介した複数の所定のパスを使用して、ネットワークの問題を診断し、確定的に識別することができる。所定のパス（「プローブ」）を介して送信されたパケットは、ネットワーク内部で問題のあるリンクやデバイスを検出するために使用される。問題のあるリンクやデバイスの共通的な特性を分析して、ネットワークの問題の原因を隔離し決定することができる。
【０００４】
一般に、本明細書に記載される主題の一つの革新的形態を、デバイスのネットワークを介して所定のパスの集合を表すデータを格納するステップであって、各パスは、データのパケットを転送するためのネットワークデバイスのシーケンスを含むステップと、当該所定のパスの各々に沿って一つまたは複数のパケットを送信するステップであって、各パケットは、所定のパスのうち異なるパスに沿ってパケットを転送するための命令を含むステップと、一つまたは複数の送信されたパケットを受信するステップと、送信されたパケットと受信されたパケットを使用して複数の問題のパスを識別するステップと、当該問題のあるパスを比較するステップと、前記問題のあるパスの比較に基づいて２つのネットワークデバイス間の問題のあるリンクを決定するステップと、を含む方法で具現化することができる。一つまたは複数のコンピュータから成るシステムを、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを当該システムに組み込むことによって特定の操作または動作を実行するように構成することができる。ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せは、実行に際して上記動作を当該システムに実施させるものである。一つまたは複数のコンピュータプログラムを、データ処理装置によって実行されたときに当該装置に上記動作を実施させる命令を含ませることによって特定の操作もしくは動作を実施するように構成することができる。
【０００５】
上記および他の実施形態は、場合によっては一つまたは複数の以下の特徴を単独で、または組み合わせて、それぞれ含むことができる。上記動作は、いくつかの送信されたパケットおよびいくつかの受信されたパケットを計算するステップを含む。前記ネットワークデバイスは、所定のパスに沿ってパケットを転送するように構成されたルータである。上記動作は、同一のパスに沿って、パケットが前回送信された方向と反対方向に、受信されたパケットを送信するステップを含む。問題のあるパスを比較するステップは、問題のあるパスの一つまたは複数の属性間の相関関係もしくは共通部分を決定するステップを含む。問題のあるパスは、該パスに沿って送信された一つまたは複数のパケットが、閾値を満たす待ち時間で受信されるパスである。問題のあるパスは、該パスに沿って送信された一つまたは複数のパケットが閾値期間内で受信されないパスである。一つまたは複数のパケットを送信するステップは、ネットワークの外縁にあるデバイスから一つまたは複数のパケットを送信するステップを含む。上記動作は、ネットワークトポロジのデータベースから所定のパスの集合を導出するステップを含む。上記動作は、各パケット内の宛先インターネットプロトコルアドレスを変更するステップを含む。上記動作は、ネットワーク中の一組の主要なルータを決定するステップと、ルータの転送トリプレットから各所定のパスを決定するステップを含む。各転送トリプレットは、主要なルータと当該主要なルータの２つの隣接ルータを含む。
【０００６】
本明細書で説明する主題の特定の実施形態を実装して、一つ又は複数の以下の利点を実現することができる。所定のパスを介して送信されたプローブを用いたネットワーク監視により、検査とエラーを介するよりも確定的にネットワーク問題を発見し、場所を特定するための機能がもたらされる。決定論的プローブを使用して、サービスまたはアプリケーションへの何らかの影響が見られる前にネットワーク要素障害を識別することができる。決定論的プローブは、これらのパスが製品取引に公開される前に、ネットワーク内のパスをテストするための能力も提供する。
【０００７】
本明細書の主題の一つもしくは複数の実施形態の詳細を、添付図面および以下の発明を実施するための形態で説明する。主題の他の機能、態様、および利点は、発明を実施するための形態、図面、および特許請求の範囲から明らかとなる。
【図面の簡単な説明】
【０００８】
【図１】ネットワークの例を示す図である。
【図２】ネットワークにおいてパスを決定するためのプロセス例の流れ図である。
【図３】ネットワークを操作するためのプロセス例の流れ図である。
【図４】ネットワークの問題を検出するためのプロセス例の流れ図である。
【発明を実施するための形態】
【０００９】
様々な図面において同じ参照番号および記号は同じ要素を示す。図１は、ネットワーク例１００の図である。ネットワーク１００は、データのパケットを送受信する相互接続されたデバイスのネットワークの例である。ネットワーク１００は、例えば、ローカルエリアネットワーク（LAN:local area network）またはワイドエリアネットワーク（WAN:wide area network）（例：インターネット）の一部分であってもよい。
【００１０】
ネットワーク１００は、ネットワークトラフィックを送受信できるネットワークデバイス１１０、１２０、１３０、１４０、１５０、１６０および１７０を含む。監視装置１８０を、ネットワークの問題を診断するためにネットワーク１００に接続することもできる。上記ネットワークデバイスは、例えば、ルータおよびスイッチであってもよい。監視装置１８０は、例えば一つまたは複数のプロセッサおよびコンピュータ可読媒体を含む、サーバ、携帯電話、タブレットコンピュータ、ノート型コンピュータ、音楽プレイヤ、eブックリーダ、ラップトップもしくはデスクトップ型コンピュータ、PDA、スマートフォン、または他の固定デバイスもしくは携帯デバイスといった、任意の適切な種類のコンピュータデバイスであってもよい。ネットワークデバイス１１０乃至１７０は、内部ゲートウェイプロトコルと外部ゲートウェイプロトコルを含む従来型のルーティングプロトコルに従って、ネットワークトラフィックを転送することができる。
【００１１】
ネットワークデバイス１１０乃至１７０は、ソースルーティングプロトコルに従ってネットワークパケットを送受信することもできる。ソースルーティングプロトコルによりネットワークパケットの送信者は、パケットがネットワーク内で通る所定のネットワークデバイスのシーケンス、即ち「パス」を指定することができる。それに対して、ノンソースルーティングプロトコルを用いると、ネットワーク中のルータは、一般にパケットの宛先に基づいてネットワークを通るパスを決定する。上記ノンソースルーティングプロトコルのパスは、変更でき、予測不可能であってもよい。それに対して、ソースルーティングプロトコルで指定されたデバイスのシーケンスを、ネットワークパケット自体を用いて符号化することができ、または、ネットワーク自体の中で符号化することができる。
【００１２】
ソースルーティングプロトコルを、例えばマルチプロトコルラベルスイッチング（MPLS：Multiprotocol Label Switching）で実装することができる。MPLSは、ネットワークデータパケットにラベルを割り当てる仕組みである。ネットワークデバイスは、ラベル付けされたデータ・パケットをラベルの内容に従いパスに沿って転送することができる。MPLSネットワークを通るパスは、ラベルスイッチドパス（LSP：Label Switched Path）と称される。LSPを、例えばリソースリザベーションプロトコル（RSVP：Resource Reservation Protocol）などの多様なプロトコルを介して実装することができる。
【００１３】
ネットワーク１００は、何千もの相互接続したネットワークデバイスを含むことができる。従って、個々のデバイスの障害を決定するのは困難となることがある。ネットワーク管理者がネットワークの外縁にあるネットワークデバイスのみへのアクセス権を持っている場合、一般的に広域ネットワークと同様にその困難さは悪化することがある。従来型のルーティングプロトコルでは、障害のあるデバイスの周囲のネットワークトラフィックの経路を変更できるので、ネットワーク管理者は、予想外の待ち時間を認識できるだけで、問題の本質を見抜くことができない。同様に、ネットワークデバイスの現行の問題が特定の期間、検出されないままである可能性がある。
【００１４】
ソースルーティングプロトコルを使用して、確定的にネットワーク問題を診断することができる。ネットワーク問題と障害のあるデバイスを、一つまたは複数の多様な原因、例えば二つのネットワークデバイス間の接続、時間帯、または地理的な位置などに系統的に分類することができる。
【００１５】
ネットワーク問題を診断するために、デバイスのネットワークにより複数のパスを定義することができる。ソースデバイスは、各々の定義されたパスに沿ってデータ・パケットを送信することができ、宛先のデバイスは送信されたパケットを受信することができる。当該宛先のデバイスは、ソースデバイスと同一のデバイスであってもよいし、そうでなくてもよい。所定のパスを介したソースデバイスから宛先デバイスへのパケットの送信は、「プローブ」と称することができる。与えられたプローブのためのパスを、例えばLSPとして実装することができる。いくつかの実装では、LSPは厳密に定義され固定である。上述のように、ネットワーク問題を診断するために使用されるパスは、従来型のルーティングプロトコルで送信されるネットワークトラフィックが通るパスと異なってもよい。さらに、上記定義されたパスは、他のネットワークトラフィックを搬送する必要はない。
【００１６】
ネットワークを通るパスを多様に導出してもよい。いくつかの実装では、管理者は、監視装置からネットワーク内でテストすべき各リンクへの一つのパスを算出することができる。あるいは、管理者はネットワーク内のルータ間の全ての可能なパスを算出することができる。
【００１７】
いくつかの実施では、各パスは、ネットワーク内の一組のルータのうち少なくとも一つを通るように設計される。例えば、ネットワーク管理者は、ネットワーク内の主要な（「バックボーン」）ルータを通るように各パスを設計してもよい。特定のルータを通るパスを定義するために、ネットワーク管理者は、３つの特定のルータの一組の「転送トリプレット」と、２つの対応するリンク（例：A<link1>B<link2>C  「<link>」はルータ間のリンクを示す）を定義し、維持することができる。次に、十分に定義されたプローブパス（例：LSP）を、当該一組の転送トリプレットに基づいて定義することができる。例えば、トリプレット自体が十分に定義されたパスであってもよいし、または、複数のトリプレットを連結して十分に定義されたパスを生成してもよい。
【００１８】
図２は、ネットワーク内の一組の転送トリプレットを決定するためのプロセス例２００の流れ図である。プロセス２００は、ネットワーク問題を診断するためにネットワーク内でパスを定義するために使用できるプロセスの例である。プロセス２００を使用して、ネットワーク内の一組の主要な「バックボーン」ルータのための転送トリプレットに基づくパスを定義することができる。プロセス２００を、例えば図１で示すように一つまたは複数のコンピュータ、例えば監視装置１８０のコンピュータシステムによって実行されるものとして説明する。
【００１９】
上記システムは、バックボーンネットワーク内の全てのアクティブルータを列挙する（２１０）。例えば、ネットワーク管理者は、バックボーンルータをネットワークトラフィックの大部分を搬送するネットワークの主要なルータであると考えることができる。
【００２０】
上記システムは、バックボーンルータに接続された全ての隣接ルータを列挙する（２２０）。例えば、上記システムは、バックボーンルータに接続された隣接ルータを識別するためにネットワークトポロジのデータベースにアクセスすることができる。次に、上記システムは任意の２つの隣接ルータから成る全ての組合せを算出する（２３０）。
【００２１】
上記システムは、各バックボーンルータを２つの隣接ルータから成る組合せの各々の中間に挿入することで転送トリプレットを形成する（２４０）。転送トリプレット（例：A<->B<->C）が与えられると、システムは、各転送トリプレット（２５０）に基づいて十分に定義されたプローブを例えばＬＳＰとして生成することができる。上記システムは、転送トリプレット内のルータＡまたはＣとソースまたは宛先ルータの間の、ネットワーク内の最短パスを算出することによってプローブを定義することができる。例えば、十分に定義されたプローブは、ソースルータからルータＡ、次いでルータＢ、次いでルータＣへの最短のパスを辿り、次に、ルータＣから宛先ルータへの最短パスを辿ることができる。ソースルータからルータＡに戻る任意の適切なパスとルータCから宛先ルータに戻る任意の適切なパスを使用することができる。いくつかの場合では、例えばルータＡへの特定の最短パス、またはルータＣからの特定の最短パスが見つからない場合、転送トリプレットをプローブでカバーすることができないかもしれない。
【００２２】
定義されたパスに沿って送信されたプローブ例を、ソースデバイス、即ちルータ１０２aがデバイスのネットワークを通る所定のパスに沿ってデータ・パケットを送信することによって図１に示す。このプローブ例は、転送トリプレットR1<->R2<->R3に対応することができる。上記パケットは、ルータ１０２aからルータ１１０への矢印１０３と、ルータ１１０からルータ１２０への矢印１０４と、ルータ１２０からルータ１３０への矢印１０５と、ルータ１３０からルータ１２０に戻る矢印１０６と、ルータ１２０からルータ１１０に戻る矢印１０７と、ルータ１１０から宛先デバイス１０２bへの矢印１０７によって図示されたパス例をたどる。いくつかの実装では、ソースデバイス１０２aと宛先デバイス１０２bは、同一のデバイス１０１に存在してもよい。
【００２３】
監視装置は、宛先デバイス１０２bで受信したパケットを解析して、例えば、パケット送信時点とパケット受信時点の間の予想外の待ち時間などの、ネットワークの問題を示す原因を求めることができる。さらに、閾値期間内で宛先デバイス１０２bによって受信されていないパケットにより、ネットワークの問題を示すことができる。上記システムは、予想外の問題がない他のプローブを「問題なし」として分類できる。
【００２４】
以下の表は、転送トリプレットに基づいてネットワークを通る所定のパスを辿る複数のプローブを用いてネットワーク問題を確定的に識別する例を示す。
【００２５】
【表１】
2015526022.tif 000003
【００２６】
この例では、上記監視装置は、データを分析して、ルータ１２０（R2）とルータ１３０（R3）の間のリンクが故障していることを確定的に決定することができる。プローブ４，５および６は、問題のあるプローブとして識別されている。問題のあるプローブの要素は、以下の通りである。
プローブ４：R1<->R2<->R3
プローブ５：R2<->R3<->R6
プローブ６：R2<->R3<->R5
これらの候補の共通の要素は、R2<->R3である。従って、システムは、問題はルータ１２０（R2）とルータ１３０（R3）の間に存在すると決定することができる。
【００２７】
図３は、ネットワークを操作するためのプロセス例３００の流れ図である。プロセス３００を、相互接続したデバイスのネットワーク、例えば図１に図示したネットワーク１００を用いて実施することができる。プロセス３００を、ネットワーク管理者またはデバイスのネットワークを管理するように構成された一つまたは複数のコンピュータにインストールしたコンピュータシステムで実施してもよい。
【００２８】
上記システムは、相互接続したデバイスのネットワークを初期化する（３１０）。該システムは、例えば、ネットワークの接続に関する情報をトポロジデータベースに格納することができる。当該トポロジデータベースを使用して、上述の転送トリプレットを定義することができる。
【００２９】
上記ネットワークは、従来型のルーティングプロトコルによってトラフィックを送信する（３２０）。いくつかの実装では、利用可能なルータ（例：バックボーンルータ）の一部が、ネットワークトラフィック全体の大部分を処理する。例えば新しいルータがインストールされ、テスト中である場合は、他のルータは、ネットワークトラフィックをほとんど搬送しなくてもよいか、または、全く搬送しなくてもよい。
【００３０】
上記システムは、確定的なパスに沿って送信されたプローブを使用してネットワークの問題を検出する（３３０）。該システムは、プローブを定期的に使用して、現在展開されているネットワークデバイスの問題を検出することができる。さらに、新しくインストールされたルータの場合では、該システムは、プローブを使用して、新しいルータに製造時レベルのネットワークトラフィックの負荷をかける前に、新しくインストールされたルータをテストし、その問題を診断することができる。
【００３１】
上記検出されたネットワーク問題を修復する（３４０）。ネットワーク管理者は、ネットワークの問題の原因を確定的に隔離することによって、故障したネットワークデバイスを発見し、修理または交換することができる。ネットワーク管理者は、ネットワークを長時間監視して、ネットワーク性能で生じた問題を検出し、修復することもできる。
【００３２】
図４は、ネットワーク問題を検出するためのプロセス例４００の流れ図である。プロセス４００を、ネットワークに接続された一つまたは複数のコンピュータデバイスにインストールしたコンピュータプログラムとして実装してもよい。例えば、プロセス４００を、監視装置とネットワークパケットの送信と受信の両方を行うルータとによって実施してもよい。プロセス４００を、例えば図１に示す監視装置１８０とルータ１０１のような監視装置とルータで実施されるものとして説明する。
【００３３】
上記監視装置は、所定のパスの集合を表すデータを格納する（４１０）。例えば、パスごとに格納されたデータにより、ネットワーク内のルータのシーケンスを特定することができる。当該監視装置は、例えば図２を参照して上述したように、ネットワークトポロジのデータベースから所定のパスを導出することができる。
【００３４】
上記ルータは、所定のパスの各々に沿ってデータ・パケットを送信する（４２０）。該パケットを、各パケットを転送するネットワークデバイスのシーケンスを定義するソースルーティングプロトコルに従って送信してもよい。上記ルータは、一つまたは複数の送信されたパケットを受信する（４３０）。いくつかの実装では、別のデバイスが、送信されたパケットを受信する。上記ルータは、パスの双方向をテストするために所定のパスの反対方向に沿って受信したパケットを送信することもできる。上記ルータは、送信されたパケット中の宛先インターネットプロトコルアドレスを変更して、二つの特定のルータ間の全てのスイッチを動作させることもできる。
【００３５】
上記監視装置は問題のあるパスを識別する（４４０）。送信されたパケットを受信した後、当該監視装置は、受信したパケットを解析して、問題のあるパスを識別することができる。問題のあるパスは、予想外の待ち時間が観測されたパスであってもよい。例えば、送信されたパケットが、閾値を満たす期間の後で受信された場合、当該監視装置は該パスを問題のあるパスとして指定することができる。いくつかの場合では、上記ルータが、送信されたパケットを受信しないこともある。当該監視装置は、閾値期間内に受信されなかったパケットを欠落したものとみなし、当該パスを問題のあるパスとして指定することができる。
【００３６】
上記監視装置は、問題のあるパスを比較する（４５０）。問題のあるパスの多くの属性を、問題のあるパスを特定したときに記録することができる。送信されたパケットが通ったパスに加えて、当該監視装置は、問題のあるパスごとの時間帯、曜日、地理的位置、加えてその他を記録することができる。
【００３７】
上記監視装置は、比較に基づいて２つのネットワークデバイス間の問題のあるリンクを決定する（４６０）。当該監視装置は、例えば、問題のあるリンクを決定するために問題のあるパスの一つまたは複数の共通の属性を識別することができる。例えば、監視装置は、２つのネットワークデバイスの間の特定のリンクが故障していると決定することができる。さらに、監視装置は、日曜の朝１０時に２つのネットワークデバイス間のリンクに問題が起きたことを決定することができる。
【００３８】
上記監視装置は、問題のあるパスを解析し、問題のあるリンクを決定するためのいくつかの方法を使用することができる。いくつかの実装では、監視装置は、共通部分または相関関係を算出して、問題のあるパスの共通の属性を決定することができる。
【００３９】
上記監視装置は、定期的にパスを監視して、パスの品質の経時的な変化を決定することもできる。例えば、パスの待ち時間が時間とともに徐々に着実に増加する場合には、当該パス上の特定のリンクが将来故障する可能性が高いかもしれないと判定することができる。同様に、監視装置は、当該パスを監視して、ネットワーク性能に関して問題が再発する期間を決定することができる。例えば、監視装置は、当該パスを監視し、特定の曜日の間、特定の建物内または地理的位置で問題のあるパスが生じると決定することができる。
【００４０】
上記監視装置は、時間とともにリンクの品質がどのように悪化するのかを識別するための評価アルゴリズムを使用することもできる。例えば、監視装置は、ネットワーク内の特定のリンクを通る全てのパスを分析し、そのリンクを通るどれだけ多くのパスが問題のあるパスであったかをカウントすることができる。もし、特定のリンクを通る問題のあるパスの数が時間とともに増加する場合には、監視装置は、リンクの品質が時間とともに徐々に低下し、そのリンクが将来故障する可能性が高いかもしれないと決定することができる。
【００４１】
ネットワーク内の問題の診断に加え、確定的なプローブによる監視を使用して、例えば電力網、回路基板、およびパイプラインを含む、他の多数の種類の、ノードとエッジに基づくシステムにおける問題を識別し、診断することができる。
【００４２】
本明細書で説明した主題の実施形態とその機能的な動作を、本明細書で開示された構造およびそれらの構造的な均等物を含む、デジタル電子回路、有形的に具体化したコンピュータソフトウェアもしくはファームウェア、コンピュータハードウェア、またはそれらの一つもしくは複数から成る組合せで実装することができる。本明細書で説明した主題の実施形態を、一つまたは複数のコンピュータプログラム、即ち、データ処理装置によって実行されるかまたはその操作を制御するための有形の非一時的プログラム搬送体で符号化されたコンピュータプログラム命令から成る一つまたは複数のモジュールとして実装することができる。代替または追加して、当該プログラム命令を人工的に生成した伝搬情報、例えば、適切な受信装置に送信してデータ処理装置で実行するための情報を符号化するように生成された機械的に生成した電気信号、光学信号、または電磁気信号で符号化することができる。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらの一つもしくは複数から成る組合せであってもよい。
【００４３】
「データ処理装置」という用語は、例えばプログラム可能なプロセッサ、コンピュータ、またはマルチプロセッサもしくはコンピュータを含む、データを処理するためのあらゆる種類の装置、デバイス、および機械を包含する。上記装置は、例えば、FPGA（field programmable gate array）またはASIC（application-specific integrated circuit）などの特殊目的の論理回路を含んでもよい。上記装置は、ハードウェアに加えて、本件のコンピュータプログラムのための実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの一つもしくは複数から成る組合せを構成するコードを含んでもよい。
【００４４】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるか説明されることもある）を、コンパイル言語もしくはインタープリタ式言語、または宣言型言語もしくは手続き型言語を含む任意の形式のプログラミング言語で記述してもよく、独立プログラムとして、またはモジュール、コンポーネント、サブルーチンもしくはコンピュータ環境での使用に適した他のユニットを含む任意の形式で展開してもよい。コンピュータプログラムが、ファイルシステム内のファイルに相当してもよいが、これは必須ではない。他のプログラムまたはデータ、例えば、マークアップ言語ドキュメントに格納された一つもしくは複数のスクリプトを保持するファイルの一部、本件のプログラムに特化した単一のファイル、または複数の連係ファイル、例えば、一つもしくは複数のモジュール、サブプログラム、もしくはコード部分を格納するファイルに、プログラムを格納してもよい。１つのサイトに配置するか、または、複数のサイトに分散させて通信ネットワークで相互接続した、一つまたは複数のコンピュータにコンピュータプログラムを展開して実行してもよい。
【００４５】
本明細書で説明したプロセスとロジックフローを、入力データで動作し出力を生成することで機能を実行する一つまたは複数のコンピュータプログラムを実施する、一つまたは複数のプログラム可能なコンピュータ、例えば監視装置１８０によって実施することができる。上記プロセスとロジックフローを、例えばＦＰＧＡ（field programmable gate array）またはＡＳＩＣ（application-specific integrated circuit）のような特殊目的の論理回路として実装してもよい。
【００４６】
コンピュータプログラムの実行に適したコンピュータは、例えば、汎用目的のもしくは特殊目的のマイクロプロセッサまたはその両方、または他の任意の種類の中央演算装置に基づいたものであってもよい。一般に、中央演算装置は、読取専用メモリもしくはランダムアクセスメモリまたはその両方から命令とデータを受信する。コンピュータの必須要素は、命令を実施または実行するための中央演算装置と、命令とデータを記憶するための一つまたは複数のメモリデバイスである。一般に、コンピュータは、データを受信もしくは送信またはその両方を行うために、一つまたは複数の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光学ディスク等も含むか、または、それに動作可能に接続される。しかしながら、コンピュータがそのようなデバイスを有するのは必須ではない。さらに、コンピュータを、例えばいくつか例に挙げると、携帯電話、ＰＤＡ（personal digital assistant）、携帯音楽またはビデオプレーヤ、ゲーム装置、ＧＰＳ（Global Positioning System）受信機、または携帯記憶デバイス（例：ＵＳＢ（universal serial bus）フラッシュドライブ）などの他のデバイス中に組み込んでもよい。
【００４７】
コンピュータプログラム命令とデータを記憶するのに適したコンピュータ可読媒体は、例えば、半導体メモリデバイス、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリと、磁気ディスク、例えば内部ハードディスクまたは取り外し可能ディスクと、光磁気ディスクと、ＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスクとを含む、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサとメモリを、特殊目的論理回路で補完してもよく、または、それに組み込んでもよい。
【００４８】
ユーザとの対話を提供するために、本明細書で説明した主題の実施形態を、情報をユーザに表示するためのディスプレイ装置、例えばＣＲＴ（cathode ray tube）またはＬＣＤ（liquid crystal display）モニタと、ユーザがコンピュータに入力を提供できるキーボードおよびポインタデバイス、例えばマウスまたはトラックボールとを備えたコンピュータで実装することができる。他の種類のデバイスを使用して、ユーザとの対話を提供することもできる。例えば、ユーザに提供されるフィードバックが、視覚フィードバック、聴覚フィードバック、または触覚フィードバックのような任意の形の感覚フィードバックであってもよいし、ユーザからの入力を、音響、発話、触覚の入力を含む任意の形式で受信することができる。さらに、コンピュータは、ユーザが使用するデバイスにドキュメントを送信し、当該デバイスからドキュメントを受信することによって、例えば、ウェブブラウザから要求を受信したことに応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することで、ユーザと対話することができる。
【００４９】
本明細書で説明した主題の実施形態を、例えばデータサーバとしてのバックエンド要素を含むか、または例えばアプリケーションサーバのようなミドルウェア要素を含むか、または本明細書で説明した主題の実装によりユーザが対話できるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータのようなフロントエンド要素を含むか、またはかかるバックエンド要素、ミドルウェア要素、またはフロントエンド要素の一つもしくは複数から成る任意の組合せを含む、コンピュータシステムで実装することができる。当該システムの要素を、任意の形式または媒体のデジタルデータ通信、例えば通信ネットワークにより、例えばネットワーク１００などのネットワークへと相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク（ＬＡＮ）と広域ネットワーク（ＷＡＮ）、例えばインターネットがある。
【００５０】
上記コンピュータシステムが、クライアントとサーバを含んでもよい。クライアントとサーバは、一般に、互いから離れており、一般に通信ネットワークを介して対話する。クライアントとサーバの関係は、コンピュータプログラムが各コンピュータで実行され互いに対してクライアントサーバの関係を有するために生ずる。
【００５１】
本明細書は具体的な実装の詳細を含むが、それらは発明または請求の範囲を制限するものとして解釈されるべきではなく、本発明の特定の実施形態に固有な特徴の説明として解釈すべきである。個々の実施形態の状況で本明細書で説明した特定の機能を、単独の実施形態の組合せで実装することもできる。反対に、単一の実施形態の状況で説明した様々な機能を、複数の実施形態で別々に、または、任意の適切な副次的組合せで実装することもできる。さらに、上では機能を特定の組合せで動作するとして説明し、当初はそのように特許請求の範囲に記載したが、特許請求の範囲に記載した組合せからの一つまたは複数の機能をいくつかの場合では当該組合せから実行してもよいし、特許請求の範囲に記載した組合せが、副次的な組合せまたは副次的な組合せの変形に関するものであってもよい。
【００５２】
同様に、動作を特定の順序で図面に示したが、これは、所望の結果を得るために、かかる動作を図示した特定の順序または逐次的な順序で実施すべきこと、または、全ての図示した動作を実施すべきことを要求するものとは理解すべきではない。特定の状況では、マルチタスクと並列処理が有利かもしれない。さらに、上述した実施形態の様々なシステムモジュールと要素の分離は、全ての実施形態でかかる分離が必要であるものとして理解されるべきではなく、説明したプログラム要素とシステムを一般に、単一のソフトウェアに統合するか、または、複数のソフトウェアにパッケージできると理解されるべきである。
【００５３】
主題の特定の実施形態を説明した。他の実施形態は、添付の特許請求の範囲に含まれる。例えば、諸請求項に記載した動作を様々な順序で実行でき、所望の結果を達成することができる。一例として、添付図面に示したプロセスは、所望の結果を達成するために必ずしも図示した特定の順序、または逐次的な順序を必要としない。特定の実施形態では、マルチタスクと並列処理が有利かもしれない。
【符号の説明】
【００５４】
１００  ネットワーク
１０１  ルータ
１０２  ルータ
１１０、１２０、１３０、１４０、１５０、１６０  ネットワークデバイス
１８０  監視装置
【図１】
2015526022.tif 000004
【図２】
2015526022.tif 000005
【図３】
2015526022.tif 000006
【図４】
2015526022.tif 000007
【国際調査報告】
2015526022.tif 000008
2015526022.tif 000009