(57)【要約】複数のネットワーク上でのデータのルーティングを制御するためのシステム及び方法。したがって、ネットワークユーザは、待ち時間、損失、ジッタまたは複数のネットワーク全体でのコストと帯域幅の管理を含む許容できるレベルの使用量という点である特定のデータトラフィック（９５）のフローが性能の許容できるレベルを維持することを確実にするために特定のフローポリシー（９０）を定義できる。
2005509369.tif 000002
【特許請求の範囲】
【請求項１】
第１のポイントと第２のポイントの間でデータを転送するように設計されたコンピュータネットワークにより通信されるデータのポリシーを施行するための方法であって、第１のポイントが１つまたは複数の第１のネットワークに結合され、該１つまたは複数の第１のネットワークの少なくとも１つが複数の第２のネットワークの少なくとも１つに結合され、第２のネットワークの少なくとも１つが第２のポイントに結合され、ネットワークのそれぞれが経路の少なくとも１つのセグメントを含み、経路が、第２のポートに通信されるデータをトランスポートするために第１のポイントから第２のポイントまでであり、ネットワークの少なくとも２つが相互接続で結合され、通信されるデータが、相互接続点を通して流れ、
少なくとも１つのセグメントに関連付けられた少なくとも１つの使用量特性を監視するステップであって、該少なくとも１つのセグメントが第１のネットワーク内にあるステップと、
該少なくとも１つの使用量特性を、ポリシーの関連付けられた使用量要件と比較するステップと、
を備えることを特徴とする方法。
【請求項２】
第１のネットワーク内でのデータのルーティングに関連付けられた該少なくとも１つの使用量特性が使用量要件に違反しているかどうかを判断するステップと、
をさらに備えることを特徴とする請求項１記載の方法。
【請求項３】
第１のネットワーク内でのデータのルーティングに関連付けられた該少なくとも１つの使用量特性が使用量要件に違反しないようにデータのルーティングを修正するステップと、
をさらに備えることを特徴とする請求項２記載の方法。
【請求項４】
データのルーティングを修正するステップが、
別の第１ネットワークに配置される少なくとも別のセグメントと関連付けられた少なくとも１つの使用量特性を監視するステップと、
別の第１ネットワーク内のデータのルーティングと関連付けられた１つまたは複数の使用量特性が使用量要件に準拠していることを確認するステップと、
データが別の第１のネットワークに位置する別のセグメントを通して転送されるようにデータのルーティングを改変するステップと、
を備えることを特徴とする請求項３記載の方法。
【請求項５】
経路と関連付けられている少なくとも１つの性能特性を監視するステップと、
をさらに備えることを特徴とする請求項１記載の方法。
【請求項６】
経路に関連付けられた該少なくとも１つの性能特性が１つまたは複数の性能要件に違反するかどうかを判断するステップと、
別の経路に関連付けられた少なくとも１つの性能特性を監視するステップと、
別の経路内のデータのルーティングに関連付けられた１つまたは複数の性能特性が性能要件に準拠することを確認するステップと、
データが別の経路を通って転送されるようにデータのルーティングを改変するステップと、
をさらに備えることを特徴とする請求項５記載の方法。
【請求項７】
少なくとも１つの使用量特性を監視するステップが、
該少なくとも１つのセグメントの稼働率に関係する使用量特性を測定するステップと、
を備えることを特徴とする請求項１記載の方法。
【請求項８】
少なくとも１つの使用量特性を監視するステップが、
該少なくとも１つのセグメントの使用量に関係する使用量特性を測定するステップと、
を備えることを特徴とする請求項１記載の方法。
【請求項９】
少なくとも１つの使用量特性を該監視するステップが、
該少なくとも１つのセグメントの負荷に関係する使用量特性を測定するステップと、
を備えることを特徴とする請求項１記載の方法。
【請求項１０】
少なくとも１つの使用量特性を該監視するステップが、
該少なくとも１つのセグメントのコストに関係する使用量特性を測定するステップと、
を備えることを特徴とする請求項１記載の方法。
【請求項１１】
少なくとも１つの性能特性を監視するステップが、
損失に関係する性能特性を測定するステップと、
を備えることを特徴とする請求項１記載の方法。
【請求項１２】
少なくとも１つの性能特性を監視するステップが、
待ち時間に関係する性能特性を測定するステップと、
を備えることを特徴とする請求項１記載の方法。
【請求項１３】
少なくとも１つの性能特性を監視するステップが、
ジッタに関係する性能特性を測定するステップと、
を備えることを特徴とする請求項１記載の方法。
【請求項１４】
第１のポイントと第２のポイント間でデータを転送するように設計されたコンピュータネットワークにより通信されるデータについてポリシーを施行するためのシステムであって、第１のポイントは、１つまたは複数の第１のネットワークに結合され、該１つまたは複数の第１のネットワークの少なくとも１つが複数の第２のネットワークの少なくとも１つに結合され、第２のネットワークの少なくとも１つが第２のポイントに結合され、ネットワークのそれぞれが経路の少なくとも１つのセグメントを含み、経路が、第２のポイントに通信されるデータを輸送するために、第１のポイントから第２のポイントまでであり、ネットワークの少なくとも２つが相互接続で結合され、通信されるデータが相互接続点を通って流れ、該システムが、
少なくとも１つのセグメントと関連付けられる少なくとも１つの使用量特性を監視するように構成された使用量監視モジュールと、
ポリシーの関連使用量要件と、該少なくとも１つの使用量特性を比較するために構成可能である比較モジュールと、
を備えることを特徴とするシステム。
【請求項１５】
第１のネットワーク内のデータのルーティングに関連付けられる少なくとも１つの使用量特性が使用量要件に違反しているかどうかを判断するために構成可能である使用量決定モジュールと、
をさらに備えることを特徴とする請求項１４記載のシステム。
【請求項１６】
第１のネットワーク内のデータのルーティングと関連付けられる該少なくとも１つの使用量特性がもはや使用量要件に違反していないようにデータのルーティングを修正するように構成可能である修正モジュールと、
をさらに備えることを特徴とする請求項１５記載のシステム。
【請求項１７】
修正モジュールが、
別の第１のネットワーク内に配置される少なくとも別のセグメントと関連付けられる少なくとも１つの使用量特性を監視するために構成可能である第１のモジュールと、
別の第１のネットワーク内のデータのルーティングと関連付けられる１つまたは複数の使用量特性を決定するために構成可能である第２のモジュールと、
別の第１のネットワーク内に配置される別のセグメントを通してデータが送られるようにデータのルーティングを改変するために構成可能である第３のモジュールと、
をさらに備えることを特徴とする請求項１６記載のシステム。
【請求項１８】
経路と関連付けられる少なくとも１つの性能特性を監視するために構成可能である性能監視モジュールと、
をさらに備えることを特徴とする請求項１４記載のシステム。
【請求項１９】
経路と関連付けられる該少なくとも１つの性能特性が１つまたは複数の性能要件に違反するかどうかを判断するために構成可能である性能決定モジュールと、
別の経路と関連付けられる少なくとも１つの性能特性を監視するために構成可能である性能監視モジュールと、
別の経路内のデータのルーティングに関連付けられた１つまたは複数の性能特性が性能要件に準拠していることを確認するために構成可能である性能決定モジュールと、
データが別の経路を通って転送されるようにデータのルーティングを改変するために構成可能である改変モジュールと、
をさらに備えることを特徴とする請求項１８記載のシステム。
【請求項２０】
使用量監視モジュールが、
該少なくとも１つのセグメントの稼働率に関する稼働率特性を測定するために構成可能である稼働率測定モジュールと、
を備えることを特徴とする請求項１４記載のシステム。
【請求項２１】
使用量監視モジュールが、
該少なくとも１つのセグメントの使用量に関係する使用量特性を測定するために構成可能である使用量測定モジュールと、
を備えることを特徴とする請求項１４記載のシステム。
【請求項２２】
使用量監視モジュールが、
該少なくとも１つのセグメントの負荷に関係する使用量特性を測定するために構成可能である負荷測定モジュールと、
を備えることを特徴とする請求項１４記載のシステム。
【請求項２３】
使用量監視モジュールが、
該少なくとも１つのセグメントのコストに関係する使用量特性を測定するために構成可能であるコスト測定モジュールと、
を備えることを特徴とする請求項１４記載のシステム。
【請求項２４】
使用量監視モジュールが、
損失に関係する性能特性を測定するために構成可能である損失測定モジュールと、
を備えることを特徴とする請求項１４記載のシステム。
【請求項２５】
使用量監視モジュールが、
損失に関係する性能特性を測定するために構成可能である待ち時間測定モジュールと、
を備えることを特徴とする請求項１４記載のシステム。
【請求項２６】
性能監視モジュールが、
ジッタに関係する性能特性を測定するために構成可能であるジッタ測定モジュールと、
を備えることを特徴とする請求項１４記載のシステム。
【請求項２７】
第１のポイントと第２のポイントの間でデータを転送するように設計されるコンピュータネットワークにより通信されるデータについてポリシーを施行するためのシステムであって、第１のポイントは１つまたは複数の第１のネットワークに結合され、該１つまたは複数の第１のネットワークの少なくとも１つが複数の第２のネットワークの少なくとも１つに結合され、第２のネットワークの少なくとも１つが第２のポイントに結合され、ネットワークのそれぞれが経路の少なくとも１つのセグメントを含み、経路が第２のポイントに通信されるデータをトランスポートするために第１のポイントから第２のポイントまでであり、ネットワークの少なくとも２つが相互接続で結合され、通信されるデータが相互接続点を通って流れ、該システムが、
第１のネットワークに配置される該少なくとも１つのセグメントと関連付けられる少なくとも１つの使用量特性を監視するための手段と、
該少なくとも１つの使用量特性をポリシーの関連使用量要件と比較するための手段と、
を備えることを特徴とするシステム。
【請求項２８】
第１のネットワーク内のデータのルーティングに関連付けられる該少なくとも１つの使用量特性が使用量要件に違反するかどうかを判断するための手段と、
をさらに備えることを特徴とする請求項２７記載のシステム。
【請求項２９】
第１ネットワーク内でのデータのルーティングに関連付けられる該少なくとも一つの使用量特性がもはや使用量要件に違反していないようにデータのルーティングを修正するための手段と、
をさらに備えることを特徴とする請求項２８記載のシステム。
【請求項３０】
第１のポイントと第２のポイント間でデータを転送するように設計されたコンピュータネットワークにより通信されるデータのポリシーを施行するためのコンピュータ読み取り可能媒体であって、第１のポイントが１つまたは複数の第１のネットワークに結合され、１つまたは複数の第１のネットワークの少なくとも一つが複数の第２のネットワークの少なくとも１つに結合され、第２のネットワークの少なくとも１つが第２のポイントに結合され、ネットワークのそれぞれが経路の少なくとも一つのセグメントを含み、経路が、第２のポイントに通信されるデータをトランスポートするために第１のポイントから第２のポイントまでであり、ネットワークの少なくとも２つが相互接続で結合され、通信されるデータが相互接続点を通って流れ、該コンピュータ読み取り可能媒体が
第１のネットワークに配置される少なくとも１つのセグメントと関連付けられる少なくとも１つの使用量特性を監視するための命令と、
該少なくとも１つの使用量特性をポリシーの関連使用量要件に比較するための命令と
を備えることを特徴とするコンピュータ読み取り可能媒体。
【請求項３１】
第１のネットワーク内でのデータのルーティングに関連付けられる該少なくとも一つの使用量特性が使用量要件に違反するかどうかを判断するための命令と、
をさらに備えることを特徴とする請求項３０記載のコンピュータ読み取り可能媒体。
【請求項３２】
第１のネットワーク内でのデータのルーティングに関連付けられる該少なくとも一つの使用量特性が使用量要件にもはや依存しないようにデータのルーティングを修正するための命令と、
をさらに備えることを特徴とする請求項３１記載のコンピュータ読み取り可能媒体。
【請求項３３】
第１のポイントと第２のポイントとの間でデータを転送するように設計されたコンピュータネットワークにより通信される複数のデータを施行する方法であって、第１のポイントは１つまたは複数の第１のネットワークに結合され、該１つまたは複数の第１のネットワークの少なくとも１つが複数の第２のネットワークの少なくとも１つに結合され、第２のネットワークの少なくとも１つが第２のポイントに結合され、ネットワークのそれぞれが経路の少なくとも１つのセグメントを含み、経路が、第２のポイントに通信されるデータを輸送するために第１のポイントから第２のポイントまでであり、ネットワークの少なくとも２つが相互接続で結合され、通信されるデータが相互接続点を通って流れ、該方法が、
ポリシーの関連使用量要件と該少なくとも１つの使用量特性を比較するステップと、
第１のネットワーク内のデータのルーティングに関連付けられる該少なくとも１つの使用量特性が使用量要件に違反するかどうかを判断するステップと、
第１のネットワーク内のデータのルーティングに関連付けられる少なくとも１つの使用量特性がもはや使用量要件に違反しないようにデータのルーティングを修正するステップと、
を備えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、代理人明細書番号第０２１０８９−０００２００ＵＳ号により識別され、２００１年１１月２日に提出され、すべての目的のために参考のために示される「インテリジェントルーティングによるネットワークサービスレベル及び帯域幅管理を保証するためのシステム及び方法（ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＴＯ  ＡＳＳＵＲＥ  ＮＥＴＷＯＲＫ  ＳＥＲＶＩＣＥ  ＬＥＶＥＬＳ  ＡＮＤ  ＢＡＮＤＷＩＤＴＨ  ＭＡＮＡＧＥＭＥＮＴ  ＷＩＴＨ  ＩＮＴＥＬＬＩＧＥＮＴ  ＲＯＵＴＩＮＧ）」と題された米国仮特許出願から優先順位を主張する。さらに、米国特許出願番号第０９／８３３，２１９号及び代理人明細書番号第０２１０８９−０００１００ＵＳ号を有し、２００１年４月１０日に提出された「インテリジェントルーティングによるネットワークサービスレベルを保証するためのシステム及び方法（ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＴＯ  ＡＳＳＵＲＥ  ＮＥＴＷＯＲＫ  ＳＥＲＶＩＣＥ  ＬＥＶＥＬＳ  ＷＩＴＨ  ＩＮＴＥＬＬＩＧＥＮＴ  ＲＯＵＴＩＮＧ）」と題される米国特許出願がすべての目的のために参考のために示される。
【０００２】
背景技術
本発明は、概してネットワーク化された通信システム上でのデータのルーティングに関し、さらに詳細にはインターネットプロトコル（「ＩＰ」）ネットワークまたはインターネットなどのネットワーク上でのデータの制御されたルーティングに関する。
【０００３】
１つのこのようなデータネットワークが、企業と消費者の間の通信のためのトランスポートの方法としてますます使用されているインターネットである。性能のボトルネックは経時的に出現し、ビジネスに不可欠なアプリケーションのためのインターネットインフラストラクチャの有用性を制限する。これらのボトルネックは、通常、あるソースからある目的地への多くのネットワーク経路に沿って異なった場所で発生する。それぞれの別個のボトルネックは固有の解決策を必要とする。
【０００４】
「ラストマイル」ボトルネックは過去数年の間に最大の注目を集め、エンドユーザをインターネットに接続する帯域幅として定義することができる。ラストマイルの性能を劇的に改善するためにｘＤＳＬ及びケーブルインターネットアクセスなどの解決策が現れてきた。「ファーストマイル」ボトルネックとは、コンテンツがウェブサーバ上で提供されるネットワークセグメントである。ファーストマイルアクセスは、例えばさらに強力なウェブサーバ、サーバと記憶装置の間のさらに高速の通信チャネル、及びロードバランシング技法を使用することにより改善してきた。
【０００５】
しかしながら、「ミドルマイル」はインターネットルーティングの分野で対処されなければならない最後の障害であり、このようなボトルネックを解決する従来の手法の元では最も複雑な問題である。「ミドルマイル」、つまりインターネットのコアは大型バックボーンネットワークと、これらのネットワークがともに接続される「ピアリングポイント」から構成されている。ピアリングポイントは構造的に中途半端に構築されているため、それらはデータトラフィックの輻輳の領域となる傾向がある。一般的に、バックボーンネットワークプロバイダが協調して、このような輻輳を緩和するためのインセンティブは存在していない。すべてのインターネットトラフィックの約９５％以上がネットワークサービスプロバイダにより運営される複数のネットワークを通過することを考慮すると、コア帯域幅を増加し、例えば光学的なピアリングを導入するだけではこれらの問題に適切な解決策は提供されない。
【０００６】
ピアリングとは、２つのネットワークサービスプロバイダ（「ＮＳＰ」）、または代わりには２つのインターネットサービスプロバイダ（「ＩＳＰ」）が、固定のない（ｓｅｔｔｌｅｍｅｎｔ−ｆｒｅｅ）方法で接続し、それらのサブシステム間でルートを交換するときである。例えば、ＮＳＰ１がＮＳＰ２に匹敵する場合は、ＮＳＰ１はＮＳＰ１からＮＳＰ２内で、及び逆もまた同様に到達可能なルートだけを広告するだろう。これは、完全なインターネットルーティングテーブルが交換される通過接続とは異なる。別の相違点は、ピアリングは通常固定なし（ｓｅｔｔｌｅｍｅｎｔ−ｆｒｅｅ）である一方、通過接続が通常有料接続である点である。すなわち、それぞれの側はピアリングポイントに回路またはルートのコストを支払うが、超えていない（ｎｏｔ  ｂｅｙｏｎｄ）。ピアリング回路と通過回路（つまり有料ピアリング）のハイブリッドが存在するが、完全なルーティングテーブルの部分集合だけが送信され、有料ピアリングポイントに送信されるトラフィックは「変更なし」として受信される。このような応答は効果的なルート制御を妨害する。
【０００７】
ピアリングポイントを通して受信されるルートは、ボーダーゲートウェイプロトコル（「ＢＧＰ」）ルーティングの観点から離れた１つの自律システム（ＡＳ）である。それは、プロトコルによって（及びそれらのコネクションにはコストがかからないためプロバイダによっても）それら（ルート？）をきわめて好適にする。しかしながら、ピアリングポイントに容量の問題があり、ピアリングポイントを通る性能が劣化する（ｓｕｆｆｅｒｓ）場合、ＢＧＰに関連するトラフィックが依然として問題のあるピアリングポイントを優先するため、すべてのデータトラフィックのエンドツーエンド性能が劣化する。
【０００８】
構造上、インターネット及びそのピアリングポイントは一連の相互接続されたネットワークサービスプロバイダを含んでいる。これらのネットワークサービスプロバイダは、通常、それらの自律システム（ＡＳ）内の保証された性能またはサービスのレベルを維持する。保証性能は、通常、ネットワークサービスプロバイダとユーザ間のサービス内容合意書（「ＳＬＡ」）に指定されている。該サービス内容合意書は、プロバイダにそのネットワーク上で最小レベルのネットワーク性能を維持することを義務付ける。しかしながら、プロバイダは自分のシステムの外部の他のネットワークサービスプロバイダとこのような保証は交わさない。すなわちネットワークサービスプロバイダをリンクするピアリングポイント全体ではこのような合意書は提供されないのである。したがって、どちらの関係者もそのピアリングポイント全体でアクセスまたは最小レベルのサービスを他のネットワークサービスプロバイダと維持することは義務付けられていない。データトラフィックは、常にこれらのピアリングポイントで輻輳する。したがってエンドツーエンドのインターネット経路は通常アンマネージである。これはインターネットを必須のアプリケーションのためのデータトランスポート機構として信頼できないものにする。さらに、線路切断、（例えば、定期保守または更新動作のための）計画休止、装置故障、停電、ルートフラッピング及び多数のその他の現象等の他の要因が輻輳を悪化させる。
【０００９】
従来、複数のネットワークサービスプロバイダは、主要なネットワークサービスプロバイダ間で「プライベートＮＡＰ」サービスを使用することによりインターネットの一般的な不信頼性を改善しようと試みる。しかしながら、この解決策では、それ欄プロバイダの外部または下流のサービスレベルのコミットメントを維持することはできない。加えて、最適経路を選択するために使用されている一般的な技術的なアプローチはダウンストリームプロバイダのマルチパス（例えばＥＣＭＰ）の影響を受けやすい。従来の技術はこのようにしてリアルタイムで、またはほぼリアルタイムデ問題を検出したり、回避することはできない。
【００１０】
さらに、従来のネットワーク技術またはルーティング制御技術は出口トラフィック（つまりアウトバウンド）だけで作用する。しかしながら、ネットワークの入口トラフィック（インバウンド）を制御するのは困難である。これは、一般的には本来双方向であるアプリケーションにとって大部分のネットワーク技術及びルーティング制御システムを無効にする。これは、今日インターネット上で使用されている大部分の音声、ＶＰＮ、ＡＳＰ及び他のビジネスアプリケーションを含む。このようなビジネスアプリケーションは、多くの他の種類のアプリケーションだけではなく、時間に敏感な金融サービス、オンライン音声及びビデオコンテンツのストリーミングも含む。これらの欠点は、性能が維持されるか最適される、あるいはコストがインターネット上などのエンドツーエンドデータトラフィックで最小限に抑えられるという任意の種類の保証を複数のプロバイダ全体で防止することである。
【００１１】
いくつかの共通したアプローチでは、ある特定のネットワークサービスプロバイダにより提供されているサービスレベルを決定することが可能である。この技術は、少なくとも２種類を含む。第１は、ＩＣＭＰ、トレースルート、スティング（Ｓｔｉｎｇ）などのツール、及びＣＱＯＳ社（ＣＱＯＳ，Ｉｎｃ．）及びキーノート社（Ｋｅｙｎｏｔｅ，Ｉｎｃ．）などのベンダまたはサービスプロバイダを使用する、データ経路のほぼリアルタイムでのアクティブな較正である。別の従来のアプローチは、ＴＣＰダンプなどのツール及びネットワークアソシエーツ社（Ｎｅｔｗｏｒｋ  Ａｓｓｏｃｉａｔｅｓ，Ｉｎｃ．）、ナルス社（Ｎａｒｕｓ，Ｉｎｃ．）、ブリックス社（Ｂｒｉｘ，Ｉｎｃ．）及びＰキューブ社（Ｐ−ｃｕｂｅ、Ｉｎｃ．）などのベンダを活用して、送受されているトラフィックのリアルタイムパッシブ分析である。
【００１２】
しかしながら、これらの従来の技術的な方法はサービス内容合意書が違反されているかどうか、あるいはネットワーク性能が一般的にいつ劣化されるのかを判断するだけである。従来のインターネットルーティングに対する方法のどれも、データネットワーク全体での効果的なルーティング制御、あるいは分析のポイントを超えてネットワーク内の可視性を提供しない。このようなサービスレベルの分析はサービスレベル保証の必要な部分であるが、ＳＬＡ性能またはコストを保証することだけでは不十分である。したがって、該共通のアプローチは慢性的なウェブサイトの休止、不十分なダウンロード速度、神経過敏のビデオ及びファジーな音声などのインターネットの問題を検出する、あるいは最適に回避することもできない。
【００１３】
前述されたルート制御技法の欠点を克服するために、インターネットなどのデータネットワークの多くのユーザは２つまたは３つ以上のデータネットワークコネクションを使用している。複数のコネクションは、帯域幅つまりネットワークを横切ることができるデータ量のスループットを高める。帯域幅が増大すると、インターネットトラフィックの性能と信頼性は改善される。やはり技術で「マルチホーミング」として知られている、インターネットに対するこれらの複数のコネクションは通常複数のさまざまなネットワークサービスプロバイダ全体である。マルチホーミングは通常ボーダーゲートウェイプロトコルを使用して、１つまたは複数のネットワークサービスプロバイダのリンク全体でトラフィックを誘導する。この従来のアプローチは信頼性を高めるが、パケット損失、待ち時間及びジッタという点での性能は予測できないままである。この従来の予測不可能性はＢＧＰの固有の性質のために生じ、ある特定のエンドツーエンド経路で性能劣化としてトラフィックを別のルートに切り替えない。さらにＢＧＰはトラフィックを、宛て先への最少数のホップを提供するにすぎないリンク上に誘導する傾向があり、通常は最も費用効率が高いリンクではない。これは、複数のプロバイダ全体での帯域幅のオーバープロビジョニングなどの非効率な（ｉｎ  ｅｆｆｉｃｉｅｎｔ）ルーティング制御技法につながる。しかしながら、これは、金銭上またはそれ以外の場合のどちらかでコストの増加につながる。
【００１４】
従来のマルチホーミング技法の予測不可能性を考慮すると、ネットワークサービスプロバイダは、通常予測不可能なレベルのインターネット性能を、さまざまなコスト構造で送達する。今日使用可能なシステムはどれも、インターネットカスタマが、少なくともコスト、帯域幅、性能等という観点で複数のプロバイダ全体で帯域幅を管理できるようにしない。
【００１５】
発明の概要
したがって、技術では、従来の方法前述された短所を克服し、複数のネットワーク上でデータのルーティングを効果的且つ効率的に管理するためのシステム及び方法に対するニーズがある。したがって、データをトランスポートするために使用されるある特定の経路が、該特定の経路が少なくとも許容できる性能レベルと複数のネットワーク全体でのコストを維持するように選択されることを確実にするために、インターネットユーザなどのネットワークユーザにインテリジェントルーティング制御を提供するニーズがある。
【００１６】
ある実施形態では、本発明の１つの実施形態による例示的なフロー制御システム及び方法が例えばデータネットワークの端縁に配備される１つまたは複数のモジュールを含む。フロー制御システムは、リアルタイムまたはほぼリアルタイムで、高性能の経路上でトラフィックを連続的に監視、転送、または転送し直し、このようにしてビジネスに特殊なアプリケーション要件と一貫した予測可能な性能を可能にする。
【００１７】
例示的なシステムは、カスタマにより定義される性能ポリシーの定義と実現に加えて、カスタマにより定義される帯域幅使用ポリシーの定義及び実現を可能にする。ユーザによって定められるポリシーにより、ネットワークリソースの高価なオーバープロビジョニングなしに既存の帯域幅の費用効率が高い使用が可能になる。別の実施形態では、システム及び方法はＢＧＰなどのネットワーク構成を積極的に管理し、ネットワーク性能とコストの目的をＩＰインフラストラクチャの使用量に整合するためにレポートとツールを提供する。
【００１８】
別の実施形態では、本発明は、複数の技法を使用してインターネットトランシットプロバイダなどのさまざまなネットワークプロバイダ全体でトラフィック性能統計の監視に備える。システムには、ユーザのトラフィックが流れ込む、及びそこから流れ出す宛て先、それらの宛て先に到達するために使用される経路、損失または待ち時間性能及び定義したコストポリシーのトランシット使用が満たされているかどうか等を示す情報を与えられる。さらに、フロー制御システムはアプリケーションと無関係なトラフィックフロー識別及びトラフィックフローの性能測定、ユーザの視点からの複数のネットワーク全体での実際のエンドツーエンドフロー性能の正確な測定、リアルタイムまたはほぼリアルタイムの統計収集を実現する。さらに別の実施形態では、システムは、ユーザのトラフィックルーティングに対する違反、あるいは特定の宛て先向けのフローポリシーを検出し、ＢＧＰルート更新を例えばユーザのルータに発行することにより代替経路にトラフィックを向ける。
【００１９】
特定の実施形態では、本発明はデータネットワーク上で通信されるデータのためのポリシーを施行する方法を提供する。データネットワークは、ソースと宛て先の間などの第１のポイントと第２のポイントの間のデータを送るように設計されている。第１のポイントは第１のネットワークに結合され、同様に該第１のネットワークは１つまたは複数の第２のネットワークに結合される。第２のネットワークの１つが、第２のポイントへ通信されるデータをトランスポートするために第２のポイントに結合される。各ネットワークは、流れるデータを含む経路または経路セグメント、あるいは第１のポイントから第２のポイントへのデータのルーティングを含む経路のセグメントを含む。ネットワークの少なくとも２つが相互接続点で結合され、データは該相互接続点を通って流れる。方法は、少なくとも１つのセグメントと関連する少なくとも１つの使用量特性を監視することと、ポリシーの関連使用量要件と該少なくとも１つの使用量特性を比較することとを含む。別の特定的な実施形態では、方法は、第１のネットワーク内でのデータのルーティングに関連付けられる該少なくとも１つの使用量特性が使用量要件に違反しているかどうかを判断することを含む。
【００２０】
発明の実施の形態の詳細な説明
実施形態の詳細な説明をここに示す。しかしながら、本発明が多様な形態で具体化されてよいことが理解されなければならない。したがって、ここに開示されている特定の詳細は制限的として解釈されるべきではなく、むしろ主張の基礎として、及び実際的には任意の適切に詳説されるシステム、構造、方法、プロセスまたは様式において本発明を利用するために当業者に教示するための代表的な根拠として解釈されるべきである。
【００２１】
図１Ａ、図１Ｂ、及び図１Ｃは、本発明の特定的な実施形態を実践するために適切な基本的なハードウェア構成要素を描いている。図１Ａはディスプレイ画面５を有するディスプレイ３を含む例示的なコンピュータシステム１の図である。キャビネット７にはディスクドライブ、ＣＤ−ＲＯＭドライブ、ディスプレイアダプタ、ネットワークカード、ランダムアクセスメモリ（ＲＡＭ）、中央演算処理装置（ＣＰＵ）、及び他の構成要素、サブシステム及びデバイスなどの標準的なコンピュータ構成要素が収容されている。ボタン１３を有するマウス１１及びキーボード９などのデバイスが図示されている。トラックボール、タッチスクリーン、デジタル化タブレット、音声または視覚認識等の他のユーザ入力装置が使用できる。一般的には、コンピュータシステムは、本発明とともに使用するために適切なデスクトップコンピュータなどの１種類のコンピュータシステムを除き（ｂｕｔ）例証する。コンピュータは多くのさまざまなハードウェア構成要素で構成でき、多くの寸法及び様式で製造できる（例えばラップトップ、パームトップ、ペントップ、サーバ、ワークステーション、メインフレーム）。ここに説明される処理を実行するために適しているハードウェアプラットホームは、本発明とともに使用するのに適している。
【００２２】
図１Ｂは、コンピュータ１などのコンピュータに通常見出される可能性のあるサブシステムを描いている。図１Ｂでは、ボックス２０内のサブシステムが内蔵バス２２に直接的に接続されている。このようなサブシステムは、通常、図１Ａのキャビネット７の中などのコンピュータシステム内に含まれている。サブシステムは入力／出力（Ｉ／Ｏ）コントローラ２４、システムメモリ（またはランダムアクセスメモリ「ＲＡＭ」）２６、中央演算処理装置ＣＰＵ２８、表示アダプタ３０、シリアルポート４０、固定ディスク４２、同様に技術で既知である電気的な手段、無線手段、または光学手段などによってネットワークと通信するように構成されるネットワークインタフェースアダプタ４４（例えば、ネットワークインタフェースカード、つまりＮＩＣ）を含む。バス２２を使用することにより、サブシステムのそれぞれがサブシステムの間で、最も重要なことにはＣＰＵとデータを転送することができ、ＣＰＵはＳｐａｒｃ（登録商標）、Ｉｎｔｅｌ  ＣＰＵ、ＰｏｗｅｒＰＣ（登録商標）、または同等物である可能性がある。外部装置はバス上のサブシステムと接続することによってバス２２を介してＣＰＵまたは他のサブシステムと通信できる。したがって、モニタ４６はディスプレイアダプタ３０と接続し、相対ポインティングデバイス（例えばマウス）はシリアルポート４０などのポートを通して接続する。キーボード５０などのいくつかのデバイスは、例えば中断コントローラまたは関連付けられたレジスタを介してなどのように、メインデータバスを使用せずに直接的な手段によりＣＰＵと通信できる。
【００２３】
図１Ａに図示される外部物理構成の場合と同様に、多くのサブシステム構成が考えられる。図１Ｂは１つの適切な構成以外を示している。図１Ｂに図示されているもの以外のサブシステム、構成要素またはデバイスを加えることができる。適切なコンピュータシステムは、図１Ｂに図示されているサブシステムのすべてより少数を使用して達成することもできる。例えば、ネットワークインタフェース４４が必要とされないだろうため、スタンドアロンコンピュータはネットワークに結合される必要はない。ＣＤ−ＲＯＭドライブ、グラフィクアクセレレータ等の他のサブシステムは本発明のシステムの性能に影響を及ぼすことなく構成に含むことができる。
【００２４】
図１Ｃは本発明の実施形態を実践するために使用される可能性のある典型的なネットワークの汎用図である。図１Ｃでは、ネットワークシステム８０は、インターネット、ＷＡＮ（広域ネットワーク）または類似したネットワークなどのコンピュータデータネットワーク８２に結合される複数のローカルネットワークを含む。ここに説明されているようなネットワークシステムは、ソースから宛て先へ、及び逆もまた同様に１つまたは複数の経路を構成する、１つまたは複数のローカルネットワーク及びネットワークサービスプロバイダに関する。しかしながら、ネットワークシステムは、ネットワーキング技術を使用して通信する１台または複数台の計算装置を含むデータネットワークも示すと理解される必要がある。特定のネットワークプロトコル、物理層、トポロジ、及び他のネットワークプロパティがここに提示されているが、本発明は、（他のネットワークに相互接続されるマルチホーミングネットワークなどの）任意の経路が多岐に渡るネットワーク、特に、プロトコルに従って情報の１つまたは複数のパケットを有するフローなどのデータを転送するためのインターネットプロトコル（ＩＰ）を利用するそれらのネットワークとともに使用するために適している。さらに、特定のインプリメンテーションは図１Ｃに図示されていないが、普通の熟練者は、ネットワークシステム８０と動作するために、１つまたは複数のデータネットワーク８２内で本発明によるフロー制御システムを配備または構成できることを理解する必要がある。
【００２５】
図１Ｃでは、コンピュータユーザ１がサーバ１に接続され、コネクションはイーサネット、非同期転送モード、ＩＥＥＥ規格  １５５３バス、モデムコネクション、ユニバーサルシリアルバス等の任意のネットワークプロトコルによる場合がある。通信リンクはワイヤである必要がないが、赤外線、電波伝送等である場合がある。描かれているように、サーバ１は、インターネットあるいは例えばデータ通信のためにインターネットプロトコルを使用する任意の他のデータネットワークなどのデータネットワーク８２に結合されている。データネットワークはサーバルータ８２の集合体として象徴的に図示されている。
【００２６】
情報の分散または通信のためのインターネットの例示的な使用は、本発明を実践するために厳密に必要ではないが、特定の実施形態を描くために単に使用されるにすぎない。さらに、サーバコンピュータの使用、及びサーバマシンとクライアントマシンの指定は本発明のインプリメンテーションにとって重大ではない。ユーザ１コンピュータは直接的にインターネットに接続できる。サーバ１のインターネットへのコネクションは、それはユーザ１の場合と同様に類似した様式で接続される可能性もあるが、通常、Ｔ１回線、Ｔ３回線、メトロエリアイーサネット等などの相対的に高い帯域幅の伝送媒体による。同様に、他のコンピュータ８４は、ユーザ１コンピュータとは別の場所にあるローカルネットワーク（例えば、ローカルエリアネットワーク、つまりＬＡＮ）を活用して示されている。８４にあるコンピュータはサーバ２を介してインターネットに結合される。コンピュータ８４は単一サーバ（例えばサーバ２）だけを含むとして示されるが、コンピュータ８４と関連付けられているローカルネットワークに２台または３台以上のサーバを接続することができる。ユーザ３とサーバ３構成は、まだ計算装置の第３のネットワークを表している。
【００２７】
図１Ｄは、アクティブな較正だけを使用するルート制御システムに対する典型的なマルチパス（例えばＥＣＭＰ）技法の影響を示す。指定ネットワークサービスプロバイダについて、ワシントンＤＣとサンホセの間には考えられる２つの経路が存在する。第１の経路１７０はニューヨーク、シカゴ及びシアトルを横断する。第２の経路１７１はアトランタ、ダラス、及びロサンジェルスを横断する。該経路のどちらかを使用するコストがルーティングプロトコルで等しいと仮定する。大部分のルータベンダは、２つの等しいコストの経路を提示されると、それらの間でトラフィックを負荷分担し（ｌｏａｄ  ｓｈａｒｅ）、同じ流れの中の経路が同じルートに従うことを確認する。経路の選択プロセスはベンダに特定であり、通常、既知のソースと宛て先のＩＰアドレスに依存する。ソースＩＰアドレスと宛て先ＩＰアドレスが同じでない限り、トラフィックは別の等しいコストの経路を取る可能性がある。経路較正は、宛て先ＩＰアドレスは同じであるが、ソースＩＰアドレスは異なっているために、カスタマのトラフィックがダラス１７３を通る南部経路を取ってよいが、ワシントンＤＣとサンホセ間のネットワーク全体で送信されるアクティブなプローブがシカゴ１７２を通る北部経路を取ってよいことを仄めかしている。従って、測定される経路は、カスタマのトラフィックによって実際に取られる経路でない可能性がある。本発明はとりわけ、本発明によるカスタマデータトラフィックのサービスレベルを保証するためのシステム及び技法を使用して、データトラフィックを含むルートをインテリジェントに制御した。
【００２８】
図１Ｅは、ＮＳＰ９２を含む図１Ｃのネットワークシステム８０の一部の中の例示的なデータネットワーク、及び本発明の特定の実施形態によるフロー制御システムを描いている。例示的なフロー制御システム９０はデータネットワークの１つまたは複数のネットワーク要素と通信するように構成されている。フロー制御システム９０は、ソースネットワーク９４、スイッチ９６、及びルータ９９の要素の外部に、それらと通信して図示されているが、フロー制御システム９０は図示されている要素のどれかで全体的に具体化できる、あるいは代わりに該要素のそれぞれで分けて分散できる。別の実施形態では、フロー制御システム９０は例示的なソースネットワーク９４内の１つまたは複数のサーバまたはネットワーク要素に常駐する。
【００２９】
例示的なデータネットワークは１つまたは複数のソースネットワーク９４を含む。ソースネットワーク９４は、通常、アプリケーションサービスプロバイダ、管理サービスプロバイダ、コンテント送達ネットワーク、ウェブホスト企業、個々の企業、法人、エンティティ等により所有、運営される１台または複数台のサーバを含むローカルネットワークである。このようなサービスプロバイダは、通常、ＮＳＰ１、ＮＳＰ２、ＮＳＰ３，．．．及びＮＳＰｎなどのマルチホーミングネットワークサービスプロバイダ９２からさらに削除されるユーザに情報を通信する。一例では、ネットワークサービスプロバイダ９２は、データネットワークの第１の集合と見なされるように、ソースネットワークまたはソースポイントに結合される。これらのＮＳＰ、つまりデータネットワークの第１の集合は同様にネットワークの第２の集合に結合され、第２の集合は複数の他のネットワークに接続され、このようにしてソースから宛て先への１つまたは複数の経路を確立する。ここに説明されているような経路は、各セグメントが完全にプロバイダ内に常駐する複数のセグメントに分割される、ソースから宛て先へのルートである場合がある。
【００３０】
ルータ９８と複数のネットワークサービスプロバイダ９２間の複数のコネクションは、最良の成果を上げるネットワークサービスプロバイダに従った直接データトラフィックにソースネットワーク９４の運用者を提供する。スイッチ９６は、ＩＰデータなどの双方向データ９９を、ソースネットワーク９４からルータ９８に双方向で転送するために動作する。単一のルータとスイッチが図示されているが、普通の技術の熟練者は、追加ルータとスイッチまたは他の適切なデバイスのどちらかが、本発明の別の実施形態に従って置換できることを認識するだろう。さらに、スイッチ９６は主題発明を実践するために使用される必要はない。特定の実施形態では、ルータ９８は、例えば（シスコ（登録商標）（Ｃｉｃｓｏ）またはジュニパーインプリメンテーション（登録商標）（Ｊｕｎｉｐｅｒ  ｉｍｐｌｅｍｅｎｔａｔｉｏｎｓ）などの）ボーダーゲートウェイプロトコルなどの例示的なプロトコルを実行する１台または複数台のルータを含み、好ましくは複数のネットワークサービスプロバイダ全体でのルート可視性を有する。
【００３１】
フロー制御システム９０の実施形態では、システム９０は、性能、コスト、帯域幅等のフロー特性の観点からエンドツーエンド（つまりソースから宛て先及び宛て先からソースへの）データトラフィック９５を操作する。フロー制御システム９０は、リアルタイムまたはほぼリアルタイムで複数のネットワークサービスプロバイダ全体でデータ経路と関連付けられる統計も作成する。このような統計は、オンザフライレポートが作成され、ルート変更活動、選択された宛て先に送達されるようなトラフィック性能、及びトランジットプロバイダ使用量（つまり帯域幅）、コスト等に関する情報を提供するようにネットワークエンジニアリング人員に、例えばレポート情報９１を提供するためにソースネットワーク９４に通信される。
【００３２】
本発明のある実施形態では、ローカルコンピューティング装置がシステム９０からレポート情報９１を使用し、例えばユーザフレンドリインタフェース（「ＵＩ」）上で視覚表現及びグラフィック表現を生成し、該表現は（ソースと宛て先間の経路などの）１つまたは複数の経路に沿ったデータトラフィックを示す。ソースネットワーク９４にアクセスするネットワーク人員、またはフロー管理を担当する任意のエンティティは、次に制御情報９３をフロー制御システム９０に提供し、例えば、働きの悪い現在の、つまりデフォルトの経路から働きがよい経路にデータ後らフィックフローを変更することによりシステム動作を修正できる。しかしながら、ネットワーク人員による介入は、フロー管理システム９０が本発明に従って動作するには必要ではない。
【００３３】
フロー制御システム９０は、さらに、ある特定のトラフィックフローが関連するフローポリシーの１つまたは複数の規則を満たすかどうかを判断するために特定のデータトラフィックフロー（つまりデータネットワークへのアウトバウンドの、及びデータネットワークへのインバウンドの単方向と双方向のトラフィックフローの両方）を比較するために機能する。ここで参照されるようなフローポリシーは、（例えば、ＩＰアドレス接頭語により示されるように）特定のシステムユーザに関係する特定のデータトラフィックフローと関連付けられる１つまたは複数の規則の集合を含む。
【００３４】
規則、つまり基準は最小レベル、最大レベル、またはトラフィックフロー特性と関連つけられる許容できるルーティング動作を定義する一連の値である。例えば、規則は、ネットワークサービスプロバイダのコストを考慮する、あるいは考慮しない最大許容コスト、特定のプロバイダを通るトラフィックフローと関連付けられる最大負荷または帯域幅使用量、一連の許容できる（または許容できない）サービスプロバイダ、複数のネットワークサービスプロバイダ全体での１つまたは複数の経路上での最大許容可能待ち時間または損失、最大バースト制限、最小性能コミットメント、及びコストの範囲（つまり、日時、トラフィックの種類等を考慮したコスト構造）などの、各ネットワークサービスプロバイダのための性能の許容範囲、及びデータトラフィックの測定または制御に影響を及ぼすことがある任意の他のデータフロー特性を設定できる。
【００３５】
フロー制御システム９０は、さらに、１つまたは複数の規則、つまりポリシーを施行することがいつ違反されるのかを検出し、次に矯正処置を講じるために動作する。すなわちフロー制御システム９０は、性能（つまり、サービスレベル保証）における有害な偏差、コストまたは帯域幅（つまり、経路単位で使用可能な％の容量単位での負荷）を補正することにより、データトラフィックフローに関連付けられるフローを施行する。フロー制御システム９０は、リアルタイムまたはほぼリアルタイムのトラフィック分析、ローカル経路ダイバシティ（つまり、データネットワークからの１つまたは複数の出口経路の修正）、及び下流の使用可能な経路に対する可視度に基づいてこのような補正を行う。例えば、ある特定のトラフィックフローに関係する宛て先について、フロー制御システム９０は、フロー特性という点で、ある特定のフローのそのフローポリシーからの逸脱を解決するために１つまたは複数の代替経路にトラフィックを向けるまたは向け直す。
【００３６】
図２は、図１Ｄのフロー制御システム９０の特定の実施形態を描く。別の実施形態では、図２のフロー制御システムは反応フロー制御システムである。すなわち、反応フロー制御システムは、許容できる動作のなんらかの目標とされるレベルでの性能を最適化するのではなく、１つまたは複数のデータネットワークまたはサービスプロバイダでのデータトラフィックの規格はずれのルーティングを示すポリシー違反に反応する（つまり、合格−不合格基準に対処する）ように設計されている。
【００３７】
フロー制御システム２００は、コントローラ２０５、パッシブ較正装置２０３、アクティブ較正装置２０８、構成要素２１１、及び使用量コレクタ２１４を含み、そのそれぞれはハードウェア、ソフトウェアまたはその組み合わせで実現できる。例えば、コントローラ２０５、パッシブ較正装置２０３、アクティブ較正装置２０８、構成要素２１１及び使用量コレクタ２１４は、本発明に従ってここに説明されるような特定のプロセスを実行するように設計されたソフトウェアモジュールである。このようなモジュールは、図１Ａに図示されるコンピューティング装置などの１台または複数台のコンピューティング装置に、あるいは代わりにデータネットワークまたはネットワークシステム上で結合される１台または複数台のユーザ型機械（つまり、サーバ）に常駐できる。
【００３８】
例示的なパッシブ較正装置２０３、アクティブ較正装置２０８、及び使用量コレクタ２１４はコントローラ２０５に結合され、部分的にデータトラフィックのフロー特性を提供する。コレクタ２０５は施行されるフローポリシーだけではなく監視されたフロー特性も受け取る。コントローラ２０５は、フローポリシーが違反されているかどうかを判断し、このような違反が検出された場合には、次に違反を解決するための矯正処置を選択するように構成される。構成要素２１１は、矯正処置を開始するための情報を受け取るために使用されるコントローラ２０５に結合され、データディレクタ２２０にこのような処置を伝達する。それ以後、データディレクタ２２０が、例えば、現在の経路から働きがよい経路にトラフィックフローを変更することにより未決の違反を解決するための補正処置を実現する。
【００３９】
さらに、フロー制御システム２００はトラフィックレポジトリ２２１及びフローポリシーレポジトリ２１８を含む。例示的なトラフィックレポジトリ２２１及びフローポリシーレポジトリ２１８は、１つまたは複数のデータ構造の中に多数のレコードを記憶するように構成された、記憶装置などのデータベースである。トラフィックレポジトリ２２１は、トラフィック特性及びルート特性に関する情報を記憶し、通信するように設計され、フローポリシーレポジトリ２１８は、データトラフィックフローのそれぞれの性能とコストを規定するためのポリシー情報または規則を記憶、通信するように設計される。データベース管理の技術の普通の技能の熟練者は、本発明のレポジトリを達成するために多くのデータベース技法が利用されてよいことを理解する必要がある。
【００４０】
運転中、図２のフロー制御システム２００は、ＩＰデータトラフィックなどの出口と入口のデータフロー２０１を監視し、ソースネットワークとの間のデータフロー２０１が関連フローポリシーにより設定される性能公差範囲内にあるかどうかを判断する。フロー制御システム２００は、ある実施形態では、光スプリッタなどのスプリッタ、または普通の技術の技術野熟練者に既知である任意の他のタッピング手段を使用することにより、例えばネットワークスイッチによってなど、複製によりデータフロー２０１を受け取る。データフロー２０１内に含まれている情報とまったく、またはほぼまったく同じであるデータフロー２０２はパッシブ較正装置２０３に提供される。
【００４１】
パッシブ較正装置２０３はデータフロー２０１のデータトラフィックを監視し、トラフィックとトラフィック性能に関係する情報２０４をコントローラ２０５に通信する。コントローラ２０５は、特定のデータフローなどの特定のトラフィックフローに対応する１つまたは複数のポリシーを表すポリシーデータ２０６を受信するように構成される。さらに、特定のデータフローは、例えば宛て先接頭語によって識別される一定のユーザに関連付けることができる。ポリシーデータ２０６から、コントローラ２０５は性能のレベル、コストまたは特定のトラフィックが満たさなければならない稼働率を決定する。例えば、コントローラ２０５は、インバウンドネットワーク待ち時間とアウトバウンドネットワーク待ち時間、パケット損失及びネットワークジッタなどの、データフロー２０１の特定のトラフィックフローが定められた性能レベル（つまりサービスレベル）を満たしているかどうかを判断する。
【００４２】
アクティブ較正装置２０８は、変化する種類の１つまたは複数のアクティブプローブ２０７をデータネットワークの中に送信し、データネットワークから受信するために機能する。これらのプローブは、１つまたは複数の使用可能なプロバイダ（つまり、プロバイダがピアＡＳよりむしろトランジットＡＳであるかどうかを判断するために）全体で取られた経路、使用されている次のホップ（ｎｅｘｔ  ｈｏｐ−ｉｎ−ｕｓｅ）、及び他のネットワークパラメータを含むネットワーク性能を測定するように設計される。アクティブ較正装置２０８を起動するために、コントローラ２０５はアクティブプローブ要求２０９をアクティブ較正装置２０８に送信する。コントローラ２０５が、代替経路に関する追加情報を決定するか、あるいはネットワークシステム特性が反応フロー制御システム内でポリシーをさらによく施行する、あるいは代わりに最適化されたフロー制御システムでこのようなポリシー違反を妨げるために必要である場合に、このような要求が必要とされる。
【００４３】
使用量コレクタ２１４は、１つまたは複数のネットワークプロバイダ構成を表現するＮＳＰデータ２１７を受信するように構成される。一般的には、このような構成は各プロバイダと関連する経路（「パイプ」）の数及びそのサイズを含む。さらに、ＮＳＰデータ２１７は、プロバイダのコストまたは料金請求書作成発行構造に関係し、各プロバイダのアドレスの関連する集合または部分集合、各プロバイダの料金請求書作成発行方法（つまり、毎分あたりバイト等）等を含むこともできる。さらに、使用量コレクタ２１４はスイッチ、ボーダルータ、プロバイダギア、及びデータネットワーク上でデータを移送するために使用される他のデバイスなどのネットワーク要素から使用量情報２１３を収集するように構成される。使用量コレクタ２１４は、ＮＳＰデータ２１７と使用量情報２１３に基づいた集計データを表すプロバイダ稼働率と料金請求書作成発行の情報２１５をコントローラ２０５に提供するように構成される。稼働率と料金請求書作成発行の情報２１５は、当該のネットワークサービスプロバイダごとにコスト、料金請求書作成発行、稼働率等を表すデータを含む。
【００４４】
普通の技術の熟練者は、ＮＳＰデータ２１７が多岐に渡る方法で使用量コレクタ２１４に提供できることを理解しなければならない。例えば、データはデータフローにより使用されるデータ経路によって提供できる、あるいはそのようにする権利を有するエンティティによって提供でき、このようなネットワークエンジニアは図１Ｅのソースネットワークのコンピューティング装置に該データを入力する。
【００４５】
さらに、使用量コレクタ２１４は、ネットワークサービスプロバイダのデータトラフィック容量、コスト等を定義する使用量特性を監視するように構成される。使用量コレクタ２１４に提供される使用量情報２１３は、スイッチ、ボーダルータ、ルータ、プロバイダギア、及びデータネットワーク上でデータを移送するために使用される他のデバイスなどのネットワーク要素からの使用量特性を含む。使用量は、例えば、各ネットワークサービスプロバイダの負荷及び使用可能な容量を定義する特性（つまり使用量特性）の瞬時またはほぼ瞬時の測定値を表す（時間（０）でのＸ  Ｍｂサンプルなどの未処理データ）データを指す。稼働率は経時的な使用率である。例えば、ＮＳＰ１を監視している使用量コレクタがその稼働率、つまり経時的な容量を時間（０）でのＸ  ＭＢ及び時間（１）でのＹ  Ｍｂとして測定すると仮定する。この未処理データ、つまり使用量は、稼働率、つまりＮＳＰ１についての使用率を計算する（例えば、Ｙ−Ｘ／時間（１）−時間（０））ために使用される。帯域幅は、経路またはトラフィックフローに使用可能な経路のセグメントごとの総容量である。ある実施形態では、使用量は、任意の数のホップでの任意の経路の任意のセグメント、または第１のポイントからのネットワークで測定できる。負荷は、通常、特定の経路がデータトラフィックを搬送するために使用される容量の量を定義し、負荷／帯域幅として表すことができる。
【００４６】
使用量コレクタ２１４は、使用量情報１２１３とＮＳＰデータ２１７に基づいて稼働率と料金請求書作成発行情報２１５を生成するように設計されている。プロバイダのそれぞれが、使用量コストを決定するための方法だけではなく、異なるコストと料金請求書作成発行構造を有しているため、使用量コレクタ２１４はコントローラ２０５に稼働率と料金請求書作成発行情報２１５を与えるために相応して使用量情報２１３を集計するために動作する。
【００４７】
使用量コレクタ２１４は、次に、当該のネットワークサービスプロバイダごとに稼働率料金請求書作成発行情報２１５をコレクタ２０５に提供する。普通の技術の熟練者は、使用量コレクタが、ルート制御をさらに上手に達成するために必要に応じて、プロバイダ使用量情報に基づいて追加情報をコントローラに提供できることを理解する必要がある。
【００４８】
コントローラ２０５は、パッシブ較正装置２０３、アクティブ較正装置２０８、使用量コレクタ２１４、及びオプションでトラフィックレポジトリ２２１のそれぞれから情報（つまり、集計された性能と使用量特性）を収集する。収集された情報に基づいて、コントローラ２０５は、コントローラ２０５に伝達されるポリシーデータ２０６により表される情報に関してポリシー違反を最もよく緩和する行動計画を決定する。いったん行動計画が決定されたら、コントローラ２０５はネットワークルーティング変更要求２１２を開始し、構成要素２１１に送信する。特定の実施形態では、コントローラ２０５は、ポリシー違反を解決するために使用できる１つまたは複数の代替データ経路を表すデータも提供する。
【００４９】
構成要素２１１は、データディレクタ２２０にネットワーク内のルーティング変更を伝達するように設計される。いったん構成要素２１１が１つまたは複数のルーティング変更を送信すると、データディレクタ２２０は次に現在の経路から別の経路（例えば、ＮＳＰ１からＮＳＰｎに、またはＮＳＰ１の第１の経路からＮＳＰ１の第２の経路）にデータフロー２０１を移動する。このようにしてデータディレクタ２２０は、例えばコスト及び各リンク全体で測定される性能に基づいて複数のネットワークサービスプロバイダリンク全体でこれらの宛て先へのトラフィックを分散するために動作する。
【００５０】
運転中、構成要素２１１は、例えばＢＧＰなどのルーティングプロトコルを使用することにより、データディレクタ２２０と、１つまたは複数のルーティング変更２１０を通信する。構成要素２１１は、構成要素２１１を通過するトラフィックのソースアドレスを修正することによってルーティング動作を動的に制御するために機能する。ソースアドレスは、コスト要件だけではなくアプリケーション性能も改善するように修正される。
【００５１】
以下の説明は、例示的な制御システム２００の要素のそれぞれのさらに多くの説明である。アクティブ較正装置２０８を参照し直すと、アクティブ較正装置２０８は、下流経路または上流経路の性質を決定するためにシステム２００内でアクティブな機構を提供する。この情報は、通常、インターネットなどのデータネットワーク上で使用される任意の従来のプロトコルでは使用できず、通常のプロセスネットワーキングの外部で収集されなければならない。図２に示されているように、アクティブ較正装置２０８は、最小性能レベルなどのポリシー要件を満たしていない少なくとも１つの宛て先接頭語を提供するためにコントローラ２０５に結合される。いったん受信されると、アクティブ較正装置２０８は、次に、性能レベルだけではなく宛て先アドレスに対する使用可能なネットワーク経路の大部分またはすべてを決定する較正プロセスを開始する。コントローラ２０５は、施行または補正を必要とする特定のポリシーに基づいて、アクティブ較正装置２０８が使用することになる最も適切なプローブを選択し、それ以後アクティブ較正装置２０８を使用してネットワーク経路のアクティブな厳密な調査を開始するように設計される。
【００５２】
ある実施形態では、アクティブな較正プローブがプローブ経路２０７を介して使用可能なネットワークまたはインターネット経路に伝達される。戻る側のアクティブな較正プローブはプローブ経路２０７を介してアクティブ較正装置２０８に入る。アクティブ較正装置は、次にプローブ情報２０９を、代替使用可能経路を含む性能情報を含むコントローラ２０５に転送する。コントローラ２０５は、次に、主題のトラフィックフローと関連するポリシーの詳細を最善に施行する方法を決定する。例示的なアクティブ較正装置２０８は、例えば長期統計を提供するためにアクティブ較正機構を利用する。
【００５３】
本発明の別の実施形態では、アクティブ較正装置２０８はコントローラ２０５内のデータディレクタ２２０に常駐するか、あるいは代わりにコントローラ２０５に統合できる。本発明を実践するために適切な市販されているルータの複数の独占インプリメンテーションがある。適切なアクティブプローブの１つの例はＲＭＯＮプローブである。シスコのシステムは、アクティブプローブを送出するために遠隔操作（「ＲＭＯＮ」）プローブから派生するサービス保証エージェント（「ＳＡＡ」）を使用する。ＳＡＡにより、ルータはネットワーク発のアプリケーション往復時間を測定、報告できる。後述されるあらゆるプローブがＳＡＡにおいてネットワーク較正に使用できるわけではないが、当業者は、以下のそれぞれが本発明の１つまたは複数の実施形態を実践するためにどのようにして実現される可能性があるのかを理解するだろう。
【００５４】
例示的なアクティブ較正装置２０８は、ＩＣＭＰ（インターネット制御メッセージプロトコル）エコー要求または他のピーンと音を出す（ｐｉｎｇ）型のプローブ、軽量ＴＣＰベースプローブ、スティング（Ｓｔｉｎｇ）プローブ、「ｐａｔｈｃｈａｒ」プローブ、ユーザデータグラムプロトコル（「ＵＤＰ」）パケットを所定のＴＴＬ（生きる時間）とともに使用する軽量プローブ、ｔｒａｃｅｒｏｕｔｅプローブ、または本発明に従ってアクティブな較正装置２０８による使用に適している他のアクティブを使用できる。
【００５５】
図２のアクティブ較正装置２０８により受信し直されるこれらのプローブはそれらのソースアドレス単位で送出される。このようなプローブはすべて、例えばローカルな施設内に常駐する例示的なｓｔａｔｓコンピュータシステムで、またはルータ上のｓｔａｔｓプロセスとして調達、受信される。別の実施形態では、アクティブな較正装置及びプローブのその使用は米国特許出願番号第０９／８３３，２１９号及び代理人明細書番号第０２１０８９−０００１００ＵＳ号を有し、２００１年４月１０日に提出された「インテリジェントルーティングによりネットワークサービスレベルを保証するためのシステム及び方法（Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｔｏ  Ａｓｓｕｒｅ  Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌｓ  ｗｉｔｈ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｒｏｕｔｉｎｇ）」と題され、すべての目的のために引用例として本明細書に取り込まれる米国特許出願に説明されているプローブに従って動作する。
【００５６】
図２の例示的なパッシブ較正装置２０３は、カスタマネットワークまたはインターネットトラフィックなどのネットワーク通信データ２０１を妨害せずに受信するように構成される。パッシブ較正装置２０３により監視されるようなネットワーク通信データ経路２０１（つまりＩＰデータトラフィック）は、データディレクタ２２０からパッシブ較正要素２０３に提供されるデータトラフィックのデフォルトの、あるいは現在転送されている経路を含む。現在転送されている経路は、例えばパケットが、標準的なルーティングプロトコルにより決定されるように取るだろうルータ間の経路（例えば、ホップ単位）である。パッシブ較正装置２０３は（つまり、電気的に、光学的に、または電波によって等）コントローラ２０５に結合され、特定のＩＰデータトラフィックがフローポリシーにより決定されるような許容できる性能測定基準範囲内にあるかどうかを示す情報を提供する。パッシブ較正装置２０３は、データフロー２０２を介して受信されるすべてのトラフィックを瞬間的に監視するために動作し、図１Ｄに関して図示されるようにＥＭＣＰなどのアクティブトラフィック分析だけに依存するという複雑な状態を克服するように設計されている。コントローラがポリシー違反に対処すると、例えば、パッシブ較正装置２０３はマルチパス（例えばＥＣＭＰ）が存在する場合にアクティブトラフィック分析だけを実行するという困難な状況を克服するために動作する。
【００５７】
本発明の別の実施形態では、パッシブ較正装置２０３が両方向（つまり、入口と出口）でのトラフィックストリームを検査し、フローの中へのトラフィックストリームのそれぞれを分類する。トラフィックフローは経時的に根本的なプロトコル状態（例えばＴＣＰセッションに関してなど）に従ってパッシブ較正装置２０３内で監視される。例えば、パッシブ較正装置２０３は往復待ち時間、失われたパケットのパーセンテージ、及びトラフィックルートまたはフローごとのジッタに従ってトラフィックフローを分類する。このようなトラフィックルート情報は、流量を含むトラフィックフローを搬送する経路の「エンドツーエンド」性能を特徴付けるために使用され、一連のネットワーク接頭語に集計される。
【００５８】
前述されたように、パッシブ較正装置２０３は、トラフィックレポジトリ２２１（コネクションは図示せず）に記憶されるトラフィック情報とルート情報を記憶、フェッチ、及び更新するために結合される。例示的なトラフィックレポジトリ２２１は、例えばネットワークサービスプロバイダの運用者だけではなく、図２のシステム２００などのフロー制御システムを利用するエンドユーザに有効であるトラフィック情報とルート情報をあらわすデータを記憶し、維持するように構成されるデータベースである。トラフィックレポジトリ２２１内のデータはトラフィックについての長期的な統計を含んでいる。これらの統計は、分析の目的を報告し、本発明によるフロー制御システムのユーザに一般的なフィードバックを与えるために使用されるだろう。
【００５９】
このようなフィードバックは、例えば、送信されているトラフィック、ソースアドレス、宛て先アドレス、アプリケーション、（差別化された料金請求書作成発行システムに統合される可能性のある）ＴｏＳまたはＤＳＣＰ（「ＤｉｆｆＳｅｒｖコードポイント」）設定値により送信されるトラフィック、及びトラフィックの量から成り立つ。これらの統計は、例えばレポートエンジンまたはなんらかの他の分析プロセスがそれらにアクセスするトラフィックレポジトリ２２１の中に送られる。トラフィックレポジトリ２２１に記憶される情報は、当業者に理解されるように任意の適切なデータ構造に配列されるこのようなトラフィックルート特性を表すデータである。
【００６０】
図３は、本発明の実施形態によるパッシブ較正装置３０３の例示的な要素を示す詳細な機能ブロック図である。パッシブ較正装置３０３は、例えば、パッシブフローアナライザ３３０、エクスポートフローアナライザ３３１、及びコンテンツアナライザ３３２を含む。
【００６１】
ある実施形態では、パッシブフローアナライザ３３０が現在のトラフィックフロー特性を監視するためにトラフィックに関してパッシブ分析を実行するため、コントローラは、監視されている現在のトラフィックフローが関連するポリシー要件を満たすかどうかを判断できる。エクスポートフローアナライザ３３１は、トラフィックタイプ、ソースアドレスと宛て先アドレス、及びそれがサービスプロバイダリンク全体で移動するトラフィックに関係する他の情報を広告するそれらのデバイス（例えばルータ）からなど、ネットワークデバイスからエクスポートされたフローレコードに関してパッシブ的な分析を実行する。このようなネットワークデバイスの一例がシスコのネットフロー（登録商標）（Ｎｅｔｆｌｏｗ）製品である。別の実施形態では、パッシブフローアナライザ３３０が、前述された米国特許出願番号第０９／８３３，２１９号に説明されるパッシブフローアナライザに従って動作する。
【００６２】
コンテンツフローアナライザ３３２は、ウェブサイトコンテンツなどのデータコンテンツの特定の要素のパッシブ分析を実行する。エクスポートフローアナライザ３３１及びコンテンツフローアナライザ３３２は特定のユーザのポリシーに関連付けられている関連接頭語の集合つまり接頭語リスト３３４を決定する。接頭語リスト３３４は、このような接頭語を表すデータとしてコントローラ内のアクティブな検出プロセスに送信される。接頭語リスト３３４は、接頭語リスト３３４は、１つまたは複数のリスト、つまり性能及び使用量特性を表すデータを記憶するように較正されるデータ構造である場合があり、例えばコントローラによる照会を受け取るように設計されている。いったん照会されると、パッシブフローアナライザは、どのルートまたは経路がフローポリシーに従っているのか、どの経路がデータを転送するために最適な経路であるのか等を決定するために、該１つまたは複数の接頭語リスト、またはその部分を、ポリシー違反を決定する上で使用するためのコントローラに提供する。例示的な接頭語リストは、パッシブフローアナライザ３３０だけではなく、エクスポートフローアナライザ３３１及びコンテンツフローアナライザ３３２によっても生成できる。
【００６３】
図１７は、ここに説明されている接頭語リストの１つまたは複数に備えるために適切な例示的なデータ構造１９００を示す。データ構造、つまりリスト１９００は各アドレス（例えば宛て先）に関連する多くのレコード１９１０または可変粒度の接頭語とともに多くのＩＰアドレス１９２０を含む。各レコード１９１０はアドレス１９２０（つまり接頭語）、期間１９３０中の多くの発生、サンプリングされたバイトの数１９４０、サンプリングが発生した時間間隔（デルタｔ）１９５０、新規接頭語フラグ１９６０（１が新しい接頭語を表し、０が旧い接頭語を表す）等を含む。
【００６４】
リスト１９７０は、各アドレス１９２０つまり接頭語ごとに集計フロー情報を含む。例えば、レコード１９７５は以下のデータを含む。アドレス１．２．４．７の場合、このアドレスはサンプリング時間間隔（デルタ）ｔの間に４回監視され、総流量は３６０バイトである。新規接頭語フラグがセットされたレコード１９９０での場合（つまり、このアドレスが始めて監視されたとき）、新規接頭語リスト１９８０は、（デルタ）ｔ間隔で１回の発生（初回）を有するアドレス１．２．４．９を含む。技術野普通の熟練者は、他の関連データが監視されてよく、リスト１９００に記憶できることを理解する必要がある。さらに、アドレス、発生、バイト数、時間間隔等を表すデータは、コントローラが容易に入手できる方法でデータを操作するために使用できる。
【００６５】
例えば、リスト１９２０の中に記憶されるデータは、アドレスつまり接頭語に従って集計またはグループ化できる。図１７に図示されるように、集計リスト１９９５は１．２．４Ｘに対応するアドレスのグループを含む。例えば、集計アドレスのレコード１９９７は、アドレスの集合体が時間間隔中に５回監視され、５４０バイトの総量を有したことを示すデータを含んでいる。技術野普通の熟練者は、アドレスつまり接頭語が多くの方法でグループ化または集計できることを理解する必要がある。
【００６６】
エクスポートフローアナライザ３３１及びコンテンツフローアナライザ３３２も、過去に見たことがない接頭語が接頭語リスト３３４に追加されたときにコントローラ３０５に通知するように構成されている。新規接頭語通知信号３３５により、制御要素１００５はこの接頭語について新しい基準性能を確立し、必要に応じてルーティングテーブルに非デフォルトルート、つまり代替ルート（つまり非ＢＧＰ）を与える。ある実施形態では、エクスポートフローアナライザ３３１及びコンテンツフローアナライザ３３２が性能特性の監視に備える。
【００６７】
コンテンツフローアナライザ３３２は、通常、トラフィックフロー３４０のメインソースがウェブサイトまたは他のコンテンツであるときに使用される。コンテンツソース３４１は、最適化されなければならない特殊なまたは高級なコンテンツ３４２が、例えば埋め込まれたＵＲＬ３４３を使用することによりフロー制御システムによって識別できるように構成することができる。ＵＲＬ３４３は、コンテンツフローアナライザ３３２上で実行中の小さなコンテンツサーバにクライアントを向け直す。コンテンツフローアナライザ３３２は、通常は小さな画像ファイル（例えば、１×１  ＧＩＦ）であり、メインのオリジナルコンテンツに関して非可視である、あるいは感知できない該小さなコンテンツ要素に対する要求を受け取り、該小さなコンテンツ要素３４４でクライアントに応える。コンテンツフローアナライザ３３２は、このトランザクションを記憶する、またはログして、これらのログを使用することによって、コンテンツフローアナライザ３３２は集計を実行し、コンテンツ接頭語リスト３３４をアセンブルすることができる。リスト３３４は、例えばアクティブサービスレベル監視及びポリシー施行のために、コントローラ２０５に渡される。
【００６８】
図４は例示的なコンテンツフローアナライザ４３２の機能ブロック図を描いている。コンテンツフローアナライザ４３２は、例えば結果として生じるページ上で（感知できない必要はないが）感知できない１×１ピクセル画像ファイルであるコンテンツの小さな要素に対する要求４２０を処理する。該小さな要素はコンテンツのより大きなセットの高級なまたは一般的に特定のページに関連付けられている。該小さな要素は、例えばコンテンツの中に埋め込まれた小さなリダイレクトＵＲＬである。
【００６９】
小さなリダイレクトＵＲＬは、コンテンツの小さな要素に応えてＨＴＴＰ要求４２０を生成する働きをする。コンテンツフローアナライザ４３２はこの要求４２０と応答４２２を、例えば軽量ＨＴＴＰサーバ４５３と共に見る。このサーバは高速且つ軽量であり、画像ファイルで応答する以外何もしない。軽量ウェブサーバ４５３はウェブページを要求するクライアントのＩＰアドレスをログし、該１つまたは複数のアドレスをアグレゲータ（ａｇｇｒｅｇａｔｏｒ）５５４に送る。アグレゲータ４５４は、個々のＩＰ要素４２４を変化する粒度（例えば、／８から／３２）の接頭語に統合する、つまり照合し、各接頭語がある時間間隔で見られる頻度を集計する。
【００７０】
すなわち、アグレゲータ４５４はその発生頻度に従って接頭語を分類し、接頭語リストジェネレータ４５５に集計した（つまりグループ化した）接頭語４２６を提供する。接頭語リストジェネレータ４５５は、例えば、集計またはグループ化された接頭語４２６により定義されるようにシステムの全体的な動作に関する接頭語の重要性に従って宛て先接頭語リスト４２８を作成する。例えば、それぞれの監視されたトラフィックフローは、宛て先接頭語つまりアドレスと関連する性能特性を決定するために調べられる。
【００７１】
集まった接頭語４２６は、通常、フロー頻度、及び平均流量または総流量の観点から分類される。接頭語リストジェネレータ４５５は図２のコントローラ２０５に対し現在の接頭語リスト４２８に対する更新を送り、新規接頭語が認められると新規接頭語通知信号４３２でシステムの他の要素に通知する。接頭語リストジェネレータ４５５は、報告及び分析の目的で接頭語情報４３０を固定記憶域に記憶する。新規接頭語は、ある特定の時点まで道であった追加の代わりの経路または経路セグメントを提供する。新規接頭語に関連付けられた新規代替経路または経路セグメントはフローポリシー準拠に備え、このようにしてポリシー違反を未然に防ぐためにデータのルーティングを転送し直すまたは改変するために使用できる。
【００７２】
図３を参照し直すと、エクスポートフローアナライザ３３１は、アナライザ３３１によって使用可能なフォーマットでフロー情報をエクスポート（つまり通信）できるネットワーク要素に連動して動作する。１つの例示的なフォーマットはシスコのネットフロー（登録商標）エクスポートフォーマットである。また、ルータ３４５または層２スイッチなどのフロー情報をエクスポートするように設計された任意のネットワーク要素は、このようにしてそれが処理しているトラフィックをパッシブ的に監視するように構成され、エクスポートレコード３４６をエクスポートフローアナライザ３３１に転送する。エクスポートフローアナライザ３３１は、エクスポートフローレコード３４６を処理するために機能し、フローを接頭語要素に集計し、接頭語リスト３３４を作成する。接頭語リストは、通常、フロー制御システムにより観察されるすべての接頭語の部分集合である。接頭語は、観察期間での流量とフロー頻度に基づいてすべての接頭語から選択される。該選択された接頭語は、次に、例えば図２のコントローラ２０５に渡されたリストの前の接頭語リスト３３４に入れられる。
【００７３】
図５は、例示的なエクスポートフローアナライザ５３１の機能ブロック図を描いている。エクスポートフローアナライザ５３１はフォーマットインタプリタ５４９、パーサ５５０及び接頭語リストジェネレータ５５２を含む。フォーマットインタプリタ５４９は、それらを送信するように設計されたネットワーク要素からエクスポートフローデータグラム５２０を受信するように構成される。フォーマットインタプリタ５４９は、次に個々のフロー情報５２２をパーサ５５０に通信する。パーサ５５０は、パッシブ較正装置により監視されるフローから宛て先ＩＰ要素を解釈するために動作する。パーサ５５０は、例えば宛て先アドレスのフロー頻度だけではなく総流量または輸送率（例えば、バイト／時間単位の）にも従ってトラフィックフローを集計要素に集計する。その後、パーサ５５０は集計要素５２４をアグレゲータ５５１に送信する。アグレゲータ５５１は、次に接頭語レベルの宛て先情報５２６（つまり、集計接頭語量と周波数）を（例えば、／８から／３２までの）多岐に渡る接頭語粒度で生成する。言い換えると、アグレゲータ５５１は、周波数、セッションまたは特定の接頭語及び観察される時間間隔でのその接頭語に関係する発生の合計量を決定する。
【００７４】
宛て先接頭語リスト５２８は、例えば相対的重要度の順序で接頭語に関係するトラフィックフロー特性を分類し、編成することにより、接頭語リストジェネレータ５５２によって作成される。リスト５２８は、接頭語リスト５２８の集合体を表すデータを含み、ポリシー施行を確実にするためにシステムまたはエンティティにより決定されるように関連性を決定する際に編成される。例えば、１つまたは複数の接頭語は、全体的なシステムの中で使用可能な接頭語に関係してフロー頻度及び平均流量または総流量の観点で並べることができる。接頭語リストジェネレータ５５２は、現在の接頭語リストに対する更新を図２のコントローラ２０５に送り、新規接頭語が認められると新規接頭語通知信号２３２を介してシステムの他の要素にも知らせる。接頭語リストジェネレータ５５２は、報告及び分析の目的ですべての接頭語情報５３０を固定記憶域に記憶する。
【００７５】
図６は、図３の例示的なパッシブフローアナライザ６３０の機能ブロック図を描いている。ある実施形態では、パッシブフローアナライザ６３０は接頭語リスト６３４と新規接頭語通知信号６３５を作成するように設計されており、関連する特性にグループ化されたネットワーク性能と使用量統計を含む集計されたフローデータ６８０を生成する。例えば、経時的に観察されるように最高トラフィック量から最低トラフィック量に、特定のサイズの接頭語を集計する、あるいはグループ化することができる。集計されたフローデータ６８０はコントローラ６０５に通信され、現在のトラフィックフローが指定された宛て先のための関連付けられたフローポリシーに違反しているのか、あるいは準拠できないのかを判断するためにコントローラにより使用される。パッシブフローアナライザ６３０は集計されたフローデータ６８０を、それが履歴ルート及びトラフィックフロー性能を特徴付けるために使用できるトラフィックレポジトリ６２１に記憶するためにも機能する。本発明の別の実施形態では、図６の接頭語リストジェネレータはパッシブフローアナライザに含まれていない。
【００７６】
パッシブフローアナライザ６３０は、トラフィックについてネットワーク性能を監視するために、図２に図示されるようにパッシブネットワークタップまたはスパンスイッチポートを介してトラフィック６０２のコピーを使用する。また、パッシブフローアナライザー６３０は、非周期的なトラフィックフロー等のような異常な動作の検出のためにトラフィックパターンを監視し、特徴付ける。パッシブフローアナライザ６３０は、問題のアプリケーションの通常のＵＤＰ動作を学習し、理解するために多様なニューラルネットワーク技法を使用し、その動作がいつ変化したのかを示し、おそらく周知のアクティブプローブ技法で検証または説明できるサービスレベル違反を示すことができる。
【００７７】
さらにパッシブフローアナライザ６３０は、特定のトラフィックフローのそれぞれがどのように分類されるのかに従って「アプリケーション認識」であるように設計されている。トラフィックは、前述された米国特許出願番号第０９／８３３，２１９号に説明されている分類子に従って分類できる。すなわち、パッシブフローアナライザ６３０はトラフィック６０２の各パケットのペイロードを検査し、例えばボイスオーバＩＰ（「ＶｏｉＰ」）用のリアルタイムトランスポート制御プロトコル（「ＲＴＣＰ」）の捕捉及び解釈など、特定のネットワークアプリケーションの性能及び動作を解釈できる。
【００７８】
図６では、パッシブフローアナライザ３３０は、パケット捕捉エンジン６５０、パケットパーサ６５１、相関エンジン６５２、及びアグレゲータ６５３を含む。パケット捕捉エンジン６５０はネットワークに入ってくる、及びネットワークから出て行くトラフィック（例えばＩＰデータトラフィック）を受信するように構成されたパッシブ受信機である。トラフィックの捕捉は、トラフィック分析を容易にするために、及び現在のトラフィックルートが最小サービスレベルまたはポリシー要件を満たすかどうかを判断するために使用される。パケット捕捉エンジン６５０は、ネットワークを離れるパケットとネットワークに入るパケットを含む、１個のパケット、数個のパケット、またはすべてのパケットをトラフィックストリームから削除するように設計されている。パケット捕捉エンジン２５０は、カスタムネットワークドライバを書き込み、パケットの部分を捕捉することによって、例えば、カーネル内のネットワークドライバからユーザ空間の中に特定のパケットを削除するために動作する。ＤＭＡを使用すると、コンピュータのＣＰＵを使用しなくても、部分的なパケットをユーザ空間の中に直接的にコピーすることができる。このようなパケットは、通常、それらが細くされる前に１つまたは複数のフィルタに従って削除される。このようなフィルタ及びその使用は技術で周知であり、例えば、すべての種類のＴＣＰトラフィック、特定のアドレスの１つまたは複数の範囲、あるいはソースアドレスまたは宛て先アドレス、プロトコル、パケットサイズまたはデータ一致などの任意の組み合わせを削除するように設計することができる。複数の共通ライブラリがこの機能を実行するために存在し、最も一般的なのが「ｌｉｂｐｃａｐ」である。Ｌｉｂｐｃａｐはローレンスバークレーナショナルラボラトリー（Ｌａｗｒｅｎｃｅ  Ｂｅｒｋｅｌｅｙ  Ｎａｔｉｏｎａｌ  Ｌａｂｏｒａｔｏｒｙ）で作成されるパケット捕捉用のシステムと無関係なインタフェースである。バークレーパケットフィルタ（Ｂｅｒｋｅｌｅｙ  Ｐａｃｋｅｔ  Ｆｉｌｔｅｒ）は、このような捕捉プログラムの別の例である。
【００７９】
パーサ６５１は捕捉された未処理パケットを受信するために結合され、パケットを破壊し、トラフィックフロー内のそれぞれからパケットについて特定的な情報を取り出すために動作する。例示的なパーサ６５１はＩＰヘッダとＴＣＰヘッダから情報を抽出する。このようなＩＰヘッダから抽出された情報はソースＩＰアドレスと宛て先ＩＰアドレス、ＴｏＳ（つまり「サービスの種別」）ビットで符号化されたＤＳＣＰ情報等を含む。ＤＳＣＰはＩＰパケットＱｏＳ要件についての情報を搬送する。各ＤＳＣＰはトラフィッククラスのホップ単位動作（Ｐｅｒ  Ｈｏｐ  Ｂｅｈａｖｉｏｒ）を定義する。ＤｉｆｆＳｅｒｖは、それが６４種別の異なる種別のトラフィック分類を定義できるように６４個のコードポイントを有する。ＴＣＰヘッダ情報はソースポート番号と宛て先ポート番号、シーケンス番号、ＡＣＫ番号、ＴＣＰフラグ（ＳＹＮ、ＡＣＫ、ＦＩＮ等）、ウィンドウサイズ等を含む。
【００８０】
ＴＣＰヘッダから構文解析されたＴＣＰ要素は、ポリシーが施行されているかどうかを、性能という観点で判断する上で特に有効である。しかしながら、増加するトラフィック量はＴＣＰに依存せず、代わりにＵＤＰを使用する。ＵＤＰは従来のアプローチに従ってサービスレベルを決定するために必要な情報を含んでいない。
【００８１】
これらの宛て先に対するサービスレベルを決定するために、本発明は同じ接頭語または同じ宛て先への一連のアクティブプローブに移動する付帯ＴＣＰトラフィックの統計的に関連する量を利用するか、あるいはアナライザにパケットのさらに深くまで構文解析させ、アプリケーション層（例えば層７）でトラフィックを理解させる可能性がある。ネットワーク上の大部分の他のデータトラフィックとは異なる非常に特定的な要件を有するＵＤＰ上で実行しているいくつかのプロトコルがある。これらのプロトコルは「リアルタイム」プロトコルとして大まかに分類され、ストリーミング媒体とボイスオーバＩＰ（「Ｈ．３２３」）のようなものも含む。一定のレベルに満たないパケット損失と待ち時間はリアルタイムプロトコルにとって二次的な懸念である。
【００８２】
しかしながら、最も重要なのは、パケット間到達時間の食い違い（つまりネットワークジッタ）を削減することである。Ｈ．３２３などの多くのリアルタイムプロトコルは、ＩＰマルチキャストを介してフィードバックとともに時間依存型媒体データを分散するために使用されるＲＴＣＰ（「リアルタイムトランスポート制御プロトコル」）として知られているバックチャネル通信で観察されたジッタを報告する。図３のパッシブフローアナライザ６３０が「アプリケーション認識」である場合、それはＲＴＣＰのコンテンツを捕捉、観察し、根本的な経路が最小ジッタ要件を満たしていないときに認識することができる。これは３０％のパケット損失がトリガするのと同じようにＳＬＡ違反をトリガできるだろう。
【００８３】
相関器６５２は、フローの現在のサービスレベルを決定するためにパケットからパケット要素（例えば、ＴＣＰとＩＰ）を解釈し、グループ化するために動作し、次にパケットを特定のトラフィックフローにグループ化する。フローは、ファイアウォールのｓｔａｔｅｆｕｌ監視のプロセスと同様に、ソースＩＰアドレスと宛て先ＩＰアドレスを一致させることにより再構築またはグループ化される。相関器２５２はＴＣＰトランザクション中に複数のトラフィック特性を測定することにより現在のサービスレベルを決定する。例えば、相関器２５２はネットワークで被られる往復時間（「ＲＴＴ」）を決定するため、これがネットワークトラフィックのための待ち時間の基準としての役割を果たす。
【００８４】
図７は、ソース（例えば、ソースアドレスを持つクライアント）の近くに設置された図６のパッシブフローアナライザ６３０の相関器６５２がどのようにしてＴＣＰトラフィックストリームのネットワーク待ち時間（「ＮＬ」）とサーバ応答時間（「ＳＲＴ」）を決定できるのかを示している。図８は、宛て先（例えば、宛て先アドレスを有するサーバ）の近くに設置された図６のパッシブフローアナライザ６３０が、どのようにしてネットワーク待ち時間（「ＮＬ」）及びＴＣＰトラフィックストリームのサーバ応答時間（「ＳＲＴ」）を決定できるのかを示している。
【００８５】
図６の相関器６５２は、例えば、ＴＣＰ  ＳＹＮパケットとその対応するＴＣＰ  ＳＹＮ  ＡＣＫパケットの間の時間の図７の差異７９１を推定することによりＮＬを決定する。ＳＹＮとＳＹＮ  ＡＣＫ７９１の間の時間の差異は、サーバがＳＹＮに応答するのに要する少量の時間７９０を除くＲＴＴの大まかな推定である。ＳＹＮ  ＡＣＫパケットは大部分のオペレーティングシステムのカーネルで処理され、通常、ゼロに近いと仮定される。ソースから開始される新規ＴＣＰストリームごとに、相関器６５２がネットワーク待ち時間の時間瞬間値を観察できる。
【００８６】
パケット損失は、相関器６５２によって、発生する再送パケットのすべての状態を維持することにより、パーセンテージとして計算される。この値から相関器６５２は送信されたセグメントの総カウントからパーセンテージパケット損失を計算する。
【００８７】
相関器６５２は、例えばＨＴＴＰ  ＧＥＴメッセージ７９５と受信された第１のデータセグメントの間のデルタ時間（つまり、差異）７９３を推定し、次にＲＴＴの過去の値を差し引くことによって図７のＳＲＴ７９２も決定する。これは、ＲＴＴの過去の値が、ＴＣＰハンドシェークが発生してから動作可能な範囲を超えて変化していないことを仮定する。７９４により示される測定は、測定された輻輳が、ＳＲＴ７９２が相応して上昇するにつれ経路内で増大することを示している。この例の目的のために、初期のＨＴＴＰ  ＧＥＴのデータセグメントが連続して送信されることが仮定される。図７では、パッシブフローアナライザ６３０はインターネットなどのＩＰデータネットワークからコンテンツを要求するクライアントに近く（つまり、地理学的に異なる場所のために最小の、つまりごくわずかな待ち時間）配備される。
【００８８】
また、相関器６５２は、例えば、ＨＴＴＰ  ＧＥＴメッセージ８９３と第１のデータセグメント８９４間のデルタ時間を推定することによって図８のＳＲＴ８９２を決定する。図８では、図６のパッシブフローアナライザ６３０が、大部分のコンテンツ送達設備について発生するようにサーバ端部に配備される。
【００８９】
図８を参照し直すと、相関器６５２により決定されるＳＲＴ８９２は、トラフィックが横断する経路に沿ったその場所に依存している。図６のパッシブフローアナライザ６３０がクライアント側にある場合、図７のサーバ応答時間７９２は、図７に図示されるようにＧＥＴ要求の前に認められたＲＴＴを差し引いた、ＨＴＴＰ  ＧＥＴ要求メッセージと返された第１のデータセグメントの間のデルタとして推定できる。図６のパッシブフローアナライザ６３０がサーバ側により近い場合、推定は、図８に図示されるように、本来、ＧＥＴ要求と応答の間の時間のデルタである。ＴＣＰ輻輳ウィンドウ（「ｃｗｎｄ」）を使用することにより、及びサーバによって連続して送信されたセグメント間の受信時間のデルタを識別することにより輻輳推定も可能であり、ＴＣＰ輻輳ウィンドウは、ＴＣＰフローがつねにネットワーク内に有する可能性があるパケットの数を制御する。相関器６５２はアグレゲータ６５３に前記決定された例示的なフロー特性を提供するために結合される。
【００９０】
図６を参照し直すと、アグレゲータ６５３は、おもに特定の宛て先の各集合に移動するすべてのフローをグループ化するために動作する。アグレゲータ６５３は、相関器６５２から受け取られる個々のフローのそれぞれにサービスレベル統計を使用し、インターネットなどのデータネットワーク内の同じ宛て先に移動しなければならないフローの各グループ化のための複数のレベル統計の集合体を生成する。アグレゲータ６５３はこのような集計された（つまりアドレス接頭語単位でグループ化された）トラフィックフロー特性を記憶するためにトラフィック記憶装置６２１にも結合される。トラフィックフロー特性（つまりトラフィックプロファイル）は、次に、統計操作及びフロー予測のために使用される。特定の実施形態では、記憶装置６２１は図２の記憶装置２２１と同等または同じである。
【００９１】
宛て先の粒度はルーティングテーブルの中で加えることのできる変更の粒度と同じである。通常、図２のフロー制御システムは、一般的な感光ではそのようにすることはないが、任意の長さ（つまり０／から／３２）の接頭語でルートをインストールできるだろう。したがって、アグレゲータ６５３は、／３２レベル（つまりＣクラスネットワーク）でフロー統計の集計を開始し、ｐａｔｒｉｃｉａまたは基数ｔｒｉｅなどのデータ構造、あるいは親子構造等のデータ構造の中に／８レベル（つまりＡクラスネットワーク）までずっと続行する。このようにして、サービスレベルが満たされていることを確実にするために加えられる必要があるルーティング変化の粒度を、非常に迅速に求めることが可能である。
【００９２】
アグレゲータ６５３により利用される集計技法は、１つまたは複数のフローポリシー要件により決定されるように、図２のシステム２００を許容できる性能サービスレベルに維持するために使用される。ネットワーク性能はガウス分布またはポアソン分散などの従来の統計的な分散に従わないと示されていたため、すべてのフロー全体でのサービスレベルの平均計算は、所定の間隔中の典型的な性能動作の測定値ほど信頼できない。しかしながら、サービス内容合意書（ＳＬＡ）またはポリシーが、平均サービスレベルが維持されなければならないと述べる場合には、粗末な性能の範囲外にある発生により、平均が歪められ、このようにして提供されている最小サービスレベルを復元するための補正処置を必要とする。すべてのフロー全体で提供されている典型的なサービスレベルを記述するための有意義な方法は、平均値よりむしろ中央の値を使用することである。普通の技術の熟練者が、どちらかの技法が可能であり、維持されなければならないサービスレベルの定義に依存することを理解するだろう。
【００９３】
図９は、本発明の別の実施形態に従ってパッシブフローアナライザ９３０が、どのようにして複数のネットワークインタフェース全体でパケット捕捉及びフロー再構築を行うことができるのかを描いており、各インタフェースはネットワークインタフェースカード（「ＮＩＣ」）によって表されている。実際問題として、多くのスイッチファブリックは、データストリーム内の単一の点にタッピングし、単一ポートを複製することによるように構築される。スイッチは、パッシブフローアナライザ９３０が両方向のトラフィックのすべてを見ることを保証しない。パッシブ分析のための、オプションのフロー再構築のためには双方向トラフィックが必要とされる。図９では、図示されているスイッチファブリックは（図示されているような）４つの場所にあるタップポイント９２１でパッシブにタッピングされ、４枚の異なるネットワークインタフェースカード（ＮＩＣ）９２２でパッシブフローアナライザ９３１に連結される。タップポイント９２１でのパッシブタップは、ミラーリングされたスイッチポートまたは光／電気パッシブタップである場合がある。パッシブフローアナライザ９３０はフロー再構築を実行するために複数のネットワーク情報から捕捉データを収集できる単一のまたは結合された集計済みのフロー再構築要素９５３を有する。
【００９４】
図１０は、本来、図６のパッシブフローアナライザ６３０が分散されている本発明のまだ別の実施形態を描いている。図１０は複数のローカルトラフィックソースポイントを介して双方向に移動するトラフィックフロー１０２０を示している。分散された負荷パッシブ流量エージェント１０２５は、タップポイント１０２４でトラフィックフロー１０２０の中にパッシブ的にタッピングされる。パッシブフローアナライザ１０２５は、各エージェントが個々のフロー特性を監視し、伝達するように分散されている。トラフィックソースは、例えば層３のインフラ全体で分散され、１台または複数台のルータ１０２６によって分離される。この仕組みにより、図９のパッシブフローアナライザ９３０は、図９でのように同じ層２のスイッチファブリック全体で情報を収集するのを妨げられる。パッシブフローエージェント１０２５のそれぞれがローカルフロー再構築を実行してから、ネットワーク上で中央パッシブフローアナライザ１０２８にフローデータレコード１０２７をエクスポートし、分散されたパッシブフローエージェント１０２５のすべて全体でフロー集計及びサービスレベル分析を実行する。
【００９５】
図１１は、別々に分散される複数のパッシブフローエージェント１１２５、及び単一の中央パッシブフローアナライザ１１２８を描くさらに詳細な機能ブロック図を描いている。各パッシブフローエージェント１１２５は、パケット捕捉１１５０、パーサ１１５１及び相関器１１５２の機能を、ローカルトラフィックフローのそれぞれに含む。相関器１１５２は、フローレコード１１２９を中央パッシブフローアナライザ１１２８にエクスポートし、中央パッシブフローアナライザ１１２８にとってはかなりのデータ削減となる。かなりのデータ削減は、中央パッシブフローアナライザに転送される情報量を削減するために使用され、周知の符号化技法を使用することにより達成できる。中央パッシブフローアナライザ１１２８は、各パッシブフローエージェント１１２５からフローエクスポートレコード１１２９を受け入れ、中央アグレゲータ１１５３はエクスポートされたフローのそれぞれで接頭語集計を実行する。このようにして、中心に集計されるフロー情報は、特定のポリシー違反が発生しているかどうかを判断するために使用できる。
【００９６】
図１２は、図２の使用量コレクタ２１４の詳細ブロック図を示す。使用量コレクタ１２１５は、バイトカウンタ（つまり、ネットワークサービスプロバイダに送信され、ネットワークサービスプロバイダから受信されるトラフィックの量）などの、ネットワークプロバイダから使用量情報１２７３を収集するために動作する。使用量コレクタ１２１５はこの情報を使用して、プロバイダに関連付けられているデータ経路のネットワークサービスプロバイダの稼働率、負荷等を計算する。
【００９７】
使用量コレクタ１２１５は、プロバイダ料金請求書作成発行レコードを再構築するためにも動作する。使用量コレクタ１２１５は、各ネットワークサービスプロバイダ（ＮＳＰ）コネクションに関係するプロバイダ構成情報１２７１を受け入れる。このＮＳＰ構成情報１２７１は、多様なルータ１２７２（例えば出口ルータ）上でのプロバイダインタフェース、（トレースプローブとともに使用している現在のプロバイダを検証するための）プロバイダ次ホップアドレストレースルート（ｔｒａｃｅｒｏｕｔｅ）プローブ、料金請求書作成発行開始日と終了日、毎秒メガビット単位で稼働率と価格を計算するための回路帯域幅、最小帯域幅コミットメント、バースト可能レート、プロバイダサンプリング間隔、プロバイダ料金請求書作成発行アルゴリズム、稼働率警報スレッショルド等を詳説する。
【００９８】
運転中、例示的な未処理コレクタ１２７４は、照会１２９０（例えばＳＮＭＰ）を送信し、指定サンプリング間隔でインタフェース未処理バイトカウンタをプロバイダ回路のそれぞれのルータ１２７２から収集する。プロバイダ回路は、経路、パイプ、仮想または物理的、Ｔ１等を含む。未処理コレクタ１２７４は、後の報告及び分析のために未処理バイトカウンタ１２８０を固定記憶域の中に入れる。未処理コレクタ１２７４は、２つの他の構成要素、つまり稼働率モニタ１２７５と請求書再構築器（ｂｉｌｌ  ｒｅｃｏｎｓｔｒｕｃｔｏｒ）１２７６に未処理情報を送信する。
【００９９】
稼働率モニタ１２７５は、未処理バイトカウントとＮＳＰ構成情報１２７１を使用するプロバイダごとに入口と出口の回路稼働率を計算する。１つの例では、ＮＳＰ構成情報１２７１がプロバイダの回路の帯域幅を含む。稼働率情報２６４は、稼働率モニタ１２７５が、帯域幅が指定サービスプロバイダについて上昇傾向にあるのか、あるいは下降傾向にあるのか（つまりサイズが拡大するか、減少する）を決定できるように短距離予測モデル（例えば、ＡＲＩＭＡ、指数関数平滑化等）と使用するための稼動率傾向を表すデータを含んでいる。
【０１００】
請求書再構築器１２７６は、ＮＳＰ構成データ１２７１から料金請求書作成発行を使用し、現在の料金請求書作成発行期間について現在のプロバイダの請求書作成可能レートを再構築する。料金請求書作成発行情報は、特定のプロバイダが、料金請求書作成発行などのコストを計算するために使用する方法を説明する情報を含む。ネットワークプロバイダを使用するために請求書を計算するこのような方法が当業者において周知である。請求書再構築器１２７６は、未処理コレクタ１２７４から類似したプロバイダ料金請求書作成発行方法を未処理バイトカウンタに適用し、請求書と関連する料金請求書作成発行レート等を生成する。ドル額にマッピングされる作成された請求書は、プロバイダと使用量コレクタ１２１５間のサンプル時間は正確に一致しないため、典型的には推定である。請求書再構築器１２７６は、ピーク回避及び最小コストルーティングで使用するために、料金請求書作成発行情報１２６１をコントローラ１２０２に送る。ピーク回避は、図１５に示されるように、さらに高い料金請求書作成発行レートで経路または経路セグメントを使用することを回避する方法として定義される。最小コストルーティングは、最も安価なプロバイダに対するトラフィックを使用するあるいはデフォルトする方法を指す。
【０１０１】
さらに、性能が重大ではない場合に最も安価を選択する最小コスト固定方法で使用するためのコントローラ１２０２に送信できる。すなわち、コントローラ１２０２は、料金請求書作成発行レートを含む料金請求書作成発行メッセージ１２６１からのデータを使用し、フローポリシーに従って、ルートの自由な帯域幅（つまり、ルートは追加使用コストを被らない）に部分的に基づいて代替ルートを決定する。
【０１０２】
図２を参照し直すと、構成要素２１１がコントローラ２０５とデータディレクタ２２０に結合されている。コントローラ２０５は、宛て先接頭語に到達するための最良のルートを構成要素２１１に提供する。構成要素２１１は、是正処置を必要とする宛て先についてデフォルトのルーティング動作（つまり現在の経路）を変更するために動作する。構成要素２１１は、アドレスの修正されたルーティングテーブルをデータディレクタ２２０に送信することによってルーティング動作を変更する。
【０１０３】
いったんデータディレクタ２２０がこの情報を受信すると、ディレクタ２２０はコントローラ２０５に、ルート変更が実現された事を知らせる。それ以後、コントローラ２０５は、その状態をクリアし、宛て先の監視を再開するためにパッシブ較正装置２０２に信号２３０を戻す。宛て先は、ルーティングテーブルの更新されたルート、つまり経路が最小サービスレベル（例えば、ＳＬＡの違反なし、関連フローポリシーによって定義されるように合意された性能測定基準からの受け入れがたい偏差なし）を満たしていることを確実にするために監視されている。
【０１０４】
ある態様では、構成要素２１１はルートサーバに常駐する。別の態様では、構成要素２１１がルータに常駐し、ルートマップまたはテーブルを修正しようと構成される。さらに別の態様では、構成要素２１１が構成情報つまりルーティングテーブルを提供するように適応される。さらに別の態様では、それがインバウンドトラフィックに関係しているのか、あるいはアウトバウンドトラフィックに関連しているのかに応じて、ルート情報は構成要素２１１内に記憶される。
【０１０５】
図１３は本発明のさらに別の実施形態の一例を示し、図２の構成要素２１１がルートサーバ１３９１などのネットワーク要素に常駐する。図１３の構成要素１３８４はここに説明されている構成要素の他の適応に類似して動作する。すなわち、構成要素１３８４はデータトラフィックの現在の、あるいはデフォルトのルートを変調し、このようにして例えばローカル配備（例えばポイントオブプレゼンス、つまり「ＰＯＰ」）でデフォルトルーティング動作を修正する。ルートサーバ１３９１（「ＲＳ」）は、当該データネットワークからルーティングテーブルの完全な集合または部分集合を受信する。
【０１０６】
ある実施形態では、ルーティングテーブルは、ローカルトランシットプロバイダの完全な集合または部分的な集合からＢＧＰ４エンジン１３８２の中に送り込む１つまたは複数のデフォルトＢＧＰ４フィード１３９２によってルートサーバ１３９１の中に受け取られる。ＢＧＰ４エンジン１３８２は、単一のＢＧＰ４ルーティングテーブル１３８３最良使用可能ルートの中にルートのすべてを統合する、つまりマージする。別に実施形態では、ルートサーバ１３９１は、図１３に図示されるようにＢＧＰ４セッションを維持するのではなくむしろ内部ＢＧＰ可能ルータのすべてでｉＢＧＰセッション維持する。単一のｉＢＧＰセッションでは、ルート変更を行う前にネットワークサービスプロバイダとＢＧＰセッションのすべてを構成するニーズはない。
【０１０７】
構成要素１３８４は、１つまたは複数の制御信号と、ＢＧＰ４エンジン１３８２から１つまたは複数のＢＧＰ４ルーティングテーブル１３８２を受け取るように設計され、１つまたは複数の制御信号と、コントローラ１３０５の制御プロセスから生じるデータとを受け取るように適応される。運転中、構成要素１３８４は、コントローラ１３０５からデフォルトルーティングテーブル１３８８で実現される必要なルーティング変更を受け取る。したがって、構成要素１３８４は修正されたルーティングテーブル１３８９に１つまたは複数の変更の受け取りを組み込む。
【０１０８】
このようにして、構成要素１３８４はＢＧＰ４ルーティングテーブル１３８３を修正し、１つまたは複数の修正されたＢＧＰ４ルーティングテーブル１３８８を作成するように動作する。修正されたＢＧＰ４ルーティングテーブル１３８８は変更されたルーティング１３８９、複数の特定なルートの広告等を含む。新規の修正されたＢＧＰ４ルーティングテーブル１３８８が、次に、宛て先にトラフィックを誘導するために使用されるネットワーク内のすべてのＢＧＰクライアントに送られる。
【０１０９】
指定ソースアドレスの場合、ネットワークへの入口点は、通常ダウンストリームプロバイダ及びプロバイダポリシー（このようなプロバイダによってセットアップされる規則の集合）に対して行われたルートの広告によって決定される。最終的には、宛て先をホストしているネットワークサービスプロバイダ（例えば「ＩＳＰ」）がこのような広告を受け取るだろう。
【０１１０】
図２のコントローラ２０５は、使用量コレクタにより監視されるような帯域幅、コスト等の使用量特性だけではなく、待ち時間、損失、ジッタ等の性能特性を受け取るように設計されている。コントローラ２０５は、通常サービスレベル合意書（「ＳＬＡ」）性能測定を含むフローポリシーを受け取るためにポリシーレポジトリ２１８に結合される。これらの測定基準、つまり要件は監視されている性能と使用量特性に対して比較される。ある特定のポリシーが違反している（つまり１つまたは複数の予想範囲または値の外では、１つまたは複数の性能測定基準である）場合、コントローラ２０５は、関連するフローポリシーに準拠している１つまたは複数の代替データ経路を決定する。別の例では、コントローラ２０５は、ポリシーにより定められるように、性能要件と使用量要件を最善に満たす代替データ経路として最善の、つまり最も最適化された経路を選択する。
【０１１１】
アクティブ較正装置とパッシブ較正装置が性能要件を提供する。アクティブ較正装置に関しては、コントローラ２０５は要求アクティブプロービングによりアクティブ較正を開始する。アクティブ較正装置は、プローブ経路２０７上で１つまたは複数の較正プローブを１つまたは複数のデータネットワークの中に送信する。プローブ経路２０７上の戻るプローブは、使用可能な経路のアイデンティティとそれに関係する性能情報とを含む、コントローラ２０５に戻る情報を提供する。
【０１１２】
パッシブ較正装置に関して、コントローラ２０５は、それがアクセスするトラフィックフロー内のモニタとして、パッシブ較正装置２３０から、リアルタイムまたはほぼリアルタイムのネットワーク性能特性（つまり、損失、待ち時間、ジッタ等）を受け取るように設計されている。コントローラ２０５が較正要素２１１にルーティングの変更つまり更新を提供した後、それはまた、更新されたルート変更が特定の宛て先に対し行われるときパッシブ較正装置２０３に信号２３０を通信する。信号２３０は、較正装置が特定の宛て先の監視を再開し、ルーティングテーブルの更新されたルート、つまり経路がフローポリシーに対応していることを確実にするように、パッシブ較正装置２０３の状態のクリアを開始する。図３の状態クリア信号３３８はパッシブフローアナライザの状態のリセットを開始するためにコントローラから発信される信号を描いている。
【０１１３】
１つの例では、コントローラ２０５は、宛て先接頭語のグループ化のそれぞれについて間隔で集計されたフローデータを解釈するために動作する。そして、ポリシー違反が発生すると、コントローラ２０５は、代替ルート、つまり経路のどれが現在のトラフィックフローに関連する接頭語つまりトラフィック種別に最善に適しているのかを判断する。コントローラ２０５は、次に必要なルーティング変更を構成要素２１１に送信する。すなわち、コントローラ２０５は、関連するフローポリシーに従って、対応していないネットワーク性能特性に関係するポリシー違反を解決する。このプロセスは、ポリシー違反が解決されるまで繰り返される。
【０１１４】
別の実施形態では、図１２のコントローラ１２０２が、使用率、料金請求書作成発行レート等の、ネットワーク使用量特性を表すリアルタイムまたはほぼリアルタイムデータを、使用量コレクタ１２１５から受け取るように設計される。コントローラ１２０２は、関連するフローポリシーに従って、非対応使用量特性に関するポリシー違反を解決するためにこの情報を使用する。すなわち、ルート変更の前、あるいはルート変更の間に、コントローラ１２０２は代替経路の性能を考慮するだけではなく、それらの代替経路が特定のプロバイダの経路上で（つまり、ｔｕｒｎ−ｏｆ−ｄａｙに関係する適当な帯域幅）ピークデータトラフィックを回避するか、あるいはフローポリシーを考慮した最小コスト経路であるかのどちらかであると考える。
【０１１５】
使用量型ポリシー違反を解決するためには、コントローラ１２０２は、例えば現在のトラフィックフローまたは特定の経路上のデータのルーティング、またはその経路セグメントのどれが、ある特定の１つまたは複数のプロバイダ経路に関して輻輳しているのか（つまりロードされているのか）を決定するためにルーティングテーブルを受信する。また、コントローラ１２０２は、指定宛て先接頭語への、及び指定宛て先接頭語からのトラフィックフローの集合のフローのどの部分集合がトラフィックフロー量に関して関連するフローポリシーに準拠しているのかを決定するために代替プロバイダ経路ごとに流量を表すデータを受信するように設計されている。
【０１１６】
本発明の例示的なコントローラは、このようにして、データネットワークの性能と使用量に関係する情報を入手し、少なくとも関連するポリシー要件を満たす経路または経路のセグメント上でデータを効果的且つ効率的に転送するために是正処置を行うように設計されている。
【０１１７】
以下の説明はフローポリシー、及びポリシー違反を解決する上、及びポリシー要件または測定基準を施行する上でのこのようなポリシーの適用に関する。図２を参照し直すと、コントローラ２０５は１つまたは複数のポリシーを受け取るためにポリシーレポジトリ２１８に結合されている。前述されたように、ポリシーは、コントローラ２０５が特定のトラフィックフローの実際のフロー特性に比較する一式の規則つまり閾値（つまり、最大、最小及び許容できる動作の範囲）である。例えば、ポリシーは、特定のトラフィックフローを検出するためにコントローラ２０５により利用されるユーザによって定義される機構である。例えば、ポリシーは、必要な場合に監視され、作用されなければならない特定トラフィックフローを検出するためにコントローラ２０５によって利用されるユーザ定義機構である。一例として、ポリシーは、特定のポリシーがどのように施行されるべきかを指定することもできる（つまり、最高の優先順位から最低の優先順位に違反を解決するための階層構造を含む）。例示的なポリシーは、検出に関係する要件つまり規則、性能、コスト及び手順を含むが、技術の普通の熟練者は、本発明に従ってさらに少ないパラメータまたは追加のパラメータを測定、施行できることを理解する必要がある。
【０１１８】
検出は、フロー制御システム２００が、どのトラフィックがポリシー違反に応えて作用する必要があるのかを判断する技法または機構として定義される。トラフィックフローは、名称、ソースアドレスまたは宛て先アドレス、ソースポートまたは宛て先ポート、あるいは任意の他の既知の識別技法によって識別できる。例えば、ポリシーはただ１つの接頭語に関連付けることができる。つまり、システム２００は特定の接頭語への、及び特定の接頭語からのトラフィックフローを監視し、必要な場合には、関連するフローポリシーをその要件に従って監視する。さらに、検出に関して、さらに多くの特定接頭語について定義されるポリシーは、より一般的な接頭語に優先できる。例えば、／２４について定義されたポリシーは、／１６が特定的な／２４を含んでいても／１６に優先する。
【０１１９】
性能とは、指定接頭語または接頭語リストに適用される１つまたは複数のターゲット性能レベル（つまりネットワーク／ＱｏＳポリシーパラメータ）または閾値を記述するポリシー要件である。複数の性能に基づいたポリシー要件が定義されてよいが、この例では単一のポリシーだけが指定接頭語または接頭語リストに適用される。例示的な性能要件は損失、待ち時間、及びジッタを含む。
【０１２０】
さらに、このような要件は、例えば絶対値、固定値、または指数関数的に加重された移動平均（「ＥＷＭＡ」）として構成できる。絶対値は、パーセンテージとして表現される、あるいは構成可能時間ウィンドウでのパーセンテージとして、あるいは時間単位で描かれるような数値閾値を確立する。ＥＷＭＡ方法は、最も最近のサンプルに指数関数加重をかける履歴サンプリングに基づいて移動式位置を確立し、それにより現在のネットワーク状況を、それらが履歴状況に関するにつれて考慮に入れる閾値を主張する。
【０１２１】
コストは優先順位及びポリシーが予測的なのか、あるいは反応的なのかという点でポリシー定義に表されている。コストは、請求書再構築及び集計レベルと非常に粒状レベル（例えば、／２４宛て先ネットワークによる）の両方での帯域幅活用率の調和を通して図２の使用量コレクタ２１４によって特徴付けられる。コスト予測要件は、新規のまたはさらに高い請求書作成可能レートをトリガしてよいピーク（つまり「ピーク回避」）を確立するのを回避するためにあるプロバイダから別のプロバイダにトラフィックを積極的に逸らすために使用される。コスト反応要件は最小のコミットレートまたは現在の請求書作成可能レートが超えられると、あるプロバイダから別のプロバイダにトラフィックを反応して逸らすために使用される。
【０１２２】
通常、コスト予測要件と反応要件の両方ともバイナリ決定（つまり、例えば回路または経路は、フローポリシーに準拠しているかあるいは違反しているかのどちらかである）を生じさせる。予測コストのケースでは、トランシット回路は準拠しているか、あるいはすぐにフローポリシーの違反になるかのどちらかである。それにも関わらず、コストが性能に先行されない（つまり、性能要件が、コストをベースにした変更を行う前に対処されなければならない）限り、状況を解決するために処置を講じなければならない。
【０１２３】
優先順位とは、１つまたは複数のターゲット使用量または稼働率特性またはレベルを記述するポリシー要件である。優先順位はプロバイダの優先順位と最大稼働率（つまり負荷）要件を含む。プロバイダ優先順位要件は、例えば、処置を講じなければならないときであるが、２つまたは３つ以上のトランシットがポリシーを施行するために選択されてよいときに、使用されるプロバイダの任意の分類である。フロー制御システムは、それがシステムの運用者により明示的に構成されていない場合にはプロバイダまたは経路の優先順位件を自動的に設定できる。この要件は、次に、最高の優先順位を持ったプロバイダが関係を勝ち取り、このようにして逸れたトラフィックフローを受信できるように、行き詰まった状況においてタイブレーカとして適用される。
【０１２４】
最大使用量要件は、どちらかが超えられない実際の稼動閾値としてまたはタイブレーカとして使用されてもよいように使用できる。最小使用量は、構成のトランシットプロバイダセクション内で構成され、パーセンテージ引数（つまり使用可能な帯域幅の観点で）を取るか、あるいは代わりにＭｂ／秒という観点で絶対値として設定できる。
【０１２５】
以下は、特定のポリシーが準拠しているかどうかを判断するために、及び準拠していない場合には行動計画を決定するためにコントローラとともに使用されるポリシーの例である。
【０１２６】
例えば、以下のポリシーがある特定のトラフィックフローに使用されると考える。
【表１】
2005509369.tif 000003
【０１２７】
トラフィックフローが、接頭語２４．０．３４．０／２４に関連付けられており、現在は２４０ｋｂｉｔｓ／秒でトラフィックを搬送中であり、３のプロバイダ１を介して到達されると仮定する。プロバイダ１は現在２Ｍｂｉｔｓ／秒で搬送中であり、５Ｍｂｉｔｓ／秒という最小コミットを有する。
【０１２８】
ポリシーを使用するフロー制御システムのコントローラは代替トラフィックルート、つまり経路を監視でき、それらはプロバイダに関係するので以下のフロー特性を決定できる。
【表２】
2005509369.tif 000004
【０１２９】
このケースでは、５％という損失が２％という最大損失要件を超えているため、及び損失が１０という優先順位で指定され、５０が最低であるため、ＩＳＰ１は違反状態にある。是正処置が講じられなければならない。ポリシーは、待ち時間または損失情報なしで、施行されるだろう（つまり、例えば他のリンクの性能に対する可視性がないため）。このケースでは、コントローラは、（ＩＳＰ２とＩＳＰ３を含む）他のＩＳＰが準拠しているかを判断するために、アクティブ較正装置を使用してアクティブプローブを開始することがある。代わりに、コントローラは要件が既知である（例えばこのケースではコスト）ポリシーの次のパラメータに基づいて行動計画を決定する可能性がある。ＩＳＰ２は準拠しており、ＩＳＰ３が準拠していないため、ＩＳＰ２がコントローラによって選ばれるだろう。２つとも準拠している場合には、コントローラは、ＭａｘＵｔｉｌである次のランクが付けられた要件に移動する。これが当てはまる場合、ＩＳＰ２は依然として選択されている。
【０１３０】
要約すると、前記の例示的なポリシーのようなポリシーは図２のコントローラ２０５に入力され、例えば特定接頭語と関連付けられる。一般的な検出方法（絶対的または基準履歴）は接頭語によって指定でき、このようにして他の宛て先には基準方法を使用する一方で、周知であるいくつかの宛て先についてはハード閾値または絶対閾値を指定する。ポリシーは、違反と見なされ、解決される前に満たされなければならない性能測定基準との組み合わせで使用される解像度方法（例えば手順）を定義する。コストと稼働率の閾値のような他のパラメータは接頭語あたりで設定できる。これにより、どの接頭語がコストまたは稼働率の理由からいままでに移動されたことがないのか、及びどのような状況にあってもどの接頭語が移動されなければならないのかの表示をコントローラに与える。
【０１３１】
コントローラ２０５がピアリングコネクションを処理するために、コントローラ２０５は、まさに変更されるところの特定の接頭語についてデータディレクタ２２０と通信し、到達可能性情報（つまりルーティングテーブル）を検索する。トランシット回路のケースでは、コントローラ２０５は、指定される宛て先について、例えば宛て先にアクティブプローブを送信し、応答を待機することによって、アクティブ較正装置２０７を使用し、到達可能性情報（つまりルーティングテーブル）を決定する。ピアリングコネクションは多くの場合到達不能であるが、いくつかのプロバイダはピアリングポイントで効果的にトラフィックをフィルタしていない可能性があり、代わりにそれらの広告された宛て先へのトラフィックだけが受信されることを確実にするためにｈｏｎｏｒ状システムに依存する。
【０１３２】
したがって、ピアリングのケースでは、コントローラ２０５は、ピアリングコネクションにトラフィックを移動する前にその宛て先の広告のためのルーティングテーブルを見なければならない。図１５を参照すると、ｉＢＧＰフィード１５９９は、アクティブなルートだけではなく広告されたイナクティブなルートも含んでいる。それ以外の場合、図２のデータディレクタ２２０が図１３のルートサーバ１５９１に従って構成でき、ｅＢＧＰはすべてのプロバイダから構成できる。
【０１３３】
図１４は、「空き」帯域幅の可用性が指定プロバイダ向けに、図２の使用量コレクタ２１４によって測定されるようにどのように表現されるのかを描いている。ｔ０からｔ１の任意の指定時間で、現在の使用率１６０２と現在の請求書作成可能レート１６００は決定されない。図辞されるように、タイムポイントｔ０．５  １６０３は、オーバサンプリング（ｏｖｅｒ−ｓａｍｐｌｅｄ）時間ポイントを表している。これらの２つの値の再１６０１が、追加コストを被らずに使用される使用可能な帯域幅の量を表している。プロバイダごとの空き帯域幅は、性能に基づいたポリシーが現在の、つまりデフォルトのプロバイダによって違反されるときに対応するプロバイダの部分集合を選択するために使用できる。さらに、この情報は、プロバイダごとにコストと負荷に基づいたポリシーを適用するために使用される。
【０１３４】
図１５は、図１４に図示されるように使用量コレクタ２１４が時間連続請求書作成可能レートをどのようにして計算するのかを描いている。大部分のプロバイダは最小コミットメントレベル１７１０で開始する。現在の使用量がそのコミットメント未満で開始すると、空き帯域幅１７７１が図示される。サンプルは、プロバイダのサンプリングレートの２倍で収集され、正確なレートが計算されていることを確実にする（つまり、これは保守的な推定値であり、レートがプロバイダレートから逸れる場合、それはさらに高くなり、請求書作成可能レートの過大評価を表すだろう）。時間軸の小さなチェックマークはシステムにより収集されたサンプルを表している（オーバサンプリング）。十分なサンプルが得られると、通常はすべてのレートサンプルの９５番目の百分率として表現される請求書作成発行可能レートが図１５の請求書作成発行可能レートの連続してさらに高い層１７１３によって示されるような最低のコミットメントを超えてよい。トラフィックがこのレート未満に低下すると、新しい請求書作成可能レート１７１４が設定され、システムはもう一度空き帯域幅１７１８を有するだろう。
【０１３５】
図１６は、例示的なシステム２００がどのようにしてコストに基づいたポリシー違反を検出するのかを示す。コストポリシー要件が１８１３によって示されるように絶対閾値になるように定義されると仮定する。この閾値は絶対レートまたは使うための設定ドル額である場合がある（システムによって平均請求所作成発行可能レートに換算される）。サンプル単位で、実際のトラフィックレート１８１４は、１８１３を超える新規請求書作成発行可能レートが絶対に確立されないようでなければならない。短距離予測技法を使用すると、次のいくつかのサンプル１８１５のトラフィックレートを予測することができ、この予測が、新しい請求書作成発行可能レート１８１６が確立されると、図２のコントローラ２０５が、このプロバイダからトラフィックを離すことによって反応できる。
【０１３６】
本発明は特定の実施形態に関して説明されてきたが、技術の普通の熟練者は、これらの実施形態が発明の単に例示的にすぎず、制限的ではないことを理解するだろう。例えば、前記説明はインターネットトラフィックとしてネットワーク通信データを説明するが、本発明が一般的なネットワークに関し、インターネットデータに制限される必要がないことが理解されなければならない。本発明の範囲は添付請求項によってのみ決定されなければならない。
【０１３７】
前記明細書では、本発明はその特定の実施形態に従って説明されるが、当業者は、発明がそれに制限されていないことを認識するだろう。前述された発明の多様な特徴及び態様は、個々にまたは共同で使用されてよい。さらに本発明は特定の環境における、特定のアプリケーションのためにそのインプリメンテーションという文脈で説明されてきたが、その有用性はそれに制限されず、それは、どの幅広い精神と範囲から逸脱することなく、任意の数の環境及びアプリケーションで活用することができる。したがって明細書及び図面は、制限的ではなく例示的と見なされるべきである。
【図面の簡単な説明】
【０１３８】
【図１Ａ】ユーザに対し、本発明の実施形態を実践するために適したユーザインタフェースを提示するための例示的なコンピュータシステムである。
【図１Ｂ】図１Ａのコンピュータシステムの基本的なサブシステムを示す。
【図１Ｃ】本発明とともに使用するために適した１つの例示的なコンピュータネットワークの汎用化された図である。
【図１Ｄ】マルチパスを使用する典型的なデータネットワークを描く。
【図１Ｅ】本発明の特定の実施形態に従って簡略化されたデータネットワーク及びフロー制御システムを描く。
【図２】本発明の１つの実施形態によるフロー制御システムの１つの実施形態の簡略化されたブロック図である。
【図３】図２の例示的なパッシブ較正装置の機能ブロック図である。
【図４】図３の例示的なコンテンツフローアナライザの機能ブロック図である。
【図５】本発明のある実施形態による図３のエクスポートフローアナライザの機能ブロック図である。
【図６】特定の実施形態による図３のパッシブフローアナライザの機能ブロック図である。
【図７】クライアントまたはソース近くに配置される例示的なフロー制御システムでネットワーク性能測定基準を決定する簡略化されたタイミング図である。
【図８】サーバまたは宛て先近くに配置される例示的なフロー制御システムでネットワーク性能測定基準を決定する簡略化されたタイミング図である。
【図９】本発明の別の実施形態による分散パケット捕捉とともに例示的なパッシブ較正装置のネットワーク図である。
【図１０】本発明のさらに別の実施形態による分散パッシブフロー要素のネットワーク図である。
【図１１】本発明のなおさらに別の実施形態による図１０の分散パッシブフロー要素の機能ブロック図である。
【図１２】本発明の特定的な実施形態による例示的な使用量コレクタの詳細なブロック図である。
【図１３】本発明のある実施形態に従って、複数のＢＧＰ４フィードまたは少なくとも１つのｉＢＧＰフィードのどちらかを受信する関連構成要素を使用するルートサーバのブロック図である。
【図１４】本発明に従って、追加コストなしで使用できる帯域幅の量を決定するための例示的な方法を描くグラフィック表現である。
【図１５】本発明に従って料金請求書作成発行可能なレートを計算するための例示的な方法を描くグラフィック表現である。
【図１６】本発明に従って短距離予測を使用して料金請求書作成発行レートを計算するための例示的な方法を描くグラフィック表現である。
【図１７】本発明の実施形態による例示的なアドレスリストまたはプリフィックスリストの表現である。
【図１Ａ】
2005509369.tif 000005
【図１Ｂ】
2005509369.tif 000006
【図１Ｃ】
2005509369.tif 000007
【図１Ｄ】
2005509369.tif 000008
【図１Ｅ】
2005509369.tif 000009
【図２】
2005509369.tif 000010
【図３】
2005509369.tif 000011
【図４】
2005509369.tif 000012
【図５】
2005509369.tif 000013
【図６】
2005509369.tif 000014
【図７】
2005509369.tif 000015
【図８】
2005509369.tif 000016
【図９】
2005509369.tif 000017
【図１０】
2005509369.tif 000018
【図１１】
2005509369.tif 000019
【図１２】
2005509369.tif 000020
【図１３】
2005509369.tif 000021
【図１４】
2005509369.tif 000022
【図１５】
2005509369.tif 000023
【図１６】
2005509369.tif 000024
【図１７】
2005509369.tif 000025
【国際調査報告】
2005509369.tif 000026