(57)【要約】データのルーティングを制御するためのシステム及び方法。第２のポイントから第１のポイントまでの現在の入口経路の入口部分と第１のポイントから第２のポイントへの現在の出口経路の出口部分とを有する、少なくとも１つのデータフローがアクティブであるかどうかが判断される。別のデータフローは次の経路の次の入口部分を介して第２のポイントから第１のポイントに転送される。【選択図】図２
2005508593.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのデータフローがアクティブであると判断するステップであって、該少なくとも１つのデータフローが第２のポイントから第１のポイントへの現在の入口経路の入口部分と、第１のポイントから第２のポイントへの現在の出口経路の出口部分とを有するステップと、
第２のポイントから第１のポイントへの次の経路の次の入口部分を介して別のデータフローを転送するステップと、
を備えることを特徴とするデータのルーティングを制御するための方法。
【請求項２】
該別のデータフローが次の入口部分を介して転送された後に、該少なくとも１つのアクティブデータフローについて現在の入口部分を保つステップと、
をさらに備えることを特徴とする請求項１記載の方法。
【請求項３】
現在の入口部分を保つステップは、
該現在の入口部分との、該少なくとも１つのアクティブデータフローの現在の入口関連を形成するステップと、
現在の入口関連に従って現在の入口部分を介してデータを転送するステップと、
を備えることを特徴とする請求項２記載の方法。
【請求項４】
該少なくとも１つのデータフローがイナクティブであるときに現在の入口部分の保存を廃止するステップと、
をさらに備えることを特徴とする請求項２記載の方法。
【請求項５】
現在の入口関連を形成するステップが、
第２のポイントに関係する少なくとも１つの遠隔宛て先アドレスで該少なくとも１つのアクティブデータを識別するステップと、
ローカルソースアドレスに関係する第１のローカルネットワークアドレスで現在の入口部分を識別するステップと、
第１のローカルネットワークアドレスと該少なくとも１つの遠隔宛て先アドレスを関連付けるステップと、
データベース内のデータ構造内の第１のローカルネットワークアドレスとの該少なくとも１つの遠隔宛て先アドレスの関連を表すデータを記憶するステップと、
を備えることを特徴とする請求項３記載の方法。
【請求項６】
現在の入口経路が一意の特定の遠隔宛て先アドレス（／３２）によって定義されることを特徴とする請求項５記載の方法。
【請求項７】
データベースが情報ベースであることを特徴とする請求項５記載の方法。
【請求項８】
現在の経路の少なくとも一つのデータフローを決定するステップが、該少なくとも１つのフローのステートフル（ｓｔａｔｅｆｕｌ）検査を実行するステップを備えることを特徴とする請求項１記載の方法。
【請求項９】
該少なくとも１つのフローのステートフル検査を実行するステップが、
少なくとも１つのＴＣＰセッション関係特性を調べるステップと、
少なくとも１つのアクティブフローがアクティブであると判断するために該少なくとも１つのＴＣＰセッション関係特性を使用するステップと、
を備えることを特徴とする請求項８記載の方法。
【請求項１０】
次の入口部分を介して該別のデータフローを転送するステップが、
次の入口部分との該別のデータフローの次の入口関連を形成するステップと、
次の入口関連に従って次の入口部分を介してデータを転送するステップと、
を備えることを特徴とする請求項１記載の方法。
【請求項１１】
次の入口関連を形成するステップが、
第２のポイントに関係する少なくとも１つの遠隔宛て先アドレスで該別のデータフローを識別するステップと、
ローカルソースアドレスに関係する第２のローカルネットワークアドレスで該次の入口部分を識別するステップと、
第２のローカルネットワークアドレスと該少なくとも１つの遠隔宛て先アドレスを関連付けるステップと、
データベース内のデータ構造の中の第２のローカルネットワークアドレスとの該少なくとも１つの遠隔宛て先アドレスとの関連を表すデータを記憶するステップと、
を備えることを特徴とする請求項１０記載の方法。
【請求項１２】
第２のローカルネットワークアドレスに第１のローカルネットワークアドレスを変換するステップをさらに備えることを特徴とする請求項１１記載の方法。
【請求項１３】
該少なくとも１つの遠隔宛て先アドレスが、遠隔宛て先アドレス（／２４）の上位集合またはグループにより定義されることを特徴とする請求項１１記載の方法。
【請求項１４】
第１のポイントから第２のポイントに次の出口経路の次の出口部分を介して別のデータフローを転送するステップと、
をさらに備えることを特徴とする請求項１記載の方法。
【請求項１５】
該別のデータフローが次の出口部分を介して転送された後に、該少なくとも１つのアクティブデータフローについて現在の出口部分を保つステップと、
をさらに備えることを特徴とする請求項１４記載の方法。
【請求項１６】
現在の出口部分を保つステップが、
現在の出口部分との、該少なくとも１つのアクティブデータフローの現在の出口関連を形成するステップと、
現在の出口関連に従って現在の出口部分を介してデータを転送するステップと、
をさらに備えることを特徴とする請求項１５記載の方法。
【請求項１７】
現在の出口部分がデータを転送するために使用できないように、該少なくとも一つのデータフローがイナクティブであるときに現在の出口部分の保存を廃止するステップと、
をさらに備えることを特徴とする請求項１５記載の方法。
【請求項１８】
現在の出口関連を形成するステップは、
第２のポイントに関係する少なくとも１つの遠隔宛て先アドレスで、該少なくとも１つのアクティブデータフローを識別するステップと、
第１のインタフェースで現在の出口部分を識別するステップと、
該少なくとも１つの遠隔宛て先アドレスを第１のインタフェースと関連付けるステップと、
データベース内のデータ構造の中の該少なくとも１つの遠隔宛て先アドレス間の関連を表すデータを記憶するステップと、
を備えることを特徴とする請求項１６記載の方法。
【請求項１９】
第１のインタフェースが物理インタフェースであることを特徴とする請求項１８記載の方法。
【請求項２０】
第１のインタフェースが仮想インタフェースであることを特徴とする請求項１８記載の方法。
【請求項２１】
データベースが情報ベースであることを特徴とする請求項１８記載の方法。
【請求項２２】
該別のデータフローを次の出口部分を介して転送するステップが、
次に出口部分との、別のデータフローの次の出口関連を形成するステップと、
次の出口関連に従って次の出口部分を介してデータを転送するステップと、
をさらに備えることを特徴とする請求項１４記載の方法。
【請求項２３】
次の出口関連を形成するステップが、
第２のポイントに関係する少なくとも一つの遠隔宛て先アドレスで、該別のデータフローを識別するステップと、
第２のインタフェースで次の出口部分を識別するステップと、
第２のインタフェースと少なくとも１つの遠隔宛て先アドレスを関連付けるステップと、
データベース内のデータ構造の中の第２のインタフェースとの、該少なくとも１つの遠隔宛て先アドレスの関連を表すデータを記憶するステップと、
備えることを特徴とする請求項２２記載の方法。
【請求項２４】
１つまたは複数のデータネットワークを通るデータのルーティングを制御するためのシステムであって、
ローカルソースアドレスからのまたはローカルソースアドレスへのローカルネットワークデータトラフィックを受信するように設計され、ローカルデータネットワークトラフィックの少なくとも１つのデータフローがアクティブであると判断するように構成されるフロー検査器と、
アクティブである１つまたは複数のフローを表すデータを受信するためにフロー検査器に結合され、第２のポイントから第１のポイントへ該少なくとも１つのアクティブフローの現在の出口経路の現在の出口部分を提供するように構成された情報ベースと、
ローカルネットワークデータトラフィックと、次の入口経路の次の入口部分を表すデータとを受け取るために情報ベースに結合され、アクティブフローについて現在の入口部分を介してデータを転送し、次のデータフローの次の入口部分を介してデータを転送するように構成されたデータディレクタと、
を備えることを特徴とするシステム。
【請求項２５】
次の入口部分を含むルート変更を提供するように構成されたコントローラをさらに備えることを特徴とする請求項２４記載のシステム。
【請求項２６】
データディレクタに次の入口部分を提供するように構成されたコントローラをさらに備えることを特徴とする請求項２５記載のシステム。
【請求項２７】
情報ベースに次の入口部分を提供するように構成されたコントローラをさらに備えることを特徴とする請求項２５記載のシステム。
【請求項２８】
情報ベースがネットワークアドレス情報ベース（ＮＩＢ）であることを特徴とする請求項２５記載のシステム。
【請求項２９】
情報を受信するためにネットワークアドレス情報に結合されるネットワークアドレス変換（ＮＡＴ）エンジンをさらに備え、該ネットワークアドレス変換エンジンが、第２のポイントから第１のポイントへアクティブフローについて現在の入口部分を介してデータを転送し、第２のポイントから第１のポイントへ次のデータフローの次の入口部分を介してデータを転送するように構成され、次の入口部分がネットワークアドレス変換エンジンにより変換されたアドレスと関連付けられていることを特徴とする請求項２８記載のシステム。
【請求項３０】
ネットワーク変換エンジンが、第１のポイントから第２のポイントへ転送されるアクティブデータフローが現在の入口部分を介して第１のポイントに戻り、第１のポイントから第２のポイントへの次のデータフロールートが次の入口部分を介して第１のポイントに戻るようにデータを転送するようにさらに構成されることを特徴とする請求項２９記載のシステム。
【請求項３１】
現在の入口部分と次の入口部分が、それぞれ、複数のデータネットワークの第１のデータネットワークと第２のデータネットワークに関連していることを特徴とする請求項２９記載のシステム。
【請求項３２】
情報ベースが第１のポイントから第２のポイントへ現在の出口経路の現在の出口部分を提供するようにさらに構成され、
データディレクタが次の出口経路の次の出口部分を表すデータを受信するように情報ベースにさらに結合され、アクティブフローの現在の出口部分を介してデータを転送し、次のデータフローの次の出口部分を介してデータを転送するように構成されることとを特徴とする請求項２４記載のシステム。
【請求項３３】
次の出口部分を含むルート変更を提供するように構成されるコントローラをさらに備えることを特徴とする請求項３２記載のシステム。
【請求項３４】
データディレクタに次の出口部分を提供するように構成されるコントローラをさらに備えることを特徴とする請求項３２記載のシステム。
【請求項３５】
情報ベースに次の出口部分を提供するように構成されるコントローラをさらに備えることを特徴とする請求項３２記載のシステム。
【請求項３６】
情報ベースが転送情報ベース（ＦＩＢ）を含むことを特徴とする請求項３２記載のシステム。
【請求項３７】
情報を受信するために転送情報ベースに結合される転送エンジンをさらに備え、該転送エンジンが第１のポイントから第２のポイントにアクティブフローの現在の出口部分を介してデータを転送し、第１のポイントから第２のポイントに次のデータフローについて次の出口部分を介してデータを転送するように構成されることを特徴とする請求項３２記載のシステム。
【請求項３８】
転送エンジンが第１の仮想ローカルアクセスネットワーク（ＶＬＡＮ）タグを第１のポイントから第２のポイントへのアクティブデータフローに関連付け、第１のＶＬＡＮタグが現在の出口部分と関連付けられ、第２のＶＬＡＮタグを第１のポイントから第２のポイントへの次のデータフローに関連付け、第２のＶＬＡＮタグが次の出口部分と関連付けられることを特徴とする請求項３７記載のシステム。
【請求項３９】
アクティブデータフローと次のデータフローを受け取るために転送エンジンと結合される少なくとも１つのネットワークデバイスをさらに備え、該少なくとも１つのネットワークデバイスが、２つまたは３つ以上の仮想ルータ機構（「ＶＲＦ」）がデータネットワークに結合される２つまたは３つ以上のＶＲＦを有し、
該少なくとも１つのネットワークデバイスが、１つのデータネットワークにアクティブデータフローを転送し、それぞれ第１のＶＬＡＮタグと第２のＶＬＡＮタグに従って別のデータネットワークに次のデータフローを転送することを特徴とする請求項３８記載のシステム。
【請求項４０】
情報ベースが転送情報ベース（ＲＩＢ）を含むことを特徴とする請求項３２記載のシステム。
【請求項４１】
情報を受信するためにルーティング情報ベースに結合されるルーティングエンジンをさらに備え、該ルーティングエンジンが第１のポイントから第２のポイントへアクティブフローについて現在の出口部分を介してデータを転送し、第１のポイントから第２のポイントへ次のデータフローの次の出口部分を介してデータを転送するように構成されることを特徴とする請求項４０記載のシステム。
【請求項４２】
ルーティングエンジンが第１の物理インタフェースを第１のポイントから第２のポイントへのアクティブフローに関連付け、第１の物理インタフェースが現在の出口部分と関連付けられ、第２の物理インタフェースを第１のポイントから第２のポイントへの次のデータフローに関連付け、第２の物理インタフェースが次の出口部分と関連付けられることを特徴とする請求項４１記載のシステム。
【請求項４３】
アクティブデータフローと次のデータフローを受け取るためにルーティングエンジンに結合される少なくとも１つのネットワークデバイスをさらに備え、該少なくとも１つのネットワークデバイスが２つまたは３つ以上の出口ゲートウェイを有し、該２つまたは３つ以上の出口ゲートウェイのそれぞれがデータネットワークに結合され、
該少なくとも２つのネットワークデバイスが、それぞれ第１の物理インタフェースと第２の物理インタフェースに従ってアクティブデータフローをあるデータネットワークに転送し、次のデータフローを別のデータネットワークに転送することを特徴とする請求項４１記載のシステム。
【請求項４４】
１つまたは複数のデータネットワークを通るデータのルーティングを制御するためのシステムであって、
ローカルソースアドレスからのまたはローカルソースアドレスへのローカルネットワークデータトラフィックを受け取るように設計され、ローカルネットワークトラフィックの少なくとも１つのデータフローがアクティブであることを判断するように構成された第１のフロー検査器と、
アクティブである１つまたは複数のフローを表すデータを受け取るためにフロー検査器に結合され、第１のポイントから第２のポイントに現在の出口経路の現在の出口部分を提供するように構成された情報ベースと、
ローカルネットワークデータトラフィックと次の出口経路の次の出口部分を表すデータとを受け取るように設計された情報ベースに結合され、アクティブフローについて現在の出口部分を介してデータを転送し、次のデータフローについて次の出口部分を介してデータを転送するように構成されたデータディレクタと、
を備えることを特徴とするシステム。
【請求項４５】
情報ベースが転送情報ベース（ＦＩＢ）を含むことを特徴とする請求項４４記載のシステム。
【請求項４６】
情報を受信するために転送情報ベースに結合される転送エンジンをさらに備え、転送エンジンが第１のポイントから第２のポイントにアクティブフローについて現在の出口部分を介してデータを転送し、第１のポイントから第２のポイントへ次のデータフローについて次の出口部分を介してデータを転送するように構成されることを特徴とする請求項４５記載のシステム。
【請求項４７】
転送エンジンが第１の仮想ローカルアクセスネットワーク（ＶＬＡＮ）タグを第１のポイントから第２のポイントへのアクティブデータフローに関連付け、第１のＶＬＡＮタグが現在の出口部分と関連付けられ、第２のＶＬＡＮタグを第１のポイントから第２のポイントへの次のデータフローに関連付け、第２のＶＬＡＮタグが次の出口部分と関連付けられることを特徴とする請求項４６記載のシステム。
【請求項４８】
アクティブデータフローと次のデータフローを受け取るために転送エンジンに結合される少なくとも１つのネットワークデバイスをさらに備え、該少なくとも１つのネットワークデバイスが２つまたは３つ以上の仮想ルータ機構（「ＶＲＦ」）を有し、２つまたは３つ以上のＶＲＦのそれぞれが別のネットワークデバイスに結合され、別のネットワークデバイスがデータネットワークに結合され、
該少なくとも１つのネットワークデバイスが第１の別のネットワークデバイスにアクティブデータフローを転送し、それぞれ、第１のＶＬＡＮタグと第２のＶＬＡＮタグに従って第２の別のネットワークデバイスに次のデータフローを転送することを特徴とする請求項４７記載のシステム。
【請求項４９】
該第１の別の、及び第２の別のネットワークデバイスがそれぞれ、
ネットワークアドレス変換（ＮＡＴ）エンジンを備え、該ネットワークアドレス変換エンジンが第２のポイントから第１のポイントへのアクティブフローについて現在の入口部分を介してデータを転送し、第２のポイントから第１のポイントへの次のデータフローについて次の入口部分を介してデータを転送するように構成され、次の出口部分がネットワークアドレス変換エンジンにより変換されるアドレスと関連付けられることを特徴とする請求項４８記載のシステム。
【請求項５０】
ローカルソースネットワーク内のローカルソースアドレスから遠隔宛て先アドレスへのデータのルーティングを制御するためのルータであって、ローカルソースネットワークがマルチホーミングされ、２つまたは３つ以上の第１のレベルのデータネットワークに結合され、該ルータは、
ローカルソースアドレスからローカルネットワークデータトラフィックを受け取るように設計され、ローカルネットワークトラフィックの少なくとも１つのデータフローがアクティブであるかどうかを判断するように構成されるフロー検査器と、
情報ベースであって、該情報ベースは、
遠隔宛て先アドレスからローカルソースアドレスへの該少なくとも１つのアクティブデータフローについて現在の入口部分の現在の入口部分を提供するように構成されるネットワークアドレス変換情報ベースと、
ローカルソースアドレスから遠隔宛て先アドレスに該少なくとも１つのアクティブデータについて現在の出口経路の現在の出口部分を提供するように構成される転送情報ベースと、
アクティブである１つまたは複数のフローを表すデータを受け取るためにフロー検査器に結合される情報ベースのそれぞれと、
を備える情報ベースと、
データディレクタであって、該データディレクタは、
ローカルネットワークデータトラフィックと、次の入口経路の次の入口部分を表すデータを受け取るように設計されるネットワークアドレス変換情報ベースに結合されるネットワークアドレス変換エンジンと、
ローカルネットワークデータトラフィックと、次の出口経路の出口部分を表すデータを受け取るために転送情報ベースに結合される転送エンジンと、
を備えるデータディレクタと、
を備え、
ネットワークアドレス変換エンジンが、第１のマルチホーミング第１レベルデータネットワークを介して遠隔宛て先アドレスにアクティブフローを転送するように設計され、アクティブフローのための入口経路が第２のマルチホーミングされた第１レベルデータネットワークを含み、ネットワーク変換エンジンが第１のマルチホーミングされた第１レベルデータネットワークを介して遠隔宛て先アドレスに次のフローをさらに転送するように設計され、次のフローの入口経路が第３のマルチホーミングされた第１レベルデータネットワークを含み、
転送エンジンが、アクティブフローの出口経路を含む１つのマルチホーミングされた第１レベルのデータネットワークを介して遠隔宛て先アドレスにアクティブなフローを転送するように設計され、次のフローのための出口経路を含む別のマルチホーミングされた第１レベルのデータネットワークを介して遠隔宛て先アドレスに次のフローをさらに転送するように設計されることを特徴とするルータ。
【請求項５１】
少なくとも一つのデータフローがアクティブであることを判断するステップであって、該少なくとも一つのデータフローが第２のポイントから第１のポイントへの現在の入口経路の入口部分と、第１のポイントから第２のポイントへ現在の出口経路の出口部分とを有するステップと、
第２のポイントから第１のポイントに次の経路の次の入口部分を介して別のデータフローを転送するステップと、
該別のデータフローが次の入口部分を介して転送された後に、該少なくとも１つのアクティブデータフローについて現在の入口部分を保存するステップであって、該現在の入口部分を保存するステップが、
現在の入口部分との該少なくとも１つのアクティブデータフローの現在の入口関連を形成するステップと、
現在の入口関連に従って現在入口部分を介してデータを転送するステップと、
を含むステップと、
現在の入口部分がデータを転送するために使用できないように、該少なくとも一つのデータフローがイナクティブであるときに現在の入口部分の保存を廃止するステップと、
第１のポイントから第２のポイントへの次の出口経路の次の出口部分を介して別のデータフローを転送するステップと、
別のデータファウローが次の出口部分を介して転送された後に、該少なくとも１つのアクティブデータフローについて現在の出口部分を保存するステップであって、該現在の出口部分を保存するステップが、
現在の出口部分との該少なくとも１つのアクティブデータフローの現在の出口関連を形成するステップと、
現在の出口関連に従って現在の出口部分を介してデータを転送するステップと、
を含むステップと、
現在の出口部分がデータを転送するために使用できないように該少なくともひとつのデータフローがイナクティブであるときに現在の出口部分の保存を廃止するステップと、
を備えるデータのルーティングを制御するための方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、すべての目的のために引用例として本明細書に組み込まれる、２００１年１１月２日に提出され、代理人整理番号第０２１０８９−０００２００ＵＳ号により識別される「インテリジェントルーティングによりネットワークサービスレベル及び帯域幅管理を保証するためのシステム及び方法（ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＴＯ  ＡＳＳＵＲＥ  ＮＥＴＷＯＲＫ  ＳＥＲＶＩＣＥ  ＬＥＶＥＬＳ  ＡＮＤ  ＢＡＮＤＷＩＤＴＨ  ＭＡＮＡＧＥＭＥＮＴ  ＷＩＴＨ  ＩＮＴＥＬＬＩＧＥＮＴ  ＲＯＵＴＩＮＧ）」と題される米国仮特許出願からの優先権を主張する。本願は、すべての目的のために引用例として本明細書に組み込まれる、米国特許出願番号第０９／８３３，２１９号及び代理人整理番号第０２１８９−０００１００ＵＳ号を有し、２００１年４月１０日に提出された「インテリジェントルーティングによりネットワークサービスレベルを保証するためのシステム及び方法（ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＴＯ  ＡＳＳＵＲＥ  ＮＥＴＷＯＲＫ  ＳＥＲＶＩＣＥ  ＬＥＶＥＬＳ  ＷＩＴＨ  ＩＮＴＥＬＬＩＧＥＮＴ  ＲＯＵＴＩＮＧ）」と題される米国特許明細書と、米国特許出願番号   及び代理人整理番号第ｎｅｔＶｍｇ−２３２９ＵＳ号を有し、２００１年１２月７日に提出された「データネットワーク上で情報のルーティング制御を実現するためのシステム及び方法（ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＴＯ  ＰＲＯＶＩＤＥ  ＲＯＵＴＩＮＧ  ＣＯＮＴＲＯＬ  ＯＦ  ＩＮＦＯＲＭＡＴＩＯＮ  ＯＶＥＲ  ＤＡＴＡ  ＮＥＴＷＯＲＫＳ）」と題される米国特許出願からの優先権を主張する。
【０００２】
背景技術
本発明は概してネットワーク化された通信システムでのデータのルーティングに関し、さらに詳細には、ローカルソースネットワークへの入口経路またはローカルソースネットワークからの出口経路、あるいは両方を修正することによるネットワーク上でのデータの制御されたルーティングに関する。
【０００３】
インターネットなどのデータネットワーク上で情報のルーティングを制御するために使用される１つの従来の技法は、２つまたは３つ以上のデータネットワークコネクションを使用し、マルチホームローカルソースネットワークを形成する。これらの複数のコネクションは、帯域幅、つまり発信側のローカルソースネットワークまたはソースアドレスから遠隔の宛て先へネットワークを横断できるデータ量のスループットを増加する。帯域幅が増加すると、インターネットトラフィックの性能と信頼性が改善される。インターネットへのマルチホームコネクションは、通常複数の異なるネットワークサービスプロバイダを横切る。
【０００４】
従来のマルチホーム方式は、通常、１つまたは複数のネットワークサービスプロバイダのリンクを横切るトラフィックを導くためにボーダゲートウェイプロトコル（ＢＧＰ）を使用する。従来のマルチホーミングをＢＧＰとともに使用することで、ソースネットワークから遠隔宛て先へのアウトバウンドトラフィックだけが修正可能となるようにルーティングテーブルを変更することによってルート制御を達成する。
【０００５】
従来のマルチホームルート制御の１つの欠点は、遠隔の宛て先からソースネットワークへのインバウンドトラフィックが、従来のＢＧＰマルチホーム技法を使用するルート制御に使用できないという点である。例えばルート制御は、最初に遠隔宛て先アドレスの次のホップを決定し、次にその次のホップアドレスを変更することによって実現される。データトラフィックがマルチホーム宛て先を離れる経路は制御できるが、トラフィックがマルチホームローカルソースネットワークに入るインバウンド経路の管理はほとんどなされていない。
【０００６】
さらに、ＢＧＰを用いるマルチホーミングは複雑な試みである。ＢＧＰマルチホーミングを実現するための多岐に渡る複雑なルーティングポリシーに対するニーズがあり、したがって特殊なＢＧＰ専門知識が必要とされる。しかしながら、マルチホーミングで恩恵を受けないローカルソースネットワークを使用する多くのエンティティにはＢＧＰマルチホーミングを効果的に活用するために必要な専門知識はない。さらに、インターネットなどのデータネットワークでの少数の宛て先サイトだけに配備されるマルチホーミングは、１つまたは複数のネットワークサービスプロバイダに長い接頭語アドレスブロックを注入することを必要とする。つまり、ルート制御のために必要とされるグローバルルーティングテーブルは、そのサイズがインターネット上で驚くべき速度で拡大しているため、扱いにくくなっている。これは、他のネットワーク装置だけではなくバックボーンルータも完全にダウンさせることによりネットワーク性能を妨げる効果を持つ。
【０００７】
従来のＢＧＰマルチホーミングの問題に対処するために、従来の手法は、マルチホーミング方式とともにネットワークアドレス変換（「ＮＡＴ」）を使用する。この従来の方法では、（発信側ローカルソースネットワークから上流の）上流サービスプロバイダからのアドレス空間の２つまたは３つ以上のブロックがＮＡＴベースのルーティングポリシーで使用される。ＮＡＴポリシーは、問題のあるプロバイダを回避するためにある特定のサービスプロバイダの中にトラフィックを導く。
【０００８】
この手法の１つの欠点は、ネットワーク経路のダイバシティが保証されないという点である。上流のサービスプロバイダは、使用されるある特定の小さなアドレスブロックだけを広告するため、データトラフィックは、必ず元のＮＡＴソースアドレス空間のプロバイダを介してマルチホーミングサイトに入る。別の欠点は、ＮＡＴを使用するマルチホーミングがかなり静的でなければならないことを意味する。つまり、ＮＡＴとともにルーティング情報の履歴を知らないと、それがそのフローを破壊し、サービス停止を引き起こすため、ＮＡＴベースのマルチホーミングはＴＣＰフローの真中で特定のＮＡＴソースアドレスを変更できないのである。マルチホーミングがＮＡＴを使用して静的でなければならないという要件が、ＮＡＴが、今日任意の種類のインテリジェントルーティングまたはルート制御システムで使用されるのを妨げている。インテリジェントルーティングまたはルート管理システムはＢＧＰに、ひいては出ルート制御だけに制限されているため、それらはトラフィックの過半数がマルチホーミング宛て先またはソースからのアウトバウンドであるコンテンツ分散（例えば、ソースと宛て先間の非対称データフロー）にのみ適用可能である。
【０００９】
したがって、ＮＡＴを用いる従来のマルチホーミングは、ＶＰＮ、ボイス、ビデオまたはカスタマ関係管理プログラム（ＣＲＭ）等のビジネスアプリケーション、サプライチェーン管理ソフトウェアまたは双方向様式でトラフィックが流れるアプリケーションなどのローカルソースと遠隔宛て先間の対称データトラフィックのルーティングを制御するには適していない。したがって、従来のルート制御システムは、ネットワークだけのインバウンド経路、またはインバウンド経路とアウトバウンド経路の両方に影響を及ぼすことはできない。
【００１０】
発明の概要
技術には、複数のネットワークでデータのルーティングを効果的且つ効率的に管理するために前述された欠点を克服するためのシステム及び方法に対するニーズがある。したがって、ローカルソースアドレスに関連付けられたローカルホストから退出データ経路、ローカルホストの中への入口データ経路、あるいは両方を最適化することにより、インターネットユーザなどのデータネットワークユーザに、データのルーティングに対する制御を与える必要がある。
【００１１】
本発明によるある実施形態では、方法はデータのルーティングを制御することを促進する。該方法は、第２のポイントから第１のポイントへの現在の入口経路の入り口部分と、第１のポイントから第２のポイントへの現在の出口経路の出口部分を有する少なくとも１つのデータフローがアクティブであることを判断することと、第２のポイントから第１のポイントへ次の経路の次に入口部分を介して別のデータフローを転送することとを備える。
【００１２】
本発明による別の実施形態では、システムが１つまたは複数のデータネットワークを通るデータのルーティングを制御することを促進する。システムは、ローカルソースアドレスからの、あるいはローカルソースアドレスへのローカルネットワークデータトラフィックを受け取るように設計され、ローカルネットワークトラフィックの少なくとも１つのデータフローがアクティブであると判断するように構成されたフロー検査器と、アクティブである１つまたは複数のフローを表すデータを受け取るためにフロー検査器に結合され、第２のポイントから第１のポイントへの該少なくとも１つのアクティブなフローに現在の入口経路の現在の入口部分を与えるように構成された情報ベースと、ローカルネットワークデータトラフィックと次の入口経路の次の入口部分を表すデータを受け取るために情報ベースに結合され、アクティブなフローのために現在の入口部分を介してデータを送り、次のデータフローのために次の入口部分を介してデータを送るように構成されたデータディレクタとを備える。
【００１３】
発明の実施の形態の詳細な説明
実施形態の詳細な説明をここに示す。しかしながら、本発明が多様な形態で具体化されてよいことが理解されなければならない。したがって、ここに開示されている特定の詳細は制限的として解釈されるべきではなく、むしろ主張の基礎として、及び実際的には任意の適切に詳説されるシステム、構造、方法、プロセスまたは様式において本発明を利用するために当業者に教示するための代表的な根拠として解釈されるべきである。
【００１４】
図１Ａ、図１Ｂ、及び図１Ｃは、本発明の特定的な実施形態を実践するために適切な基本的なハードウェア構成要素を描いている。図１Ａはディスプレイ画面５を有するディスプレイ３を含む例示的なコンピュータシステム１の図である。キャビネット７にはディスクドライブ、ＣＤ−ＲＯＭドライブ、ディスプレイアダプタ、ネットワークカード、ランダムアクセスメモリ（ＲＡＭ）、中央演算処理装置（ＣＰＵ）、及び他の構成要素、サブシステム及びデバイスなどの標準的なコンピュータ構成要素が収容されている。ボタン１３を有するマウス１１及びキーボード９などのデバイスが図示されている。トラックボール、タッチスクリーン、デジタル化タブレット、音声または視覚認識等の他のユーザ入力装置が使用できる。一般的には、コンピュータシステムは、本発明とともに使用するために適切なデスクトップコンピュータなどの１種類のコンピュータシステムを例証する。コンピュータは多くのさまざまなハードウェア構成要素で構成でき、多くの寸法及び様式で製造できる（例えばラップトップ、パームトップ、ペントップ、サーバ、ワークステーション、メインフレーム）。ここに説明される処理を実行するために適しているハードウェアプラットホームは、本発明とともに使用するのに適している。
【００１５】
図１Ｂは、コンピュータ１などのコンピュータに通常見出される可能性のあるサブシステムを描いている。図１Ｂでは、ボックス２０内のサブシステムが内蔵バス２２に直接的に接続されている。このようなサブシステムは、通常、図１Ａのキャビネット７の中などのコンピュータシステム内に含まれている。サブシステムは入力／出力（Ｉ／Ｏ）コントローラ２４、システムメモリ（またはランダムアクセスメモリ「ＲＡＭ」）２６、中央演算処理装置ＣＰＵ２８、表示アダプタ３０、シリアルポート４０、固定ディスク４２、同様に技術で既知である電気的な手段、無線手段、または光学手段などによってネットワークと通信するように構成されるネットワークインタフェースアダプタ４４（例えば、ネットワークインタフェースカード、つまりＮＩＣ）を含む。バス２２を使用することにより、サブシステムのそれぞれがサブシステムの間で、最も重要なことにはＣＰＵとデータを転送することができ、ＣＰＵはＳｐａｒｃ（登録商標）、Ｉｎｔｅｌ  ＣＰＵ、ＰｏｗｅｒＰＣ（登録商標）、または同等物である可能性がある。外部装置はバス上のサブシステムと接続することによってバス２２を介してＣＰＵまたは他のサブシステムと通信できる。したがって、モニタ４６はディスプレイアダプタ３０と接続し、相対ポインティングデバイス（例えばマウス）はシリアルポート４０などのポートを通して接続する。キーボード５０などのいくつかのデバイスは、例えば中断コントローラまたは関連付けられたレジスタを介してなどのように、メインデータバスを使用せずに直接的な手段によりＣＰＵと通信できる。
【００１６】
図１Ａに図示される外部物理構成の場合と同様に、多くのサブシステム構成が考えられる。図１Ｂは１つの適切な構成を示している。図１Ｂに図示されているもの以外のサブシステム、構成要素またはデバイスを加えることができる。適切なコンピュータシステムは、図１Ｂに図示されているサブシステムのすべてより少数を使用して達成することもできる。例えば、ネットワークインタフェース４４が必要とされないだろうため、スタンドアロンコンピュータはネットワークに結合される必要はない。ＣＤ−ＲＯＭドライブ、グラフィクアクセレレータ等の他のサブシステムは本発明のシステムの性能に影響を及ぼすことなく構成に含むことができる。
【００１７】
図１Ｃは本発明の実施形態を実践するために使用される可能性のある典型的なネットワークの汎用図である。図１Ｃでは、ネットワークシステム８０は、インターネット、ＷＡＮ（広域ネットワーク）または類似したネットワークなどのコンピュータデータネットワーク８２に結合される複数のローカルネットワークを含む。ここに説明されているようなネットワークシステムは、ソースから宛て先へ、及び逆もまた同様に１つまたは複数の経路を構成する、１つまたは複数のローカルネットワーク及びネットワークサービスプロバイダに関する。しかしながら、ネットワークシステムは、ネットワーキング技術を使用して通信する１台または複数台の計算装置を含むデータネットワークも示すと理解される必要がある。特定のネットワークプロトコル、物理層、トポロジ、及び他のネットワークプロパティがここに提示されているが、本発明は、（他のネットワークに相互接続されるマルチホーミングネットワークなどの）任意の経路が多岐に渡るネットワーク、特に、プロトコルに従って情報の１つまたは複数のパケットを有するフローなどのデータを転送するためのインターネットプロトコル（ＩＰ）を利用するそれらのネットワークとともに使用するために適している。さらに、特定のインプリメンテーションは図１Ｃに図示されていないが、普通の熟練者は、ネットワークシステム８０と動作するために、１つまたは複数のデータネットワーク８２内で本発明によるフロー制御システムを配備または構成できることを理解する必要がある。
【００１８】
図１Ｃでは、コンピュータユーザ１がサーバ１に接続され、コネクションはイーサネット、非同期転送モード、ＩＥＥＥ規格  １５５３バス、モデムコネクション、ユニバーサルシリアルバス等の任意のネットワークプロトコルによる場合がある。通信リンクはワイヤである必要がないが、赤外線、電波伝送等である場合がある。描かれているように、サーバ１は、インターネットあるいは例えばデータ通信のためにインターネットプロトコルを使用する任意の他のデータネットワークなどのデータネットワーク８２に結合されている。データネットワークはサーバルータ８２の集合体として象徴的に図示されている。
【００１９】
情報の分散または通信のためのインターネットの例示的な使用は、本発明を実践するために厳密に必要ではないが、特定の実施形態を描くために単に使用されるにすぎない。さらに、サーバコンピュータの使用、及びサーバマシンとクライアントマシンの指定は本発明のインプリメンテーションにとって重大ではない。ユーザ１コンピュータは直接的にインターネットに接続できる。サーバ１のインターネットへのコネクションは、それはユーザ１の場合と同様に類似した様式で接続される可能性もあるが、通常、Ｔ１回線、Ｔ３回線、メトロエリアイーサネット等などの相対的に高い帯域幅の伝送媒体による。同様に、他のコンピュータ８４は、ユーザ１コンピュータとは別の場所にあるローカルネットワーク（例えば、ローカルエリアネットワーク、つまりＬＡＮ）を活用して示されている。８４にあるコンピュータはサーバ２を介してインターネットに結合される。コンピュータ８４は単一サーバ（例えばサーバ２）だけを含むとして示されるが、コンピュータ８４と関連付けられているローカルネットワークに２台または３台以上のサーバを接続することができる。ユーザ３とサーバ３構成は、まだ計算装置の第３のネットワークを表している。
【００２０】
図１Ｄは、アクティブな較正だけを使用するルート制御システムに対する典型的なマルチパス（例えばＥＣＭＰ）技法の影響を示す。指定ネットワークサービスプロバイダについて、ワシントンＤＣとサンホセの間には考えられる２つの経路が存在する。第１の経路１７０はニューヨーク、シカゴ及びシアトルを横断する。第２の経路１７１はアトランタ、ダラス、及びロサンジェルスを横断する。該経路のどちらかを使用するコストがルーティングプロトコルで等しいと仮定する。大部分のルータベンダは、２つの等しいコストの経路を提示されると、それらの間でトラフィックを負荷分担し（ｌｏａｄ  ｓｈａｒｅ）、同じ流れの中の経路が同じルートに従うことを確認する。経路の選択プロセスはベンダに特定であり、通常、既知のソースと宛て先のＩＰアドレスに依存する。ソースＩＰアドレスと宛て先ＩＰアドレスが同じでない限り、トラフィックは別の等しいコストの経路を取る可能性がある。経路較正は、宛て先ＩＰアドレスは同じであるが、ソースＩＰアドレスは異なっているために、カスタマのトラフィックがダラス１７３を通る南部経路を取ってよいが、ワシントンＤＣとサンホセ間のネットワーク全体で送信されるアクティブなプローブがシカゴ１７２を通る北部経路を取ってよいことを仄めかしている。従って、測定される経路は、カスタマのトラフィックによって実際に取られる経路でない可能性がある。本発明はとりわけ、本発明によるカスタマデータトラフィックのサービスレベルを保証するためのシステム及び技法を使用して、データトラフィックを含むルートをインテリジェントに制御した。
【００２１】
図１Ｅは、図１Ｃのネットワークシステム８０の一部の中の例示的なデータネットワーク、及び本発明の特定の実施形態によるフロー制御システムを描いている。例示的なフロー制御システム９０はデータネットワークの１つまたは複数のネットワーク要素と通信するように構成されている。フロー制御システム９０は、ソースネットワーク９４、スイッチ９６、及びルータ９８の要素の外部に、それらと通信して図示されているが、フロー制御システム９０は図示されている要素のどれかで全体的に具体化できる、あるいは代わりに該要素のそれぞれで分けて分散できる。別の実施形態では、フロー制御システム９０は例示的なソースネットワーク９４内の１つまたは複数のサーバまたはネットワーク要素に常駐する。
【００２２】
例示的なデータネットワークは１つまたは複数のソースネットワーク９４を含む。ソースネットワーク９４は、通常、アプリケーションサービスプロバイダ、管理サービスプロバイダ、コンテント送達ネットワーク、ウェブホスト企業、個々の企業、法人、エンティティ等により所有、運営される１台または複数台のサーバを含むローカルネットワークである。このようなサービスプロバイダは、通常、ＮＳＰ１、ＮＳＰ２、ＮＳＰ３，．．．及びＮＳＰｎなどのマルチホーミングされたＮＳＰＳ９２からさらに削除されるユーザに情報を通信する。一例では、ＮＳＰＳ９２はデータネットワークの第１の集合と見なされるためにソースネットワークまたはソースポイントに結合される。これらのＮＳＰ、つまりデータネットワークの第１の集合は、同様にネットワークの第２の集合に結合され、第２の集合は複数の他のネットワークに接続され、このようにしてソースから宛て先に１つまたは複数の経路を確立する。ここに説明されるような経路は、それぞれが完全にプロバイダ内に常駐するセグメントに分割されるソースから宛て先へのルートとなることができる。
【００２３】
ルータ９８と複数のネットワークサービスプロバイダ９２間の複数のコネクションは、ソースネットワーク９４の運用者に最良の成果をあげるネットワークサービスプロバイダに従ってデータトラフィックを導く手段を与える。スイッチ９６は、ソースネットワーク９４からルータ９８へ双方向で、ＩＰデータなどの双方向データ９９を転送するために動作する。単一のルータとスイッチが図示されているが、普通の技術の熟練者は、追加のルータとスイッチまたは他の適切なデバイスのどちらかが本発明の別の実施形態に従って置換できることを理解するだろう。さらに、スイッチ９６は本発明を実践するために使用される必要はない。特定の実施形態では、ルータ９８は、例えば（シスコ（登録商標）（Ｃｉｓｃｏ）またはジュニパーインプリメンテーション（登録商標）（Ｊｕｎｉｐｅｒ  ｉｍｐｌｅｍｅｎｔａｔｉｏｎｓ）などの）ＢＧＰなどの例示的なプロトコルを実行する１つまたは複数のルータを含み、好ましくは複数のネットワークサービスプロバイダ全体でのルート可視性を有する。
【００２４】
フロー制御システム９０の実施形態では、システム９０はエンドツーエンド（つまりソースから宛て先及び宛て先からソース）データトラフィック９５を、性能、コスト、帯域幅等のフロー特性に関して測定するために動作する。フロー制御システム９０はリアルタイムまたはほぼリアルタイムで複数のネットワークサービスプロバイダ全体でデータ経路と関連付けられる統計も作成する。このような統計は、緊急報告が作成され、ルート変更活動、選択された宛て先に送達されるようなトラフィック性能、及びトランジットプロバイダ使用量（つまり帯域幅）、コスト等に関する情報を提供するようにネットワークエンジニアリング人員に、例えばレポート情報９１を提供するためにソースネットワーク９４に通信される。
【００２５】
本発明によるある実施形態では、ローカルコンピューティング装置がシステム９０からレポート情報９１を使用し、例えばユーザフレンドリインタフェース（「ＵＩ」）上で視覚表現及びグラフィック表現を生成し、該表現は（ソースと宛て先間の経路などの）１つまたは複数の経路に沿ったデータトラフィックを示す。ソースネットワーク９４にアクセスするネットワーク人員、またはフロー管理を担当する任意のエンティティは、次に制御情報９３をフロー制御システム９０に提供し、例えば、働きの悪い現在の、つまりデフォルトの経路から働きがよい経路にデータトラフィックフローを変更することによりシステム動作を修正できる。しかしながら、ネットワーク人員による介入は、フロー管理システム９０が本発明に従って動作するには必要ではない。
【００２６】
フロー制御システム９０は、さらに、ある特定のトラフィックフローが関連するフローポリシーの１つまたは複数の規則を満たすかどうかを判断するために特定のデータトラフィックフロー（つまりデータネットワークへのアウトバウンドの、及びデータネットワークへのインバウンドの単方向と双方向のトラフィックフローの両方）を比較するために機能する。ここで参照されるようなフローポリシーは、（例えば、ＩＰアドレス接頭語により示されるように）特定のシステムユーザに関係する特定のデータトラフィックフローと関連付けられる１つまたは複数の規則の集合を含む。
【００２７】
規則、つまり基準は、最小レベル、最大レベル、またはトラフィックフロー特性と関連付けられる許容できるルーティング動作を定義する一連の値である。例えば、規則は、ネットワークサービスプロバイダのコストを考慮する、あるいは考慮しない最大許容コスト、特定のプロバイダを通るトラフィックフローと関連付けられる最大負荷または帯域幅使用量、一連の許容できる（または許容できない）サービスプロバイダ、複数のネットワークサービスプロバイダ全体での１つまたは複数の経路上での最大許容可能待ち時間または損失、最大バースト制限、最小性能コミットメント、及びコストの範囲（つまり、日時、トラフィックの種類等を考慮したコスト構造）などの、各ＮＳＰのための性能の許容範囲、及びデータトラフィックの測定または制御に影響を及ぼすことがある任意の他のデータフロー特性を設定できる。
【００２８】
フロー制御システム９０は、さらに、１つまたは複数の規則、つまりフローポリシーがいつ違反されるのかを検出し、次に矯正処置を講じるために動作する。すなわちフロー制御システム９０は、性能（つまり、サービスレベル保証）における有害な偏差、コストまたは帯域幅（つまり、経路単位で使用可能な％の容量単位での負荷）を補正することにより、データトラフィックフローに関連付けられるポリシーを施行する。フロー制御システム９０は、リアルタイムまたはほぼリアルタイムのトラフィック分析、ローカル経路ダイバシティ（つまり、データネットワークからの１つまたは複数の出口経路の修正）、及び下流の使用可能な経路に対する可視度に基づいてこのような補正を行う。例えば、ある特定のトラフィックフローに関係する宛て先について、フロー制御システム９０は、フロー特性という点でのある特定のフローのそのフローポリシーからの逸脱を解決するために１つまたは複数の代替経路にトラフィックを向けるまたは向け直す。
【００２９】
図２は、図１Ｄのフロー制御システム９０の特定の実施形態を描く。別の実施形態では、図２のフロー制御システムは反応フロー制御システムである。すなわち、反応フロー制御システムは、許容できる動作のなんらかの目標とされるレベルでの性能を最適化するのではなく、１つまたは複数のデータネットワークまたはサービスプロバイダでのデータトラフィックの規格はずれのルーティングを示すポリシー違反に反応する（つまり、合格−不合格基準に対処する）ように設計されている。
【００３０】
フロー制御システム２００は、コントローラ２０５、パッシブ較正装置２０３、アクティブ較正装置２０８、構成要素２１１、及び使用量コレクタ２１４を含み、そのそれぞれはハードウェア、ソフトウェアまたはその組み合わせで実現できる。例えば、コントローラ２０５、パッシブ較正装置２０３、アクティブ較正装置２０８、構成要素２１１及び使用量コレクタ２１４は、本発明に従ってここに説明されるような特定のプロセスを実行するように設計されたソフトウェアモジュールである。このようなモジュールは、図１Ａに図示されるコンピューティング装置などの１台または複数台のコンピューティング装置に、あるいは代わりにデータネットワークまたはネットワークシステム上で結合される１台または複数台のユーザ型機械（つまり、サーバ）に常駐できる。
【００３１】
例示的なパッシブ較正装置２０３、アクティブ較正装置２０８、及び使用量コレクタ２１４はコントローラ２０５に結合され、部分的にデータトラフィックのフロー特性を提供する。コレクタ２０５は施行されるフローポリシーだけではなく監視されたフロー特性も受け取る。コントローラ２０５は、フローポリシーが違反されているかどうかを判断し、このような違反が検出された場合には、次に違反を解決するための矯正処置を選択するように構成される。構成要素２１１は、矯正処置を開始するための情報を受け取るために使用されるコントローラ２０５に結合され、データディレクタ２２０にこのような処置を伝達する。それ以後、データディレクタ２２０が、例えば、現在の経路から働きがよい経路にトラフィックフローを変更することにより未決の違反を解決するための補正処置を実現する。
【００３２】
さらに、フロー制御システム２００はトラフィックレポジトリ２２１及びフローポリシーレポジトリ２１８を含む。例示的なトラフィックレポジトリ２２１及びフローポリシーレポジトリ２１８は、１つまたは複数のデータ構造の中に多数のレコードを記憶するように構成された、記憶装置などのデータベースである。トラフィックレポジトリ２２１は、トラフィック特性及びルート特性に関する情報を記憶し、通信するように設計され、フローポリシーレポジトリ２１８は、データトラフィックフローのそれぞれの性能とコストを規定するためのポリシー情報または規則を記憶、通信するように設計される。データベース管理の技術の普通の技能の熟練者は、本発明のレポジトリを達成するために多くのデータベース技法が利用されてよいことを理解する必要がある。
【００３３】
運転中、図２のフロー制御システム２００は、ＩＰデータトラフィックなどの出口と入口のデータフロー２０１を監視し、ソースネットワークとの間のデータフロー２０１が関連フローポリシーにより設定される性能公差範囲内にあるかどうかを判断する。フロー制御システム２００は、ある実施形態では、光スプリッタなどのスプリッタ、または普通の技術の技術野熟練者に既知である任意の他のタッピング手段を使用することにより、例えばネットワークスイッチによってなど、複製によりデータフロー２０１を受け取る。データフロー２０１内に含まれている情報と完全に、またはほぼ完全に同じであるデータフロー２０２はパッシブ較正装置２０３に提供される。
【００３４】
パッシブ較正装置２０３はデータフロー２０１のデータトラフィックを監視し、トラフィックとトラフィック性能に関係する情報２０４をコントローラ２０５に通信する。コントローラ２０５は、特定のデータフローなどの特定のトラフィックフローに対応する１つまたは複数のポリシーを表すポリシーデータ２０６を受信するように構成される。さらに、特定のデータフローは、例えば宛て先接頭語によって識別される一定のユーザに関連付けることができる。ポリシーデータ２０６から、コントローラ２０５は性能のレベル、コストまたは特定のトラフィックが満たさなければならない稼働率を決定する。例えば、コントローラ２０５は、インバウンドネットワーク待ち時間とアウトバウンドネットワーク待ち時間、パケット損失及びネットワークジッタなどの、データフロー２０１の特定のトラフィックフローが定められた性能レベル（つまりサービスレベル）を満たしているかどうかを判断する。
【００３５】
アクティブ較正装置２０８は、変化する種類の１つまたは複数のアクティブプローブ２０７をデータネットワークの中に送信し、データネットワークから受信するために機能する。これらのプローブは、１つまたは複数の使用可能なプロバイダ（つまり、プロバイダがピアＡＳよりむしろトランジットＡＳであるかどうかを判断するために）全体で取られた経路、使用されている次のホップ（ｎｅｘｔ  ｈｏｐ−ｉｎ−ｕｓｅ）、及び他のネットワークパラメータを含むネットワーク性能を測定するように設計される。アクティブ較正装置２０８を起動するために、コントローラ２０５はアクティブプローブ要求２０９をアクティブ較正装置２０８に送信する。コントローラ２０５が、代替経路またはネットワークシステム特性に関する追加の情報が、反応フロー制御システムでさらによくポリシーを施行するために必要であると判断する場合にこのような要求が必要とされる。代わりに、このような要求が、最適化されたフロー制御システムでのこのようなポリシー違反の発生を妨げるために必要とされる場合がある。
【００３６】
使用量コレクタ２１４は、１つまたは複数のネットワークプロバイダ構成を表現するＮＳＰデータ２１７を受信するように構成される。一般的には、このような構成は各プロバイダと関連する経路（「パイプ」）の数及びそのサイズを含む。さらに、ＮＳＰデータ２１７は、プロバイダのコストまたは料金請求書作成発行構造に関係し、各プロバイダのアドレスの関連する集合または部分集合、各プロバイダの料金請求書作成発行方法（つまり、毎分あたりバイト等）等を含むこともできる。さらに、使用量コレクタ２１４はスイッチ、ボーダルータ、プロバイダギア、及びデータネットワーク上でデータを移送するために使用される他のデバイスなどのネットワーク要素から使用量情報２１３を収集するように構成される。使用量コレクタ２１４は、ＮＳＰデータ２１７と使用量情報２１３に基づいた集計データを表すプロバイダ稼働率と料金請求書作成発行の情報２１５をコントローラ２０５に提供するように構成される。稼働率と料金請求書作成発行の情報２１５は、当該のネットワークサービスプロバイダごとにコスト、料金請求書作成発行、稼働率等を表すデータを含む。
【００３７】
普通の技術の熟練者は、ＮＳＰデータ２１７が多岐に渡る方法で使用量コレクタ２１４に提供できることを理解しなければならない。例えば、データはデータフローにより使用されるデータ経路によって提供できる、あるいはそのようにする権利を有するエンティティによって提供でき、このようなネットワークエンジニアは図１Ｅのソースネットワーク９４のコンピューティング装置に該データを入力する。
【００３８】
さらに、使用量コレクタ２１４は、ＮＳＰのデータトラフィック容量、コスト等を定義する使用量特性を監視するように構成される。使用量コレクタ２１４に提供される使用量情報２１３は、スイッチ、ボーダルータ、ルータ、プロバイダギア、及びデータネットワーク上でデータを移送するために使用される他のデバイスなどのネットワーク要素からの使用量特性を含む。使用量は、例えば、各ネットワークサービスプロバイダの負荷及び使用可能な容量を定義する特性（つまり使用量特性）の瞬時またはほぼ瞬時の測定値を表す（時間（０）でのＸ  Ｍｂサンプルなどの未処理データ）データを指す。「ここで使用されるように、稼働率」は使用率（つまり、経時的な使用量の変化）である。例えば、ＮＳＰ１を監視している使用量コレクタがその稼働率、つまり経時的な容量を時間（０）でのＳ  ＭＢ及び時間（１）でのＹ  Ｍｂとして測定すると仮定する。この未処理データ、つまり使用量は、稼働率、つまりＮＳＰ１についての使用率を計算する（例えば、Ｙ−Ｘ／時間（１）−時間（０））ために使用される。帯域幅は、経路またはトラフィックフローに使用可能な経路のセグメントごとの総容量である。ある実施形態では、使用量は、第１のポイントから任意の数のホップまたはネットワークでの任意の経路の任意のセグメントで測定できる。負荷は、通常、データトラフィックを搬送するために使用される特定の経路の容量の量を定義し、負荷／帯域幅として表すことができる。
【００３９】
使用量コレクタ２１４は、使用量情報１２１３とＮＳＰデータ２１７に基づいて稼働率と料金請求書作成発行情報２１５を生成するように設計されている。プロバイダのそれぞれが、使用量コストを決定するための方法だけではなく、異なるコストと料金請求書作成発行構造を有しているため、使用量コレクタ２１４はコントローラ２０５に稼働率と料金請求書作成発行情報２１５を与えるために相応して使用量情報２１３を集計するために動作する。
【００４０】
使用量コレクタ２１４は、次に、当該のネットワークサービスプロバイダごとに稼働率料金請求書作成発行情報２１５をコレクタ２０５に提供する。普通の技術の熟練者は、使用量コレクタが、ルート制御をさらに上手に達成するために必要に応じて、プロバイダ使用量情報に基づいて追加情報をコントローラに提供できることを理解する必要がある。
【００４１】
コントローラ２０５は、パッシブ較正装置２０３、アクティブ較正装置２０８、使用量コレクタ２１４、及びオプションでトラフィックレポジトリ２２１のそれぞれから情報（つまり、集計された性能と使用量特性）を収集する。収集された情報に基づいて、コントローラ２０５は、コントローラ２０５に伝達されるポリシーデータ２０６により表される情報に関してポリシー違反を最もよく緩和する行動計画を決定する。いったん行動計画が決定されたら、コントローラ２０５はネットワークルーティング変更要求２１２を開始し、構成要素２１１に送信する。特定の実施形態では、コントローラ２０５は、ポリシー違反を解決するために使用できる１つまたは複数の代替データ経路を表すデータも提供する。
【００４２】
構成要素２１１は、データディレクタ２２０にネットワーク内のルーティング変更を伝達するように設計される。いったん構成要素２１１が１つまたは複数のルーティング変更を送信すると、データディレクタ２２０は次に現在の経路から別の経路（例えば、ＮＳＰ１からＮＳＰｎに、またはＮＳＰ１の第１の経路からＮＳＰ１の第２の経路）にデータフロー２０１を移動する。このようにしてデータディレクタ２２０は、例えばコスト及び各リンク全体で測定される性能に基づいて複数のＮＳＰリンク全体でこれらの宛て先へのトラフィックを分散するために動作する。
【００４３】
運転中、構成要素２１１は、例えばＢＧＰなどのルーティングプロトコルを使用することにより、データディレクタ２２０と、１つまたは複数のルーティング変更２１０を通信する。構成要素２１１は、データディレクタ２２０を通過するトラフィックのソースアドレスを修正することによってルーティング動作を動的に制御するために機能する。ソースアドレスは、コスト要件だけではなくアプリケーション性能も改善するように修正される。
【００４４】
以下の説明は、例示的な制御システム２００の要素のそれぞれのさらに多くの説明である。アクティブ較正装置２０８を参照し直すと、アクティブ較正装置２０８は、下流経路または上流経路の性質を決定するためにシステム２００内でアクティブな機構を提供する。この情報は、通常、インターネットなどのデータネットワーク上で使用される任意の従来のプロトコルでは使用できず、通常のプロセスネットワーキングの外部で収集されなければならない。図２に示されているように、アクティブ較正装置２０８は、最小性能レベルなどのポリシー要件を満たしていない少なくとも１つの宛て先接頭語を提供するためにコントローラ２０５に結合される。いったん受信されると、アクティブ較正装置２０８は、次に、性能レベルだけではなく宛て先アドレスに対する使用可能なネットワーク経路の大部分またはすべてを決定する較正プロセスを開始する。コントローラ２０５は、施行または補正を必要とする特定のポリシーに基づいて、アクティブ較正装置２０８が使用することになる最も適切なプローブを選択し、それ以後アクティブ較正装置２０８を使用してネットワーク経路のアクティブな厳密な調査を開始するように設計される。
【００４５】
ある実施形態では、アクティブな較正プローブがプローブ経路２０７を介して使用可能なネットワークまたはインターネット経路に伝達される。戻る側のアクティブな較正プローブはプローブ経路２０７を介してアクティブ較正装置２０８に入る。アクティブ較正装置は、次にプローブ情報２０９を、代替使用可能経路を含む性能情報を含むコントローラ２０５に転送する。コントローラ２０５は、次に、主題のトラフィックフローと関連するポリシーの詳細を最善に施行する方法を決定する。例示的なアクティブ較正装置２０８は、例えば長期統計を提供するためにアクティブ較正機構を利用する。
【００４６】
本発明の別の実施形態では、アクティブ較正装置２０８はコントローラ２０５内のデータディレクタ２２０に常駐するか、あるいは代わりにコントローラ２０５に統合できる。本発明を実践するために適切な市販されているルータの複数の独占インプリメンテーションがある。適切なアクティブプローブの１つの例はＲＭＯＮプローブである。シスコのシステムは、アクティブプローブを送出するために遠隔操作（「ＲＭＯＮ」）プローブから派生するサービス保証エージェント（「ＳＡＡ」）を使用する。ＳＡＡにより、ルータはネットワーク発のアプリケーション往復時間を測定、報告できる。後述されるあらゆるプー部がネットワーク較正に使用できるわけではないが、当業者は、以下のそれぞれが本発明の１つまたは複数の実施形態を実践するためにどのようにして実現される可能性があるのかを理解するだろう。
【００４７】
例示的なアクティブ較正装置２０８は、ＩＣＭＰ（インターネット制御メッセージプロトコル）エコー要求または他のピーンと音を出す（ｐｉｎｇ）型のプローブ、軽量ＴＣＰベースプローブ、スティング（Ｓｔｉｎｇ）プローブ、「ｐａｔｈｃｈａｒ」プローブ、ユーザデータグラムプロトコル（「ＵＤＰ」）パケットを所定のＴＴＬ（生きる時間）とともに使用する軽量プローブ、ｔｒａｃｅｒｏｕｔｅプローブ、または本発明に従ってアクティブな較正装置２０８による使用に適している他のアクティブプローブを使用できる。
【００４８】
図２のアクティブ較正装置２０８により受信し直されるこれらのプローブはそれらのソースアドレス単位で送出される。このようなプローブはすべて、例えばローカルな施設内に常駐する例示的なｓｔａｔｓコンピュータシステムで、またはルータ上のｓｔａｔｓプロセスとして調達、受信される。別の実施形態では、アクティブな較正装置及びプローブのその使用は米国特許出願番号第０９／８３３，２１９号及び代理人明細書番号第０２１０８９−０００１００ＵＳ号を有し、２００１年４月１０日に提出された「インテリジェントルーティングによりネットワークサービスレベルを保証するためのシステム及び方法（Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｔｏ  Ａｓｓｕｒｅ  Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌｓ  ｗｉｔｈ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｒｏｕｔｉｎｇ）」と題され、すべての目的のために引用例として本明細書に取り込まれる米国特許出願に説明されているプローブに従って動作する。
【００４９】
図２の例示的なパッシブ較正装置２０３は、カスタマネットワークトラフィックまたはインターネットトラフィックなどのネットワーク通信データ２０１を妨害せずに受信するように構成される。パッシブ較正装置２０３により監視されるようなネットワーク通信データ経路２０１（つまりＩＰデータトラフィック）は、データディレクタ２２０からパッシブ較正要素２０３に提供されるデータトラフィックのデフォルトの、あるいは現在転送されている経路を含む。現在転送されている経路は、例えばパケットが、標準的なルーティングプロトコルにより決定されるように取るだろうルータ間の経路（例えば、ホップ単位）である。パッシブ較正装置２０３は（つまり、電気的に、光学的に、または電波によって等）コントローラ２０５に結合され、特定のＩＰデータトラフィックがフローポリシーにより決定されるような許容できる性能測定基準範囲内にあるかどうかを示す情報を提供する。パッシブ較正装置２０３は、データフロー２０２を介して受信されるすべてのトラフィックを瞬間的に監視するために動作し、図１Ｄに関して図示されるようにＥＭＣＰなどのアクティブトラフィック分析だけに依存するという複雑な状態を克服するように設計されている。コントローラがポリシー違反に対処すると、例えば、パッシブ較正装置２０３はマルチパス（例えばＥＣＭＰ）が存在する場合にアクティブトラフィック分析だけを実行するという困難な状況を克服するために動作する。
【００５０】
本発明の別の実施形態では、パッシブ較正装置２０３が両方向（つまり、入口と出口）でのトラフィックストリームを検査し、フローの中へのトラフィックストリームのそれぞれを分類する。トラフィックフローは経時的に根本的なプロトコル状態（例えばＴＣＰセッションに関してなど）に従ってパッシブ較正装置２０３内で監視される。例えば、パッシブ較正装置２０３は往復待ち時間、失われたパケットのパーセンテージ、及びトラフィックルートまたはフローごとのジッタに従ってトラフィックフローを分類する。このようなトラフィックルート情報は、流量を含むトラフィックフローを搬送する経路の「エンドツーエンド」性能を特徴付けるために使用され、一連のネットワーク接頭語に集計される。
【００５１】
前述されたように、パッシブ較正装置２０３は、トラフィックレポジトリ２２１（コネクションは図示せず）に記憶されるトラフィック情報とルート情報を記憶、フェッチ、及び更新するために結合される。例示的なトラフィックレポジトリ２２１は、例えばネットワークサービスプロバイダの運用者だけではなく、図２のシステム２００などのフロー制御システムをリ移用するエンドユーザに有効であるトラフィック情報とルート情報をあらわすデータを記憶し、維持するように構成されるデータベースである。トラフィックレポジトリ２２１内のデータはトラフィックについての長期的な統計を含んでいる。これらの統計は、分析の目的を報告し、本発明によるフロー制御システムのユーザに一般的なフィードバックを与えるために使用されるだろう。
【００５２】
このようなフィードバックは、例えば、送信されているトラフィック、ソースアドレス、宛て先アドレス、アプリケーション、（差別化された料金請求書作成発行システムに統合される可能性のある）ＴｏＳまたはＤＳＣＰ（「ＤｉｆｆＳｅｒｖコードポイント」）設定値により送信されるトラフィック、及びトラフィックの量から成り立つ。これらの統計は、例えばレポートエンジンまたはなんらかの他の分析プロセスがそれらにアクセスするトラフィックレポジトリ２２１の中に送られる。トラフィックレポジトリ２２１に記憶される情報は、当業者に理解されるように任意の適切なデータ構造に配列されるこのようなトラフィックルート特性を表すデータである。
【００５３】
図３は、本発明の実施形態によるパッシブ較正装置３０３の例示的な要素を示す詳細な機能ブロック図である。パッシブ較正装置３０３は、例えば、パッシブフローアナライザ３３０、エクスポートフローアナライザ３３１、及びコンテンツアナライザ３３２を含む。
【００５４】
ある実施形態では、パッシブフローアナライザ３３０が現在のトラフィックフロー特性を監視するためにトラフィックに関してパッシブ分析を実行するため、コントローラは、監視されている現在のトラフィックフローが関連するポリシー要件を満たすかどうかを判断できる。エクスポートフローアナライザ３３１は、トラフィックタイプ、ソースアドレスと宛て先アドレス、及びそれがサービスプロバイダリンク全体で移動するトラフィックに関係する他の情報を広告するそれらのデバイス（例えばルータ）からなど、ネットワークデバイスからエクスポートされたフローレコードに関してパッシブ的な分析を実行する。このようなネットワークデバイスの一例がシスコのネットフロー（登録商標）（Ｎｅｔｆｌｏｗ）製品である。別の実施形態では、パッシブフローアナライザ３３０が、前述された米国特許出願番号第０９／８３３，２１９号に説明されるパッシブフローアナライザに従って動作する。
【００５５】
コンテンツフローアナライザ３３２は、ウェブサイトコンテンツなどのデータコンテンツの特定の要素のパッシブ分析を実行する。エクスポートフローアナライザ３３１及びコンテンツフローアナライザ３３２は特定のユーザのポリシーに関連付けられている関連接頭語の集合つまり接頭語リスト３３４を決定する。接頭語リスト３３４は、このような接頭語を表すデータとしてコントローラ内のアクティブな検出プロセスに送信される。接頭語リスト３３４は、接頭語リスト３３４は、１つまたは複数のリスト、つまり性能及び使用量特性を表すデータを記憶するように較正されるデータ構造である場合があり、例えばコントローラによる照会を受け取るように設計されている。いったん照会されると、パッシブフローアナライザは、どのルートまたは経路がフローポリシーに従っているのか、どの経路がデータを転送するために最適な経路であるのか等を決定するために、該１つまたは複数の接頭語リスト、またはその部分を、ポリシー違反を決定する上で使用するためのコントローラに提供する。例示的な接頭語リストは、パッシブフローアナライザ３３０だけではなく、エクスポートフローアナライザ３３１及びコンテンツフローアナライザ３３２によっても生成できる。
【００５６】
図１７は、ここに説明されている接頭語リストの１つまたは複数に備えるために適切な例示的なデータ構造１９００を示す。データ構造、つまりリスト１９００は各アドレス（例えば宛て先）に関連する多くのレコード１９１０または可変粒度の接頭語とともに多くのＩＰアドレス１９２０を含む。各レコード１９１０はアドレス１９２０（つまり接頭語）、期間１９３０中の多くの発生、サンプリングされたバイトの数１９４０、サンプリングが発生した時間間隔（Δｔ）１９５０、新規接頭語フラグ１９６０（１が新しい接頭語を表し、０が旧い接頭語を表す）等を含む。
【００５７】
リスト１９７０は、アドレス１９２０つまり接頭語ごとに集計フロー情報を含む。例えば、レコード１９７５は以下のデータを含む。アドレス１．２．４．７の場合、このアドレスはサンプリング時間間隔（Δｔ）ｔの間に４回監視され、総流量は３６０バイトである。新規接頭語フラグがセットされたレコード１９９０での場合（つまり、このアドレスが始めて監視されたとき）、新規接頭語リスト１９８０は、（Δｔ）ｔ間隔で１回の発生（初回）を有するアドレス１．２．４．９を含む。技術野普通の熟練者は、他の関連データが監視されてよく、リスト１９００に記憶できることを理解する必要がある。さらに、アドレス、発生、バイト数、時間間隔等を表すデータは、コントローラがそれを容易に入手できる方法でデータを操作するために使用できる。
【００５８】
例えば、リスト１９２０の中に記憶されるデータは、アドレスつまり接頭語に従って集計またはグループ化できる。図１７に図示されるように、集計リスト１９９５は１．２．４Ｘに対応するアドレスのグループを含む。例えば、集計アドレスのレコード１９９７は、アドレスの集合体が時間間隔中に５回監視され、５４０バイトの総量を有したことを示すデータを含んでいる。技術の普通の熟練者は、アドレスつまり接頭語が多くの方法でグループ化または集計できることを理解する必要がある。
【００５９】
エクスポートフローアナライザ３３１及びコンテンツフローアナライザ３３２も、過去に見たことがない接頭語が接頭語リスト３３４に追加されたときにコントローラ２０５に通知するように構成されている。新規接頭語通知信号３３５により、制御要素１００５はこの接頭語について新しい基準性能を確立し、必要に応じてルーティングテーブルに非デフォルトルート、つまり代替ルート（つまり非ＢＧＰ）を与える。ある実施形態では、エクスポートフローアナライザ３３１及びコンテンツフローアナライザ３３２が性能特性の監視に備える。
【００６０】
コンテンツフローアナライザ３３２は、通常、トラフィックフロー３４０のメインソースがウェブサイトまたは他のコンテンツであるときに使用される。コンテンツソース３４１は、最適化されなければならない特殊なまたは高級なコンテンツ３４２が、例えば埋め込まれたＵＲＬ３４３を使用することによりフロー制御システムによって識別できるように構成することができる。ＵＲＬ３４３は、コンテンツフローアナライザ３３２上で実行中の小さなコンテンツサーバにクライアントを向け直す。コンテンツフローアナライザ３３２は、通常は小さな画像ファイル（例えば、１×１  ＧＩＦ）であり、メインのオリジナルコンテンツに関して非可視である、あるいは感知できない該小さなコンテンツ要素に対する要求を受け取リ、該小さなコンテンツ要素３４４でクライアントに応える。コンテンツフローアナライザ３３２は、このトランザクションを記憶する、またはログして、これらのログを使用することによって、コンテンツフローアナライザ３３２は集計を実行し、コンテンツ接頭語リスト３３４をアセンブルすることができる。リスト３３４は、例えばアクティブサービスレベル監視及びポリシー施行のために、コントローラ２０５に渡される。
【００６１】
図４は例示的なコンテンツフローアナライザ４３２の機能ブロック図を描いている。コンテンツフローアナライザ４３２は、例えば結果として生じるページ上で（感知できない必要はないが）感知できない１×１ピクセル画像ファイルであるコンテンツの小さな要素に対する要求４２０を処理する。該小さな要素はコンテンツのより大きなセットの高級なまたは一般的に特定のページに関連付けられている。該小さな要素は、例えばコンテンツの中に埋め込まれた小さなリダイレクトＵＲＬである。
【００６２】
小さなリダイレクトＵＲＬは、コンテンツの小さな要素に応えてＨＴＴＰ要求４２０を生成する働きをする。コンテンツフローアナライザ４３２はこの要求４２０を見て、例えば軽量ＨＴＴＰサーバ４５３でそれに応答する４２２。このサーバは高速且つ軽量であり、画像ファイルで応答する以外何もしない。軽量ウェブサーバ４５３はウェブページを要求するクライアントのＩＰアドレスをログし、該１つまたは複数のアドレスをアグレゲータ（ａｇｇｒｅｇａｔｏｒ）４５４に送る。アグレゲータ４５４は、個々のＩＰ要素４２４を変化する粒度（例えば、／８から／３２）の接頭語に統合する、つまり照合し、各接頭語がある時間間隔で見られる頻度を集計する。
【００６３】
すなわち、アグレゲータ４５４はその発生頻度に従って接頭語を分類し、接頭語リストジェネレータ４５５に集計した（つまりグループ化した）接頭語４２６を提供する。接頭語リストジェネレータ４５５は、例えば、集計またはグループ化された接頭語４２６により定義されるようにシステムの全体的な動作に関する接頭語の重要性に従って宛て先接頭語リスト４２８を作成する。例えば、それぞれの監視されたトラフィックフローは、宛て先接頭語つまりアドレスと関連する性能特性を決定するために調べられる。
【００６４】
集まった接頭語４２６は、通常、フロー頻度、及び平均流量または総流量の観点から分類される。接頭語リストジェネレータ４５５は図２のコントローラ２０５に対し現在の接頭語リスト４２８に対する更新を送り、新規接頭語が認められると新規接頭語通知信号４３２でシステムの他の要素に通知する。接頭語リストジェネレータ４５５は、報告及び分析の目的で接頭語情報４３０を固定記憶域に記憶する。新規接頭語は、ある特定の時点まで道であった追加の代わりの経路または経路セグメントを提供する。新規接頭語に関連付けられた新規代替経路または経路セグメントはフローポリシー準拠に備え、このようにしてポリシー違反を未然に防ぐためにデータのルーティングを転送し直すまたは改変するために使用できる。
【００６５】
図３を参照し直すと、エクスポートフローアナライザ３３１は、アナライザ３３１によって使用可能なフォーマットでフロー情報をエクスポート（つまり通信）できるネットワーク要素に連動して動作する。１つの例示的なフォーマットはシスコのネットフロー（登録商標）エクスポートフォーマットである。また、ルータ３４５または層２スイッチなどのフロー情報をエクスポートするように設計された任意のネットワーク要素は、このようにしてそれが処理しているトラフィックをパッシブ的に監視するように構成され、エクスポートレコード３４６をエクスポートフローアナライザ３３１に転送する。エクスポートフローアナライザ３３１は、エクスポートフローレコード３４６を処理するために機能し、フローを接頭語要素に集計し、接頭語リスト３３４を作成する。接頭語リストは、通常、フロー制御システムにより観察されるすべての接頭語の部分集合である。接頭語は、観察期間での流量とフロー頻度に基づいてすべての接頭語から選択される。該選択された接頭語は、次に、例えば図２のコントローラ２０５に渡されたリストの前の接頭語リスト３３４に入れられる。
【００６６】
図５は、例示的なエクスポートフローアナライザ５３１の機能ブロック図を描いている。エクスポートフローアナライザ５３１はフォーマットインタプリタ５４９、パーサ５５０及び接頭語リストジェネレータ５５２を含む。フォーマットインタプリタ５４９は、それらを送信するように設計されたネットワーク要素からエクスポートフローデータグラム５２０を受信するように構成される。フォーマットインタプリタ５４９は、次に個々のフロー情報５２２をパーサ５５０に通信する。パーサ５５０は、パッシブ較正装置により監視されるフローから宛て先ＩＰ要素を解釈するために動作する。パーサ５５０は、例えば宛て先アドレスのフロー頻度だけではなく総流量または輸送率（例えば、バイト／時間単位の）にも従ってトラフィックフローを集計要素に集計する。その後、パーサ５５０は集計要素５４２をアグレゲータ５５１に送信する。アグレゲータ５５１は、次に接頭語レベルの宛て先情報５２６（つまり、集計接頭語量と周波数）を（例えば、／８から／３２までの）多岐に渡る接頭語粒度で生成する。言い換えると、アグレゲータ５５１は、周波数、セッションまたは特定の接頭語及び観察される時間間隔でのその接頭語に関係する発生の合計量を決定する。
【００６７】
宛て先接頭語リスト５２８は、例えば相対的重要度の順序で接頭語に関係するトラフィックフロー特性を分類し、編成することにより、接頭語リストジェネレータ５５２によって作成される。リスト５２８は、接頭語リスト５２８の集合体を表すデータを含み、ポリシー施行を確実にするためにシステムまたはエンティティにより決定されるように他の接頭語を基準にして編成される。例えば、１つまたは複数の接頭語は、全体的なシステムが使用できる他の接頭語に関してフロー頻度及び平均流量または総流量の観点で並べることができる。接頭語リストジェネレータ５５２は、現在の接頭語リストに対する更新を図２のコントローラ２０５に送り、新規接頭語が認められると新規接頭語通知信号５３２を介してシステムの他の要素にも知らせる。接頭語リストジェネレータ５５２は、報告及び分析の目的ですべての接頭語情報５３０を固定記憶域に記憶する。
【００６８】
図６は、図３の例示的なパッシブフローアナライザ６３０の機能ブロック図を描いている。ある実施形態では、パッシブフローアナライザ６３０は接頭語リスト６３４と新規接頭語通知信号６３５を作成するように設計されており、関連する特性にグループ化されたネットワーク性能と使用量統計を含む集計されたフローデータ６３０を生成する。例えば、経時的に観察されるように最高トラフィック量から最低トラフィック量に、特定のサイズの接頭語を集計する、あるいはグループ化することができる。集計されたフローデータ６８０はコントローラ６０５に通信され、現在のトラフィックフローが指定された宛て先のための関連付けられたフローポリシーに違反しているのか、あるいは準拠できないのかを判断するためにコントローラにより使用される。パッシブフローアナライザ６３０は集計されたフローデータ６８０を、それが履歴ルート及びトラフィックフロー性能を特徴付けるために使用できるトラフィックレポジトリ６２１に記憶するためにも機能する。本発明の別の実施形態では、図６の接頭語リストジェネレータはパッシブフローアナライザに含まれていない。
【００６９】
パッシブフローアナライザ６３０は、トラフィックについてネットワーク性能を監視するために、図２に図示されるようにパッシブネットワークタップまたはスパンスイッチポートを介してトラフィック６０２のコピーを使用する。また、パッシブフローアナライザ６３０は、非周期的なトラフィックフロー等のような異常な動作の検出のためにトラフィクパターンを監視し、特徴付ける。パッシブフローアナライザ６３０は、問題のアプリケーションの通常のＵＤＰ動作を学習し、理解するために多様なニューラルネットワーク技法を使用し、その動作がいつ変化したのかを示し、おそらく周知のアクティブプローブ技法で検証または説明できるサービスレベル違反を示すことができる。
【００７０】
さらにパッシブフローアナライザ６３０は、特定のトラフィックフローのそれぞれがどのように分類されるのかに従って「アプリケーション認識」であるように設計されている。トラフィックは、前述された米国特許出願番号第０９／８３３，２１９号に説明されている分類子に従って分類できる。すなわち、パッシブフローアナライザ６３０はトラフィック６０２の各パケットのペイロードを検査し、例えばボイスオーバＩＰ（「ＶｏｉＰ」）用のリアルタイムトランスポート制御プロトコル（「ＲＴＣＰ」）の捕捉及び解釈など、特定のネットワークアプリケーションの性能及び動作を解釈できる。
【００７１】
図６では、パッシブフローアナライザ３３０は、パケット捕捉エンジン６５０、パケットパーサ６５１、相関エンジン６５２、及びアグレゲータ６５３を含む。パケット捕捉エンジン６５０はネットワークに入ってくる、及びネットワークから出て行くトラフィック（例えばＩＰデータトラフィック）を受信するように構成されたパッシブ受信機である。トラフィックの捕捉は、トラフィック分析を容易にするために、及び現在のトラフィックルートが最小サービスレベルまたはポリシー要件を満たすかどうかを判断するために使用される。パケット捕捉エンジン６５０は、ネットワークを離れるパケットとネットワークに入るパケットを含む、１個のパケット、数個のパケット、またはすべてのパケットをトラフィックストリームから削除するように設計されている。パケット捕捉エンジン２５０は、カスタムネットワークドライバを書き込み、パケットの部分を捕捉することによって、例えば、カーネル内のネットワークドライバからユーザ空間の中に特定のパケットを削除するために動作する。ＤＭＡを使用すると、コンピュータのＣＰＵを使用しなくても、部分的なパケットをユーザ空間の中に直接的にコピーすることができる。このようなパケットは、通常、それらが細くされる前に１つまたは複数のフィルタに従って削除される。このようなフィルタ及びその使用は技術で周知であり、例えば、すべての種類のＴＣＰトラフィック、特定のアドレスの１つまたは複数の範囲、あるいはソースアドレスまたは宛て先アドレス、プロトコル、パケットサイズまたはデータ一致などの任意の組み合わせを削除するように設計することができる。複数の共通ライブラリがこの機能を実行するために存在し、最も一般的なのが「ｌｉｂｐｃａｐ」である。Ｌｉｂｐｃａｐはローレンスバークレーナショナルラボラトリー（Ｌａｗｒｅｎｃｅ  Ｂｅｒｋｅｌｅｙ  Ｎａｔｉｏｎａｌ  Ｌａｂｏｒａｔｏｒｙ）で作成されるパケット捕捉用のシステムと無関係なインタフェースである。バークレーパケットフィルタ（Ｂｅｒｋｅｌｅｙ  Ｐａｃｋｅｔ  Ｆｉｌｔｅｒ）は、このような捕捉プログラムの別の例である。
【００７２】
パーサ６５１は捕捉された未処理パケットを受信するために結合され、パケットを破壊し、トラフィックフロー内のそれぞれからパケットについて特定的な情報を取り出すために動作する。例示的なパーサ６５１はＩＰヘッダとＴＣＰヘッダから情報を抽出する。このようなＩＰヘッダから抽出された情報はソースＩＰアドレスと宛て先ＩＰアドレス、ＴｏＳ（つまり「サービスの種別」）ビットで符号化されたＤＳＣＰ情報等を含む。ＤＳＣＰはＩＰパケットＱｏＳ要件についての情報を搬送する。各ＤＳＣＰはトラフィッククラスのホップ単位動作（Ｐｅｒ  Ｈｏｐ  Ｂｅｈａｖｉｏｒ）を定義する。ＤｉｆｆＳｅｒｖは、それが６４種別の異なる種別のトラフィック分類を定義できるように６４個のコードポイントを有する。ＴＣＰヘッダ情報はソースポート番号と宛て先ポート番号、シーケンス番号、ＡＣＫ番号、ＴＣＰフラグ（ＳＹＮ、ＡＣＫ、ＦＩＮ等）、ウィンドウサイズ等を含む。
【００７３】
ＴＣＰヘッダから構文解析されたＴＣＰ要素は、ポリシーが施行されているかどうかを、性能という観点で判断する上で特に有効である。しかしながら、増加するトラフィック量はＴＣＰに依存せず、代わりにＵＤＰを使用する。ＵＤＰは従来のアプローチに従ってサービスレベルを決定するために必要な情報を含んでいない。
【００７４】
これらの宛て先に対するサービスレベルを決定するために、本発明は同じ接頭語または同じ宛て先への一連のアクティブプローブに移動する付帯ＴＣＰトラフィックの統計的に関連する量を利用するか、あるいはアナライザにパケットのさらに深くまで構文解析させ、アプリケーション層（例えば層７）でトラフィックを理解させる可能性がある。ネットワーク上の大部分の他のデータトラフィックとは異なる非常に特定的な要件を有するＵＤＰ上で実行しているいくつかのプロトコルがある。これらのプロトコルは「リアルタイム」プロトコルとして大まかに分類され、ストリーミング媒体とボイスオーバＩＰ（「Ｈ．３２３」）のようなものも含む。一定のレベルに満たないパケット損失と待ち時間はリアルタイムプロトコルにとって二次的な懸念である。
【００７５】
しかしながら、最も重要なのは、パケット間到達時間の食い違い（つまりネットワークジッタ）を削減することである。Ｈ．３２３などの多くのリアルタイムプロトコルは、ＩＰマルチキャストを介してフィードバックとともに時間依存型媒体データを分散するために使用されるＲＴＣＰ（「リアルタイムトランスポート制御プロトコル」）として知られているバックチャネル通信で観察されたジッタを報告する。図３のパッシブフローアナライザ６３０が「アプリケーション認識」である場合、それはＲＴＣＰのコンテンツを捕捉、観察し、根本的な経路が最小ジッタ要件を満たしていないときに認識することができる。これは３０％のパケット損失がトリガするのと同じようにＳＬＡ違反をトリガできるだろう。
【００７６】
相関器６５２は、フローの現在のサービスレベルを決定するためにパケットからパケット要素（例えば、ＴＣＰとＩＰ）を解釈し、グループ化するために動作し、次にパケットを特定のトラフィックフローにグループ化する。フローは、ファイアウォールのステートフル（ｓｔａｔｅｆｕｌ）監視のプロセスと同様に、ソースＩＰアドレスと宛て先ＩＰアドレスを一致させることにより再構築またはグループ化される。相関器２５２はＴＣＰトランザクション中に複数のトラフィック特性を測定することにより現在のサービスレベルを決定する。例えば、相関器２５２はネットワークで被られる往復時間（「ＲＴＴ」）を決定し、これがネットワークトラフィックのための待ち時間の基準としての役割を果たす。
【００７７】
図７は、ソース（例えば、ソースアドレスを持つクライアント）の近くに設置された図６のパッシブフローアナライザ６３０の相関器６５２がどのようにしてＴＣＰトラフィックストリームのネットワーク待ち時間（「ＮＬ」）とサーバ応答時間（「ＳＲＴ」）を決定できるのかを示している。図８は、宛て先（例えば、宛て先アドレスを有するサーバ）の近くに設置された図６のパッシブフローアナライザ６３０が、どのようにしてネットワーク待ち時間（「ＮＬ」）及びＴＣＰトラフィックストリームのサーバ応答時間（「ＳＲＴ」）を決定できるのかを示している。
【００７８】
図６の相関器６５２は、例えば、ＴＣＰ  ＳＹＮパケットとその対応するＴＣＰ  ＳＹＮＡＣＫパケットの間の時間の図７の差異７９１を推定することによりＮＬを決定する。ＳＹＮとＳＹＮ  ＡＣＫ７９１の間の時間の差異は、サーバがＳＹＮに応答するのに要する少量の時間を除くＲＴＴの大まかな推定である。ＳＹＮ  ＡＣＫパケットは大部分のオペレーティングシステムのカーネルで処理され、通常、ゼロに近いと仮定される。ソースから開始される新規ＴＣＰストリームごとに、相関器６５２がネットワーク待ち時間の時間瞬間値を観察できる。
【００７９】
パケット損失は、相関器６５２によって、発生する再送パケットのすべての状態を維持することにより、パーセンテージとして計算される。この値から相関器６５２は送信されたセグメントの総カウントからパーセンテージパケット損失を計算する。
【００８０】
相関器６５２は、例えばＨＴＴＰ  ＧＥＴメッセージ７９５と受信された第１のデータセグメントの間のデルタ時間（つまり、差異）７９３を推定し、次にＲＴＴの過去の値を差し引くことによって図７のＳＲＴ７９２も決定する。これは、ＲＴＴの過去の値が、ＴＣＰハンドシェークが発生してから動作可能な範囲を超えて変化していないことを仮定する。７９４により示される測定は、測定された輻輳が、ＳＲＴ７９２が相応して上昇するにつれ経路内で増大することを示している。この例の目的のために、初期のＨＴＴＰ  ＧＥＴのデータセグメントが連続して送信されることが仮定される。図７では、パッシブフローアナライザ６３０はインターネットなどのＩＰデータネットワークからコンテンツを要求するクライアントに近く（つまり、地理学的に異なる場所のために最小の、つまりごくわずかな待ち時間）配備される。
【００８１】
また、相関器６５２は、例えば、ＨＴＴＰ  ＧＥＴメッセージ８９３と第１のデータセグメント８９４間のデルタ時間を推定することによって図８のＳＲＴ８９２を決定する。図８では、図６のパッシブフローアナライザ６３０が、大部分のコンテンツ送達設備について発生するようにサーバ端部に配備される。
【００８２】
図８を参照し直すと、相関器６５２により決定されるＳＲＴ８９２は、トラフィックが横断する経路に沿ったその場所に依存している。図６のパッシブフローアナライザ６３０がクライアント側にある場合、図７のサーバ応答時間７９２は、図７に図示されるようにＧＥＴ要求の前に認められたＲＴＴを差し引いた、ＨＴＴＰ  ＧＥＴ要求メッセージと返された第１のデータセグメントの間のデルタとして推定できる。図６のパッシブフローアナライザ６３０がサーバ側により近い場合、推定は、図８に図示されるように、本来、ＧＥＴ要求と応答の間の時間のデルタである。ＴＣＰ輻輳ウィンドウ（「ｃｗｎｄ」）を使用することにより、及びサーバによって連続して送信されたセグメント間の受信時間のデルタを識別することにより輻輳推定も可能であり、ＴＣＰ輻輳ウィンドウは、ＴＣＰフローがつねにネットワーク内に有する可能性があるパケットの数を制御する。相関器６５２はアグレゲータ６５３に前記決定された例示的なフロー特性を提供するために結合される。
【００８３】
図６を参照し直すと、アグレゲータ６５３は、おもに特定の宛て先の各集合に移動するすべてのフローをグループ化するために動作する。アグレゲータ６５３は、相関器６５２から受け取られる個々のフローのそれぞれにサービスレベル統計を使用し、インターネットなどのデータネットワーク内の同じ宛て先に移動しなければならないフローの各グループ化のための複数のレベル統計の集合体を生成する。アグレゲータ６５３はこのような集計された（つまりアドレス接頭語単位でグループ架された）トラフィックフロー特性を記憶するためにトラフィック記憶装置６２１にも結合される。トラフィックフロー特性（つまりトラフィックプロファイル）は、次に、統計操作及びフロー予測のために使用される。特定の実施形態では、記憶装置６２１は図２の記憶装置２２１と同等または同じである。
【００８４】
宛て先の粒度はルーティングテーブルの中で加えることのできる変更の粒度と同じである。通常、図２のフロー制御システムは、一般的な慣行ではそのようにすることはないが、任意の長さ（つまり０／から／３２）の接頭語でルートをインストールできるだろう。したがって、アグレゲータ６５３は、／３２レベル（つまりＣクラスネットワーク）でフロー統計の集計を開始し、ｐａｔｒｉｃｉａまたは基数ｔｒｉｅなどのデータ構造、あるいは親子構造等のデータ構造の中に／８レベル（つまりＡクラスネットワーク）までずっと続行する。このようにして、サービスレベルが満たされていることを確実にするために加えられる必要があるルーティング変化の粒度を、非常に迅速に求めることが可能である。
【００８５】
アグレゲータ６５３により利用される集計技法は、１つまたは複数のフローポリシー要件により決定されるように、図２のシステム２００を許容できる性能サービスレベルに維持するために使用される。ネットワーク性能はガウス分布またはポアソン分散などの従来の統計的な分散に従わないと示されていたため、すべてのフロー全体でのサービスレベルの平均計算は、所定の間隔中の典型的な性能動作の測定値ほど信頼できない。しかしながら、サービス内容合意書（ＳＬＡ）またはポリシーが、平均サービスレベルが維持されなければならないと述べる場合には、粗末な性能の範囲外にある発生により、平均が歪められ、このようにして提供されている最小サービスレベルを復元するための補正処置を必要とする。すべてのフロー全体で提供されている典型的なサービスレベルを記述するための有意義な方法は、平均値よりむしろ中央の値を使用することである。普通の技術の熟練者が、どちらかの技法が可能であり、維持されなければならないサービスレベルの定義に依存することを理解するだろう。
【００８６】
図９は、本発明の別の実施形態に従ってパッシブフローアナライザ９３０が、どのようにして複数のネットワークインタフェース全体でパケット捕捉及びフロー再構築を行うことができるのかを描いており、各インタフェースはネットワークインタフェースカード（「ＮＩＣ」）によって表されている。実際問題として、多くのスイッチファブリックは、データストリーム内の単一の点にタッピングし、単一ポートを複製することによるように構築される。スイッチは、パッシブフローアナライザ９３０が両方向のトラフィックのすべてを見ることを保証しない。パッシブ分析のための、オプションのフロー再構築のためには双方向トラフィックが必要とされる。図９では、図示されているスイッチファブリックは（図示されているような）４つの場所にあるタップポイント９２１でパッシブ的にタッピングされ、４枚の異なるネットワークインタフェースカード（ＮＩＣ）９２２でパッシブフローアナライザ９３１に連結される。パッシブフローアナライザ９３０はフロー再構築を実行するために複数のネットワーク情報から捕捉データを収集できる単一のまたは結合された集計済みのフロー再構築要素９５３を有する。
【００８７】
図１０は、本来、図６のパッシブフローアナライザ６３０が分散されている本発明のまだ別の実施形態を描いている。図１０は複数のローカルトラフィックソースポイントを介して双方向に移動するトラフィックフロー１０２０を示している。分散された負荷パッシブ流量エージェント１０２５は、タップポイント１０２４でトラフィックフロー１０２０の中にパッシブ的にタッピングされる。パッシブフローアナライザ１０２５は、各エージェントが個々のフロー特性を監視し、伝達するように分散されている。トラフィックソースは、例えば層３のインフラ全体で分散され、１台または複数台のルータ１０２６によって分離される。この仕組みにより、図９のパッシブフローアナライザは、図９でのように同じ層２のスイッチファブリック全体で情報を収集するのを妨げられる。パッシブフローエージェント１０２５のそれぞれがローカルフロー再構築を実行してから、ネットワーク上で中央パッシブフローアナライザ１０２８にフローデータレコード１０２７をエクスポートし、分散されたパッシブフローエージェントのすべて全体でフロー集計及びサービスレベル分析を実行する。
【００８８】
図１１は、別々に分散される複数のパッシブフローエージェント１１２５、及び単一の中央パッシブフローアナライザ１１２８を描くさらに詳細な機能ブロック図を描いている。各パッシブフローエージェント１１２５は、パケット捕捉１１５０、パーサ１１５１及び相関器１１５２の機能を、ローカルトラフィックフローのそれぞれに含む。相関器１１５２は、フローレコード１１２９を中央パッシブフローアナライザ１１２８にエクスポートし、中央パッシブフローアナライザ１１２８にとってはかなりのデータ削減となる。かなりのデータ削減は、中央パッシブフローアナライザに転送される情報量を削減するために使用され、周知の符号化技法を使用することにより達成できる。中央パッシブフローアナライザ１１２８は、各パッシブフローエージェント１１２５からフローエクスポートレコード１１２９を受け入れ、中央アグレゲータ１１５３はエクスポートされたフローのそれぞれで接頭語集計を実行する。このようにして、中心に集計されるフロー情報は、特定のポリシー違反が発生しているかどうかを判断するために使用できる。
【００８９】
図１２は、図２の使用量コレクタ２１４の詳細ブロック図を示す。使用量コレクタ１２１５は、バイトカウンタ（つまり、ネットワークサービスプロバイダに送信され、ネットワークサービスプロバイダから受信されるトラフィックの量）などの、ネットワークプロバイダから使用量情報１２７３を収集するために動作する。使用量コレクタ１２１５はこの情報を使用して、プロバイダに関連付けられているデータ経路のネットワークサービスプロバイダの稼働率、負荷等を計算する。
【００９０】
使用量コレクタ１２１５は、プロバイダ料金請求書作成発行レコードを再構築するためにも動作する。使用量コレクタ１２１５は、各ネットワークサービスプロバイダ（ＮＳＰ）コネクションに関係するプロバイダ構成情報１２７１を受け入れる。このＮＳＰ構成情報１２７１は、多様なルータ１２７２（例えば出口ルータ）上でのプロバイダインタフェース、（トレースプローブとともに使用している現在のプロバイダを検証するための）プロバイダ次ホップアドレストレースルート（ｔｒａｃｅｒｏｕｔｅ）プローブ、料金請求書作成発行開始日と終了日、毎秒メガビット単位で稼働率と価格を計算するための回路帯域幅、最小帯域幅コミットメント、バースト可能レート、プロバイダサンプリング間隔、プロバイダ料金請求書作成発行アルゴリズム、稼働率警報スレッショルド等を詳説する。
【００９１】
運転中、例示的な未処理コレクタ１２７４は、照会１２９０（例えばＳＮＭＰ）を送信し、指定サンプリング間隔でインタフェース未処理バイトカウンタをプロバイダ回路のそれぞれのルータ１２７２から収集する。プロバイダ回路は、経路、パイプ、仮想または物理的、Ｔ１等を含む。未処理コレクタ１２７４は、後の報告及び分析のために未処理バイトカウンタ１２８０を固定記憶域の中に入れる。未処理コレクタ１２７４は、２つの他の構成要素、つまり稼働率モニタ１２７５と請求書再構築器（ｂｉｌｌ  ｒｅｃｏｎｓｔｒｕｃｔｏｒ）１２７６に未処理情報を送信する。
【００９２】
稼働率モニタ１２７５は、未処理バイトカウントとＮＳＰ構成情報１２７１を使用するプロバイダごとに入口と出口の回路稼働率を計算する。１つの例では、ＮＳＰ構成情報１２７１がプロバイダの回路の帯域幅を含む。稼働率情報２６４は、稼働率モニタ１２７５が、帯域幅が指定サービスプロバイダについて上昇傾向にあるのか、あるいは下降傾向にあるのか（つまりサイズが拡大するか、減少する）を決定できるように短距離予測モデル（例えば、ＡＲＩＭＡ、指数関数平滑化等）と使用するための角合う率傾向を表すデータを含んでいる。
【００９３】
請求書再構築器１２７６は、ＮＳＰ構成データ１２７１から料金請求書作成発行を使用し、現在の料金請求書作成発行期間について現在のプロバイダの請求書作成可能レートを再構築する。料金請求書作成発行情報は、特定のプロバイダが、料金請求書作成発行などのコストを計算するために使用する方法を説明する情報を含む。ネットワークプロバイダを使用するために請求書を計算するこのような方法が当業者において周知である。請求書再構築器１２７６は、未処理コレクタ１２７４から類似したプロバイダ料金請求書作成発行方法を未処理バイトカウンタに適用し、請求書と関連する料金請求書作成発行レート等を生成する。ドル額にマッピングされる作成された請求書は、プロバイダと使用量コレクタ１２１５間のサンプル時間は正確に一致しないため、典型的には推定である。請求書再構築器１２７６は、ピーク回避及び最小コストルーティングで使用するために、料金請求書作成発行情報１２６１をコントローラ１２０２に送る。ピーク回避は、図１５に示されるように、さらに高い料金請求書作成発行レートで経路または経路セグメントを使用することを回避する方法として定義される。最小コストルーティングは、最も安価なプロバイダに対するトラフィックを使用するあるいはデフォルトする方法を指す。
【００９４】
さらに、性能が重大ではない場合に最も安価を選択する最小コスト固定方法で使用するためのコントローラ１２０２に送信できる。すなわち、コントローラ１２０２は、料金請求書作成発行レートを含む料金請求書作成発行メッセージ１２６１からのデータを使用し、フローポリシーに従って、ルートの自由な帯域幅（つまり、ルートは追加使用コストを被らない）に部分的に基づいて代替ルートを決定する。
【００９５】
図２を参照し直すと、構成要素２１１がコントローラ２０５とデータディレクタ２２０に結合されている。コントローラ２０５は、宛て先接頭語に到達するための最良のルートを構成要素２１１に提供する。構成要素２１１は、是正処置を必要とする宛て先についてデフォルトのルーティング動作（つまり現在の経路）を変更するために動作する。構成要素２１１は、アドレスの修正されたルーティングテーブルをデータディレクタ２２０に送信することによってルーティング動作を変更する。
【００９６】
いったんデータディレクタ２２０がこの情報を受信すると、ディレクタ２２０はコントローラ２０５に、ルート変更が実現されたこあとを知らせる。それ以後、コントローラ２０５は、その状態をクリアし、宛て先の監視を再開するためにパッシブ較正装置２０２に信号２３０を戻す。宛て先は、ルーティングテーブルの更新されたルート、つまり経路が最小サービスレベル（例えば、ＳＬＡの違反なし、関連フローポリシーによって定義されるように合意された性能測定基準からの受け入れがたい偏差なし）を満たしていることを確実にするために監視されている。
【００９７】
ある態様では、構成要素２１１はルートサーバに常駐する。別の態様では、構成要素２１１がルータに常駐し、ルートマップまたはテーブルを修正しようと構成される。さらに別の態様では、構成要素２１１が構成情報つまりルーティングテーブルを提供するように適応される。さらに別の態様では、それがインバウンドトラフィックに関係しているのか、あるいはアウトバウンドトラフィックに関連しているのかに応じて、ルート情報は構成要素２１１内に記憶される。
【００９８】
図１３は本発明のさらに別の実施形態の一例を示し、図２の構成要素２１１がルートサーバ１３９１などのネットワーク要素に常駐する。図１３の構成要素１３８４はここに説明されている構成要素の他の適応に類似して動作する。すなわち、構成要素１３８４はデータトラフィックの現在の、あるいはデフォルトのルートを変調し、このようにして例えばローカル配備（例えばポイントオブプレゼンス、つまり「ＰＯＰ」）でデフォルトルーティング動作を修正する。ルートサーバ１３９（「ＲＳ」）は、当該データネットワークからルーティングテーブルの完全な集合または部分集合を受信する。
【００９９】
ある実施形態では、ルーティングテーブルは、ローカルトランシットプロバイダの完全な集合または部分的な集合からＢＧＰ４エンジン１３８２の中の１つまたは複数のデフォルト４送り１３９２によってルートサーバ１３９１の中に受け取られる。ＢＧＰ４エンジン１３８２は、単一のＢＧＰ４ルーティングテーブル１３８３最良使用可能ルートの中にルートのすべてを統合する、つまりマージする。別に実施形態では、ルートサーバ１３９１は、図１３に図示されるようにＢＧＰ４セッションを維持するのではなくむしろ内部ＢＧＰ可能ルータのすべてでｉＢＧＰセッション維持する。単一のｉＢＧＰセッションでは、ルート変更を行う前にネットワークサービスプロバイダとＢＧＰセッションのすべてを構成する必要はない。
【０１００】
構成要素１３８４は、１つまたは複数の制御信号と、ＢＧＰ４エンジン１３８２あるいは１つまたは複数のＢＧＰ４ルーティングテーブルを受け取るように設計され、１つまたは複数の制御信号と、コントローラ１３０５の制御プロセスから生じるデータとを受け取るように適応される。運転中、構成要素１３８４は、コントローラ１３０５からデフォルトルーティングテーブル１３８８で実現される必要なルーティング変更を受け取る。したがって、構成要素１３８４は修正されたルーティングテーブル１３８９に１つまたは複数の変更の受け取りを組み込む。
【０１０１】
このようにして、構成要素１３８４はＢＧＰ４ルーティングテーブル１３８３を修正し、１つまたは複数の修正されたＢＧＰ４ルーティングテーブル１３８８を作成するように動作する。修正されたＢＧＰ４ルーティングテーブル１３８８は変更されたルーティング１３８９、複数の特定なルートの広告等を含む。新規の修正されたＢＧＰ４ルーティングテーブル１３８８が、次に、それから宛て先にトラフィックを誘導するために使用されるネットワーク内のすべてのＢＧＰクライアントに送られる。
【０１０２】
図２のコントローラ２０５は、使用量コレクタにより監視されるような帯域幅、コスト等の使用量特性だけではなく、待ち時間、損失、ジッタ等の性能特性を受け取るように設計されている。コントローラ２０５は、通常サービスレベル合意書「ＳＬＡ」性能測定を含むフローポリシーを受け取るためにポリシーレポジトリ２１８に結合される。これらの測定基準、つまり要件は監視されている性能と使用量特性に対して比較される。ある特定のポリシーが違反している（つまり１つまたは複数の予想範囲または値の外では、１つまたは複数の性能測定基準である）場合、コントローラ２０５は、関連するフローポリシーに準拠している１つまたは複数の代替データ経路を決定する。別の例では、コントローラ２０５は、ポリシーにより定められるように、性能要件と使用量要件を最善に満たす代替データ経路として最善の、つまり最も最適化された経路を選択する。
【０１０３】
アクティブ較正装置とパッシブ較正装置が性能要件を提供する。アクティブ較正装置に関しては、コントローラ２０５は要求アクティブプロービングによりアクティブ較正を開始する。アクティブ較正装置は、プローブ経路２０７上で１つまたは複数の較正プローブを１つまたは複数のデータネットワークの中に送信する。プローブ経路２０７上の戻るプローブは、使用可能な経路のアイデンティティとそれに関係する性能情報とを含む、コントローラ２０５に戻る情報を提供する。
【０１０４】
パッシブ較正装置に関して、コントローラ２０５は、それがアクセスするトラフィックフロー内のモニタとして、パッシブ較正装置２３０から、リアルタイムまたはほぼリアルタイムのネットワーク性能特性（つまり、損失、待ち時間、ジッタ等）を受け取るように設計されている。コントローラ２０５が較正要素２１１にルーティングの変更つまり更新を提供した後、それはまた、更新されたルート変更が特定の宛て先に対し行われるときパッシブ較正装置２０３に信号を通信する。信号２３０は、較正装置が特定の宛て先の監視を再開し、ルーティングテーブルの更新されたルート、つまり経路がフローポリシーに対応していることを確実にするように、パッシブ較正装置２０３の状態のクリアを開始する。図３の状態クリア信号３３８はパッシブフローアナライザの状態のリセットを開始するためにコントローラから発信される信号を描いている。
【０１０５】
１つの例では、コントローラ２０５は、宛て先接頭語のグループ化のそれぞれについて間隔で集計されたフローデータを解釈するために動作する。そして、ポリシー違反が発生すると、コントローラ２０５は、代替ルート、つまり経路のどれが現在のトラフィックフローに関連する接頭語つまりトラフィック種別に最善に適しているのかを判断する。コントローラ２０５は、次に必要なルーティング変更を構成要素２１１に送信する。すなわち、コントローラ２０５は、関連するフローポリシーに従って、対応していないネットワーク性能特性に関係するポリシー違反を解決する。このプロセスは、ポリシー違反が解決されるまで繰り返される。
【０１０６】
別の実施形態では、図１２のコントローラ１２０２が、使用率、料金請求書作成発行レート等の、ネットワーク使用量特性を表すリアルタイムまたはほぼリアルタイムデータを、使用量コレクタ１２１５から受け取るように設計される。コントローラ１２０２は、関連するフローポリシーに従って、非対応使用量特性に関するポリシー違反を解決するためにこの情報を使用する。すなわち、ルート変更の前、あるいはルート変更の間に、コントローラ１２０２は代替経路の性能を考慮するだけではなく、それらの代替経路が特定のプロバイダの経路上で（つまり、ｔｕｒｎ−ｏｆ−ｄａｙに関係する適当な帯域幅）ピークデータトラフィックを回避するか、あるいはフローポリシーを考慮した最小コスト経路であるかのどちらかであると考える。
【０１０７】
使用量型ポリシー違反を解決するためには、コントローラ１２０２は、例えば現在のトラフィックフローまたは特定の経路上のデータのルーティング、またはその経路セグメントのどれが、ある特定の１つまたは複数のプロバイダ経路に関して輻輳しているのか（つまりロードされているのか）を決定するためにルーティングテーブルを受信する。また、コントローラ１２０２は、指定宛て先接頭語への、及び指定宛て先接頭語からのトラフィックフローの集合のフローのどの部分集合がトラフィックフロー量に関して関連するフローポリシーに準拠しているのかを決定するために代替プロバイダ経路ごとに流量を表すデータを受信するように設計されている。
【０１０８】
本発明の例示的なコントローラは、このようにして、データネットワークの性能と使用量に関係する情報を入手し、少なくとも関連するポリシー要件を満たす経路または経路のセグメント上でデータを効果的且つ効率的に転送するために是正処置を達成するように設計されている。
【０１０９】
以下の説明はフローポリシー、及びポリシー違反を解決する上、及びポリシー要件または測定基準を施行する上でのこのようなポリシーの適用に関する。図２を参照し直すと、コントローラ２０５は１つまたは複数のポリシーを受け取るためにポリシーレポジトリ２１８に結合されている。前述されたように、ポリシーは、コントローラ２０５が特定のトラフィックフローの実際のフロー特性に対して比較するために使用する一式の規則つまり閾値（つまり、最大、最小及び許容できる動作の範囲）である。例えば、ポリシーは、特定のトラフィックフローを検出するためにコントローラ２０５により利用されるユーザによって定義される機構である。例えば、ポリシーは、必要な場合に監視され、作用されなければならない特定トラフィックフローを検出するためにコントローラ２０５によって利用されるユーザ定義機構である。一例として、ポリシーは、特定のポリシーがどのように施行されるべきかを指定することもできる（つまり、最高の優先順位から最低の優先順位に違反を解決するための階層構造を含む）。例示的なポリシーは、検出に関係する要件つまり規則、性能、コスト及び手順を含むが、技術の普通の熟練者は、本発明に従ってさらに少ないパラメータまたは追加のパラメータを測定、施行できることを理解する必要がある。
【０１１０】
検出は、フロー制御システム２００が、どのトラフィックがポリシー違反に応えて作用する必要があるのかを判断する技法または機構として定義される。トラフィックフローは、名称、ソースアドレスまたは宛て先アドレス、ソースポートまたは宛て先ポート、あるいは任意の他の既知の識別技法によって識別できる。例えば、ポリシーはただ１つの接頭語に関連付けることができる。つまり、システム２００は特定の接頭語への、及び特定の接頭語からのトラフィックフローを監視し、必要な場合には、関連するフローポリシーをその要件に従って監視する。さらに、検出に関して、さらに多くの特定接頭語について定義されるポリシーは、より一般的な接頭語に優先できる。例えば、／２４について定義されたポリシーは、／１６が特定的な／２４を含んでいても／１６に優先する。
【０１１１】
性能とは、指定接頭語または接頭語リストに適用される１つまたは複数のターゲット性能レベル（つまりネットワーク／ＱｏＳポリシーパラメータ）または閾値を記述するポリシー要件である。複数の性能に基づいたポリシー要件が定義されてよいが、この例では単一のポリシーだけが指定接頭語または接頭語リストに適用される。例示的な性能要件は損失、待ち時間、及びジッタを含む。
【０１１２】
さらに、このような要件は、例えば絶対値、固定値、または指数関数的に加重された移動平均（「ＥＷＭＡ」）として構成できる。絶対値は、パーセンテージとして表現される、あるいは構成可能時間ウィンドウでのパーセンテージとして、あるいは時間単位で描かれるような数値閾値を確立する。ＥＷＭＡ方法は、最も最近のサンプルに指数関数加重をかける履歴サンプリングに基づいて移動式位置を確立し、それにより現在のネットワーク状況を、それらが履歴状況に関するにつれて考慮に入れる閾値を主張する。
【０１１３】
さらに、根本的なネットワーク性能がいつ変化したのかを突き止めるためには、プロセス制御及び統計的な品質管理の技法を使用することができる。製造において効果的に使用されるこれらの技法は、任意の時点で指定された宛て先について管理上限が何でなければならないのかを決定し、システムに対し、いつネットワーク性能の「質」が変化したのか、あるいはこれらの管理限界の範囲外になるのかを知らせることができる。例えば、複数の絶対閾値は、システムの非線形性を効果的且つ単純に克服するために使用できる。ネットワーク性能は、通常、（例えば、地下鉄、地方の、大陸の、大陸間などの）宛て先の近接性により定義される複数の操作下限の１つに分類される。これらの操作下限は、移動平均ＲＴＴによって定義できる。各操作領域は独自の管理上限つまり閾値を有する。平均ＲＴＴが複数のデータポイントの間ＵＣＬ（管理上限）を超えると、違反がトリガされる。
【０１１４】
コストは優先順位及びポリシーが予測的なのか、あるいは反応的なのかという点でポリシー定義に表されている。コストは、請求書再構築及び集計レベルと非常に粒状レベル（例えば、／２４宛て先ネットワークによる）の両方での帯域幅活用率の調和を通して図２の使用量コレクタ２１４によって特徴付けられる。コスト予測要件は、新規のまたはさらに高い請求書作成可能レートをトリガしてよいピーク（つまり「ピーク回避」）を確立するのを回避するためにあるプロバイダから別のプロバイダにトラフィックを積極的に逸らすために使用される。コスト反応要件は最小のコミットレートまたは現在の請求書作成可能レートが超えられると、あるプロバイダから別のプロバイダにトラフィックを反応して逸らすために使用される。
【０１１５】
通常、コスト予測要件と反応要件の両方ともバイナリ決定（つまり、例えば回路または経路は、フローポリシーに準拠しているかあるいは違反しているかのどちらかである）を生じさせる。予測コストのケースでは、トランシット回路は準拠しているか、あるいはすぐにフローポリシーの違反になるかのどちらかである。それにも関わらず、コストが性能に先行されない（つまり、性能要件が、コストをベースにした変更を行う前に対処されなければならない）限り、状況を解決するために処置を講じなければならない。
【０１１６】
優先順位とは、１つまたは複数のターゲット使用量または稼働率特性またはレベルを記述するポリシー要件である。優先順位はプロバイダの優先順位と最大稼働率（つまり負荷）要件を含む。プロバイダ優先順位要件は、例えば、処置を講じなければならないときであるが、２つまたは３つ以上のトランシットがポリシーを施行するために選択されてよいときに、使用されるプロバイダの任意の分類である。フロー制御システムは、それがシステムの運用者により明示的に構成されていない場合にはプロバイダまたは経路の優先順位件を自動的に設定できる。この要件は、次に、最高の優先順位を持ったプロバイダが関係を勝ち取り、このようにして逸れたトラフィックフローを受信できるように、行き詰まった状況においてタイブレーカとして適用される。
【０１１７】
最大使用量要件は、どちらかが超えられない実際の稼動閾値としてまたはタイブレーカとして使用されてもよいように使用できる。最小使用量は、構成のトランシットプロバイダセクション内で構成され、パーセンテージ引数（つまり使用可能な帯域幅の観点で）を取るか、あるいは代わりにＭｂ／秒という観点で絶対値として設定できる。
【０１１８】
以下は、特定のポリシーが準拠しているかどうかを判断するために、及び準拠していない場合には行動計画を決定するためにコントローラとともに使用されるポリシーの例である。
【０１１９】
例えば、以下のポリシーがある特定のトラフィックフローに使用されると考える。
【表１】
2005508593.tif 000003
【０１２０】
トラフィックフローが、接頭語２４．０．３４．０／２４に関連付けられており、現在は２４０ｋｂｉｔ／秒でトラフィックを搬送中であり、３のプロバイダ１を介して到達されると仮定する。プロバイダ１は現在２Ｍｂｉｔ／秒で搬送中であり、５Ｍｂｉｔ／秒という最小コミットを有する。
【０１２１】
ポリシーを使用するフロー制御システムのコントローラは代替トラフィックルート、つまり経路を監視でき、それらはプロバイダに関係するので以下のフロー特性を決定できる。
【表２】
2005508593.tif 000004
【０１２２】
このケースでは、５％という損失が２％という最大損失要件を超えているため、及び損失が１０という優先順位で指定され、５０が最低であるため、ＩＳＰ１は違反状態にある。是正処置が講じられなければならない。ポリシーは、待ち時間または損失情報なしで、施行されるだろう（つまり、例えば他のリンクの性能に対する可視性がないため）。このケースでは、コントローラは、（ＩＳＰ２とＩＳＰ３を含む）他のＩＳＰが準拠しているかを判断するために、アクティブ較正装置を使用してアクティブプローブを開始することがある。代わりに、コントローラは要件が既知である（例えばこのケースではコスト）ポリシーの次のｐラメータに基づいて行動計画を決定する可能性がある。ＩＳＰ２は準拠しており、ＩＳＰ３が準拠していないため、ＩＳＰ２がコントローラによって選ばれるだろう。２つとも準拠している場合には、コントローラは、ＭａｘＵｔｉｌである次のランクが付けられた要件に移動する。これが当てはまる場合、ＩＳＰ２は依然として選択されている。
【０１２３】
要約すると、前記の例示的なポリシーのようなポリシーは図２のコントローラ２０５に入力され、例えば特定接頭語と関連付けられる。一般的な検出方法（絶対的または基準履歴）は接頭語によって指定でき、このようにして他の宛て先には基準方法を使用する一方で、周知であるいくつかの宛て先についてはハード閾値または絶対閾値を指定する。ポリシーは、違反と見なされ、解決される前に満たされなければならない性能測定基準との組み合わせで使用される解像度方法（例えば手順）を定義する。コストと稼働率の閾値のような他のパラメータは接頭語あたりで設定できる。これにより、ある実施形態において、どの接頭語がコストまたは稼働率の理由からいままでに移動されてはならないのか、及びどの接頭語がどのような状況にあっても移動されなければならないのかの表示をコントローラに与える。
【０１２４】
コントローラ２０５がピアリングコネクションを処理するために、コントローラ２０５は、まさに変更されるところの特定の接頭語についてデータディレクタ２２０と通信し、到達可能性情報（つまりルーティングテーブル）を検索する。トランシット回路のケースでは、コントローラ２０５は、指定される宛て先について、例えば宛て先にアクティブプローブを送信し、応答を待機することによって、アクティブ較正装置２０７を使用し、到達可能性情報（つまりルーティングテーブル）を決定する。ピアリングコネクションは多くの場合到達不能であるが、いくつかのプロバイダはピアリングポイントで効果的にトラフィックをフィルタしていない可能性があり、代わりにそれらの広告された宛て先へのトラフィックだけが受信されることを確実にするためにオナー（ｈｏｎｏｒ）状システムに依存する。
【０１２５】
したがって、ピアリングのケースでは、コントローラ２０５は、ピアリングコネクションにトラフィックを移動する前にその宛て先の広告のためのルーティングテーブルを見なければならない。図１５を参照すると、ｉＢＧＰフィード１５９９は、アクティブなルートだけではなく広告されたイナクティブなルートも含んでいる。それ以外の場合、図２のデータディレクタ２２０が図１３のルートサーバ１５９１に従って構成でき、ｅＢＧＰはすべてのプロバイダから構成できる。
【０１２６】
図１４は、「空き」帯域幅の可用性が指定プロバイダ向けに、図２の使用量コレクタ２１４によって測定されるようにどのように表現されるのかを描いている。ｔ０からｔ１の任意の指定時間で、現在の使用率１６０２と現在の請求書作成可能レート１６００は決定されない。図辞されるように、タイムポイントｔ０．５  １６０３は、オーバサンプリング（ｏｖｅｒ−ｓａｍｐｌｅｄ）時間ポイントを表している。これらの２つの値の再１６０１が、追加コストを被らずに使用される使用可能な帯域幅の量を表している。プロバイダごとの空き帯域幅は、性能に基づいたポリシーが現在の、つまりデフォルトのプロバイダによって違反されるときに対応するプロバイダの部分集合を選択するために使用できる。さらに、この情報は、プロバイダごとにコストと負荷に基づいたポリシーを適用するために使用される。
【０１２７】
図１５は、図１４に図示されるように使用量コレクタ２１４が時間連続請求書作成可能レートをどのようにして計算するのかを描いている。大部分のプロバイダは最小コミットメントレベル１７１０で開始する。現在の使用量がそのコミットメント未満で開始すると、空き帯域幅１７７１が図示される。サンプルは、プロバイダのサンプリングレートの２倍で収集され、正確なレートが計算されていることを確実にする（つまり、これは保守的な推定値であり、レートがプロバイダレートから逸れる場合、それはさらに高くなり、請求書作成可能レートの過大評価を表すだろう）。時間軸の小さなチェックマークはシステムにより収集されたサンプルを表している（オーバサンプリング）。十分なサンプルが得られると、通常はすべてのレートサンプルの９５番目の百分率として表現される請求書作成発行可能レートが図１５の請求書作成発行可能レートの連続してさらに高い層１７１３によって示されるような最低のコミットメントを超えてよい。トラフィックがこのレート未満に低下すると、新しい請求書作成可能レート１７１４が設定され、システムはもう一度空き帯域幅１７１８を有するだろう。
【０１２８】
図１６は、例示的なシステム２００がどのようにしてコストに基づいたポリシー違反を検出するのかを示す。コストポリシー要件が１８１３によって示されるように絶対閾値になるように定義されると仮定する。この閾値は絶対レートまたは使うための設定ドル額である場合がある（システムによって平均請求所作成発行可能レートに換算される）。サンプル単位で、実際のトラフィックレート１８１４は、１８１３を超える新規請求書作成発行可能レートが絶対に確立されないようでなければならない。短距離予測技法を使用すると、次のいくつかのサンプル１８１５のトラフィックレートを予測することができ、この予測が、新しい請求書作成発行可能レート１８１６が確立されると、図２のコントローラ２０５が、このプロバイダからトラフィックを離すことによって反応できる。
【０１２９】
図１８は、本発明の実施形態によるステートフル・ポリシーベース・ルーティング・エンジン（「ＳＰＲＥ」）を描いている。ＳＰＲＥ１８００は図２の構成要素２１１の例であり、このような機能性という点で適切に代用可能である。ＳＰＲＥ１８００は、補正処置を必要とする遠隔宛て先アドレスなどの宛て先に関連付けられたトラフィックフローのデフォルトのルーティング動作（つまり現在の経路）を変更するために動作する。アドレスは、例えばその３２ビットのＩＰアドレスによって、あるいは／２４などの宛て先の接頭語によって指定できる。構成要素として、例示的なＳＰＲＥ１８００がコントローラ１８０５に結合され、コントローラ１８０５によって決定されるように遠隔宛て先接頭語に到達するために使用される少なくとも１つのルートを受け取る。該少なくとも１つのルートは、最良に適したルート（例えば、すべての性能と使用可能な要件を最もよく満たすように最適化されたルート）であるか、あるいはフローポリシーのすべてのトラフィック要件を満たす多くのルートの１つのどちらかである。
【０１３０】
ＳＲＰＥ１８００はフロー検査器１８１２及び動的情報ベース（「ＤＩＢ」）１８１３を含み、フロー検査器１８１２とＤＩＢ１８１３は単方向でまたは双方向でデータを通信するように適応されている。ＤＩＢ１８１３は、ルーティング情報ベース（「ＲＩＢ」）１８２０、転送情報ベース（「ＦＩＢ」）１８２２、ネットワークアドレス変換情報ベース（「ＮＩＢ」）１８２４、またはルート変更を実現する一方でアクティブなフローのためにルートを維持するために使用される他の適切な情報ベースまたはデータ構造などの１つまたは複数の情報ベース（例えばデータテーブル）を含んでいる。このような情報ベースは、ＤＲＡＭ、フロッピーディスク等の技術で既知の記憶装置またはメモリに配備されている。さらに、情報ベースは、例えばこのようなルートに関係するトラフィックフローとデータフローを受信するネットワーク要素へのルートを表すデータ、及びルーティング変更を達成するために使用される同様のルーティングまたは転送情報を関連付ける任意のデータ構造を使用する。
【０１３１】
ＤＩＢ１８１３とその構成情報ベースは、コントローラ１８０５とデータディレクタ１８１４と単方向でまたは双方向で通信するように設計されている。データディレクタ１８１４は、ローカルソースアドレスから発し、特定のフローポリシーを満たすまたは超える経路またはルートと関連付けられるデータネットワークへのトラフィックフロー（遠隔データアドレスと関連付けられた１つまたは複数のデータパケット）を転送するために動作する。ルート変更を行う前に、コントローラ１８０５が、ルックアップを信号１８３４で開始することによってデータディレクタ１８１４を使用してルックアップを実行する。例えば、コントローラは、データディレクタ１８１４に出口及び／または入口トラフィックを転送するようにする現在のルートまたは経路をルックアップする。このようなルート情報は、通常１つまたは複数のルーティングテーブルに記憶され、プロバイダルックアップデータ１８３２としてコントローラ１８０５に通信される。プロバイダはデータネットワークサービスプロバイダであり、このような関連によりデータを転送するためにルーティングテーブルに記憶される関連を有する。
【０１３２】
ここに説明されるように、経路（またはルート）は通常、ソースアドレスなどの第１のポイントから宛て先アドレスなどの第２のポイントへの出口経路、あるいは第２のポイントから第１のポイントへの入口経路である。したがって、経路は第１のポイントから第２のポイントへの経路の出口部分を介してデータを転送し直すことによって、あるいは代わりに第１のポイントから第２のポイントへ経路の入口部分を介してデータを転送し直すことによって修正される。当業者は、経路の部分が、第１のポイントと第２のポイントの間の出口または入口のどちらかの経路の１つまたは複数の構成セグメントを含む（つまり、一部は出口経路または入口経路のあらゆるセグメントを含む）と理解する必要がある。また、ローカルソースアドレスは第１のポイントと関連付けられ、遠隔宛て先アドレスは第２のポイントと関連付けられるが、第１のポイントをソースまたは宛て先のどちらかとして定義することは慣例の問題であることが理解されなければならない。
【０１３３】
データディレクタ１８１４とその構成要素は、離散ネットワーク要素またはデバイスであり、ルーティングエンジン１８２６、転送エンジン１８２６、ＮＡＴエンジン１８２６等を含む。各エンジンは、データフローが例えば同じ出口トラフィックと同じ入口経路にあるのか、違う入口経路にあるのかに関係なく、少なくとも１つの情報ベースと関連付けられ、１つまたは複数のデータフローをプロバイダのデータネットワークの中に転送し、遠隔宛て先アドレスからトラフィックを受信するように適応されている。
【０１３４】
運用中、ＳＰＲＥ１８００は、通常、それが発信するローカルソースネットワークからアウトバウンドの、及び／または遠隔宛て先アドレスからローカルソースネットワークの中にインバウンドにデータフローを改変する。例示的なＳＰＲＥ１８００は、ネットワークトランザクション（「ＮＡＴ」）、仮想ローカルエリアネットワーク（ＶＬＡＮ）、及び他の適当なデータ転送技法とネットワーキング技法を利用し、その内のいくつかは技術で既知である。さらに、ＳＰＲＥ１８００は、例えばローカルソースネットワークから、１つまたは複数のネットワークサービスプロバイダの中へのローカルデータトラフィックフローのルーティングを修正するために適した任意のルーティングプロトコルを使用できる。
【０１３５】
ＮＡＴは、通常、パブリックトラフィックのアドレスの第２の集合をプライベートトラフィックと関連付けるために使用される。さらに詳細には、「プライベート」ネットワーク上のホストが、ＮＡＴ（つまりＮＡＴによりイネーブルされた）を使用して、ネットワークデバイスを介してデータネットワーク（例えばインターネット）にパケット（例えばＩＰパケット）を送信すると、ネットワークデバイスはそのホストの実際の「プライベート」アドレスを追跡調査するが、割り当てられた「パブリックアドレス」を、それがデータネットワークに送信される前にパケットに代入する。データネットワークから応答が戻ってくると、ルータなどのＮＡＴによりイネーブルされたデバイスはホストに応答を送信する前に実際のアドレスを復元する。いくつかのファイアウォールアプリケーションでは、ＡＮＡＴは、データネットワークからのインバウンドトラフィックが、ローカルソースネットワークに入ることを許されるべきかどうかを判断するために使用される。
【０１３６】
本発明の特定の実施形態に従って、ＮＡＴは、ローカルソースネットワークから流れ出すデータトラフィックの（つまり各パケットの）ソースアドレスを修正する、または変換するために利用される。変換されたソースアドレスを使用する場合、ローカルソースネットワークにトラフィックを戻すインバウンドつまり入口経路は出口経路とは異なる。さらに、現在の入口経路またはその一部は、経時的にあるいはルート変更後に次の入口経路またはその一部に変更される。例えば、ＩＰデータグラムのソースアドレスは、アウトバウンドトラフィックに関連付けられたＮＳＰとは異なるＮＳＰを通して戻るように修正される。ここでは、ＮＳＰはデータネットワークと呼ばれる。
【０１３７】
図１９は、ローカルソースアドレスＳ、またはローカルネットワークから遠隔宛て先アドレスＤにインバウンドとアウトバウンドのトラフィックが横断する考えられる経路を描く３つの例示的な経路Ａ、Ｂ及びＣを示している。図時されているように、ローカルソースアドレスは１つまたは複数の第１のレベルのＮＳＰ（つまりＮＳＰ１、２．．．ｎ）に結合されている。これらのＮＳＰは、それらがローカルソースアドレス（例えば、マルチホーム構成）を含むローカルソースネットワークに直接的に結合されるため、第１のレベルのＮＳＰと呼ばれている。第１のレベルのＮＳＰのそれぞれ、及びローカルソースネットワークのためにさらに削除される他のＮＳＰは１つまたは複数のセグメントを含み、セグメントは相互接続点の間の部分または経路の一部のどちらかを説明する。相互接続点は、データネットワークとネットワークサービスプロバイダの間で情報を交換するためのデータネットワーク間のコネクションである。
【０１３８】
図１９はＮＳＰまたはデータネットワーク内に含まれるただ２つのセグメント以外の（ｂｕｔ）例としてＳ１とＳ２を示している。このようなセグメントはＮＳＰの第１のレベルも超えてデータネットワーク内に含まれる、普通の技術の熟練者は、ＮＡＴが（例えばローカルソースアドレスとの）ローカルソースネットワークの中への入口データトラフィックと関連付けられる経路に影響を及ぼす唯一の方法に過ぎず、他の適切な技法が本発明に従っていることを理解する必要がある。
【０１３９】
ＶＬＡＮ技術は、通常、ハードウェアよりむしろソフトウェアを通して仮想同等物と、物理的なネットワーク要素（例えば、ルータ、スイッチ等）またはコンピューティング装置（例えばコンピュータのネットワーク）を関連付けるために使用される。対応するタグは、第１のレベルのデータネットワークに結合されるボーダルータなどのそれぞれの一意のネットワーク要素を識別する。ネットワーク要素をデータフローに関連付ける適切なタグがＩＥＥＥ  ８０２．１ｑ  ＶＬＡＮタグであり、技術では周知である。このようなＶＬＡＮタグはデータネットワークのグループの中の少なくとも１つのデータネットワークにデータトラフィック（例えばパケット）を転送するために使用される。例えば、一意のＶＬＡＮタグはソースアドレスＳからＮＳＰ１またはＮＳＰ２のどちらかにデータトラフィックを転送し、図１９に図示されるように、それぞれ経路ＡまたはＢを達成するために使用される。
【０１４０】
ＳＲＥ１８００は、前述されたようにローカルデータトラフィックフローのルーティングを修正するためにＢＧＰ４などの任意の適切なルーティングプロトコルを使用できる。ＳＰＲＥ１８００は、ｅＢＧＰまたはｉＢＧＰが使用される環境の中で機能してよいが、ＢＧＰは本発明を実践するために必要ではない。当業者は、ＢＧＰ４がローカルソースネットワークからある宛て先（例えば、遠隔宛て先アドレス）への出口データトラフィックと関連付けられる経路に影響を及ぼす唯一の方法に過ぎず、他の適切なルーティング技術が本発明に従っていることを理解しなければならない。
【０１４１】
例示的なＳＰＲＥ１８００は、ＳＰＲＥ１８００がＢＧＰとともに動作するように設計される図１３に図示されるのと同様に実現できる。すなわちＳＰＲＥ１８００は、最良の使用可能なルートを有する単一のＢＧＰ４ルーティングテーブルの中にルートのすべてを統合する、つまりマージするためにローカルトランジットプロバイダの完全な集合または部分集合から内部ＢＧＰ４エンジンの中への１つまたは複数のデフォルトのＢＧＰ４送り１３９２を受信する。例示的なＳＰＲＥ１８００は、複数のＢＧＰ４セッションを維持するよりむしろ、すべてのＢＧＰが可能なルータとの１つのｉＢＧＰセッションを維持することもできる。運用中、ＳＰＲＥ１８００は、例えばＢＧＰなどのルーティングプロトコルを使用することによって、図２のデータディレクタ２２０または同等なネットワークデバイスへの１つまたは複数のルーティング変更を通信する。
【０１４２】
図１８に戻ると、ＳＰＲＥ１８００とその構成部品及び／またはサブプロセスはハードウェア、ソフトウェア、またはその組み合わせで実現される。ＳＰＲＥ１８００の構成要素のそれぞれは、その意図された機能を実行するため、及び他のＳＰＲＥ構成要素と通信するためのロジックを含む。例示的なＳＰＲＥ１８００は、ルートサーバまたは他のコンピューティング装置内に常駐するように適応される。代わりに、ＳＰＲＥ１８００はルートに配備され、少なくとも１つのデータディレクタまたは同等物の多くのエンジンの内の少なくとも１つでルートマップまたはテーブルを修正するように構成される。さらに、ＳＰＲＥ１８００に関連付けられるその構成要素及び／またはサブプロセスの１つまたは複数は、このような構成要素及び／またはサブプロセスがローカルソースＩＰアドレスに関連付けられたローカルソースネットワーク内に配備されているかどうかに関係なく、１つまたは複数のサーバ、ネットワーク要素等で分散されてよい。ＳＰＲＥ１８００とその構成要素の他の構造上の及び機能上の構成は、このような構造上及び機能上の構成がルート制御を達成するために適している場合には、本発明の範囲及び精神の範囲内にある。さらに、ＳＰＲＥ１８００は、データルーティング及びその制御の技術で既知である他の構成要素とサブ亜プロセスを含む。例えば、ＳＰＲＥ１８００はパケット交換ハードウェア及び／またはソフトウェア、ＯＳＩ層プロトコルコントローラ（つまり、層２または３のルーティング制御等）、及びルータや他の同様なネットワーク要素で見つけられる他の構成要素を含むことがある。
【０１４３】
例示的なＳＰＲＥ１８００は、フロー検査器１８１２を含む。フロー検査器１８１２は、ローカルソースアドレスからのトラフィックフロー（つまり、ローカルデータフロー）のどれがアクティブである、またはイナクティブであるのかを判断し、示すために動作する。特にマルチホーミング方式が利用される場合に、このようなトラフィックフローは、通常、ローカルソースネットワークから１つまたは複数のデータネットワークを介してリモート宛て先アドレスに流れ出す。フロー検査器１８１２は、すべての使用可能なフローの部分集合、または代わりに特定の個々のフローの上位集合（つまり、各個別フローが特定の宛て先アドレスによって示される）をＤＩＢ１８１３内の１つまたは複数の情報ベース、つまり１つまたは複数のアクティブフローを含む部分集合に提供するためにも機能する。さらに、フロー検査器１８１２は、ある特定のフローがいつイナクティブであるのかを判断し、判断すると（またはその後）、ＤＩＢ１８１３内で１つまたは複数の情報ベース内のイナクティブフローを撤退させる要求を通信する。イナクティブフローは、他にも利点はあるが、例えば１つまたは複数の遠隔宛て先アドレスと関連付けられる１つまたは複数のイナクティブデータフローを削除し、このようにして情報ベース内の記憶場所を解放することによって撤退される。
【０１４４】
ある実施形態では、ＳＰＲＥ１８００のフロー検査器１８１２は、個々のビット、フィールド等（例えば、ＩＰヘッダの部分）などのＩＰデータグラムの１つまたは複数の構成要素のステートフル検査を実行することによりフローがアクティブであるのか、イナクティブであるのかを判断する。例示的なフロー検査器１８１２は、１つまたは複数の遠隔宛て先アドレスと関連付けられるフロー内の各パケットのＴＣＰ部分を検査する。ＳＰＲＥ１８００は、通常、コントローラ１８０５からルート変更要求を受信するとステートフル検査のプロセスを開始する。ローカルトラフィックフローなどのデータフローのステートフル検査は、経時的にデータパケットの１つまたは複数の構成要素を検査することと、宛て先アドレスと関連付けられるデータフローの各データパケットの状態を比較することを含み、データフローは１つまたは複数の検査規則に比較される。その後、フロー検査器１８１２は、このような比較の結果に応えて動作を開始するように構成される。例えば、フロー検査器１８１２は、各フローを、試験される検査に従ってアクティブまたはイナクティブのどちらかと識別する。例えば、検査規則は、フローをアクティブであると見なすべきか、イナクティブであると見なすべきかを判断するために使用される１つまたは複数の基準または要件を含んでいる。
【０１４５】
例えば、フロー検査器１８１２は、ＴＣＰなどの特定のプロトコルを選択するため、及び各パケットのＴＣＰセッション関係の特性を調査するために動作する。このようなＴＣＰ特性は、プロトコル、タイムスタンプ等だけではなくソースアドレス、宛て先アドレス、ソースポート及び宛て先ポートも含む。普通の技術の熟練者は、このような調査が、ＵＤＰ等の他のプロトコルに従って実行されることを理解する必要がある。別の例示的なフロー検査器１８１２では、インターネットの周知のポート番号（例えば、ＲＰ９４）が、ＴＣＰポート番号に基づいてどのプロトコルが使用されているのかを判断するためにパケットを調査する（つまり、逆多重化する、あるいは寸断する）ために使用される。この情報は、ＴＣＰコネクションのどちらの端部がＴＣＰセッション内のサーバとなるのかを判断するために使用できる。例示的なフロー検査器１８１２は、前述されたパッシブアナライザの相関計により実行されるフロー再構築と同様に、フロー再構築を実行するように設計される。さらに別の例示的なフロー検査器１８１２は、層４に関してフロー再構築を実行する。
【０１４６】
経時的に、フロー検査器１８１２は、フローを再構築し、特定の遠隔宛て先アドレスまたはその上位集合などのキーに従って各フローの状態（つまりＴＣＰ特性）を記憶する。状態は、データベース内で１つまたは複数のレコードのためのインデックスを作成するために、ハッシュテーブルなどの状態データベースに記憶される。例示的なハッシュテーブルは、適切なデータ構造の中のフローごとにＴＣＰ特性の値の状態を表す状態データを記憶する。このようなデータ構造は、状態データを、迅速なデータ検索のために設計された特定の遠隔宛て先アドレスまたはアドレスの上位集合（つまり、キー）に関連付けるために使用される。ハッシュテーブルデータ構造は周知であり、当業者は、本発明に従ってハッシュテーブルを実現する方法を理解する必要がある。
【０１４７】
図２０Ａ、図２０Ｂ、及び図２０Ｃは、検査規則の集合に対する比較のために使用される例示的なＴＣＰセッション関係の特性のタイミングを描いている。例えば検査規則が違反されていると、特定のフローがイナクティブであると見なされる。イナクティブフローは、ＴＣＰコネクションの間に、セッション終了（「ＦＩＮ」）とセッション終了の工程応答（「ＦＩＮ  ＡＣＫ」）信号が、図２０Ａに図示されるように、それぞれローカルソースアドレスと遠隔宛て先アドレスでのホストによって受信されるフローである。さらに、フローは、図２０Ｂに図示されるように、ローカルアドレスまたは遠隔アドレスのどちらかのホストがリセット（「ＲＳＴ」）信号を受信する場合にイナクティブと見なすことができる。さらに、フローは、例えば遠隔宛て先アドレスに関係するＴＣＰセッションが、図２０Ｃに図示されるように終了時を過ぎてイナクティブである場合にイナクティブであると見なすことができる。他のプロトコル（例えばＴＣＰ）特性とデータパケット構成要素が一式の検査規則に比較され、このようにして上記基準は、フローが本発明に従ってイナクティブであるかどうかを判断するために使用できる多くの使用可能なフロー特性のいくつかに過ぎない。例えば、同期（「ＳＹＮ」）と同期肯定応答（「ＳＹＮ  ＡＣＫ」）信号は通常アクティブフローの作成を示すため、このような信号は、フローのどれがアクティブであるのか、イナクティブであるのかを定義するためにも使用できる。
【０１４８】
フロー検出器１８１２は、１つまたは複数の遠隔宛て先アドレスにとってアクティブとして定義された多くのアクティブフロー１８１６をＤＩＢ１８１３に提供するように設計される。ＤＩＢ１８１３及び情報ベースのそれぞれは、例えばＤＩＢ１８１３内の特定の情報ベースと関連付けられたイナクティブフロー１８１５を撤廃する要求を受け取ることができるようにフロー検査器１８１２と通信するためのロジックを含む。さらに、ＤＩＢ１８１３及び情報ベースのそれぞれが、１つの実施形態で、データディレクタ１８１４の１つまたは複数のエンジンと通信するためのロジックを含む。別の実施形態では、情報ベースのいくつかがデータディレクタ１８１４の１つまたは複数のエンジンと通信するためのロジックを含む。特に、各情報ベースは、通常、ルックアップ１８２５に対する要求に応えて特定の遠隔宛て先アドレスと関連付けられたパケット（またはデータフロー）ごとに少なくとも１つのデフォルト、つまり現在の経路１８２５を提供するように設計されている。
【０１４９】
データディレクタ１８１４及び／またはその構成エンジンは、データフローの１つまたは複数のパケットを受信し、インタフェース（例えば、物理的または仮想）、変換済みアドレス、または入口経路または出口経路を管理するために使用される他のネットワークデバイス識別子を表すデータにパケットの関連付けられる遠隔宛て先アドレスを比較するために動作するように適応されている。ネットワークデバイス識別子は、変化する出口経路または入口経路上でデータのフローを管理するために使用される関連付けである。例えば、特定の仮想ルータ機構は、図２１のＶＬＡＮ１０１などのデータテーブルに記憶される変数だけではなくＶＬＡＮタグと関連付けられる。
【０１５０】
図１８に戻ると、データディレクタ１８１４及び／またはその構成エンジンは、直接的に、あるいはボーダルータ、仮想ルータ機構（「ＶＲＦ」）または同等物などの中間ネットワーク要素を通して、１つのデータネットワークまたは複数のデータネットワークに対してだけではなく、制御１８０５とも通信するための追加ロジックを含む。データディレクタ１８１４は、例えば、それぞれが以下に詳細に説明されるルーティングエンジン１８２６、転送エンジン１８２８、ＮＡＴエンジン１８３０等を含む。１つの実施形態では、データディレクタ１８１４は、１つまたは複数のエンジンがデータディレクタ内に常駐する、及び／またはデータディレクタがない、ルータなどのネットワーク要素である。この例では、例示的なエンジンは、データをネットワークに特定的な要素に転送する、またはトラフィックフローのローカルソースアドレスを修正するかのどちらかのために、ネットワーク要素ハードウェアでその意図される機能のそれぞれを実行するプロセスである。
【０１５１】
図２１は、本発明に従ってＤＩＢ２１００及び／または個々の情報ベース（ＲＩＢ２１０２、ＦＩＢ２１０４、ＮＩＢ２１０６及び他の適当な情報ベース２１０８）を実現するために適切である１つの例示的なデータ構造を描いている。１つの例では、ＤＩＢ２１００は、特定の遠隔宛て先アドレス、または遠隔宛て先アドレスの上位集合に関連付けられた１つまたは複数のレコード２１０１を含んでいる。例えば、特定の遠隔アドレスはｘ．ｘ．ｘ．ｘ／３２という形式でその３２ビットアドレスで定義されるが、宛て先アドレスの上位集合はｘ．ｘ．ｘ．ｘ／２４の形式の接頭語により指定できる。接頭語／２４は一例にすぎず、任意の粒度（つまり任意のサイズの接頭語）が本発明の範囲内にある。
【０１５２】
普通の技術の熟練者は、ＤＩＢ２１００が本発明を実践するために必要な数のレコード及びフィールド（例えばＲＩＢ  ２１０２等）を含むことを理解する必要がある。ＤＩＢ  ２１００の別の例では、ＤＩＢ  ２１００内の情報データベースのそれぞれは、例示的なＲＩＢがＦＩＢ、ＮＩＢ及び他の情報なしに遠隔宛て先アドレス及び物理インタフェースを含むように別々のデータ構造またはネットワークデバイスに分離される。同様に、別々のＮＩＢとＦＩＢが他のネットワークデバイス識別子を排除するために構築できる。別の例示的なＤＩＢ  ２１００では、フロー検査器が、関連付けられたトラフィックフローを破壊することなく、一式の検査規則に対する各フローの比較を実行するためのロジックを含むように構成されるよりむしろ、ＤＩＢ  ２１００が、フローがアクティブであるかどうか、及びルート変更をどのように最良に達成するのかを決定するためのロジックと一式の検査規則を含むように適応されている。
【０１５３】
ＳＰＲＥ  １８００の別の例では、各別個のＲＩＢ、ＮＩＢ、ＦＩＢ等が、ネットワーク要素内に常駐する、あるいはネットワーク要素なしで常駐する特定のエンジンに（ＥＧ＃、ＶＬＡＮｘｘｘ、ＮＡＴｘｘｘ等の）物理インタフェース、仮想インタフェース等の）特定のネットワーク識別子情報を提供するように設計されている。そなわち、ルーティングエンジン１８２６、転送エンジン１８２８、及びＮＡＴ１８３０は、ＳＰＲＥ  １８００の他の特定の実施形態に関係して描かれているように、それぞれＲＩＢ  １８２０、ＦＩＢ  １８２２、及び１８２４と独占的に通信するように構成される。ＳＰＲＥ  １８００のさらに別の例では、テーブルは、トラフィックをローカルソースネットワークから、またはローカルソースネットワーク内に転送するために使用される対応するネットワーク要素ごとに情報ベースに常駐する。例えば、ボーダルータごとに、情報ベース内に関連付けられるＲＩＢがある。したがって、例えばＳＰＲＥに結合される４つのボーダルータがある場合、ＲＩＢの中には（つまり１対１の関係で）４つのＲＩＢテーブルがある。しかしながら、複数のＲＩＢテーブルは本発明を実践するためには必要ではない。
【０１５４】
図２１を参照し直すと、例示的なＳＰＲＥが、１つの特定的な実施形態に従って１つまたは複数の情報ベース（集合的にＤＩＢ  ２１００として示される）を使用してルート変更を達成するために動作する。例えば、コントローラからルート変更要求を受信する前に、フロー検査器は、フロー２１２０がアクティブであると判断する。また、データディレクタ２１３０、または１つまたは複数のエンジンは、アクティブなフローが関連付けられるすくなくとも１つのネットワーク特定要素を提供する。このような関連は、少なくとも１つのトラフィックフローのための入口経路及び／または出口経路の修正を達成する。
【０１５５】
例えば、図２１のフローＸはローカルソースアドレスから、ローカルソースネットワークを通って、遠隔宛て先アドレス域のデータネットワークの中に盛んに流れ込んでいる。例えば、第１のレベルのＮＳＰにフローが入る点は、ルータ、ＶＲＦの割り当てられた物理インタフェースなどのネットワーク要素の物理インタフェースに関係する（つまり割り当てられた）関連、またはその宛て先アドレスに出口トラフィックを転送するために使用される任意の他のインタフェースによって決定される。同様に、１つまたは複数の第１のレベルのＮＳＰからフローがローカルソースネットワークに入る点は、例えば、遠隔宛て先に送信されるトラフィックの変換されたアドレスにより決定される。
【０１５６】
ルート変更の前に、例えば、フローＸはＥＧ１として識別される物理ネットワーク要素を通って盛んに流れ出す。次に、データディレクタまたはルーティングエンジンは、この情報をコントローラまたはＲＩＢ  ２１０２に提供する。しかしながら、フローＸはＶＬＡＮ  １０１として識別される仮想ネットワーク要素を通して盛んに流れ出す場合には、データディレクタまたは転送エンジンがこの情報をコントローラまたはＦＩＢ  ２１０４に提供する。さらに、フローＸが物理的な、仮想ネットワーク要素等を通してローカルソースネットワークのナかに盛んに流れ込む場合、このような要素のアドレスはＮＡＴ１０として識別される。この変換されたアドレスは、次にコントローラまたはＮＩＢ２１０６のどちらかに提供される。
【０１５７】
コントローラからのルート変更要求を受信すると、特定の情報ベースつまりＤＩＢ  ２１００が、この例では０．０．０．０／２４であるルート変更により影響を受ける遠隔宛て先アドレスの上位集合に関係する現在の、つまりデフォルトのルーティングのルックアップを要求する。それぞれのエンジン、または代わりにデータディレクタは、次にＤＩＢ２１００の中にレコード２１５０として０．０．０．０／２４を挿入する。
【０１５８】
フロー検査器は、例えば０．０．０．１／３２、０．０．０．２／３２、０．０．０．３／３２等のアクティブなルートをＤＩＢ  ２１００に挿入し、それらのルートをトラフィックフローを転送するためにデータディレクタ２１３０によって使用される（例えば、ルーティングテーブルからの）ルーティング情報と関連付ける。そうすることによって、アクティブフローは、ルート変更の前にルートに従って流れ続けるだろう。これらの個々のアクティブフローはイナクティブと見なされるので、ＤＩＢ２１００はＤＩＢからアクティブなフローレコードを撤退させる、つまり削除する。
【０１５９】
１つの実施形態では、ＤＩＢ２１００は、変更されるルートの１つまたは複数（つまり、部分集合または上位集合）のために関連付けられたネットワーク要素または変換済みのアドレス識別子（例えば、ＥＧ１、ＶＬＡＮ１０１、ＮＡＴ１０等）に関係する元のルートを撤退させるために動作する。この例では、０．０．０．０／２４に関連つけられるルートはルート２１３２で撤退される。次に、コントローラが、２１３４でルート変更に関連付けられたルート更新２１４０を提供する。この例に加えて、更新後、０．０．０．１／２４によって説明される入口トラフィックと出口トラフィックはＥＧ２またはＶＬＡＮ  １０２に従ってローカルソースネットワークの中から送信されるか、あるいはＮＡＴ２０に従ってローカルソースネットワークのナかに送信できる。トラフィックフローは、コントローラが、ここに説明されるように性能及び使用量特性に基づいて別のルート変更を行うことが必要であると判断するまで相応して転送し続けられるだろう。別の実施形態では、コントローラは、技術で既知であるルーティングアルゴリズムに従ってインバウンドトラフィックまたはアウトバウンドトラフィックどちらかに、あるいは両方にこのようなルーティング変更を行う。
【０１６０】
以下の説明は図２２から図に２４に関し、本発明によるＳＰＲＥの代替実施形態を説明している。図２２は、例えばローカルソースアドレスからのデータトラフィックの出口経路を変更するように構成されるＳＰＲＥ２２００を描いている。ＳＰＲＥ  ２２００及びその構成要素及びプロセスは、図１８のＳＰＲＥ１８００に関して前述された構成要素とプロセスに類似して動作する。この例では、図２２のＳＰＲＥ  ２２００は、コントローラと通信するために構成され、部分的に状態検査を実行することにより動作するフロー検査器を含み、１つの情報ベースＲＩＢ  ２２２０も含む。さらに、ＳＰＲＥ  ２２２０は、ルーティングエンジン２２２６を含む。この例に従って、ＲＩＢ２２２０は図２１の遠隔アドレス２１０１及びＲＩＢインタフェース情報２１０２を含む。例示的なルーティングエンジン２２２６は、技術で既知の従来のルータで見つけられるルーティングプロセスを含み、例えば少なくとも１つの出口ゲートウェイ２２５０と関連付けられるなど、例えば物理インタフェースを通って出る特定のトラフィックフローに関係するパケットを転送するために使用される。このようなゲートウェイ２２５０は、ＮＳＰに結合されている１つまたは複数の中間物理ネットワーク要素（例えばダウンストリームルータ）を含んでよい、あるいはＮＳＰに直接的に結合されてよい。
【０１６１】
この例では、フロー検査器２２１２が、ＦＩＮまたはＲＳＴを受信していないＴＣＰ層４フローなどの接頭語を有する各アクティブフローについてチェックし、補足する。これらの及びその他の類似するフロータイプは、ＴＣＰ状態機械の中でアクティブであると見なされている。したがって、フローのソースアドレスはフローを破壊することなく変更することができない。アクティブセッションのそれぞれはアドレス、つまり接頭語の上位集合と関連付けられ、記録されている。それ以後、／３２エントリなどのフロー特定ルートは、ＲＩＢ２２２０に挿入される。フロー検査器２２１２は、未決ルート変更を行う前に、例えばアクティブフローをハッシュテーブルに記憶することによってそれらを保存するための一式の規則を含む。
【０１６２】
ルート変更が行われた後、フロー検査器２２１２は、それた終了したか（つまり、イナクティブになったか）どうかを検出するためにそれぞれの個々のアクティブフロー（つまりＴＣＰセッション）を監視する。イナクティブフローごとに、フロー検出器２２１２は、ＲＩＢ  ２２２０から特定のルート（例えば、／３２）を撤退させるように構成される。それ以降フロー検出器２２１２は、過去のルート上のすべてのアクティブなセッションが終了し、すべての特定のルート（例えば、／３２）が撤退させられるまで状態を監視することを続行する。ＲＩＢ  ２２２０は、次にルーティングエンジンにあるルーティングテーブルの中に更新ルート変更を入れる。
【０１６３】
ルーティングエンジン２２２６は、１つまたは複数のルーティングテーブルを維持するために動作し、情報ベース内のルーティング情報に従って関連付けられたトラフィックフローをどのようにもっともよく転送するのかを判断するためにＲＩＢ  ２２２０を調べる。すなわち、ルーティングエンジン２２２６はＲＩＢ  ２２２０を使用し、ルータなどの関連付けられたネットワーク要素（例えば、出口ゲートウェイ）に向かって多くの物理インタフェースの内の１つでデータトラフィックフローを転送する。例示的なルーティングエンジン２２２６は、層２の転送機構として動作し、ＲＩＢ２２２０の中に少なくとも１つのルートルックアップを実行するように構成され、ルックアップはアクティブフローの現在の１つまたは複数の経路あるいはその部分を識別するために実行される。
【０１６４】
別の例示的なＳＰＲＥ  ２２００では、最小コストのネットワークサービスプロバイダと関連付けられたデフォルトルートは、例えばＲＩＢ  ２２２０内だけではなくルーティングテーブルに取り付けられる。ＳＰＲＥ  ２２２０は、ローカルソースネットワークから使用可能な物理出口インタフェースの少なくとも１つに結合され、その結果データトラフィックは、コントローラが、ルート変更が必要とされているのかを判断するまでデフォルトにより最小コストのＮＳＰを通って流れる。デフォルトのルートは、ＳＰＲＥ  ２２００が、それがさらされる可能性のあるＢＧＰ広告に基づいて応答し、ルーティング決定を下さないようにする。
【０１６５】
さらに別の例示的なＳＰＲＥ  ２２００では、ＳＰＲＥ２２００は、ｉＧＰ（例えば、オープンショーテストパスファーストプロトコル）またはｅＧＰ（例えば、ＢＧＰ）などの任意の使用可能なプロトコルに基づいてその周辺地域と通信するように構成され、さらに技術で既知の任意の他のプロトコルだけではなくそれらのプロトコルから受信されるルート広告にも基づいてＲＩＢ  ２２２０を更新するように構成される。
【０１６６】
図２３は、本発明の別の特定の実施形態に従ってＳＰＲＥ  ２３００の機能ブロック図を描く。フロー検査器２３１２及びＦＩＢ  ２３２０は、図２２と関連付けられるフロー検査器及びＲＩＢに本来類似して動作するように設計される。しかしながら、ＦＩＢ  ２３２０は、少なくとも１つの情報ベースとして、遠隔宛て先アドレスを仮想インタフェースと結び付けるように設計される。この例では、転送エンジン２３２６が図２２のルーティングエンジン２２２６に代用される。図２３では、フロー検査器２３１２は、部分的にはＦＩＢ  ２３２０に転送エントリを挿入するために機能し、ＦＩＢは指定された仮想インタフェースに関連する転送情報ベースである。
【０１６７】
転送エンジン２３２６は、層２の情報などの特定の識別子情報で、さらに詳細にはＶＬＡＮタグで出データフローにタグを付けるように設計される。転送エンジン２３２６が、トラフィックを送出するためにどのＶＲＦが使用されなければならないのかを決定するための情報がないかＦＩＢ２３２０を調べる。ＶＬＡＮは、ある実施形態によると、１つまたは複数の物理インタフェースと論理的に関連付けられ、例示的なＳＰＲＥ  ２３００は数多くの仮想ルート（例えばＶＲＦ）のどれか１つに結合され、各仮想ルータが物理インタフェースと論理的に関連付けられている。
【０１６８】
図２４は、本発明の特定の実施形態によるルート制御が、本発明の特定的な実施形態に従って、出口経路を修正するよりむしろローカルソースアドレスの中に戻り経路を戻すＳＰＲＥ  ２４００の別の実施形態を示している。すなわち、例示的なＳＰＲＥ  ２４００は、ＮＡＴエンジン２４２６によって決定されるように、ローカルソースネットワークの中に入口経路を修正して戻すために動作する。ＮＡＴ  ２４２６は、遠隔宛て先アドレスからソースネットワークの中に戻る入口経路を修正できるように、ＩＰデータグラムのソースアドレスを修正するために機能する。ＮＡＴエンジン２４２６は、トラフィックフローの各パケットのソースアドレスを修正することによりローカルソースネットワークかアトラフィック２４５０を転送するために動作する。すなわち、ソースアドレスは、コントローラによって決定されるように、フローポリシーに従って特定のアドレスに修正される。修正されたアドレスは、ローカルソースネットワークに戻るトラフィックに関して少なくとも１つのフローポリシー違反を解決する。修正されたアドレスは、ローカルソースネットワークの中に特定のルートを介して戻りトラフィックを転送し直すために使用される多くのＮＡＴアドレス２４２５の内の１つを含む。例えば、特定の第１のレベルのＮＳＰを介してローカルソースネットワークから流れ出すトラフィックフロー内のパケットは、ローカルソースネットワークに戻り、修正されたソースアドレスで別の第１のレベルのＮＳＰを介してそのアドレスを戻すように構成される。
【０１６９】
ダウンストリームルータは、例えばＢＧＰ、あるいは任意の他のルーティングプロトコルに従って使用可能なネットワークサービスプロバイダにＳＰＲＥ２４００から順方向にデータトラフィック２４５０を送るために実現されている。この例では、トラフィックフローは、ＮＡＴエンジン２４２６によって変換されるように、及びコントローラによって作成される入口ルート変更に従って、ＮＡＴエンジン２４２６によって変換される特定のＮＡＴアドレスに従って下流ルータに入る。
【０１７０】
別の例では、ＳＰＲＥ  ２４１２は、それぞれ図２２と図２３のフロー検査器２２１２と２３１２に機能と性質で類似するフロー検査器２４１２と動作し、ＮＡＴエンジン２４２６に結合される。ＮＡＴエンジン２４２６は、例えばＩＰデータグラムのソースアドレスを取るＮＡＴ修正機能を提供し、それがデフォルトの入口経路として設定された別の入口経路を通って戻るようにそれを修正する。ＮＩＢ  ２４２０は、例えば、宛て先接頭語情報に従って（つまり、宛て先ＩＰアドレスの集合によって定義されるような）１つまたは複数の宛て先経路についてソース経路（つまり、ソースＩＰアドレスの集合）を変換するために使用される情報ベースである。
【０１７１】
構造的に且つ機能的に、図２４は、フロー検査器２４１２がＮＩＢ  ２４２０に結合されていることを示す。運用中、例示的なフロー検査器２４１２は層４フロー再構築を実行し、前述されたようにＮＩＢ  ２４２０で記憶される動的ルートエントリを起動する。ここでは他のエンジンの説明と同様に、ＮＡＴエンジン２４２６がフローポリシーの解決に従ってソースアドレスを変換することにより、ＮＡＴを受信し、適用するパケットごとにＮＩＢ２４２０を照会するように設計される。
【０１７２】
例示的なＮＩＢ２４２０は、ルーティング情報ベース（つまりＲＩＢ）と連絡してここに説明されるように同様に適用される１つまたは複数のＮＡＴアドレスを含む。フローインスペクタ２４１２は、ネットワークアドレス変換情報ベース、つまりＮＩＢ２４２０に記憶される特定の接頭語変更についてのすべてのアクティブフローも監視する。ＮＡＴエンジン２４２６は、一時的であるが特定のルートエントリを挿入し、１つまたは複数のフローが依然としてアクティブである間に、現在のフローポリシーを維持する。
【０１７３】
ＮＡＴの通常の応用例は、プライベートＩＰアドレス空間内の発信側ソースアドレスがパブリック転送可能空間で使用するためのアドレスに変換される場合である。この例ではＮＡＴは、トラフィックが発信側ネットワークに向かって送信される進路を大幅に変更するために使用される。ＮＡＴは大部分のアプリケーションと、ＮＡＴが受け入れ不可能である関連アプリケーションのデータパケットを破壊しないようにＮＡＴを実行するポリシーにとって受け入れ可能である。しかしながら、ＮＡＴがインターネット上のいくつかのアプリケーションでは無視されてよい、あるいはしたがって使用できない可能性がある。このようなアプリケーションは、ＩＰ上でクライアント情報を保護するために使用されるＩＰＳｅｃ（ＩＰ請求リティプロトコル）などのヴォイスオーバＩＰ（つまりＨ．３２３プロトコル）を含む。これらのアプリケーションは、提供される入口経路ダイバシティが否定される可能性があるため最適下限のネットワーク経路に押しやられる。したがって、本発明のさらに別の実施形態に従って、特定のルータまたはネットワーク要素がルートに敏感なデータパケットとその付随アプリケーションに役立つために確保される。例えば、単一のルータは、データパケットがここに説明されるルート制御技法に従ってルートを転送できないことが重大である場合には、例えばローカルソースネットワークの中に入口データ経路を受信するために、ＮＡＴを通して確保されてよい。
【０１７４】
さらに、アクティブフローの真中でソースアドレスを変更することはそのフローを破壊する可能性がある。ここに説明される本発明の他の実施形態はアクティブフローのＮＡＴの破壊を克服するために実現される。例えば、例示的なコントローラは、コントローラがルート変更を起動する前にその宛て先へのアクティブフローが進行中でないことを検証するために実現されてよく、ＮＡＴはソースネットワークの中へのその戻り経路に影響を及ぼすためにトラフィックフローに適用される。
【０１７５】
図２５から図２７は、本発明によって例示的なルート変更アプリケーションで配備されるＳＰＲＥの少なくともいくつかの追加の代替実施形態を示している。図２５は、ＳＰＲＥ  ２０００のための例示的な構成を描いている。この例に従って、ＳＰＲＥ２５００は（ルータ（物理的またはそれ以外の場合）２５０６、２５１０、及び２５２０などの１つまたは複数のネットワーク要素上で分散されたデータディレクタ要素と協調するように設計される。第１に、ＳＰＲＥ２５００はローカルソースアドレスから流れ出る各パケット２５０４を、ＶＬＡＮタグ２５０２と関連付ける、つまりタグを付ける。転送エンジン２５０３はこのような関連を生成し、各パケットにタグを付ける。ＶＬＡＮタグ２５０２は、パケット２５０５が添付されたＶＬＡＮタグ２５０２に従って転送されることを警報ルータＲ０  ２５０６に警告するために機能する。例えば、ＶＬＡＮタグ２５０２が、ＶＲＦ１  ２５０８などのＶＬＡＮ１に対応する仮想インタフェースと関連付けられる場合には、ＶＦＲｎ２５０９と関連付けられるルータＲｎ２５２０から転送されるよりむしろ、対応するタグ付きパケット２５０４が、例えば出口ゲートウェイ１（例えばＥＧ１）を介してルータＲ１  ２５１０に転送されるだろう。したがって、ＶＲＦｎ２５０９はこの例では使用されない。
【０１７６】
ＳＰＲＥ  ２５００の特定の実施形態に加えて、関連付けられたトラフィックフローパケットが相互接続２５１２を介してルータＲ１  ２５１０に流れる。Ｒ１で、ルータ内で分散されたＮＡＴエンジンが、ローカルソースネットワークへの入口トラフィック逆流がＮＳＰ１の代わりにＮＳＰｎなどの任意の他のＮＳＰを通って入るように、データパケットのソースアドレスを修正するために機能する。類似したＮＡＴエンジンは、データフローが例えばＮＳＰ２を介してインターネットに入ると入口経路の同じルーティング制御を提供するためにＲＮに配置される。
【０１７７】
図２６はＳＰＲＥ  ２６の別の例示的な構成を描く。この例によると、ＳＰＲＥ  ２６００はルータ（物理またはそれ以外）２６０６などの１つまたは複数のネットワーク要素で分散されたデータディレクタと強調するようにも設計される。第１に、トラフィックフローパケットは流れ、ＳＰＲＥ  ２６００を通過する。このパケットはＮＡＴエンジン２６２０を通過される。ＳＰＲＥ２６００、ＮＡＴエンジン２６２０は、ローカルソースネットワークの中への入口トラフィック逆流がＮＳＰ１の代わりにＮＳＰｎなどの任意の他のＮＳＰを通って入るようにそれを通って流れるデータパケットのソースアドレスを修正するようにＳＰＲＥ  ２６００の中で構成される。運転中、ＮＳＰに流れ出るデータパケット２６０４のソースアドレスは修正され、その結果変換済みのネットワークアドレス２６０２を含む。さらに、ＳＰＲＥ  ２６００は、転送エンジン２６０３を含み、アウトバウンドデータフローの出口経路または出口経路の一部のルーティングを制御するように設計される。転送エンジン２６０３は、変換済みのソースアドレス２６０２を有するパケット２６０４にタグを付ける。
【０１７８】
このようなデータパケットは次にルータ２６０２に流れる。ルータＲ０  ２６０６は、ＶＬＡＮタグ内の情報に従ってＮＳＰ１またはＮＳＰ２（または別のＮＳＰ）には入るようにＶＬＡＮタグ２６０５でＮＡＴ改変済みデータパケット２６０４にタグを付けるように構成される。例えば、ＶＬＡＮタグ２６０５がＮＳＰ１にリンクされる仮想インタフェースに関連付けられていると考える。つまり、ＶＬＡＮ２６０５はＶＲＦ１  ２６０８を介してＲ０  ２６０５から出るデータフローを転送するように設計される。ＶＲＦｎ２６０９は、ＶＬＡＮタグ２６０５がＲ０  ２６０６のＶＲＦｎ２６０９と関連付けられている場合には使用される必要はない。パケット２６０４はＲ０を介してＮＳＰ１の中にローカルソースネットワークから流れ出る。しかしながら、パケットは、出口経路とは別の入口経路上で戻ってよい。データフローごとの出口ルートと入口ルートに対する制御は、例示的なＳＰＲＥで具体化されるように本発明の１つの態様に過ぎない。
【０１７９】
図２７は、本発明に従って独立した入口制御変数と出口制御変数を維持するように設計された別の例示的な構成要素、つまりＳＰＲＥ  ２７３１を描いている。図２７では、ＳＰＲＥ  ２７３１は、ルータ２７８９を介してローカルソースネットワークからＮＳＰのどれかへの出口トラフィックを制御するためにルータサーバを使用する。さらに、ＳＰＲＥ  ２７３１は、遠隔宛て先アドレスからのデータが修正されたソースアドレスによって定義される経路に向けられるようにＮＡＴを使用してソースアドレスを修正することにより入口データトラフィックを修正するように設計される。入口経路と出口経路の修正は、部分的には、特定のトラフィックフローの性能と使用量特性、及びこのような特性がある特定のフローポリシーを少なくとも満たしているかどうかにより決定される。
【０１８０】
ＳＰＲＥ  ２７３１は、コントローラ２７０５から入口ルート変更情報２７１８を受け入れるように構成され、ＮＡＴエンジン２７１７を使用して接頭語単位で１つまたは複数のＮＡＴアドレスを修正する。ＮＡＴエンジン２７１７は、例えば、コントローラ２７０５によって要求されるときに、入口ＮＳＰメッセージ２７３２によって接頭語リスト付きのＮＩＢからプロバイダ情報による接頭語に関して報告する。
【０１８１】
さらに、ＳＰＲＥ  ２７３１は、コントローラ２７０５から出口ルート変更情報２７９１を受け入れ、図１３に描かれているように、ＢＧＰ更新メッセージ２７９０でルータ２７８９内のＢＧＰルーティングテーブルを変更するためにＢＧＰと動作するルートサーバ２７８８を使用する。ルートサーバ２７８８はコントローラ２７０５により要求されると、出口ＮＳＰメッセージ２７９２により接頭語リスト付きローカルＢＧＰルーティングテーブルからのプロバイダ情報による接頭語に関して報告する。
【０１８２】
本発明は特定の実施形態に関して説明されてきたが、技術の普通の熟練者は、これらの実施形態が発明の単に例示的にすぎず、制限的ではないことを理解するだろう。例えば、前記説明はインターネットトラフィックとしてネットワーク通信データを説明するが、本発明が一般的なネットワークに関し、インターネットデータに制限される必要がないことが理解されなければならない。本発明の範囲は添付請求項によってのみ決定されなければならない。
【０１８３】
前記明細書では、本発明はその特定の実施形態に従って説明されるが、当業者は、発明がそれに制限されていないことを認識するだろう。例えば、ＡＴＭ、ＵＤＰ、ＰＶＣまたは情報がトランスポートされる１つまたは複数のパケットである任意の他の通信プロトコルなどの他のネットワークトポロジ及びプロトコルが、本発明に従っていくつかの実施形態とともに活用できる。
【０１８４】
前述された発明の多様な特徴及び態様は、個々にまたは共同で使用されてよい。さらに本発明は特定の環境における、特定のアプリケーションのためにそのインプリメンテーションという文脈で説明されてきたが、その有用性はそれに制限されず、それは、どの幅広い精神と範囲から逸脱することなく、任意の数の環境及びアプリケーションで活用することができる。したがって明細書及び図面は、制限的ではなく例示的と見なされるべきである。
【図面の簡単な説明】
【０１８５】
【図１Ａ】本発明の実施形態を実践するために適切なユーザインタフェースをユーザに提示するための例示的なコンピュータシステムである。
【図１Ｂ】図１Ａのコンピュータシステム内の基本的なサブシステムを示す。
【図１Ｃ】本発明と使用するために適した１つの例示的なコンピュータネットワークの一般化された図である。
【図１Ｄ】マルチパスを使用する典型的なデータネットワークを描く。
【図１Ｅ】本発明の特定の実施形態による簡略化されたデータネットワーク及びフロー制御システムを描く。
【図２】本発明のある実施形態によるフロー制御システムの１つの実施形態の簡略化されたブロック図である。
【図３】図２の例示的なパッシブ較正装置の機能ブロック図である。
【図４】図３の例示的なコンテンツフローアナライザの機能ブロック図である。
【図５】本発明のある実施形態による第３のエクスポートフローアナライザの機能ブロック図である。
【図６】ある実施形態による図３のパッシブフローアナライザの機能ブロック図である。
【図７】クライアントソースの近くに配置される例示的なフロー制御システムによりネットワーク性能測定基準を決定する簡略化されたタイミング図である。
【図８】サーバまたは宛て先近くに配置される例示的なフロー制御システムによりネットワーク性能測定基準を決定する簡略化されたタイミング図である。
【図９】本発明の別の実施形態による分散パケット捕捉付きの例示的なパッシブ較正装置の次の図である。
【図１０】本発明の皿に別の実施形態による分散されたパッシブフロー要素の次の図である。
【図１１】本発明のさらに別の実施形態による図１０の分散されたパッシブフロー要素の機能ブロック図である。
【図１２】本発明の特定の実施形態による例示的な使用量コレクタの詳細ブロック図である。
【図１３】本発明のある実施形態による複数のＢＧＰ４送りまたは１つのｉＢＧＰ送りのどちらかを受信する関連付けられた構成要素を使用するルートサーバのブロック図である。
【図１４】本発明に従って追加コストなしで使用できる使用可能な帯域幅の量を決定するための例示的な方法を描くグラフィック図である。
【図１５】本発明の実施形態による料金請求書作成発行可能なレートを計算するための例示的な方法を描くグラフィック表現である。
【図１６】本発明に従って短距離予測を使用して料金請求書作成発行レートを計算するための例示的な方法を描くグラフィック表現である。
【図１７】本発明の実施形態による例示的なアドレスリストまたは接頭語リストの表現である。
【図１８】本発明の特定野実施形態による例示的な構成要素である。
【図１９】本発明にしたが手使用するために適切に適応ｋなおうな複数のデータネットワークの基本図を示す。
【図２０Ａ】フローが本発明の特定の実施形態に従ってアクティブであるかどうかを判断するための第１の例示的な技法を描く一般化されたタイミング図である。
【図２０Ｂ】フローが本発明の特定の実施形態に従ってアクティブであるかどうかを判断するための第２の例示的な技法を描く一般化されたタイミング図である。
【図２０Ｃ】フローが本発明の特定の実施形態に従ってアクティブであるかどうかを判断するための第３の例示的な技法を描く一般化されたタイミング図である。
【図２１】本発明の特定の実施形態による簡略化された情報ベースを描く。
【図２２】本発明の特定の実施形態によるルーティング情報ベースを利用する例示的な構成要素を描く。
【図２３】本発明の別の特定の実施形態による転送情報ベースを利用する例示的な構成要素を描く。
【図２４】本発明のさらに別の特定の実施形態によるネットワークアドレス指定情報ベースを利用する例示的な構成要素を描く。
【図２５】本発明の特定の実施形態による１つまたは複数のネットワークデバイスで分散されるエンジンつきの構成要素のブロック図である。
【図２６】本発明の別の特定の実施形態によるネットワークデバイスに結合される構成要素のブロック図である。
【図２７】本発明のさらに別の実施形態によるルートサーバ及びＮＡＴ関係情報ベースを利用する例示的な構成要素を描く。
【図１Ａ】
2005508593.tif 000005
【図１Ｂ】
2005508593.tif 000006
【図１Ｃ】
2005508593.tif 000007
【図１Ｄ】
2005508593.tif 000008
【図１Ｅ】
2005508593.tif 000009
【図２】
2005508593.tif 000010
【図３】
2005508593.tif 000011
【図４】
2005508593.tif 000012
【図５】
2005508593.tif 000013
【図６】
2005508593.tif 000014
【図７】
2005508593.tif 000015
【図８】
2005508593.tif 000016
【図９】
2005508593.tif 000017
【図１０】
2005508593.tif 000018
【図１１】
2005508593.tif 000019
【図１２】
2005508593.tif 000020
【図１３】
2005508593.tif 000021
【図１４】
2005508593.tif 000022
【図１５】
2005508593.tif 000023
【図１６】
2005508593.tif 000024
【図１７】
2005508593.tif 000025
【図１８】
2005508593.tif 000026
【図１９】
2005508593.tif 000027
【図２０Ａ】
2005508593.tif 000028
【図２０Ｂ】
2005508593.tif 000029
【図２０Ｃ】
2005508593.tif 000030
【図２１】
2005508593.tif 000031
【図２２】
2005508593.tif 000032
【図２３】
2005508593.tif 000033
【図２４】
2005508593.tif 000034
【図２５】
2005508593.tif 000035
【図２６】
2005508593.tif 000036
【図２７】
2005508593.tif 000037
【国際公開パンフレット】
2005508593.tif 000038
2005508593.tif 000039
2005508593.tif 000040
2005508593.tif 000041
2005508593.tif 000042
2005508593.tif 000043
2005508593.tif 000044
2005508593.tif 000045
2005508593.tif 000046
2005508593.tif 000047
2005508593.tif 000048
2005508593.tif 000049
2005508593.tif 000050
2005508593.tif 000051
2005508593.tif 000052
2005508593.tif 000053
2005508593.tif 000054
2005508593.tif 000055
2005508593.tif 000056
2005508593.tif 000057
2005508593.tif 000058
2005508593.tif 000059
2005508593.tif 000060
2005508593.tif 000061
2005508593.tif 000062
2005508593.tif 000063
2005508593.tif 000064
2005508593.tif 000065
2005508593.tif 000066
2005508593.tif 000067
2005508593.tif 000068
2005508593.tif 000069
2005508593.tif 000070
2005508593.tif 000071
2005508593.tif 000072
2005508593.tif 000073
2005508593.tif 000074
2005508593.tif 000075
2005508593.tif 000076
2005508593.tif 000077
2005508593.tif 000078
2005508593.tif 000079
2005508593.tif 000080
2005508593.tif 000081
2005508593.tif 000082
2005508593.tif 000083
2005508593.tif 000084
2005508593.tif 000085
2005508593.tif 000086
2005508593.tif 000087
2005508593.tif 000088
2005508593.tif 000089
2005508593.tif 000090
2005508593.tif 000091
2005508593.tif 000092
2005508593.tif 000093
2005508593.tif 000094
2005508593.tif 000095
2005508593.tif 000096
2005508593.tif 000097
2005508593.tif 000098
2005508593.tif 000099
2005508593.tif 000100
2005508593.tif 000101
2005508593.tif 000102
2005508593.tif 000103
2005508593.tif 000104
2005508593.tif 000105
2005508593.tif 000106
2005508593.tif 000107
2005508593.tif 000108
2005508593.tif 000109
2005508593.tif 000110
2005508593.tif 000111
2005508593.tif 000112
2005508593.tif 000113
2005508593.tif 000114
2005508593.tif 000115
2005508593.tif 000116
2005508593.tif 000117
2005508593.tif 000118
2005508593.tif 000119
2005508593.tif 000120
2005508593.tif 000121
2005508593.tif 000122
2005508593.tif 000123
2005508593.tif 000124
2005508593.tif 000125
2005508593.tif 000126
2005508593.tif 000127
2005508593.tif 000128
2005508593.tif 000129
2005508593.tif 000130
2005508593.tif 000131
2005508593.tif 000132
2005508593.tif 000133
2005508593.tif 000134
2005508593.tif 000135
2005508593.tif 000136
2005508593.tif 000137
2005508593.tif 000138
2005508593.tif 000139
2005508593.tif 000140
2005508593.tif 000141
2005508593.tif 000142
2005508593.tif 000143
2005508593.tif 000144
2005508593.tif 000145
2005508593.tif 000146
2005508593.tif 000147
【国際公開パンフレット（コレクトバージョン）】
2005508593.tif 000148
2005508593.tif 000149
【国際調査報告】
2005508593.tif 000150