(57)【特許請求の範囲】
【請求項１】
ネットワークにおいてパケットのルーティングパスを見つけるための方法であって、
コントローラによってソフトウェア定義ネットワーク（ＳＤＮ）における１つ又は２つ以上のスイッチに送信される制御メッセージをインターセプトすることと、
要求された時点で前記ＳＤＮの状態をエミュレートすることと、
前記エミュレートされたＳＤＮにおける１つ又は２つ以上のエミュレートされたスイッチに前記インターセプトされた制御メッセージを再生することによって、前記エミュレートされたＳＤＮを通る１つ又は２つ以上の可能なルーティングパスを特定することと、を含み、
前記１つ又は２つ以上の可能なルーティングパスが、前記要求された時点で前記ＳＤＮに投入される要求されたパケットに対応し、
１つ又は２つ以上の可能なルーティングパスを特定することが、前記インターセプトされた制御メッセージ及び往復時間（ＲＴＴ）情報に基づいて、前記１つ又は２つ以上のエミュレートされたスイッチのフローテーブル状態を再構築することを含む、方法。
【請求項２】
パケット、及び前記パケットが前記ＳＤＮに入った時点を特定するタイムスタンプＴ０を含むクエリを受信することを更に含み、前記クエリが、初期スイッチ、及び前記パケットが前記ＳＤＮに入ったポートを更に含む、請求項１に記載の方法。
【請求項３】
前記パケット及び前記パケットフィールド上の着信ポートに一致するスイッチに送信されるあらゆる制御メッセージについて、前記制御メッセージが以下を満たす記録されたタイムスタンプＴｉを有する場合、スイッチ状態が前記パケットに対するルーティング決定に影響を及ぼさない前の時間として定義される開始時間ＴｓをＴｓ＝Ｔ０と判定することを更に含み、
【数１】
0006293283.tif 000005
式中、ＥＲＴＴが、平均ＲＴＴであり、σＲＴＴが、前記ＲＴＴの差異であり、Ｔ０が、入力タイムスタンプであり、ｋが、統計的信頼区間におけるＺ値であり、そうでなければ、
【数２】
0006293283.tif 000006
であり、Ｔｘが、前記パケットに一致し、かつ上記の条件に反する最も早い制御メッセージの前記タイムスタンプである、請求項１に記載の方法。
【請求項４】
ネットワークにおいてパケットのパスを見つけるためのシステムであって、
コントローラによってソフトウェア定義ネットワーク（ＳＤＮ）における１つ又は２つ以上のスイッチに送信された制御メッセージをインターセプトするように構成されたプロキシと、
要求された時点で前記ＳＤＮの状態をエミュレートし、かつ前記エミュレートされたＳＤＮにおける１つ又は２つ以上のエミュレートされたスイッチに前記インターセプトされた制御メッセージを再生することによって、前記エミュレートされたＳＤＮを通る１つ又は２つ以上の可能なルーティングパスを特定するように構成されたプロセッサを備えるネットワークエミュレータと、を備え、
前記１つ又は２つ以上のルーティング可能なパスが、前記要求された時点で前記ＳＤＮに挿入される要求されたパケットに対応し、
前記ネットワークエミュレータが、前記インターセプトされた制御メッセージ及び往復時間（ＲＴＴ）情報に基づいて、前記１つ又は２つ以上のエミュレートされたスイッチのフローテーブル状態を再構築するように構成されている、システム。
【請求項５】
パケット、及び前記パケットが前記ＳＤＮに入った時点を特定するタイムスタンプＴ０を含むクエリを受信するように構成されたクエリエンジンを更に備える、請求項４に記載のシステム。
【請求項６】
前記クエリが、初期スイッチ、及び前記パケットが前記ＳＤＮに入ったポートを更に含む、請求項５に記載のシステム。
【請求項７】
前記パケット及び前記パケットフィールド上の着信ポートに一致するスイッチに送信されるあらゆる制御メッセージについて、前記制御メッセージが以下を満たす記録されたタイムスタンプＴｉを有する場合、前記ネットワークエミュレータが、スイッチ状態が前記パケットに対するルーティング決定に影響を及ぼさない前の時間として定義される開始時間ＴｓをＴｓ＝Ｔ０と判定するように更に構成されており、
【数３】
0006293283.tif 000007
式中、ＥＲＴＴが、平均ＲＴＴであり、σＲＴＴが、前記ＲＴＴの差異であり、Ｔ０が、入力タイムスタンプであり、ｋが、統計的信頼区間におけるＺ値であり、そうでなければ、
【数４】
0006293283.tif 000008
であり、Ｔｘが、前記パケットに一致し、かつ上記の条件に反する最も早い制御メッセージの前記タイムスタンプである、請求項４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２０１３年１２月１７日出願の仮出願第６１／９１７，０７２号への優先権を主張するものであり、その内容は、参照により本明細書に組み込まれる。
【背景技術】
【０００２】
ソフトウェア定義ネットワーク（ＳＤＮ）は、転送アーキテクチャと呼ばれる新たに出現したクラスのネットワークアーキテクチャを特徴とする。これらのアーキテクチャは、制御プレーン決定をデータプレーン転送から分離する。それを行う際に、それらは、制御プレーンのカスタムプログラム可能性及び集中化を可能にする一方で、商品の高スループット、高ファンアウトデータプレーン転送要素を可能にする。
【０００３】
しかしながら、動作ＳＤＮのデバッグは、コントローラソフトウェアにおけるそれらのサイズ、分散状態、及び高い複雑性により、大変な作業となり得る。ネットワークオペレータが利用可能なデバッグツールセットは限られている。既存のデバッグソリューションは、データパケットがネットワークにおいて通った正確なルーティングパスを判定するために、ＳＤＮスイッチにおけるオンラインパケット又はフローテーブルダンピングを使用し、これらは各々、特有の欠点を有する。
【発明の概要】
【課題を解決するための手段】
【０００４】
ネットワークにおいてパケットのルーティングパスを見つけるための方法は、コントローラによってソフトウェア定義ネットワーク（ＳＤＮ）における１つ又は２つ以上のスイッチに送信された制御メッセージをインターセプトすることを含む。要求された時点でのＳＤＮの状態がエミュレートされ、エミュレートされたＳＤＮを通る１つ又は２つ以上の可能なルーティングパスは、エミュレートされたＳＤＮにおける１つ又は２つ以上のエミュレートされたスイッチにインターセプトされた制御メッセージを再生することによって特定される。１つ又は２つ以上の可能なルーティングパスは、要求された時点でＳＤＮに投入される要求されたパケットに対応する。
【０００５】
ネットワークにおいてパケットのパスを見つけるためのシステムは、コントローラによってＳＤＮにおける１つ又は２つ以上のスイッチに送信された制御メッセージをインターセプトするように構成されたプロキシを含む。プロセッサを備えるネットワークエミュレータは、要求された時点でＳＤＮの状態をエミュレートし、かつエミュレートされたＳＤＮにおける１つ又は２つ以上のエミュレートされたスイッチにインターセプトされた制御メッセージを再生することによって、エミュレートされたＳＤＮを通る１つ又は２つ以上の可能なルーティングパスを特定するように構成されている。１つ又は２つ以上のルーティング可能なパスは、要求された時点でＳＤＮに挿入される要求されたパケットに対応する。
【図面の簡単な説明】
【０００６】
【図１】本原理に従う、ソフトウェア定義ネットワーキング（ＳＤＮ）シャドウシステムを例解するブロック／流れ図である。
【図２】本原理に従う、ＳＤＮにおけるスイッチ制御状態の再構築を例解するブロック／流れ図である。
【図３】本原理に従う、ＳＤＮシャドウシステムのブロック図である。
【発明を実施するための形態】
【０００７】
本発明の実施形態は、ソフトウェア定義ネットワーキング（ＳＤＮ）スイッチにおける機器又はトレースを伴わない、データパケットが転送アーキテクチャネットワークにおいて取る、正確なルーティングパスに関するオフラインクエリを支持する。これは、ＳＤＮコントローラとスイッチとの間のネットワーク待ち時間の測定値とともに、ＳＤＮコントローラとスイッチとの間で交換される制御メッセージを記録することを含む。
【０００８】
ここで図１を参照すると、例示的な転送アーキテクチャネットワークが示されている。ソフトウェア定義ネットワーク１００は、この場合、第１のスイッチ１０２及び第２のスイッチ１０３を介して宛先ホスト１０４と通信するソースホスト１０１を含む。ソースホスト１０１から宛先ホスト１０４へのパケットの正確なパスが、論理ネットワーク構造がスイッチ１０２及び１０３によって再構成されるときに変化し得ることを理解されたい。
【０００９】
スイッチ１０２及び１０３内のフローテーブルを変化させるスイッチ１０２及び１０３とコントローラ１１８との間の制御メッセージは、コントローラ１１８とスイッチ１０２及び１０３との間のネットワーク待ち時間の測定値とともに記録される。これを達成するために、ＳＤＮシャドウブロック１０６は、コントローラ１１８とＳＤＮ１００との間に介在される。制御メッセージの主な目的は、フローテーブルにおいてフロー／グループエントリを追加、削除、及び修正し、かつスイッチポート特性を設定することである。プロキシ１０８は、ＳＤＮコントローラ１１８からの制御メッセージをインターセプトし、それらを制御プレーンログ１１０に記憶する。制御メッセージは、パケットスニファ等の既存のツールを使用することによって、又はコントローラソフトウェア内の特殊プラグインによって得られ、ローカルコピーを作成することができる。プロキシ１０８は、各制御メッセージが送信される時間、コントローラ１１８とスイッチ１０２及び１０３との間の往復時間におけるネットワーク待ち時間も記録する。記録の開始時に、プロキシ１０８は、空ではない場合、スイッチ内のフローテーブルのスナップショットも記録し、スイッチ情報、スイッチ間のネットワークリンク、及びスイッチと関心のホストとの間の最後のホップリンクを含む、ＳＤＮネットワークトポロジ情報を記録する。
【００１０】
パス情報を見つけるために、制御メッセージトレースは、ネットワークトポロジ記憶装置１１２からの情報を使用して、クエリエンジン１１４において、記録期間内のある時間のデータパケットに対する正確なルーティングパスクエリに関して、ネットワークエミュレータにおいて再生される。クエリエンジン１１４は、データパケット及び入力としてのタイムスタンプを取るためのユーザインターフェースを提供し、ネットワークエミュレータを実行させて、選択された記録された制御メッセージセットを再生して、特定された時間にＳＤＮ１００に投入された場合のデータパケットが取り得るパスを判定する。問題のスイッチにおける可能なフローテーブル状態は、再構築され、問題のデータパケットが取り得る、可能なルーティングパスは、パスＡＰＩ１１６で見つけられる。任意に、それらのルーティングパスに割り当てられる可能性が計算される。この情報は、ブロック１２０において出力され、横断されたスイッチ、スイッチ入力及び出力ポート、並びに一致したフローエントリをコードする順序リストの形態であり得る。
【００１１】
クエリエンジン１１４においてクエリ入力を承認することは、パケット、時間、及び入力スイッチによって定義されるパケットイベントを受信することを含む。パケットは、イーサネット（登録商標）フレーム及びＩＰヘッダを含む、ネットワークパケットのフォーマットであり得る。時間Ｔは、パケットがＳＤＮネットワーク１００に入った時間を特定する。入力スイッチ情報は任意であり、第１のスイッチ、及びパケットがネットワーク１００内で到着したポートを特定し得る。既存のパス指向要求トレースソリューションとは対照的に、クエリエンジン１１４は、ユーザが、＜ｐａｃｋｅｔ  Ｘ，ｔｉｍｅ  Ｔ，［ｓｗｉｔｃｈ  Ｓ０：ｐｏｒｔＩｎ］＞というフォーマットでパケットイベントを入力すること、及びネットワークパケットがネットワーク１００において取り得る正確なパス情報に関する応答を受信することを可能にする。
【００１２】
スイッチフローテーブルを再構築することは、記録された制御メッセージのサブセットを選択し、記録されたネットワークトポロジ情報で元のＳＤＮネットワークのエミュレーションを作成し、エミュレートされたスイッチへ、エミュレートされたコントローラを通じて、選択された制御メッセージセットを再投入し、次いで、全てのエミュレートされたスイッチから、関連するフローテーブルエントリ情報をダンプする。
【００１３】
次いで、エミュレーション情報が検索されて、パケットがどのスイッチ及びルーティングルールを通過し得るかを見つけ出し、正確なルーティングパスを構築する。パスＡＰＩ１１６は、出力１２０を生成するために、上で説明されるように、順序リストのフォーマットでパスを出力する。
【００１４】
ここで図２を参照すると、制御状態２００の再構築に関する詳細が示されている。ブロック２０２は、入力パケット及びクエリされた到着時間が与えられた、記録された制御メッセージを選択する。ブロック２０２は、パケットに対するルーティング決定に恐らく影響し得る記録された制御メッセージセットを見つける。ユーザが第１のホップスイッチ情報を提供する場合、開始スイッチセットが、それに応じて初期化される。そうでなければ、開始スイッチセットは、全ての利用可能なスイッチ及びそれらのポートを含むとして初期化される。各第１のホップスイッチに関して、コントローラ１１８とスイッチとの間の平均復路時間（ＲＴＴ）が、判定されたそれぞれの差異で算出される。これは、プロキシ１０８によって記録されるネットワーク待ち時間情報に基づく。
【００１５】
開始時間Ｔｓが判定され、スイッチ状態がパケットに対するルーティング決定に影響を及ぼさない前の時間として定義される。パケット及びパケットフィールド上の着信ポートに一致するスイッチに送信されるあらゆる制御メッセージについて、制御メッセージが以下を満たす記録されたタイムスタンプＴｉを有する場合、
【００１６】
【数１】
0006293283.tif 000002
【００１７】
Ｔｓ＝Ｔ０であり、式中、ＥＲＴＴは、平均ＲＴＴであり、σＲＴＴは、ＲＴＴの差異であり、Ｔ０は、入力タイムスタンプであり、ｋは、統計的信頼区間におけるＺ値である。そうでない場合、
【００１８】
【数２】
0006293283.tif 000003
【００１９】
であり、式中、Ｔｘは、パケットに一致し、かつ上記の条件に反する最も早い制御メッセージのタイムスタンプである。
【００２０】
Ｔｓよりも前のタイムスタンプを有し、パケット及びパケットフィールド上の着信ポートに一致するフローテーブルエントリを含む、それぞれの初期スイッチに送信された全ての記録された制御メッセージが選択される。これらの制御メッセージは、時間順序リストに入れられる。かかるメッセージがない場合、問題のスイッチは、初期スイッチとしての考慮から除外される。かかる制御メッセージを有するスイッチがない場合、ユーザに、有効なパスが見つけられなかったことが通知される。
【００２１】
ブロック２０４においてエミュレートされたネットワークを作成することは、記録されたネットワークトポロジ情報１１２を使用して、トレースされたＳＤＮネットワーク１００と同じトポロジを有する、エミュレートされたネットワークを形成する。
【００２２】
ブロック２０６においてフローテーブルを再構築することは、パケット、入力タイムスタンプＴｓ、並びにブロック２０２及び２０４の結果を使用して、パケットのルーティング決定に影響するスイッチフローテーブルエントリを再構築する。再構築は、記録されたスナップショットで全てのエミュレートされたスイッチのフローテーブルの全てを初期化することから開始する。エミュレートされたコントローラは、エラーメッセージを生成せずに通過し、かつ
【００２３】
【数３】
0006293283.tif 000004
【００２４】
であるように、タイムスタンプＴｃ０を有する、第１のメッセージが見つけられるまで、記録された制御メッセージを、時間順序で各エミュレートされたスイッチに送信し、式中、ＴＤは、パケットがネットワークにとどまることができる最大時間であり、かつネットワーク直径の関数である。このメッセージ、及び同じ条件を満たすいずれの残りの制御メッセージも、スイッチＳ０でのパケットにおけるルーティング決定に潜在的に影響する制御メッセージの全てを含む、Ｐｏｔｅｎｔｉａｌ（Ｓ０）と呼ばれる時間順序リストにコピーされる。
【００２５】
３つのハッシュテーブルが初期化される：ＲｏｕｔｉｎｇＴｒｅｅ（Ｓ０）、ｓｔｏｒｅｄＳｔａｔｅｓ（Ｓ０）、及びｓｔｏｒｅｄＨｏｐｓ（Ｓ０）。パケットは、エミュレートされたスイッチＳ０の現在のフローテーブルに適用され、出力アクションを有し、パケット及び着信ポートに一致する、第１のフローテーブルエントリＥが見つけられる。エントリが見つけられない場合、この点でのパケットに対する転送アクションは、ない。リストＰｏｔｅｎｔｉａｌ（Ｓ０）が空ではない場合、次の制御メッセージが選択され、現在のフローテーブルに適用される。これは、Ｐｏｔｅｎｔｉａｌ（Ｓ０）が空であるか、又は一致するエントリが見つけられるまで、繰り返される。
【００２６】
エントリの出力アクションは、次のポートを特定する。ＲｏｕｔｉｎｇＴｒｅｅ（Ｓ０）が、同じスイッチ及び次のポートに対応するエントリを既に含む場合、次の制御メッセージが選択され、現在のフローテーブルに適用されて、新しい次のポートを検索する。そうでなければ、新しいハッシュテーブルエントリが作成され、ＲｏｕｔｉｎｇＴｒｅｅ（Ｓ０）に挿入される。
【００２７】
記憶されたネットワークトポロジ情報は、次のポートに接続されるネットワークリンクの他方の端部を見つけるために使用される。かかるリンク情報がない場合、次の制御メッセージが選択され、現在のフローテーブルに適用される。そうでなければ、処理は、接続されたスイッチ（以下において現在のスイッチと呼ばれる）及びポートから継続する。
【００２８】
Ｔｓよりも前のタイムスタンプを有し、かつパケット及びパケットフィールド上の着信ポートに一致する制御フローテーブルエントリを有する、現在のスイッチに送信される全ての制御メッセージは、時間順序リストａｃｔｉｖｅＭＳＧに入れられる。リストが空である場合、エントリに対するハッシュテーブルが更新されて、ツリーにおいて、終端に到達したことを示す。リストにエントリがある場合、エミュレートされたコントローラは、上で記載される同じタイムスタンプ条件を満たす第１のメッセージが見つけられるまで、リスト内の制御メッセージを、同じ時間順序内のエミュレートされた現在のスイッチに送信する。
【００２９】
適格なメッセージは、これらのメッセージが、潜在的にパケットにおけるルーティング決定に影響するため、時間順序リストＰｏｔｅｎｔｉａｌ（ｃｕｒｒｅｎｔＳｗｉｔｃｈ）にコピーされる。それらを使用して、現在のスイッチにおけるパケットに対する全ての可能なネクストホップルーティング決定を記録する。パケットは、エミュレートされたスイッチｃｕｒｒｅｎｔＳｗｉｔｃｈの現在のフローテーブルに適用され、出力アクションを有し、パケット及び着信ポートに一致する、第１のフローテーブルエントリＦが見つけられる。かかるエントリがない場合、及びＰｏｔｅｎｔｉａｌ（ｃｕｒｒｅｎｔＳｗｉｔｃｈ）が空ではない場合、リスト内の第１の制御メッセージが選択され、エミュレートされたスイッチｃｕｒｒｅｎｔＳｗｉｔｃｈに適用される。メッセージは、Ｐｏｔｅｎｔｉａｌ（ｃｕｒｒｅｎｔＳｗｉｔｃｈ）から除外される。
【００３０】
Ｆの出力アクションは、次のポートを特定する。ハッシュテーブルは、次のポートを特定するエントリで更新される。現在の入力点におけるｃｕｒｒｅｎｔＳｗｉｔｃｈに対して、ｓｔｏｒｅｄＨｏｐｓ（Ｓ０）にエントリが既にある場合、ルーティングループが検出され、メッセージは、Ｐｏｔｅｎｔｉａｌ（Ｓ０）から除外される。そうでなければ、新しいキーがｓｔｏｒｅｄＨｏｐｓ（Ｓ０）に挿入される。
【００３１】
Ｐｏｔｅｎｔｉａｌ（ｃｕｒｒｅｎｔＳｗｉｔｃｈ）が空であるか、又は初期化されていない場合、状態は、前のスイッチにロールバックされ、ホップに対するエントリは、ｓｔｏｒｅｄＳｔａｔｅｓ（Ｓ０）及びｓｔｏｒｅｄＨｏｐｓ（Ｓ０）から削除される。潜在的メッセージセット全体は、このように再帰的に評価されて、パケットがネットワーク１００を通じて取った可能性がある、１つ又は２つ以上の可能なパスセットを構築する。一度ＲｏｕｔｉｎｇＴｒｅｅ（Ｓ０）が完了すると、実行可能なルーティングパスについてそれを検索して、出力１２０を生成することができる。
【００３２】
ルーティングパスは、ＲｏｕｔｉｎｇＴｒｅｅ（Ｓ０）内の各キーに対して、深さ優先検索を繰り返すことによって、検索され得る。リーフノードに到達するときは常に、ルートノードからリーフノードまでの完全パスは、順序リストのフォーマットの連結されたノード毎の値情報とともに記録される。次いで、これらのリストは、記録された正確なルーティングパスを提示するように、ユーザへ返されてもよい。
【００３３】
本明細書に説明される実施形態が、完全にハードウェア、完全にソフトウェア、又はハードウェア及びソフトウェア要素の両方を含み得ることを理解されたい。好ましい実施形態において、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むが、これらに限定されない、ハードウェア及びソフトウェアに実装される。
【００３４】
実施形態は、コンピュータ若しくは任意の命令実行システムによる、又はこれらと関連した使用のためのプログラムコードを提供する、コンピュータが使用可能な、又はコンピュータが読み取り可能な媒体からアクセス可能なコンピュータプログラム製品を含み得る。コンピュータが使用可能な、又はコンピュータが読み取り可能な媒体としては、命令実行システム、装置、若しくはデバイスによる、又はこれらと関連した使用のためのプログラムを記憶、通信、伝搬、又は輸送する、任意の装置が挙げられ得る。媒体は、磁気、光学、電子、電磁、紫外線、又は半導体システム（若しくは装置若しくはデバイス）、又は伝搬媒体であり得る。媒体としては、半導体若しくはソリッドステートメモリ、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、剛性磁気ディスク、及び光学ディスクなど等のコンピュータが読み取り可能な記憶媒体が挙げられ得る。
【００３５】
プログラムコードを記憶及び／又は実行するのに好適なデータ処理システムは、システムバスを通って、メモリ要素に直接若しくは間接的に連結される、少なくとも１つのプロセッサを含み得る。メモリ要素は、プログラムコードの実際の実行中に採用されるローカルメモリ、バルク記憶装置、及び実行中にバルク記憶装置からコードが取り出される回数を低減するために、少なくとも一部のプログラムコードの一時記憶を提供する、キャッシュメモリを含むことができる。入力／出力又はＩ／Ｏデバイス（キーボード、ディスプレイ、ポインティングデバイスなどが挙げられるが、これらに限定されない）は、直接、又は介在するＩ／Ｏコントローラを通って、システムに連結され得る。
【００３６】
ネットワークアダプタもまた、システムに連結されて、データ処理システムが、介在する私的若しくは公的ネットワークを通って、他のデータ処理システム又はリモートプリンタ又は記憶デバイスに連結することを可能にし得る。モデム、ケーブルモデム、及びイーサネット（登録商標）カードは、現在利用可能なタイプのネットワークアダプタのうちのごくわずかである。
【００３７】
ここで図３を参照すると、ＳＤＮシャドウシステム３００が示されている。プロセッサ３０２は、所与のパケットがＳＤＮ１００を通って取り得るパスを特定及び出力するように、メモリ３０４とインターフェースする。コントローラプロキシモジュール３０６は、ＳＤＮコントローラ１１８から情報を受信し、制御プレーンログ３０８としてメモリ３０４に制御メッセージを記憶する。加えて、プロキシ３０６は、ネットワークトポロジ情報３１０、並びに平均ＲＴＴ時間及びＲＴＴ差異等の任意の利用可能なネットワークステータス情報を記憶する。
【００３８】
ユーザインターフェース３１２は、クエリエンジン３１４とインターフェースされて、ユーザに、所与のタイムスタンプにおける特定のパケットに対するクエリを入力する能力を提供する。パケット情報は、パケットヘッダを含む。クエリは、パケットがネットワーク１００に入った初期スイッチに関する情報を更に任意に含み得る。クエリエンジン１１４は、制御プレーンログ３０８及び記憶されたネットワークトポロジに基づいてネットワーク１００をエミュレートするためにプロセッサ３０２を使用する、ネットワークエミュレータ３１６に、ユーザのクエリを提供し、パケットがネットワークを通って取った可能性がある可能なパスセットを作成する。次いで、これらの可能なパスは、ユーザインターフェース３１２を通じてユーザに表示される。
【００３９】
上述は、あらゆる点において、制限的ではなく、例解的かつ例示的であるとして理解されるものとし、本明細書に開示される本発明の範囲は、発明を実施するための形態からではなく、むしろ特許法によって許容される最も広い範囲に従って解釈される請求項から判断されるものとする。追加情報は、本出願への付録Ａに提供される。本明細書に図示及び説明される実施形態は、本発明の原理を例解するものであるにすぎず、当業者は、本発明の範囲及び趣旨から逸脱することなく、種々の修正を実装し得ることが理解されるものとする。当業者は、本発明の範囲及び趣旨から逸脱することなく、種々の他の特性の組み合わせを実装し得る。
【図１】
0006293283.tif 000009
【図２】
0006293283.tif 000010
【図３】
0006293283.tif 000011