JP3742058B2 - 多数の利用可能なインターネットルートプロバイダを介したルーティングを最適化するための方法及びシステム - Google Patents

多数の利用可能なインターネットルートプロバイダを介したルーティングを最適化するための方法及びシステム Download PDF

Info

Publication number
JP3742058B2
JP3742058B2 JP2002521734A JP2002521734A JP3742058B2 JP 3742058 B2 JP3742058 B2 JP 3742058B2 JP 2002521734 A JP2002521734 A JP 2002521734A JP 2002521734 A JP2002521734 A JP 2002521734A JP 3742058 B2 JP3742058 B2 JP 3742058B2
Authority
JP
Japan
Prior art keywords
subnet
destination
route
routing
path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2002521734A
Other languages
English (en)
Other versions
JP2004507917A5 (ja
JP2004507917A (ja
Inventor
アーウジャ,アブハ
エイヤーズ,マット
ブラック,ベン
ブラウン,クリス
コーン,ダニエル,ティー
ラムゼイ,ステファン
ロネン,オフィアー
シャヒター,ポール,ジェイ
スティフェルマン,オスカー,ビー
ウィーラー,クリストファー,ディー
Original Assignee
インターナップ ネットワーク サービセズ コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インターナップ ネットワーク サービセズ コーポレイション filed Critical インターナップ ネットワーク サービセズ コーポレイション
Publication of JP2004507917A publication Critical patent/JP2004507917A/ja
Publication of JP2004507917A5 publication Critical patent/JP2004507917A5/ja
Application granted granted Critical
Publication of JP3742058B2 publication Critical patent/JP3742058B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • H04L43/0841Round trip packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般にインターネット等の相互接続されたネットワークにおけるルーティングに関し、特に、コスト関数を使用して複数の代替的なルーティングテーブル間で選択を行うことに関する。
【0002】
【従来の技術】
インターネットプロトコル(IP)は、アドレス空間を規定する。IPバージョン4(IPv4)では、アドレス空間は、[0,232]の範囲の全ての整数(約40億のアドレス)である。インターネット上の複数の「ノード」間には一対一のマッピングが存在する。1つのノードは通常は単一のコンピュータに割り当てられるが、多くの例外が存在する。例えば、インターネット上で単一のノードとして作用する多数のコンピュータが存在する可能性があり、より一般的には、多数のノードとして作用する単一のコンピュータ(すなわち多数のIPアドレスが割り当てられたもの)が存在する可能性がある。1つのノードは、データパケットが中間的なノードを通過することなく2つのノード間で移動することが可能である場合に、もう1つの近接する(adjacent)又は「隣接する(neighboring)」ノードに結合される。所与のノードにデータパケットを送る際にどの隣接ノードを使用するかを選択するプロセスはルーティングと呼ばれる。特に、経路全体ではなくどの隣接ノードを使用すべきかのみを選択するインターネットプロトコル戦略(strategy)は、「ホップ・バイ・ホップ・ルーティング(Hop-By-Hop Routing)」と呼ばれる。
【0003】
到達可能性(reachability)は、ルーティング選択を行う上で最も重要な基準である。自明であるように、あらゆる隣接ノードは互いに到達可能である。一般に、ノードBがノードAの隣接ノードである場合、ノードBはノードAから到達可能であり、又はノードBはノードAの隣接ノードから到達可能である。ノードBがノードAの2つ以上の隣接ノード(ノードBに到達するためにノードAを使用する隣接ノードを除く)から到達可能である場合には、ノードAは、各ノードにより提供される経路に基づいて次のホップノードを選択しなければならない。従来、ホップ数で表した自律システム(AS:Autonomous System)経路長が、該選択を行う際に使用される主な特性となる。
【0004】
あらゆるノードに対する到達可能性その他の経路情報を格納し通信することが技術的に困難であることより、膨大な数のノードを想定して、サブネットワークを使用した収集機構が考案された。サブネット化は、アドレス空間を幾つかのサブネットワーク(アドレスプリフィクスにより識別されるもの)へと分割し、その各々が連続したアドレスブロックを表す。1つのASは、複数のサブネットの集合を含む。かかる各集合は、所与のプリフィクスが1つのASでしか見出すことができないものであるという点で互いに独立している。所与のプリフィクスを含む一意のASは、該プリフィクスにおけるIPアドレスの全てにパケットを配送することを責務とする。この概念は、ルーティングの複雑性を低減させるものとなる。これは、各ノードがインターネット上の他のあらゆるノードへの経路を知ることを必要とするのではなく、各ノードのASの「ボーダ(borders)」に如何に到達するかを知るだけでよいからである。該ボーダ上のノード(ボーダゲートウェイとしても知られる)は、宛先ASへパケットを配送することになる他のASにおける隣接するボーダノードを選択することを責務とする。IPアドレスを使用する場合とは異なり、ボーダゲートウェイは、全てのASに対する到達可能性その他の経路情報を通信し格納することが可能である。これは、AS空間が、IPアドレス空間よりも遙かに小さいからである。このボーダゲートウェイノード間の到達可能性及び経路情報を交換するために使用されるプロトコルは、ボーダゲートウェイプロトコル(BGP)として知られるものであり、その現行バージョンはBGPバージョン4(BGP4)である。
【0005】
【発明が解決しようとする課題】
BGPは、インターネット上のルーティングの複雑性を管理可能な程度まで低減させるものであるが、如何なる経路特性がルート選択アルゴリズムにとって利用可能であるべきかを決定する際のトレードオフを必要とするものである。ボーダゲートウェイ間で交換される経路情報には、経路中のASのリストが含まれ、実際に使用される殆どのルート選択アルゴリズムは、通常は最小限のASホップで経路を選択する。経路長(ASホップ数)以外の基準に基づいて選択を行うことは可能であるが、BGPにより提供される情報からは、最短経路を選択しないだけの十分な正当性は通常は存在しない。
【0006】
経路長の使用は、経路長が必ずしも性能を表すものとはならないという点で、ヒューリスティックなものである。全てのASが等価なものであり、それ故、所与の宛先ASに到達するために使用した際に同一の欠点に寄与するものである場合には、AS経路長を最小限にすることが最適なルートを見つけるための正しい戦略であることになる。ASが等価なものでない場合であっても、ルーティングアルゴリズムが経路長以外の経路特性に対するアクセスを有さない場合には、最小限の長さを有する経路を選択することが正当な戦略である。しかし、実験的な証拠により、AS間に大幅な性能差が存在することが立証された。最小数のASを有する経路は、所与のプリフィクスへ最も早く到達するものとならないことが多い。同様に、ASの違いに起因して、AS経路長は等しいが性能は等しくない経路が存在することが多い。更なる経路特性を経路選択アルゴリズムに追加する必要があるのは、この違いのためである。
【0007】
例えば、図1は、5つのAS10〜18を示している。同図から分かるように、AS110からAS5 18まで2つの経路(すなわち、AS1 10→AS2 12→AS5 18、又はAS1 10→AS3 14→AS5 18)が存在する。その両方の経路とも、同じASホップ数を有しており、それ故、同じBGP経路長を有していることに留意されたい。その結果として、BGPは、該2つの経路を等価なものとみなし、この場合には、単に任意結合分解機構(arbitrary tie breaking mechanism)を採用することによりルートが選択されることになる。また、AS110からAS4 16まで2つの経路(すなわち、AS1 10→AS2 12→AS4 16、又はAS1 10→AS3 14→AS5 18→AS2 12→AS4 16)が存在することに留意されたい。この場合には、BGPは典型的には、ASホップ数を最小限にして経路「AS1 10→AS2 12→AS4 16」を選択することになる。しかし、上記で概説した各々の場合、BGPルート選択は、例えば高レイテンシ(high latency:長い待ち時間)やパケット損失等に起因して、性能の低下に通ずるものとなり得る。BGPは、何れかの条件の存在を知るための方法を有しておらず、単に宛先までのASホップ数を最小限にすることによりトラフィックをルーティングするものである。よって、性能その他の経路特性に基づきトラフィックをルーティングする方法が必要とされている。本発明は、かかる必要性並びに本書に記載する他の必要性を満たすものである。
【0008】
【課題を解決するための手段】
本発明は、多数の経路が利用可能である場合に、性能その他の経路特性をルート選択プロセスに含めることにより、BGPでは不可能なことを克服してルート選択を最適化するものである。本発明は、1つ又は2つ以上のマルチホームのAS又はその等価物を有するあらゆるネットワークで利用することが可能な性能ベースのルーティングシステム及び方法である。更に、ASから他のASへの結合数が増大して一層多数のルーティング選択肢が利用可能となった場合には、本発明による性能ベースのルーティングは、より一層有利なものとなる。
【0009】
本発明の一実施形態によれば、複数ルートの任意の組み合わせを使用する場合のコストを記述するコスト関数の使用を介してルーティングを制御する機構が提供される。本発明の別の実施形態によれば、前記コスト関数により規定される複数ルートのより優れた組み合わせを見つけるために前記コスト関数を最小限にするための方法が提供される。本発明の更に別の態様によれば、標準的なBGPと相互に動作する機構が提供される。
【0010】
例示のため、及び制限を加えることは目的とせず、3つのコンポーネント、すなわち、性能監視及び推論コンポーネント、ルーティング最適化コンポーネント、及びBGPブリッジに関して、本願発明を上位概念で説明する。
【0011】
性能監視及び推論コンポーネントは、大きな一組のサブネットワークへの利用可能な経路の性能を測定し、該測定値を使用して更に大きな一組のサブネットワークへの全ての利用可能な経路の性能を推論する。これに関連する幾つかの種類の性能測定(レイテンシ及びパケット損失等)が存在する。該性能監視及び推論コンポーネントの出力は、あらゆる宛先に対するあらゆる利用可能な経路についての各種類の性能のテーブルである。
【0012】
ルーティング最適化コンポーネントは、前記性能監視及び推論コンポーネントにより生成された前記性能テーブル、並びに、何れかの宛先に送られることになるトラフィックの量、各経路で利用可能な容量、及び何れかの経路を使用する際の経済的な対価といった、その他の重要な情報を使用する。該ルーティング最適化コンポーネントは、入力情報に基づいてあらゆるルーティングテーブルにコストを割り当てることができるコスト関数を含む。該ルーティング最適化コンポーネントは、最小化方法論(minimization methodology)を使用して、コスト関数により規定される極めて低いコストを有するルーティングテーブルを見つけだす。該最小化方法論によりどのルーティングテーブルが選択されることになるかを変更するための主な方法は、前記コスト関数を変更することである。ルーティング最適化コンポーネントの出力は、前記最小化方法論により見つけ出されたルーティングテーブルである。
【0013】
BGPブリッジは、前記ルーティング最適化コンポーネントにより生成されたルーティングテーブルを取得し、その情報をBGPを使用してルータに通信し、これにより、該ルータが該ルーティングテーブルに従ってトラフィックのルーティングを行うことが確実となる。
【0014】
本発明の目的は、複数の代替的な経路に関する性能測定に基づいてルーティング決定を行うことにある。
【0015】
本発明の別の目的は、複数の代替的な経路の動作上の及び/又は経済上の特性に基づいてルーティング決定を行うことにある。
【0016】
本発明の別の目的は、ルーティングテーブルに関連するコストを決定することにある。
【0017】
本発明の別の目的は、コストの最小化に基づいてルーティングテーブルを選択することにある。
【0018】
本発明の別の目的は、1つの宛先に対して多数の経路が利用可能である場合にルーティング決定を最適化することにある。
【0019】
本発明の別の目的は、最適化されたルーティングテーブルから導出されたルーティング情報をBGPルータへ通信することにある。
【0020】
本発明の更なる目的及び利点については本明細書の以下の部分で明らかとなる。ここで、その詳細な説明は、本発明に制限を加えることなく、本発明の好適な実施形態を完全に開示することを目的としたものである。
【0021】
本発明は、本発明の例示を目的とし同様の構成要素に同様の符号を付した図面を参照することにより一層完全に理解されよう。
【0022】
【発明の実施の形態】
本発明の例示を目的として図面を参照する。本発明は図2及び図20に関して一般に説明するシステム及び方法で実施されるものである。本書に開示する基本的な思想から逸脱することなく、該システムは、その構成に関し及びその構成要素の細部に関して変更し得るものであり、該方法は、その特定のステップ及びその順序に関して変更し得るものである、ということが理解されよう。
【0023】
最初に図2を参照する。同図には、本発明による性能ベースのルーティングシステム100の一好適実施形態の機能ブロック図が示されている。図示の例では、本発明は、性能監視及び推論コンポーネント102、ルーティング最適化コンポーネント104、及びBGPブリッジコンポーネント106を含む。
【0024】
一般に、性能監視及び推論コンポーネント102は、一組のサブネットワークに対して利用可能となる特定経路の性能を測定し、次いで該測定値を使用して一層大きな一組のサブネットワークに対して利用可能となる全ての経路の性能を推論する。監視及び推論コンポーネント102により行うことができる性能測定の例としてレイテンシ及びパケット損失が挙げられる(但しこれらには限定されない)。性能監視及び推論コンポーネント102は、各宛先に対する各利用可能な経路毎に測定され又は推論された各種の性能のテーブルを生成する。
【0025】
次いで、ルーティング最適化コンポーネント104は、前記性能監視及び推論コンポーネント102により生成された性能テーブル(及び随意選択的には更に別の経路特性)を使用して、1つのルーティングテーブルに関する「コスト」を決定する。上述の更に別の経路特性のうち一般に使用される可能性のあるものとして、各宛先に対するトラフィック108の量、各経路上の利用可能な容量110、何れかの経路を使用することの経済的な対価112、及び経路長114が挙げられる。トラフィックの種類(例えば「データ」対「VoIP」)をルーティング最適化コンポーネント104の入力として使用することさえ可能である。上記の列挙は、全てを包含するものではなく、単なる例示として提供したものである。
【0026】
性能テーブル及び適当と思われる任意の更なる経路特性に基づき、コスト関数を使用してルーティングテーブルにコストが割り当てられる。次いで、関連する最小化プロセスが実行されて、コスト関数により規定される「低コスト」を有するルーティングテーブルが識別される。該最小化プロセスによりどのルーティングテーブルが選択されることになるかを変更する主な方法がコスト関数の変更であることに留意されたい。ルーティング最適化コンポーネント104の出力は、低コストを有するよう最小化プロセスにより見つけ出されたルーティングテーブルである。
【0027】
BGPブリッジ106は、ルーティング最適化コンポーネント104により生成されたルーティングテーブルを取得して、その情報をBGPを使用してルータ116へ通信し、これにより、該ルータが該ルーティングテーブルに従ってトラフィックをルーティングすることが確実となる。
【0028】
ここで、本発明の性能ベースのルーティングシステム100の上記3つのコンポーネントの各々について一層詳細に説明する。かかるコンポーネントの各々の説明は、本発明を例示するものであって本発明の制限を目的とするものではなく、当業者であれば本書での開示から導出することができる多数の代替的構成及び実施形態が存在する、ということが理解されよう。
1.性能監視及び推論コンポーネント
BGPはAS間で性能情報を交換しないため、BGPプロトコルとは別個に、利用可能なAS経路の性能を測定する必要がある。本発明では、性能監視及び推論コンポーネント102は、レイテンシ及びパケット損失といった経路特性(一般に性能特性と記述することができる)を測定する。しかし、レイテンシ及びパケット損失は、一例として挙げたものに過ぎず、本発明を制限するものでもなく、またネットワークルーティングに関連する任意の数の経路特性が存在し得る、ということが理解されよう。可能であれば、該測定は、全ての宛先に対する全ての利用可能な経路にわたり実行されるべきであり、またリアルタイムで更新されるべきである。しかし、あまりにも多数の性能測定値を収集することは非現実的となり得るため、性能監視及び推論コンポーネント102は、推論方法論を使用して、一組の宛先に対する実際の性能に基づき他の組の宛先に対する性能を推論する。
【0029】
性能監視及び推論コンポーネント102は好適には、AS内で実行され本発明を使用してルーティングを制御するソフトウェアとして実施される。更に、性能no 測定は、何れかの隣接するASを使用して何れかの宛先サブネットワークに到達する結果としてASが観測すると考えられる性能を精確に表現するようにASの視点から行うべきである。このため、多数のASが本発明を使用してそれらのルーティングを制御する場合には、性能監視及び推論コンポーネントは、かかるASの各々内から実行されるべきである。
(a) 性能の監視
更なる説明のため、ここでレイテンシ及びパケット損失の測定方法について解説する。しかし、他の経路特性を測定するには異なる技術が必要になる可能性があることが理解されよう。
【0030】
特定のIPアドレスに対するラウンドトリップレイテンシ及びパケット損失の両者は、ping(周知技術)を使用して測定することができる、ということが当業者には理解されよう。pingは、インターネット制御メッセージプロトコル(ICMP)エコーメッセージを宛先ホストに送り、該ホストから1つのICMPエコー応答を受信するまでに要した時間を計測することによって機能する。該応答が何らかの指定された時間量野の値に受信されなかった場合には、これはパケット損失として扱われる。代替的な技術は、伝送制御プロトコル(TCP)セッションを確立するために3方向(three-way)ハンドシェイクで使用される同期(SYN)パケットと応答(ACK)パケットとの間の時間を測定することである。古典的なpingに優るこの技術の利点は、該技術が、性能のより精確な測定値を一般に提供する点にある。これは、ルータ及びホストがICMPトラフィックの優先順位を下げる(deprioritize)ことが多いからである。該技術はまた、ネットワーク内の一層高い可視性を提供する。これは、多くのホストが、TCPコネクションは許容するがICMPメッセージは許容せず、又はファイアウォールのためかかるメッセージを受信することができないからである。
【0031】
TCPハンドシェイク法の変形例により更に高い可視性を提供することができる。ファイアウォールによっては、TCPハンドシェイクにおける最初のSYNパケットをブロックすることにより、外部ホストがTCPセッションを開始するのを防止する。しかし、かかるファイアウォールは通常は、内部ホストが外部とのコネクションを開始することを許容し、このため、ACKパケットが該ファイアウォールを通過することを許容する。ACKパケットを期待していないホスト(すなわち該ACKパケットに対応するSYNパケットを送っていないホスト)にACKパケットが送られた場合には、該ホストは一般に、該ACKパケットが無効であることを示すリセット(RST)パケットで応答することになる。この挙動を使用して、ACKパケットとRSTパケットとの間の時間を測定することにより、ラウンドトリップレイテンシを決定することができる。しかし、この技術は、全ての宛先に対してうまく機能するものではなく、ネットワークによっては、期待しないACKパケットをそれがホストに到達する前に破棄する「ステートフル(stateful)」ファイアウォールによって保護されたものがある。ウェブサーバといった周知のTCPポートでのコネクションをいとわずに許容するマシンの場合、SYN pingは、最も効果的なものであり、かかる測定値を取得するのに好適な方法である。
【0032】
上述の測定技術は、ネットワーク中のホストがTCP/IPプロトコルを使用することを前提としたものである。しかし、他のプロトコルが開発された場合には、宛先に対するレイテンシ及びパケット損失を確立するための匹敵する方法が存在するはずである、ということが理解されよう。更に、かかる測定を行うための使用可能な他の適当な方法が存在し、本発明は上述の例により与えられる方法に限定されるものではない、ということが理解されよう。
【0033】
上述したような性能その他の経路特性は、一般に、特定のネクストホップASにより提供される経路を使用して特定のIPアドレスをプロービングすることにより、測定されることになる。しかし、インターネット上でのルーティングは、IPアドレスの範囲であるサブネットワーク(プリフィクスとしても知られる)の細分性(granularity)で指定される。それ故、本発明をインターネット上でのルーティングに適用するためには、サブネットワークに到達するために所与のネクストホップASにより提供される経路の特性を記述する必要がある。一例として、但し制限を目的とせず、その実施のための好適な方法は、所与のサブネットワーク内の特定の代表的なIPアドレスに対する個々の測定値を平均化して該サブネットワークに対する性能を記述することである。サブネットワークに対する性能その他の特性を規定するための代替的な方法が存在するが、該サブネットワーク内の特定のIPアドレスに対する測定値を平均化するのが好適である。これは、特定のサブネットワークに対する優れたルートとは、該サブネットワーク内の特定のアドレスに対する優れた性能を提供するルートであるからである。
(b) 性能の推論
様々な理由のため、利用可能なあらゆるping法を使用してもプロービングすることができない多数の宛先が存在する可能性がある場合であっても、プロービングすることができる宛先の数は依然として膨大である。例えば、使用中の約8万のプリフィクスが存在する場合には、行うことができる測定の数は、「8万」×「該測定を行うことができるASの数」となる。所与のサブネットワークに到達するために各々の隣接するASにより提供される経路の測定をリアルタイムで行うことができるのが理想的である。しかし、極めて多くの測定を行う場合には、大量のリソースが必要となる。更に、かかるサブネットワーク中の多くのホスト(かかるサブネットのプロービングを実際に受けるもの)は、かかる頻繁なプロービングを疑わしいものとして取り扱う可能性がある。また、サブネットワークの出力トラフィックの全てを隣接するAS上へシフトさせることなく該隣接するASにより提供される経路上で該サブネットワーク中の1ノードに対する性能を監視することは技術的に困難である。このため、全ての利用可能な経路上の多数のサブネットワークに対する性能を、一層少数の経路上の遙かに少数のサブネットワークに対する測定を使用して推論することができることが有用である。
【0034】
行う必要のある測定の数を低減させるために、性能監視及び推論コンポーネント102は、幾つかの組をなすサブネットワークに対する性能を幾つかのより少数のサブネットワークに対する測定を使用して推論する性能推論方法論を用いる。ここで、2つのサブネットワークに対する性能は、その各サブネットワークに到達するために使用される経路間の差が小さい場合には同様であるべきである、ということに留意されたい。例えば、2つの異なるIPアドレスに到達するための経路がその端部近傍の分岐を除いて同一である場合には、それら2つのIPアドレスに対する性能の差は、宛先ホストが該経路の一部であると考えた場合、異なる経路の部分上の性能差に起因するものでなければならない。一方、該2つの異なるアドレスに対する経路が分岐する際、該2つのアドレスに対する性能の相関関係はゼロに近づくはずである。この原理を用いると、地理的な意味でもトポロジ的な意味でも互いに近いアドレスは類似した性能を有するはずである。更に、サブネットワークはIPアドレスの集合を表すものであるため、同様の推論がサブネットワークにも当てはまる。しかし、「地理的又はトポロジ的なサブネットワークの場所」と称した場合には、これは、該サブネットワーク中の各ホストの全般的な地理的又はトポロジ的な場所を意味するものである、ということが理解されよう。
【0035】
IPアドレスのトポロジ的な場所は、標準的な「traceroute」ツール(宛先に到達するために選択された経路上の全てのルータホップの識別を試行するもの)を使用して決定することができる場合が多い。しかし、tracerouteは、不完全な情報を提供することが多く、これは特に多くのルータがtracerouteに応答しないためである。
【0036】
IPアドレスひいてはサブネットワークの精確なトポロジ的な場所を決定するのは困難であるが、それにもかかわらず、おおよその地理的な場所は、異なるソースから同一のIPアドレスへのレイテンシ測定の交差(intersection)を介して識別することができる。例えば、図3を参照すると、単一のソース200から1つのIPアドレスまでの観測されたレイテンシは、該ソース200と該宛先IPアドレス202との間の距離の近似値へと変換することができる。該概算距離Dは、観測されたレイテンシ(図示の例では53ms)をパケットの速度(単位:距離/時間)の概算値と組み合わせることにより決定される。例えば、光ファイバケーブルでは、パケットは、真空中の光の速度のおおよそ2/3の速度で伝搬することが分かっている。この速度は、物理的な媒体の変化、ネットワーク経路中の湾曲の程度、及びルータその他のデバイスにより加えられるレイテンシを含む、幾つかの要因の影響を受けることになる。これらの変動が存在するものと仮定すると、分析を介してではなく統計的な観測を介して平均速度を決定するのがより信頼性が高い。しかし、この速度の上限は容易に指定することが可能である。これは、パケットが高速よりも速く移動することはできないからである。このため、1つのサブネットワークに対するレイテンシは、やはり該サブネットワーク中の幾つかの組をなす代表的なIPアドレスに対するレイテンシの平均として規定される。
【0037】
ソースと宛先との間の距離が概算されると、該距離に等しい半径と該ソースの地理的な場所に配置された中心とを有する円を規定することができる。これを図4に円204で示す。この場合、ソース200は該円の中心にあり、該円の半径は概算された距離Dである。該概算された距離Dが実際の距離の上限であることが分かっている場合には、宛先は該円内に存在しなければならない。他のソースから同一の宛先までの距離の概算値を使用して更なる円を生成することができる。例えば、図5は、宛先202までの距離の概算値D1,D2,D3をそれぞれ有する3つのソース200,206,208を示している。それらソースの場所及び距離の概算値を使用して、図6に示すように交差する円204,210,212を規定することができる。それら距離の概算値の全てが実際の距離の上限である場合には、宛先はそれら円の全ての交差部分内に位置していなければならない。これもまた図6に示されている。同図において、宛先202は、円204,210,212の交差部分内に位置している。円204,210,212の直径は本例では比例して描かれていないことに留意されたい。
【0038】
各距離の上限が近接する結果として、交差領域が小さなものとなり、このため宛先の地理的な場所が一層精確に特定されることになる、ということに留意されたい。更に、より多くのソース(特に宛先に対して地理的に異なるソース)を追加することにより、交差領域が更に縮小して特定の精度が増大することになる。更に、より多くの測定を行うと共に最低のレイテンシの測定を選択することにより、交差領域のサイズが更に縮小されることになる。更に、この方法は、特定のIPアドレス及びサブネットワークの両者に(各場合に適当な距離を用いることにより)使用することが可能である。また、地理的な場所を識別することを目的としたこれらレイテンシ測定に用いるソースは、性能その他の経路特性を監視するために使用されるソースと同一である必要はない、ということに留意されたい。性能その他の経路特性を監視するために収集されるレイテンシは、かかる測定値を使用してルーティングの決定を行うASの視点から収集される必要があり、任意のIPアドレス又はサブネットワークの地理的な場所は、該ソースに関係するものではなく、このため任意のASの視点から決定することができる。
【0039】
各宛先の地理的な場所を概算した後、複数対をなす宛先の全ての対の間の距離の概算値を容易に計算することができる。2つの宛先の間の距離が極端に短い場合には、該2つの宛先のうちの一方に対してのみ性能を測定し、他方の宛先がそれと同じ性能を有するものと仮定することで、妥当な精度を得ることが可能である。この推論の精度は、2つのポイントが互いにトポロジ的及び地理的に如何に近接しているかによって決まる。しかし、2つのポイントが地理的に極めて近接している場合には、それらはトポロジ的に近接している可能性が高い。このため、該推論の信頼性は、該2つのポイント間の距離が短くなるにつれて増大するはずである。この観測を使用し、幾つかのサンプル宛先に関する性能測定値を組み合わせて重み付けした平均(すなわち加重平均)を求めることが可能であり、これは、単一の目標宛先に対する性能を一層精確に概算するものとなる。各性能測定値に割り当てる重みは、目標宛先とサンプル宛先との間の距離の逆元(inverse)となる。該距離の逆元は、性能測定値が目標宛先に対する未測定の性能と同一であるという相対的な信頼性を記述するものであるため、各性能測定値の重み付けを行うために使用される。
【0040】
例えば、図7を参照すると、3つのプリフィクスPR1,PR2,PR3が存在する場合、及びレイテンシ又は他の経路特性の測定が特定のネクストホップAS2を使用してソースAS1からプリフィクスPR1,PR2の各々に対して行われた場合には、AS2により提供される経路を使用したプリフィクスPR3に対するレイテンシ又は経路特性を推論することが可能である。L(AS_X,AS_Y,PR_Z)は、AS AS_Yにより提供される経路が使用される場合におけるAS AS_XからプリフィクスPR_Zへのレイテンシを表すものとする。また、D(PR_X,PR_Y)は、プリフィクスPR_XとプリフィクスPR_Yとの間の距離を表すものとする。次式を使用して、ネクストホップASとしてAS2を使用した場合のAS1からPR3へのレイテンシを推論することが可能である。
【0041】
【数1】
Figure 0003742058
【0042】
この例では、2つのプリフィクスのみに対する測定値が使用されるが、実際には、多数の測定値を使用して1つの推論を行うべきである。また、該推論方程式において使用される測定は全て、同一のネクストホップASを使用して行われたものでなければならず、ASは、推論される経路中のネクストホップと一致しなければならない、ということに留意されたい。該例では、AS2が測定及び推論の両方のためのネクストホップASである。この例は、ソースASから宛先へトラフィックを送るための経路が1つしか存在しないものと仮定している。しかし、1つのASは多数のASに結合することが可能であり、それ故、2つ以上のネクストホップASが宛先へのトラフィックの送信に利用可能となる可能性がある。このため、更なる明瞭化のために、L(AS1,AS3,PR3)を推論する場合には、測定もまたネクストホップとしてAS3を使用しなければならないことになる。同様の計算を複数のネクストホップASの各々毎に行うことになる。また、本書で説明する平均化技法は例示のみを目的としたものであり、非平均化技法を含む他の技術を使用することも可能である、ということが理解されよう。更に、上記の例で距離の逆元を使用して各項の重み付けを行う代わりに、経路上で共有されているルータの数により測定した共有トポロジの量を使用して各項を重み付けすることも可能である
この技術が任意の所与の宛先に対する性能を精確に概算するものとなるという保証は存在しないが、その有効性は、実際の測定値の集合を使用して容易に決定することができる。かかる測定値を使用する場合には、任意の所与の精度にとって必要となる、推論値に対する測定値の比を決定するのが直接的である。例えば、幾つかのランダムに選択された一部の測定値を「サンプル対象外(out-of-sample)」として扱い、これを残りの「サンプル対象(in-sample)」の測定値により推論しなければならないものとすることができる。「サンプル対象外」データの相対的な大きさは、誤差の平方自乗平均(RMS)が許容可能なしきい値内にくるまで小さくすることができる。
【0043】
更に、経路特性を推論するための上述の技術は好適なものであるが、以下に示すような他の方法(但しこれらには限定されない)で推論を行うことが可能であることが理解されよう。
1.複数組のプリフィクスを監視し、次いで各組中の全てのプリフィクスを同じ様式で扱う。
2.類似性に基づきプリフィクスを集め、かかる集めたプリフィクスの全ての組を同じ様式で扱う。
3.類似した特性を有するプリフィクスをサブセットへと分け、該サブセットを同じ様式で扱う。
4.性能、地理的場所、及びその他の相関的な因子といった(但しこれらに限定されない)類似性の基準に基づきプリフィクスを複数の組に配置し、該組のプリフィクスを同じ様式で扱う。
【0044】
1つの組は、単一のプリフィクス、1グループのプリフィクス、互いに地理的に近接した2つの組の組み合わせ、ASに対して同様の性能を経験する2つの組の組み合わせ、及び複数の組からなる複数の組等とすることが可能であることに留意されたい。
【0045】
最後に、本書に記載の経路特性を推論するための技術に対する更なる改善として次の事項が挙げられる(但しこれらには限定されない)。
1.経路特性が推論されることになる宛先のAS経路と同じAS経路にわたり性能測定を行う。
2.tracerouteにより決定されるようなトポロジを推論技術に追加する。この場合、各測定値は、測定される宛先と推論が行われる宛先との両方に共通の経路の長さにより重み付けすることができる。
(c) 円の交差
推論プロセスは、異なるAS経路の性能の変化を考慮するために、頻繁に実行する必要があるが、サブネットワークの地理的な場所は、あまり頻繁には変化しない。このため、サブネットワークの地理的な場所を決定するためのプロセスは、あまり頻繁に行う必要がない。しかし、該プロセスを実行する場合には、妥当に短い時間で実行する必要がある。該プロセスの計算上の動作の殆どは、各ソースから宛先への距離を表す一組の円の交差を見出すことを含み、このため、該交差の発見を効率的に行わなければならない。
【0046】
任意の2つの円の交差は、単純な代数から計算することが可能であり、それら円が実際に交差するものと仮定すれば、2つの交差点により記述することができる。一組の円の交差は2つの段階で行うことができる。第1段階で、交差の2つの点を全ての対をなす円について計算することができる。何れかの円がそれよりも大きな円の内側に完全に含まれている場合には、該大きな円が破棄される。第2段階で、前記第1段階による全ての点を検査して、それらの点があらゆる円内に含まれるか否かを判定する。任意の2つの円の交差は、一定の時間で実行され、N個の円からなる複数の対を形成するのにN(N−1)/2の方法が存在し、その各々により2つの点が生成される。よって、第1段階は2N(N−1)/2=N(N−1)個の点を生成する。第2段階はそれらの各点と各円との間の一定時間の比較(constant time comparison)を行う。第1段階からのN(N−1)個の点が存在するため、N×N(N−1)の比較が存在することになり、従って、該比較は、O(N3)時間で実行される。よって、プロセス全体は、O(N2+N3)=O(N3)ステップで実行される(Nは円の個数)。
【0047】
ソースの数が多い場合には、一組の円を交差させるためのO(N3)のプロセスはあまりにも遅いものとなり得る。しかし、線形時間で実行される直接的な近似を使用して該交差プロセスをスピードアップさせることが可能である。1つの組からの任意の2つの円を交差させた後、それらの交差領域の境界を形成する矩形を構成することができる。任意に選択された該矩形と残りの円との交差は、新たな矩形で表すことができる。このステップは、残りの全ての円について繰り返すことができ、この場合、各ステップで生成された矩形は次のステップでの交差のために使用される。交差の各々を記述するために生成された矩形が、交差領域を完全に包囲する場合には、最後のステップで生成された最後の矩形が各円の領域の交差を完全に包囲することになる。2つの円の間の第1の交差は、一定時間で実行される。同様に、残りのN−2ステップの各々は、1つの円と1つの矩形との間の一定時間の交差となる。よって、プロセス全体はO(N)ステップで実行される(Nは円の個数)。
【0048】
3つの互いに交差する円300,302,304に適用される上述の「矩形による近似」プロセスの一例を図8Aないし図8Dに示す。最初に、図8Aに示すように、円300,302といった2つの円の交差306が求められることになる。次いで、その交差領域を、(好適には図8Bに示すような矩形形状の)交差オブジェクト308により取り囲むことができる。該交差オブジェクト308は、該交差を取り囲む最小の境界を表すものとなるべきである。図8Cも参照すると、概算された交差が、交差オブジェクト308の内側のハッチングされた領域310で示されている。ここで、第3の円304が描かれた場合における該円304と交差オブジェクト308との交差が、ハッチングされた領域312で示されている。
【0049】
よって、上述の方法は、1つの交差オブジェクトと以前の複数の交差について概略的に述べたものであることが理解されよう。次いで、交差オブジェクトは、後続の円又は該後続の円を表すオブジェクトと交差することになる。交差オブジェクトは好適には、上述のような矩形形状のものであるが、代替的に他の形状(例えば多角形)にすることも可能である。この方法は、精度の代償の元に線形時間で実行する計算技術を用いることより、計算上の複雑性を低減させ、計算速度を増大させるものである。
2.ルーティング最適化コンポーネント
図2を再び参照する。ルーティング最適化コンポーネント104は、好適には、ルート選択に関連し得るあらゆるデータに基づいてルーティングテーブルを生成するソフトウェアから構成される。該ルーティング最適化コンポーネント104は、性能監視及び推論コンポーネント102により提供される経路特性のテーブル、、並びに、各プリフィクスに送られるトラフィック108の量、各ネクストホップASに対して利用可能となる容量110、及び任意のネクストホップASを使用する対価112といった他の関連情報にアクセスすることができる。トラフィック108は、Netflow(R)及びその類を使用して容易に得ることができる。「パイプサイズ」又は容量110は、システム設計情報から得ることができる。対価112は、バックボーンプロバイダその他との契約その他のサービス合意から得ることができる。特定の経路の特性に関して他の情報が存在しない場合には少なくとも経路長114(単位:ASホップ)を知ることが有用であり、該経路長は、全ての経路に関してルーティング最適化コンポーネント104にも提供される。この情報は、BGPから容易に得ることができる。同様に、所与のサブネットワークが隣接するASから到達可能であるか否かがルーティング最適化コンポーネント104に提供されなければならない。これは、特定のルートを選択プロセスから除外できるようにするためである。他の変数(例えばトラフィックの種類)がルート選択プロセスに関係すると思われる場合には、該変数もまたルーティング最適化コンポーネント104に対して利用可能にするべきである。ルーティング最適化コンポーネント104に対してデータを利用可能にする多くの方法が存在するが、最も一般的に適当できる解決策はデータベースにデータを格納することである、ということが当業者には理解されよう。
【0050】
利用可能な経路情報の全て、及びその他の関連情報が与えられた場合、ルーティング最適化コンポーネント104の目的は、できる限り「良い」ルーティングテーブルを生成することである。しかし、「良い」ルーティングとは、本発明のユーザによって異なって定義され得る。例えば、あるユーザは、レイテンシよりもパケット損失に重きを置く可能性があり、かかるユーザは、パケット損失を最小限にする(たとえそれがレイテンシの増大を意味するものとなろうとも)ルーティングテーブルの生成をルーティング最適化コンポーネント104に行わせることを望むことになろう。またユーザによっては、ルート選択の対価に重きを置く可能性があり、かかるユーザは、結果的にパケット損失及びレイテンシが生じることになる(それが大して補償する必要のないものであることを意味する場合)ルーティングテーブルを好むことになろう。ルート選択プロセスにおける異なる嗜好を考慮するために、ルーティング最適化コンポーネント104は、ルーティングテーブルのコスト関数をユーザが指定することを可能にする。該コスト関数は、あらゆるルーティングテーブルを評価し、該ルーティングテーブルに非負の実数値のコストを割り当てる(この場合、より小さいコストはより優れたルーティングを意味するものと解釈される)ことができなければならないものである。コスト関数は、経路特性又は任意の他の関連情報を使用してコストを決定することが可能である。
【0051】
この発明のユーザは、任意のコスト関数を自由に規定することが可能であり、ルーティング最適化コンポーネントの責務は、該コスト関数により規定される小さなコストを有するルーティングテーブルを見出すことにある。考え得るルーティングテーブルの膨大な空間が与えられた場合には、ルーティング最適化コンポーネントは、全ての探索ではなく最小化アルゴリズムを使用して、小さなコストを有するルーティングテーブルを見出す。
(a) ルーティングテーブル
ルーティングテーブルは、任意の所与のプリフィクスに到達するためにどのネクストホップASを使用することになるかを示す行列である。各ソースAS毎の行、及び各宛先プリフィクス毎の列が存在する。任意のルーティング行列Rについて、表記R[i,j]は、宛先jに到達するためにソースASiにより使用されるネクストホップASを示すものとなる。本発明が、単一のASについてのルーティングしか制御しないものである場合には、該行列には一行しか存在しないことになる。しかし、本発明の利益の一つは、本発明が複数のソースASにわたりルーティングを最適化して該ASがより協働的にインターネットのリソース(利用可能な帯域幅等)を使用することを可能にすることにある。
【0052】
例えば、図9は、8つのAS(AS1 400,AS2 402,AS3 404,AS4 406,AS5 408,AS6 410,AS7 412,AS8 414)が存在するネットワーク構成の一例を概略的に示している。AS6 410はプリフィクスPR1,PR2を含むものとして示され、AS7 412は、プリフィクスPR3を含むものとして示され、AS8 414は、プリフィクスPR4を含むものとして示されている。しかし、1つのネットワークは、図示するよりも少数の又は多数のASを含むことが可能であり、各ASは、少なくとも1つのプリフィクスを含むものとなる、ということが理解されよう。また、AS1 400が幾つかの隣接するASを有していることを図9が示していることに留意されたい。ここで、AS400は、「高度にマルチホーム化された(highly multi-homed)」ASと呼ばれるものであり、すなわち、多数の他のASに直接結合されたものである。
【0053】
該8つのASの各々を1つのソースASとみなすものと仮定して、この構成に関する考え得るルーティングテーブルを図10に示す。しかし、図10に示すルーティングテーブルは単なる一例であり、利用可能な多数の代替的な経路に起因して使用することが可能な多数の他のルーティングテーブルが存在する、ということが理解されよう。
【0054】
AS1 400に焦点を当てる。図9は、AS1 400からAS6 410又はAS7 412又はAS8 414への複数のルートが利用可能であることも示している。これは、図10に示すルーティングテーブルの第1行が、図11ないし図14に示すような複数の代替的なエントリを有することができることを意味している。例えば、図11では、プリフィクスPR1,PR2(両方ともAS6 410内に存在する)へのトラフィックは、ネクストホップASとしてのAS2 402を介してルーティングされる。又は、両方のプリフィクスへのトラフィックは、図12に示すようにAS3 404を介してルーティングされる。AS2 402及びAS3 404の間の結合(tie)が性能に基づくものである場合には、該結合は任意に分断することができる。代替的には、ネットワーク上の当該部分における負荷を平衡化させることにより該結合を分断することができる。例えば、図13のルーティングテーブルでは、プリフィクスPR1,PR2へのトラフィックは、AS2 402及びAS3 404間でそれぞれ分割される。しかし、負荷の平衡化は、性能に基づきルート間に結合が存在する場合に限定されるものではなく、特定のルート上の負荷又は代替的にはヘッドルームを一般にルーティングを最適化するために追加の因子とすることが可能である、ということが理解されよう。
【0055】
ここで図14を参照する。同図には、図9に基づく更なる代替的なルーティングテーブルが示されている。この場合には、AS5 408が、プリフィクスPR4へトラフィックをルーティングするためのネクストホップASとして次善のものと仮定されている。図14のルーティングテーブルでは、プリフィクスPR4へトラフィックをルーティングするためのネクストホップASとしてAS4 406が選択されている(すなわち、AS8 414に対して直接ではなくAS7 412を介してルーティングする)。上記のルーティングテーブルは、単なる例示であり、図9に示すネットワーク構成のために多数の代替的なルーティングテーブルを生成することが可能である、ということが当業者には理解されよう。
【0056】
したがって、多数の代替的なルーティングテーブルを用いてソースASから宛先へトラフィックを送ることが可能であることが理解されよう。ルーティングテーブルに関する上記説明を心に留めつつ、ルーティング行列に関するコストを決定するためのコスト関数について説明することとする。
(b) コスト関数
コスト関数は、あらゆるルーティング行列の使用コストを決定する。ルーティング行列中に何行が存在するかにかかわらず、ルーティング行列に同一のコスト関数を適用することが可能であることに留意されたい。換言すれば、同一のルーティング最適化コンポーネントを使用するソースASの個数が増大した場合にコスト関数を修正する必要がない。
【0057】
ルーティングに最も関係する項の幾つかを含むコスト関数の一例を次式で示すことができる。
【0058】
C(R)=k1・レイテンシ(R)+k2・ヘッドルーム(R)+k3・対価(R)
ここで、Rはルーティング行列、Cは該ルーティング行列のコスト、k1,k2,k3は該項の相対的な重要性を便利に調整するための係数である。
【0059】
その第一項であるレイテンシ(R)の一例は次式で示すことができる。
【0060】
【数2】
Figure 0003742058
【0061】
ここで、トラフィック[i,j]は、ASiからプリフィクスjへ送られるトラフィックの量を表し、レイテンシ[i,j,R[i,j]]は、ASiからネクストホップAS R[i,j]を使用してプリフィクスjに到達する際に期待されるレイテンシの量を表している。これがレイテンシ(R)に関する良い選択である理由は、該式が、1バイトあたりの平均レイテンシを表すことにあり、このため、その小さな値は小さな平均レイテンシを表すものとなる。
【0062】
第二項であるヘッドルーム(R)は、任意の経路を介してルーティングされたトラフィックの量が利用可能な容量よりも大きい場合に直面するキュー効果(queuing effects)を指すものである。経路全体に沿った精確な容量を知ることは困難であるが、ソースASとそれに隣接するASとの間の容量は入手できるはずである。キュー効果は、極めて精確なキューモデルを使用して記述することが可能であるが、本発明の目的のためには、単純な個々の線形関数では不十分である。かかる関数は、容量に対するトラフィックの比が小さい場合にはキュー効果は無視できるが該比が大きい場合にはキュー効果は重大なものとなるという事実を考慮すべきである。例えば、以下の関数は、全容量の70%をしきい値として使用している。この場合には、ヘッドルーム(R)の項は、図15に示すように重要なものとなる。
【0063】
ヘッドルーム[R]=If[トラフィック対容量比[i,k]<.7,
then kSmall・トラフィック対容量比[i,k],
else kLarge・トラフィック対容量比[i,k]
ここで、
【0064】
【数3】
Figure 0003742058
【0065】
であり、kSmallは該式中の他の項の大きさに対して小さな数であり、kLargeは該式中の他の項の大きさに対して大きな数である。このヘッドルーム関数を使用したキューの考慮は、利用可能な容量に比べてトラフィックの量が大きい場合に、ヘッドルームが該式中で最も重要な因子となるが、その比が小さい場合には、該項は他の因子に比べて小さくなる、という利点を有するものである。kSmall及びkLargeの値並びにしきい値レベルは任意に選択されることに留意されたい。別の重み及びしきい値も併用することが可能である。これは、ヘッドルーム項を重要であるとみなすべき点まで容量に対するトラフィックの比が増大した際に単にコスト関数を急速に上昇させることが目的だからである。
【0066】
対価項Price(R)は、ルーティング行列に従ってトラフィックをルーティングするために要する単なるドル量である。これは、各ソースASと各ネクストホップASとの間の経済的な契約、並びにルーティング行列により各ソースASが各ネクストホップASへ送ることになるトラフィックの量によって決まる。
【0067】
コスト関数に現れ得る幾つかの他の項が存在する。例えば、パケット損失は、ルート選択に極めて関係するものであり、レイテンシに極めて類似した態様でコスト関数に追加することが可能なものである。有用となり得る項の次に明らかな例がルート変更項であり、この場合、ルート変更(R)=[ルーティング行列が実際に使用される場合に変更されることになるルートの数] である。ルート変更項は、不必要な変更を回避するため、又は時間と共に発生する共振の防止を助けるために有用なものである。
(c) 最小化アルゴリズム
コスト関数の最小化のために使用することができる幾つかの周知のアルゴリズムが存在する。かかる各アルゴリズムは、速度、最適度、及びリソース要件の間で異なるトレードオフを提供するものである。その幾つかの例が、遺伝的アルゴリズム(genetic algorithms)、焼きなまし法(Simulated Annealing)、及び傾斜探索法(gradient search)である。遺伝的アルゴリズムは、ルーティングテーブルのサイズを考えると、おそらくあまりにも多大なメモリを要するため実施できないであろう。焼きなまし法は、遺伝的アルゴリズムと比べると大してメモリを要するものではないが、変化するネットワーク状況に応じるために新たなルーティングテーブルを生成することが必要となる速度を考えると、おそらく遅すぎるものとなる。傾斜探索法は、多大なメモリを要するものではなく、焼きなまし法と比べて非常に高速ではあるが、ローカルミニマ(local minima)に捕捉される可能性があるため、この解決策は次善のものとなることが多い。
【0068】
多数の技術を使用して、コスト関数により規定される小さなコストを有するルーティング行列を見出すことができることは明らかであるが、好適なアルゴリズムは、ローカルミニマから逃れるための上昇移動(up-hill moves)を時折伴う、驚くほど単純なバイアス式ランダムウォーク(biased random walk)である。より詳細には、該アルゴリズムは、開始ルーティング行列をランダムに生成することにより機能する。該アルゴリズムは次いで、何れかのソースASi及び何れかの宛先プリフィクスjをランダムに選択することにより何回かの反復へと進行する。該アルゴリズムは、何らかの確率で、新たなネクストホップASをR[i,j]に割り当て、又は最低のコストを生じさせるネクストホップASをR[i,j]に割り当てる。最低のコストを生じさせるネクストホップASを見出すために、該アルゴリズムは、全ての代替的なネクストホップASにわたって反復し、それらをR[i,j]に割り当て、次いで新たなルーティング行列についてコスト関数を評価する。傾斜探索法と同様に、このアルゴリズムはローカルな移動しか行わない。しかし、このアルゴリズムは、ランダムな移動を時折行うため、容易にローカルミニマに捕捉されることはない。
【0069】
バイアス式ランダムウォークアルゴリズムの実際上の問題は、各反復において、ネクストホップASをランダムに割り当てない限り、各ネクストホップASを選択する度にコスト関数の評価を行わなければならないことである。コスト関数の計算が低速である場合には、これは、妥当な時間内に計算することができる該アルゴリズムの反復の数を制限するものとなる。これは問題である。なぜなら、該アルゴリズムが多数の反復を実行できない場合には、最後の反復時のルーティング行列があまり最適でないものとなるからである。評価の各ステージで情報をキャッシュして該情報を更新するだけにすることにより、コスト関数の評価をスピードアップさせることができる場合が多い。
【0070】
例えば、上述したようなレイテンシ及びヘッドルーム項を有する次式のコスト関数について考察する。
【0071】
C(R)=k1・レイテンシ(R)+k2・ヘッドルーム(R)
あるルーティング行列R0(R0[AS1,PR1]=AS2、C(R0)=C0)が存在するものと仮定する。R1[AS1,PR1]=AS3であることを除き、R1をR0と同一に構築する。新たなR1にコスト関数を単に適用する場合よりも遙かに迅速にC(R1)を計算することが可能である。コスト関数の定義より、C(R0)=k1・レイテンシ(R0)+k2・ヘッドルーム(R0)、及びC(R1)=k1・レイテンシ(R1)+k2・ヘッドルーム(R1)となる。レイテンシ項のスピードアップは、k1・レイテンシ(R1)=k1・レイテンシ(R0)−レイテンシ[AS1,PR1,R0[AS1,PR1]]+レイテンシ[AS1,PR1,R1[AS1,PR1]]となることの観測から得られる。よって、以前のレイテンシ項「レイテンシ(R0)」を単にキャッシュすることにより新たなレイテンシ項を計算することが可能である。
【0072】
ヘッドルーム項は、それよりも僅かに複雑なものとなる。これは、非線形のキュー効果によるものである。しかし、各隣接するASに送られるトラフィックの量を追跡するために1つの行列を使用する場合には、ヘッドルーム項もまた迅速に計算することができる。隣接トラフィック_R0が、あるASからその他のASに送られたトラフィックの量を示す行列である場合には、隣接トラフィック_R1は次式で定義することができる。
【0073】
隣接トラフィック_R1[AS1,AS2]
=隣接トラフィック_R0[AS1,AS2]−トラフィック[AS1,PR1]
更に、
隣接トラフィック_R1[AS1,AS3]
=隣接トラフィック_R0[AS1,AS3]−トラフィック[AS1,PR1]
他の全てのASの場合には、
隣接トラフィック_R1[i,k]=隣接トラフィック_R0[i,k]
となる。隣接トラフィック_R1行列からヘッドルームを計算するのは容易である。以前のヘッドルーム項は、数4からトラフィック対容量比を計算するが、隣接対トラフィック行列を使用して数5からその値を計算することが可能である。
【0074】
【数4】
Figure 0003742058
【0075】
【数5】
Figure 0003742058
【0076】
この方法は、特定のタイプのコスト関数の場合にはうまく機能しないが、コストが、ちょうど各変数によるコストに対する寄与の総和となる場合には、
コスト(R1)=コスト(R0)−コスト寄与(旧値)+コスト寄与(新値)
と言える。これらの個々の寄与が計算の速いものである場合には、変化する変数が少数であると仮定すれば、旧コストから新コストを見出すのもまた速くなる。
(d) 多数のソースAS
既述のように、本発明は、多数のソースASを有するシステムのためのルーティングテーブルを最適化するために使用することができる。かかるルーティングテーブルの一例を図10に示す。多数のソースASを有するシステムを最適化することにより生成される該ルーティングテーブルは、ルーティング決定を別個に行うことにより生成されたルーティングテーブルよりも潜在的に一層最適なものとなる。例えば、本発明の最適化アルゴリズムは、複数のソースASの全てからのトラフィックが如何なる経路の利用可能な容量をも超えないように各ソースASにルートを割り当てることができる。しかし、ルーティング決定が別個に行われる場合には、ソースASは、特定の経路の容量が他のソースのトラフィックにより既に消費されている場合であっても、該経路に沿ってトラフィックをルーティングしてしまう可能性がある。しかし、該ルーティング最適化アルゴリズムの1つの実例(instance)が幾つかのソースASのためのルートを選択する場合に、かかるソースASは、ルーティング決定を受信するために該ルーティング最適化アルゴリズムと連絡することができないと機能しなくなる可能性がある。該最適化アルゴリズムは、ルーティングを集中管理化することにより障害発生の可能性が追加されることに加えて、ルーティング行列中の行数が非常に大きくなると非常に低速化し得る。
【0077】
幾つかのソースASのためのルーティングを最適化するために、本発明は、ルーティング行列の区画化を行って、各部分を平衡して解決することができるようにする。図16は、図10のルーティングテーブルの一例を示している(楕円は各区画を示している)。ルーティング最適化アルゴリズムの各実例は、ルーティング行列全体を使用するが、その行列中の幾つかのエントリを修正することしか許容されない。各ソースASは、そのソースASに対応する行中の任意の要素を修正することが許容されるアルゴリズムの一実例を実行する。また、任意のソースAS中に含まれるプリフィクスに対応する列中の任意の要素を修正することが許容されるアルゴリズムの「中央の(central)」実例が存在する。行列のうち、ソースASで実行中のアルゴリズムの実例が修正を行うことが許容された部分は、該行列のうち、中央アルゴリズムが修正を行うことが許容された部分と重複することに留意されたい。しかし、行列のうち各ソースASで実行中のアルゴリズムにより修正できる部分間には重複は存在しない。
【0078】
アルゴリズムの中央の実例は、各ソースASからルーティング行列の複製を定期的に取り出し、及びそのルーティング行列の複製を各ソースASに送らなければならない。アルゴリズムの中央の実例は、幾つかのソースASからルーティング行列の複製を取得する場合に、該ルーティング行列の特定のエントリをそれ自体のルーティング行列にコピーする。詳細には、アルゴリズムの中央の実例は、ソースASに対応する行中のエントリであって他のソースASに含まれるプリフィクスに対応する列中に存在しないエントリをコピーする。ソースASで実行中のアルゴリズムの実例は、中央アルゴリズム実例からルーティング行列の複製を受信すると、特定のエントリをそれ自体のルーティング行列にコピーする。ソースASで実行中のアルゴリズムの実例は、該ソースASに対応しない全ての行からのエントリの全てをコピーする。該ソースASに対応する行から、該アルゴリズムの実例は、他のソースASに含まれるプリフィクスに対応する全ての列からの全てのエントリをコピーする。
3.BGPブリッジコンポーネント
この時点で、ソースAS中のルーティング最適化コンポーネント104により行われた決定を該AS中の各ルータに伝達する必要がある、ということが理解されよう。これは、BGPブリッジコンポーネント106を使用して達成される。
【0079】
動作時に、ルーティング最適化コンポーネント104は、該ASに対応するルーティング行列中の行をBGPブリッジ106に送る。該BGPブリッジ106は、EBGPを使用して、隣接するASの各々、並びに該AS内のルートリフレクタとピアになる(peer)、ルーティングサーバである。該ルーティングサーバは、BGPブリッジ106が全てのBGPビュー(views)をルーティング最適化コンポーネント104に通信することを可能にし、更にルーティング最適化コンポーネント104がルーティングテーブルをBGPブリッジ106に通信することを可能にする、非BGP双方向通信チャネルをルーティング最適化コンポーネント104に含めるよう修正される。随意選択的に、BGPブリッジ106にIBGPで通信を行わせるよう修正することも可能である。BGPブリッジ106は、隣接するASから受信した経路、並びにルーティング最適化コンポーネント104から受信したルーティングテーブルに基づき、任意の所与のプリフィクスに到達するためにどのネクストホップを使用するかを選択する。殆どの環境では、BGPブリッジ106は、ルーティング最適化コンポーネント104により指定されたネクストホップを選択することになる。しかし、BGPブリッジ106は、隣接するASとピアであるため、ルーティング最適化コンポーネント104により指定されたルートが(おそらくは該ルートの使用中止の結果として)無効であることを学ぶことが可能である。ルーティング最適化コンポーネント104により指定されたルートが使用できない場合には、BGPブリッジ106は、隣接するASから受信した情報に基づき標準的なBGP経路選択アルゴリズムを使用して経路選択を行い、その情報をルーティング最適化コンポーネント104へ伝送することになる。該選択は、EBGPを使用してルートリフレクタへ通信され、該ルートリフレクタは、その決定をIBGPを使用してAS内の他のルータの全てに通信する。
PNAP内での配置
以上、本発明を一般にASに関して(特にマルチホーム化されたASに関して)説明してきた。本発明はまた、プライベートネットワークアクセスポイント(PNAP)(すなわち高度にマルチホーム化されたAS)を用いたネットワークに関連して使用するのに特に適したものである。一般的に言えば、PNAPは、2つの二分体(halves)から構成されるものと考えることができる。一方の二分体は顧客に接続され、他方の二分体はNSP(すなわちネットワークサービスプロバイダ)に接続される。次いで該NSPが宛先に接続され、該宛先は、該NSPの顧客又は他のPNAPの顧客とすることが可能である。例えば、図17は、複数のNSPにより複数のバックボーンB1〜Bnを介してインターネット506に接続された第1PNAP502及び第2PNAP504を有する相互接続ネットワーク500の概要を示す説明図である。各PNAPには、それを顧客側CSと複数のバックボーンに接続されたプロバイダ側PSとに分割する垂直方向の破線が記載されている。図示の例の場合、PNAPのプロバイダ側はバックボーンB1〜Bnを介して互いに接続され、次いで該バックボーンB1〜Bnがインターネット506に接続されている。2つのPNAPしか示していないが、1つ又は他の任意数のPNAPがネットワーク中に存在することが可能である、ということに留意されたい。
【0080】
図示を単純化するために、PNAP502の顧客側に接続された2つの顧客508,510、及びPNAP504の顧客側に接続された2つの顧客512,514しか示していない。しかし、典型的にはより多くの顧客が、それらPNAPの顧客側に接続されることになる、ということが理解されよう。顧客508,510は、両方のPNAPの顧客側に接続されて示されており、よって「マルチホーム化されている」とみなされる、ということに留意されたい。しかし、顧客は、代替的に、1つのPNAPのみに接続すること、又は任意数のPNAPに同時に接続されることが可能である。顧客508,510がインターネット506へのリンク516,518に接続されて示されていることに留意されたい。これもまた「マルチホーム化された」構成であるとみなされる。しかし、顧客がマルチホーム化されている必要はないことが理解されよう。
【0081】
上述のように、PNAPのプロバイダ側は、NSPにより提供される複数のバックボーンに接続される。次いでこれらのバックボーンがインターネット506の構造の大部分を形成し、該インターネット506に宛先520,522といったインターネットユーザが接続される。図の単純化のために、かかる2つの宛先しか示していないが、任意数の宛先が存在することが可能である。NSPは、これらバックボーン上でPNAPを介して該NSP間でトラフィックを交換することはない、ということに留意されたい。バックボーンB1〜Bnを提供するNSP間のトラフィック交換は、パブリック又はプライベートピアリング(peering)ポイント(図示せず)で行われる。例えば、顧客508は典型的には、そのトラフィックをPNAP502を介してその顧客側からプロバイダ側へとルーティングすることになる。次いで該PNAP502は、該顧客から、バックボーンB1〜Bnのうちの1つを介して、別のPNAP上の宛先への経路、又は非PNAPの宛先(例えば宛先520)への経路を選択することになる。
【0082】
トラフィックをPNAPの顧客から宛先へルーティングするには、該PNAPにおける1つ又は2つ以上のルータが、該宛先へのネクストホップASを指定するルーティングテーブルを有していなければならない、ということが理解されよう。ここで図2を再び参照する。既述のように、BGPブリッジ106は、ルーティング最適化コンポーネント104からルータ116へルーティング情報をBGP互換形式で通信する。本発明がPNAPで実施される場合にはルータ116は該PNAP中に存在することになることが理解されよう。また、図示の構成では、ルーティングテーブルの如何なる変更もBGPブリッジ106によりPNAP中のあらゆるルータへ伝送することが可能である、ということに留意されたい。また、BGPブリッジ106が該情報をあらゆるPNAP中のあらゆるルータに伝送することも可能である。
【0083】
これは、米国特許第6,009,081号においてルーティングテーブルが伝送される態様とは異なるものであることに留意されたい。該システムでは、各PNAPは一意のASを有しており、1つのPNAP中の全てのルータは、互いに通信し、PNAPと同じASを有しており、各バックボーンが一意のASを有している。ルートリフレクタは、ルートの全てを照合し、ポリシーを適用し、及びフィルタリングされた組をなすルートを前記適用されたポリシーに基づきPNAP中の全てのルータに伝送するために使用される。しかし、本発明では、ルートリフレクタは必要なく、その代わりに(必要であれば)、BGPブリッジ106を各コアルータ又はエッジルータに論理的に結合させてルートを直接伝送することができる。該コアルータ及びエッジルータは、単純にパケットを転送し、ポリシー決定は行わない。ルーティング最適化コンポーネント104が失敗した場合には、BGPブリッジ106が既存のルーティングテーブルを使用して処理を続行することになる。
【0084】
BGPブリッジ106とPNAP中のルータとの間のインタフェイスの更なる解説のため、コアルータ及びボーダルータが使用される拡張されたルータ構成600の一例を図18に示す。図18に示す例では、一対のBGPブリッジ106a,106bが冗長性を持たせるためにルーティング最適化コンポーネント104に接続される。次いで該BGPブリッジ106a,106bがスイッチ602a,602bに接続され、次いで該スイッチが複数のコアルータ6041〜604nに接続され、次いで該コアルータの各々がNSPルータ6061〜606nに接続される。更に、ボーダルータ608a,608bがスイッチ602a,602bに接続され、及び該ボーダルータ608a,608bに顧客6101〜610nが接続される。
【0085】
動作時には、BGPブリッジ106a,106bは、通常のBGPピアリングセッションを介してNSPルータ606から宛先への経路を取得する。次いで、BGPブリッジ106a,106bは、該情報を既述の最適化のためにルーティング最適化コンポーネント104へ通信する。該最適化の後、ルーティング最適化コンポーネント104が、経路選択を決定するために、各宛先プリフィクス毎にルーティングテーブルをBGPブリッジ106に通信する。該ルーティング最適化コンポーネント104が何らかの理由により動作不能となった場合には、BGPブリッジが、受信した最後のルーティングテーブル並びにNSPから受信した動的な情報に基づいて経路選択の決定を行うことになる。
【0086】
ボーダルータ608は、スイッチ602を介してコアルータ604に接続され、BGPブリッジ106とピアになる。コアルータ604もまた、BGPブリッジ106とピアになる。コア/ボーダルータとBGPブリッジ106との間のピアリングは、IBGPを介したものとなり、一方、NSPルータ606とBGPブリッジ106との間の通信にはEBGPが使用される。トラフィックの転送の決定は、BGPブリッジ106から単一の経路を取得するボーダルータ608により行われる。該ボーダルータと同じ単一経路を取得するコアルータ604は、NSPルータ606へトラフィックを転送する。
【0087】
BGPブリッジへルーティングテーブルを通信することにより、ルーティング最適化コンポーネント104は、ルーティングを行う上で大きなフレキシビリティを有するものとなり、例えば、サービスの最適なレベル又は量に基づいてルーティング決定を考慮することが可能となる(但しこれには限定されない)、ということに留意されたい。
【0088】
ここで図19を参照する。同図には、本発明をPNAPにおいて如何に実施することができるかを更に示すために、ルータ構成700の更に一般的な例が示されている。この場合には、図18に示すコア及びボーダルータが省かれている。その代わりに、BGPブリッジ106は、IBGPを使用してスイッチ702を介してエッジルータ7041〜704nとピアになっている。BGPブリッジ106はまた、EBGPを使用してNSPルータ706及び顧客708とピアになっている。顧客のピアリングは、該顧客がBGP互換ルータを有している場合にのみ可能となり、この場合には、顧客によるルーティング決定のためにルーティング情報を顧客に提供することができる、ということに留意されたい。またBGPブリッジは、それが認知しているネットワークに関する全ての情報を全てのピアに送ることはない、ということに留意されたい。その代わりに、顧客のルートのみがNSPルータに送られる。NSPのルートも送られた場合には、PNAPを介してNSP間にトラフィックが不意に通過する可能性がある。
【0089】
よって、BGPブリッジ106は、NSPのルータから全ての利用可能な経路に関するプリフィクスを受信し、その情報をルーティング最適化コンポーネント104へ通信する、ということが分かる。次いで、ルーティング最適化コンポーネント104が、パス選択の決定のためにBGPブリッジにルーティングテーブルを通信することにより、経路選択に影響を与える。
【0090】
PNAPにおいて本発明を実施することの更なる特徴は、性能測定値の取得に関するものである。既述のように、レイテンシは、特定のルートの性能を決定する際の重要な因子であり、既述のようにpingを使用するといった、レイテンシを決定するための幾つかの方法が存在する。しかし、PNAPは、多数のバックボーンに接続することができるため、特定のバックボーン上でレイテンシの測定を行うことができる必要がある。これを実施するための1つの方法として、pingでネクストホップASを指定してIPの「ルーズ・ソース・ルーティング」と呼ばれる機能を使用することが挙げられる。しかし、ルーズ・ソース・ルーティングは、一様にサポートされるものではない。ここで図20を参照する。代替的な方法は、アドレス指定可能なデバイスを、特定のバックボーンプロバイダに固有のアドレスと共に、各バックボーン接続のPNAP側の端部に配置することである。例えば、図20に示すように、PNAP1 800 及び PNAP2 802 は、第1プロバイダにより確立されたバックボーンB1と第2プロバイダにより確立されたバックボーンB2とを介して互いに接続される。第1のアドレス指定可能なデバイス804は、バックボーンB1のプロバイダに固有のアドレスを使用してPNAP2 802 に配置される。同様に、第2のアドレス指定可能なデバイス806は、バックボーンB2のプロバイダに固有のアドレスを使用してPNAP2 802 に配置される。次いで、PNAP1及びPNAP2からのレイテンシ測定を行うために、各々のアドレス指定可能なデバイスを、それぞれの関連するバックボーン上でプロービングすることができる。また、既述の円交差及び推論方法を使用して、プロービングできない特定の宛先に対するレイテンシを推論することも可能である、ということに留意されたい。したがって、本方法は、インターネット上のトラフィックのルーティングを最適化するものであることが分かる。PNAPを含めてASを用いたネットワークに関して本発明を説明してきたが、本発明はあらゆるデータ通信ネットワークに適用できることが当業者には理解されよう。また、本書での議論は、ASからプリフィクスへのトラフィックのフローに焦点を絞ったものであるが、本書に記載の技術は、ネットワーク上のあらゆるポイント間のトラフィックフローに適用できることが理解されよう。更に、本書に記載の本発明は、ネットワーク上に問題が存在するか否かを判定するためのネットワーク監視ツールとして使用できることが理解されよう。各性能監視及び推論コンポーネントは、ネットワーク上の他の各ポイントのための検査ステーションであり、ルーティング最適化コンポーネントは、その情報を使用して、ネットワークトラフィックフロー及び該トラフィックを特定のルート上に送る際のコストを監視することができる。よって、特定のルートに関する相対的に高いコストは、ネットワーク上の問題の指示子として使用することができる。
【0091】
本方法及びシステムは、好適には、関連するソフトウェア、ハードウェア、通信インタフェイス等を使用して本書に記載した機能を実行する従来のコンピュータシステムを使用して、コンピュータにより実施されるものとなる、ということが理解されよう。当業者には理解されるように、本書に記載の本発明を実施するための実際のコードは、従来のプログラミング技術を使用して様々なプラットフォーム用に書くことが可能である。したがって、かかるコードの詳細については本書では解説しないこととする。
【0092】
上記説明は、多数の特殊性を含むものであるが、それらは、本発明の範囲を制限するものと解釈されるべきではなく、本発明の現時点での好適な実施形態の単なる例示を提供するものである。本発明の範囲は、特許請求の範囲及びその法的な等価物によって決定されるべきである。したがって、本発明の範囲は、当業者にとって自明となる他の実施形態を完全に包含するものであり、よって、本発明の範囲は、特許請求の範囲以外の何ものによっても制限されるものではない。該特許請求の範囲における単数形式の用語は、「唯一」を(その旨を明示しない限り)意図したものではなく、「1つ又は2つ以上」を意図している。上記の好適な実施形態の構成要素に対する構造的、化学的、及び機能的な等価物であって当業者に既知であるもの全てを特許請求の範囲に包含させることが意図されている。更に、本発明により解決することが求められる課題を特許請求の範囲に含めるために装置又は方法が各々の課題又はあらゆる課題に取り組む必要はない。更に、本開示における要素、部品、又は方法ステップは、それらが特許請求の範囲に明示的に記載されているか否かにかかわらず公に提供することを意図したものではない。特許請求の範囲に記載する要素は、該要素が「〜のための手段」なる表現を用いて明確に記載されていない限り、合衆国法典第35編第112条第6段落の規定の下で解釈されるべきではない。
【図面の簡単な説明】
【図1】 多数のASを有するネットワークの概要図である。
【図2】 本発明による性能ベースのルーティングシステムの機能ブロック図である。
【図3】 単一のソースから単一の宛先へのレイテンシ測定値の物理的距離への変換を示す説明図である。
【図4】 レイテンシ及び図3に示す距離測定値から導出された地理的領域の決定を示す説明図である。
【図5】 多数のソースから単一の宛先へのレイテンシ測定値の物理的距離への変換を示す説明図である。
【図6】 本発明による円交差位置特定(circular intersection locating)技法を示す説明図である。
【図7】 本発明による推論技法を示す説明図である。
【図8A】 線形時間で実行される近似を使用する、図6に示す円交差位置特定技法の代替的な実施形態を示す説明図である。
【図8B】 線形時間で実行される近似を使用する、図6に示す円交差位置特定技法の代替的な実施形態を示す説明図である。
【図8C】 線形時間で実行される近似を使用する、図6に示す円交差位置特定技法の代替的な実施形態を示す説明図である。
【図8D】 線形時間で実行される近似を使用する、図6に示す円交差位置特定技法の代替的な実施形態を示す説明図である。
【図9】 高度にマルチホーム化されたASを有するネットワークを示す概要図である。
【図10】 図9に示すネットワーク構成に関するルーティングテーブルの一例である。
【図11】 図9に示すネットワーク構成における単一のソースASに関するルーティングテーブルの一例である。
【図12】 図11に示すルーティングテーブルの第1の代替例である。
【図13】 図11に示すルーティングテーブルの第2の代替例である。
【図14】 図11に示すルーティングテーブルの第3の代替例である。
【図15】 本発明によるヘッドルーム関数(headroom)関数の一例のパラメータを示すグラフである。
【図16】 最適化のために区分化された図10のルーティングテーブルを示す図である。
【図17】 インターネットに結合された2つのPNAP及び2つのマルチホーム化されたカスタマと相互接続されたネットワークを示す概要図である。
【図18】 本発明を関連して用いることができるコア及びボーダを使用したルータ構成の一例を示すブロック図である。
【図19】 本発明を関連して用いることができるエッジルータを使用したルータ構成の一例を示すブロック図である。
【図20】 2つの相互接続されたPNAP及びアドレス指定可能な装置を、特定のバックボーンをプロービングするためのバックボーンプロバイダと共に示す概要図である。
【符号の説明】
100 性能ベースのルーティングシステム
102 性能監視及び推論コンポーネント
104 ルーティング最適化コンポーネント
106 BGPブリッジコンポーネント
108 トラフィック
110 容量
112 対価
114 経路長
116 ルータ

Claims (18)

  1. 複数のルートが利用可能なネットワークにおいてソースからルーティング宛先までトラフィックをルーティングするための方法であって、
    前記ルートの各々にコストを割り当て、コスト関数により規定される最低のコストを有するルートを選択し、該コストが、該コストが割り当てられるルート上の経路特性の関数であり、
    少なくとも1つのルートについて、前記ルーティング宛先の場所を決定し、及び前記利用可能なルートを介した前記ソースから別の宛先へのトラフィックの送信に関連する前記経路特性の測定値に基づいて前記経路特性を推論し、前記ルーティング宛先の場所が、
    複数のソース場所から前記ルーティング宛先へトラフィックが移動するのに要する時間を測定し、
    該時間を距離の等価値に変換し、
    該距離の等価値を円の半径として使用すると共に、前記ソース場所を中心として使用して、複数の交差する円を形成し、
    該円の交差から前記ルーティング宛先の物理的な場所を決定する、
    という各ステップによる円交差により決定される、
    という各ステップを有する、トラフィックのルーティング方法。
  2. 前記選択されたルートをルータへ伝送し、
    前記ソースから前記選択されたルートを介した前記ルーティング宛先へのトラフィックのルーティングを前記ルータに行わせる、
    という各ステップを更に含む、請求項1に記載の方法。
  3. 前記経路特性が、レイテンシ、パケット損失、ヘッドルーム、対価、経路長、ルート変化、及びBGP到達可能性からなるグループから選択される、請求項1に記載の方法。
  4. 前記ソースから他の宛先への前記経路特性の加重平均を前記ルーティング宛先に対する前記他の宛先の物理的な近接性に基づいて決定することにより前記経路特性を推論するステップを更に含む、請求項1に記載の方法。
  5. 前記ソースと複数の他の宛先との間のレイテンシを測定し、
    前記ルーティング宛先と前記他の宛先との間の物理的な距離を決定し、
    該距離の関数として前記レイテンシの測定値の加重平均を計算し、
    該加重平均を前記ソースと前記ルーティング宛先との間のレイテンシの概算値として使用する、
    という各ステップを更に含む、請求項1に記載の方法。
  6. 請求項1ないし請求項5に記載の方法を実施するための、コンピュータにより実行可能な命令を有する、コンピュータによる読み出しが可能な媒体。
  7. 測定され及び推論された経路特性に基づいてルートを決定する方法であって、
    第1のサブネットソースと第1のサブネット宛先との間の第1の経路に関する経路特性を測定し、
    前記第1のサブネットソースと第2のサブネット宛先との間の第2の経路に関する経路特性を測定し、
    前記第1の経路に関して測定された経路特性と前記第2の経路に関して測定された経路特性との加重平均を使用して、前記第1のサブネットソースと第3のサブネット宛先との間の第3の経路に関する経路特性を推論し、
    前記経路特性及び少なくとも1つの更なる経路特性に基づきコスト関数を使用して各経路毎にネクストホップサブネットを決定し、該コスト関数が、前記経路特性及び前記少なくとも1つの更なる経路特性を重み付けする係数を使用する、
    という各ステップを含む方法。
  8. 前記加重平均が、前記第1のサブネット宛先と前記第3のサブネット宛先との間の距離、及び前記第2のサブネット宛先と前記第3のサブネット宛先との間の距離に基づくものである、請求項7に記載の方法。
  9. 前記第1のサブネット宛先と前記第3のサブネット宛先との間の距離が円交差を使用して決定される、請求項8に記載の方法。
  10. 前記経路特性が、レイテンシ、パケット損失、ヘッドルーム、対価、経路長、ルート変化、及びBGP到達可能性からなるグループから選択される、請求項7に記載の方法。
  11. 前記サブネットソース及び前記ネクストホップサブネットが、自律システムに対応するものである、請求項7に記載の方法。
  12. 前記サブネット宛先が、アドレスプリフィクスに対応するものである、請求項7に記載の方法。
  13. 各経路毎にネクストホップサブネットを決定する前記ステップが、最低の経路コストを有する経路に対応するネクストホップサブネットを選択するステップを含む、請求項7に記載の方法。
  14. 複数のサブネットソースと複数のサブネット宛先との間の最適化されたルートを識別するための方法であって、
    各サブネットソース毎に、該サブネットソースと前記サブネット宛先との間の複数の考え得るルートについて性能データを取得し、
    該性能データに基づいて初期ルートを選択し、
    各サブネットソース毎に、重み付けされた経路特性に基づくコスト関数を使用して最低のコストを有するルートを選択することにより、サブネットソースからサブネット宛先へのルートを最適化し、
    各サブネット宛先毎に、前記コスト関数に基づき最低のコストを有するルートを選択することにより、サブネットソースからサブネット宛先へのルートを最適化する、
    という各ステップによりルートを最適化する、
    という各ステップを含む方法。
  15. 選択されたサブネットソースとサブネット宛先との間のルートの最適化が、該選択されたサブネットソースにより実行され、サブネットソースと選択されたサブネット宛先との間のルートの最適化が、中央で実行される、請求項14に記載の方法。
  16. 前記経路特性が、レイテンシ、パケット損失、ヘッドルーム、対価、経路長、ルート変化、及びBGP到達可能性からなるグループから選択される、請求項14に記載の方法。
  17. 前記サブネットソース及び前記ネクストホップサブネットが、自律システムに対応するものである、請求項14に記載の方法。
  18. 前記サブネット宛先が、アドレスプリフィクスに対応するものである、請求項14に記載の方法。
JP2002521734A 2000-08-22 2001-02-09 多数の利用可能なインターネットルートプロバイダを介したルーティングを最適化するための方法及びシステム Expired - Lifetime JP3742058B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/644,221 US6981055B1 (en) 2000-08-22 2000-08-22 Method and system for optimizing routing through multiple available internet route providers
PCT/US2001/004453 WO2002017110A1 (en) 2000-08-22 2001-02-09 Method and system for optimizing routing through multiple available internet route providers

Publications (3)

Publication Number Publication Date
JP2004507917A JP2004507917A (ja) 2004-03-11
JP2004507917A5 JP2004507917A5 (ja) 2005-01-20
JP3742058B2 true JP3742058B2 (ja) 2006-02-01

Family

ID=24583957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002521734A Expired - Lifetime JP3742058B2 (ja) 2000-08-22 2001-02-09 多数の利用可能なインターネットルートプロバイダを介したルーティングを最適化するための方法及びシステム

Country Status (9)

Country Link
US (1) US6981055B1 (ja)
EP (1) EP1311967A4 (ja)
JP (1) JP3742058B2 (ja)
AR (1) AR035582A1 (ja)
AU (1) AU2001236917A1 (ja)
CA (1) CA2387130A1 (ja)
MX (1) MXPA02004028A (ja)
TW (1) TW535068B (ja)
WO (1) WO2002017110A1 (ja)

Families Citing this family (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677016B1 (en) * 2000-10-16 2014-03-18 Packet Design, Llc System and method for identifying network topology information
US7080161B2 (en) 2000-10-17 2006-07-18 Avaya Technology Corp. Routing information exchange
AU2002213287A1 (en) * 2000-10-17 2002-04-29 Routescience Technologies Inc Method and apparatus for performance and cost optimization in an internetwork
US7720959B2 (en) 2000-10-17 2010-05-18 Avaya Inc. Method and apparatus for characterizing the quality of a network path
US8023421B2 (en) 2002-07-25 2011-09-20 Avaya Inc. Method and apparatus for the assessment and optimization of network traffic
US7756032B2 (en) 2000-10-17 2010-07-13 Avaya Inc. Method and apparatus for communicating data within measurement traffic
US7349994B2 (en) 2000-10-17 2008-03-25 Avaya Technology Corp. Method and apparatus for coordinating routing parameters via a back-channel communication medium
US7406539B2 (en) * 2000-10-17 2008-07-29 Avaya Technology Corp. Method and apparatus for performance and cost optimization in an internetwork
US7403482B2 (en) * 2000-10-30 2008-07-22 Nec Corporation Path provisioning for service level agreements in differentiated service networks
US7296088B1 (en) * 2000-11-17 2007-11-13 Microsoft Corporation System and method for determining the geographic location of internet hosts
JP3737385B2 (ja) * 2001-06-07 2006-01-18 富士通株式会社 最適化パス設定方法及びそれを用いた網管理システム
WO2003007556A2 (en) * 2001-07-13 2003-01-23 Nortel Networks Limited Routing for a communications network
US7111074B2 (en) * 2001-07-24 2006-09-19 Pluris, Inc. Control method for data path load-balancing on a data packet network
US7574597B1 (en) 2001-10-19 2009-08-11 Bbn Technologies Corp. Encoding of signals to facilitate traffic analysis
JP3875107B2 (ja) * 2002-01-10 2007-01-31 株式会社エヌ・ティ・ティ・ドコモ パケット交換システム、パケット交換方法、ルーティング装置、パケットデータ及びその生成方法
JP3823837B2 (ja) * 2002-01-31 2006-09-20 日本電気株式会社 光通信ネットワーク及びそれに用いる光通信ネットワーク設計方法
US7180864B2 (en) * 2002-02-27 2007-02-20 Lucent Technologies Inc. Method and apparatus for exchanging routing information within an autonomous system in a packet-based data network
JP3665622B2 (ja) * 2002-03-29 2005-06-29 株式会社東芝 ソースアドレス選択システム、ルータ装置、通信ノード及びソースアドレス選択方法
US7571251B2 (en) * 2002-05-06 2009-08-04 Sandvine Incorporated Ulc Path optimizer for peer to peer networks
ATE357115T1 (de) * 2002-06-28 2007-04-15 Compaq Information Technologie Proxylastabgleicher
US7797418B2 (en) * 2002-08-06 2010-09-14 Tvworks, Llc Method of maintaining broadcast data stream
JP3811436B2 (ja) * 2002-08-09 2006-08-23 日本電信電話株式会社 最寄り拠点推定装置および方法
ITTO20020762A1 (it) * 2002-09-02 2004-03-03 Telecom Italia Lab Spa Procedimento e sistema per realizzare stime di connettivita'
ITTO20020785A1 (it) 2002-09-09 2004-03-10 Telecom Italia Lab Spa Procedimento e sistema per l'analisi e la valutazione
US7289520B2 (en) * 2002-11-20 2007-10-30 Hewlett-Packard Development Company, L.P. Method, apparatus, and system for expressway routing among peers
US7318105B1 (en) * 2003-03-11 2008-01-08 Bbn Technologies Corp. Dynamically detecting topology and egress nodes in communication networks
US9137033B2 (en) 2003-03-18 2015-09-15 Dynamic Network Services, Inc. Methods and systems for monitoring network routing
US8045566B2 (en) * 2003-08-01 2011-10-25 Hewlett-Packard Development Company, L.P. Automated router load balancing
US7779065B2 (en) * 2003-09-18 2010-08-17 Sanyogita Gupta Dynamic cost network routing
US7313630B1 (en) * 2003-11-06 2007-12-25 Sprint Communications Company L.P. Method for altering link weights in a communication network to provide traffic information for improved forecasting
SE0303576D0 (sv) * 2003-12-23 2003-12-23 Ericsson Telefon Ab L M Cost determination in a multihop network
US20050198269A1 (en) * 2004-02-13 2005-09-08 Champagne Andrew F. Method and system for monitoring border gateway protocol (BGP) data in a distributed computer network
US20060029035A1 (en) * 2004-03-25 2006-02-09 Chase Christopher J Method and apparatus for selecting routes for distribution within IP networks
EP1587275B1 (de) * 2004-04-13 2012-05-23 SMSC Europe GmbH Netzwerk mit flexiblem Multimedia Data Routing
JP4634456B2 (ja) * 2004-09-09 2011-02-16 アバイア インコーポレーテッド ネットワーク・トラフィックのセキュリティのための方法およびシステム
US7463587B2 (en) * 2005-01-11 2008-12-09 Alcatel Lucent System and method for identifying pre-computed paths in a policy-based routing network
JP4966206B2 (ja) * 2005-02-04 2012-07-04 レベル スリー コミュニケーションズ,エルエルシー ネットワーク・ルーティングを改良するためのイーサネット系のシステムおよび方法
US8064467B2 (en) * 2005-02-04 2011-11-22 Level 3 Communications, Llc Systems and methods for network routing in a multiple backbone network architecture
US7577440B2 (en) * 2005-04-14 2009-08-18 Nokia Corporation Intelligent intersection apparatus and method for network-based positioning
US7840682B2 (en) 2005-06-03 2010-11-23 QNX Software Systems, GmbH & Co. KG Distributed kernel operating system
US8155126B1 (en) * 2005-06-03 2012-04-10 At&T Intellectual Property Ii, L.P. Method and apparatus for inferring network paths
US8667184B2 (en) * 2005-06-03 2014-03-04 Qnx Software Systems Limited Distributed kernel operating system
US8228818B2 (en) 2005-06-24 2012-07-24 At&T Intellectual Property Ii, Lp Systems, methods, and devices for monitoring networks
US9426092B2 (en) * 2006-02-03 2016-08-23 Level 3 Communications Llc System and method for switching traffic through a network
US8837275B2 (en) * 2006-02-09 2014-09-16 International Business Machines Corporation System, method and program for re-routing internet packets
US8300798B1 (en) 2006-04-03 2012-10-30 Wai Wu Intelligent communication routing system and method
US20070250612A1 (en) * 2006-04-20 2007-10-25 Sbc Knowledge Ventures, L.P. Method for updating a virtual private network in a multi-protocol label switching network
US7957306B2 (en) * 2006-09-08 2011-06-07 Cisco Technology, Inc. Providing reachability information in a routing domain of an external destination address in a data communications network
US8111616B2 (en) * 2006-09-08 2012-02-07 Cisco Technology, Inc. Constructing a repair path in the event of failure of an inter-routing domain system link
US8160056B2 (en) * 2006-09-08 2012-04-17 At&T Intellectual Property Ii, Lp Systems, devices, and methods for network routing
US7924734B2 (en) * 2007-02-05 2011-04-12 Level 3 Communications, Llc Network configuration optimization
US8645568B2 (en) * 2007-11-16 2014-02-04 Equinix, Inc. Various methods and apparatuses for a route server
US7907596B2 (en) * 2007-11-30 2011-03-15 International Business Machines Corporation Valley-free shortest path method
US8015144B2 (en) 2008-02-26 2011-09-06 Microsoft Corporation Learning transportation modes from raw GPS data
US8972177B2 (en) 2008-02-26 2015-03-03 Microsoft Technology Licensing, Llc System for logging life experiences using geographic cues
US7991879B2 (en) * 2008-03-03 2011-08-02 Microsoft Corporation Internet location coordinate enhanced domain name system
US8966121B2 (en) * 2008-03-03 2015-02-24 Microsoft Corporation Client-side management of domain name information
US8458298B2 (en) * 2008-03-03 2013-06-04 Microsoft Corporation Failover in an internet location coordinate enhanced domain name system
US7930427B2 (en) * 2008-03-03 2011-04-19 Microsoft Corporation Client-side load balancing
US8090870B2 (en) * 2008-04-28 2012-01-03 Disney Enterprises, Inc. Method and system for adaptive data transfer over packet networks
US8018866B1 (en) 2008-08-26 2011-09-13 Juniper Networks, Inc. Adaptively applying network acceleration services with an intermediate network device
US8955107B2 (en) 2008-09-12 2015-02-10 Juniper Networks, Inc. Hierarchical application of security services within a computer network
US8040808B1 (en) * 2008-10-20 2011-10-18 Juniper Networks, Inc. Service aware path selection with a network acceleration device
US7848230B2 (en) * 2008-11-06 2010-12-07 Cisco Technology, Inc. Sharing performance measurements among address prefixes of a same domain in a computer network
US9063226B2 (en) * 2009-01-14 2015-06-23 Microsoft Technology Licensing, Llc Detecting spatial outliers in a location entity dataset
US8094575B1 (en) 2009-03-24 2012-01-10 Juniper Networks, Inc. Routing protocol extension for network acceleration service-aware path selection within computer networks
US8687621B2 (en) * 2009-06-04 2014-04-01 Cisco Technology, Inc. Dynamically right-sizing prefixes for network and application performance
US8098584B2 (en) * 2009-08-07 2012-01-17 Microsoft Corporation Optimization of traffic routing for data center services
US9009177B2 (en) 2009-09-25 2015-04-14 Microsoft Corporation Recommending points of interests in a region
US8170016B2 (en) 2009-11-30 2012-05-01 At&T Intellectual Property I, Lp Packet flow offload to remote destination with routing bypass
WO2011073707A1 (en) * 2009-12-14 2011-06-23 Telefonaktiebolaget L M Ericsson (Publ) Dynamic cache selection method and system
US8612134B2 (en) 2010-02-23 2013-12-17 Microsoft Corporation Mining correlation between locations using location history
US9261376B2 (en) 2010-02-24 2016-02-16 Microsoft Technology Licensing, Llc Route computation based on route-oriented vehicle trajectories
US10288433B2 (en) * 2010-02-25 2019-05-14 Microsoft Technology Licensing, Llc Map-matching for low-sampling-rate GPS trajectories
US8719198B2 (en) 2010-05-04 2014-05-06 Microsoft Corporation Collaborative location and activity recommendations
US8509087B2 (en) * 2010-05-07 2013-08-13 Cisco Technology, Inc. Per-graph link cost assignment in layer 2 multipath networks
US9593957B2 (en) 2010-06-04 2017-03-14 Microsoft Technology Licensing, Llc Searching similar trajectories by locations
US9049140B2 (en) * 2010-11-18 2015-06-02 Microsoft Technology Licensing, Llc Backbone network with policy driven routing
US8825813B2 (en) 2010-12-28 2014-09-02 Microsoft Corporation Distributed network coordinate system based on network performance
US8665789B2 (en) 2011-04-13 2014-03-04 Telcordia Technologies, Inc. Architecture for open communication in a heterogeneous network
US8849976B2 (en) * 2011-09-26 2014-09-30 Limelight Networks, Inc. Dynamic route requests for multiple clouds
US20130094397A1 (en) * 2011-10-15 2013-04-18 Young Jin Kim Method and apparatus for localized and scalable packet forwarding
IL216313A0 (en) 2011-11-10 2012-02-29 Google Inc Method for allocating resources of a network among a plurality of traffic demands and a network using such method
US8443105B1 (en) * 2011-12-12 2013-05-14 The United States Of America As Represented By The Director, National Security Agency Device for and method of network routing
US9754226B2 (en) 2011-12-13 2017-09-05 Microsoft Technology Licensing, Llc Urban computing of route-oriented vehicles
US20130166188A1 (en) 2011-12-21 2013-06-27 Microsoft Corporation Determine Spatiotemporal Causal Interactions In Data
US10333839B2 (en) * 2012-03-20 2019-06-25 Raytheon Company Routing a data packet in a communication network
US8743893B2 (en) 2012-05-18 2014-06-03 Renesys Path reconstruction and interconnection modeling (PRIM)
US9282026B2 (en) * 2013-03-11 2016-03-08 Dell Products L.P. System and method for improved routing in autonomous systems
JP6096552B2 (ja) * 2013-03-26 2017-03-15 京セラ株式会社 無線通信システム、無線通信端末、無線通信装置及び通信方法
US10003536B2 (en) 2013-07-25 2018-06-19 Grigore Raileanu System and method for managing bandwidth usage rates in a packet-switched network
US9525638B2 (en) * 2013-10-15 2016-12-20 Internap Corporation Routing system for internet traffic
US9253043B2 (en) 2013-11-30 2016-02-02 At&T Intellectual Property I, L.P. Methods and apparatus to convert router configuration data
US9747567B2 (en) * 2014-01-13 2017-08-29 Conduent Business Services, Llc Selecting organizational transportation proposals based on commuter pledges and cost-benefit computation
US9331951B2 (en) * 2014-03-25 2016-05-03 Telefonaktiebolaget L M Ericsson (Publ) Path discovery in data transport networks based on statistical inference
US9537789B2 (en) 2014-10-31 2017-01-03 Raytheon Company Resource allocating in a network
US10924408B2 (en) 2014-11-07 2021-02-16 Noction, Inc. System and method for optimizing traffic in packet-switched networks with internet exchanges
US9769070B2 (en) 2015-01-28 2017-09-19 Maxim Basunov System and method of providing a platform for optimizing traffic through a computer network with distributed routing domains interconnected through data center interconnect links
US10742752B2 (en) 2015-07-22 2020-08-11 Dynamic Network Services, Inc. Methods, systems, and apparatus for geographic location using trace routes
GB2544049A (en) 2015-11-03 2017-05-10 Barco Nv Method and system for optimized routing of data streams in telecommunication networks
US10405365B2 (en) 2015-12-16 2019-09-03 At&T Intellectual Property I, L.P. Method and apparatus for web browsing on multihomed mobile devices
US10389463B2 (en) * 2017-05-02 2019-08-20 Nicira, Inc. Synchronization of routing information in an edge system cluster
US10511507B2 (en) * 2017-05-09 2019-12-17 Cisco Technology, Inc. Routing network traffic based on whether an application associated with traffic is a rerouting application as defined by a policy and whether a second path ranking exceeds a first path ranking
GB201808493D0 (en) 2018-05-23 2018-07-11 Nchain Holdings Ltd Computer-Implemented System and Method
TWI672018B (zh) * 2018-07-31 2019-09-11 中華電信股份有限公司 具預測機制之主動式多路徑路由系統及方法
JP7230729B2 (ja) * 2019-08-01 2023-03-01 日本電信電話株式会社 経路制御装置、経路制御方法、及びプログラム
US11171883B1 (en) 2020-07-07 2021-11-09 Mellanox Technologies, Ltd. Peering-fabric routing using switches having dynamically configurable forwarding logic
CN111901178B (zh) * 2020-08-13 2023-04-28 中盈优创资讯科技有限公司 一种网络流量流向的风险预判方法、装置和设备

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0831876B2 (ja) * 1985-09-20 1996-03-27 株式会社日立製作所 パケツト交換網におけるル−チング制御方式
JPH05316205A (ja) 1992-05-14 1993-11-26 Toshiba Corp 通信システム
US5707780A (en) 1995-06-07 1998-01-13 E. I. Du Pont De Nemours And Company Photohardenable epoxy composition
US5812776A (en) 1995-06-07 1998-09-22 Open Market, Inc. Method of providing internet pages by mapping telephone number provided by client to URL and returning the same in a redirect command by server
US5774668A (en) 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US5802302A (en) 1995-06-29 1998-09-01 International Business Machines Corporation System and method for response time measurement in high speed data transmission networks
US5712979A (en) 1995-09-20 1998-01-27 Infonautics Corporation Method and apparatus for attaching navigational history information to universal resource locator links on a world wide web page
US5845215A (en) 1995-10-18 1998-12-01 Telefonaktiebolaget Lm Ericsson Operating mobile stations of wireless communication systems in multiple modes by external control
US5751956A (en) 1996-02-21 1998-05-12 Infoseek Corporation Method and apparatus for redirection of server external hyper-link references
US6195691B1 (en) 1996-09-17 2001-02-27 National Systems Corporation Method and apparatus for creating and using dynamic universal resource locators
US6047376A (en) 1996-10-18 2000-04-04 Toshiba Information Systems (Japan) Corporation Client-server system, server access authentication method, memory medium stores server-access authentication programs, and issuance device which issues the memory medium contents
US6016307A (en) 1996-10-31 2000-01-18 Connect One, Inc. Multi-protocol telecommunications routing optimization
US6052730A (en) 1997-01-10 2000-04-18 The Board Of Trustees Of The Leland Stanford Junior University Method for monitoring and/or modifying web browsing sessions
US6138162A (en) 1997-02-11 2000-10-24 Pointcast, Inc. Method and apparatus for configuring a client to redirect requests to a caching proxy server based on a category ID with the request
US5856981A (en) * 1997-05-15 1999-01-05 Lucent Technologies Inc. Reliable connection oriented networks
US6173322B1 (en) 1997-06-05 2001-01-09 Silicon Graphics, Inc. Network request distribution based on static rules and dynamic performance data
US5999103A (en) 1997-06-30 1999-12-07 Mci Communications Corporation Method and system for assigning spare transmission links to restoral routes
US5991705A (en) 1997-07-23 1999-11-23 Candle Distributed Solutions, Inc. End-to-end response time measurement for computer programs using starting and ending queues
US6006264A (en) 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US6067558A (en) 1997-09-18 2000-05-23 Wendt; James Gordon Method and apparatus for providing increased content from a resource constrained device
US6128279A (en) 1997-10-06 2000-10-03 Web Balance, Inc. System for balancing loads among network servers
US6360262B1 (en) 1997-11-24 2002-03-19 International Business Machines Corporation Mapping web server objects to TCP/IP ports
JP3665460B2 (ja) 1997-12-05 2005-06-29 富士通株式会社 分散自律協調型の応答時間チューニングによる経路選択システム、方法、及び記録媒体
FI105249B (fi) 1997-12-18 2000-06-30 More Magic Software Mms Oy Menetelmä ja järjestely informaation liittämiseksi verkkoresursseihin
GB2332809A (en) * 1997-12-24 1999-06-30 Northern Telecom Ltd Least cost routing
US6243750B1 (en) 1998-03-26 2001-06-05 International Business Machines Corporation Method and system for measuring Web site access requests
US6295275B1 (en) * 1998-08-19 2001-09-25 Mci Communications Corporation Dynamic route generation for real-time network restoration using pre-plan route generation methodology
US7127493B1 (en) 1998-08-20 2006-10-24 Gautier Taylor S Optimizing server delivery of content by selective inclusion of optional data based on optimization criteria
US6411946B1 (en) * 1998-08-28 2002-06-25 General Instrument Corporation Route optimization and traffic management in an ATM network using neural computing
KR100403748B1 (ko) 1999-01-23 2003-11-03 삼성전자주식회사 이동통신 네트워크에서 이동 전화기의 위치추적 방법
US6275470B1 (en) 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks

Also Published As

Publication number Publication date
US6981055B1 (en) 2005-12-27
WO2002017110A1 (en) 2002-02-28
EP1311967A4 (en) 2006-07-05
EP1311967A1 (en) 2003-05-21
MXPA02004028A (es) 2004-02-26
CA2387130A1 (en) 2002-02-28
AR035582A1 (es) 2004-06-16
TW535068B (en) 2003-06-01
JP2004507917A (ja) 2004-03-11
AU2001236917A1 (en) 2002-03-04

Similar Documents

Publication Publication Date Title
JP3742058B2 (ja) 多数の利用可能なインターネットルートプロバイダを介したルーティングを最適化するための方法及びシステム
US8155126B1 (en) Method and apparatus for inferring network paths
Godfrey et al. Pathlet routing
US8072901B1 (en) Technique for efficient probing to verify policy conformance
JP3964907B2 (ja) 性能最適化を伴う動的なトンネルピアリング
US7619982B2 (en) Active probe path management
US20020165957A1 (en) Intelligent dynamic route selection based on active probing of network operational characteristics
US6850984B1 (en) System for isolating other clients that experience different connection performance than the client and directing the other clients to another different mirrored server
EP1757026B1 (en) Method and apparatus for forwarding data in a data communications network
JP2005311863A (ja) トラフィック分散制御方法、制御装置及びネットワークシステム
Lumezanu et al. Triangle inequality and routing policy violations in the Internet
US10122627B2 (en) Network routing through an overlay network
US11005777B2 (en) Software defined prober
JP2018061267A (ja) ネットワークのプローブ・ルーティング
JP2010200026A (ja) 論理ネットワークのトラヒック制御方法とシステムおよびプログラム
JP2009284448A (ja) オーバーレイネットワーク通信経路制御方法とシステムおよびプログラム
JP4749392B2 (ja) オーバーレイネットワークにおける通信経路決定方法とオーバーレイノードおよびオーバーレイネットワークとプログラム
JP4553314B2 (ja) オーバーレイネットワークにおける通信経路決定方法および通信経路決定システム
JP2011244312A (ja) ノード装置、最適パス決定方法及びプログラム
Kaur et al. Comparative study of OSPFv 3 IS-IS and OSPFv3_IS-IS protocols using OPNET
JP5506640B2 (ja) コンテンツ配信方法及びシステム
Beyah et al. Application layer switching: A deployable technique for providing quality of service
Gao et al. Quantifying as path inflation by routing policies
Bui et al. Relay node selection in large-scale VoIP overlay networks
Malli Inferring Internet Topology FROM Application Point OF View

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040601

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040831

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040915

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050322

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050621

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050902

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051011

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051109

R150 Certificate of patent or registration of utility model

Ref document number: 3742058

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091118

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091118

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101118

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111118

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121118

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131118

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term