(57)【要約】本発明は、データ・ネットワーク・コントロールのためのシステムと方法を提供する。フローコントロール・システムを使用して、本発明の実施形態は、トラフィック・フロー・ボリュームと性能（９１０、９２４）を分析し、利用度、課金、およびコスト・コントロール・データを取り入れて、改良されたデータ・ネットワーク・コントローラをもたらすことができる。データ・ルーティングにおける効率は改良され、一方、最適の性能を有するデータ・ルートを選択することが可能になることによって、コストが減少する。全体的なデータ負荷（９０８、９１８、９２２、９２０）に対して、コスト拘束とコストが最小化される。トランジット・プロバイダーに対してさまざまなコスト構造があると仮定すると、さまざまの課金構造を利用し、かつ許容性能レベルを維持する方法でトラフィックを分散することによって、全体的なシステム・コストを最小化できる。本発明の実施形態によるシステムと方法によって、送信先プロバイダー（９０８、９１０、９１２、９１４、９１６）に対する利用可能な帯域幅と限界的コストに関連して、射影されたフロー・性能と射影されたフロー・ボリュームが決定される。【選択図】図９
2005508596.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークのためのコントローラであって、
集合フロー情報を分析するコントロール・モジュールと、
前記集合フロー情報を伝送するインタフェースと、
情報を受信するキャッシュと、
ネットワーク・データを伝送する能動型較正器と、
前記集合フロー情報を集める集合モジュールと、
情報を前記コントロール・モジュールに伝送する利用度モジュールと、
リソースを格納するファイル・ライブラリーと、
情報を収納するレポジトリと
を備えるコントローラ。
【請求項２】
情報を受信する前記キャッシュは、前記コントロール・モジュールと通信する請求項１記載のコントローラ。
【請求項３】
データ・ネットワークのためのコントローラであって、
集合フロー情報を分析するコントロール・モジュールと、
前記集合フロー情報を伝送するインタフェースと、
情報を受信するキャッシュと、
ネットワーク・データを伝送する能動型較正器と、
前記集合フロー情報を集める集合モジュールと、
情報を前記コントロール・モジュールに伝送する利用度モジュールと、
リソースを格納するファイル・ライブラリーと、
情報を収納するレポジトリと
を備えるコントローラ。
【請求項４】
ネットワークを制御する方法であって、
最良の性能変数を決定するステップと、
最小のコスト変数を決定するステップと、
コントロール値を割り当てるステップと
を有する方法。
【請求項５】
ネットワークを制御する方法であって、
性能値を評価するステップと、
コストを決定するステップと、
識別子を評価するステップと、
変更値を決定するステップと
を有する方法。
【請求項６】
前記候補帯域幅が前記帯域幅配分よりも狭いならば、最小の待ち時間を決定するステップと、
最小の損失を決定するステップと、
コストと利用度変数に基づいて、利用可能な最も大きい帯域幅を決定するステップと、
コスト層を決定するステップと、
最少の識別子を決定するステップと、
変更値を割り当てるステップと
をさらに有する請求項５記載の方法。
【請求項７】
前記候補帯域幅が前記帯域幅配分よりも狭いならば、最小の待ち時間を決定するステップと、
最小の損失を決定するステップと、
コスト変数に基づいて、利用可能な最も大きい帯域幅を決定するステップと、
コスト層を決定するステップと、
最少の識別子を決定するステップと、
変更値を割り当てるステップと
をさらに有する請求項５記載の方法。
【請求項８】
前記候補帯域幅が前記帯域幅配分よりも狭いならば、最小の待ち時間を決定するステップと、
最小の損失を決定するステップと、
利用度変数に基づいて、利用可能な最も大きい帯域幅を決定するステップと、
コスト層を決定するステップと、
最少の識別子を決定するステップと、
変更値を割り当てるステップと
をさらに有する請求項５記載の方法。
【請求項９】
ネットワークを制御する方法であって、
候補の損失と現行の損失とを比較するステップと、
候補の待ち時間と現行の待ち時間とを比較するステップと、
最小の待ち時間を決定するステップと、
最小の損失を決定するステップと、
候補帯域幅値を評価するステップと、
最大の候補帯域幅値を決定するステップと、
コスト層を決定するステップと、
最少の識別子を決定するステップと、
変更値を割り当てるステップと
を有する方法。
【請求項１０】
帯域幅配分を決定する方法であって、
利用度サンプルを評価するステップと、
課金プロファイルを評価するステップと、
値を決定するステップと、
前記値を使用する帯域幅を分散するステップと
を有する方法。
【請求項１１】
ネットワークを制御する方法であって、
サンプルを観察するステップと、
コントロール限界を計算するステップと、
前記コントロール限界を使用する前記サンプルを評価するステップと、
感度を定義するステップと、
前記感度を前記サンプルと比較するステップと、
値を更新するステップと
を有する方法。
【請求項１２】
ネットワークを制御する方法であって、
データ・ストリームを評価するステップと、
課金プロファイルを評価するステップと、
配分値を決定するステップと、
前記配分値を使用するデータを分配するステップと
を有する方法。
【請求項１３】
ネットワークを制御する装置であって、該装置は、
候補の待ち時間を評価する手段と、
候補の損失を評価する手段と、
候補の帯域幅と帯域幅配分とを比較する手段と、
損失値を決定する手段と、
コストを決定する手段と、
識別子を評価する手段と、
変更値を決定する手段と
を有する装置。
【請求項１４】
前記候補帯域幅が前記帯域幅配分よりも狭いならば、最小の待ち時間を決定する手段と、
最小の損失を決定する手段と、
コストと利用度変数に基づいて、利用可能な最も大きい帯域幅を決定する手段と、
コスト層を決定する手段と、
最少の識別子を決定する手段と、
変更値を割り当てる手段と
をさらに有する請求項１３記載の装置。
【請求項１５】
ネットワークを制御する装置であって、該装置は、
候補の損失と現行の損失とを比較する手段と、
候補の待ち時間と現行の待ち時間とを比較する手段と、
最小の待ち時間を決定する手段と、
最小の損失を決定する手段と、
候補帯域幅値を評価する手段と、
最大の候補帯域幅値を決定する手段と、
コスト層を決定する手段と、
最少の識別子を決定する手段と、
変更値を割り当てる手段と
を有する方法。
【請求項１６】
下記のステップを実行することによってネットワークを制御する命令を格納するコンピュータが読み取り可能な媒体であって、
候補の待ち時間を評価するステップと、
候補の損失を評価するステップと、
候補の帯域幅と帯域幅配分とを比較するステップと、
損失値を決定するステップと、
コストを決定するステップと、
識別子を評価するステップと、
変更値を決定するステップと
を有する媒体。
【請求項１７】
前記候補帯域幅が前記帯域幅配分よりも狭いならば、最小の待ち時間を決定するステップと、
最小の損失を決定するステップと、
コストと利用度変数に基づいて、利用可能な最も大きい帯域幅を決定するステップと、
コスト層を決定するステップと、
最少の識別子を決定するステップと、
変更値を割り当てるステップと
をさらに有する請求項１６記載の媒体。
【請求項１８】
下記のステップを実行することによってネットワークを制御する命令を格納するコンピュータが読み取り可能な媒体であって、
候補の損失と現行の損失とを比較するステップと、
候補の待ち時間と現行の待ち時間とを比較するステップと、
最小の待ち時間を決定するステップと、
最小の損失を決定するステップと、
候補帯域幅値を評価するステップと、
最大の候補帯域幅値を決定するステップと、
コスト層を決定するステップと、
最少の識別子を決定するステップと、
変更値を割り当てるステップと
を有する方法。
【請求項１９】
搬送波に取り込まれたコンピュータ・データ信号であって、
候補の待ち時間を評価するプログラム・コードと、
候補の損失を評価するプログラム・コードと、
候補の帯域幅と帯域幅配分とを比較するプログラム・コードと、
損失値を決定するプログラム・コードと、
コストを決定するプログラム・コードと、
識別子を評価するプログラム・コードと、
変更値を決定するプログラム・コードと
を有する信号。
【請求項２０】
搬送波に取り込まれたコンピュータ・データ信号であって、
前記候補帯域幅が前記帯域幅配分よりも狭いならば、最小の待ち時間を決定するプログラム・コードと、
最小の損失を決定するプログラム・コードと、
コストと利用度変数に基づいて、利用可能な最も大きい帯域幅を決定するプログラム・コードと、
コスト層を決定するプログラム・コードと、
最少の識別子を決定するプログラム・コードと、
変更値を割り当てるプログラム・コードと
をさらに有する請求項２１記載の信号。
【請求項２１】
搬送波に取り込まれたコンピュータ・データ信号であって、
候補の損失と現行の損失とを比較するプログラム・コードと、
候補の待ち時間と現行の待ち時間とを比較するプログラム・コードと、
最小の待ち時間を決定するプログラム・コードと、
最小の損失を決定するプログラム・コードと、
候補帯域幅値を評価するプログラム・コードと、
最大の候補帯域幅値を決定するプログラム・コードと、
コスト層を決定するプログラム・コードと、
最少の識別子を決定するプログラム・コードと、
変更値を割り当てるプログラム・コードと
を有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の参照
本出願は、下記に参照されている米国仮および非仮特許出願の利点に関するとともに、その利点を特許請求の範囲としている。関連出願の主旨は、参照により本出願に組み込まれている。これらの関連出願の出願人は、本明細書と同一である。
【０００２】
・米国非仮特許０９／８３３２１９「インテリジェント・ルーティングによりネットワーク・サービス・レベルを保証するシステムおよびその方法」２００１年４月１０日付出願。
【０００３】
・米国非仮特許１０／０１３８０９「データ・ネットワーク上での情報のルーティング・コントロールを行うシステムおよびその方法」２００１年１２月７日付出願。
【０００４】
・米国非仮特許１０／０４０９０２「ネットワーク上での情報のルーティング・コントロールを行うシステムおよびその方法」２００１年１２月２８日付出願。
【０００５】
・米国仮特許出願６０／３５０１８６「インテリジェント・ルーティングによりネットワーク・サービス・レベルの保証および帯域幅管理を行うシステムおよびその方法」２００１年１１月２日付出願。
【０００６】
背景
本発明は、一般的にはネットワーク通信システム上でのデータ・コントロールに関し、より詳細にはデータ・ネットワーク・コントローラに関する。
【０００７】
データ・ネットワークは、計算用各リソースを共有するためにノードを接続する通信システムである。リソース、データ、および情報の共有を容易にするデータ・ネットワークを使用して、送信元と送信先との間のデータ・ルーティングを効率的に行うことは、組織の重要な目標である。
【０００８】
ノードは、パーソナル・コンピュータ、および周辺装置を含むことができる、１つ、または複数の計算用装置によって表されるのが通常である。ノードは、本明細書において「ポイント」として同義に用いられているが、ノードは、「ルート」、または「パス」のいずれかとして知られているデータ・ネットワーク上の特定のセグメントのためのエンド・ポイントであるのが通常である。以降、２つの連続したノードの間で定義されるセグメントを「ホップ」として参照する。さらに、自律システム（「ＡＳ」）・ホップは、例えば、単一の自律システム内のセグメントとして引用する。また、ホップは、２つの連続しないノードによって定義されるネットワーク・パスの一部であってもよい。
【０００９】
送信元と送信先の間に、例えば１５の各ノードがあることがある。これらの１５のノードが、３つの自律システムにわたって広がり、合計７つのホップを定義できる可能性がある。第１のホップは、送信元ネットワーク内の出口ノードから第１のＡＳ内の入口ノードまで通るとすることができる。第２のホップは、第１のＡＳ内で出口ノードと入口ノードの間を通るとすることができる。第３のホップは、第１のＡＳ内の出口ノードから第２のＡＳ内の入口ノードまで通るとすることができる。第４のホップは、第２のＡＳ内の入口ノードから出口ノードまで通るとすることができる。第５のホップは、第２のＡＳ内の出口ノードを横切って第３のＡＳ内の入口ノードまで通るとすることができる。第６のホップは、第３のＡＳ内の入口ノードと出口ノードの間を通るとすることができる。最後に、第７のホップは、第３のＡＳ内の出口ノードと送信先ノードの間を通ることができるとする。上記の例では、７つのホップをリストしたが、上記のようなデータ・パスのホップ数は、上記ホップ数よりも少なくしたり、多くしたりすることも可能である。さらに、１つ以上のホップが、１つのＡＳ内の入口ノードと出口ノードのとの間を通るとすることができる。
【００１０】
送信元および／または送信先は、特定の組織用のコンピュータ・リソースを維持する、ウェブベース・データベース、記憶領域、一連の記憶機器などのデータ・ソースを具現することができる。リソースには、特定のミッションを実行するのに使用される必須のデータ、もしくはソフトウェアのプログラム、またはアプリケーションを含むことが可能である。例えば、銀行関連の状況下では、データベースには、クライアント、またはパートナー用の機密を含む、セキュリティ保護された財政情報を含むことができる。この情報には、必須のアプリケーションをサポートすることを要求されることがたびたびある。拠点が広く分散した組織がそのようなリソースを共有するような多くの状況下では、データ・ネットワークが実装されて、１つ以上のネットワーク・サービス・プロバイダー、または「ＮＳＰ」を利用することがしばしばである。１つのネットワークに１つ以上のＮＳＰを利用するとき、そのネットワークは、「マルチホーム」と呼ばれる。マルチホーム・ネットワークが存在するとき、従来のデータ・ネットワーク・コントロール技術にはいくつかの欠点がある。
【００１１】
まず、データ・ルーティングの効率は、従来のデータ・ネットワーク・コントロール・システムにおいて重要な問題である。その効率には、ネットワークの性能の最適化や、コストの最小化が含まれることが一般である。コストの減少や、性能の最大化（例えば、損失、待ち時間、ジッタなどの軽減）は、従来のデータ・ルーティング・コントロール技術、および複数の同技術共通の目標である。しかしながら従来のデータ・ネットワーク・コントロール・システムでは、大部分の送信先に対して最小のコストで最大の性能を実現することができない。データ伝送のコストやデータ・ネットワークの性能を考慮したとき、効率がしばしば犠牲にされる。言い換えれば、コストと性能は、暗黙的であれ、明示的であれ、しばしば効率に優先する要素である。効率はしばしば重要ではあるが、送信元・送信先間のデータ・ルーティングを行う方法、時間、場所の観点から、論理プロセス、および意志決定プロセスに影響を及ぼす要素が多いので、効率を優先することは困難である。複数のＮＳＰを使用するので、マルチホーム・ネットワークには、効率の良いデータ・ルーティングを行うのに固有の障害がある。したがって、従来のルート・コントロール技術によってマルチホーム・ネットワークを構成するには、データ・パスの候補を決定するために評価しなければならないルートが多すぎる。
【００１２】
「ＢＧＰ」（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）などのプロトコルは、ＡＳ間の標準的なデータ・トラフィックに使用されるデータ・プロトコルである。ＢＧＰは、ルチホーム・ネットワークを構成した企業や、組織には役に立つプロトコルである。しかしながら、ＢＧＰは、効率に関しては必ずしも最適な解決法を提供するものではないことがある。ＢＧＰは、コスト情報、または性能に関する統計データのいずれにもよらず、ルーティング・コントロールに関する決定を行う。代わりに、ＢＧＰは、ＡＳパス、およびその他の管理設定に基づいて決定を行う。そして、ＢＧＰがＮＳＰにデータ負荷を分散する場合でも、帯域幅の利用コストを最小にするようにデータ負荷を分散するわけではない。
【００１３】
さらに、ＢＧＰは、従来のように性能を考慮しないでルーティング・コントロールに関する決定を行うような方法のみによって、送信先に向けてのデータ・ルーティングを行う。より良い性能を有するルートが存在するかもしれないが、ＢＧＰは、データ・トラフィックをより良い性能を有するルートにシフトさせないものである。最適な性能を有するルートが存在するかもしれないが、そのルートは後で性能が落ちることがあるという別の例もある。ＢＧＰは、後に続く性能低下を補償できないので、より良い性能を有するルートに適応できず、上記のような性能低下の問題を解決できない。同じ送信先に対して、長さが短いが、性能が良くないルートと、長さは長いが、性能が高いルートの両者が存在する１つ例があるとする。ＢＧＰは、ルーティング・コントロールにあたって、長さが短いルート上にデータ・トラフィックを通すように決定するものである。長い方のルートは、性能が良いが、ＢＧＰ、および従来のプロトコルでは、性能品質が良くないにもかかわらず、短い方のルートを選択するものである。したがって、大部分の送信先に対して性能を最大化し、コストを最小化するようにデータ・ルーティングをコントロールする方法が必要とされている。
【００１４】
従来のデータ・ネットワーク・コントローラの別の欠点は、利用過多である。ＮＳＰは、一般的に、フロー・ボリューム、または帯域幅を測定して利用度閾値を設定することができる。これらの閾値によって最大稼働率が定義され、また、例えば、ユーザが設定可能であることが多い。最大稼動率を超えると、データ・フロー余剰分は他に溢出し、データ・フローの余剰分が、ルートにコストをかけるようなＮＳＰ利用度プロファイルとなるのが通常である。硬直したプロバイダーの料金体系では、オーバーフロー・データは、段階的に料金が上がるバケットに配置される。より効率的に帯域幅を再割り当てするよりはむしろ、従来のデータ・ルーティング・コントロール技術では最大および／または最小の料金限度がシフトされることが多く、動的かつ静的な料金モデルが生じる。マルチホーム・ネットワークを構成する企業や組織では、結局、データ・ルーティング要件の効率を最大にすることなく、したがって、不必要な追加のコストを支払っている。拠点が広く分散したネットワークではこれらのコストは、必須のアプリケーションをサポートするためにルーティングされる必要があるデータ量に要求される額を遙かに超える、かなりの財政的な支払いを伴うこととなることもある。例えば、これらのコストのかなりの部分は、所与のＮＳＰを使用する瞬間、瞬間に生じるコストである。
【００１５】
さらに、現在、従来のルーティング・コントロール製品、および方法では、ＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）ルーティング・テーブルなどのプロトコル・ルーティング・テーブルに公示されているように、ルーティング・コントロールに関する決定の利用、および作成がなされる。これらのルートは、プロバイダー・ルーティング・テーブルを小さく保つことを意図する、大配分アドレス空間をなすことが多い。残念ながらこれらのルーティング・コントロール製品では、大きなアドレス・プロジェクトにおける隣接するネットワーク間の広大な地理的な距離が考慮されていない。例えば、ネットワーク停止、断線などによって起こされる混雑によって１つまたは複数のパスの性能が落ち得るので、地勢はデータ・ルーティングデータの性能に影響を及ぼすことがあり得る。したがって、ネットワークにおける、特に、マルチホーム・ネットワークを構成する状況におけるルーティング問題の解決を意図するコントローラの決定では、影響されるアドレスの数によっては、多数のアドレスに、広範囲にわたる不利な影響を及ぼすことがあり得る。
【００１６】
したがって、従来のルーティング・コントローラやルーティング・コントロール技術の欠点を克服したシステムと方法が必要とされている。
【００１７】
発明の概要
本発明の方向は、データ・ネットワーク・コントローラである。データ・ネットワーク・コントローラは、ネットワークを制御するためのコントロール・モジュールを有する。また、データ・ネットワーク・コントローラは、他のモジュールに集合フロー情報を伝送するためのインタフェースを通して、集合フロー情報を分析する。キャッシュによって受信された情報は、データ・ネットワーク・コントローラやフローコントロール・システムの各要素と共有される。能動型較正器はネットワーク・データをデータ・ネットワーク・コントローラに伝送する。そして、集合モジュールは、フロー情報を集めるのに使用される。ソフトウエア・バスなどのバスは、相互モジュール通信のために使用される。ユーザ・モジュールは、コントロール・モジュールと通信しているユーザ情報を提供する。ファイル・ライブラリーは、プロバイダー情報のデータを格納し、情報をコントロール・モジュールに伝送する。トラフィック情報やポリシー情報などの追加情報は、要求情報をデータ・ネットワーク・コントローラに供給することができるレポジトリに格納される。
【００１８】
本発明の目的は、データ・ネットワーク・コントローラである。データ・ネットワーク・コントローラは、ネットワークを制御するためのコントロール・モジュールを有する。また、データ・ネットワーク・コントローラは、他のモジュールに集合フロー情報を伝送するためのインタフェースを通して、集合フロー情報を分析する。キャッシュによって受信された情報は、データ・ネットワーク・コントローラやフローコントロール・システムの各要素と共有される。能動型較正器はネットワーク・データをデータ・ネットワーク・コントローラに伝送する。そして、集合モジュールは、フロー情報を集めるのに使用される。ソフトウエア・バスなどのバスは、相互モジュール通信のために使用される。ユーザ・モジュールは、コントロール・モジュールと通信しているユーザ情報を提供する。ファイル・ライブラリーは、プロバイダー情報のデータを格納し、情報をコントロール・モジュールに伝送する。トラフィック情報やポリシー情報などの追加情報は、要求情報をデータ・ネットワーク・コントローラに供給することができるレポジトリに格納される。
【００１９】
本発明の別の実施形態では、ネットワークを制御するための方法を開示している。その方法は、候補の待ち時間を評価するステップと、候補の損失を評価するステップと、候補の帯域幅と候補の帯域幅配分とを比較するステップと、損失値を決定するステップと、コストを決定するステップと、識別子を評価して、変更値を決定するステップとを含む。
【００２０】
その方法は、さらに、候補帯域幅が帯域幅配分よりも狭いならば、最小の待ち時間を決定するステップと、最小の損失を決定するステップと、コストと利用度変数に基づいて、利用可能な最も大きい帯域幅を決定するステップと、コスト層を決定するステップと、最少の識別子定するステップと、変更値を割り当てるステップとを有する。
【００２１】
本発明の別の実施形態では、ネットワークを制御するための方法が開示されている。その方法は、候補の損失と現行の損失とを比較するステップと、候補の待ち時間と現行の待ち時間とを比較するステップと、最小の待ち時間を決定するステップと、最小の損失を決定するステップと、候補帯域幅値を評価するステップと、最大の候補帯域幅値を決定するステップと、コスト層を決定するステップと、最少の識別子を決定するステップと、変更値を割り当てるステップとを有する。
【００２２】
本発明の他の実施形態では、ネットワークを制御するための装置を開示している。その装置は、候補の待ち時間を評価する手段と、候補の損失を評価する手段と、候補の帯域幅と帯域幅配分とを比較する手段と、損失値を決定する手段と、コストを決定する手段と、識別子を評価する手段と、変更値を決定する手段とを有する。
【００２３】
その装置は、さらに下記の手段を開示している。その手段は、前記候補帯域幅が前記帯域幅配分よりも狭いならば、最小の待ち時間を決定する手段と、最小の損失を決定する手段と、コストと利用度変数に基づいて、利用可能な最も大きい帯域幅を決定する手段と、コスト層を決定する手段と、最少の識別子を決定する手段と、変更値を割り当てる手段とである。
【００２４】
本発明の別の実施形態では、ネットワークを制御する装置を開示している。その装置は、前記候補帯域幅が前記帯域幅配分よりも狭いならば、最小の待ち時間を決定する手段と、最小の損失を決定する手段と、コストと利用度変数に基づいて、利用可能な最も大きい帯域幅を決定する手段と、コスト層を決定する手段と、最少の識別子を決定する手段と、変更値を割り当てる手段とをさらに有する。
【００２５】
本発明のさらに別の実施形態は、下記のステップを実行することによってネットワークを制御する命令を格納するコンピュータが読み取り可能な媒体を提供する。それらのステップは、候補の待ち時間を評価するステップと、候補の損失を評価するステップと、候補の帯域幅と帯域幅配分とを比較するステップと、損失値を決定するステップと、コストを決定するステップと、識別子を評価するステップと、変更値を決定するステップとである。
【００２６】
コンピュータが読み取り可能な媒体は、さらに下記のステップを有する。それらのステップは、前記候補帯域幅が前記帯域幅配分よりも狭いならば、最小の待ち時間を決定するステップと、最小の損失を決定するステップと、コストと利用度変数に基づいて、利用可能な最も大きい帯域幅を決定するステップと、コスト層を決定するステップと、最少の識別子を決定するステップと、変更値を割り当てるステップとである。
【００２７】
本発明の別の実施形態では、ネットワークを制御するための命令を格納するコンピュータが読み取り可能な媒体が開示されている。そのコンピュータが読み取り可能な媒体は、下記のステップを実行する。そのステップは、候補の損失と現行の損失とを比較するステップと、候補の待ち時間と現行の待ち時間とを比較するステップと、最小の待ち時間を決定するステップと最小の損失を決定するステップと、候補帯域幅値を評価するステップと、最大の候補帯域幅値を決定するステップと、コスト層を決定するステップと、最少の識別子を決定するステップと、変更値を割り当てるステップとである。
【００２８】
本発明の別の実施形態では、搬送波に取り込まれたコンピュータ・データ信号を開示している。そのコンピュータ・データ信号は、候補の待ち時間を評価するプログラム・コードと、候補の損失を評価するプログラム・コードと、候補の帯域幅と帯域幅配分とを比較するプログラム・コードと、損失値を決定するプログラム・コードと、コストを決定するプログラム・コードと、識別子を評価するプログラム・コードと、変更値を決定するプログラム・コードとを有する。
【００２９】
搬送波に取り込まれたコンピュータ・データ信号は、さらに前記候補帯域幅が前記帯域幅配分よりも狭いならば、最小の待ち時間を決定するプログラム・コードと、最小の損失を決定するプログラム・コードと、コストと利用度変数に基づいて、利用可能な最も大きい帯域幅を決定するプログラム・コードと、コスト層を決定するプログラム・コードと、最少の識別子を決定するプログラム・コードと、変更値を割り当てるプログラム・コードとを有する。
【００３０】
本発明の別の実施形態では、搬送波に取り込まれたコンピュータ・データ信号を開示している。そのコンピュータ・データ信号は、候補の損失と現行の損失とを比較するプログラム・コードと、候補の待ち時間と現行の待ち時間とを比較するプログラム・コードと、最小の待ち時間を決定するプログラム・コードと、最小の損失を決定するプログラム・コードと、候補帯域幅値を評価するプログラム・コードと、最大の候補帯域幅値を決定するプログラム・コードと、コスト層を決定するプログラム・コードと、最少の識別子を決定するプログラム・コードと、変更値を割り当てるプログラム・コードとを有する。
【００３１】
発明の実施の形態の詳細な説明
本明細書では、本発明の特定の実施形態を詳細に記載する。しかしながら、本発明には様々な形態があり得ることは理解されなければならない。したがって、本明細書において詳細に開示されている特定の内容に制限するものとして解釈するのではなく、むしろ、実質的に適切・詳細なシステム、構造、方法、プロセス、または様式に本発明を採用する特許請求の範囲の基礎として、また、当業者の教示用の基礎として解釈すべきである。本明細書では、多くの実施形態が検討されているが、本発明は、それらの実施形態に限られるものではない。多くの例では、例えば、ＢＧＰなどのルーティング・コントロール・プロトコルを、アドレス指定またはルーティング用の他の形式のプロトコルに予見可能に置き換える、または交代させることができる。本明細書における詳細な記載によって、当業者は本発明を実行することができる。
【００３２】
本発明は、一般的に、ネットワーク構成された通信システム上でのデータ・ルーティングに関する。特に、データ・ネットワーク上でルーティング・コントロールするシステムおよび方法に関する。ネットワーク内でのデータ伝送は、通信装置間のリソースの共有を標準化するプロトコルを使用する。ＢＧＰは、自律ネットワーク間で、特に、マルチホーム・ネットワークを構成するネットワーク、またはインターネットにアクセスするために、１つ以上のサービス・プロバイダーに依存するネットワーク間で使用されるプロトコルである。多くの例では、データ・ルーティングは、ＢＧＰ情報が外部ルータ間にどのように分配されるかによって内部および外部として分類されることもできるＢＧＰなどのプロトコルを使用して行われる。プロトコルの他の例では、データ・ネットワーク間、データ・ネットワーク上での通信を標準化するプロトコルとして、外部ゲートウエイ・プロトコルおよびドメイン間ルーティング・プロトコル、ならびにＳＣＴＰ（Ｓｔｒｅａｍ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）およびＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）の各プロトコルを含む。本発明の実施形態によって、最良のルーティング・コントロールの効率が改善され、すべての送信先に対して、最低のネットワーク・コストで最善のルーティング・コントロール性能が可能になる。上記のように従来のデータ・ルーティング・コントロール技術では、効率を改良することは不可能であり、また送信先に対するコストを最小にすることはできない。本発明の実施形態によって、さまざまのパス、および各種課金構造、ならびにが影響を受け、また効率を最大にすることが約束される。従来の方法では、いくつかの送信先に対してはコストを最小するが、他の送信先に対しては性能を最小にすることができるだけである。本発明の実施形態によれば、ＲＴＴ、パケット損失、ジッタなどの性能測定基準をすべての送信先に対して最適化することができる。本発明において性能を最大化し、コストを最小化するには、コスト、および性能に関連して最良のデータ・パス候補を選択することを伴うのが一般的である。
【００３３】
本明細書に記載されているデータ・パスは、第１のポイント（例えば、送信元ノード）と第２のポイント（例えば、送信先ノード）との間のルートであり得る。そして、そのデータ・パスは、それぞれが、送信元ポイントと送信先ポイントとの間のデータ・パスに沿って連続する２つのノードを接続する複数のセグメント、または「ホップ」に分割される。また、単一の自律システム（「ＡＳ」）内に広がっている、または２つ、または２つ以上のＡＳを接続するセグメントとしてホップを定義することができる。１つのネットワーク内における特定のノードを識別するために、通常、ＩＰアドレス、または他のプロトコルに基づくアドレスが使用される。代表的な典型的なＩＰアドレスは３２ビットで構成され、それぞれ８ビットで構成される４つのアドレス集合からなる。ネットマスク、またはプレフィックスは、アドレス内の関連するビットの数を参照する。例えば、クラス構造のないドメイン間ルーティング（ＣＩＤＲ）スキーマにおける２３９．０５１．０．０／１６というＩＰアドレスによって特定のノードの関連するアドレスが識別される。／１６プレフィックスによって１６ビットのネットマスクが識別される。このとき、本発明の１つの実施形態によれば、アドレスの最初の１６ビットが、このアドレスの公告、または公示に関連している。
【００３４】
従来のデータ・コントロール技術では、ネットワーク・トポロジ（位相）を定義し、データ・ルーティング上のコントロールをアサートするために、プロービングを採用するのが一般的である。本発明の１つの実施形態によれば、データ・コントロールには、「／１６」など長さの記号表示を使用して識別されるのが通常であるが、インターネット・ルーティング・テーブルに存在するプレフィックス長さが使用される。プレフィックスが長ければ長いほど、アドレスは、より詳細に特定される。／ｌ６プレフィックスは、  ／２４プレフィックスより大きいアドレス集合を表す。／１６プレフィックスでアドレス指定されるポイントに問題が起こると例えば、影響を受けるアドレスの数は、／２４のプレフィックスを有するポイントの場合よりも大きいであろう。このようにして、／１６のプレフィックスによって影響を受ける送信先、またはアドレスの数は、／２４のプレフィックスの場合よりも、多くなるであろう。従来の技術では、ルート公告にあたって任意の長さのプレフィックスが割り当てれる。以下で記述される本発明の１つの実施形態によれば、トポロジ・ネットワーク・マップを作成することによって、効率をより強調するデータ・ルーティング・コントロールが行われ、さらに、より少ない公告数でより多くの特定ポイントが表示される。このようにして、データ・トラフィック・ボリュームが減少して、データ・ルーティング、および該コントロールの効率が改善される。
【００３５】
本明細書では、用語「プレフィックス」は、ＩＰアドレスの小区画を記述するのに使用されるが、本明細書の実施形態では、プレフィックスの使用に限定しているわけではないことに注目すべきである。むしろ、「プレフィックス」、「サブプレフィックス」などに代わって適当な「アドレス集合」を使用して、対象となるアドレス（すなわち、送信先）を分類・記述することができる。そのアドレスは、プレフィックス境界で連続する必要はなく、できるだけ小さい単一のアクティブ・アドレス（すなわち、「／３２」）であることも可能である。パス追跡プロ−ブを送信して、ネットワーク・ポイント、時には送信先を含み、または、ファイアウォール、またはフィルタなどの無効手段によってプローブできない任意のネットワーク・ポイントへのパス測定候補を入手する。識別可能な収束ポイント、または１つ以上のデータ・ルートが収束するポイントを能動的にプローブして、データ・ルーティングとして公告される。本発明の実施形態を、以下の図と検討を通じてさらに説明する。
【００３６】
図１Ａ、図１Ｂ、および図１Ｃに、本発明の特定の実施形態を実現するのに適した基本的なハードウェア部品を示す。図１Ａは、ディスプレイ・スクリーン５を有するディスプレイ３を含むコンピュータ・システム１の模式図である。キャビネット７は、ディスク・ドライブ、ＣＤ−ＲＯＭドライブ、ディスプレイ・アダプタ、ネットワークカード、ＲＡＭ（ランダム・アクセス・メモリ）、ＣＰＵ（中央演算処理装置）、ならびに他の部品、ブシステムおよび装置などの標準的なコンピュータ部品を収納する。ボタン１３を有するマウス１１、キーボード９などのユーザ入力装置が示されている。トラックボール、タッチスクリーン、デジタル化用タブレット、音声、または視覚認識装置などの他のユーザ入力装置も使用することができる。コンピュータ・システムは、本発明においての使用に適した、デスクトップ・コンピュータなどの１つの形式のコンピュータ・システムのみで説明できるのが一般的である。多くの異なるハードウェア部品でコンピュータを構成することができ、また、いろいろな寸法とスタイル（例えば、ラップトップ、パームトップ、ペントップ、サーバ、ワークステーション、メインフレーム）のコンピュータ作り上げることができる。本明細書に記述された処理を実行するのに適当したハードウェア・プラットフォームであれば、いかなるプラットフォームも本発明においての使用に適している。
【００３７】
図１Ｂは、コンピュータ１などのコンピュータ内で通常見られるであろうサブシステムを示す。図１Ｂでは、筐体２０内のサブシステムが内部のバス２２に直接接続されている。そのようなサブシステムは、図１Ａのキャビネット７などのコンピュータ・システム内に含まれるのが、普通である。サブシステムには、入力／出力（Ｉ／Ｏ）コントローラ２４、システム・メモリ（または、「ＲＡＭ」（ランダム・アクセス・メモリ））  ２６、ＣＰＵ（中央演算処理装置）２８、ディスプレイ・アダプタ３０、シリアル・ポート４０、固定ディスク４２、当業界で知られている電気的方法、無線、または光学的な方法などによってネットワークと順に通信するよう構成されているネットワーク・インタフェース・アダプタ４４（例えば、ネットワー・インタフェース・カード、またはＮＩＣ）を含む。バス２２の使用によって、サブシステムそれぞれがサブシステム間のデータ伝送を行うことができ、また、最も重要なことは、Ｓｐａｒｃ（登録商標）、ＩｎｔｅｌＣＰＵ、ＰｏｗｅｒＰＣ（登録商標）、または同等物であろうＣＰＵとのデータ伝送ができる。外部装置は、バス２２を通じてＣＰＵ、または他のサブシステムと通信することができる。したがって、モニター４６は、がディスプレイ・アダプタ３０に接続され、相対的なポインティング・デバイス（例えば、マウス）シリアル・ポート４０などのポートに接続される。キーボード５０などのいくつかの装置は、メイン・データ・バスを使用することなく、例えば、割り込みコントローラ、および関連レジスタを通すことなく直接的な手段でＣＰＵと通信できる。
【００３８】
図１Ａに示される外部の物理的な構成としては、多くのサブシステム構成が可能である。図１Ｂは１つの適当な構成のみで説明できる。サブシステムには、図１Ｂに示されるものを除く、部品や装置を追加することができる。また、図１Ｂに示されるサブシステムよりも少ない部品を使用して適切なコンピュータ・システムを構成することができる。例えば、スタンドアローン・コンピュータをネットワークに結合する必要はない。したがって、ネットワーク・インタフェース４４は必要なくなるであろう。ＣＤ−ＲＯＭ装置、グラフフィック・アクセラレータなどの他のサブシステムを、本発明によるシステムの性能に影響を及ぼすことなく、構成内に含めることができる。
【００３９】
図１Ｃは、本発明の実施形態を実現するのに使用できるであろう代表的なネットワークの全体図である。図１Ｃでは、ネットワーク・システム８０は、インターネット、ＷＡＮ（広域ネットワーク）、または同様のネットワークなどのコンピュータデータ・ネットワーク８２に結合されたいくつかのローカル・ネットワークを含む。本明細書に記述されているネットワーク・システムは、送信元から送信先へ、またその逆方向の１つ、または複数のパスを構成する、１つ、または複数のローカル・ネットワーク、およびネットワーク・サービス・プロバイダーを参照する。しかしながら、ネットワーク・システムは、任意のネットワーク技術を使用して通信している１つ、または複数の計算装置を含む１つ、または複数の計算装置を含むデータ・ネットワークを意味することがあることを理解するべきである。本明細書では、特定のネットワーク・プロトコル、物理層、トポロジー、および他のネットワーク要素を示したが、本発明は、１つ以上のインターネット／ネットワーク・サービス・プロバイダー（例えば、他のネットワークに接続されたマルチホーム・ネットワーク）、特に、プロトコルの基準に合った情報１つ、または複数のパケットを有するデータ・フローなどのデータ・ルーティング用のインターネット・プロトコル（ＩＰ）を採用するネットワークに依存し、複数のパスを有する任意のネットワークにおいても、適切に使用される。さらに、図１Ｃには、特定の構成が示されているわけはないが、本発明によるデータ・フロー・コントロールシステムを、１つ、または複数のデータ・ネットワーク８２内に配置することができることを当業者は理解すべきである。または、ネットワーク・システム８０で操作するために構成される。
【００４０】
図１Ｃでは、コンピュータ・ユーザ１は、サーバ１に接続されており、その接続は、イーサネット、ＡＴＭ（非同期転送モード）、ＩＥＥＥ標準１５５３バス、モデム接続、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などの任意のネットワーク・プロトコルによってなされる。その通信リンクは、有線である必要はなく、赤外線伝送、無線伝送などであっても可能である。示されているように、サーバ１は、インターネット、または、例えば、データ通信用のＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）などのプロトコルを使用する他の任意のインターネットなどのデータ・ネットワーク８２に結合されている。データ・ネットワークは、サーバ・ルータ８２の集合として象徴的に示されている。
【００４１】
典型的な使用法として、情報の配布、または通信用のインターネット、または別のデータ・ネットワークが使用されたが、本発明を実現するのに必ずしも厳密に必要とされているわけではない。むしろ、特定の実施形態を例証するのに使用されているのにすぎない。さらに、サーバ・コンピュータの使用、およびサーバおよびクライアント・マシンの指定は、本発明の実装には決定的なものではない。ユーザ１コンピュータを直接インターネットに接続することができる。サーバ１のインターネットへの接続は、Ｔ１回線、Ｔ３回線、または広域イーサネットなどの比較的高い帯域幅を有する伝送媒体によってなされる。もっとも、同様の方法で、ユーザ１とも接続することができる。同様に、他のコンピュータ８４は、ユーザ１コンピュータとは異なる位置においてローカル・ネットワーク（例えば、ＬＡＮ（ローカル・エリア・ネットワーク））を利用していることが示されている。位置８４におけるコンピュータはサーバ２を経由してインターネットに結合される。コンピュータ８４は単一のサーバ（例えば、サーバ２）のみを含むように示されているが、２つ、または複数のサーバをコンピュータ８４に関連するローカル・ネットワークに接続することができる。ユーザ３とサーバ３からなる構成は、計算装置からなる第３のネットワークを代表する。
【００４２】
図２は、本発明の特定の実施形態によるフローコントロール・システムを模式的に示している。フローコントロール・システム２００は、データ・ネットワーク内の１つ、または複数のネットワーク要素と通信できるように構成される。フローコントロール・システム２００は、様々なアプリケーションと通信するコントローラ２０２を含む。これらのアプリケーションは、利用度コレクタ２０４、データ・ディレクタ２０６（マルチホーム・ネットワークを構成する企業において起こりうることだが、複数のＮＳＰと通信することが示されている）、構成要素２０８、能動型較正器２１０、ポリシー・レポジトリ２１２、トラフィック・レポジトリ２１６と通信している受動型較正器２１４を含む。データ・フロー２１８は、フローコントロール・システムに入力されていることが示されており、構成要素２０８を通してコントローラ２０２から受信したコントロール信号に基づいて、ＮＳＰへのデータ・トラフィックを指示するデータ・ディレクタ２０６へのデータ入力が行われる。また、データ・トラフィックは、トラフィック・レポジトリ２１６に代表的なデータを格納する受動型較正器２１４によってモニターされる。トラフィック・レポジトリに格納されたデータの例には、待ち時間、利用可能で割り当て可能な帯域幅測定値およびなどの性能パラメーターを含めることがある。
【００４３】
フローコントロール・システム２００は、構成要素２０８などの送信元ネットワーク８２の要素の外部にあって、該要素と通信していることが示されているが、フローコントロール・システム２００を示されている要素のいずれにも完全に組み込まれるようにすることも、または、サーバ８６などの要素のそれぞれの上に部分的に分配されることもできる。別の実施形態では、フローコントロール・システム２００は、典型的な送信元ネットワーク８２内の１つ、または複数のサーバ、またはネットワーク要素上に常駐する。
【００４４】
典型的なデータ・ネットワークには、１つ、または複数の送信元ネットワーク８２が含まれる。送信元ネットワーク８２は、通常、ウェブサービス・プロバイダー、アプリケーション／インターネット／ネットワーク・サービス・プロバイダー、管理されたサービス・プロバイダー、コンテント配信ネットワーク、ウェブを主催する会社、個々の企業、法人、事業体などによって所有され運営される１つ、または複数のサーバを含むローカル・ネットワークである。図２に示めされているように、そのようなサービス・プロバイダーは、通常、さらに、ＮＳＰ１、ＮＳＰ２、ＮＳＰ３、・・・・およびＮＳＰｎなどのマルチホーム・ネットワークを構成するマルチホーム・ネットワーク・サービス・プロバイダー８２から除外されるユーザにも情報を伝達する。１つの例では、ＮＳＰは、第１集合のデータ・ネットワークと考えられる送信元ネットワーク、または送信元ポイントに結合される。これらのＮＳＰ、または第１集合のデータ・ネットワークは、順番に第２集合のネットワークに結合され、第２集合は、複数の他のネットワークに接続される。その結果、送信元から送信先までに１つ、または複数のパスが確立される。
【００４５】
１つの実施形態では、フローコントロール・システム２００は、端末相互間（すなわち、送信元から送信先へ、また送信先から送信元へ）でデータ・トラフィック２１８を、性能、コスト、帯域幅などのデータ・フロー特性に関連して測定するように作動する。また、フローコントロール・システム２００は、複数のＮＳＰにわたるデータ・パスと関連づけられる統計データを、リアルタイム、または、リアルタイムに近いタイミングで発生させる。そのような統計資料は、ネットワーク技術職員、および管理者に提供するため、例えば、オンザフライ・レポートを作成して、ルート変更行動に関連する情報、選択された送信先に渡されるトラフィック性能、トランジット・プロバイダー利用度（すなわち、帯域幅）、コストなどを提供することができるようにレポート情報とともに、送信元ネットワーク８２に伝達される。
【００４６】
本発明の１つの実施形態では、ローカルな計算装置は、コントローラ２０２の要求にしたがって、ポリシー・レポジトリ２１２、およびトラフィック・レポジトリ２１６から抜粋される情報を利用する。例えば、［ＧＵＩ］（グラフィカル・ユーザ・インタフェース）を使用するフローコントロール・システム２００およびコントローラ２０２にアクセスして、ユーザは、利用度コレクタ２０４においてユーザが構成可能な情報をモニターしたり、修正したり、削除したり、入力できる。また、１つ、または、複数のルートに沿ったデータ・トラフィック（例えば、送信元と送信先の間のパス）を示すことができる図表表現が、ＧＵＩを通してユーザに提供されることができる。送信元ネットワーク８２へのアクセス権を有する、ネットワーク、またはシステム管理職員、またはフローコントロールを担当する事業体は、例えば、データ・トラフィックを現行のルートから、より効率的なルートであるルートにデータ・トラフィックに変更することによって、システム操作を修正するためのコントロール情報を、利用度コレクタ２０４を通してフローコントロール・システム２００に提供する。しかしながら、本発明にしたがって操作するフローコントロール・システム２００にとて、ネットワーク管理職員による介入は必ずしも必要ではない。
【００４７】
また、フローコントロール・システム２００は、特定のトラフィック・フローが関連するフロー・ポリシーの１つ、または複数の規則の集合を満たすかどうかを決定するために、特定のデータ・トラフィック・フロー（すなわち、データ・ネットワークからの外向けの、またデータ・ネットワークへの内向けの一方向および双方向の両トラフィック・フロー）を比較する。ここで参照され、ポリシー・レポジトリ２１２に格納されているフロー・ポリシーには、特定のシステム・ユーザ（例えば、ＩＰアドレス・プレフィックスとして記述される）に関連する特定のデータ・トラフィック・フローに関連づけられる１組の１つ、または複数の規則が含まれる。また、デフォルトの構成、またはユーザによる構成によって設定された特定の規則を、フローコントロール・システム２００の性能および操作に関連するパラメータを提供するポリシー・レポジトリに格納する。性能の評価基準は、フローコントロール・システム２００の操作をガイドするのに使用される。
【００４８】
最小の評価基準は、特定のトラフィック・フロー特性に関連するルーティング行動を定義する各種数値範囲において下位の方のレベルを表す。例えば、１つの規則では、ネットワーク・サービス・プロバイダー・コストに関連する、または関連しない最大の許容できるコスト、特定のプロバイダーにわたるトラフィックに関連する最大負荷、または帯域幅利用度、許容できる（または、許容できない）サービス・プロバイダーの範囲、複数のネットワーク・サービス・プロバイダーにわたる１つ、または複数のパス上の最大許容待ち時間、または損失、最大バースト限界、最小性能コミットメント、およびコスト範囲（すなわち、日時に関連するコスト構造、トラフィックの形式など）などの、それぞれのネットワーク・サービス・プロバイダー用の許容できる性能範囲、およびデータ・トラフィックの測定に影響を及ぼすことができる他の任意のデータ・フロー特性を設定できる。
【００４９】
さらに、フローコントロール・システム２００は、１つ、または複数の規則、またはフロー・ポリシーに違反し、補償行動をとらねばならない時期を検出するように作動する。すなわち、性能（すなわち、サービス・レベル保証）、コスト、または帯域幅（すなわち、パスあたりの有効なパーセント容量に関連する負荷）における決定的なズレを訂正することによって、フローコントロール・システム２００は、データ・トラフィック・フローに関連づけられるポリシーを実施する。フローコントロール・システム２００は、リアルタイム、またはリアルタイムに近いタイミングでのトラフィック分析、ローカル・パスの多様性（すなわち、データ・ネットワークからの１つ、または複数の出口パスを修正すること）、および下流方向の利用可能なパスへの見通しに基づいて上記のような訂正を行う。例えば、特定のトラフィック・フローに関連する送信先に対して、フローコントロール・システム２００は、１つ、または複数の代替パスにトラフィックを向ける、または向け直して、フロー・ポリシーからの、フロー特性に関連する特定のフローのズレを直す
別の実施形態ではフローコントロール・システム２００はリアクティブ型フローコントロール・システムであってもよい。すなわちリアクティブ型フローコントロール・システムは、何らかの目標とする許容操作レベルに性能を最適化するよりはむしろ、ポリシー違反に反応し、１つ、または複数のデータ・ネットワーク、またはサービス・プロバイダー上のデータ・トラフィックの基準以下のルーティングを示す（すなわち、アドレス・パスーフェイル基準）ように設計される。
【００５０】
図２に戻って、典型的な受動型較正器２１４、能動型較正器２１０、および利用度コレクタ２０４をコントローラ２０２に結合して、データ・トラフィックのフロー特性をある程度提供する。コントローラ２０２は、モニターされているフロー特性および関連するフロー・ポリシーを受信する。ルート・コントロールに関連するポリシーに関連するユーザ、またはマシンが発生した規則をコントローラ２０２に入力できる。フローコントロール・システム２００が操作、モニター、およびアラーム状態に関して適切なレベルを維持することを確保するために、本発明のための特定のパラメーター、操作ガイドラインを、コントローラ２０２において入力できる。コントローラ２０２は、フロー・ポリシーが違反されるかどうかを判断し、違反を検出するとすぐ違反を直すような補償行動を選択するように構成されている。データ・ディレクタ２０６は、例えば、コントローラ２０２によって発生され、構成要素２０８によって転送されるコントロール信号にしたがって、現行のトラフィック・フローをより良い性能のパスに変更することによって、実際の、または、係属中の違反を直す修正行動を実行する
また、トラフィック・フローの管理とは別に、フローコントロール・システムは、トラフィック・レポジトリ２１６、およびポリシー・レポジトリ２１２に格納されているデータを使用する。トラフィック・レポジトリ２１６、およびポリシー・レポジトリ２１２は、ともにデータベースであって、記憶装置、データベース、格納区域、または他の格納機器、およびデータベース・アプリケーション、データ・ウエアハウジング、および、マイクロソフト（ＭｙＳＱＬ）、オラクル（９ｉ＋）、Ｓｙｂａｓｅ、およびＥＭＣなどの会社によって製造されたものと同様のデータベース管理システムなどの装置を使用して実現されることができる。トラフィック・レポジトリ２１６、およびポリシー・レポジトリ２１２は、ともに、１つ、または複数のデータ構造形式によって多くのレコードを格納するように構成される。
【００５１】
トラフィック・レポジトリ２１６は、トラフィックおよびルート特性に関連する情報を格納し、それらの情報を伝達するように設計され、ポリシー・レポジトリ２１２は、データ・トラフィック・フローそれぞれの性能とコストを左右するフロー・ポリシー情報、または規則を格納し、伝達するように設計されている。データベース管理に関係する当業者は、多くのデータベース管理技術を本発明のレポジトリを実現するのに採用する可能性があることを理解すべきである。
【００５２】
稼働中に、図２のフローコントロール・システム２００は、パケットベースのデータ・トラフィックを示すことがある、出口および入口のデータ・トラフィック・フロ２１８をモニターして、送信元ネットワーク８２への、および該ネットワーク８２からのデータ・フロー２１８が、コントローラ２０２を経由してユーザによって入力され、ポリシー・レポジトリ２１２に格納されたポリシーによって設定された性能の許容集合内にあるかないかを判断する。１つの実施形態では、フローコントロール・システム２００は、ネットワーク・スイッチなどによるレプリケーション（複製）によって、また、オプティカル・スプリッタ、または当業者には知られている他の任意のタッピング方法などのスプリッタを使用して、データ・フロー２１８を受信する。データ・フロー２１８内に含まれる情報と精確に、またはほとんど精確に同じであるデータ・フロー２１８を受動型較正器２１４に提供する。
【００５３】
受動型較正器２１４は、データ・フロ２１８のデータ・トラフィックをモニターし、トラフィック、トラッフィク性能、およびポリシー密着性に関連する情報をコントローラ２０２に伝達する。コントローラ２０２は、特定のデータ・フローなどの特定のトラフィック・フローに対応する１つ、または複数のポリシーを表すポリシー・データを受信するように構成される。そのうえ、特定のデータ・フローは、例えば、送信先プレフィックスによって識別されるあるユーザに関連づけられることができる。コントローラ２０２は、特定のトラフィックが満たすように要求される性能、コスト、または稼働率のレベルをポリシー・データから決定する。例えば、コントローラ２０２は、データ・フロー２１８の特定のトラフィック・フローが、内向きの、および外向きのネットワーク待ち時間、パケット損失、およびネットワーク・ジッタなどの１つ、または複数の要件、または評価基準によって定義される性能レベル（すなわち、サービス・レベル）を満たしているかどうかを決定する。
【００５４】
能動型較正器２１０は、１つ、または複数の、形式が代わる能動プローブをデータ・ネットワークへ送信、およびデータ・ネットワークから受信するように機能する。これらのプローブは、１つ、または複数の有効なプロバイダーを横切って通るパス（すなわち、プロバイダーがピアＡＳというよりはむしろトランジットＡＳであるかどうかを決定する）、次に使用するホップ、および他のネットワークパラメーターを含むネットワーク性能を測定するように設計される。能動型較正器２１０を起動するためコントローラ２０２は、能動プローブ要求を能動型較正器２１０に送る。コントローラ２０２がその代替のルート、またはネットワーク・システムの特性に関する追加情報が、リアクティブ型フローコントロール・システムにおいてポリシーをより有効に実施するために、または、最適化されたフローコントロール・システムにおいてポリシー違反を防ぐために必要であると決定したとき、上記のような要求がなされる。
【００５５】
利用度コレクタ２０４は、ＮＳＰ構成の形式によって１つ、または複数のＮＳＰと通信するデータ・ディレクタ２０６を経由してＮＳＰデータを受け取るよう構成される。一般的には、そのような構成には、各プロバイダーに関連しているルートの数（「パイプ」）、データ伝送速度、帯域幅配分、冗長条項、データ・バックアップ、およびＮＳＰに関連づけられる他の性能特性を含む。さらに、ＮＳＰデータは、プロバイダーのコスト、または課金構造に関連させることができる。また、各プロバイダーのアドレスの関連集合、または部分集合、ならびに各プロバイダーの課金方法（すなわち、バイト／分など）を含むことができる。さらに、利用度コレクタ２０４は、スイッチ、ボーダ・ルータ、プロバイダー装置、および、データ・ネットワーク上でデータを伝送するために使用する他の装置などのネットワーク要素から、利用度情報を集めるように構成される。利用度コレクタ２０４は、ＮＳＰデータおよび利用度情報に基づいて集められたデータを表すプロバイダーの稼働率と課金情報をコントローラ２０２に提供するよう構成される。稼働率と課金情報によって、フローコントロール・システム２００用の性能と操作パラメーターにた対する基礎が提供されることが多い。利用度データ、または稼働率データ（本明細書に記述されている実施形態に限るものではない）を様々な方法で測定して、接続またはリンク時間、データ・パケット・ボリューム、または、ここでは明確に含まれていない他の基準を含むことができる。他の稼働率と課金情報は、対象となるＮＳＰそれぞれのためコスト、課金、稼働率を表すデータを含む。
【００５６】
当業者は、さまざまな方法でＮＳＰデータを利用度コレクタ２０４に提供することができることを理解すべきである。図１Ｃの送信元ネットワーク８２にあるＧＵＩを用いて、ネットワーク技術者が計算装置にデータを入れるなど、権限を有する事業体が、本明細書に記述されているデータ・フローに使用されているように、例えば、データ・パスの記述、定義、制御、または修正を行うことができる。
【００５７】
さらに、ネットワーク・サービス・プロバイダーのデータ・トラフィック容量、コストなどを定義して、利用度コレクタ２０４は、利用度特性をモニターするように構成される。利用度コレクタ２０４に提供される利用度データには、データ・ネットワーク上でデータをＡ送するのに使用されるスイッチ、ボーダ・ルータ、ルータ、プロバイダーギヤ、および他の装置などのネットワーク要素からの利用度情報と特性が含まれる。利用度は、特性の瞬時、または瞬時に近い特性（すなわち、利用度特性、データ・ボリューム）測定値を表し、例えば、ネットワーク・サービス・プロバイダーそれぞれの負荷と有効容量を定義するデータ（すなわち、ｔｉｍｅ（０）におけるＸ  Ｍｂサンプルなどのデータ）を参照する。稼働率は、長期にわたる利用度レートである。例えば、ｔｉｍｅ（０）でのＸ  Ｍｂと、ｔｉｍｅ（１）でのＹ  Ｍｂとして、ＮＳＰ１をモニターしている利用度コレクタが、長期にわたる稼働率、または容量を測定するとする。この生データ、または利用度を使用、または  ＮＳＰ１に対する利用度レート（例えば、Ｙ−Ｘ／ｔｉｍｅ（１）ーｔｉｍｅ（０））を計算するのに使用する。トラフィックに利用可能な各パス、またはパスの各セグメントの総容量である。１つの実施形態では、第１のポイントからの任意のホップ数、またはネットワーク数における任意のパスにおける任意のセグメントにおいても利用度を測定することができる。負荷は、通常、特定のパスが、データ・トラフィックを搬送するのに使用される容量の容量値として定義され、また、負荷／帯域幅として表現できる
利用度コレクタ２０４は、利用度情報、およびデータ・トラフィック・フロー２１８から採取したＮＳＰデータに基づいて利用度と課金情報を発生させるように設計される。プロバイダーそれぞれのコストおよび課金構造は、利用コストを決定する方法と同様、それぞれ異なるので、利用度コレクタ２０４は、利用度情報を集めるように作動して稼働率情報および課金情報をコントローラ２０２に提供する。ソフトウェア・アプリケーション、または他の手段を、財務会計の目的のために稼働率情報および課金情報を実現するのに使用することが可能である。
【００５８】
次に、利用度コレクタ２０４は、対象となるＮＳＰそれぞれに対するコントローラ２０２に稼働率情報および課金情報を提供する。利用度コレクタは、ルーティング・コントロールをより有効に行う必要があるときプロバイダー利用度情報に基づく追加情報をコントローラに提供することができることを当業者は理解すべきである。
【００５９】
コントローラ２０２は情報を（すなわち、集められた性能と利用度に関する特性）を受動型較正器２１４、能動型較正器２１０、利用度コレクタ２０４、およびオプションとしてのトラフィック・レポジトリ２１６から集める。集められた情報に基づいてコントローラ２０２は、コントローラ２０２に搬送されているポリシー・データによって表される情報に関連して最も軽いポリシー違反にする行動過程を決定する。一旦行動過程が決定されると、コントローラ２０２は、構成要素２０８に対するネットワーク・ルーティング変更要求を開始して、割り当てられたＮＳＰを通るデータ・トラフィック・フローを変更するようデータ・ディレクタ２０６に指示する該要素２０８に該要求を送信する。特定の実施形態では、また、コントローラ２０２は、ポリシー違反を直すのに使用することができる１つ、または複数の代替データ・パスを表すデータを提供する。
【００６０】
構成要素２０８は、ネットワークにおけるルーティング変更をデータ・ディレクタ２０６に伝達するように設計される。一旦構成要素２０８が１つ、または複数のルーティング変更を送信すると、次にデータ・ディレクタ２０６は、データ・トラフィック・フロー２１８を現行のパスから別のパスに移動させる（例えば、ＮＳＰ１からＮＳＰ２を通ってＮＳＰｎへ、またはＮＳＰＩの第１のパスからＮＳＰ１の第２のパスまで）。その結果、データ・ディレクタ２０６は、例えば、リンクそれぞれにわたって測定されるコストおよび性能に基づいて、複数のネットワーク・サービス・プロバイダー・リンクにわたる送信先にトラッフィクを分散するよう操作する。
【００６１】
稼働中に、構成要素２０８が、１つ、または複数のルーティング変更を、例えば、ＢＧＰなどのルーティング・プロトコルを使用して  データ・ディレクタ２０６に伝達する。構成要素２０８は、データ・ディレクタ２０６を通るトラフィックの送信元アドレスを修正することによって、動的にルーティング行動をコントロールするように機能する。送信元アドレスは、コスト要件同様アプリケーション性能を向上させるように変更される。
【００６２】
以下では、フローコントロール・システム２００の要素機器それぞれについてより詳細に記述する。能動型較正器２１０は、下流方向のパスの特性なのか、上流方向パスの特性なのかを決定するためフローコントロール・システム２００内に能動メカニズムを供給する。この情報は、通常、インターネットなどのデータ・ネットワーク上で使用される従来のプロトコルでは必ずしも利用可能ではなく、また、ネットワークの通常処理の範囲外で集められる。図２に示されるように、能動型較正器２１０は、少なくとも、最小の性能レベルなどのポリシー要件を満たさない送信先プレフィックスを提供するためにコントローラ２０２と結合される。一旦受信されると、次に、能動型較正器２１０は、性能レベル同様送付先アドレスへの利用可能なネットワーク・パスの大部分、またはすべてを決定する較正過程に着手する。コントローラ２０２は、実行または修正を要求する特定のポリシーに基づいて能動型較正器２１０が使用することになっている最適なプローブを選択し、その後、能動型較正器２０８を使用してネットワーク・パスのアクティブ・プルービングを開始するように設計される。
【００６３】
１つの実施形態では、アクティブ較正プローブは、データ・ディレクタ２０６からの利用可能なデータ・ルートを経由して、利用可能なネットワークかインターネットルートに伝達される。戻るアクティブ較正プローブをデータ・ディレクタ２０６を経由して受信する。次に、能動型較正器２１０は、代替えの利用可能なパスを含み、トラフィック・レポジトリ２１６に格納されている性能情報を含むコントローラ２０２にプローブ情報を転送する。そして、コントローラ２０２は、対象のトラフィック・フローに関連づけられるポリシーの詳細を最も有効に実施する方法を決定する。代表的な能動型較正器２１０は、例えば長期統計資料を提供するアクティブな較正メカニズムを採用する。
【００６４】
本発明の別の実施形態では、能動型較正器２１０が、コントローラ２０２とともに、または、コントローラ２０２と一体化されてデータ・ディレクタ２０６内に常駐する。本発明を実現するのに適した、特許権保護の基にある市販のルータがいくつかある。適切なアクティブ・プローブの１つの例がＲＭＯＮプローブである。Ｃｉｓｃｏ  Ｓｙｓｔｅｍｓは、遠隔モニタリング（「ＲＭＯＮ］）から派生し、探測してアクティブ・プローブを送出する「ＳＡＡ」（Ｓｅｒｖｉｃｅ  Ａｓｓｕｒａｎｃｅ  Ａｇｅｎｔ）を使用している。ＳＡＡによって、ルータは、ネットワークに基づくアプリケーション往復時間（「ＲＴＴ」）を測定し、レポートする。以下に述べるプローブすべてがネットワーク較正用のＳＡＡにおいて利用可能であるとはかぎらないが、当業者は、本発明の１つ、または複数の実施形態を実現するために、以下に述べるプローブそれぞれをいかに導入するかを理解するであろう。
【００６５】
典型的な能動型較正器２１０としては、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）エコー要求型、または他のピング型プローブ、軽量のＴＣＰベースのプローブ、針型プローブ、「ｐａｔｈｃｈａｒ」プローブ、事前に定義されたＴＴＬ（有効期限）を有するＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）パケットを使用する軽量型プローブ、ルート・トレース型プローブ、または、本発明による能動型較正器２１０としての使用に適している他の能動型プローブを使用することができる。本明細書において使用されているように、重いか、または軽いかの「ウエイト」は、特定のデータ・ルートが別のものよりも好まれるか否かの１つの局部的な測定基準である。ウエイトは、ルート・マップを使用する特定のルータにおけるデータ・ルートに与えられ、そのルータだけに使用されることを意図されている。このようにして、本明細書において参照されている軽量プローブは、本発明の実施形態にしたがって作成されたルート・マップごとに、事前に仕様が決められた、または、有向性の特定のルータである。
【００６６】
送信元アドレスで送出されている、戻ってきたこれらのプローブは、図２の能動型較正器２１０が受け取る。そのようなプローブは、すべて、典型的な統計コンピュータ・システムのレジデント上で、例えば、ローカル設備において、またはルータ上の統計処理として、送信元を明示して送出され受信される。能動型較正器とプローブの使用は、参照として本明細書に組み入れられている米国特許出願Ｎｏ．０９／８３３２１９「インテリジェント・ルーティングによりネットワーク・サービス・レベルを保証するシステムおよびその方法」（２００１年４月１０日付出願、代理人整理番号Ｎｏ．０２１０８９−０００１００ＵＳ）に準拠して作動する。
【００６７】
図２の典型的な受動型較正器２１４は、干渉することなく顧客ネットワークやインターネット・トラフィックなどのネットワーク通信データを受信するように構成される。ネットワーク通信データ・ルート（すなわち、ＩＰデータ・トラフィック）は、受動型較正器２１４によってモニターされているように、デフォルト、または、データ・ディレクタ２０６から受動型較正器２１４に提供される、現行ルートのデータ・トラフィック・フロー２１８を含む。現行のルート・パスは、例えば、標準のルーティング・プロトコル、フロー・コントロール・ポリシー、または他の性能パラメーターに基づいてパケットが通るであろうルータ間のパス（例えば、ホップ・バイ・ホップの）である。受動型較正器２１４は、コントローラ２０２に結合され（電気的に、光学的に、無線などにより）、特定のＩＰデータ・トラフィックが、例えば、フロー・ポリシーによって決められる性能基準に関し許容範囲にあるか否かを示す情報を提供する。受動型較正器２１４は、データ・トラフィック・フロー２１８を通して受信したすべてのトラフィックを即座にモニターするように作動し、また、図１Ｄに関連して示されているようにＥＭＣＰなどのアクティブ・トラフィック分析のみに依存する複雑さを克服するように設計されている。コントローラによってポリシー違反が指摘されたとき、受動型較正器２１４は、例えば、マルチーパス（例えば、ＥＣＭＰ）の存在下にアクティブ・トラフィック分析のみを行う複雑さを克服するように作動する。
【００６８】
本発明の別の実施形態によれば、受動型較正器２１４は、両方向（すなわち、入口と出口）のトラフィック・ストリームをチェックして、それぞれのトラフィック・ストリームを分類する。受動型較正器２１４内で、基本となるプロトコルの状態（例えば、ＴＣＰセッションなど）に応じてトラフィック・フローを長期にわたってモニターする。例えば、受動型較正器２１４は、往復待ち時間、損失パケットの割合、およびトラフィック・パスごとのジッタに応じてトラフィック・フローを分類する。トラフィック・フローを搬送するパスの、フロー率を含む、「端末間」性能を特徴付けるのに上記のようなトラフィック・ルート情報を使用し、該情報は一連のネットワーク・プレフィックスに集約される。
【００６９】
上記のように、受動型較正器２１４は、トラフィック・レポジトリ２１６に格納されているトラフィックおよびルート情報を格納し、取り込み、更新するように結合される（接続は示されていない）。典型的なトラフィック・レポジトリ２１６は、例えば、ＮＳＰのオペレータ同様、図２のフローコントロール・システム２００などのフローコントロール・システムを採用するエンドユーザには役に立つトラフィックおよびルート情報を表すデータを格納し、維持するように構成されるデータベースである。トラフィック・レポジトリ２１６内のデータはトラフィックに関する長期統計資料を含む。これらの統計資料は、報告のためや、分析目的や、本発明によるフローコントロール・システムのユーザへの一般的なフィードバックを行うために使用されるものである。
【００７０】
そのようなフィードバックは、例えば、送られるトラフィック形式、送信元アドレス、送付先アドレス、アプリケーション、ＴｏＳ、またはＤＳＣＰによって送られたトラフィック（「ＤｉｆｆＳｅｒｖ  Ｃｏｄｅ  Ｐｏｉｎｔ」）設定（差別化された課金システムに構成可能である。）、およびトラフィック・ボリュームから構成される。これらの統計資料は、トラフィック・レポジトリ２１６に入力される。なお、例えば、レポーティング・エンジン、または他の分析用アプリケーションは、この統計資料にアクセスすることができる。当業者によって理解されるように、トラフィック・レポジトリ２１６に格納された情報は、任意の適切なデータ構造内に用意されたトラフィック・ルートの特性を表すデータである。
【００７１】
図３は、本発明の実施形態による受動型較正器３０３の典型的な要素を示す詳細な機能ブロック構成図である。受動型較正器３０３は、例えば、受動フロー分析器３３０、移出フロー分析器３３１、およびコンテント分析器３３２を含む。
【００７２】
１つの実施形態では、受動フロー分析器３３０は、現行のトラフィック・フロー特性をモニターするためにトラフィックに関する受動分析を行う。したがって、コントローラは、モニターされた現行のトラフィック・フローが関連するポリシー要求条件を満たすかどうかを決定することができる。移出フロー分析器３３１は、トラフィック形式、送信元アドレスと送付先アドレス、およびサービス・プロバイダーのリンクを横切って通るトラフィックに関連する他の情報を公告するそれらの装置（例えば、ルータ）などのネットワーク装置から移出したフローのレコードに関する受動分析を行う。そのようなネットワーク装置の１つの例は、ＣｉｓｃｏのＮｅｔｆｌｏｗ（登録商標）製品である。別の実施形態では、受動フロー分析器３３０の作動は、上述の米国特許出願Ｎｏ．０９／８３３２１９に開示されている受動フロー分析器に準拠している。
【００７３】
コンテント・フロー分析器３３２は、特定の要素であるウェブサイトのコンテントなどのデータ・コンテントの受動分析を実行する。移出フロー分析器３３１とコンテント・フロー分析器３３２は、関連プレフィックス集合、または、特定のユーザのポリシーと関連するプレフィックス・リスト３３４の１つのセットを決定する。プレフィックス・リスト３３４は、プレフィックスなどを表すデータとしてコントローラに送られて能動検出処理が行われる。プレフィックス・リスト３３４は、１つ、または複数のリスト、または、または、性能特性と利用度特性を表すデータを格納するように構成されたデータ構造を有するものであってもよい。また、該リスト３３４は、例えば、コントローラからクエリを受信するように設計されている。一旦クエリがあると、受動フロー分析器は、１つ、または複数のプレフィックス・リスト、またはその一部をコントローラに供給して、ポリシー違反を決定したり、どのルート、またはパスがフロー・ポリシーに適合しているか、または、どのパスがデータ・ルーティングなどに最適なのかを決定したりするときに使用する。受動フロー分析器３３０同様、典型的なプレフィックス・リストを、移出フロー分析器３３１およびコンテント・フロー分析器３３２によって発生することができる。
【００７４】
以前は見えなかったプレフィックスがプレフィックス・リスト３３４に追加されたとき、移出フロー分析器３３１とコンテント・フロー分析器３３２は、コントローラ３０５に通知するように構成されている。新しいプレフィックス通知信号３３５によって、コントロール要素１００５は、上記プレフィックスのための新しいベースライン性能を確立でき、また必要なら、非デフォルト・パス、または代替パス（すなわち、非−ＢＧＰ）を有するルーティング・テーブルを作成できる。１つの実施形態では、移出フロー分析器３３１とコンテント・フロー分析器３３２は性能特性のモニタリングを行う。
【００７５】
トラフィック・フロー３４０の主な送信元がウェブサイト、または他のコンテントであるとき、通常コンテント・フロー分析器３３２は通常使用される。最適化されなければならない特別の、プレミアムコンテント３４２を、例えば、埋め込み型ＵＲＬ３４３を使用して、フローコントロール・システムによって識別できるようにコンテント送信元３４１を構成することができる。クライアントは、ＵＲＬ３４３によってコンテント・フロー分析器３３２内で作動するコンテント・サーバにアドレスを変更する。コンテント・フロー分析器３３２は、一般的には、イメージ・ファイル（例えば、１ｘ１ＧＩＦ）であり、主なオリジナルコンテントの中に埋め込まれているのコンテントに対して目に見えない、または、感知されないコンテント要素に対する要求を受信し、クライアントにコンテント要素３４４で応じる。そして、コンテント・フロー分析器３３２は、ログファイルにこのトランザクションを格納し、登録する。また、このログファイルを使用して、コンテント・フロー分析器３３２は、集計処理を行ってコンテント・プレフィックス・リスト３３４を組み立てることができる。リスト３３４は、例えば、能動サービス・レベル・モニタリングとポリシー実施のためにコントローラ２０５に渡される。
【００７６】
図４は、典型的なコンテント・フロー分析器４３２の機能ブロック構成図を示す。コンテント・フロー分析器４３２は、例えば、結果として生じるページ上では感知されない（感知されてもよいが）１ｘ１ｌ画素イメージ・ファイルである小要素のコンテントに対する要求４２０を扱う。小要素は、より大きいコンテント集合のプレミアム、または一般的には特定のページと関連づけられる。例えば、小要素は、コンテントの中に埋め込まれている小さいリダイレクトＵＲＬである。
【００７７】
小さいリダイレクトＵＲＬは、小要素のコンテントに応じてＨＴＴＰ要求４２０を発生するよう作動する。コンテント・フロー分析器４３２は、この要求４２０を見て、その要求に、例えば、軽量ＨＴＴＰサーバ４５３で応じる４２２。このサーバは、速くて、軽量であり、しかも、イメージ・ファイルに応ずることしか行わない。軽量ウェブサーバ４５３は、そのウェブページを要求するクライアントのＩＰアドレスを登録し、１つ、または複数のＩＰアドレスを集計器４５４に送る。集計器４５４は、個々のＩＰ要素４２４を画像の粒度が変わるプレフィックスに集計し、または照合し、（例えば、／８から／３２）また、ある時間間隔の間に各プレフィックスを見る回数を集計する。
【００７８】
すなわち、集計器４５４、発生回数にしたがってプレフィックスを分類し、集められた（すなわち、分類された）プレフィックス４２６をプレフィックス・リスト発生器４５５供給する。プレフィックス・リスト発生器４５５は、例えば、集められた、または分類されたプレフィックス４２６によって定義されるシステムの操作全体におけるプレフィックスの重要性に応じて送信先プレフィックス・リスト４２３を作成する。例えば、それぞれのモニターされたトラフィック・フローそれぞれはチェックされて、送信先プレフィックス、またはアドレスに関連している性能特性を決定する。
【００７９】
集計プレフィックス４２６は、一般に、フロー回数、および平均、または総フロー・ボリューム  の観点から分類される。プレフィックス・リスト発生器４５５は、アップデートを現行のプレフィックス・リスト４２８と図２のコントローラ２０５に送り、また、新しいプレフィックスが観測されると、新しいプレフィックス通知信号４３２によってシステムの他の要素に通知する。プレフィックス・リスト発生器４５５は、プレフィックス情報４３０を、報告と分析のために、永続的な記憶装置に格納する。新しいプレフィックスは、追加の代替えパス、またはある時点まで知られていなかったパス・セグメントを提供する。新しい代替えパス、または新しいパスに関連するパス・セグメントは、フロー・ポリシーに適合するよう備えることができ、したがって、データ・ルーティングに関し、ポリシー違反に応じて新ルーティングを探す、またはルーティングを修正することができる。
【００８０】
図３に戻ると、移出フロー分析器３３１は、分析器３３１が利用可能なフォーマットでフロー情報を移出（伝達）することができるネットワーク要素と連動して作動する。１つの代表的なフォ−マットは、Ｃｉｓｃｏ  ＮｅｔＦｌｏｗ（登録商標）移出フォーマットである。また、フロー情報を移出するように設計された、ルータ３４５、またはレイヤー２・スイッチなどの任意のネットワーク要素は、また、処理中のトラフィックを受動的にモニターして、移出レコード３４６を移出フロー分析器３３１に転送するよう構成されている。移出フローレコード３４６を処理するよう機能する移出フロー分析器３３１は、フローをプレフィックス要素に集めて、プレフィックス・リスト３３４を発生する。一般に、プレフィックス・リスト３３４は、フローコントロール・システムによって観測されるすべてのプレフィックスの部分集合である。プレフィックスは、観測期間中のフロー・ボリュームとフロー回数に基づいてプレフィックス・リスト３３４の中のプレフィックスから選択される。選択されたプレフィックスは、例えば、リストが図２のコントローラ２０５に伝えられる前にプレフィックス・リスト３３４の中に置かれる。
【００８１】
図５は、典型的な移出フロー分析器５３１の機能ブロック構成図を示す。移出フロー分析器５３１は、フォーマット・インタープリタ５４９、パーサ５５０、およびプレフィックス・リスト発生器５５２を含む。フォーマット・インタープリタ５４９は、フロー・データグラムを送るように設計されたネットワーク要素からそのフロー・データグラムを受信するように構成されている。次に、フォーマット・インタープリタ５４９は、個々のフロー情報５２２をパーサ５５０に伝達する。パーサ５５０は、受動型較正器によってモニターされるフローから送信先ＩＰ要素を解釈するよう作動する。また、パーサ５５０は、例えば、集計要素への送付先アドレスのフロー回数同様総フロー・ボリューム、または伝送率（例えば、バイト／時間単位で）に応じてトラフィック・フローを集計する。その後、パーサ５５０は集計要素５２４を集計器５５１に送る。次に、集計器５５１は、いろいろなプレフィックス粒度（例えば、／８から／３２）において、プレフィックス・レベル送信先情報５２６を発生する（すなわち、集計プレフィックス・ボリュームおよび回数）。言い換えれば、集計器５５１は、特定のプレフィックス、および観測時間間隔にわたるプレフィックスに関連する発生集計ボリュームに対して、回数、セッションを決定する。
【００８２】
プレフィックス・リスト発生器５５２は、例えば、プレフィックスに関連したトラフィック・フロー特性を格付けし、相対的な重要性の順に体系づけることによって送信先プレフィックス・リスト５２８を発生する。システム、または事業体の決定によって確実にポリシーが実施されるように、プレフィックス・リスト５２８は、集計されたプレフィックスを表すデータを含み、適合度を決定できるように体系づけられる。例えば、フロー回数、およびシステム全体において利用可能なプレフィックスに関連する平均の、または総フロー・ボリュームの観点から１つ、または複数ののプレフィックスを並べることができる。プレフィックス・リスト発生器５５２は、アップデートを図２のコントローラ２０５に現行のプレフィックス・リストを送り、また、新しいプレフィックスが、新しいプレフィックス通知信号５３２を通じて観測されるとき他のシステム要素に通知する。プレフィックス・リスト発生器５５２は、報告および分析のために、すべてのプレフィックス情報５３０を永続的な記憶装置に格納する。
【００８３】
図６は、図３の典型的な受動フロー分析器６３０の機能ブロック構成図を示す。１つの実施形態では、受動フロー分析器６３０は、プレフィックス・リスト６３４と新しいプレフィックス通知信号６３５を発生するように設計され、関連特性に分類されるネットワーク性能と利用度統計を含む、集められたフロー・データ６８０を発生する。例えば、観測期間中における最も高いトラフィック・ボリュームから最も低いトラフィック・ボリュームまであるサイズのプレフィックスを集める、または分類することができる。集められたフロー・データ６８０をコントローラ６０５に伝達し、また該フロー・データ６８０を使用して、現行のトラフィック・フローが所与の送信先用の関連するフロー・ポリシーに違反する、または適合できないかをコントローラが決定する。また、受動フロー分析器６３０は、集められたフロー・データ６８０をトラフィック・レポジトリ６２１に格納するよう機能する。なお、履歴ルートとトラフィック・フロー性能を特徴付けるのにフロー・データ６８０を使用することができる。本発明の別の実施形態では、プレフィックス・リスト発生器は図６の受動フロー分析器には含まれない。
【００８４】
受動フロー分析器６３０は、図２に示されるように、受動ネットワーク・タップ、またはスパンド・スイッチポートを経由するトラフィック６０２のコピーを使用して、トラフィックのネットワーク性能をモニターする。また、受動フロー分析器６３０は、非周期的なトラフィック・フローなどの異常な行動を検出するために、ＵＤＰトラフィック・パターンをモニターし、特徴付けることができる。受動フロー分析器６３０は、いろいろなニューラル・ネットワーク技術を使用して、問題のアプリケーションにとって通常のＵＤＰ行動を学び、理解する。また、該分析器６３０は、その行動が変化した時期を示し、おそらく、良く知られた能動プロービング技術を使用して検証、または説明できるサービス・レベル違反を示す。
【００８５】
さらに、受動フロー分析器６３０は、「アプリケーションを意識して」、特定のトラフィック・フローそれぞれを分類する方法に応じて設計される。トラフィックを、上記米国特許０９／８３３２１９に記載の分類器に準じて分類することができる。受動フロー分析器６３０は、トラフィック６０２のパケットそれぞれのペイロードを点検して、「ＲＴＣＰ」（Ｒｅａｌｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）ｆｏｒ  Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ  のキャプチャおよび解釈などの特定のネットワーク・アプリケーションの性能と動作を解釈することができる。
【００８６】
図６において、受動フロー分析器３３０は、パケット・キャプチャ・エンジン６５０、パケット・パーサ６５１、相関エンジン６５２、および集計器６５３を含む。パケット・キャプチャ・エンジン６５０は、ネットワークに入力される、および該ネットワークから出力されるトラフィック（例えば、ＩＰデータ・トラフィック）を受信するように構成された受動レシーバである。トラフィック・キャプチャを使用することによって、トラフィック分析が容易になり、また現行のトラフィック・ルートが最小限のサービス・レベル、又はポリシー要件を満たすか否かが決定される。パケット・キャプチャ・エンジン６５０は、トラフィック・ストリームからの１つの、いくつかの、またはすべてのパケットを取り除くように設計される。それらのパケットの中には、ネットワークから出て行くパケット、およびネットワークに入ってくるパケットも含まれる。パケットの一部をキャプチャするようカスタム・ネットワーク・ドライバーに書き込むことによって、パケット・キャプチャ・エンジン２５０は、あるパケットを、例えば、カーネル内のネットワーク・ドライバーから取り除いて、ユーザ・スペースに入力するよう作動する。コンピュータＣＰＵを使用せず、ＤＭＡを使用して、その一部のパケットを直接ユーザ・スペースにコピーすることができる。そのようなパケットは、キャプチャされる前に１つ、または複数のフィルタによって取り除かれるのが通常である。そのようなフィルタおよびそれらの使用については、当業者にはよく知られており、また、例えば、すべての形式のＴＣＰトラッフィク、特定のアドレス範囲、または複数の範囲、または、送信元アドレスと送付先アドレスの任意の組み合わせ、プロトコル、パケットサイズ、またはデータ・マッチなどを取り除くよう設計することができる。いくつかの共通ライブラリーが存在して、この機能を実行するが、最も一般的なものは、「ｌｉｂｐｃａｐ」である。「ｌｉｂｐｃａｐ」は  Ｌａｗｒｅｎｃｅ  Ｂｅｒｋｅｌｅｙ  Ｎａｔｉｏｎａｌ  Ｌａｂｏｒａｔｏｒｙにおいて書かれた、パケット・キャプチャ用のているシステムに依存しないインタフェースである。Ｂｅｒｋｅｌｅｙパケット・フィルタは、そのようなキャプチャ・プログラムの別の例である。
【００８７】
パーサ６５１は、キャプチャされた生のパケットを受信するよう結合されて、パケットを分解して、トラフィック・フロー内のそれぞれからパケットからそのパケットに関する特定の情報を検索するよう作動する。典型的なパーサ６５１は、ＩＰヘッダとＴＣＰヘッダから情報を抜き出す。ＩＰヘッダからそのように抜き出された情報は、送信元ＩＰアドレス、送付先ＩＰアドレス、ＴｏＳ（すなわち、「サービス・タイプ」）ビット形式で符号化されたＤＳＣＰ情報などを含む。ＤＳＣＰは、ＩＰパケットのＱｏｓ要件に関する情報を有する。ＤＳＣＰそれぞれは、トラフィック・クラスのＰｅｒ  Ｈｏｐ  Ｂｅｈａｖｉｏｒを定義する。ＤｉｆｆＳｅｒｖには、６４の異なる形式のトラフィック分類を定義することができるように６４のコードポイントを有する。ＴＣＰヘッダ情報は、送信元および送信先のポート番号、      シーケンス番号、ＡＣＫ番号、ＴＣＰ・フラグ（ＳＹＮ、ＡＣＫ、ＦＩＮなど）、ウインドウ・サイズなどを含む。
【００８８】
ＴＣＰヘッダから分解されるＴＣＰ要素は、ポリシーが性能の観点から実行されているかどうか決定するときに、特に役に立つ。しかしながら、トラフィック量が増加すると、ＴＣＰに依存することなく、代わりにＧＤＰを使用する。従来の方法では、ＵＤＰは、サービス・レベルを決定するのに必要な情報を含んでいない。
【００８９】
これらの送信先に対するサービス・レベルを決定するために、本発明は、同じプレフィックスに向かう統計上関連する量の付随ＴＣＰトラフィック、または、同じ送信先に対する一連のアクティブ・プローブを採用することも可能であろう。または、分析器により細かいパケットに分解させ、アプリケーション層（例えば、層７）におけるトラッフィクを理解させることも可能であろう。ネットワーク上の他のほとんどのデータ・トラフィックと異なる非常に限定された要件を有するＵＤＰ上で処理されるいくつかのプロトコルがある。これらのプロトコルは、大まかな分類では「リアルタイムの」プロトコルとして分類されて、ストリーミング・メディア用、およびＶｏｉｃｅ  ｏｖｅｒ  ＩＰ用などのものを含む。あるレベルより小さいパケット損失、および待ち時間は、リアルタイム・プロトコルにとって二次的な重要性しかない。
【００９０】
しかしながら、最も重要なことは、パケット間到着時間の分散（すなわち、ネットワーク・ジッタ）を減少させることである。ＩＴＵ（国際電気通信連合）よって定義されるＨ．３２３などの多くのリアルタイム・プロトコルと規定には、フィードバックがあるＩＰマルチキャストを経由して時間依存のメディア・データを分配するのに使用されているＲＴＣＰ（「Ｒｅａｌ−Ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ」）として知られているバック・チャネル通信において観測されたジッタについての報告がある。図３の受動フロー分析器６３０が、アプリケーションを意識したものであれば、該分析器６３０は、ＲＴＣＰのコンテンツをキャプチャして観測することができ、基本となるネットワーク・パスが最小のジッタ要件を満たしていない時期を知ることができる。この時期には、３０％のパケット損失のときと同様、ＳＬＡ違反をトリガする可能性があるであろう。
【００９１】
相関器６５２は、パケットからのパケット要素（例えば、ＴＣＰとＩＰ）を解釈して分類するよう作動して、フローの現行のサービス・レベルを決定する。次に、該相関器６５２は、そのパケットを特定のトラフィック・フローに分類する。ファイアウォールの重々しいモニタリング処理と同様、送信元ＩＰアドレスおよび送付先ＩＰアドレスと、ポート番号を合わせることによって、フローを再構成、または分類する。相関器２５２は、ＴＣＰトランザクション中にいくつかのトラフィック特性を測定することによって、現行のサービス・レベルを決定する。例えば、相関器２５２は、ネットワーク上で生じる往復時間（「ＲＴＴ」）を測定する。したがって、ＲＴＴは、ネットワーク・トラフィックの待ち時間の尺度として役立つ。
【００９２】
図７Ａは、図２の利用度コレクタ７００の詳細なブロック構成図を示す。利用度コレクタ７１５は、ネットワーク・プロバイダーからバイト・カウンター（すなわち、ネットワーク・サービス・プロバイダーへ送信される、およびネットワーク・サービス・プロバイダーから受信されるトラフィック量）などの利用度情報の７７３を集めるよう作動する。利用度コレクタ７１５は、この情報を使用して、プロバイダーに関連するデータ・パスのネットワーク・サービス・プロバイダーの稼働率、負荷などを計算する。
【００９３】
また、利用度コレクタ７１５は、プロバイダーの課金レコードを再構成するよう作動する。利用度コレクタ７１５は、ネットワーク・サービス・プロバイダー（ＮＳＰ）との接続それぞれに関連したプロバイダー構成情報７７１を受け入れる。このＮＳＰ構成情報７７１は、各種のルータ７７２（例えば、出口ルータ）上のプロバイダー・インタフェース、プロバイダーの次ホップのＩＰアドレスのｔｒａｃｅｒｏｕｔｅプローブ（トレース・プローブで使用中の現行プロバイダーについて検証するため）、課金期間の開始日付、および終了日付、メガビットｔ／秒あたりの稼働率と価格を計算するための回路の帯域幅、最小帯域幅コミットメント、バースト可能レート、プロバイダー・サンプリング・インタバル、プロバイダー課金アルゴリズム、稼働率アラーム閾値などについて詳述する。
【００９４】
稼働中に、典型的なローコレクタ７７４は、クエリ７９０（例えば、ＳＮＭＰ）を送り、特定のサンプリング・インタバルでプロバイダー回路それぞれにおけるルータ７７２からのインタフェース・ロー・カウンターを集めるプロバイダー回路は、パス、パイプ（事実上、または物理的に）、Ｔ１回線などを含む。ローコレクタ７７４は、後で行う報告と分析のため永続的な記憶装置にローバイト・カウンター７８０を置く。ローコレクタ７７４は、ロー情報を他の２つの構成装置、稼働率モニター７７５と、課金再構成装置７７６に送る。
【００９５】
稼働率モニター７７５は、ローバイトカントおよびＮＳＰ構成情報７７１を使うプロバイダーそれぞれのための入口および出口回路稼働率を計算する。１つの例では、ＮＳＰ構成情報７７１は、プロバイダーの回路の帯域幅を含む。稼働率情報７６４は、稼働率モニター７７５は、所与のサービス・プロバイダーに対して帯域幅が傾向として上昇、または加工する（すなわち、サイズが増加、または減少する）かどうかを決定できるように、短期予測モデル（例えば、ＡＲＩＭＡ、指数平滑法）を使用する稼働率の傾向を表すデータを含む。
【００９６】
課金再構成装置７７６は、ＮＳＰ構成データ７７１からの課金情報を使用して、現行の課金期間に対する現行のプロバイダー課金可能レートを再構成する。課金情報は、特定のプロバイダーが課金レートなどのコストを計算するために使用する方法を説明する情報を含む。ネットワーク・プロバイダーを利用するための課金を計算するそのような方法については当業者の間ではよく知られている。ビル再構成装置７７６は、ローコレクタ７７４からのローバイト・カウンターに同様のプロバイダー課金方法を適用して、課金および関連する課金レートなどを発生する。プロバイダーと利用度コレクタ７１５との間のサンプリング時間が必ずしも一致しないので、金額に変換されている、発生された課金は、通常見積りである。ビル再構成装置７７６は、ピークを回避して、ルーティング・コストを最小にするよう使用するために、課金情報７６１をコントローラ７０２に送るのが常である。ピーク回避は、課金レートがより高くなるパス、またはパス・セグメントを使用するのを避ける方法と定義される。最小のコスト・ルーティングは、最も費用が安いプロバイダーへのトラフィックを使用する、またはデフォルトとして設定する方法を参照する。
【００９７】
さらに、性能が重要でないなら最も安いものを選択する最小費用固定方法において使用するために、情報をコントローラ７０２に送ることができる。すなわちコントローラ７０２は、課金レートを含む課金メッセージ７６１からのデータを使用して、部分的にパスフリーの自由な帯域幅（すなわち、パスは追加の使用コストを生じない）に基づき、フロー・ポリシーにしたがって代替えのパスを決定する。
【００９８】
図７Ｂは、コントローラ７０５が構成要素７８４と通信する、本発明のさらに別の実施形態の例を示す。コントローラ７０５と構成要素７８４は、図２の同様の名称を有する要素に類似している。図７Ｂの構成要素７８４は、本明細書に記述されて、他に応用されている構成要素と同様に作動する。すなわち、構成要素７８４は、データ・トラフィックの電流、またはデフォルトルートを変調し、その結果、例えば、ローカルに展開（例えば、相互接続点、または「ＰＯＰ」）する場合、デフォルト・ルーティング行動を変更する。ルート・サーバ７９１（「ＲＳ」）は、対象となるデータ・ネットワークからルーティング・テーブルの部分集合を受信する。ルート・サーバ７９１は、構成要素として導入されているが、本発明の代替えの実施形態では、変調された送信元アドレス、複数のセキュリティ・トンネルへのファイアウォールを経由するデータ・ルーティング、または他のＩＰセキュリティ対策などのＢＧＰ以外の他のプロトコルを使用することもできる。
【００９９】
１つの実施形態では、ルーティング・テーブルは、ローカルのトランジット・プロバイダーのフルセットの部分集合から１つ、または複数のデフォルトＢＧＰ供給装置７９２を通じて、ルート・サーバ７９１で受信され、ＢＧＰエンジンに入る。図７Ｂにおいて、ＢＧＰ４は、導入に際して希望するＢＧＰのプロトコル・バージョンとして示されている。しかしながら、今後ＢＧＰ、または連続するプロトコルグループへ改訂され、ＢＧＰ４が取り替えられることもある。そして、本明細書に記述される本発明の実施形態では、ＢＧＰやＢＧＰ４だけに限定する意図はない。他のプロトコルや、各種のバージョンのインターネット・ワークイング・プロトコルを本明細書において記述されているプロトコルに代わって使用することができる。
【０１００】
図７Ｂに戻ると、ＢＧＰ４エンジン７８２は、すべてのルートを統合、または併合処理して、単一のＢＧＰ４ルーティング・テーブル７８３を作成し、利用可能な最良のルートを構成する。別の実施形態では、ルート・サーバ７９１は、図７Ａに示されるようにＢＧＰ４セッションを維持するよりも、むしろすべての使用可能な内部ＢＧＰルータによりＢＧＰセッションを維持する。単一のＢＧＰセッションでは、ルート変更を行う前に、ネットワーク・サービス・プロバイダーによるすべてのＢＧＰセッションを構成する必要はまったくない。
【０１０１】
構成要素７８４は、ＢＧＰ４エンジン７８２から１つ、または複数のＢＧＰ４ルーティング・テーブル７８３を受信するよう設計され、１つ、または複数のコントロール信号、およびコントローラ７０５の処理から起きるデータを受信するよう調整される。稼働中に構成要素７８４は、コントローラ７０５から、デフォルト・ルーティング・テーブル７８３に導入すべき必要なルーティング変更を受信する。そのとき、構成要素７８４は、変更されたルーティング・テーブル７８９における１つ、または複数の変更を取り入れる。
【０１０２】
このようにして、構成要素７８４は、ＢＧＰ４ルーティング・テーブル７８３を修正し、１つ、または複数の修正されたＢＧＰ４ルーティング・テーブル７８８を発生するよう作動する。修正されたＢＧＰ４ルーティング・テーブル７８８は、変更されたルーティング７８９、より詳細のルートの公告などを含む。次に、新しく修正されたＢＧＰ４ルーティング・テーブル７８８は、そのとき、トラフィックを送信先に誘導するのに使用されるネットワーク内のすべてのクライアントに供給される。
【０１０３】
図３、４、５、６、および７に記述された実施形態それぞれでは、コントローラ２０２の導入に関連する情報が供給される（図２に定義されるように）。図３から７それぞれでは、当業者がコントローラ２０２、および利用度コレクタ２０４、データ・ディレクタ２０６、構成要素２０８、能動型較正器２１０、受動型較正器２１４などの通信・リソースを導入できるように詳細な情報が、供給される。図２に戻ると、構成要素２０８は、コントローラ２０２、およびデータ・ディレクタ２０６に結合される。コントローラ２０２は、構成要素２０８への送信先プレフィックスに到達する最良のパスを供給する。構成要素２０８は、修正行動を要求する送信先のためにデフォルト・ルーティング行動（すなわち、現行のパス）を変更するよう作動する。構成要素２０８は、例えば、アドレスに関する修正されたルーティング・テーブルをデータ・ディレクタ２０６２０６に送ることによってルーティング行動を変更する。
【０１０４】
一旦データ・ディレクタ２０６がこの情報を受信すると、コントローラ２０２は、ルート変更がなされたことを知らされる。その後、コントローラ２０２は、受動型較正器２１４と通信して、その状態をクリアし、送信先のモニタリングを再開する。ルーティング・テーブルの更新されたパス、またはパスが、最小のサービス・レベル（例えば、コントローラ２０２内のイベントに関して以下で検討されるように、ＳＬＡの違反がないこと、ポリシーや、最良の性能基準や、または他のフロー・ポリシー例外によって定義される性能基準からの逸脱が容認できるものであること）を確実に満たすよう、送信先はモニターされる。
【０１０５】
１つの態様では、構成要素２０８によってデータ・トラフィック・フロー２１８の構成が可能になる。構成要素２０８は、サーバ、セキュリティ・トンネル、ネットワーク・スイッチ、ＩＰセキュリティ装置またはアプリケーション、ロードバランサー、ファイアウォール、または接続するとき、送信先と送信元の間を１つ、または複数のパスで接続する、または単一のパスを経由して修正されたトラフィックを送信するとき使用される他のセキュリティが可能な装置内に配置されることが可能である。別の態様では、構成要素２０８は、ルータ内に配置され、ルート・マップ、またはルート・テーブルを修正するように構成される。さらに別の態様では、構成要素２０８は、ルーティング・テーブルなどのデータ構造に格納されることがある構成情報を提供するよう調整される。また、さらに別の態様では、パス情報は、その情報が内向きトラフィックに関連するのか、外向けトラフィックに関連するかにしたがって構成要素２０８内に格納される。
【０１０６】
所与の送信元アドレスに対しては、ネットワークへの入口ポイントは、下流方向のプロバイダーになされたルートの公告、およびプロバイダー・ポリシーによって決定されるのが通常である。（そのようなプロバイダーによって構成された規則集合）。つまり、送信先に対してホストとして作動するネットワーク・サービス・プロバイダー（例えば、「ＮＳＰ」、「ＩＳＰ」）は、本発明の実施形態によってコントローラ２０２が行う、公告、公表された好ましいルート、送信先、パス、および変更されたルーティングを受信する。例えば、本発明の１つの実施形態では、「  ／１６」というルート・プレフィックスの公告、公表は、アドレスの最初の１６ビットのみが関連していて、３２ビットが特定のアドレスを記述するのに使用可能であるとすると、そのプレフィックスに関連しそのプレフィックスに続くアドレスのすべては、公告されているパスの一部として考えることができることを示している。
【０１０７】
図２のコントローラ２０２は、利用度コレクタによってモニターされるような帯域幅、コストなど利用度特性同様、較正器要素によってモニターされるような待ち時間、損失、ジッタなどの性能特性を受信するよう設計される。コントローラ２０２は、ポリシー・レポジトリ２１２に結合され、以下でより詳細に検討するが、最小性能基準、およびコスト／性能判断基準、および測定行動などの他の決定評価基準を通常含むポリシーを受信する。これらの基準、または必要条件は、モニターされている性能や利用度特性と比較される。以下では、図８Ａ、図８Ｂ、図８Ｃおよび図１３Ａ、図１３Ｂ、図１３Ｃに関連して以下で検討されるように、フロー・ポリシーのための多くの決定（例えば、コスト、性能）評価基準がコントローラ２０２によって開発される。
【０１０８】
特定のポリシーに関し違反があると（すなわち、１つ、または複数の性能および／またはコスト測定値が、１つ、または複数の期待範囲または期待値内にない。）、コントローラ２０２は、ポリシーに適合する１つ、または複数の代替えデータ・パスの部分集合を決定する。別の例では、コントローラ２０２は、ポリシーによって定義されるような性能必要条件と利用度必要条件（例えば、課金プロファイルおよび契約、個々のＮＳＰごとのコスト・ポリシー、システム指定、またはユーザ構成の静的および動的ポリシー）に最も適合する代替えのデータ・パスとして最良の、または最適化されたパスを選択する。ポリシー違反を解消するときのポリシーおよびそのポリシーの適用に関連する検討は、ポリシー必要条件または基準、ならびにポリシーの例を示して以下で行う。
【０１０９】
図２に戻ると、コントローラ２０２は、ポリシー・レポジトリ２１２と通信して、１つ、または複数のポリシーを受信する。本発明の１つの実施形態によれば、送信先ごとに、Ｎｅｗ  ｏｒ  Ａｇｅｄ  Ｏｕｔ，  Ｅｘｃｅｐｔｉｏｎ（また、本発明の他の実施形態によれば、一般的には、ポリシー違反とも呼ばれる）、Ｈｉｇｈ  Ｖｏｌｕｍｅ、Ｓｔａｔｉｃ  Ｐｅｒｓｉｓｔｅｎｔ  Ｐｒｅｆｉｘ（ｅｓ）を含むそれぞれのポリシー状態がある。Ｎｅｗ  ｏｒ  Ａｇｅｄ  Ｏｕｔポリシー状態は、新しいパス、または既存のパスが有効でなくなり、コントローラ２０２が確かめているコントローラ２０２ロジックにおける１つのイベントを記述する。Ｅｘｃｅｐｔｉｏｎは、確かめているとき、コントローラ２０２によるパス変化となるであろうポリシー依存の外側にあるポリシーの例外、または性能違反をいう。Ｈｉｇｈ  ｖｏｌｕｍｅは、ボリューム・レベル評価基準を満たすとき、現行パスを選択することができるパス選択が実行される１つのポリシー状態である。Ｓｔａｔｉｃ  ｐｅｒｓｉｓｔｅｎｔ  ｐｒｅｆｉｘ（ｅｓ）は、コントローラ２０２が確かめているとき、再び現行のパスを選択することができるパス選択となる特定のプレフィックス、またはプレフィックスの集合を最優先とすることになる１つの状態である。パス選択状態は長期間継続、または永続のいずれかの状態である。本発明の１つの実施形態によれば、最良の性能を有するパスに適応できないＢＧＰなどの従来の技術とは異なり、コントローラ２０２ロジックにおけるこれらのイベント、または状態によって、最良の性能を有するパスを永続的に探し、選択することが確実になされる。典型的なポリシーは、検出、性能、コスト、および優先順位に関連する必要条件、または規則を含むが、当業者は、本発明の実施形態によれば、より少ない、または追加のパラメーターを測定して実行できることを理解すべきである。
【０１１０】
検出は、フローコントロール・システム２００が、ポリシーに対応して行動すべきでトラフィックを決定するときに用いる技術、またはメカニズムとして定義される。トラフィック・フローは、名前、送信元アドレスまたは送信先アドレス、送信元ポート、または送付先ポート、または他の任意の既知の識別技術によって識別されることができる。例えば、プレフィックスは、アドレス・ポリシーによって識別ができる。すなわち、フローコントロール・システム２００は、特定のプレフィックスへの、および特定のプレフィックスからのトラフィック・フローをモニターするものであって、必要なら、その必要条件にしたがってポリシーを実行するものである。さらに検出に関しては、より特定のプレフィックスのために定義されるポリシーは、より一般的なプレフィックスよりも優先することができる。例えば、／１６が特定の／２４を含んでいても、／２４のために定義されるポリシーは／ｌ６によるものよりも優先するものである。
【０１１１】
性能は、それは１つ、または複数の目標性能レベル（すなわち、ネットワーク／ＱｏＳポリシーパラメーター）、または、所与のプレフィックス、プレフィックス・リスト、または、他の識別送信先集合（例えば、アプリケーション、ポート、プロトコルなどによって識別された）に適用される閾値を記述する  ポリシー要件である。１つ以上の性能ベースのポリシー必要条件を定義できるが、この例では、単一のポリシーのみが、所与のプレフィックス、またはプレフィックス・リストに適用される。典型的な性能必要条件は、損失、待ち時間、およびジッタを含む。
【０１１２】
さらに、そのような必要条件を例えば、固定の絶対値か、または「ＥＷＭＡ」（指数加重移動平均値）として構成することができる。別の実施形態では、絶対値によって、割合、または構成可能な時間ウインドウ上での時間ユニットとして表すことができるなどの数値による閾値が確立される。ＥＷＭＡ方法では、最も最近のサンプルを指数荷重する履歴サンプリングに基づく移動閾値が確立される。そのため、履歴状態に関連するように、現行のネットワーク状態を考慮に入れることができる閾値を確立する。
【０１１３】
別の実施形態では、「ＳＰＣ」（統計的プロセス制御）技術を使用して必要条件を構成することができる。ＳＰＣ技法を使用して、所与のプレフィックスに対するネットワーク性能が観測されて所望の性能からズレているときは、決定する。ＳＰＣは、履歴平均性能に基づいて上側および下側のコントロール限界（ＵＣＬ、ＬＣＬ）を発生させる。ＵＣＬ／ＬＣＬは、長期に渡って行われた観測平均値固定のデルタ値（例えば、ｍｓ）である。しかしながらＲＴＴは、地形に密接に関連しており、したがって、ＳＣＰを簡単に応用することはできない。ここでは、ＵＣＬ／ＬＣＬは、「固定」のデルタ値（例えば、１０ｍｓ）、または観測された平均値の割合の固定値（例えば、ｌ０％ズレは例外であると考えられる）である。
【０１１４】
ほとんどのプロセス制御技術では、データは、通常分散していると仮定する。この場合、適用することができるプロセス・コントロール・チャートは無数にある。しかしながらネットワーク待ち時間などの性能基準は、通常分散しておらず、ｄｅｌｔａＵとｄｅｌｔａＬを定義する標準のプロセス・コントロール・チャートとして使用することはできない。ＤｅｌｔａＵとｄｅｌｔａＬは、ＵＣＬ／ＬＣＬを計算するのにその平均として使用される。ＵＣＬ／ＬＣＬを定義するプロセス・コントロール・チャートは異なる性能値それぞれにたいしてユニークである。したがって、ユニークなプロセス・コントロール・チャート、したがってＵＣＬ／ＬＣＬを決定する１つのバンド・アプローチとなる。バンド、または値についてボリューム・プロファイルを定義することができる。以下では、図１０から図１３Ｃを参照して、より広範囲に検討する。プロファイルそれぞれは、基準それぞれに対して定義されたｄｅｌｔａＵ値とｄｅｌｔａＬ値を有する定義された性能（例えば、ＲＴＴ、％損失、時刻）範囲（例えば、０ｍｓ−１０ｍｓ、１ｌｍｓ−２５ｍｓなど）を有する。
【０１１５】
最も純粋な意味で、ｄｅｌｔａＵ／ｄｅｌｔａＬを決定する機能は、平均ＲＴＴの非線形機能である。プロセス・コントロール・チャートのさらに別の実施形態では、この機能は、ＲＴＴスペースなどのいくつかの平均性能値については近似値が使用された。したがって、すべての性能値に関連している単一の連続したプロセス・コントロール・チャートとなる。
【０１１６】
ＵＣＬとＬＣＬによって作動範囲が定義される。ここでは、２セットの性能番号が「同等」であると考えられるべきである。変化が保証されるのは、ＵＣＬ／ＬＣＬによって定義される作動領域外に候補のネットワーク性能があるときだけである。したがって、ＲＴＴまたは損失などの性能基準の僅かな差が、ルートを変更する原因となりうる。
【０１１７】
ネットワーク性能「Ｅｘｃｅｐｔｉｏｎｓ」は、いくつかの性能サンプルがＵＣＬの上、または、ＬＣＬの下で観察されるときに起こる。観測されたサンプルと、ＵＣＬおよびＬＣＬとの間の差は、ＵＣＬ／ＬＣＬを超えることはないが、同等範囲内にあると考えられる。しかしながら、ＵＣＬ／ＬＣＬを超える、または、ＵＣＬ／ＬＣＬより小さいサンプルの数としてＥｘｃｅｐｔｉｏｎｓを定義するとき、基本となるシステム（すなわち、ネットワーク）は基本的な方法で変更される（例えば、ＵＣＬ／ＬＣＬを超えるかどうかでシステム性能は改善するか、または性能が低下する）ことをＥｘｃｅｐｔｉｏｎｓは示す。例えば、Ｅｘｃｅｐｔｉｏｎのイベントの場合、下流方向フロー・コントロール・ポリシー構成機器は、候補パスをチェックができ、代替のプロバイダーからよりよい性能が利用可能であるかどうかを決定できる。
【０１１８】
ＳＰＣの構成は変化するが、ＲＴＴ性能基準のＥｘｃｅｐｔｉｏｎ検出のための１つの例のデフォルト構成は、
１）  平均を確立するため十分は初期データを集める。
【０１１９】
２）  長期間平均ＲＴＴを使用して、プロセス・コントロール・チャートからＵＣＬ／ＬＣＬを計算する。
【０１２０】
３）  「サンプル」がＵＣＬ超え／ＬＣＬより小さいと観測されると、違反カウントを増加し、前の履歴平均ＲＴＴを維持する。
【０１２１】
４）  同時発生のｎ個のサンプル（例えば、アルゴリズム感度を定義して、デフォルトｎ＝３）がＵＣＬ超え／ＬＣＬより小さいで観察されると、システムは変更されている。履歴平均ＲＴＴを捨てて（もはや新しいシステムでは関連がないように）、コントローラ内でＥｘｃｅｐｔｉｏｎとしてプレフィックスにタグ付けする。
【０１２２】
５）  新たな履歴平均を集め始める。
【０１２３】
６）  ステップ１−５を同様の方法で他の性能基準に適用できることがある。
【０１２４】
ポリシーにおいてコストを優先順位、およびポリシーが予測的、または反応性がよいかどうかの観点から、必要条件、又は規則として表現することができる。集合レベルと非常に細かい粒状レベル（例えば、／２４送信先ネットワークで）双方での課金再構成および帯域幅稼働率の調停を通じた図２の利用度コレクタ２１４によってコストを特徴付ける。新しい、またはより高い課金可能レートをトリガするかもしれないピークを確立するのを避ける（すなわち、「ピーク回避」）ためにコスト予測の必要条件は、積極的にトラフィックを１つのプロバイダーから別のプロバイダーに拡散するのに使用される。最小コミット・レート、または現行の課金可能レートは超えるとき、コスト反応性必要条件は、反応性よくトラフィックを１つのプロバイダーから別のプロバイダーに拡散するのに使用される。
【０１２５】
通常、コストの予測的および反応性の両者に関する必要条件は、２進での決定となる（すなわち、例えば、回路またはパスが、フロー・ポリシーに適合するか、もしくは違反する）。予測的コストの場合、トランジット回路は、フロー・ポリシーに適合するか、またはすぐに違反するかのどちらかである。とにかく、性能によってコストが優先するのでなければ（すなわち、性能必要条件は、コスト・ベースの変更を行う前に、提出されなければならないことになっている）、状況を解決するために行動をとらねばならない。
【０１２６】
優先順位は、１つ、または複数の目標利用度、または稼働率特性、またはレベルを記述するポリシー必要条件で決まる。優先順位には、プロバイダーの選択と最大稼働率（すなわち、負荷）必要条件を含む。プロバイダー選択の必要条件は、例えば、行動を取られなければならないが、２つ、または２つ以上のトランジットをポリシーを実行するために選択することができるかもしれないとき使用される任意のプロバイダーのランキングである。システム・オペレータによって明示的に構成されないならばフローコントロール・システムは、プロバイダー、またはパス選択の必要条件を自動的に設定することができる。次に、この必要条件は、最も高い優先度を有するプロバイダーが選択されてトラフィック・フローを受信するよう、デッドロック状況におけるタイブレーカーとして適用される。
【０１２７】
超えることのない、またはタイブレーカーとしての、実際に作動できる閾値として最大許容稼働率を使用することができる。最大稼働率を、例えば、全体構成中のトランジット・プロバイダー部で構成でき、割合アーギュメントを取る（すなわち、利用可能な帯域幅の観点から）、または代わりに、Ｍ−ｂ／ｓの観点から絶対値として設定することができる（すなわち、利用可能な帯域幅を超えない）。
【０１２８】
上記例に加えて、ポリシーの例を送信先それぞれに適用することができ、また最小の性能基準と測定行動（例えば、持続時間、除外、回数、ＲＴＴなど）を含むことがある。（例えば、損失、待ち時間、ジッタ）。他のポリシーの例は、ルーティング変更のオン／オフを特定する能力（すなわち、結果を記録できる本発明の実施形態を可能にする特定のパラメーター、ただし、評価基準が満たされているかいないかによって、ルーティング変更を行う／行わない）、決定評価基準例えば、コスト／性能優先度）、閾値（例えば、動的、静的）、または、ポリシー・レポジトリ２１２内で構成されて格納することができる他の評価基準を含む。本発明の実施形態によれば、動的な閾値は、履歴ベースラインに基づき、そのベースラインから、すべての派生した情報がレポジトリまたはデータ構造に入る。一方、静的な閾値は、例えば、最小の性能レベルを有する静的な性能閾値を確立するための基礎を提供する、任意のユーザが定義するベースラインである。
【０１２９】
要約すれば、上記の典型的なポリシーなどのポリシーは、図２のコントローラ２０２に入力され、例えば、特定のプレフィックスと関連づけられる。他の送信先に対するベースライン方法をしようしながら、よく知られているいくつかの送信先に対して、ハードな、または絶対の閾値を指定して、一般的な検出方法（絶対値、またはベースライン／履歴）を、プレフィックスごとに指定することができる。また、ポリシーによって、例外が解消したと考えられる前にみたさなければならない性能基準と組み合わせて使用できる分解方法（例えば、手順）が定義される。コスト／性能優先度などの他のパラメーターをプレフィックスごとに設定することができる。したがって、コストまたは稼働率の理由ではプレフィックスの性能は決して下げられることはないことをコントローラに示される。
【０１３０】
能動型較正器と受動型較正器は、性能特性を提供する。能動型較正器に関しては、コントローラ２０２は、能動プロービングを要求することによって、能動較正を開始する。能動型較正器が１つ、または複数の較正プローブを１つ、または複数のデータ・ネットワークに送る。プローブに対応して受信した反応情報によって、利用可能なパスの識別情報とそのパスに関係する性能情報を含む情報がコントローラ２０２に戻る。
【０１３１】
受動型較正器２１４に関しては、コントローラ２０２は、リアルタイムの、リアルタイムに近いネットワーク性能特性（すなわち、損失、待ち時間、ジッタなど）を、アクセスしているトラフィック・フローにおけるモニターとして、受動型較正器２１４から受信するように設計される。本発明の実施形態によれば、コントローラ２０２を、変化の記録のみを行うように設定できる。しかしながら、本発明の別の実施形態によれば、リアルタイムのネットワーク性能の特性に基づいて、トラフィック・フローに対する変化を記録して、変更を行うようにコントローラ２０２を設定できる。コントロール信号が、受動型較正器２１４の状態のクリアを開始して、受動型較正器２１４が特定の送信先のモニタリングを再び開始し、ルーティング・テーブルの更新されたルート、またはパスが記録されたフロー・ポリシーに適合していること確実にする。受動型較正器２１４の状態をクリアするコントロール信号は、コントローラ２０２から到来し、受動フロー分析器３３０の状態のリセットを開始する。しかしながら、本発明の他の実施形態では、コントロール信号は、受動型較正器２１４をクリアするのに必ずしも必要ではないかもしれない。
【０１３２】
１つの例では、コントローラ２０２は、新たに観測された送信先プレフィックス、または有効でなくなった送信先プレフィックスに対して、代替の性能のための候補性能を解釈するよう作動する。コントローラ２０２は、どの代替えのパス（単数、または複数）が、現行のトラフィック・フローと関連づけられるプレフィックス、またはトラフィック形式にとって最良なのかを決定する。上記のように、コントローラ２０２は、また、新たに観測された、または有効でなくなった送信先プレフィックスにおける候補性能を解釈することができ、したがって、トラフィック・フローの変更を行う。次に、コントローラ２０２は、構成要素２０８に必要なルーティング変更を送る。すなわち、コントローラ２０２は、ポリシーにしたがう最良の初期ベースラインを見出す。プレフィックスが後続の測定なしで再び有効でなくなると、この過程は繰り返される。また、プレフィックスが例外、ハイボリューム・プレフィックス、または、大変重要なプレフィックスのうちのいずれか１つであれば、また、コントローラ２０２は、構成要素２０８への必要なルーティング変更を行うことができる。
【０１３３】
別の実施形態では、コントローラ２０２は、高いボリューム送信先プレフィックスのための代替え性能の候補性能を解釈するよう作動する。より低いデータボリューム・プレフィックスに対して比べると、これらのプレフィックスは有意である。コントローラ２０２は、どの代替えのパス（単数、または複数）が、そのプレフィックスにとって最適なのかを決定する。次に、コントローラ２０２は、構成要素２０８に必要なルーティング変更を送る。すなわち、コントローラ２０２は、ポリシーにしたがう最良の性能を見出す。プレフィックスが、ポリシー・レポジトリに格納されているハイボリューム基準、例えば、ボリューム・レベル（すなわち、先頭の「ｎ」レベル、すなわち、先頭１００％など）、フロー・レベル、または、指定されてポリシー・レポジトリに格納されている他の構成システムに適合することができなければ、上記プロセスは繰り返される。
【０１３４】
さらに別の実施形態では、コントローラ２０２は、静的な永続的プレフィックス（単数、または複数）を有する送信先プレフィックスのための代替ス性能を解釈するよう作動する。これらのプレフィックスは、ユーザによって指定されるように有意であり、永続的に測定される。コントローラ２０２は、どの代替えのパス（単数、または複数）が、プレフィックス関連のポリシーにとって最適なのかを決定する。次に、コントローラ２０２は、構成要素２０８に必要なルーティング変更を送る。すなわち、コントローラ２０２は、ポリシーにしたがう最良の性能を見出す。その静的永続的プレフィックスが存在するかぎり、上記プロセスは繰り返される。
【０１３５】
さらなる実施形態では、図７Ａにおいて要素７０２として表示されているコントローラ２０２は、利用度レート、課金レートなどのネットワーク利用度特性を表すリアルタイムの、またはリアルタイムに近いデータを利用度コレクタ７１５から受信するように設計される。コントローラ７０２は、非適合利用度特性に関連するポリシー違反を解消するのに、この情報を、ポリシーにしたがって使用する。すなわち、ルート変更の前または変更中にコントローラ７０２は、能動プレフィックス集合または送信先集合のための代替えパスの性能を分析すし、また、それらの代替えのパスが、特定のプロバイダーのパス（すなわち時刻に関連する適切な帯域幅）上のピーク・データ・トラフィックを避けるか、またはフロー・ポリシーの観点から最小コストパスであるかどうかを決定する。
【０１３６】
利用度形式ポリシー違反を解消するために、コントローラ７０２は、ルーティング・テーブルを受信し、例えば、どの現行のトラフィック・フロー、またはあるパスまたはそのパス・セグメント上のどのデータ・ルーティングが特定のプロバイダー・パス（単数、または複数）の観点から混雑しているかを決定するよう構成される。コントローラ７０２は、フロー・データを受信して、どのフローが「ｆｕｌｌ」（例えば、利用可能な帯域幅がない）として示されたＮＳＰ上でアクティブであるか決定する。また、コントローラ７０２は、フロー・データを使用して、集められてプレフィックス・ボリュームになるアクティブ・フローのボリュームを測定する。また、コントローラ７０２は、フロー・データを使用してフロー・ボリュームの安定性を決定する。本発明の実施形態によれば、安定性は、特に、コスト変更をなすとき望ましい。しかし、トラフィック・フロー・ボリュームが減少する、または停止するとき影響を受けないままである。フロー・データから、コントローラ７０２は、例外、例えばコスト違反を修正するために移動しなければならないプレフィックス（単数、または複数）と、プレフィックス（単数、または複数）の数を決定することができる。また、重要なのは、フロー・ボリームの射影である。
【０１３７】
コスト拘束環境において変更をなすとき、射影フロー・ボリュームは重要である。コスト拘束のためにフローが動かされているならば、所与のＮＳＰへのボリューム、および該ＮＳＰからのボリュームを理解することは、決定の精度に影響を及ぼす。送信先でのフロー・ボリュームを推定するために、本発明の１つの実施形態では、現行の射影されたＲＴＴに基づいて、既存のプロバイダー上で観測されたボリュームをスケーリングすることが可能である。遅延帯域幅積は、ＴＣＰのためのフロー・ボリュームは、ウインドウ・サイズとＲＴＴの関数であることを規定する。平均のウインドウ・サイズがプロバイダー間で一定のままであるならば、ＲＴＴを使用することによって、フロー・ボリュームをスケーリングすることができる。例えば、
Ｖｏｌｕｍｅ＝ｗｉｎｄｏｗ／ＲＴＴ
Ｖｏｌｕｍｅ（観測値）＝ｗｉｎｄｏｗ／ＲＴＴ（観測値）
ＲＴＴ（観測値）＝ＲＴＴ（収束ポイント）＋Ｃ
Ｖｏｌｕｍｅ（射影値）１＝ボリューム（観測値）（ＲＴＴ（観測値））／ＲＴＴｃｐｌ＋Ｃ
Ｖｏｌｕｍｅ（射影値）２＝ボリューム（観測値）（ＲＴＴ（観測値））／ＲＴＴｃｐ２＋Ｃ
このようにして、コントローラ７０２は、データ・ネットワークの性能と利用度に関連する情報を得て、関連ＮＳＰを経由するデータ・トラフィック・フロー２１８におけるフローコントロール・システム２００上のデータ・ルーティングにおいてＮＳＰポリシーを実現するために修正行動を実行するよう設計される。（例えば、最低のネットワーク・コスト、負荷バランスをとることなど）
コントローラ２０２がピア・コネクションを扱うために、コントローラ２０２は、データ・ディレクタ２０６と通信して、変更されようとしている特定のプレフィックス情報のために到達可能性情報（すなわち、ルーティング・テーブル）を検索する。トランジット回路の場合、コントローラ２０２は、能動型較正器２１０を使用して、所与の送信先のための到達可能性情報（すなわち、ルーティング・テーブル）を決定する。能動プローブを送信先に送って、次に、応答を待つ。ピア・コネクションは「非到達可能」であることが多いが、能動プローブが後に続くことは可能である。いくつかのプロバイダーは、ピア・ポイントで必ずしも有効にトラフィックをフィルタリングせず、代わりに、ｈｏｎｏｒ−ｌｉｋｅシステムに依存して公告されている送信先へのトラフィックのみが受信されることを確実にする。
【０１３８】
したがってピア、またはプライベート接続の場合、トラフィックをピア接続に移動する前に、コントローラ２０２は、その送信先の公告のためルーティング・テーブルを調べなければならない。代わって、到達可能な送信先集合をプロバイダー／ＮＳＰピア、またはプライベートリンク（ＮＳＰ）に静的に構成することができる。コントローラ２０２は、システム構成の一部として格納された到達可能性情報のための静的な構成を調べることができる。したがって、ルーティング情報がプライベート接続上で動的には利用可能でないかもしれない、公共でプライベート接続が可能となる。
【０１３９】
本発明の１つの実施形態では、コストおよび／または利用度コントロール、ならびに最良の性能目標を模索している。例えば、利用可能なトランジット・プロバイダーのための各種多様なコスト構造があるとすると、さまざまな課金構造を利用し、また許容性能レベルを維持できるようにトラフィックを分散することによって、総合的なフローコントロール・システムコストを最小にすることができる。本発明の別の実施形態では、複数のＮＳＰ間で負荷または利用度をバランスさせることは望ましいことである可能性がある。総合的なシステム・コストのモデルは、例として、図８Ａの３つすべてのＮＳＰ、Ａ、Ｂ、およびＣの総コスト対してプロットされた３つのＮＳＰに対するピーク利用度レベルを表す、以下に示す最小コスト・カーブである。ＮＳＰ  Ａ、Ｂ、およびＣそれぞれは、１つ、または複数のコスト層と最小コミットメント・レベルとを有するそれぞれ異なる課金契約を表すことができる。例えば、ＮＳＰ  Ａには、５０Ｍｂｐｓ（最小コミットメント）あたり５０ドルと、５０＋Ｍｂｐｓあたり１００ドルとの２層課金契約があり得る。また、ＮＳＰ  Ｂには、５０Ｍｂｐｓ（最小コミットメント）あたり１２５ドルと、５０＋Ｍｂｐｓあたり７５ドルとの２層課金契約があり得る。本例を完成するに際し、ＮＳＰ  Ｃには、５０Ｍｂｐｓあたり１５０ドルと、５０＋Ｍｂｐｓあたり２５ドルとの２層課金契約があり得る。サンプル課金プロファイルについて以下に詳細に検討する。
【０１４０】
図８Ａに戻ると、ＮＳＰ  Ａ、Ｂ、およびＣは、ピーク利用度レベルに対してプロットされた総コスト・カーブによって表される。ピーク利用度がすべての３つの最小コミットメントの合計よりも小さいとき、最小コストは、すべての層にわたって等しいままである。これは、ＮＳＰ利用度がどのＮＳＰ上においても単一の最小コミットメントのいずれかを超えるの妨げられたとき起こる。これが起こると、コストは固定のままである。例えば、３つすべてのＮＳＰがそれらの最小コスト・カーブにプロットされると、総コスト２に対して示されているように総コストは等しいままであるのが分かる。しかしながら、最小コストレベルを超えると、３つのＮＳＰのそれぞれに対して段階的に価格が上昇する層が現れる。示されているように、ＮＳＰ  Ａは、最も低いコスト層を表し、ＮＳＰ  Ｂは次に最も高いコスト層であり、そして、ＮＳＰ  Ｃは最後の、最も高価なコスト層である。
【０１４１】
３つのプロバイダー（ＮＳＰ  Ａ、Ｂ、およびＣ）は、３つの簡単な課金プロファイルを有している。ＮＳＰそれぞれは、バースト可能層が続く最小コミッチメントを有している。コスト／データ伝送速度（すなわち、Ｍｂｐｓ、Ｇｂｐｓ）はＮＳＰそれぞれにおいて異なっている。ＮＳＰ  Ａには、バースト可能層内に最も低いコスト／データ伝送速度がある。ＮＳＰ  Ｂは次に最も低い該伝送速度を有する。そして、ＮＳＰ  Ｃには、バースト可能層内に最も高価なコスト／データ伝送速度がある。図８Ａは、いかなるピーク利用度が与えられても、最も低いコストを表す。ピーク利用度は、顧客がすべてのＮＳＰにおいて課金される課金レートと一致する。カーブは、最小コミットメントの合計を左側の水平の線として示す。データ・トラフィック・フロー利用度レベルが最小コミットメントの合計を超えて上がるので、カーブは右側で傾斜している線によって表されるＮＳＰ  Ａ、Ｂ、およびＣ個々のバースト可能層の限界の１つに入る。線の傾斜は、バースト可能層の段階的に増加するコスト／データ伝送速度を表す。低い方のコスト／データ伝送速度は、傾斜が少ない。プロバイダーの最大の許容稼働率が消費者によるものあるときに最小のコスト・カーブは、次に高価な状態に段階的に増加するプロバイダーである。さらにこのモデルは、要求される数のプロバイダー／ＮＳＰを含むよう拡張できる。
【０１４２】
本発明の実施形態によるコスト実施に関しては、ピーク利用度７（すなわち、７Ｍｂｐｓ）に対して示されている図８Ｂに示されている最小のコスト・カーブからプロバイダーそれぞれの最大利用度レベルを決定することができる。
【０１４３】
示されるグラフでは、最小コミットメント・レベルをＮＳＰ  Ｃに対して実施し、最大稼働率をＮＳＰ  Ａ上で実施し、一方、最小コミットメントと最大の稼働率の間の中間的なレベルをＮＳＰ  Ｂで実施すべきである。ＮＳＰそれぞれごとに実施すべきレベル表現が３つのボリューム・プロファイルとして図１０のグラフに示されている。
【０１４４】
以下の図１０に示すボリューム・プロファイルによって、ＮＳＰそれぞれのための利用度閾値が例示されている。許容できる最大稼働率用（例えば、回路稼働率９０％を超えない）は、ユーザが構成可能で、以下で記述されるように、ＮＳＰ  Ａで容易に見られる。本明細書におけるメカニズムを別にすれば、最小コストのとき、ＮＳＰ  Ａでは１００％の稼働率となるであろう。図で示されるレベルはピーク利用度と関連している。いかなるピーク利用度下でも、フローコントロール・システム２００と、コントローラ２０２は、コストに関して独立して作動でき、性能に基づいて最適化されるべきである。
【０１４５】
図８Ｃにコストを使用度に対して再びプロットすると、図８Ａと８Ｂと同様のコスト・カーブが現れる。以降、モデルは、コスト利用度モデルというが、本発明の１つの実施形態によれば、このモデルは、異なるＮＳＰ出口間での帯域幅配分を決定するガイドとして役立つ。帯域幅配分９５パーセンタイル（Ｐ９５として、知られている）が、個々のＮＳＰに対するＰ９５課金レートなどの関連要素と同様、特定の課金期間（例えば、月）に対して知られているならば、コスト、性能、およびルーティング・コントロールに関連する推定情報を射影することが可能である。ＮＳＰが課金レートを算定することができる値を表すので、Ｐ９５は重要な基準である。もっとも、一般的には、上記のＰ９５を異常として無視する。例えば、Ｐ９５、または他の課金可能レートが特定の課金期間においてすべてのＮＳＰに対して知られているならば、そのとき、図８Ｃに示される最小コスト・カーブに従うように、または近づけるように帯域幅を割り当てることができる。
【０１４６】
最小のコスト・カーブが、異なる出口プロバイダーの課金プロファイルから得られる。１つの例として、出口それぞれには、２つの価格層があり、その第１の価格層は、固定コスト、固定帯域幅、または最小コミットメント層である。その第２の価格層には、追加のＰ９５帯域幅に対する限界的コストがある。図８Ｃに示される実施形態に関連しているフローコントロール・システムに対しては、合計６つの層がある。限界的コストに関連して、総層は以下の通りである。
【０１４７】
層        コスト
――――――――――
Ａ１      ０．００
Ｂ１      ０．００
Ｃ１      ０．００
Ａ２      １．００
Ｂ２      ２．００
Ｃ２      ３．００
特定の課金期間に対して、正確な利用度サンプルが知られているならば、ＮＳＰ帯域幅の合計に対してＰ９５帯域幅を引き出すことができる。この得られたＰ９５の総ＮＳＰ帯域幅（総ＮＳＰ帯域幅がすべての出口間の帯域幅の合計から個々のＮＳＰ帯域幅を区別するのに使用される）は、異なるＮＳＰ間にトラフィックを分散する方法を決定する帯域幅として得られている。図８ＣのＰ９５期待値線を参照すれば、該期待値線は、コスト層Ｂ２における最小コスト・カーブと交差していることは明らかである。したがって、コストを理由とした帯域幅の理想的な配分は以下の通りであろう。
【０１４８】
使用可能
――――――――――
ＮＳＰ  Ａ：１００％の層Ａ１＋１００％の層Ａ２
ＮＳＰ  Ｂ：１００％の層Ｂ１＋７０％の層Ｂ２
ＮＳＰ  Ｃ：１００％の層Ｃ１＋０％の層Ｃ２
Ｐ９５の総ＮＳＰ帯域幅が最小コミットメント層（Ａ１＋Ｂ１＋Ｃ１）の出力帯域幅の合計より下にあるならば、そのとき、テーブルは以下のようになる。
【０１４９】
使用可能
――――――――――
入口  Ａ：ｌ００％の層Ａ１＋０％の層Ａ２
入口  Ｂ：１００％の層Ｂ１＋０％の層Ｂ２
入口  Ｃ：１００％の層Ｃ１＋０％の層Ｃ２
現行の総帯域幅が期待されたＰ９５総帯域幅を超えていれば、そのとき、現行の総帯域幅が、期待されたＰ９５ポイントを超えたままならば、帯域幅配分は最小コスト・カーブに沿って計算される。そして、コストが最適化されていれば、コスト利用度モデル／アルゴリズムによって、性能最適化のための限界的能力の見地から、コントローラはＮＳＰ間でプレフィックスを交換するべきであるかどうかの決定がなされる。従来のデータ・ルーティング・コントロール技術では、特にＢＧＰが使用されるところでは、「最悪のケース」が生じる傾向がある。言い換えれば、ＢＧＰでは、最短ではあるが、利用可能なパスの中で必ずしも最良の性能／最低のコストではないパスに従って、データ・トラフィック・フローを分散させる傾向がある。ＢＧＰによって選択された最良のパスは、ＮＳＰにおいて非常に高価な層である。
【０１５０】
本発明の上記実施形態と異なって、単に最短のパスであるからという理由のみで、ＢＧＰは最も高価なパスを選択することができる。したがって、こそとに関しては、ＢＧＰは、マルチホームを構成した組織に対してデータ・ルーティングの効率をかなり減少させることがある。Ｐ９５帯域幅配分のどんな分析も無視すること。コストも性能情報もＢＧＰによって考慮に入れられない。帯域幅を多数のプロバイダーに割り当てる。さらに、コストまたは性能の面でのかかる大きな品質低下が現れても、ＢＧＰは、データ・トラフィック配分の調整ができない。結局、ＢＧＰベースのルート・コントロールのための典型的なコスト・カーブは、図８Ｃの最小コスト・カーブではなく、最大コスト・カーブに従う。
【０１５１】
帯域幅（図８Ｂにおいて、７で示されるように）を計算するためには、Ｐ９５（または、別の割合総帯域幅、例えば、Ｐ８７、Ｐ９ｌ、Ｐ７０など）の総帯域幅は、課金期間の終わりになることを予測するのに使用される４つの方法がある。
【０１５２】
１．ＬＡＳＴ＿Ｎ＿ＷＥＥＫＳ／ＬＡＳＴ＿Ｎ−ＤＡＹＳ／ＬＡＳＴ＿Ｎ＿ＨＯＵＲＳ
この方法は、過去のＮ  ｄａｙｓ／ｗｅｅｋｓ／ｈｏｕｒｓのために総利用度のＰ９５を計算し、その結果を、現行月の見積もりＰ９５として使用する。
【０１５３】
２．ＭＩＮ＿ＭＯＮＴＨ＿ＳＯ＿ＦＡＲ
この方法では、Ｐ９５見積りを計算するのに現行の現在の暦月からの利用度データを使用するだけである。実際のＰ９５（例えば、５分のサンプリング間隔で１ケ月３０日間のデータの４３２個のサンプル）を計算するために月末に捨てられるであろうサンプルの数が知られているならば、ＭＩＮ＿ＭＯＮＴＨ＿ＳＯ＿ＦＡＲは、現行の月のためにＰ９５を計算するのにこれまで受信した利用度データからのこの数のサンプルを捨てる。
【０１５４】
３．ＰＲＥＶＩＯＵＳ＿ＭＯＮＴＨ
この方法では、今月のＰ９５のための見積りとしての前月の分数を使用する。
【０１５５】
４．ＣＯＭＢＩＮＡＴＩＯＮ
この方法では、上記の３つの方法の最大値を取る。
【０１５６】
上記の検討と実施形態は外向きの帯域幅配分に関連する。しかしながら、この検討で本発明を制限する意図はなく、また、本発明の他の実施形態によって、入力トラフィック帯域幅配分を提供することもできる。ＮＳＰ課金が、入力帯域幅、出力帯域幅、最大（入力ｂｗ、出力ｂｗ）、または合計（入力ｂｗ、出力ｂｗ）に基づいていれば、帯域幅配分スキームをより優れた履行方法によって改良することができる。より優れた履行方法は、最初に出口を満たす入力帯域幅のＰ９５帯域幅、（または、Ｐ他の見積り、例えば、８７％、８０％など）見積りを使用して終了する。出口は、入力パスにはいかなる即時のコントロールもないので、最初にＰ９５（または、他のパーセンタイル）入力帯域幅見積りを使用して、満たされる。この優れた履行方法を支配する規則は、内向きのトラフィックの例として、以下の通りである。
【０１５７】
１．ＮＳＰが入力帯域幅のみで請求するのならば、全体の出力出口帯域幅には、０．００ドルの限界的コストがかかる。外向き帯域幅でＮＳＰを容量まで満たすことができる。
【０１５８】
２．ＮＳＰが外向き帯域幅で請求するのならば、そのとき、入力帯域幅見積りは使用されない。
【０１５９】
３．ＮＳＰが、内向きおよび外向き帯域幅の最大値を使用して請求するのならば、そのとき出力帯域幅の下限と入力帯域幅としての同じ帯域幅までの限界的コストは、０．００ドルである。したがって、追加コストを生じることなく入力帯域幅に適合させるようＮＳＰを満たすことができる。
【０１６０】
４．ＮＳＰが入出力帯域幅の合計を使用して請求するならば、各層は、最初に入力帯域幅で配分計算をするために満たされる。次に、上記の標準の配分を出力帯域幅を使用し、最も安い層から最も高価な層まで満たして行う。
【０１６１】
外向きのトラフィックの優れた履行方法の例として、上記の規則を、例えば、以下のように修正できるだろう。
【０１６２】
１．ＮＳＰが出力帯域幅だけを請求するならば、そのとき、全体の入力ＮＳＰ帯域幅には、０．００ドルの限界的コストがかる。入ってくる帯域幅でＮＳＰを容量まで満たすことができる。
【０１６３】
２．ＮＳＰが入力帯域幅で請求するならば、そのとき、出力帯域幅出力見積りは使用されない。
【０１６４】
３．ＮＳＰが入出力帯域幅の最大値を使用して請求するならば、そのとき、入力帯域幅下限と、出力された帯域幅と同じ帯域幅までの限界的コストは０．００ドルである。したがって追加コストを生じることなく出力帯域幅に適合させるようＮＳＰを満たすことができる。
【０１６５】
４．ＮＳＰが入出力バンド幅の合計を使用して請求するならば、そのとき、各層は、最初に出力帯域幅で配分計算をするために満たされる。そして、上記の標準の配分を入力帯域幅を使用し、最も安い層から最も高価な層まで満たすことによって行われる。
【０１６６】
構成要素２０８（例えば、ＢＧＰｄ）が、内向き、または外向きのいずれかのむきの利用度の最適化だけを行うことができるとき、優れた履行方法が必要とされる。例えば、本発明の１つの実施形態によればＢＧＰは、送信先ごとの外向きの利用度にのみ影響を及ぼすことができる。したがって、課金プロファイル（例えば、ｍａｘ、（ｉｎ、  ｏｕｔ））において内向きが考えられているとき、内向きの優れた履行技術が必要とされる。ＳＰＲＥのいくつかの実施形態、または他のＮＡＩベースの構成要素は、送信先ごとの内向きの利用度に影響することができるだけである。したがって、課金プロファイル（例えば、ｓｕｍ（ｉｎ、ｏｕｔ））において、））において、外向きの利用度が考えられているとき、優れた履行方法が必要とされている。構成要素２０８が内向きと外向きの両方の利用度に影響することができるならばそのとき、いかなる優れた履行方法の必要とされない。
【０１６７】
図８Ａと図８Ｂにあるように、３つの別々のＮＳＰ、Ａ、Ｂ、およびＣが示されている。限界的コスト・カーブはＮＳＰ  Ａ、ＮＳＰ  Ｂ、およびＮＳＰ  Ｃのために限界的コストを反映している。図８Ｃの左側下方の角にある影をつけられたボックスによって表されている最小のコスト・カーブの下の領域は、ＮＳＰ  Ａ、ＮＳＰ  Ｂ、およびＮＳＰ  Ｃそれぞれのための最小の帯域幅コミットメント・コストを反映している。対応するコストは、ＮＳＰそれぞれ（例えば、ＮＳＰのそれぞれのＡＳをトランジットするためにデータ・トラフィック・フロー２１８を可能にする出口ルータ、サーバ、または他の機器）への出口間のデータ・トラフィック・フロー２１８のトランジット・コストに関連する。データ・トラフィックのレベルが変動すると、ＮＳＰ  Ａ、ＮＳＰ  Ｂ、およびＮＳＰ  Ｃそれぞれのために最小で限界的コスト・カーブの下に示される領域から関連コストを決定することができる。ＮＳＰ  Ａ、ＮＳＰ  Ｂ、およびＮＳＰ  Ｃのための最小のコスト・カーブに加えて、また、１つの最大コスト・カーブがある。関連するコスト増加を生じることなく効率を改良するために行うコントローラ２０２による最適化に最適の定義可能な目標領域は、最大コスト・カーブと最小コスト・カーブの間の影をつけられた領域内にある。最大コスト・カーブと最小コスト・カーブの間の影をつけられていない領域は最適化領域を表す。その領域では、コストが増加する。例えば、性能例外を作成して、利用度閾値を超えるのを許容することになるので、別のＮＳＰによりより高価な帯域幅層の中でポリシーに適合させなければならなくなるからである。
【０１６８】
図９を参照すると、フローコントロール・システム９００を建築面から見た図が示されている。本発明の１つの実施形態では、コントローラ９０２は、図２のコントローラ２０２と同様である。モジュール間の通信を可能にするのにバス９０６（例えば、ソフトウエア・バス）を使用するフローコントロール・システム９００を使用する他のデータ、ポリシー、または他の入力と、コントロール・モジュール９０４との間のインタフェースとして役立ついくつかの主要なモジュールがある。利用度コレクタ９０８、受動型較正器９１０、構成要素９１２、能動型較正器９１４、データ・コレクタ９１６がバス９０４を使用して通信しているのが示されている。コントロール・モジュール９０４によってデータ・コレクタ９１６に送られたデータを、トラフィック・レポジトリ２１６（図２）に格納することができる。利用度コレクタ９０８は、利用度データをバス９０４を経由して利用度情報受信モジュール９１８に供給する。利用度データは、出口コスト・モジュール９２０、利用度情報受信モジュール９１８へ伝送され、また、課金データ・レポジトリ９２２に伝送され該レポシトリ９２２に格納される。利用度データによって、２つ形式の作動パラメーターの使用が可能になることができる。第１の形式は、利用度パラメーターを見積もるが、そこには、履歴情報は存在しない。理想的には、第２の形式、および履歴パラメーターは、有効な利用度情報の発生を可能にして、ルーティング・コントロールにおいての評価基準として使用できるように、少なくとも２つの情報課金期間を必要とする。言い換えれば、発明の１つの実施形態によれば、２つの課金期間（例えば、ＮＳＰそれぞれから集めたデータの課金が有効な２カ月）が、利用度パラメーターを発生させるのに使用されるとすると、コントローラ９０２は、データ・ルーティングを制御するのにこの情報／評価基準／パラメーターを使用するものである。
【０１６９】
要求があると、利用度データをコントロール・モジュール９０４に伝送することができる。フロー・キャッシュ９２４は、送信先のために自動照合によって現在のパスＩＤをルート・テーブル・ミラー９２８に格納する。フロー性能情報は、ＳＰＣ、ＥＷＭＡ、静的または他の方法を使用して性能違反を決定するように設計されるプロセス制御モジュール（ＰＣＬ）９２５に渡される。送信先に対して違反が検出されると、違反フラグがフロー・キャッシュ９２４に設定されて、コントローラ９０４に送られる。受動型較正器９１０に関して、ＰＦＡデータを、フロー・キャッシュ９２４を経由してモジュール９０４に伝送できる。例えば、ＲＴＴ（往復時間）、損失、ボリューム、およびジッタなどのＰＦＡ９１４データは、送信先ごとに、発生される。また、ルート・テーブル・ミラー９２５は、ルート・キャッシュ９３０と通信している。なお、データは構成要素９１２から送られている。本発明の１つの実施形態によれば、構成要素９１２によって集められたデータは、制限するわけではないが、ｕｐｄａｔｅｓ、ｗｉｔｈｄｒａｗｓ、および外部のＢＧＰピアからの他のルーティング情報、他のプロトコル・ベース情報、および自己発生情報を含む。本実施形態ではＢＧＰ可能装置／プロセスとして示されているが、他の実施形態では、当業者に知られているプロトコルを使用することが可能である。本発明は、現在例示されている実施形態だけに限定されることを意図されでいるわけではない。
【０１７０】
図９に戻ると、ルート・キャッシュ９３０（または、任意の他の駆動プロトコル・メッセージ・バスも）は、ルート集合モジュール９３４からルート変更インタフェース９３２を経由してルート集合データ／変更データを受信する。能動型較正器９１４は、収束ポイント情報を得て、そのポイント情報をルート集合モジュール９３４に格納する。次のホップ情報は、ルート・テーブル・ミラー９２８からルート集合モジュール９３４に伝送される。ｕｐｄａｔｅがコントローラ９０２から送られるとき、収束ポイント情報に関して上記されたように、ルート集合モジュール９３４を通って使用すべき適切な集合レベルが決定される。ルート集合モジュール９３４は、適切な集合レベルの、ルート・キャッシュ９３０への公告を決定する。なお、該キャッシュ９３０は構成要素９１２（すなわち、ＢＧＰデーモン）と通信する。収束ポイント集合ロジックは、データ集合を提供する。その集合は、２つ、または２つ以上のパスが収束する（パス多様性＝０）ノードに関連している。収束ポイントが存在することがわかると、能動型較正器９１４は、能動プローブを発生する。該プローブは、トラフィック・レポジトリ２１６に記録するためにコントローラ９０２に送り返される反応性データを順番に発生する。能動型較正器９１４と通信しながら、能動型較正器メッセージバス９４０は、能動プロービングを行っている収束ポイントから集められたデータを受け取っている。
【０１７１】
能動型較正器９１４から集められた情報は、限定するというわけではないが、収束ポイント分析情報、プレフィックスごと／送信先ごと情報（例えば、ＲＴＴ、パケット／データの損失、ジッタ、エラーコード、出口ＩＤなど）、または、本発明の実施形態が集める可能性がある他の任意の形式の情報を含むことがある。また、この情報は、必要に応じて、ルート・コントロールとルート変更を可能にするためにコントロール・モジュール９０４に伝送されることがある。ポリシー・レポジトリ９４２は、ポリシー、規則、パラメーター、および他のユーザ、またはシステムが指定した評価基準を収容する。なお、その評価基準のもとに、コントローラ９０２がルート・コントロールを行う。また、コントロール・モジュール９０４は、利用度モジュール９１８、および出口コスト・モジュール９２０からの統合された利用度情報プラス出口コスト情報を使用することがある。そのとき、コントロール・モジュール９０４は、再び、ユーザ、またはシステムが指定するかもしれないポリシー・レポジトリ９４２から受信したポリシー入力に基づいて、コスト違反が存在するか否かを決定できる。
【０１７２】
さらに、他の実施形態によれば、本発明は、必ずしも図９に示すそれらのモジュールに限定するわけではないが、本発明に含む、データ・ルーティングのマルチプル・パラメーター・コントロールを実行するために必要と当業者が判断するような機能モジュールの数を減らしたり、増加したりする可能性もある。また、さらなる実施形態では、図９に示されるように２つ、または２つ以上のモジュールを統合して単一のプロセス、またはモジュールにすることも考えられる。
【０１７３】
図１０は、フロー・ボリュームと性能データを例示する３つのＮＳＰボリューム・プロファイルを示す。３つのＮＳＰボリューム・プロファイル、ＮＳＰ  Ａ１００２、ＮＳＰ  Ｂ１００４、およびＮＳＰ  Ｃ１００６が示されている。ＮＳＰ  Ａ、Ｂ、およびＣに示される影をつけられた球体は、一般的に、所与の送信先プレフィックスへの、特定のＮＳＰの上の使用中である帯域幅を表す。
その球体のサイズは、送信先プレフィックスに向かう相対的なフロー・ボリュームを表す。影は、ポリシー、または射影された性能を示すこともできる。輪郭が点線の球体は、帯域幅再配分処理が行われる前の、ＮＳＰ上の、射影されたフロー特性性（例えば、ボリューム／性能）を表す。図１０−図１３Ｃに表わされたフローは、本発明の典型的な実施形態であって、多くの異なるフローを特定の瞬間に表示できる。
【０１７４】
ＮＳＰ  Ａ１００２については、球体１００８と１０１０は、それぞれ、ポリシー優先設定による性能とコスト拘束帯域幅配分を表す。球体１００８と１０１０は、移動すると、ＮＳＰ間の移動によって追加コストまたは性能への影響が生じるかもしれないしかしながら、拘束があるときにのみ、ポリシー優先設定作業が開始される。性能優先では、コスト変更のための性能劣化は許されていない。代わりに、他のフローの動きが選択されるであろう。同様に、コスト優先では、性能向上のためのコスト増加は許されていない。ＮＳＰ  Ａ１００２では、最小コミットメント１０１２が示されているが、最小コミットメント１０１２を超える帯域幅配分球体なしで示されている。また、示されているのは、利用度閾値１０１４と最大許容稼働率１０１６であって、最大帯域幅と最大許容帯域幅との間の差が表わされている。例えば、プロバイダーが１００Ｍｂｐｓで、最大稼働率が９０％のとき、最大許容稼働率は、１００−９０、または１０Ｍｂｐｓとなるであろう。また、ＮＳＰ  Ｂ１００４は、最小コミットメント１０１８を示しているが、最小コミットメント１０１８を超える帯域幅配分球体はない。また、示されているのは、利用度閾値１０２０と最大の許容できる稼働率１０２２である。また、ＮＳＰ  Ｂ１００４に示されているのは、コスト拘束帯域幅配分球体１０１０である。最終的には、ＮＳＰ  Ｃ１００６は、最小コミットメント１０２４を示しているが、最小コミットメント１０１８を超える帯域幅配分球体なしで示されている。表わされていないが、ＮＳＰ  Ｃ１００６は、図８Ｃにおけるモデルによって決定されるように、利用度閾値を有している。また、ＮＳＰ  Ｃ１００６内に示されているのは、コスト拘束帯域幅配分球体１０１０である。
【０１７５】
球体のいくつかは影がつけられているが、球体の帯域幅配分は、送信先プレフィックスに利用されている様々なアプリケーションのために使用中である帯域幅を表わしている。特に、帯域幅配分球体１００８の影は、ポリシーによる性能拘束を示し、帯域幅配分球体１０１０は、コスト拘束を示している。また、球体の影は、履歴見解またはベースラインに対する相対的な性能を表す。性能が視野からはずれたとき、上記で検討したように、例外が示されていることを意味し、性能拘束のために移動すべき帯域幅配分が表わされている。入力されたポリシー、およびポリシー・レポジトリ９４２（図９）に格納されたポリシーに関しては、拘束が確立され、帯域幅配分それぞれに拘束が含まれている。
【０１７６】
３つのＮＳＰボリューム・プロファイルが図１１Ａに示されており、フロー・ボリュームと性能データが例示されている。３つのＮＳＰボリューム・プロファイル、ＮＳＰ  Ａ１１０２、ＮＳＰ  Ｂ１１０４、およびＮＳＰ  Ｃ１１０６が示されている。ＮＳＰ  Ａ１１０２に関して、最大許容稼働率１１０８が示されており、利用度閾値１１０９と最大レベルのＮＳＰ  Ａのプロファイルとの間の微分が表和されている。最小コミットメント・レベル１１１０が示されていて、その下には、影をつけられた帯域幅配分球体１１１２があり、コスト拘束帯域幅配分が表わされている。球体１１１２が移動すると、ＮＳＰ間の移動によって、追加のコストが生じることもある。また、ＮＳＰ  Ｂ１１０４は、帯域幅配分が最小コミットメント１１１４を超える２つの帯域幅配分球体１１２２とともに、最小コミットメント１１１４を示している。また、利用度閾値１ｌ１６と最大の許容できる利用がｌ１１８であることが示される。最終的には、ＮＳＰ  Ｃ  ｌ１６６は、最小コミットメント１１２０を示しているが、最小コミットメント１１２０を超える帯域幅配分球体は示されていない。また、ＮＳＰ  Ｃ１１０６に示されるように、わっていて、最小コミットメントの下における、より軽量のＡ影をつけられた球体１１２２と１１２４はＮＳＰ  Ｃ１１０６に対し、最小コミットメント１１２０の上下に軽量の影をつけられた球体１１２２と１１２４が置かれている。それぞれは、コスト拘束帯域幅配分を表わしている。本発明の実施形態によれば、十分な帯域幅を再び割り当てることにより、ＮＳＰ  Ｃ１１０６に対し利用度閾値を超えて置かれている帯域幅球体１１２２は、利用度閾値の下にくることになるので、その結果ポリシー・コンプライアンスが可能となるものである。
【０１７７】
コスト拘束の観点からは、図１１Ｂでは、さらに円１１２６の形で示される選択された帯域幅配分が示されている。選択された帯域幅の中で、配分１１２６は、コスト拘束帯域幅配分球体１１２８（縞模様で、暗く影がつけられている）である。ポテンシャル再配分位置は、帯域幅輪郭１１３０と１１３２によって示されている。ＮＳＰ  Ａ１１０２、またはＮＳＰ  Ｂ１１０４のいずれかに移動すると、コスト拘束ポリシーは実現されることはなく、移動は許されるようになるであろう。しかしながらまた、性能拘束ではあるが、コスト拘束ではない球体１１３４が選択された帯域幅配分（暗く影がつけられて、固体）として存在する。ＮＳＰ  Ａ１１０２に移動すると、射影された帯域幅配分１１３４は性能拘束となるであろう。上記が起こる場合、そのプレフィックスへのボリュームおよびスループットは減少し、その結果、ミッションクリティカルなアプリケーションデータかもしれないもののフローを制限することとなる。
【０１７８】
図１１Ｃでは、帯域幅配分１１２８は、ＮＳＰ  Ａ１１０２に変更されており、また、コスト・ポリシー違反球体１１２２が、ＮＳＰ  Ｃ１１０６の利用度閾値１１２０より下に移動している。本発明の１つの実施形態によれば、これらの球を動かす際に、性能例外または性能違反のどちらかを作成することなくポリシー・コンプライアンスが可能となっている。
【０１７９】
図１２Ａに示されている別の例では、再び、３つのボリューム閾値が示されている。３つのＮＳＰ帯域幅配分すべてが利用度閾値１２０８、１２１４、および１２１８の下にある。しかしながらＮＳＰ  Ｂ１２０４と１２０６内の帯域幅配分は完全に満たされている。より軽量の影をつけられた帯域幅配分球体１２２０と１２２２は、ＮＳＰ  Ａ１２０２とＮＳＰ  Ｃ１２０６内に存在し、性能違反を表わしている。
【０１８０】
図１２Ｂにおいて、帯域幅配分１２２２のＮＳＰ  Ｂへの射影されたシフトは、コスト違反となり、ＮＳＰ  Ｂ１２０４に対して、球体１２２２が利用度閾値１２１４を超えている。コスト違反を修正するために、帯域幅をシフトして、球体１２２２を利用度閾値１２１４の下に持ってこなければならない。
【０１８１】
図１２Ａに示されるように、プレフィックス球体１２２０および１２２２は性能違反であるが、球体を動かすために利用可能な再配分スペースは、ＮＳＰ  Ｂ、またはＮＳＰ  Ｃのどちらにもまったくない。図１２Ｂでは、使用中である帯域幅球体１２２２を、ＮＳＰ  Ｂに再び割り当てることができる。球体１２２２をＮＳＰ  Ｂまで動くのを許容することによって、クロスハッチングされた球体１２２３によって示されているように、性能違反は解消される。しかし、利用度閾値１２１４を超えたので、ＮＳＰ  Ｂのコスト違反となる。図１２Ｃに示されているように、そのコスト違反によってプレフィックス１２２４はＮＳＰ  Ａに等しい、またはより良い性能を持っていたことがわかる。また、移動は球体１２２４までなされる。ＮＳＰ  Ａの帯域幅は利用可能である。その理由は、追加の球体１２２４があっても現行の利用度は、図８Ｃで検討する利用度コストモデルによって決定されるようにまだ利用度閾値１２０９の下にあるからである。
【０１８２】
図１３Ａ、１３Ｂ、および１３Ｃは、プレフィックスを動かすための、発明の１つの実施形態による、コントローラ・ロジックを示している。プロセスは、ステップ１３０１開始され、プレフィックスのためのデータ・ルーティングのために最良の性能パスを決定するために、互いにすべての候補ＮＳＰを評価する。コントローラ２０２（図２）は、平行して、利用可能なＮＳＰそれぞれを評価する。その評価は、性能特性と統計資料をデータ・レポジトリに収納されていた格納されていたコストおよび性能パラメーター／特性を比較による。
【０１８３】
ステップ１３０２で、コントローラ２０２は、送信先が記述する現行の待ち時間、送信先アドレス、またはプレフィックスを評価されている候補のＮＳＰ（例えば、出口ルータ）と送信先アドレス、またはプレフィックスとの間で評価する。コントローラ２０２が、現行の待ち時間が候補ＮＳＰを通って利用可能な待ち時間よりも小さいと決定しているならば、そのとき、いかなる変更信号も評価されているＮＳＰに送られない。しかしながら出口の現行のデータ伝送待ち時間が候補ＮＳＰを通って利用可能な待ち時間を超えるならば、そのとき、コントローラ２０２はステップ１３０６の候補損失と現行損失を評価する。候補の損失が現行の損失よりも小さければ、そのとき、コントローラ２０２は、候補の現在の帯域幅配分が総帯域幅配分よりも少ないかどうかを決定する。そうであれば、そのとき、図１３Ｂに関して以下で検討されるように候補の評価は続けられる。候補の現在の帯域幅が総帯域幅配分以上ならば、そのとき、コントローラ２０２は現行のＮＳＰにおいて重要な損失がある加堂かを評価する。すべてのＮＳＰの間にいかなる重要な損失も存在しないならば、そのとき、いかなる変更信号も、ステップ１３０４において評価されているＮＳＰに送られない。しかしながら、重要な損失が存在するならば、コントローラ２０２は、ＮＳＰがすべての評価されたＮＳＰの中で最も安いＮＳＰであるかどうか決定するためにステップ１３１２に進む。そうでなければ、そのとき、コントローラ２０２は、変更信号を評価されたＮＳＰに送らないであろう。そうならばそのとき、コントローラ２０２は、変更信号を評価されたＮＳＰに送るだろう。評価されたＮＳＰのコストが別の候補ＮＳＰに等しいならば、そのとき、コントローラは、コストが等しいＮＳＰの中から、最も低い出口ＩＤ（一般に、任意に割り当てられたシステム管理ＩＤ）を有するものを決定し、ステップ１３１６におけるようにそのＮＳＰを選択する。
【０１８４】
ステップ１３０８において、現在の候補帯域幅配分が候補用の総帯域幅配分よりも狭いならば（コスト−利用度モデルによれば）、そのとき、コントローラ２０２は、他のすべての候補ＮＳＰに対してその候補ＮＳＰを評価する。図１３Ｂにおいて、コントローラ２０２がステップ１３１８に示されるように、どのＮＳＰが最小の待ち時間を有するかをすべてのＮＳＰについて決定する。その候補ＮＳＰが最小の待ち時間を有するならば、変更信号が評価されたＮＳＰに送られる。その候補ＮＳＰが最小の持ち時間を持たないならば、変更信号はその評価されたＮＳＰに送られない。しかしながら待ち時間が等しいならば（ＵＣＬ／ＬＣＬによって定義される範囲内）そのとき、コントローラ２０２は、その候補ＮＳＰがステップ１３２０におけるすべてのＮＳＰの間で最も小さい損失を持っているかどうかを決定する。その候補の損失が最小、または別のＮＳＰに等しいならば、コントローラ２０２ロジックは、ステップ１３２２に進み、図８Ｃで検討したコスト−利用度モデルと現行の利用度にしたがって、すべての候補ＮＳＰについて、どのＮＳＰが最も大きい利用可能な帯域幅を有するかを決定する。
【０１８５】
候補ＮＳＰが最も大きい利用可能な帯域幅を持たないならば、そのとき、どんな変更信号も評価されているＮＳＰに送られない。ＮＳＰ候補が最も大きい利用可能な帯域幅をもつなら、そのとき、変更信号が評価されたＮＳＰに送られる。評価されたＮＳＰの利用可能な帯域幅が別の候補ＮＳＰに等しいならば、そのとき、コントローラ２０２は、ステップ１３２４において、次の最小のコスト層を決定しなければならない。このステップでコントローラ２０２は、決定しなければならないステップ１３２２から生じる等しいＮＳＰの中でどのＮＳＰが、最も低いコスト層を有するか、また、次に、そのＮＳＰに対し、変更を指示する。ステップ１３２２において選択された候補ＮＳＰが同じ次のコスト層の中にいるならば、そのとき、ステップ１３２６において、最も低い出口ＩＤを有するＮＳＰは、選択されて、コントローラ２０２は、データ・フローに向かう変更信号を候補ＮＳＰに送るであろう。
【０１８６】
同様に、性能評価基準のために、コントローラ２０２ロジックは、図１３Ｃに示されるフローチャートを実行する。ステップ１３３０で、候補の損失は、現行の損失と比較される。なお、送信先／プレフィックスそれぞれごとの出口において測定される（図１３Ａと１３Ｂにおけるコスト・フロー・プロセス過程のように）。候補の損失が現行の損失以上ならば、そのとき、ステップ１３３８のようにどんな変更信号もステップ１３３８のように評価されたＮＳＰに送られない。候補の損失が現行の損失よりも小さいならば、そのとき、その評価されているＮＳＰは、ステップ１３３２のように、その待ち時間が現行の待ち時間よりも少ないかどうかに関して評価される。そうでなければ、再び、どんな変更信号も評価されたＮＳＰに送られない。候補のＮＳＰの出口における待ち時間が現行の待ち時間よりも小さければ、そのとき、コントローラ２０２は、ステップ１３３４に示されるように、評価されたＮＳＰが、すべての候補の中に最良の待ち時間を持っているかどうかを決定しなければならない。そうでなければ。そのとき、どんな変更信号も送られない。評価されたＮＳＰが最良の待ち時間（最も小さい待ち時間を意味する）をもつならば、そのとき、ステップ１３４０において示されたように変更信号が評価されたＮＳＰに送られる。評価されたＮＳＰの待ち時間が別の候補に等しい場合、コントローラ２０２は、候補がステップ１３０６で最良の損失を有するか否かを決定する。その後、コントローラ２０２は、どの候補ＮＳＰも利用可能な帯域幅を有しているかどうかを決定する。言い換えれば、別の候補ＮＳＰが利用可能な、ポリシーで特定された帯域幅配分よりも狭い、バンドを有しているかどうかをコントローラ２０２は決定する。
【０１８７】
ステップ１３４２で、どのＮＳＰも利用可能な帯域幅を有するならば、そのとき、コントローラ２０２は、ステップ１３４４において、候補が最小のコストリンクであるかどうかを決定する。候補ＮＳＰが最小コストのＮＳＰならば、そのとき、変更信号が評価されたＮＳＰに送られる。そうでなければ、そのｔき、いかなる変更信号も評価されたＮＳＰに送られない。コストが候補ＮＳＰと他のＮＳＰ候補の間で等しいならば、そのとき、コントローラ２０２は、候補ＮＳＰがステップ１３４６に示されるように、最も低い出口ＩＤであるか否かを評価する。そうでなければ、そのとき、いかなる変更信号も送られない。そうなら、そのとき、変更信号が送られる。
【０１８８】
ステップ１３４２に戻ると、どの候補ＮＳＰも利用可能な帯域幅を持たないならば、そのとき、コントローラは、候補ＮＳＰがステップ１３４８で最も多くの利用可能な帯域幅を有するかどうかを決定する。そうならば、そのとき、変更信号が評価されたＮＳＰに送られる。そうでなければ、そして、どんな変更信号も送られない。しかしながら、候補ＮＳＰの利用可能な帯域幅が別の候補ＮＳＰに等しいならば、そのとき、コントローラは、候補が次の最も安いコスト層の中にいるかどうかを決定する。そうだとすれば、移動は候補ＮＳＰに向かってなされる。候補ＮＳＰのコストが他のＮＳＰｓ候補に等しいならば、そのとき、再び、割り当てられた最も低い出口ＩＤは、性能が最良のＮＳＰとして選択されるだろう。上記のプロセスは方法を概説する。その方法によって、発明の１つの実施形態によれば、コントローラ２０２は、最良性能のパスを選択して、ロジックを実行できる。しかしながら、当業者は、代替のステップ、プロセス、サブプロセス、または方法を決定することができる可能性がある。その方法によって、最良の性能を有するパスの選択がなされる。また、本発明は、上記のステップに必ずしも限定されるものではない。
【０１８９】
図１４は、「無料の」帯域幅の利用価値が所与のプロバイダーに対していかに表現されるか、また、図２の利用度コレクタ２０４によっていかに測定されるかを示す。時間ｔｉからｔＯの間にわたって、現行の利用度レート１４０２と現行の課金可能レート１４００が決定される。示されているように、時点ｔ０．５から１４０３は、過剰サンプルを表す。これらの２つの値の間の差１４０１は、追加コストを含むことなく、使用される利用可能な帯域幅の量を表す。性能ベースのポリシーに関し、現行の送信先、またはデフォルト・プロバイダによる違反があるとき、プロバイダーごとの無料帯域幅を使用して、準拠しているプロバイダーのサブセットを選択する。さらに、この情報は、が適用するのに使用されるコストおよび負荷ベースのポリシーをプロバイダーそれぞれに適応するのに使用される。
【０１９０】
図１５は、利用度コレクタ２０４が図１４に示される連続した時間に対する課金可能レートについていかに計算するかを示している。ほとんどのプロバイダーは、最小コミットメント・レベル１５１０から開始する。現行の利用度がそのコミットメントよりも下から始めると、無料の帯域幅が示される。サンプルは、プロバイダーのサンプリング・レートの２倍で集めて、確実に正確なレートを計算する。（すなわち、これは控えめの見積りであり、もし、そのレートがプロバイダー・レートからそれるなら、レートがより高くなり、また、課金可能レートの過大評価につながる。）時間軸上のチェック・マークは、システムによって集められたサンプルを表す。（オーバーサンプリング）十分なサンプルが集められるとき、一般に、すべてのレートサンプルの９５パーセンタイルとして表現される課金可能レートは、図１５の課金可能レートの相次ぐより高い層１５１３によって示される。トラフィックがこのレートより低くなると、新しい課金可能レート１５１４が設定されて、システムは、再び、使用可能な無料の帯域幅１５１８を有する。
【０１９１】
図１６は、典型的なフローコントロール・システム２００とコントローラ２０２が、いかにコスト・ベースのポリシー違反を検出するのかを示す。コスト・ポリシー必要条件を、１６１３によってしめされるように、絶対閾値であると定義すると仮定する。この閾値は、絶対レート、または使用するセット金額（システムによって平均課金可能レートに変換される）であり得る。サンプルバイサンプルーベースで、実際のトラフィック・レート１６１４は、１６１３を超えた新しい課金可能レートが決して確立されないようなものであるべきである。短期予測技法を使用して、次のわずかなサンプル１６１５のためのトラフィック・レートを予測でき、また、この予測が新しい課金可能レート１６１６が確立されそうだと予測すると、図２のコントローラ２０２は、このプロバイダーからトラフィックを動かすことによって、反応することができる。
【０１９２】
上記のように、本発明の実施形態では、データを移送するために、信号を送るか、発生するか、使用するか、利用するか、集めるか、妨害するか、受けるか、操るか、変更するか、破壊するか、または伝播することがある。データ・ネットワーク８２（図１）が信号を送信したり、受信するための銅線、光ファイバーケーブルなどからなる物理的な相互接続リンクなどの通信手段を供給する。同様に、ラジオ波のような無線通信網手段もまた、送信元から送信先まで情報を移送する手段を提供すると理解されている。
【０１９３】
ネットワーク通信業界ではよく知られていることだが、データ・ネットワークは、データ（例えば、２進のデータビット）を含むコンピュータ・データ信号などの電気情報を、ラジオ波、または他の搬送波に重ね合わせて、伝送するように構成される。キャリア波が、送信元ベイの放射源から伝播される電磁エネルギー、光学的な波、または伝導波であり、また、コンピュータ・データ信号などの情報伝送信号を具現するのに適当であることを当業者は理解できるであろう。１つの実施形態では、キャリア波は、コンピュータ・データ情報を含むように振る舞い、Ｅｔｈｅｒｎｅｔ，ＩＥＥＥ１３９４，ＴＣＰ／ＩＰ、または  他の通信プロトコルなどのネットワーク・プロトコルにしたがって変調される。いくつかの実施形態では、コンピュータ・データ信号は、本発明を実現するコンピュータ・プログラムを含む。キャリア波は、例えば、直流、交流、またはパルスチェーンである。キャリア波の変調においては、その振幅、周波数、またはいくつかの他の特性が、データの移動の具現化を目指して変動するように、キャリア波を処理することがある。
【０１９４】
本発明は、特定の実施形態に関して検討したが、当業者であれば、これらの実施形態が単に説明に役立っているに過ぎず、本発明をなんら制限しているものではないことがわかるであろう。例えば、上記では、インターネット・データに関連するのとしてルート・コントロールを述べているが、本発明が、一般的に、ネットワークとルート・コントロールに関連し、また、上記のようにインターネット・データおよび信号に限定されるものではないことは理解されるべきである。本発明の範囲は、添付の請求の範囲の各項目によってのみ制限される。
【０１９５】
以上の明細書において、本発明はその特定の実施形態に関して記載されている。しかし、本発明がそれに限らないことは、当業者なら認めるであろう。上記の発明の様々な特徴と態様は個別にまたは組み合わせによって使用することができる。さらに、本発明は、特定の環境におけるその実行の文脈と、特定のアプリケーションのために記載されている。本発明の有益性は、それらに限定されない。本発明は、そのより広い趣旨とその範囲から逸れることなく、いかなる環境およびアプリケーションの下でも使用されうるものである。したがって、明細書と図面は、本発明を限定するものではなく、むしろ説明に役立つためのものと見なされる。
【図面の簡単な説明】
【０１９６】
【図１Ａ】ユーザに提示するための典型的なコンピュータ・システムと、本発明の実施形態を実現するのに適したユーザインタフェースを示す。
【図１Ｂ】図１Ａのコンピュータ・システム内の基本的なサブシステムを示す。
【図１Ｃ】本発明での使用に適した１つの典型的なコンピュータネットワークの一般化されたダイヤグラムを示す。
【図２】本発明の１つの実施形態によるコントローラの１つの実施形態の簡易化されたブロック構成図を示す。
【図３】図２の典型的な受動型較正器の機能的なブロック構成図を示す。
【図４】図３の典型的なコンテント・フロー分析器の機能的なブロック構成図を示す。
【図５】本発明の１つの実施形態による図３の移出流れ分析器の機能的なブロック構成図を示す。
【図６】特定の実施形態による図３の受動フロー分析器の機能的なブロック構成図を示す。
【図７】本発明の特定の実施形態による典型的な利用度コレクタの詳細なブロック構成図を示す。
【図８】本発明の１つの実施形態によるプロトコル・ベースの給送を受ける典型的な構成要素のブロック構成図を示す。
【図９】本発明の別の実施形態による典型的なコントローラのブロック構成図を示す。
【図１０】発明の１つの実施形態による３つの典型的な課金プロファイルを示す。
【図１１Ａ】本発明の１つの実施形態による、集められたフロー情報を示す、３つの典型的なフロー・ボリューム／性能プロファイルを示す。
【図１１Ｂ】本発明の１つの実施形態による、ＮＳＰ  Ａ、ＮＳＰ  Ｂ、ＮＳＰ  Ｃおよび集められたフロー情報の投影された分配のための、３つの典型的なフロー・ボリューム／性能バケットを示す。
【図１１Ｃ】発明の特定の実施形態による、配分の集められたフロー情報の図である；
【図１２Ａ】本発明の１つの実施形態による、３つの異なるプライシング層のうち、最大の帯域幅割り当てより低い帯域幅割り当ての、３つの典型的な課金プロファイルを示す。
【図１２Ｂ】本発明の１つの実施形態による、これらのネットワーク・サービス・プロバイダー、ＮＳＰ  Ａ、ＮＳＰ  Ｂ、ＮＳＰ  Ｃの間で、集められたフロー情報の射影された配分例を示す。
【図１２Ｃ】発明の１つの実施形態による３つの典型的な課金プロファイルを示す。
【図１３Ａ】発明の１つの実施形態による、フロー情報の射影された配分および第２の射影された配分の、データ・ネットワーク・コントロールの典型的な方法のためのフローチャートを示す。
【図１３Ｂ】発明の１つの実施形態による、図１３Ａの続きとしてフローチャートを示す。
【図１３Ｃ】本発明の１つの実施形態による、データ・ネットワーク・コントロールの別の典型的な方法のためのフローチャートを示す。
【図１４】本発明の実施形態による、利用可能な「無料の」帯域幅の決定法を示す。
【図１５】本発明の実施形態による、時間の連続した課金可能レートの計算法を示す。
【図１６】本発明の１つの実施形態によるコスト・ベースのポリシー違反の検出法を示す。
【図１Ａ】
2005508596.tif 000003
【図１Ｂ】
2005508596.tif 000004
【図１Ｃ】
2005508596.tif 000005
【図２】
2005508596.tif 000006
【図３】
2005508596.tif 000007
【図４】
2005508596.tif 000008
【図５】
2005508596.tif 000009
【図６】
2005508596.tif 000010
【図７Ａ】
2005508596.tif 000011
【図７Ｂ】
2005508596.tif 000012
【図８Ａ】
2005508596.tif 000013
【図８Ｂ】
2005508596.tif 000014
【図８Ｃ】
2005508596.tif 000015
【図９】
2005508596.tif 000016
【図１３Ａ】
2005508596.tif 000017
【図１３Ｂ】
2005508596.tif 000018
【図１３Ｃ】
2005508596.tif 000019
【図１４】
2005508596.tif 000020
【図１５】
2005508596.tif 000021
【図１６】
2005508596.tif 000022
【国際公開パンフレット】
2005508596.tif 000023
2005508596.tif 000024
2005508596.tif 000025
2005508596.tif 000026
2005508596.tif 000027
2005508596.tif 000028
2005508596.tif 000029
2005508596.tif 000030
2005508596.tif 000031
2005508596.tif 000032
2005508596.tif 000033
2005508596.tif 000034
2005508596.tif 000035
2005508596.tif 000036
2005508596.tif 000037
2005508596.tif 000038
2005508596.tif 000039
2005508596.tif 000040
2005508596.tif 000041
2005508596.tif 000042
2005508596.tif 000043
2005508596.tif 000044
2005508596.tif 000045
2005508596.tif 000046
2005508596.tif 000047
2005508596.tif 000048
2005508596.tif 000049
2005508596.tif 000050
2005508596.tif 000051
2005508596.tif 000052
2005508596.tif 000053
2005508596.tif 000054
2005508596.tif 000055
2005508596.tif 000056
2005508596.tif 000057
2005508596.tif 000058
2005508596.tif 000059
2005508596.tif 000060
2005508596.tif 000061
2005508596.tif 000062
2005508596.tif 000063
2005508596.tif 000064
2005508596.tif 000065
2005508596.tif 000066
2005508596.tif 000067
2005508596.tif 000068
2005508596.tif 000069
2005508596.tif 000070
2005508596.tif 000071
2005508596.tif 000072
2005508596.tif 000073
2005508596.tif 000074
2005508596.tif 000075
2005508596.tif 000076
2005508596.tif 000077
2005508596.tif 000078
2005508596.tif 000079
2005508596.tif 000080
2005508596.tif 000081
2005508596.tif 000082
2005508596.tif 000083
2005508596.tif 000084
2005508596.tif 000085
2005508596.tif 000086
2005508596.tif 000087
2005508596.tif 000088
2005508596.tif 000089
2005508596.tif 000090
2005508596.tif 000091
2005508596.tif 000092
2005508596.tif 000093
2005508596.tif 000094
2005508596.tif 000095
2005508596.tif 000096
2005508596.tif 000097
2005508596.tif 000098
2005508596.tif 000099
2005508596.tif 000100
2005508596.tif 000101
2005508596.tif 000102
2005508596.tif 000103
2005508596.tif 000104
2005508596.tif 000105
2005508596.tif 000106
2005508596.tif 000107
2005508596.tif 000108
2005508596.tif 000109
2005508596.tif 000110
2005508596.tif 000111
2005508596.tif 000112
2005508596.tif 000113
2005508596.tif 000114
2005508596.tif 000115
2005508596.tif 000116
2005508596.tif 000117
2005508596.tif 000118
2005508596.tif 000119
2005508596.tif 000120
2005508596.tif 000121
2005508596.tif 000122
2005508596.tif 000123
2005508596.tif 000124
2005508596.tif 000125
2005508596.tif 000126
2005508596.tif 000127
【国際公開パンフレット（コレクトバージョン）】
2005508596.tif 000128
2005508596.tif 000129
2005508596.tif 000130
2005508596.tif 000131
2005508596.tif 000132
2005508596.tif 000133
2005508596.tif 000134
2005508596.tif 000135
2005508596.tif 000136
2005508596.tif 000137
2005508596.tif 000138
2005508596.tif 000139
2005508596.tif 000140
2005508596.tif 000141
2005508596.tif 000142
2005508596.tif 000143
2005508596.tif 000144
2005508596.tif 000145
2005508596.tif 000146
2005508596.tif 000147
2005508596.tif 000148
2005508596.tif 000149
2005508596.tif 000150
2005508596.tif 000151
2005508596.tif 000152
2005508596.tif 000153
2005508596.tif 000154
2005508596.tif 000155
2005508596.tif 000156
2005508596.tif 000157
2005508596.tif 000158
2005508596.tif 000159
2005508596.tif 000160
2005508596.tif 000161
2005508596.tif 000162
2005508596.tif 000163
2005508596.tif 000164
2005508596.tif 000165
2005508596.tif 000166
2005508596.tif 000167
2005508596.tif 000168
2005508596.tif 000169
2005508596.tif 000170
2005508596.tif 000171
2005508596.tif 000172
2005508596.tif 000173
2005508596.tif 000174
2005508596.tif 000175
2005508596.tif 000176
2005508596.tif 000177
2005508596.tif 000178
2005508596.tif 000179
2005508596.tif 000180
2005508596.tif 000181
2005508596.tif 000182
2005508596.tif 000183
2005508596.tif 000184
2005508596.tif 000185
2005508596.tif 000186
2005508596.tif 000187
2005508596.tif 000188
2005508596.tif 000189
2005508596.tif 000190
2005508596.tif 000191
2005508596.tif 000192
2005508596.tif 000193
2005508596.tif 000194
2005508596.tif 000195
2005508596.tif 000196
2005508596.tif 000197
2005508596.tif 000198
2005508596.tif 000199
2005508596.tif 000200
2005508596.tif 000201
2005508596.tif 000202
2005508596.tif 000203
2005508596.tif 000204
2005508596.tif 000205
2005508596.tif 000206
2005508596.tif 000207
2005508596.tif 000208
2005508596.tif 000209
2005508596.tif 000210
2005508596.tif 000211
2005508596.tif 000212
2005508596.tif 000213
2005508596.tif 000214
2005508596.tif 000215
2005508596.tif 000216
2005508596.tif 000217
2005508596.tif 000218
2005508596.tif 000219
2005508596.tif 000220
2005508596.tif 000221
2005508596.tif 000222
2005508596.tif 000223
2005508596.tif 000224
2005508596.tif 000225
2005508596.tif 000226
2005508596.tif 000227
2005508596.tif 000228
2005508596.tif 000229
2005508596.tif 000230
2005508596.tif 000231
2005508596.tif 000232
2005508596.tif 000233
【国際調査報告】
2005508596.tif 000234