(57)【特許請求の範囲】
【請求項１】
（ａ１）第１ルーティングデバイスでパケットを受信する段階と、
（ａ２）前記第１ルーティングデバイスによって、前記パケットを検査して、前記パケットが特定のネットワークサービス又はアプリケーションと関連することを判定する段階と、
（ｂ）前記パケットが特定のネットワークサービスまたはアプリケーションに関連するとの判定に基づいて、前記第１ルーティングデバイスによって、前記パケットがサンプリングされるべきであることを、判定する段階と、
（ｃ）前記第１ルーティングデバイスが、前記パケットに関連する第１情報を記憶することによって、前記パケットをサンプリングする段階であって、前記第１情報は、パケット識別情報およびタイムスタンプを有する、段階と、
（ｄ１）前記第１ルーティングデバイスによって、前記第１情報を測定サーバに送信する段階と、
（ｄ２）前記第１ルーティングデバイスによって、前記パケットを送信する段階の前に、前記特定のネットワークサービス又は前記アプリケーションに関連して、前記パケットに前記第１ルーティングデバイスにより、サンプリングヘッダを追加する段階であって、前記サンプリングヘッダは、前記パケットを一意に識別する段階と、
（ｅ）前記第１ルーティングデバイスによって、ルーティング情報に従って、前記パケットを宛先に向けて送信する段階と、
（ｆ）第２ルーティングデバイスで、前記パケットを受信する段階と、
（ｇ）前記サンプリングヘッダにおける値の判定に基づいて、前記第２ルーティングデバイスで、前記パケットがサンプリングされるべきであることを判定する段階と、
（ｈ）前記第２ルーティングデバイスが、前記パケットに関連する第２情報を記憶することによって、前記パケットをサンプリングする段階であって、前記第２情報は、パケット識別情報およびタイムスタンプを有する、段階と、
（ｉ）前記第２ルーティングデバイスによって、前記測定サーバに前記第２情報を送信する段階と、
（ｊ）前記測定サーバによって、前記第１情報及び前記第２情報に基づいて、パフォーマンスの測定値を判定する段階と
を備える、
ネットワークパフォーマンスを測定する方法。
【請求項２】
前記第２ルーティングデバイスによって、前記第２情報を前記測定サーバに送信する段階の前に、前記パケットから、前記特定のネットワークサービス又は前記アプリケーションに関連する前記サンプリングヘッダを除去する段階を備え、
前記第１ルーティングデバイスによって、前記パケットがサンプリングされるべきであることを前記判定する段階は、前記検査に基づく、
請求項１に記載の方法。
【請求項３】
前記第１ルーティングデバイスで、前記パケットがサンプリングされるべきであることを前記判定する段階は、
前記パケットのヘッダの値を検出する段階
を有する、
請求項１または２に記載の方法。
【請求項４】
前記パケットの前記ヘッダの値を前記検出する段階は、
送信元アドレス、宛先アドレス、送信元ポート、宛先ポート、パケットシーケンス番号、及びプロトコルバージョンのうちの少なくとも１つの値を検出する段階
を有する、
請求項３に記載の方法。
【請求項５】
前記第１ルーティングデバイス及び前記第２ルーティングデバイスで、前記パケットがサンプリングされるべきであることを判定する段階は、
（ａ）前記パケットの少なくとも一部分に対してハッシュ関数を実行する段階と、
（ｂ）前記ハッシュ関数の計算結果が条件を満たすことを、判定する段階と
を有する、
請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記第１情報は、前記パケットの少なくとも一部分を含む、
請求項１から５のいずれか一項に記載の方法。
【請求項７】
前記パケットの前記少なくとも一部分は、
ヘッダの一部分及びペイロードの一部分のうちの少なくとも１つ
を含む、
請求項６に記載の方法。
【請求項８】
前記測定値は、
待機時間、スループット、ジッタ、パケットレート、及びフレームレートのうちの少なくとも１つ
を含む、
請求項１から７のいずれか一項に記載の方法。
【請求項９】
ネットワークパフォーマンス測定システムであって、
（ａ）
（ｉ）パケットを受信し、
（ｉｉ）前記パケットを検査して、前記パケットが特定のネットワークサービス又はアプリケーションと関連することを判定し、
（ｉｉｉ）前記パケットがサンプリングされるべきであることを判定し、
（ｉｖ）前記パケットに関連する第１情報を記憶することによって、前記パケットをサンプリングし、前記第１情報はパケット識別情報及びタイムスタンプを有し、
（ｖ）前記第１情報を測定サーバに送信し、
（ｖｉ）前記パケットを送信する前に、前記特定のネットワークサービス又は前記アプリケーションに関連して、前記パケットにサンプリングヘッダを追加し、
（ｖｉｉ）ルーティング情報に従って、前記パケットを宛先に向けて送信する、
よう構成される、第１ルーティングデバイスと、
（ｂ）
（ｉ）第２ルーティングデバイスで前記パケットを受信し、
（ｉｉ）前記パケットがサンプリングされるべきであることを判定し、
（ｉｉｉ）前記パケットに関連する第２情報を記憶することによって、前記パケットをサンプリングし、前記第２情報はパケット識別情報及びタイムスタンプを有し、
（ｉｖ）前記第２情報を前記測定サーバに送信する、
よう構成される、第２ルーティングデバイスと、
（ｃ）前記第１情報及び前記第２情報に基づいて、パフォーマンスの測定値を判定する、前記測定サーバであって、前記サンプリングヘッダが、前記特定のネットワークサービス又は前記アプリケーションに関連する前記パケットを一意に識別し、前記第２ルーティングデバイスは、前記サンプリングヘッダの値を判定することにより、前記パケットがサンプリングされるべきであることをさらに判定する、前記測定サーバと
を備える、
システム。
【請求項１０】
前記第１ルーティングデバイスは、
前記第２ルーティングデバイスによって、前記第２情報を前記測定サーバに送信する段階の前に、前記パケットから、前記特定のネットワークサービス又は前記アプリケーションに関連する前記サンプリングヘッダを除去し、
前記パケットがサンプリングされるべきであるとの前記判定は、前記検査に基づく、
請求項９に記載のシステム。
【請求項１１】
前記第１ルーティングデバイス及び前記第２ルーティングデバイスはさらに、
前記パケットのヘッダの値を検出することによって、前記パケットがサンプリングされるべきであることを判定する、
請求項９又は１０に記載のシステム。
【請求項１２】
前記パケットのヘッダの値を前記検出することは、
送信元アドレス、宛先アドレス、送信元ポート、宛先ポート、パケットシーケンス番号、及びプロトコルバージョンのうちの少なくとも１つの値を検出すること
を有する、
請求項１１に記載のシステム。
【請求項１３】
前記第１ルーティングデバイス及び前記第２ルーティングデバイスはさらに、前記パケットの少なくとも一部分に対してハッシュ関数を実行することと、前記ハッシュ関数の計算結果が条件を満たすことを、判定することとによって、前記パケットがサンプリングされるべきであることを、判定する、
請求項９から１２のいずれか一項に記載のシステム。
【請求項１４】
前記第１情報は、前記パケットの少なくとも一部分を含む、
請求項９から１３のいずれか一項に記載のシステム。
【請求項１５】
前記パケットの前記少なくとも一部分は、
ヘッダの一部分及びペイロードの一部分のうちの少なくとも１つ
を含む、
請求項１４に記載のシステム。
【請求項１６】
前記測定値は、
待機時間、スループット、ジッタ、パケットレート、及びフレームレートのうちの少なくとも１つ
を備える、
請求項９から１５のいずれか一項に記載のシステム。
【請求項１７】
少なくとも１つのコンピューティングデバイスによって実行されたときに、前記少なくとも１つのコンピューティングデバイスに、ネットワークパフォーマンスを測定するための動作を実行させるためのコンピュータプログラムであって、
前記動作は、
（ａ１）第１ルーティングデバイスでパケットを受信することと、
（ａ２）前記第１ルーティングデバイスによって、前記パケットを検査して、前記パケットが特定のネットワークサービス又はアプリケーションと関連することを判定することと、
（ｂ）前記第１ルーティングデバイスによって、前記パケットがサンプリングされるべきであることを判定することと、
（ｃ）前記第１ルーティングデバイスが、前記パケットに関連する第１情報を記憶することによって、前記パケットをサンプリングすることであって、前記第１情報はパケット識別情報及びタイムスタンプを含むことと、
（ｄ１）前記第１ルーティングデバイスによって、前記第１情報を測定サーバに送信することと、
（ｄ２）前記第１ルーティングデバイスによって、前記パケットを送信する前に、前記特定のネットワークサービス又は前記アプリケーションに関連して、前記パケットにサンプリングヘッダを追加することと、
（ｅ）前記第１ルーティングデバイスによって、ルーティング情報に従って、前記パケットを宛先に向けて送信することと、
（ｆ）第２ルーティングデバイスで前記パケットを受信することと、
（ｇ）前記第２ルーティングデバイスで、前記パケットがサンプリングされるべきであることを判定することと、
（ｈ）前記第２ルーティングデバイスが、前記パケットに関連する第２情報を記憶することによって、前記パケットをサンプリングすることであって、前記第２情報はパケット識別情報及びタイムスタンプを含むことと、
（ｉ）前記第２ルーティングデバイスによって、前記測定サーバに前記第２情報を送信することと、
（ｊ）前記測定サーバによって、前記第１情報及び前記第２情報に基づいて、パフォーマンスの測定値を判定することと
を有し、
（ｋ）前記サンプリングヘッダが、前記特定のネットワークサービス又は前記アプリケーションに関連する前記パケットを一意に識別し、前記パケットがサンプリングされるべきであることを、前記第２ルーティングデバイスで前記判定することは、前記サンプリングヘッダの値を判定することを含む、
コンピュータプログラム。
【請求項１８】
前記動作は、
前記第２ルーティングデバイスによって、前記第２情報を前記測定サーバに送信する前に、前記パケットから、前記特定のネットワークサービス又は前記アプリケーションに関連する前記サンプリングヘッダを除去することと、を有し、
前記第１ルーティングデバイスによって、前記パケットがサンプリングされるべきであることを前記判定することは、前記検査に基づく、
請求項１７に記載のコンピュータプログラム。
【請求項１９】
前記第１ルーティングデバイス及び前記第２ルーティングデバイスで、前記パケットがサンプリングされるべきであることを前記判定することは、
前記パケットのヘッダの値を検出すること
を有する、
請求項１７又は１８に記載のコンピュータプログラム。
【請求項２０】
前記パケットのヘッダの値を前記検出することは、
送信元アドレス、宛先アドレス、送信元ポート、宛先ポート、パケットシーケンス番号、及びプロトコルバージョンのうちの少なくとも１つの値を検出すること
を有する、
請求項１９に記載のコンピュータプログラム。
【請求項２１】
前記第１ルーティングデバイス及び前記第２ルーティングデバイスで、前記パケットがサンプリングされるべきであることを判定することは、
（ａ）前記パケットの少なくとも一部分に対してハッシュ関数を実行することと、
（ｂ）前記ハッシュ関数の計算結果が条件を満たすことを判定することと
を有する、
請求項１７から２０のいずれか一項に記載のコンピュータプログラム。
【請求項２２】
前記第１情報は、前記パケットの少なくとも一部分を含む、
請求項１７から２１のいずれか一項に記載のコンピュータプログラム。
【請求項２３】
前記パケットの前記少なくとも一部分は、
ヘッダの一部分及びペイロードの一部分のうちの少なくとも１つ
を含む、
請求項２２に記載のコンピュータプログラム。
【請求項２４】
前記測定値は、
待機時間、スループット、ジッタ、パケットレート、及びフレームレートのうちの少なくとも１つ
を含む、
請求項１７から２３のいずれか一項に記載のコンピュータプログラム。
【請求項２５】
ネットワークパフォーマンス測定システムであって、
（ａ）コンピューティングデバイスと、
（ｂ）データベースと、
（ｃ）
（ｉ）特定の基準を満たすと判定されたパケットをサンプリングし、
（ｉｉ）前記コンピューティングデバイスに、前記サンプリングされたパケットを識別する情報と、いつ個々の第１及び第２ルーティングデバイスが前記サンプリングされたパケットを受信したかを示すタイムスタンプとの両方を送信するように、
前記第１ルーティングデバイス及び前記第２ルーティングデバイスに命令する構成モジュールと、
（ｄ）情報及びタイムスタンプを受信し、前記データベースに前記情報及び前記タイムスタンプを記憶する、
前記コンピューティングデバイスに実装されたパケットサンプリングモジュールと、
（ｅ）
（ｉ）前記第１ルーティングデバイスから受信した第１情報及び前記第２ルーティングデバイスから受信した第２情報の、両方が共通のパケットを表すことを判定するべく、前記データベースに問い合わせ、
（ｉｉ）パフォーマンスの測定値を判定するべく、前記データベースに記憶され、いつ前記個々の第１及び第２ルーティングデバイスが前記共通のパケットを受信したかを示す、第１タイムスタンプ及び第２タイムスタンプを比較する、
トラフィック分析モジュールと
を備え、
前記トラフィック分析モジュールは、前記データベースへの前記問い合わせを実行して、前記第１ルーティングデバイスから受信された第１情報、及び前記第２ルーティングデバイスから受信された第２情報の両方が、前記共通のパケットを表すことを判定し、前記共通のパケットは、特定のネットワークサービスまたはアプリケーションに関連しており、
前記共通のパケットは、前記第１ルーティングデバイスにより追加されたサンプリングヘッダを有し、前記サンプリングヘッダは、前記共通のパケットがサンプリングされるべきであることを前記第２ルーティングデバイスに示す値を含む、
システム。
【請求項２６】
前記第１ルーティングデバイスによって、前記特定のネットワークサービス又は前記アプリケーションに関連して前記共通のパケットに追加される前記サンプリングヘッダは、前記サンプリングされたパケットを識別する前記情報及び前記タイムスタンプを前記コンピューティングデバイスへ送信する前に、前記第２ルーティングデバイスによって、前記共通のパケットから除去される、請求項２５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、概してネットワークサービスに関連する。
【背景技術】
【０００２】
ネットワークは、特性及びパフォーマンスの保証を規定するサービスレベルアグリーメント（ＳＬＡ）の対象であるクライアント間に接続を提供し得る。例えば、クライアントは、規定された専用帯域幅で、仮想イーサネット（登録商標）接続を確立し得る。
【０００３】
ネットワークはまた、サービスのパフォーマンスに関連する、統計、レポート、及び他の情報をクライアントに提供し得る。例えば、クライアントは、どれくらいトラフィックがネットワークによって遅延させられているか、サービスはＳＬＡを満たしているか否か、ネットワークはボトルネックを発生させているか否か等を、知ることを望み得る。一般的に、ネットワーク接続のエンドポイントは、エンド・ツー・エンドネットワークメトリック（例を挙げると、応答時間、スループット、ジッタ）を測定し得る。しかしながら、エンドポイントからのネットワークパフォーマンスを測定することによって、クライアントは、パスのどの部分が遅延を発生させているのか、又は使用されている特定のサービスが満足のいくように機能しているか否か、把握し得ない。
【０００４】
トラフィックパフォーマンス（応答時間、スループット、ジッタ）を推定するべく、多くのユーティリティそれ自体は、トラフィックを監視しない。代わりに、それらは、通常のネットワークトラフィックと一緒に流れる追加のパケットを送信し、どうやってネットワークがそれらのパケットを送信しているか測定する。
【０００５】
このことは、いくつか利点を有し得る一方で、ネットワークは異なる態様で異なるパケットを処理し得るので、常に正確ではあり得ない。また、追加のパケットを送信することによって、これらユーティリティがネットワークに追加の負荷を与え、そのパフォーマンスに影響を与える。また、これらのユーティリティは、そのネットワークコンポーネントを通って流れるトラフィック全体を測定する。しかしながら、従来のアプローチは、アプリケーション毎又はサービス毎の基準でネットワークパフォーマンスを測定することが不可能である。
【発明の概要】
【０００６】
上記にかんがみて、ネットワークアプリケーションメトリックを個別に推定するために、改善したメカニズムを提供することは、有利であろう。
【０００７】
一実施形態では、ネットワークは、ネットワークアプリケーション及びサービスを提供し、個々のアプリケーション及びサービスについてネットワークメトリックを推定する。一実施形態では、第１ルーティングデバイスがパケットを受信し、パケットがサンプリングされるべきであることを判定する。第１ルーティングデバイスは、パケットに関連する第１情報を記憶することによって、パケットをサンプリングし、測定サーバに第１情報を送信する。第１ルーティングデバイスは、ルーティング情報に従って宛先に向かって、パケットを送信する。第２ルーティングデバイスは、パケットを受信し、パケットがサンプリングされるべきであることを判定する。第２ルーティングデバイスは、パケットに関連する第２情報を記憶すること、及び測定サーバに第２情報を送信することによって、パケットをサンプリングする。測定サーバは、第１情報及び第２情報に基づいて、測定値を判定する。
【０００８】
方法及びコンピュータ可読媒体の実施形態もまた、開示される。
【０００９】
様々な実施形態の構造及び動作と同様に、さらなる実施形態及び特徴が、添付図面を参照して、以下に詳細に説明される。
【図面の簡単な説明】
【００１０】
添付図面は、本明細書に組み込まれ、明細書の一部分を形成する。
【００１１】
【図１】例示の実施形態に係る、ネットワークアプリケーションを提供するためのネットワーク環境を図示するダイアグラムを示す。
【００１２】
【図２】例示の実施形態に係る、個々のアプリケーション及びサービスについてのネットワークメトリックを推定するための測定サーバを組み込んでいる、ネットワーク環境を図示するダイアグラムを示す。
【００１３】
【図３】例示の実施形態に係る、エッジルーティングデバイスでパケットをカプセル化することによって、個々のアプリケーション及びサービスについてネットワークメトリックを推定するための方法を説明するフローチャートである。
【００１４】
【図４】例示の実施形態に係る、エッジルーティングデバイスでカプセル化されたパケットを受信することによって、個々のアプリケーション及びサービスについてネットワークメトリックを推定するための方法を説明するフローチャートである。
【００１５】
【図５】例示の実施形態に係る、エッジルーティングデバイスでハッシュ関数を適用することによって、個々のアプリケーション及びサービスについてネットワークメトリックを推定するための方法を説明するフローチャートである。
【００１６】
図面では、同様の参照番号は、概して、同一又は類似の要素を示す。さらに、概して、参照番号の左端の桁は、その参照番号が最初に現れる図面を識別する。
【発明を実施するための形態】
【００１７】
実施形態では、ネットワークは、ネットワークアプリケーション及びサービスを提供し、個々のアプリケーション及びサービスについてネットワークメトリックを推定する。
【００１８】
図１は、例示の実施形態に係る、ネットワークアプリケーションを提供するためのネットワーク環境１００を図示するダイアグラムを示す。
【００１９】
ネットワーク環境１００は、ネットワーク１２０を通って通信する、例示的なエンドポイント１１０及び１１２を備える。ネットワーク１２０は、エッジルーティングデバイス１２２及び１２４を備える。エンドポイント１１０及び１１２は、ネットワーク１２０にアクセスするべく、それぞれエッジルーティングデバイス１２２及び１２４と通信する。
【００２０】
例示的なエンドポイント１１０及び１１２は、ネットワーク１２０のサービスを利用する、１又は複数のクライアントコンピューティングデバイスであり得る。エンドポイント１１０及び１１２は、例として、ローカルエリアネットワーク（ＬＡＮ）、コンピュータ、モバイルデバイス、サーバ、クラスタ等であり得る。ある例では、エンドポイント１１０及び１１２は、それら自体がネットワークであり得、図１の破線矢印によって図示されたように、相互に通信するためのトランジットネットワークとして、ネットワーク１２０を使用し得る。
【００２１】
ネットワーク１２０は、例えば、パーソナルコンピュータ、サーバ、モバイルデバイス、ローカルエリアネットワーク（ＬＡＮ）等のような、クライアントコンピューティングデバイス間でデータを送信するように構成される、ネットワークであり得る。一実施形態では、ネットワーク１２０は、ワイドエリアネットワーク（ＷＡＮ）又はメトロポリタンエリアネットワーク（ＭＡＮ）である。一実施形態では、ネットワーク１２０は、例えば、仮想イーサネット（登録商標）接続、仮想ローカルエリアネットワーク（ＶＬＡＮ）、仮想プライベートネットワーク（ＶＰＮ）等のような、仮想ネットワーキングサービスを提供する。例えば、ネットワーク１２０は、遠隔地のクライアント間のデータ通信のための専用帯域幅を、仮想回路に提供し得る。ネットワーク１２０は、任意のポイントツーポイント、ポイントツーマルチポイント、又はマルチポイントツーマルチポイントの、ネットワーキングプロトコルを利用し得る。使用されるネットワークアクセスプロトコルは、例えば、イーサネット（登録商標）、非同期転送モード（ＡＴＭ）、高レベルデータリンク制御（ＨＤＬＣ）、フレームリレー、同期光ネットワーキング（ＳＯＮＥＴ）／同期デジタル階層（ＳＤＨ）、インターネットプロトコル（ＩＰ）、送信制御プロトコル（ＴＣＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、マルチプロトコルラベルスイッチング（ＭＰＬＳ）等を含み得る。
【００２２】
ネットワーク１２０は、複数のエンドポイント間のネットワーク通信を提供する。一実施形態では、ネットワーク１２０は、サービス料を取って複数のエンドポイントに、設定可能データ通信サービスを、提供する。
【００２３】
本明細書で適用されるように、「ルーティングデバイス」の用語は、ネットワークレイヤルータ及びデータリンクレイヤスイッチの両方を含む。ルーティングデバイス１２２及び１２４は、例えば、仮想イーサネット（登録商標）接続、ＭＰＬＳトンネリング、ＶＬＡＮルーティング、サービスレベルアグリーメント（ＳＬＡ）等のような、接続サービスを提供するように構成され得る。接続サービスは、地理的に異なる少なくとも２つのコンピュータからの接続を提供し得る。ネットワーク１２０は、特定のレベルの帯域幅、待機時間、又はジッタのような、特定のレベルのサービスで、接続を提供し得る。
【００２４】
例示的なエッジルーティングデバイス１２２及び１２４は、ネットワーク１２０へ入る、エンドポイント１１０及び１１２についての入口ポイントである。ネットワーク１２０は、複数のエンドポイント間でデータを送信する複数の追加のルーティングデバイス、及び他のネットワーク要素を備え得る。一実施形態では、ネットワーク１２０は、ネットワーク１２０によって提供されるサービスのパフォーマンスを説明する測定値を、収集し、提供する。ネットワークマネージャーは、例えば、スループット、パケット損失、待機時間等のような、ネットワーク１２０がクライアントに提供するサービスのパフォーマンスに関連する統計を、クライアントに提供することが望ましいと見出し得る。一実施形態では、これら統計は、サービス毎を基準に収集される。例えば、クライアントは、エンドポイント１１０及び１１２間の仮想イーサネット（登録商標）接続を取得し得る。ネットワーク１２０は、接続のパフォーマンスを評価し、どれくらい良好にサービスが機能しているかをクライアントに報告するべく、仮想イーサネット（登録商標）接続に関連するトラフィックの測定を必要とし得る。このように、ネットワーク１２０は、特定のサービスを提供するときに、どれくらい良好にネットワーク１２０が機能しているかを、クライアントに知らし得る。
【００２５】
図２は、例示の実施形態に係る、個々のアプリケーション及びサービスについてネットワークメトリックを推定するための測定サーバを組み込んでいるネットワーク環境１００を図示するダイアグラムを示す。
【００２６】
測定サーバ２３０は、ネットワークサービスに関連する統計を測定するようにネットワークルーティングデバイスを構成し、これらと通信し得る。例えば、測定サーバ２３０は、特定のサービスに関連するパケットについての情報を通信するようにネットワークルーティングデバイスを構成する。一実施形態では、測定サーバ２３０は、サービスパケットに関連する識別情報と、パケットが特定のエッジルータに到着した時刻を示すタイムスタンプと、を通信するようにエッジルータを構成する。測定サーバ２３０は、次に、サービスのネットワークメトリックを判定するべく、この情報を使用し得る。
【００２７】
一実施形態では、測定サーバ２３０は、構成モジュール２３２と、パケットサンプリングモジュール２３４と、パケットデータベース２３６と、トラフィック分析モジュール２３８とを備える。
【００２８】
構成モジュール２３２は、パケットをサンプリングし、測定サーバ２３０にサンプリングされたパケットを送信するようにルーティングデバイス１２２及び１２４に命令し、これらを構成する。例えば、構成モジュールは、特定の基準を満たすと判定されたパケットをサンプリングするようにルーティングデバイスに命令し得る。構成モジュール２３２はまた、サンプリングされたパケットを識別する情報と、いつ個々のルーティングデバイスがサンプリングされたパケットを受信したかを示すタイムスタンプと、を測定サーバ２３０に送信するように、ルーティングデバイスを構成し得る。
【００２９】
パケットサンプリングモジュール２３４は、サービスパケットに関連する識別情報と、タイムスタンプとを受信し、パケットデータベース２３６に情報及びタイムスタンプを記憶する。
【００３０】
トラフィック分析モジュール２３８は、ネットワークパフォーマンス及び統計を判定するべく、受信されたサンプリングパケット情報を分析する。例えば、トラフィック分析モジュール２３８は、パケットデータベース２３６に、同じパケットに対応する情報について問い合わせ得る。トラフィック分析モジュール２３８は、次に、パフォーマンスの測定値を判定するべく、パケットの入口及び出口のタイムスタンプを比較し得る。
【００３１】
ある例では、ネットワーク１２０は、エンドポイント１１０及び１１２間に仮想イーサネット（登録商標）接続サービスを確立する。測定サーバ２３０は、パケットの識別情報及びいつルーティングデバイスがパケットを受信したかのタイムスタンプを送信するように、エッジルーティングデバイス１２２及び１２４を構成し得る。例えば、ルーティングデバイス１２２がエンドポイント１１０からエンドポイント１１２に向かうパケットを受信したとき、ルーティングデバイス１２２は、測定サーバ１２０にパケットについての識別情報及びタイムスタンプを送信し得る。このように、測定サーバ２３０は、パケットがネットワーク１２０に入った時刻を把握し得る。測定サーバ２３０はまた、同じパケットについての識別情報及びいつルーティングデバイスがネットワーク１２０からの出口ポイントでパケットを受信したかのタイムスタンプを送信するように、エッジルーティングデバイス１２２及び１２４を構成し得る。このように、測定サーバ２３０は、パケットがネットワーク１２０を出た時刻を把握し得る。測定サーバ２３０は、次に、サービスに関連するメトリックを測定するべく、タイムスタンプ情報を使用し得る。
【００３２】
測定サーバ２３０は、パケットを識別し、タイムスタンプを押すようにルーティングデバイスを構成するべく、様々な技術を使用し得る。一実施形態では、測定サーバ２３０は、パケットを一意に識別するサンプリングヘッダにより、ネットワーク１２０に入るサービスパケットをカプセル化するようにエッジルーティングデバイスを構成する。ルーティングデバイスは、次に、測定サーバ２１０に、パケット及びタイムスタンプ情報を送信する。パケットが、ネットワーク１２０の出口にあるエッジルーティングデバイスに到達したとき、ルーティングデバイスはサンプリングヘッダを認識し、識別情報及びタイムスタンプ情報を送信する。
【００３３】
別の実施形態では、測定サーバ２３０は、サービスパケットに対してハッシュ関数を適用するようにルーティングデバイスを構成する。ルーティングデバイスは、１又は複数の既定の値をハッシュとするパケットについての識別情報及びタイムスタンプ情報を送信し得る。ハッシュ関数は同じパケットについて同じ値を与えるであろうから、エッジルーティングデバイスはネットワーク１２０のエッジポイントで、同じパケットをサンプリングし得る。一実施形態では、エッジルーティングデバイスは、例えば、送信元及び宛先のアドレス及びポート、ペイロードの一部分、パケットシーケンス番号等のような、ルートの間に変化しないサービスパケットの一部分に対してハッシュ関数を適用する。
【００３４】
述べたように、エッジルーティングデバイスから測定サーバに通信されたサンプリングデータは、パケット識別情報及びタイムスタンプを含む。パケット識別情報は、パケットを他のパケットと区別する、パケットの任意の一部分を含み得る。一実施形態では、識別情報はエッジルーティングデバイスが追加のヘッダを適用することによって、適用される。一実施形態では、識別情報は、ヘッダの一部分、ペイロードの一部分、又はこれらの任意の組み合わせのような、パケットの一部分である。識別情報は、パケットを一意に識別し得、又し得ない、つまり、２つのパケットが同じ識別情報を有することが、可能であり得る。
【００３５】
入口及び出口ポイントのエッジルーティングデバイスは、任意のネットワークについてのパフォーマンス統計を取得するべく、任意に定義され得る。例えば、ネットワーク管理者は、パフォーマンス統計が望まれるネットワーク又はネットワークの一部分を定義し、それに応じてエッジルーティングデバイスを構成し得る。
【００３６】
図３は、例示の実施形態に係る、エッジルーティングデバイスで、パケットをカプセル化することによって、個々のアプリケーション及びサービスについてネットワークメトリックを推定するための方法３００を説明するフローチャートである。
【００３７】
段階３０２で、ネットワーク入口ポイントのエッジルーティングデバイスは、ネットワークに入るパケットを受信する。ルーティングデバイスは、パケットがサンプリングされるべきか否かを判定するべく、パケットのヘッダを検査する。ルーティングデバイスは、例えば、（特定のハッシュ又はモジュラス値を有するような）基準を満たしている、特定のアドレス、ネットワークプロトコルへの又はそこからのパケットを選択すること、又はランダムにそれらを選択することのような任意のメカニズムを使用して、パケットがサンプリングされるべきか否かを判定し得る。一実施形態では、ルーティングデバイスは、規定されたネットワークサービス又はアプリケーションと関連するパケットを選択するように構成される。
【００３８】
段階３０４及び３１０で示されるように、パケットがサンプリングされるべきでない場合は、ルーティングデバイスは、ルートに沿って次のホップにパケットを転送する。段階３０６で示されるように、パケットがサンプリングされるべき場合は、ルーティングデバイスは、サンプリングヘッダによりパケットをカプセル化する。サンプリングヘッダは、ネットワークの終端の出口でパケットがサンプリングされるべきであるという、別のルーティングデバイスのための指標として機能し得る。ルーティングデバイスは、識別子を生成し、サンプリングヘッダ内に含め得、パケットについての識別子を含み得る。別の例では、サンプリングヘッダは、パケットがサンプリングされるべきことを示す値を含む、ルーティングデバイスは他のパケットデータを識別情報として使用する。
【００３９】
段階３０８で、ルーティングデバイスは、測定サーバに、パケット識別情報及びタイムスタンプを含むサンプリングデータを送信する。最後に、段階３１０で、ルーティングデバイスは、ルートの次のホップへ、カプセル化されたパケットを転送する。
【００４０】
図４は、例示の実施形態に係る、エッジルーティングデバイスでカプセル化されたパケットを受信することによって、個々のアプリケーション及びサービスについてネットワークメトリックを推定するための方法４００を説明するフローチャートである。
【００４１】
段階４０２で、ネットワーク出口ポイントのエッジルーティングデバイスは、ネットワーク内の別の要素からパケットを受信する。ルーティングデバイスは、パケットがサンプリングヘッダを含むか否かを判定することによって、パケットがサンプリングされるべきか否かを判定するべく、パケットのヘッダを検査する。
【００４２】
段階４０４及び４１０に示されるように、パケットがサンプリングされるべきでない場合は、ルーティングデバイスは宛先エンドポイントに向けて、パケットを転送する。段階４０６で示されるように、パケットがサンプリングされるべき場合は、ルーティングデバイスは、パケットからサンプリングヘッダを取り除く。
【００４３】
段階４０８で、ルーティングデバイスは、測定サーバに、パケット識別情報及びタイムスタンプを含むサンプリングデータを送信する。方法３００を参照して上部で説明されたように、測定サーバはまた、ルーティングデバイスの入口ポイントからサンプリングデータを受信したので、測定サーバは、ネットワークを通ってのパケット横断のタイミングに関連する情報。
【００４４】
最後に、段階４１０で、ルーティングデバイスは宛先エンドポイントに向けて、パケットを転送する。
【００４５】
図５は、例示の実施形態に係る、エッジルーティングデバイスでハッシュ関数を適用することによって、個々のアプリケーション及びサービスについてネットワークメトリックを推定するための方法５００を説明するフローチャートである。
【００４６】
段階５０２で、エッジルーティングデバイスはパケットを受信し、パケットの少なくとも一部分に対してハッシュ関数を適用する。ハッシュ関数は、同じパケットが異なるエッジルーティングデバイスで同じハッシュ結果を含むように、ルートのホップをまたがって変化しないパケットの任意の一部分に適用され得る。
【００４７】
段階５０４で、ルーティングデバイスはハッシュ関数の計算結果に基づいて、パケットがサンプリングされるべきか否かを判定する。ルーティングデバイスは、ハッシュ関数の計算結果が１又は複数の規定された値、又は値の範囲を有するパケットをサンプリングするように構成され得る。
【００４８】
段階５０８で示されるように、パケットがサンプリングされるべきでない場合は、ルーティングデバイスは、ルートに沿って次のホップに又は宛先エンドポイントに、パケットを転送する。段階５０６で説明されるように、パケットがサンプリングされるべき場合は、ルーティングデバイスは、測定サーバに、パケット識別情報及びタイムスタンプを含むサンプリングデータを送信する。
【００４９】
段階５０８で示されるように、最後に、ルーティングデバイスは、ルートに沿って次のホップに又は宛先エンドポイントにパケットを転送する。
【００５０】
［結論］
測定サーバ２３０は、永続的メモリを有する任意の記憶タイプの構造化メモリであり得る。複数の例では、測定サーバは、ネットワーク１２０の一部分であり得、又はネットワーク１２０と通信する別個のシステムであり得る。
【００５１】
図１及び２のブロック及びモジュールのそれぞれは、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせに実装され得る。
【００５２】
図１及び２のブロック及びモジュールのそれぞれは、同じ又は異なるコンピューティングデバイスに、実装され得る。そのようなコンピューティングデバイスは、パーソナルコンピュータ、モバイルフォンのようなモバイルデバイス、ワークステーション、埋め込みシステム、ゲームコンソール、テレビ、セットトップボックス、他のコンピューティングデバイスを含み得るが、限定されない。さらに、コンピューティングデバイスは、命令を実行及び記憶するためのプロセッサ、及び非一時的メモリを含むメモリを有するデバイスを含み得るが、限定されない。メモリは、データ及びプログラム命令を、有形のものとして具体化し得る。ソフトウェアは、１又は複数のアプリケーション及びオペレーティングシステムを含み得る。ハードウェアは、プロセッサと、メモリと、グラフィカルユーザインタフェースディスプレイとを含み得るが、限定されない。コンピューティングデバイスはまた、複数のプロセッサと、複数の共有又は別個のメモリコンポーネントとを備え得る。例えば、コンピューティングデバイスは、クラスタ化されたコンピューティング環境又はサーバーファームの、一部分又は全体であり得る。
【００５３】
「（ａ）」、「（ｂ）」、「（ｉ）」、「（ｉｉ）」等のような識別子は、異なる要素又は段階について時々使用される。これら識別子は、明確性のために使用され、要素又は段階についての順序を、必ずしも指定するわけではない。
【００５４】
本発明は、規定された機能及びそれらの関係の実装を図示する、機能的構成単位を用いて、上で説明された。これらの機能的構成単位の境界は、説明の利便性のために、本明細書では、任意に定義された。規定された機能及びそれらの関係が適切に実行される限りに、代替的な境界が定義され得る。
【００５５】
複数の具体的な実施形態についての前述の説明は、本発明の一般的性質を十分に明らかにしているであろうから、当業者の技能の範囲内の知識を適用することによって、過度の実験無しに、本発明の一般的概念から逸脱すること無く、他人はそのような具体的な実施形態を容易に修正し、及び／又は様々な応用形態に適応させ得る。したがって、そのような適応及び修正は、本明細書に表された教示及び指導に基づいて、開示された実施形態の均等物の趣旨内及び範囲内であるよう意図されている。本明細書の語句又は用語は、説明を目的とするものであって制限するものではなく、これによって本明細書の語句又は用語は、教示及び指導を考慮して当業者により解釈されるべきであると理解されるべきである。
【００５６】
本実施形態の広さ及び範囲は、上述の例のいずれによっても限定されるべきではないが、以下の請求項及びそれらと均等物に従ってのみ、定義されるべきである。
【図１】
0006699065.tif 000002
【図２】
0006699065.tif 000003
【図３】
0006699065.tif 000004
【図４】
0006699065.tif 000005
【図５】
0006699065.tif 000006