(57)【要約】【課題】ネットワーク内ルート選択管理方法及び装置を実現するに当たって、ルータベースルートリフレクタを用いルーティング情報の選択及び配分を行う必要をなくす。【解決手段】複数のルータそれぞれから一組ずつルートを受信し（４０４）、各組のルートをフィルタリングし（４０６）、個別のルータそれぞれに関連付けられているルーティング情報に従い、各組のルートのうちフィルタリングを通過したルートの中から各組毎に少なくとも１個のルートを選択する（４０８）。【選択図】図４
2005278178.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク内ルート選択管理方法であって、
複数のルータそれぞれから一組ずつルートを受信するステップと、
各組のルートをフィルタリングするステップと、
個別のルータそれぞれに関連付けられているルーティング情報に従い、フィルタリングを通過したルートの中から各組毎に少なくとも１個のルートを選択するステップと、
を有する方法。
【請求項２】
請求項１記載の方法において、上記選択ステップが、フィルタリングを通過した各組のルートに対し上記ルーティング情報を用いて少なくとも一種類のルールを適用するステップを、含む方法。
【請求項３】
請求項２記載の方法において、上記ルール適用ステップが、フィルタリングを通過した各組のルートそれぞれに係る少なくとも一種類の属性を比較するステップを、含む方法。
【請求項４】
請求項３記載の方法において、上記少なくとも一種類の属性が、ウエイト、オリジンコード、自律システムパス、自律システムセット、アトミックアグリゲート、次回ホップ、マルチプルエグジットディスクリミネータ、ローカルプリファレンス、コミュニティ、拡張コミュニティ及びマルチプロトコルアドレスのうち、少なくとも一種類を含む方法。
【請求項５】
請求項１記載の方法において、上記ルーティング情報が、ルート属性、ネットワークトポロジーパラメータ、ルーティングポリシーパラメータ及びルータコンフィギュレーションパラメータのうち、少なくとも一種類を含む方法。
【請求項６】
請求項１記載の方法において、更に、選択した少なくとも１個のルートそれぞれを個別のルータそれぞれに対し配分するステップを、有する方法。
【請求項７】
請求項１記載の方法において、更に、上記ルーティング情報から得られ、且つ選択したルートのうち少なくとも１個に対応する、少なくとも一種類のルート属性を変更するステップを、有する方法。
【請求項８】
請求項７記載の方法において、更に、選択した少なくとも１個のルートそれぞれを個別のルータそれぞれに対し配分するステップを、有する方法。
【請求項９】
請求項１記載の方法において、ベストルートが含まれることとなるよう上記少なくとも１個のルートを選択する方法。
【請求項１０】
請求項１記載の方法において、少なくとも１個の好適なルートが含まれることとなるよう上記少なくとも１個のルートを選択する方法。
【請求項１１】
ソフトウエアプログラムを格納するコンピュータ可読媒体であって、
そのソフトウエアプログラムをコンピュータにより実行したときにそのコンピュータにより実現される方法が、
複数のルータそれぞれから一組ずつルートを受信するステップと、
各組のルートをフィルタリングするステップと、
個別のルータそれぞれに関連付けられているルーティング情報に従い、フィルタリングを通過したルートの中から各組毎に少なくとも１個のルートを選択するステップと、
を有するコンピュータ可読媒体。
【請求項１２】
請求項１１記載のコンピュータ可読媒体において、上記選択ステップが、フィルタリングを通過した各組のルートに対し上記ルーティング情報を用いて少なくとも一種類のルールを適用するステップを、含むコンピュータ可読媒体。
【請求項１３】
請求項１２記載のコンピュータ可読媒体において、上記ルール適用ステップが、フィルタリングを通過した各組のルートそれぞれに係る少なくとも一種類の属性を比較するステップを、含むコンピュータ可読媒体。
【請求項１４】
請求項１１記載のコンピュータ可読媒体において、上記ルーティング情報が、ルート属性、ネットワークトポロジーパラメータ、ルーティングポリシーパラメータ及びルータコンフィギュレーションパラメータのうち、少なくとも一種類を含むコンピュータ可読媒体。
【請求項１５】
請求項１１記載のコンピュータ可読媒体において、上記方法が、更に、選択した少なくとも１個のルートそれぞれを個別のルータそれぞれに対し配分するステップを、有するコンピュータ可読媒体。
【請求項１６】
請求項１１記載のコンピュータ可読媒体において、上記方法が、更に、上記ルーティング情報から得られ、且つ選択したルートのうち少なくとも１個に対応する、少なくとも一種類のルート属性を変更するステップを、有するコンピュータ可読媒体。
【請求項１７】
請求項１６記載のコンピュータ可読媒体において、上記方法が、更に、選択した少なくとも１個のルートそれぞれを個別のルータそれぞれに対し配分するステップを、有するコンピュータ可読媒体。
【請求項１８】
請求項１１記載のコンピュータ可読媒体において、少なくとも１個の好適なルートが含まれることとなるよう上記少なくとも１個のルートが選択されるコンピュータ可読媒体。
【請求項１９】
ネットワーク内ルート選択管理装置であって、
複数のルータそれぞれから一組ずつルートを受信する手段と、
各組のルートをフィルタリングする手段と、
個別のルータそれぞれに関連付けられているルーティング情報に従い、フィルタリングを通過したルートの中から各組毎に少なくとも１個のルートを選択する手段と、
を備える装置。
【請求項２０】
請求項１９記載の装置において、上記選択手段が、フィルタリングを通過した各組のルートに対し上記ルーティング情報を用いて少なくとも一種類のルールを適用する手段を含む装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、この参照を以て本願に繰り入れるところの２００４年３月２５日付米国暫定出願第６０／５５６１６９号に基づく利益を享受する出願である。
【０００２】
本発明は通信網の分野、例えばＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）網におけるルートの選択及び配分に関する。
【背景技術】
【０００３】
ＩＰパケットのルーティング（経路制御）及び送信・転送手法としては、ＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）と少なくとも一種類のＩＧＰ（Ｉｎｔｅｒｉｏｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）とを併用してパケットをホップバイホップベースでルーティングする、という古典的な手法がしばしば用いられる。ＢＧＰが備えている各種の機能のうち一つは、宛先到達可能性情報（例えば出口エッジルータ候補の識別及び選択内容を示す情報）の散布放出という機能である。また、ＢＧＰプロトコルにおいては、ルーピング発生を防ぐため、ルータ群を網羅するフルメッシュのＩＢＧＰ（Ｉｎｔｅｒｉｏｒ−ＢＧＰ）が必要とされる。他方、ＩＧＰには、トポロジー発見機能及び最短パス選択機能に加え、対応する所与出口エッジルータ方向直接次回ホップを選択する機能等が、含まれる。総じていえば、各ネットワークルータにてＢＧＰ及びＩＧＰを組合せで用いるのは、所与の宛先方向にある直接次回ホップを求めるためである。
【０００４】
ＩＰサービスに対する需要が引き続き増大を遂げていることに伴い、いくつかのサービスプロバイダにてルートリフレクションが導入されている。ルートリフレクションを導入する目的は、より大規模なＩＰ網をサポートできるようＢＧＰを調整乃至拡張することにある。ルートリフレクションを用いるには、通常、ルートリフレクタとして使用するルータをネットワーク内に少なくとも１個設ける。ルートリフレクタの基本的機能は、ルートを選択することと、選択したルートを他のルータ（当該ルートリフレクタの通信相手に設定されている一般に複数のルータ）に対し知らせる（アナウンスする）ことである。かかる機能ひいてはルートリフレクションは、ネットワークによってはうまく機能するけれども、ルートリフレクションの利用が制約されるような状況も存在している。即ち、ＩＰ網調整拡張目的でのルートリフレクション使用が、ルートリフレクタ自体がルータであるという根本的条件によって制限されることがある。
【０００５】
ルートリフレクションに潜在している不具合の一つは、ルートリフレクタが選択できるルートが、ルータとしてのルートリフレクタ自身が使用するルートに限られる、ということである。即ち、ルートリフレクタは、自分からの見通し範囲内のみを対象としてルートの選択を行い、その結果判明した「ベストルート」をアナウンスする。そのため、一般に複数のクライアントルータに対し、ルートリフレクタはトポロジー的位置に近くに位置していなければならない。しばしば、容量や冗長性に関する通常の考察結果から見て妥当とされる個数より多くのルートリフレクタを、設けねばならない場合もある。
【０００６】
更に、現存のルートリフレクタにおけるルート選択機構は、標準的なＢＧＰルート選択処理に限定されている。そのため、ルートリフレクタを用いる場合、ルーティングポリシーをコンフィギュレーション可能なものにしようとしても、当該ルーティングポリシーはＢＧＰ属性及び静的ルートマップのみにより表現される寄せ集め的ポリシーにとどまることとなるから、動的ポリシーを実現するにはルートリフレクタ及び関連するルータを継続的に繰り返しリコンフィギュレーションしなければならなくなる。こういった制限乃至制約は大抵のネットワークではさほど支障にならないが、しかしながら、この種の制限乃至制約がネットワーク動作上有害となるようなネットワークも確かに存在している。
【０００７】
従って、本件技術分野においては、複数のルータから利用可能ルートを情報として受信しルータ毎に少なくとも１個のルートを選択する方法及び装置であって、受信した利用可能ルートの発信元ルータの見通し範囲内からルートを選択する方法及び装置が、嘱望されている。
【発明の開示】
【０００８】
本発明は、ネットワーク内ルート選択管理方法及び装置として実施することができる。本発明の一実施形態に係る方法においては、複数のルータそれぞれから一組ずつルートを受信し、各組のルートをフィルタリングし、個別のルータそれぞれに関連付けられているルーティング情報に従い、各組のルートのうちフィルタリングを通過したルートの中から各組毎に少なくとも１個のルートを選択する。
【発明を実施するための最良の形態】
【０００９】
本発明に係る発想は、添付図面を参照しながら行う以下の説明により、直ちに理解されるであろう。
【００１０】
また、理解を容易にするため、可能な限り、各図面に共通する同様の部材には同様の参照符号を付すこととする。
【００１１】
更に、本発明は、一般に複数のエッジルータを含み各エッジルータが隣接ルータに関連付けられている種々のＩＰ網において、実施することができる。そのため、以下の説明では、当該ＩＰ網を前提として本発明を実施する例を取り上げることとする。総じていえば、本発明によれば、その規模を調整乃至拡張可能で、動作的にもシンプルな、ＩＰ網向けルーティング決定機構を提供することができる。本発明によれば、更に、その見通し範囲内からルートを選択するルータベースルートリフレクタを用いルーティング情報の選択及び配分を行う必要が、なくなる。なお、本発明に係る手法は、説明に使用するものとはその種類が異なり又はそのネットワークトポロジーが異なるネットワークにおいても、直ちに利用・実施することができる。
【００１２】
本発明を用いた場合、ルータ毎に、且つそのルータの見通し範囲内から（即ちそのルータのｉＢＧＰ（後述）トポロジー的視界に基づき）、ルートが選択される。即ち、本発明においては、一群のルータに対してトポロジー的に近くなるよう本発明に係る装置（例えばＲＣＰ（後述））を保持する必要がなく、サービス対象とする複数の地理的クラスタ内により多数のルータを配置することが可能になる。また、本発明によれば、ネットワークトポロジー状態、トラフィック分散計画乃至形態、ルーティングサービスポリシー等といったネットワーク条件に応じ、ルータ毎に異なるルートを選択することができる。本発明によれば、また、あるルータについて複数のルートを利用できる場合、そのルータについて当該複数の利用可能ルートを選択し、当該ルータに対し配分することができる。更に、本発明によれば、各ルータについてのルート選択及び配分を、そのルータに係る他のコンフィギュレーション的変化変動、例えば１個又は複数個のパケットフィルタの挿入、一種類又は複数種類のＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）ポリシーの導入等に対して、適合的に調整することができる。
【００１３】
本発明によれば、標準的なＢＧＰルーティング情報を超克する情報に基づきルートを選択できる。特に、本発明によれば、ネットワークトポロジー、トラフィック負荷、トラフィックパフォーマンス、一種類又は複数種類のネットワーク毎乃至顧客毎ルーティングポリシー、エッジルータ能力その他のパラメータに基づき、洗練されたルーティング決定を行うことができる。更に、本発明によれば、ダイナミックルーティング能力を含む様々なルーティング能力を提供することができる。例えば、本発明によれば、各種パラメータに基づきダイナミックルーティングを行うことが可能である。また、サービスについてのカスタマサブスクリプション（顧客の申込乃至同意）やサービス負荷に基づきアプリケーションサーバ毎にダイナミックルーティングを行うことも可能であり、そのようにすれば、これなしでは到達不可能なドメイン間の到達可能性を動的に、またＶｏＩＰ（Ｖｏｉｃｅ−ｏｖｅｒ−ＩＰ）においてと同様に個別アプリケーションベースで、実現することができる。
【００１４】
また、本発明に係るＲＣＰ（Ｒｏｕｔｉｎｇ  Ｃｏｎｔｒｏｌ  Ｐｏｉｎｔ）は、本質的には、各種ネットワーク構成要素に対して上位に位置する論理的中心点として動作するものであり、これを導入することによって、ネットワーク動作がシンプルになり、また各種顧客向けサービス選択がサポートされる。本発明の実施形態としては、ネットワーク機器に埋め込まれている基点に対する下位互換性を実現するため、ＢＧＰプロトコル等の標準的プロトコルを用いてネットワーク構成要素と通信を行えるようＲＣＰを構成する実施形態があり得る。この場合、ＲＣＰは、例えば、ＩＰｖ４やＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）等により定義されたあらゆるアドレスファミリとの間でルートを送受信する動作や、様々なルータ決定（パス選択、一種類又は複数種類のＱｏＳポリシー、データ収集、トラフィックフィルタリング等についてのルータ決定）をドライブすべく一種類又は複数種類のルート属性を設定する動作を、ＢＧＰに則り実行する。
【００１５】
図１に、ｉＢＧＰ（Ｉｎｔｅｒｎａｌ−ＢＧＰ）利用型ＲＣＰを含む通信アーキテクチャを示す。具体的には、図１に示す通信アーキテクチャ１００は、自律システム（ＡＳ）１０２及び複数の隣接ルータ（ＮＲ）１１０を含んでいる（なお、個別のＮＲを示す場合は１１０1の如く添え字を付して表すこととし、個々に区別しないで示す場合は添え字なしで１１０と表すこととする；以下、他の部材の参照符号についても同様）。ＡＳ１０２は、複数のエッジルータ（ＥＲ）１０４及びＲＣＰ１０６を含んでいる。なお、この図ではＡＳ乃至ネットワークを１個のみ描いているが、ＡＳ乃至ネットワークを複数個設けることも可能である。更に、注記すべきことに、ＮＲ１１０又はその一部を、図示しない少なくとも１個の隣接ＡＳ内に設けてもよい。
【００１６】
図１に示すように、ＥＲ１０４及びＮＲ１１０は、通信リンク１１２を介して通信することができる。ＥＲ−ＮＲルータ対（例えばＥＲ１０４1とＮＲ１１０1との対）は、それぞれ、対応する通信リンク１１２上でｅＢＧＰ（Ｅｘｔｅｒｎａｌ−ＢＧＰ）セッション１１４を実行する。図示していないが、本件技術分野における習熟者（以下「当業者」）であれば、いくつかの通信リンク乃至付加的ネットワーク構成要素を介しＥＲ１０４同士で通信できることを、容易に理解できるであろう。
【００１７】
ＥＲ１０４は、それぞれ、ＲＣＰ１０６との間でｉＢＧＰセッション１０８を維持する。即ち、ＥＲ１０４はＲＣＰ１０６のみとの間でｉＢＧＰセッション１０８を維持するのであって、他のＥＲ１０４それぞれとの間でｉＢＧＰセッションを維持する（即ちフルメッシュのｉＢＧＰセッションを維持する）のではない。各ＥＲ１０４は、標準的なＢＧＰ処理ルールにより、ＲＣＰ１０６へとルートをエキスポートする。従って、図１に示した通信アーキテクチャ１００によれば、ＥＲ１０４をリコンフィギュレーションする必要がない。また、ｉＢＧＰセッション１０８を実行することにより、各ＥＲ１０４が、全ての利用可能ルートを見渡せるようになる。ｉＢＧＰセッション１０８を維持するには、例えば、ＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）等のＩＧＰを用いればよい。
【００１８】
従って、図１に示したアーキテクチャ１００を用いた場合、ＥＲ１０４間にｉＢＧＰのフルメッシュが存在していたなら各ＥＲ１０４にて選択されたであろうルートを、ＲＣＰ１０６においてＥＲ１０４毎に選択することが可能になる。ルート選択にて通常用いられる情報、例えばネットワークトポロジー情報は、例えばＲＣＰ１０６に対して入力として与えればよい。また、当業者であれば容易に理解できるように、ネットワークトポロジー情報をモニタする動作は、パフォーマンスモニタ及びルートコーズ解析のサポート下にて、様々な形で実行することができる。
【００１９】
図示していないが、フルメッシュｉＢＧＰネットワークが既に存在している場合においては、このネットワークのコンフィギュレーションを当該フルメッシュ型から少なくとも１個のＲＣＰを備える型へと、置換再編することができる。例えば、既存のｉＢＧＰセッションは手を付けないでそのままとしつつ、ＲＣＰと一群のＥＲとの間に新たにｉＢＧＰセッションをコンフィギュレーションする。ＲＣＰについては、例えば、ＥＲからＢＧＰルートを受信できるよう、その動作モードを“リードオンリー”モードにして運用する。この運用は、一群のＥＲが完全にＲＣＰ向けにリコンフィギュレーションされ終えるまで続ける。このリコンフィギュレーションを終えた暁には、ＲＣＰの動作モードを“リードオンリー”モードから“リードライト”モードへと切り替える。この切替が行われると、ＲＣＰは、ＡＳ内にある個別のＥＲに対し、選択したルートを配分できるようになる。
【００２０】
この実施形態においては、ＡＳ（図１でいうとＡＳ１０２）内にある一群のルータは、それぞれ、ｅＢＧＰに則り隣接ＡＳ内のルータ（例えばＮＲ１１０）から受信したルートよりも優先的に、ＲＣＰから配分されるルートを選択する。ＢＧＰルートに関するこのような優先度設定は、ＲＣＰのコンフィギュレーション具体的にはローカルプリファレンスルート属性の設定により、実現できる。即ち、他のルート発信源からのＢＧＰルートよりもＲＣＰからのルートの方が“魅力的”となるよう、ＲＣＰが各ルート毎のローカルプリファレンスルート属性を設定すればよい（そのような設定を行うようＲＣＰを構成すればよい）。例えば、ｅＢＧＰセッションにおけるインポートポリシーに対し範囲８０〜１００に属するローカルプリファレンス値が割り当てられるのであれば、ＲＣＰは、自分が配分するルートそれぞれに係るローカルプリファレンス値を、１１０等といった値に設定する。
【００２１】
以上述べたように、ｉＢＧＰメッシュを用いたルート選択及び配分に比べると、ＲＣＰ１０６を用いたルート選択及び配分には、数多くの好都合な点がある。しかしながら、図１に示した実施形態においては、ＲＣＰ１０６に対して示されるルートがいまだ部分的にフィルタリングされている。即ち、各ＥＲは、それぞれ、宛先プレフィクス毎に１個のルートを選択し、そのルートをＲＣＰ１０６に対しエキスポートしなければならない。そのため、ＲＣＰ１０６は利用可能ルート全てを見通すことができず（利用可能全ルートに対する可視性に欠け）、ＲＣＰ１０６から見通すことができるのは、そのＥＲ１０４にて利用可能なローカル情報に基づき各ＥＲ１０４が個別的に選択したルートのみにとどまる。本発明の実施形態としては、ＲＣＰから利用可能ルート全てを見渡せないというこの可視性上の制約を取り払うため、個別のＥＲ１０４上ではなくＲＣＰ１０６上で終端するようｅＢＧＰセッションをコンフィギュレーションする実施形態があり得る。かかる実施形態を、図２に示す。
【００２２】
図２に、ｉＢＧＰ及びｅＢＧＰ利用型ＲＣＰを含む通信アーキテクチャを示す。この図に示す構成要素のうち図１に示したものと同様の又は類似する構成要素については、図１及びこれに関連する説明中で用いたものと同じ参照符号を用い、その詳細な説明を省略することとする。図２に係る実施形態においても、図１に係る実施形態と同様、ルーティング情報の交換のためＲＣＰ１０６が各ＥＲ１０４との間の個別的ｉＢＧＰセッション２０４を維持する。反面、図２に係る実施形態においては、ＲＣＰ１０６にて利用可能全ルートに対する可視性を取得できるようにするため、個別のＥＲ１０４上ではなくＲＣＰ上で終端するよう、ｅＢＧＰセッションがコンフィギュレーションされている。即ち、図１のようにｅＢＧＰセッション１１４をＥＲ１０４上で終端させるのではなく、各ｅＢＧＰセッション２０２をＲＣＰ１０６上で終端させている。
【００２３】
図１に係る実施形態と同様、図２に示すネットワークアーキテクチャ２００においても、ＥＲ１０４及びこれに対応するＮＲ１１０をリコンフィギュレーションする必要がない。また、本実施形態においては、ＲＣＰ１０６が、そのＥＲ１０４が選択するのに適しているとＲＣＰ１０６が認めるルートに対してだけそのＥＲ１０４が可視性を有することとなるよう、個別のＥＲ１０４における可視性を確実に制限している。即ち、ＲＣＰ１０６によってフィルタリングされた後のルートのみを対象として、ＥＲ１０４によるルート選択プロセスが実行される。個別ＮＲ１１０との間のｅＢＧＰセッションがもはやＥＲ１０４によっては維持されていないことから、ＲＣＰ１０６は、個別のＥＲについて選択したルートを、ｅＢＧＰセッション２０２を通じそのＥＲに対応するＮＲ１１０に送信する。
【００２４】
図示していないが、ｉＢＧＰ及びｅＢＧＰを利用する既存のネットワークを再編し、ＲＣＰを少なくとも１個設けて利用できるようにすることも可能である。その際、図１に関して先に述べたネットワーク再編手法と同様の手法を用いれば、ＲＣＰと既存のルータ（図２でいえばＥＲ１０４）との間に新たなｉＢＧＰセッションをコンフィギュレーションすることができる。ＲＣＰと隣接ＡＳ内ルータ（例えばＮＲ１１０）との間には、マルチホップ可能型ｅＢＧＰセッションを確立すればよいし、そのようにすることは可能である。このとき、ＲＣＰのＩＰアドレスはＮＲ１１０から到達可能なアドレスでなければならない。そのため、各ＮＲ１１０は、例えば、そのＮＲ１１０からＲＣＰのＩＰアドレスに至る静的ルートが成立するよう、翻って当該静的ルートによりＥＲ１０４と対応するＮＲ１１０とを接続するインタフェースが形成されるよう、コンフィギュレーションされる。
【００２５】
更に、逆方向については、各ＥＲ１０４が、そのＥＲ１０４から個別のＮＲ１１０に至る静的ルート（ＥＲ１０４をＮＲ１１０に接続するインタフェースに係る静的ルート）が成立するよう、コンフィギュレーションされる。ＥＲ１０４は、ＯＳＰＦ等のＩＧＰを用いて各静的ルートを再配分する。これにより、ＲＣＰ１０６からＥＲ１０４に到達できるようになる。注記すべきことに、各ＥＲ１０４について確立される各ｅＢＧＰセッションを個別のＮＲ１１０それぞれに係るループバックアドレスに関連付ける静的ルートが成立するよう、ＲＣＰ１０６をコンフィギュレーションすることとしてもよい。
【００２６】
このようにＲＣＰ１０６と各ＮＲ１１０との間に個別的にｅＢＧＰセッションを確立可能なコンフィギュレーションにおいては、ＢＧＰメッセージたるＩＰパケットの送信乃至中継が、関連するＥＲ１０４を通って行われることとなる。即ち、このコンフィギュレーションにおいては、ＲＣＰ１０６とＮＲ１１０との間で各ｅＢＧＰセッションを実施するに際して必ず関連するＥＲ１０４を通さねばならない。従って、ＥＲ−ＮＲ対（例えばＥＲ１０４1とＮＲ１１０1の対）間のリンクがフェイルしたときには、そのリンクを使用するｅＢＧＰセッションが中断され、先にＥＲ（例えばＥＲ１０４1）から受信済みのルートが取り消される（消失する）こととなる。
【００２７】
本発明の実施形態としては、このように隣接ＡＳ内ルータのコンフィギュレーションを変更する実施形態だけでなく、前述の実施形態にて実現されている機能に相当する機能をその種の変更なしで実現する実施形態も、あり得る。例えば、ＲＣＰ１０６にてＲＣＰ１０６とＥＲ１０４との間のｉＢＧＰセッションを維持するようにし、同時に各ＥＲ１０４がそのＥＲ１０４とＮＲ１１０との間のｅＢＧＰセッションを個別的に維持するようにすればよい。注記すべきことに、このアーキテクチャを使用する場合には、各ＥＲ１０４にて、対応するＮＲ１１０から受信したｅＢＧＰルートについてのルート選択を実行し、選択したルートをｉＢＧＰに則りＲＣＰ１０６へと配分する。これに対しては、ＲＣＰ１０６は、自分で実行したルート選択処理の結果に基づき、他のルートを選択した方がよい旨、ＮＲ１１０に通知することができる。
【００２８】
また、本発明の実施形態としては、ｅＢＧＰルートに対するＲＣＰ１０６のアクセスを可能にするため、ｅＢＧＰルートをＲＣＰ１０６に送信するＢＧＰモニタを少なくとも１個設ける実施形態もあり得る。例えば、図１に示すように、ｅＢＧＰセッション１１４をモニタするＢＧＰモニタ１２０を、スタンドアローンデバイスとしてオプション的に設ける。ＢＧＰモニタ１２０は、対応する通信リンク１２２を介しｅＢＧＰ対応ルータ（例えばＮＲ１１０）と通信する一方、個別の通信リンク１２４を介しＲＣＰ１０６と通信する。図示しないが、ｅＢＧＰセッション１１４をモニタするＢＧＰモニタのうち少なくとも１個を、そのｅＢＧＰセッション１１４に係るｅＢＧＰ対応ルータ（例えばＥＲ１０４）の一部分として構成する実施形態もあり得る。何れにせよ、ＢＧＰモニタを少なくとも１個設けることにより、図１を参照して説明したネットワークアーキテクチャと実質的に同じアーキテクチャを維持しつつ、図２を参照して説明した機能と同一の又は類似した機能をサービスプロバイダから提供することが、可能になる。
【００２９】
本発明の実施形態としては、冗長性を付加するためにＲＣＰを追加設置した実施形態もあり得る。この種の実施形態を、仮に図２を参照して説明したｉＢＧＰ及びｅＢＧＰ利用型ＲＣＰにより実現するとしたら、ｉＢＧＰセッション及びｅＢＧＰセッションの維持形態は次のようなものになる。即ち、各ＲＣＰが、その設置先ＡＳ乃至ネットワーク内にある各ＥＲとの間のｉＢＧＰセッションを維持する一方、その設置先ＡＳ乃至ネットワークに隣接する各ＮＲとの間のｅＢＧＰセッションを（対応するＥＲ及びエッジ通信リンクを介して）維持する。或いは、実施形態次第では、図３に示すようにｅＢＧＰセッションを完全に廃止することもできる。
【００３０】
図３に、それぞれ異なるネットワークに関連付けられている複数のＲＣＰを含む好適な通信アーキテクチャを示す。具体的には、図３に示す通信アーキテクチャ３００は、複数のＡＳ乃至ネットワーク３０２と、これに関連付けられている複数のＲＣＰ３１０とを、含んでいる。各ＡＳ乃至ネットワーク３０２は、複数のＥＲ３０４を含んでいる。
【００３１】
図示していないが、当業者であれば容易に理解できるように、各サービスプロバイダネットワーク３０２内に設けられているＥＲ３０４は、通信リンクを介して、或いは更に他のネットワーク構成要素を介して、互いに接続されている。また、図３に示すように、ＥＲ３０４1CとＥＲ３０４2Aの間、ＥＲ３０４1DとＥＲ３０４2Bの間、ＥＲ３０４2CとＥＲ３０４3Aの間、並びにＥＲ３０４2DとＥＲ３０４3Bの間では、それぞれ通信リンク３０８を介して通信を行うことができる。ＥＲ３０４1A〜３０４1Dはそれぞれ自分とＲＣＰ３１０1との間のｉＢＧＰセッション３０６1A〜３０６1Dを維持し、ＥＲ３０４2A〜３０４2Dはそれぞれ自分とＲＣＰ３１０2との間のｉＢＧＰセッション３０６2A〜３０６2Dを維持し、ＥＲ３０４3A〜３０４3Dはそれぞれ自分とＲＣＰ３１０3との間のｉＢＧＰセッション３０６3A〜３０６3Dを維持する。
【００３２】
即ち、アーキテクチャ３００においては、各ネットワーク３０２内のＥＲ３０４間でフルメッシュのｉＢＧＰセッションを維持するのではなく、各ＥＲ３０４が自分に対応するＲＣＰ３１０との間のみでｉＢＧＰセッション３０６を維持するようにしている。従って、図３に示したネットワークアーキテクチャ３００においては、各ＥＲ３０４から対応するＲＣＰ３１０へのルートのエキスポートを標準的なＢＧＰ処理ルールに従い行えば足りるため、ＥＲ３０４をリコンフィギュレーションする必要がない。なお、ｉＢＧＰセッション３０６は、ＯＳＰＦ等のＩＧＰを用いて維持することができる。
【００３３】
図３に示すように、ＲＣＰ３１０1はＲＣＰ３１０2と、またＲＣＰ３１０2はＲＣＰ３１０3と、それぞれドメイン間ルーティングプロトコル３１２を用いて通信している。ＲＣＰ３１０間でルーティング情報を交換しあえるため、ｅＢＧＰを用いたドメイン間ルート配分を行う必要はない。ドメイン間ルーティングプロトコルとしては、ＢＧＰその他、当業者であれば本願による開示に基づきドメイン間ルーティングプロトコルとして利用できるものを、使用することができる。図示していないが、ＲＣＰ３１０間を物理的に接続してドメイン間ルーティングプロトコル３１２を利用できるようにした実施形態もあり得る。
【００３４】
なお、図１乃至図３の何れに示す実施形態においても、ＲＣＰ機能が、各ネットワークに関連付けられている各１個のＲＣＰ内に物理的に集中しているかのように、描かれている。もちろん物理的に集中していてもよいが、本発明の実施形態としては、ＲＣＰ機能が論理的には集中しているが物理的には集中していない、という実施形態もあり得る。言い換えれば、ＲＣＰ機能は、物理的には分散しているけれども論理的には集中化されている、という形態で、実現することが可能である。例えば、ある与えられたネットワーク（例えばＡＳ３０２1）内に複数のＲＣＰを設け、各ＲＣＰそれぞれが、そのネットワーク内のＥＲそれぞれに対するｉＢＧＰセッションを維持するようにする。このようにした場合、ネットワーク全体をサポートするのに必要な負荷取扱能力を各ＲＣＰがそれぞれ提供できる限りではあるが、適切な冗長性を付加することができる。ＲＣＰ機能を論理的に集中させつつ物理的に分散させる実施形態としては、この他、与えられたネットワーク内に複数のＲＣＰを設ける一方、ネットワーク内のＥＲをいくつかのまとまりに分け、各ＲＣＰがそれぞれ何れかのまとまりに属するＥＲについてｉＢＧＰセッションを維持する、という分担制の実施形態もあり得る。
【００３５】
図４に、本発明の一実施形態に係る方法の流れを示す。具体的には、図４に示す方法４００はネットワーク内におけるルート選択を（ＲＣＰにて）管理するための方法を含む方法であり、この方法４００の流れはステップ４０２にて開始乃至エンターした後ステップ４０４へと進んでいる。ステップ４０４においては、複数のルータからそれぞれ一組ずつルートを受信する。ステップ４０６においては、各組のルートをフィルタリングする。ステップ４０８においては、個別のルータそれぞれに係るルーティング情報に従い、各組のルートのうちフィルタリングを通過したルートの中から各組毎に少なくとも１個のルートを選択する。
【００３６】
このルーティング情報は、例えば、ルート属性、ネットワークトポロジーパラメータ、ルーティングポリシーパラメータ及びルータコンフィギュレーションパラメータのうち、少なくとも一種類を含む情報とすればよい。これに代え、ネットワーク毎ルーティングポリシー情報及び顧客毎ルーティングポリシー情報のうち少なくとも一種類を含む情報を、ルーティング情報として用いてもよい。また、ここでいうルーティングポリシーパラメータは、例えば、ネットワーク毎ルーティングポリシーパラメータ及び顧客毎ルーティングポリシーパラメータのうち、少なくとも一種類を含む情報である。ステップ４０８の後、方法４００はステップ４１０へと進んで終了する。
【００３７】
上掲の実施形態に係る方法は、ルート選択にＲＣＰを利用するルータが見通し範囲内で行う通信等により実現される方法としても、表現できる。即ち、少なくとも１個の利用可能ルートを含む一組のルートを送信し、フィルタリングを通過した一組のルート即ち送信されたルートに含まれる少なくとも１個の好適ルートを含む一組のルートを受信する方法としても、表現できる。注記すべきことに、この方法にてルータから送信される一組のルートの送信先は、本願に記載の通り少なくとも一種類のプロトコル（例えばＢＧＰ）を用いる少なくとも１個のＲＣＰである。
【００３８】
図５に、図４に示した方法の詳細な流れを示す。図４中に単独のステップとして描かれているステップのうちいくつかは、図５においては複数のステップに分かれている。また、この図では一連の動作乃至処理がシリアルに実行されるかのように示しているが、当業者であれば容易に理解できるように、方法５００を構成する一連のステップ又はその一部を同時並列的に実行することもできる。ここに、図５に示す方法５００は具体的にはＩＰ網におけるルート選択を管理するための方法を含む方法であり、その流れはステップ５０２にて開始乃至エンターした後ステップ５０４へと進んでいる。
【００３９】
ステップ５０４は、複数のルータそれぞれから一組ずつルートを受信するステップである。即ち、図３を例にしていえば、ＲＣＰ３１０1がＥＲ３０４1A〜３０４1Dそれぞれから一組のルートを受信する、といった具合である。各組のルートには、最低でも１個のルートを含めるようにするのが望ましい。例えば、ある時点でＲＣＰ３１０1がＥＲ３０４1Aから受信する一組のルートは３個のルートを含み、ＥＲ３０４1Bから受信する一組のルートは１個のルートを含み、ＥＲ３０４1Cから受信する一組のルートは７個のルートを含み、ＥＲ３０４1Dから受信する一組のルートは２０個のルートを含む、といった具合である。
【００４０】
ステップ５０６は、受信した各組のルートそれぞれに対し、少なくとも１個のルータ毎入来ルートフィルタを適用するステップである。即ち、受信した各組のルートは、それぞれその組のルートの発信元ルータに関連付けられている少なくとも１個のルートフィルタを用いて、ルータ毎にフィルタリングされる。このルートフィルタ即ちルータ毎入来ルートフィルタは、ルート選択処理における検討に値しないルートを取り除く機能を有している。例えば、図３中、ＲＣＰ３１０1がＥＲ３０４1A〜３０４1Dから受信する各組のルートが順に３個、１個、７個及び２０個のルートを含んでいるとする。各組のルートに対しては、ＲＣＰ３１０1にてその発信元ＥＲに対応するルータ毎入来ルートフィルタが適用される。その結果、その組に対応するルータ毎入来ルートフィルタによって、その組から“好ましくない”いくつかのルートが取り除かれる。例えば、ＥＲ３０４1Aに係るルータ毎入来ルートフィルタが２個、ＥＲ３０４1Bに係るルータ毎入来ルートフィルタが０個、ＥＲ３０４1Cに係るルータ毎入来ルートフィルタが２個、ＥＲ３０４1Dに係るルータ毎入来ルートフィルタが２個のルートを取り除いたとすると、各組のルートには、順に１個、１個、５個及び１８個のルートが残ることとなる。対応する組中のルート数が１であった場合はルートを取り除かない、取り除くと０になってしまう場合はルートを取り除かない、或いは１個以上のルートが残るよう取り除く、といった思想で、ルータ毎入来ルートフィルタを設計することも可能であろう。
【００４１】
ステップ５０８は、受信（及びフィルタリング）した各組のルートそれぞれについて、少なくとも１個のルートを格納するステップである。例えば、図３中のＥＲ３０４1A〜３０４1Dを発信元とする各組のルートからは、ＲＣＰ３１０1にて各組毎に一部又は全部のルートが格納される。本ステップにおけるルートの格納先は、ルートを格納できる限り本件技術分野において知られているどのようなコンポーネントでもよい。その例としては、メモリ、データベース或いはその組合せを挙げることができる。後に説明する図６においては、ルートはＡＲＲ６２２に格納できる。また、本ステップにてルートを格納するのは、ルート選択処理中にそのルートを使用するため（例えばモニタしているネットワーク内におけるルートの取消乃至消失に対処するため）である。なお、本ステップにおけるルート格納は付加的な処理であり、これを行わない実施形態もあり得る。
【００４２】
ステップ５１０は、各組のルートの中からそれぞれ少なくとも１個のルートを選択するステップである。ルート選択の母集団となる各組のルートは、先にステップ５０６として述べたフィルタリングが施されているか否か、即ちルータ毎入来ルートフィルタを用いまたルート選択処理に先立って各組のルートをフィルタリングするようにしているか否かにより、異なるものとなる。即ち、フィルタリングが行われていればフィルタリングを通過したものが、行われていなければ受信した（フィルタリングされていない）ものが、選択の対象になる。例えば、先に掲げた例の如く、ＲＣＰ３１０1がステップ５０４にてＥＲ３０４1A〜３０４1Dから受信した各組のルートに、順に３個、１個、７個及び２０個のルートが含まれているとする。ステップ５０６に係るフィルタリングを行わない場合、ステップ５１０においては、これら３個、１個、７個又は２０個のルートを含む各組のルートから、それぞれ少なくとも１個のルートが選択される。逆に、ステップ５０６に係るフィルタリングが行われており、その結果として各組のルートに順に１個、１個、５個及び１８個のルートが残されている場合、これら１個、１個、５個又は１８個のルートを含む各組のルートから、それぞれ少なくとも１個のルートが選択される。
【００４３】
ルート選択は、例えば、本件技術分野において知られているように、一種類又は複数種類のＢＧＰルート選択ルールに従い実行できる。ルート配分用にＢＧＰが採用されていない場合であっても、各組の利用可能ルートから好適なルートを少なくとも１個判別できる一種類又は複数種類のルールが実装されていれば、そのルールに従いルート選択を実行できる。また、ルート選択に当たっては、例えば、ルータがデータパケットをルーティングする際に使用できるよう、ＲＣＰ等にてベストルートを選択するようにする。或いは、ＲＣＰ等では少なくとも１個の好適なルートを選択して当該ルートの発信元ルータに配分するに留めてもよい。その場合、各ルータには、配分された好適なルートの中からそのルータにてベストルートを選択できるよう、ルート選択処理機能を実装しておく。
【００４４】
ステップ５１２は、ルート属性変更が必要か否かを例えば選択されたルート毎に判別するステップである。即ち、ステップ５１０にて選択されたルートはステップ５１２にてそれぞれ処理され、これにより、ルート配分に先立ち当該選択されたルートに係るルート属性の何れかを変更する必要乃至要請があるか否かが、判別される。なお、選択されていないルートについてはルート属性変更を行う必要はない（行ってもよい）。方法５００に係る動作は、ステップ５１２にて属性変更必要と判別された場合はステップ５１４へと進み、不要と判別された場合はステップ５１６へと進む。
【００４５】
ステップ５１４は、少なくとも一種類のルート属性を変更するステップである。上に述べたルート属性変更要否判別ステップ５１２及びこのルート属性変更ステップ５１４のうち少なくとも一方は、少なくとも１個のルータ毎出退ルートフィルタを用い実現することができる。例えば、ＥＲ３０４1A〜３０４1Dに係る各組のルートからそれぞれ１個のルートが選択されているとする。ＲＣＰ３１０1等に実装されるルータ毎出退ルートフィルタは、選択されているルートをフィルタリングすることによってルート属性変更要否判別、ルート属性変更又はその双方を実行できるよう、構成できる。即ち、選択されているルートに対しルータ毎出退ルートフィルタによるフィルタリングを施すことによりそのルートについてルート属性変更を施すべきか否かを判別する実施形態や、ルート属性変更必要と判別されたルートに対しルータ毎出退ルートフィルタによるフィルタリングを施すことによりそのルートについて必要な属性変更を実行する実施形態や、選択されているルートに対しルータ毎出退ルートフィルタによるフィルタリングを施すことによりルート属性変更要否判別だけでなく当該必要なルート属性変更をも実行する実施形態が、あり得る。また、ルータ毎出退ルートフィルタにて変更可能なルート属性としては、ローカルプリファレンス属性やマルチプルエグジットディスクリミネータ属性等がある。例えば、ＲＣＰ３１０1は、ステップ５１０にて選択されたルートのうち、ＥＲ３０４1Bに係るルートについてはそのローカルプリファレンス属性値を変更し、ＥＲ３０４1Cに係るルートについてはそのマルチプルエグジットディスクリミネータ属性値を変更する、といった具合である。
【００４６】
ステップ５１６は、そのルートにルート属性変更が施されているか否かによらず、選択されているルートをルータ毎ルーティングテーブル内に格納するステップである。即ち、ルータ毎ルーティングテーブルは、ルータ毎に、即ちそのルータに係るルートを保持するため専用に、設けられている。選択されているルートは、そのルートを含む一組のルートの発信元ルータに対応するルータ毎ルーティングテーブル内に、従ってルータ毎に格納される。なお、ルータ毎ルーティングテーブルは、当業者であれば本願による開示に基づきルーティングテーブル格納用に使用できるコンポーネントに、格納（搭載）することができる。その種のコンポーネントとしては、例えばメモリ、データベース或いはその組合せを挙げることができる。
【００４７】
ステップ５１８は、ルータ毎に少なくとも１個選択されているルートをそのルートの発信元たる個別ルータに配分するステップである。この配分は、例えばＢＧＰを用いて行う。或いは、本件技術分野において知られている同様の決定論的プロトコルを用いて、選択されているルートの配分を行ってもよい。ＲＣＰ等から配分されるルートは、配分先個別ルータがデータパケットをルーティングする際に使用できるベストルートであってもよいし、データパケットルーティング用のベストルートを各ルータにて選択するのに適したルートであってもよい。
【００４８】
図６に、ＲＣＰアーキテクチャのハイレベルブロック構成を示す。この図に示すＲＣＰアーキテクチャ６００は、具体的にはＲＣＰデーモン（ＲＣＰＤ）６０２、ＢＧＰプロトコルエンジン（ＢＰＥ）６０４、ＯＳＰＦビュワ（ＯＶ）６０６、パフォーマンス計測コンポーネント（ＰＭＣ）６０８、データベース６１０及びルーティングプラニングアプリケーション（ＲＰＡ）６４０を含んでいる。但しＲＰＡ６４０はオプション的な構成要素である。この図に示すように、ＲＣＰＤ６０２は、ルータ毎入来ルートフィルタ（ＰＲＩＦ）６２０、許容ルートレポジトリ（ＡＲＲ）６２２、ルート選択プロセッサ（ＲＳＰ）６２４、ＩＧＰ情報レポジトリ（ＩＩＲ）６２６、ルータ毎出退ルートフィルタ（ＰＲＯＦ）６２８及びルータ毎ルーティングテーブルコンポーネント（ＰＲＲＴＣ）６３０を含んでいる。
【００４９】
ＲＣＰＤ６０２の制御下にあるＢＰＥ６０４は、ｉＢＧＰ及びｅＢＧＰのうち少なくとも一方を用いてＥＲやＮＲとのＢＧＰセッションを維持する役割を担っている。ＢＰＥ６０４は、メッセージ交換、タイマー管理等によって、ＢＧＰプロトコルをその細部に亘り管理する。例えば、ＢＰＥ６０４により受信されるルート（入来ＢＧＰルート）は全てＲＣＰＤ６０２に転送され、ＲＣＰＤ６０２におけるルートフィルタリング及び選択の対象となる。また、例えば、ＲＣＰＤ６０２によりルータ毎に選択されたルート（出退ＢＧＰルート）はＢＰＥ６０４に転送され、ＢＰＥ６０４はＢＧＰプロトコルを用い適当なルータとの間でこれら出退ＢＧＰルートを交換する。また、ルート配分にＢＧＰを使用しない形態で本発明を実施することもできる。その場合、ＢＰＥ６０４に代え、ルート配分に使用するプロトコルに相応したプロトコルエンジンを用いればよい。
【００５０】
本願においては、ＲＣＰＤ６０２が動作しているＡＳに係るネットワークトポロジー情報が、そのＲＣＰＤ６０２において必要とされる。ネットワークトポロジー情報は、そのネットワーク内におけるＩＧＰルーティングプロトコルの挙動をモニタする少なくとも１個の機能コンポーネントによって、得ることができる。例えば、図６に示す例においては、ＯＳＰＦプロトコルによって交換されるＬＳＡ（Ｌｉｎｋ−Ｓｔａｔｅ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ）がＯＶ６０６によって監視され、その結果得られたネットワークトポロジー情報がＯＶ６０６からＲＣＰＤ６０２に供給される。ネットワークトポロジー情報の例としては、特定のルータ乃至ルータ群に関連付けられている少なくとも一種類のネットワークトポロジーパラメータを含むものを、挙げることができる。
【００５１】
また、ＲＣＰＤ６０２に対しネットワークパフォーマンス計測情報を与え、このネットワークパフォーマンス計測情報をルート選択処理にて利用させるようにしてもよい。ＲＣＰＤ６０２にてネットワークパフォーマンス計測情報として用いうるのは、例えば、現時点におけるネットワークトラフィック情報（例えばトラフィック量統計）や負荷パフォーマンス指標等、そのＲＣＰＤ６０２に対応するネットワーク乃至ＡＳのパフォーマンスを計測した結果を反映する情報である。図６に示す例にオプション的にＰＭＣ６０８を設けた場合は、当該ＰＭＣ６０８からＲＣＰＤ６０２へと、パフォーマンス計測情報を供給することができる。
【００５２】
更に、運用中のサービスプロバイダネットワークからＢＰＥ６０４やＯＶ６０６やＰＭＣ６０８といった機能要素を介して得ることができない情報、例えばオフラインネットワークコンフィギュレーション情報を、ＲＣＰＤ６０２にて利用するようにしてもよい。オフラインネットワークコンフィギュレーション情報としては、例えば、ＲＣＰＤ６０２に接続されている少なくとも１個のデータベース（図６でいえば６１０）に保存されている情報を、読み込んで利用することができる。例えば、図６に示すデータベース６１０には、クライアントルータコンフィギュレーション（ＣＲＣ）６１２、ネットワーク毎ルーティングポリシー（ＮＳＲＰ）６１４、顧客毎ルーティングポリシー（ＣＳＲＰ）６１６及び保守計画情報（ＰＭＩ）６１８が、それぞれ１種類又は複数種類格納されている。
【００５３】
これらのうちＣＲＣ６１２は、ＲＣＰＤ６０２におけるルート選択プロセスにて利用できる情報であり、例えばルータコンフィギュレーション情報を含んでいる。ルータコンフィギュレーション情報は、ＲＣＰＤ６０２の通信相手となりうるルータそれぞれに個別的に関連付けられている情報であり、例えば少なくとも一種類のルータコンフィギュレーションパラメータを含んでいる。ルータコンフィギュレーションパラメータの例としては、そのルータのＩＰアドレスや、そのルータに実装されているＢＧＰプロトコルの種別（ｉＢＧＰかｅＢＧＰかの別）等を、挙げることができよう。また、ＮＳＲＰ６０４も、ＲＣＰＤ６０２におけるルート選択プロセスにて利用できる情報であり、例えば、各種のネットワークルーティングポリシー及びこれに関連するルーティングポリシーパラメータを含んでいる。ＮＳＲＰ６０４に含まれうるネットワークルーティングポリシーの例としては、各ＥＲに対してどのルートを示すかに関する制御ポリシーや、システム内でどのルートを受容してはならないかに関する制御ポリシーを、挙げることができる。更に、ＣＳＲＰ６１６も、ＲＣＰＤ６０２におけるルート選択プロセスにて利用できる情報である。例えば、ある顧客についてサービスプロバイダネットワークによりＶｏＩＰがサポートされているとする。また、ＯＳＰＦプロトコルにより与えられるデフォルトの最短パスと比べて、（アプリケーションにとり）より好ましい特性を有する別のパスがネットワーク内に存在しているとする。その場合、そのＶｏＩＰによるトラフィックについては、当該別のパスを介してルーティングすることができる。
【００５４】
また、ＰＭＩ６１８もルート選択プロセスにて利用することができる。ＰＭＩ６１８をＲＣＰＤ６０２に入力しルート選択処理を行うことによって、計画されているネットワーク保守に伴うネットワークサービス中断をより確実に防ぐことができる。例えば、保守に伴いネットワークリンク（コア通信リンクやエッジ通信リンク等）のうちいくつかを遮断しなければならないとする。その場合、ＲＣＰＤ６０２におけるルート選択にてＰＭＩ６１８を適宜利用すれば、保守期間の開始に先立って、また制御乃至管理された形態にて（即ち他のネットワークリンクに過重負担をかけることなく）、そのネットワークリンクにおけるネットワークトラフィックを解消することができる。
【００５５】
更に、ＲＣＰＤ６０２は、サービスプロバイダネットワーク内で利用可能な全ルートに対し、ある一つの論理的な集中点乃至位置から、アクセスすることができる。従って、ルーティング問題のデバッギング等を含め、サービスプロバイダネットワーク内のルーティングについての全般的解析を、ＲＣＰＤ６０２により行わせることができる。このルーティング解析の結果又はその一部を、例えば、１個又は複数個の関連アプリケーション（図中のＲＰＡ６４０等）に与え、更なる処理及び解析を行わせることもできる。
【００５６】
なお、ＣＲＣ６１２、ＮＳＲＰ６１４、ＣＳＲＰ６１６及びＰＭＩ６１８は、図６においては、単一のデータベース６１０内に、且つ個々別々に、格納されているかのように描かれている。しかしながら、当業者であれば容易に理解できるように、ＣＲＣ６１２、ＮＳＲＰ６１４、ＣＳＲＰ６１６及びＰＭＩ６１８並びにこれらに関連する情報又はその一部の格納先及び格納形態は、本件技術分野において知られておりこの種の情報を格納できる何れのコンフィギュレーションとすることもできる。例えば、データベース６１０と同様のデータベースを複数通り設けることや、情報毎に格納先データベースを分けることや、データベース内をパーティションで区切ることなくこれらの情報を格納すること等が、可能である。更に、注記すべきことに、本発明に係るルート選択手法においては、ＣＲＣ６１２、ＮＳＲＰ６１４、ＣＳＲＰ６１６及びＰＭＩ６１８等のオフラインネットワークコンフィギュレーション情報だけでなく、オフラインネットワーク情報をも利用することができる。
【００５７】
図６に示すように、ＲＣＰＤ６０２はＰＲＩＦ６２０、ＡＲＲ６２２、ＲＳＰ６２４、ＩＩＲ６２６、ＰＲＯＦ６２８及びＰＲＲＴＣ６３０を含んでいる。まず、ＰＲＩＦ６２０は、ＢＰＥ６０４から入来ルートを受け取ってフィルタリングを施す。その出力は、ＡＲＲ６２２及びＲＳＰ６２４に接続されている。ＲＳＰ６２４は、ＰＲＩＦ６２０によるフィルタリングを通過したルートを受け取ってルート選択処理を実行する。その出力は、ＡＲＲ６２２、ＩＩＲ６２６及びＰＲＯＦ６２８に接続されている。ＰＲＯＦ６２８は、ＲＳＰ６２４により選択されたルートを受け取ってフィルタリングし、その出力をＰＲＲＴＣ６３０に入力する。ＰＲＲＴＣ６３０の出力は出退ルートとして送信すべくＢＰＥ６０４に入力される。
【００５８】
ＰＲＩＦ６２０に送られてくる入来ＢＧＰルートは、ＲＣＰＤ６０２がＢＰＥ６０４から受け取ったもの、即ちＲＣＰがセッションを確立した先のルータからＢＰＥ６０４が受信したものである。ＢＰＥ６０４により受信された入来ＢＧＰルートは、図１でいえばｉＢＧＰに則りＥＲ１０４から受信したものであり、図２でいえばｉＢＧＰに則りＥＲ１０４から受信したもの及びｅＢＧＰに則りＮＲ１１０から受信したものである。同様に、図３中の各ＲＣＰ３１０に係るＢＰＥ６０４は、対応するネットワーク３０２内のＥＲ３０４からｉＢＧＰに則り入来ＢＧＰルートを受信する。
【００５９】
ＰＲＩＦ６２０は、入来ＢＧＰルートをフィルタリングすることにより、特定のルータについて受容することができない入来ＢＧＰルート、並びにルート選択処理における検討対象としてふさわしくない入来ＢＧＰルートを取り除く。特定のルータについて受容することができない入来ＢＧＰルート及びルート選択処理における検討対象としてふさわしくない入来ＢＧＰルートを識別乃至特定するため、ＰＲＩＦ６２０は例えば一種類又は複数種類のルーティングポリシーを利用する。ルーティングポリシーとしては、データベース６１０から取得可能なルーティングポリシー、例えばＮＳＲＰ６１４、ＣＳＲＰ６１６等として格納されているものを、利用することができる。
【００６０】
ＰＲＩＦ６２０から出力される許容ＢＧＰルートはＡＲＲ６２２内に格納される。例えば、ルート選択処理において使用するかどうかを問わず、許容ＢＧＰルートを全て、ＡＲＲ６２２内に格納すればよい。許容ＢＧＰルートをＡＲＲ６２２内に格納しておけば、通知済のルートが取り消され又は消失したとき、代わりの利用可能ルートをＲＣＰから即座に提供することができる。また、ＡＲＲ６２２からＲＰＡ６４０へと、許容ＢＧＰルート及びこれに関連する情報を提供することもできる。
【００６１】
ＰＲＩＦ６２０から出力される許容ＢＧＰルートはＲＳＰ６２４に入力される。ＲＳＰ６２４は、各許容ＢＧＰルート毎に且つ個別のルータそれぞれの視点に立って、その許容ＢＧＰルートをネットワーク内使用向けに選択すべきか否かを判別する。即ち、ＲＳＰ６２４は、ネットワーク内で使用する好適なＢＧＰルートを少なくとも１個選択するために必要な処理を、実行する。注記すべきことに、ＢＧＰルート選択は、予め定められているルールに従い好適なルートを選択するという決定論的な処理である。例えば、ベストＢＧＰルートの選択はパス属性に基づき行うことができる。ディレイ、帯域幅、ラテンシー等の属性は、ＢＧＰルート選択に当たって考慮する必要がない。
【００６２】
ＲＳＰ６２４にて用いうるルールには例えば次のようなルールがある。まず、第１のルールは、関連する次回ホップアドレスがアクセス不可能であると判別できるルートをルート選択における検討の対象外とする、というルールである。第２のルールは、各ルートに係るプロトコルプリファレンス値の比較結果に応じてルートが選択されるようプロトコルプリファレンス値を用いる、というルールである。例えば、ＢＧＰには１７０というプロトコルプリファレンス値を割り当て、ダイレクトルーティングには１０というプロトコルプリファレンス値を割り当て、というように、ルーティングプロトコルに対し０〜２５５の値域内でプロトコルプリファレンス値を割り当てておけばよい。第３のルールは、最高の即ちベストなＢＧＰローカルプリファレンス値を有するルートを選択する、というルールである。第４のルールは、そのＡＳパス属性内にリストアップされているＡＳの個数が一番少ないルートを選択する、というルールである。第５のルールは、そのオリジンコード値が最も低いルートを選択する、というルールである。例えば、ＩＧＰをオリジンとするルートを、ＥＧＰをオリジンとするルートよりも優先的に選択する。注記すべきことに、以上述べたルート選択ルールは例に過ぎない。従って、上掲のルート選択ルールに更に他のルールを付け加えて用いることや、上掲のルート選択ルールからいくつかを除外して用いることや、上掲のルート選択ルールとは別のルールを用いることも、可能である。
【００６３】
また、複数のルート選択ルールが所定の重要度順に従い適用されるよう、種々のルート選択ルールを様々に組み合わせて用いることが可能である。上掲のルート選択ルール群を組み合わせる場合でいえば、上掲の第３のルールに従い“同一のＢＧＰローカルプリファレンス値を有する”と判別されたＢＧＰルートに対して“そのＡＳパス属性内にリストアップされているＡＳの個数が一番少ないルートを選択する”という第４のルールを適用する、という例を挙げることができる。同様に、上掲の第４のルールに従い“そのＡＳパス属性内にリストアップされているＡＳの個数が同じである”と判別されたＢＧＰルートに対して“そのオリジンコード値が最も低いルートを選択する”という第５のルールを適用する、という例も挙げることができる。
【００６４】
ＲＳＰ６２４により選択されたＢＧＰルートはＰＲＯＦ６２８に入力され、ＰＲＯＦ６２８によりフィルタリングされる。先に述べた通り、ＰＲＯＦ６２８は、受け取った選択済ＢＧＰルートをフィルタリングすることにより、属性変更が必要なＢＧＰルートの識別、そのＢＧＰルートの属性の変更、或いはその双方を実行する。ＰＲＯＦ６２８により属性変更を行う実施形態においては、ＰＲＯＦ６２８として、ＢＧＰルート属性のうち少なくとも一種類を変更する能力を有するフィルタを用いる。このときＰＲＯＦ６２８による変更対象となりうるＢＧＰルート属性には、ウエイト、オリジンコード、ＡＳパス、ＡＳセット、アトミックアグリゲート、次回ホップ、マルチプルエグジットディスクリミネータ、ローカルプリファレンス、コミュニティ、拡張コミュニティ、種々のマルチプロトコルアドレス等、本件技術分野にて知られている各種のＢＧＰルート属性がある。また、選択されたＢＧＰルートに対するフィルタリングは、ルータ毎ベースで実行することができる。注記すべきことに、ルート配分にＢＧＰ以外のプロトコルを用いる実施形態においては、以上述べたものとは異なる属性を変更することも可能である。
【００６５】
ＰＲＯＦ６２８によるフィルタリングを通過したＢＧＰルートはＰＲＲＴＣ６３０に入力される。他方、ＲＣＰは、例えばそのＰＲＲＴＣ６３０内に、少なくとも１個のルータ毎ルーティングテーブルを保持している。フィルタリングを通過したＢＧＰルート（変更されたルート属性を含む場合あり）を受け取ると、ＰＲＲＴＣ６３０は、そのＢＧＰルートをルータ毎ルーティングテーブル内に登録乃至格納する。フィルタリングを通過したこれらのルートはＰＲＲＴＣ６３０によりＢＰＥ６０４へと送られ、ＢＰＥ６０４は、ＲＣＰがモニタしているネットワーク内にあるルータに対して、これらのルートを配分する。注記すべきことに、フィルタリングを通過したＢＧＰルートのＢＰＥ６０４による配分は、ルート配分先のルータ及びその所属先ネットワークのアーキテクチャに応じて実行される。
【００６６】
図６に示した機能、中でもＲＳＰ６２４により実現されているルート選択処理に係る機能は、各種のアーキテクチャに対して適用乃至応用可能である。例えば、図１に示したようにＲＣＰによりｉＢＧＰセッションが維持されるアーキテクチャや、図２に示したようにＲＣＰによりｉＢＧＰセッション及びｅＢＧＰセッションが維持されるアーキテクチャや、図３に示したようにＡＳ間ルート交換用に複数のＲＣＰを設けたアーキテクチャ等、様々なアーキテクチャにおいて、図６に示した機能及びこれに関わる手法を利用することができる。
【００６７】
図面においては、ＲＣＰＤ６０２に係る複数のＲＣＰ機能コンポーネントが互いに物理的に別体のコンポーネントとして描かれている。しかしながら、これらＲＣＰ機能コンポーネントは、種々のコンフィギュレーションにより実現することができる。即ち、本件発明者が熟慮検討したところによれば、ＲＣＰＤ６０２に係るコンポーネント、機能及び情報のうち少なくとも一部を互いに結合させれば、より少ない個数の機能コンポーネント乃至データベースにより、ＲＣＰＤ６０２を実現することができる。同様に、これも本件発明者が熟慮検討したところによれば、各種のコンポーネント、機能及び情報を他の機能コンポーネントにより実現乃至提供することも可能であるし、これらコンポーネント、機能及び情報を上述のものとは異なるやり方で分けて種々の機能コンポーネント乃至データベースにより実現乃至提供することも可能である。
【００６８】
以上述べたように種々のコンポーネント及び情報を組み合わせて用いため、ＲＣＰＤ６０２によれば、古典的なＢＧＰルーティングアーキテクチャと等価な機能が実現されるにとどまらず、ルータ毎のコンフィギュレーションを簡素化することが可能になり、また特に種々のサービスプロバイダネットワークにおけるｉＢＧＰの拡張乃至調整に関連して発生する種々の問題を除去乃至防止することができる。更に注記すべきことに、かかるアーキテクチャを有するＲＣＰＤ６０２によれば、更に他の機能乃至アプリケーションを一種類又は複数種類サポートすることもできる。例えば、ルート選択プロセス用に入力する情報については、ＲＣＰＤ６０２は柔軟性を有している。そのため、図示しないコンフィギュレーション及びポリシーを一種類又は複数種類、サービスプロバイダネットワーク内に追加的に導入し、ルート選択処理においてこれらを利用乃至参照するようにすることも、可能である。
【００６９】
注記すべきことに、以上の説明では専らＢＧＰによる例を述べているが、ＡＳ１０２内或いは各ＡＳ３０２内通信において各種の他種プロトコルを用いることもできる。例えば、ルート情報その他の情報をマルチキャストする際には、ＰＩＭ（Ｐｒｏｔｏｃｏｌ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｕｌｔｉｃａｓｔ）プロトコルを用いることができる。また、ＭＰＬＳ（Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）トラフィックエンジニアリング機能を補助すべく、ＲＳＶＰ（Ｒｅｓｅｒｖａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を用いることもできる。或いは、ＭＰＬＳパスをセットアップするために、ＬＤＰ（Ｌａｂｅｌ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を用いることができる。
【００７０】
更に、本願にて図示及び説明した各種のアーキテクチャによれば、現在は何れのサービスプロバイダにおいても利用できないような各種のサービスを、サービスプロバイダから顧客に対して新規乃至追加提供することができる。例えば、サービスプロバイダは、複数のサービスプロバイダ間でのシームレスなインターワーキングやルーティング制御を提供することができる。或いは、サービスプロバイダは、ダイナミックＭＰＬＳベースのＶＰＮ、即ちＶＰＮ参加者又は参加者数が変わる毎にルート属性をダイナミックに変更できるＶＰＮを、提供することができる。或いは、サービスプロバイダは、ＤＤｏＳ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ）トラフィック制御、即ち特定タイプのトラフィックが集中制御ポイントから特定のロケーションへとダイレクトされるような制御を、実現することができる。或いは、サービスプロバイダは、自分のネットワークにおける保守をヒットレスで即ちサービスに対し有意な影響を与えずに実行するため、保守が計画されているエリアから他のエリアへと、トラフィックを移すことができる。或いは、サービスプロバイダは、音声、ビデオその他に係る特定のアプリケーションサービスによって、中央制御ポイントから顧客をトランスポートすることができる。
【００７１】
図７に、本願にて述べた各種機能を実現実行するのに適した汎用コンピュータシステムについて、そのハイレベルブロック構成を示す。この図に示すシステム７００は、プロセッサ素子７０２、メモリ７０４、ＲＣＰモジュール７０５及び各種のＩ／Ｏ（入出力）デバイス７０６を有している。プロセッサ素子７０２は例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によって、メモリ７０４は例えばＲＡＭ（Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）又はその双方によって、実現できる。Ｉ／Ｏデバイス７０６としては、各種の記憶乃至格納デバイス（これに限られるものではないがテープドライブ、フロッピー（登録商標）ディスクドライブ、ハードディスクドライブ、コンパクトディスクドライブ等）、受信機、送信機、スピーカ、ディスプレイ、出力ポート、ユーザ入力デバイス（キーボード、キーパッド、マウス等）等を、設けることができる。
【００７２】
注記すべきことに、本発明は、ソフトウエア的に実施することもできるし、ソフトウエアとハードウエアとの組合せにより実施することもできる。ハードウエアとしては、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、汎用コンピュータ或いはその機能的等価物等を、用いることができる。また、前述の各種機能を実現できるようＲＣＰモジュール７０５をＲＣＰプロセスとして実現すること、例えばメモリ７０４上にＲＣＰプロセス７０５をロードしプロセッサ素子７０２により実行させて前述の各種機能を実現することも、可能である。本発明においては、このＲＣＰプロセス７０５（及び関連する構造化データ群）を、コンピュータ可読媒体上に格納しておき利用することや、通信回線を介して入手することができる。ここでいうコンピュータ可読媒体は、例えば、ＲＡＭ等のメモリや、磁気乃至光学ドライブ乃至ディスクといったものである。
【００７３】
また、汎用コンピュータシステム７００の構成要素たるＲＣＰモジュール又はプロセス７０５によって図６中のＲＣＰアーキテクチャ６００全体を実現するようにしてもよいし、一部のみを実現するようにしてもよい。後者の例としては、ＲＣＰモジュール７０５によって主としてＲＣＰＤ６０２を実現する一方、各種Ｉ／Ｏデバイス７０６（例えば記憶乃至格納デバイス）によってデータベース６１０のうち少なくとも一部を実現しまた各種Ｉ／Ｏデバイス７０６によってＢＰＥ６０４、ＯＶ６０６、ＰＭＣ６０８及びＲＰＡ６４０に係る機能のうち少なくとも一部を実現する、といった例を挙げうる。無論、実施形態によっては、プロセッサ素子７０２やメモリ７０４もＲＣＰアーキテクチャ６００の実現に寄与することとなる。
【００７４】
以上、本発明に係る思想を組み込んだ各種の実施形態に関して図示及び説明した。当業者であれば、本願による開示に基づき直ちに、また本発明に係る思想から逸脱することなく、更なる実施形態を案出できるであろう。
【図面の簡単な説明】
【００７５】
【図１】ｉＢＧＰ利用型ＲＣＰを含む通信アーキテクチャを示す図である。
【図２】ｉＢＧＰ及びｅＢＧＰ利用型ＲＣＰを含む通信アーキテクチャを示す図である。
【図３】それぞれ個別のネットワークに関連付けられている複数個のＲＣＰを含む好適な通信アーキテクチャを示す図である。
【図４】本発明の一実施形態に係る方法を示すフロー図である。
【図５】図４に示した方法のより詳細なフロー図である。
【図６】ＲＣＰアーキテクチャのハイレベルブロック図である。
【図７】本願にて述べる機能を実現するのに適した汎用コンピュータのハイレベルブロック図である。
【図１】
2005278178.tif 000003
【図２】
2005278178.tif 000004
【図３】
2005278178.tif 000005
【図４】
2005278178.tif 000006
【図５】
2005278178.tif 000007
【図６】
2005278178.tif 000008
【図７】
2005278178.tif 000009