(57)【特許請求の範囲】
【請求項１】
複数のノード間を接続するリンクによって構成されたサブネットワークであるエリアが複数存在する環境下で、
複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードが行うルーティングテーブル設定方法において、
当該ノードは、前記所属するエリア毎に対応した複数のルーティングプロトコル部を備え、
前記ルーティングプロトコル部の何れかが、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが他のルーティングプロトコル部により設定されていた場合は、前記第２の経路エントリの経路コストよりも前記第１の経路エントリの経路コストの方が小さいのであれば前記第１の経路エントリを前記ルーティングテーブルに設定する、という前記複数のノード共通のポリシを、前記複数のノードそれぞれに設定することを特徴とするルーティングテーブル設定方法。
【請求項２】
複数のノード間を接続するリンクによって構成されたサブネットワークであるエリアが複数存在する環境下で、
複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードが行うルーティングテーブル設定方法において、
当該ノードは、前記所属するエリア毎に対応しており、それぞれ個別の識別番号を割り当てられた複数のルーティングプロトコル部を備え、
第１の前記ルーティングプロトコル部が、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが第２の前記ルーティングプロトコル部により設定されていた場合は、当該第１のルーティングプロトコル部の識別番号と第２のルーティングプロトコル部の識別番号の大小関係に基づいて前記第１の経路エントリを設定するか否かを判定する、という前記複数のノード共通のポリシを、前記複数のノードそれぞれに設定することを特徴とするルーティングテーブル設定方法。
【請求項３】
複数のノード間を接続するリンクによって構成されたサブネットワークであり、それぞれ個別の識別番号を割り当てられた複数のエリアが存在する環境下で、
複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードが行うルーティングテーブル設定方法において、
当該ノードは、前記所属するエリア毎に対応した複数のルーティングプロトコル部を備え、
第１の前記ルーティングプロトコル部が、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが第２の前記ルーティングプロトコル部により設定されていた場合は、当該第１のルーティングプロトコル部に対応するエリアの識別番号と第２のルーティングプロトコル部に対応するエリアの識別番号の大小関係に基づいて前記第１の経路エントリを設定するか否かを判定する、という前記複数のノード共通のポリシを、前記複数のノードそれぞれに設定することを特徴とするルーティングテーブル設定方法。
【請求項４】
請求項１乃至３の何れか１項に記載のルーティングテーブル設定方法において、
前記第２の経路エントリが設定されていない場合、及び、前記第２のエントリを設定したルーティングプロトコル部が前記第１のエントリの設定を試みているルーティングプロトコル部と同一であった場合、には前記第１の経路エントリを前記ルーティングテーブルに設定することを特徴とするルーティングテーブル設定方法。
【請求項５】
請求項１乃至４の何れか１項に記載のルーティングテーブル設定方法において、
前記複数のルーティングプロトコル部は、
当該ルーティングプロトコル部に対応したエリアに所属している隣接ノードとリンクステート情報を交換するリンクステート情報交換ステップと、
前記リンクステート情報交換ステップにおいて交換した前記リンクステート情報を格納するリンクステートデータベースを用意するステップと、
前記格納されている前記リンクステート情報に基づいて当該ルーティングプロトコル部に対応したエリアに所属している各宛先ノードへの最小コスト経路を計算する経路計算ステップと、
を行い、
前記経路計算ステップの計算結果に基づいて前記経路エントリを算出することを特徴とするルーティングテーブル設定方法。
【請求項６】
請求項１乃至５の何れか１項に記載のルーティングテーブル設定方法において、
前記リンクは、相互の伝播距離内に存在する２つのノードの無線インターフェースに同一の無線通信周波数を割り当てることにより作られるリンクであり、同一の無線通信周波数によって作られる１つ以上のリンクのことを、同一のグループに所属するリンクと定義することを特徴とするルーティングテーブル設定方法。
【請求項７】
複数のノード間を接続するリンクによって構成されたサブネットワークであるエリアが複数存在する環境下で、
複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードにおいて、
前記所属するエリア毎に対応した複数のルーティングプロトコル部を備え、
前記ルーティングプロトコル部の何れかが、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが他のルーティングプロトコル部により設定されていた場合は、前記第２の経路エントリの経路コストよりも前記第１の経路エントリの経路コストの方が小さいのであれば前記第１の経路エントリを前記ルーティングテーブルに設定する、という前記複数のノード共通のポリシが設定されることを特徴とするノード。
【請求項８】
複数のノード間を接続するリンクによって構成されたサブネットワークであるエリアが複数存在する環境下で、
複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードにおいて、
前記所属するエリア毎に対応しており、それぞれ個別の識別番号を割り当てられた複数のルーティングプロトコル部を備え、
第１の前記ルーティングプロトコル部が、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが第２の前記ルーティングプロトコル部により設定されていた場合は、当該第１のルーティングプロトコル部の識別番号と第２のルーティングプロトコル部の識別番号の大小関係に基づいて前記第１の経路エントリを設定するか否かを判定する、という前記複数のノード共通のポリシが設定されることを特徴とするノード。
【請求項９】
複数のノード間を接続するリンクによって構成されたサブネットワークであり、それぞれ個別の識別番号を割り当てられた複数のエリアが存在する環境下で、
複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードにおいて、
前記所属するエリア毎に対応した複数のルーティングプロトコル部を備え、
第１の前記ルーティングプロトコル部が、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが第２の前記ルーティングプロトコル部により設定されていた場合は、当該第１のルーティングプロトコル部に対応するエリアの識別番号と第２のルーティングプロトコル部に対応するエリアの識別番号の大小関係に基づいて前記第１の経路エントリを設定するか否かを判定する、という前記複数のノード共通のポリシが設定されることを特徴とするノード。
【請求項１０】
複数のノード間を接続するリンクによって構成されたサブネットワークであり、それぞれ個別の識別番号を割り当てられた複数のエリアが存在する環境下で、
複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードを複数備えた通信システムにおいて、
前記ノードが請求項７乃至９の何れか１項に記載のノードであることを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチエリアネットワークにおけるルーティングテーブル設定方法、通信システム及びノードに関し、特に、複数の無線インターフェースを有するノード間で、各ノードにおける無線インターフェースのそれぞれに割り当てる無線通信用周波数を自由に変えながら構成されるコグニティブ無線ネットワークにおけるルーティングテーブル設定に関する。
【背景技術】
【０００２】
昨今、コグニティブ無線ネットワークの実現に対する期待が高まっている。ここで、コグニティブ無線ネットワークとは、ネットワーク内に存在する各ノードが、複数の利用可能な無線通信用周波数（以下、適宜「チャネル」と表す）の候補のなかから１つ以上のチャネルを周辺環境（未使用チャネル、ノード間距離、通信需要など）に基づいて適宜選択することによって周辺環境に合わせたネットワークを構成する、というものである。
【０００３】
コグニティブ無線ネットワークでは、同一チャネルを割り当てた任意の２つのノードが互いに伝播距離範囲内にある場合に、当該２つのノード間にリンクが作られる。したがって、各ノードに割り当てるチャネルによって作られるリンク及び全体のトポロジが異なる。また、チャネルごとに伝播距離やキャパシティ、ロス率などの特性が異なるため、必要に応じて各ノードに割り当てるチャネルを変えることで自由にネットワークのプロビジョニングを変更できることが大きな特徴である。
【０００４】
例えば、多くの通信需要が存在するノード間にはより大きなキャパシティをもつリンク又は経路を作ることが可能である。具体的には、該リンク又は経路上のノードにはできるだけ大きいキャパシティをもつチャネルを割り当てたり、障害時の予備経路のためにディスジョイント経路ができるだけ作れるトポロジになるようにチャネルを割り当てたり、といった自由度の高いネットワーク構成が可能である。
【０００５】
ここで、コグニティブ無線ネットワークについて更に説明するために、ノードのモデル及びネットワークの構成例を図１に示す。
【０００６】
図１を参照すると本構成例におけるコグニティブ無線ネットワークは、７つのノード（ノードＡ〜Ｇ）を含む。
【０００７】
また、本構成例のノードのモデルでは、ノード本体が複数の無線インターフェースを有していることを特徴とする。具体的には、各ノードがそれぞれ第１の無線インターフェースと第２の無線インターフェースの２つの無線インターフェースを有している。
【０００８】
また、同じチャネルを共有し、共有するチャネルによって作られるリンクで互いに接続されるノード同士でエリア（サブネットワーク）が構成される。本構成例では、１１のリンク（Ｌ１１〜Ｌ４２）により、４つのエリア（エリアＸ、Ｙ、Ｗ及びＺ）が構成されている。
【０００９】
例えば、エリアＸでは、ノードＡの第２の無線インターフェースとノードＢの第２の無線インターフェースに同じチャネルが割り当てられている。そして、そのチャネルによって作られるリンクＬ１１がノードＡとノードＢを接続している。
【００１０】
また、エリアＹでは、ノードＡの第１の無線インターフェースとノードＢの第１の無線インターフェースとノードＣの第１の無線インターフェースに同じチャネルが割り当てられている。そして、そのチャネルによって作られるリンクＬ２１〜Ｌ２３によってノードＡ〜Ｃが互いに接続されている。
【００１１】
同様に、エリアＺでは、ノードＣの第２の無線インターフェースとノードＧ、Ｄ、Ｅ及びＦの第１の無線インターフェースに同じチャネルが割り当てられている。そして、そのチャネルによって作られるリンクＬ３１〜Ｌ３４がノードＣ〜Ｆを接続している。
【００１２】
更に、エリアＷでは、ノードＤ、Ｅ及びＧの第２の無線インターフェースに同じチャネルが割り当てられている。そして、そのチャネルによって作られるリンクＬ４１、Ｌ４２がノードＤ、Ｅ及びＧを接続している。
【００１３】
このように、コグニティブ無線ネットワークでは、同じチャネルを共有し、共有するチャネルによって作られるリンクで互いに接続されるノード同士でエリアが定義される。そしてこれら定義された複数のエリアによりコグニティブ無線ネットワークが実現される。また、１つのノードには複数のチャネルが割り当てられるため、１つのノードが複数のエリアに所属することができるという特徴も有する。本構成例で言えば、例えばノードＡはエリアＹ及びエリアＸの双方に所属している。
【００１４】
このようなコグニティブ無線ネットワークについては、例えば特許文献１、２及び３に開示がある。
【００１５】
具体的には、特許文献１には特性の異なる複数の無線システムの通信帯域を利用し、周波数の利用効率を向上させる旨の記述がある。
【００１６】
また特許文献２には全パストのコストの合計が最小となる通信ルートを選択する技術が、特許文献３には適切なルーティングを行うことに関する技術が記載されている。
【００１７】
各特許文献に記載のような、複数のエリアから構成されるネットワークにおいてルーティングを行うための１つの方法として、各エリア内でリンクステート情報を交換する方法が考えられる。ここで、リンクステート情報とは、各ノードにおける隣接ノードとの間を接続するリンクに関する情報である。
【００１８】
リンクステート情報を交換するためのルーティングプロトコルとして、非特許文献１に開示されているＯＬＳＲ(Optimized Link State Routing)が挙げられる。ＯＬＳＲでは同一パケットを1つのノードからすべてのノードへ配信するフラッディングという技術によりリンクステート情報を交換することが可能となる。もっとも、ネットワーク全体が大規模な場合、ネットワークの全ノード間でリンクステート情報を交換すると負荷が高く、スケーラビリティに乏しいという問題が生じる。
【００１９】
そこで、リンクステート情報を交換するノード数を少なくするため、リンクステート情報を交換する領域をエリア内に止めることが考えられる。もっともこれでは異なるエリア間での到達性が確保できない。よって、エリア境界に存在するノードが、異なるエリアに存在するノードへの経路コスト（経路上のリンクのリンクコストを合算したもの）及び対応するエリア境界ノードの情報を各エリアに広告することにより、エリア間の到達性も確保する。これは非特許文献２に開示されているＯＳＰＦ(Open Shortest Path First)におけるエリア間ルーティングと同じアイディアである。
【００２０】
このアイディアに基づいて、エリア境界に存在するノードが、異なるエリアに存在するノードへの経路コスト及び対応するエリア境界ノードの情報を各エリアに広告することにより、エリア間の到達性も確保する例を図２に示す。
【００２１】
図２では、説明の便宜上図１のネットワークの構成例と比べて、エリアＸ及びエリアＷが省略された構成をとるものとする。
【００２２】
このとき、エリア境界に存在するノードＣは、エリアＹ側のノードに対して、エリアＹと異なるエリアに存在するノードであるノードＤ、Ｅ、Ｆ及びＧへの経路コスト並びに対応するエリア境界ノード（ノードＣ）を広告する。またノードＣは同時に、エリアＺ側へのノードに対して、エリアＺと異なるエリアに存在するノードであるノードＡ、Ｂへの経路コスト及び対応するエリア境界ノード（ノードＣ）を広告する。エリアＹ、Ｚ内の各ノードは、広告された異なるエリアに存在するノードへの経路コストと、該経路コストを広告したエリア境界ノード（ノードＣ）までの経路コストとを合算することにより、異なるエリアに存在するノードへの最小コスト経路を計算することが可能となる。
【先行技術文献】
【特許文献】
【００２３】
【特許文献１】特開２００７−３０６２０６号公報
【特許文献２】特開２００８−１３１５７４号公報
【特許文献２】特開２００８−２２７７４０号公報
【非特許文献】
【００２４】
【非特許文献１】T. Clausen and P. Jacquet, "Optimized Link State Routing Protocol (OLSR)," RFC 3626, October 2003.
【非特許文献２】J. Moy, "OSPF Version 2," RFC 2328, April 1998.
【発明の概要】
【発明が解決しようとする課題】
【００２５】
上述したような技術を利用することにより、エリア間の到達性を確保することができる。しかしながら、上述の技術には問題点があるため、この点について説明する。
【００２６】
コグニティブ無線ネットワークにおいて、各エリア内でリンクステート情報を交換する場合、同一のノード内で複数のルーティングプロトコルが動作することがある。エリアは、同じチャネルを共有し、共有するチャネルによって作られるリンクで互いに接続されるノード同士で定義されるため、複数のチャネルが割り当てられたノードは複数のエリアに属することがありうるからである。
【００２７】
昨今一般的に利用されているＯＳ(Operating System)では、各ノードにおいて１つのルーティングテーブルしか設定できないことが多い。そして、各ノードにおいて１つのルーティングテーブルしか設定できない場合、同一ノードにおいて複数のルーティングプロトコルが動作するとパケットのループが発生する可能性がある。
【００２８】
同一のノード内で複数のルーティングプロトコルが動作することによってパケットのループが発生する例を図３を参照して説明する。説明の便宜上、図３で示すネットワーク構成は、図１のネットワークの構成例と比べて、エリアＸ及びエリアＹが省略された構成を
とるものとする。
【００２９】
リンクコストテーブル５０１にはエリアＺにおける各リンクのリンクコストが示されている。また、リンクコストテーブル５０２にはエリアＷにおける各リンクのリンクコストが示されている。
【００３０】
このリンクコストは、事前に設定により定められても良いし、リンクキャパシティやリンクの遅延時間などに基づいて計算されてもよい。リンクコストテーブル５０１及び５０２の例では、リンクＬ３５だけがリンクコスト＝４であり、その他のリンクはリンクコスト＝１であるものとする。
【００３１】
ルーティングプロトコルは最小コスト経路を計算する。そのため、エリアＺにおけるルーティングプロトコルが計算する経路エントリは、ノードＤにおいてはルーティングテーブル５０３、ノードＥにおいてはルーティングテーブル５０４のようになる。
【００３２】
また、エリアＺにおけるルーティングプロトコルが計算する経路エントリは、ノードＤにおいてはルーティングテーブル５０５、ノードＥにおいてはルーティングテーブル５０６のようになる。なお、今回の説明ではエリア外のノードへの経路エントリは省略している。
【００３３】
ここで、ノードＤにおいてはルーティングテーブル５０３が有効なルーティングテーブルとして設定され、ノードＥにおいてはルーティングテーブル５０６が有効なルーティングテーブルとして設定されるとする。ただしエリアＷに含まれないノードであるノードＣ、Ｆへの経路エントリはルーティングテーブル５０４のエントリが設定される。
【００３４】
この場合、ノードＧを宛先とするパケットはノードＤとノードＥの間でループする。
【００３５】
上記の例のように、コグニティブ無線ネットワークにおいてエリアごとにルーティングプロトコルを動作させる場合、複数のルーティングプロトコルが動作していると、ループが発生することがある、という課題がある。
【００３６】
そこで本発明は、
コグニティブ無線ネットワークにおいて、エリアごとにルーティングプロトコルを動作させる場合に、複数のルーティングプロトコルが動作していても、ループを発生させない、マルチエリアネットワークにおけるルーティングテーブル設定方法、通信システム及びノードを提供することを目的とする。
【課題を解決するための手段】
【００３７】
本発明の第１の観点によれば、複数のノード間を接続するリンクによって構成されたサブネットワークであるエリアが複数存在する環境下で、複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードが行うルーティングテーブル設定方法において、当該ノードは、前記所属するエリア毎に対応した複数のルーティングプロトコル部を備え、前記ルーティングプロトコル部の何れかが、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが他のルーティングプロトコル部により設定されていた場合は、前記第２の経路エントリの経路コストよりも前記第１の経路エントリの経路コストの方が小さいのであれば前記第１の経路エントリを前記ルーティングテーブルに設定する、という前記複数のノード共通のポリシを、前記複数のノードそれぞれに設定することを特徴とするルーティングテーブル設定方法が提供される。
【００３８】
本発明の第２の観点によれば、複数のノード間を接続するリンクによって構成されたサブネットワークであるエリアが複数存在する環境下で、複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードが行うルーティングテーブル設定方法において、当該ノードは、前記所属するエリア毎に対応しており、それぞれ個別の識別番号を割り当てられた複数のルーティングプロトコル部を備え、第１の前記ルーティングプロトコル部が、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが第２の前記ルーティングプロトコル部により設定されていた場合は、当該第１のルーティングプロトコル部の識別番号と第２のルーティングプロトコル部の識別番号の大小関係に基づいて前記第１の経路エントリを設定するか否かを判定する、という前記複数のノード共通のポリシを、前記複数のノードそれぞれに設定することを特徴とするルーティングテーブル設定方法が提供される。
【００３９】
本発明の第３の観点によれば、複数のノード間を接続するリンクによって構成されたサブネットワークであり、それぞれ個別の識別番号を割り当てられた複数のエリアが存在する環境下で、複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードが行うルーティングテーブル設定方法において、当該ノードは、前記所属するエリア毎に対応した複数のルーティングプロトコル部を備え、第１の前記ルーティングプロトコル部が、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが第２の前記ルーティングプロトコル部により設定されていた場合は、当該第１のルーティングプロトコル部に対応するエリアの識別番号と第２のルーティングプロトコル部に対応するエリアの識別番号の大小関係に基づいて前記第１の経路エントリを設定するか否かを判定する、という前記複数のノード共通のポリシを、前記複数のノードそれぞれに設定することを特徴とするルーティングテーブル設定方法が提供される。
【００４０】
本発明の第４の観点によれば、複数のノード間を接続するリンクによって構成されたサブネットワークであるエリアが複数存在する環境下で、複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードにおいて、前記所属するエリア毎に対応した複数のルーティングプロトコル部を備え、前記ルーティングプロトコル部の何れかが、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが他のルーティングプロトコル部により設定されていた場合は、前記第２の経路エントリの経路コストよりも前記第１の経路エントリの経路コストの方が小さいのであれば前記第１の経路エントリを前記ルーティングテーブルに設定する、という前記複数のノード共通のポリシが設定されることを特徴とするノードが提供される。
【００４１】
本発明の第５の観点によれば、複数のノード間を接続するリンクによって構成されたサブネットワークであるエリアが複数存在する環境下で、複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードにおいて、前記所属するエリア毎に対応しており、それぞれ個別の識別番号を割り当てられた複数のルーティングプロトコル部を備え、第１の前記ルーティングプロトコル部が、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが第２の前記ルーティングプロトコル部により設定されていた場合は、当該第１のルーティングプロトコル部の識別番号と第２のルーティングプロトコル部の識別番号の大小関係に基づいて前記第１の経路エントリを設定するか否かを判定する、という前記複数のノード共通のポリシが設定されることを特徴とするノードが提供される。
【００４２】
本発明の第６の観点によれば、複数のノード間を接続するリンクによって構成されたサブネットワークであり、それぞれ個別の識別番号を割り当てられた複数のエリアが存在する環境下で、複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードにおいて、前記所属するエリア毎に対応した複数のルーティングプロトコル部を備え、第１の前記ルーティングプロトコル部が、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが第２の前記ルーティングプロトコル部により設定されていた場合は、当該第１のルーティングプロトコル部に対応するエリアの識別番号と第２のルーティングプロトコル部に対応するエリアの識別番号の大小関係に基づいて前記第１の経路エントリを設定するか否かを判定する、という前記複数のノード共通のポリシが設定されることを特徴とするノードが提供される。
【００４３】
本発明の第７の観点によれば、複数のノード間を接続するリンクによって構成されたサブネットワークであり、それぞれ個別の識別番号を割り当てられた複数のエリアが存在する環境下で、複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードを複数備えた通信システムにおいて、前記ノードが上記本発明の第４の観点乃至第６の観点の何れかにより提供されるノードであることを特徴とする通信システムが提供される。
【発明の効果】
【００４４】
本発明によれば、或る宛先ノードに対する経路エントリを設定しようとする際に、所定のポリシを満たす場合にのみ当該経路エントリをルーティングテーブルに設定することから、１つのルーティングテーブルしかない場合に、複数のルーティングプロトコル部が同一宛先ノードに対する経路エントリを設定しようとしたとしても、ループを発生させる経路エントリの設定を防ぐことが可能になる。
【図面の簡単な説明】
【００４５】
【図１】コグニティブ無線ネットワークの基本的構成の一例を表す図である。
【図２】エリア間経路の広告・計算を説明するための図である。
【図３】複数のルーティングプロトコルが動作するコグニティブ無線ネットワークの基本的構成の一例を表す図である。
【図４】本発明の第１の実施の形態の基本的構成を表すブロック図である。
【図５】本発明の実施形態におけるリンクステートデータベースの例を表す図である。
【図６】本発明の第１の実施形態におけるルーティングテーブルの例を表す図である。
【図７】本発明の実施の形態におけるノード１０００の動作を示す流れ図（１／２）である。
【図８】本発明の実施の形態におけるノード１０００の動作を示す流れ図（２／２）である。
【図９】本発明の実施形態におけるリンクステートデータベースの別の例を表す図である。
【図１０】本発明の第２の実施の形態の基本的構成を表すブロック図である。
【図１１】本発明の実施の形態におけるノード２０００の動作を示す流れ図である。
【図１２】本発明の第２の実施形態におけるルーティングテーブルの例を表す図である。
【図１３】本発明の第２の実施形態におけるルーティングテーブルの別の例を表す図である。
【発明を実施するための形態】
【００４６】
［実施形態１］
次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００４７】
図４に本発明の第１の実施の形態であるノード１０００を示す。ノード１０００は、コグニティブ無線ネットワーク内に含まれるノードの１つであり、無線リンクにより他のノードと接続されている。また、本実施形態におけるコグニティブ無線ネットワーク全体の構成は図１のネットワーク構成例と同様である。なお、ノード１０００に接続される他のノードもノード１０００と同様の構成をしているものとする。すなわち、本実施形態はノード１０００単独でも成立するが、ノード１０００を含む複数のノードからなるコグニティブ無線ネットワークとしても成立する。
【００４８】
図４を参照すると、ノード１０００は、ルーティングプロトコル群１００と、最小経路コストエントリ判定部２００と、ルーティングテーブル３００とを含む。
【００４９】
ルーティングプロトコル群１００は、ノード１０００が属するエリア毎に対応する複数のルーティングプロトコル部を含む。図４の構成例では、ノード１０００はＮ個のエリアに属しているものとする。そのため、ルーティングプロトコル群１００は、第１のエリアルーティングプロトコル部１１０−１、第２のエリアルーティングプロトコル部１１０−２、・・・、第Ｎのエリアルーティングプロトコル部１１０−Ｎ、のＮ個のルーティングプロトコル部を含む。なお、図４においては３つのルーティングプロトコル部のみが示されているが、これはあくまで図示の都合のためである。実際には、ノードが属するエリアの数だけのルーティングプロトコルを含む。つまり、図４では第３のエリアルーティングプロトコル部１１０−３、・・・、第Ｎ−１のエリアルーティングプロトコル部１１０−Ｎ−１に関しては図示を省略する。なお、接続状況によってはルーティングプロトコル部は２つのみであってもよい。
【００５０】
第１のエリアルーティングプロトコル部１１０−１、第２のエリアルーティングプロトコル部１１０−２、・・・、第Ｎのエリアルーティングプロトコル部１１０−Ｎは全て同じ構成をとる。そのため各ルーティングプロトコル部を代表して第１のエリアルーティングプロトコル部１１０−１について説明する。なお、上述のように第Ｎのエリアルーティングプロトコル部１１０−Ｎも第１のエリアルーティングプロトコル部１１０−１と同様の構成をしているが、第Ｎのエリアルーティングプロトコル部１１０−Ｎ内の各部の図示は省略する。
【００５１】
第１のエリアルーティングプロトコル部１１０−１は、リンクステート情報交換部１１１−１と、リンクステートデータベース１１２−１と、経路計算部１１３−１と、経路設定部１１４−１とを含む。
【００５２】
リンクステート情報交換部１１１−１は、同じエリアに属する隣接ノードと当該エリア内のリンクステート情報の交換を行う。ここで、リンクステート情報とは、各ノードにおける隣接ノードとの間を接続するリンクに関する情報である。このリンクに関する情報としては、例えば、リンクステート情報を広告したノードを識別するための情報、各リンクに対応する隣接ノードを識別するための情報及びリンクコストなどが挙げられる。また、リンクステート情報を交換するプロトコルの例としては、ＯＬＳＲやＯＳＰＦが挙げられる。なお、これらはあくまで例示であり、他の情報を更に用いるようにしたり、他のプロトコルに準拠するようにしてもよい。また、リンクステート情報の交換は、隣接するノードからの通知を契機として行ってもよいし、定期的に隣接するノードに問い合わせてもよい。
【００５３】
リンクステートデータベース１１２−１は、リンクステート情報交換部１１１−１が交換した各エリア内のリンクステート情報を格納する機能を有するデータベースである。
【００５４】
リンクステートデータベース１１２−１に格納されるリンクステート情報の例を図５に示す。図５のリンクステートデータベース５０７は図３におけるノードＣ〜Ｇが格納するエリアＺのリンクステート情報の例である。また、リンクステートデータベース５０８は図３におけるノードＤ、Ｅ、Ｇが格納するエリアＷのリンクステート情報の例である。例えば、リンクステートデータベース５０７を参照すると、リンクステート情報を広告したノードごとに、各リンクに対応する隣接ノード及びリンクコストが登録されている。例えば、ノードＣはノードＤへのリンクを持っており、該リンクのリンクコストは１であることが分かる。また、ノードＤは、ノードＣ，Ｅ，Ｇへのリンクを持っており、それぞれのリンクのリンクコストは１，１，４であることが分かる。
【００５５】
経路計算部１１３−１は、リンクステートデータベース１１２−１に格納されているリンクステート情報を参照して、第１のエリアルーティングプロトコル部１１０−１が属するエリア内の各宛先ノードへの最小コスト経路を計算する。最小コスト経路を計算するアルゴリズムの例として、ダイクストラ法(Dijkstra's Algorithm)というアルゴリズムが挙げられる。経路計算は、定期的に行ってもよいし、リンクステートデータベース１１２−１が更新されたときに行われてもよい。
【００５６】
経路設定部１１４−１は、経路計算部１１３−１が計算した各ノードへの経路に対応する次ホップノード、経路コスト及び該経路エントリを設定したルーティングプロトコル部の識別子を経路エントリとしてルーティングテーブル３００へ設定する機能を有する。
【００５７】
経路設定部１１４−１は、ルーティングテーブル３００へ経路エントリを設定する前に、最小経路コストエントリ判定部２００に問い合わせ、設定しようとしている経路エントリが、ノード１０００内の他のルーティングプロトコル部がルーティングテーブル３００に設定した同じ宛先ノードへの経路エントリと比べて、最小の経路コストをもつものであるかどうか調べる。
【００５８】
最小経路コストエントリ判定部２００は、経路設定部１１４−１〜経路設定部１１４−Ｎの問い合わせに対し、経路設定部１１４−１〜経路設定部１１４−Ｎが設定しようとする経路エントリが、ノード１０００内の他のルーティングプロトコル部がルーティングテーブル３００に設定した同じ宛先ノードへの経路エントリと比べて、最小の経路コストをもつものであるかどうかを判定する。そして、その判定結果を問い合わせもとの経路設定部１１４（経路設定部１１４−１〜経路設定部１１４−Ｎの何れか）へ応答する。
【００５９】
具体的な判定方法として、今回の問い合わせもとの経路設定部１１４が設定しようとする経路エントリの宛先ノードと同じ宛先ノードに対する経路がルーティングテーブル３００に既に設定されているかどうかを調べる。もし設定されていないならば、今回の問い合わせもとの経路設定部１１４が設定しようとする経路エントリは該宛先ノードへの最小経路コストをもつ経路であると判定する。もし既に設定されているエントリが存在する場合は、設定されているエントリを参照し、該エントリを設定したルーティングプロトコル部の識別子を調べる。識別子が今回の問い合わせもとの経路設定部１１４を含むルーティングプロトコル部の識別子と一致する場合、今回の問い合わせもとの経路設定部１１４が設定しようとする経路エントリは該宛先ノードへの最小経路コストをもつ経路であると判定する。また、一致しない場合は、既に設定されているエントリの経路コストと、今回の問い合わせもとの経路設定部１１４が設定しようとする経路エントリの経路コストとを比較する。そして比較の結果、今回の問い合わせもとの経路設定部１１４が設定しようとする経路エントリの経路コストの方が小さいならば、今回の問い合わせもとの経路設定部１１４が設定しようとする経路エントリは該宛先ノードへの最小経路コストをもつ経路であると判定する。
【００６０】
ルーティングテーブル３００は、各宛先ノードごとに次ホップノード、該宛先ノードへの経路コスト及び設定したルーティングプロトコル部の識別子のエントリが登録された表であり、経路設定部１１４−１〜経路設定部１１４−Ｎによって設定される。ルーティングテーブル３００に設定される経路エントリの例を図６のルーティングテーブル５０９に示す。
【００６１】
図６を参照すると、ルーティングテーブル５０９は、図３におけるノードＤにおいて設定されるルーティングテーブルを示しており、各宛先ノードごとに、対応する経路の次ホップノード、該宛先ノードへの経路コスト及び設定したルーティングプロトコル部の識別子のエントリが登録されている。
【００６２】
例えば、１番目のエントリでは、ノードＣを宛先ノードとする経路の次ホップノードはノードＣ、経路コストは１、該エントリを設定したルーティングプロトコル部はルーティングプロトコル部１１０−１であることが分かる。また、同様に、２番目のエントリでは、ノードＥを宛先ノードとする経路の次ホップノードはノードＥ、経路コストは１、該エントリを設定したルーティングプロトコル部はルーティングプロトコル部１１０−２であることが分かる。３番目のエントリでは、ノードＦを宛先ノードとする経路の次ホップノードはノードＥ、経路コストは２、該エントリを設定したルーティングプロトコル部はルーティングプロトコル部１１０−１であることが分かる。４番目のエントリでは、ノードＧを宛先ノードとする経路の次ホップノードはノードＧ、経路コストは１、該エントリを設定したルーティングプロトコル部はルーティングプロトコル部１１０−２であることが分かる。
【００６３】
次に、図７を参照して、本実施の形態においてノード１０００のリンクステート情報交換部１１１−１、リンクステート情報交換部１１１−２及びリンクステート情報交換部１１１−Ｎ並びにリンクステートデータベース１１２−１、リンクステートデータベース１１２−２及びリンクステートデータベース１１２−Ｎによるリンクステートテーブルの作成時の動作について詳細に説明する。今回は、リンクステート情報交換部１１１−１及びリンクステートデータベース１１２−１を例に取って説明するが他のリンクステート情報交換部及びリンクステートデータベースも同様の動作を行うものとする。
【００６４】
まず、リンクステート情報交換部１１１−１が同じエリアに属する隣接ノードと当該エリア内のリンクステート情報の交換を行う（ステップＳ６０１）。
【００６５】
続いて、リンクステートデータベース１１２−１は、ステップＳ６０１においてリンクステート情報交換部１１１−１が取得したリンクステート情報を、リンクステートテーブルとして格納する（ステップＳ６０２）。
【００６６】
上述の動作を各隣接ノード毎に行うことにより、図５に示されるリンクステートデータベース５０７やリンクステートデータベース５０８のようなデータベースが作成される。
【００６７】
次に、図８を参照して、本実施の形態においてノード１０００の経路設定部１１４−１、１１４−２及び経路設定部１１４−Ｎがルーティングテーブル３００を設定する動作について詳細に説明する。
【００６８】
まず、ルーティングプロトコル群１００内の第１のエリアルーティングプロトコル部１１０−１内の経路計算部１１３−１は、リンクステートデータベース１１２−１を参照し、第１のエリアルーティングプロトコル部１１０−１が属するエリア内の各宛先ノードへの最小コスト経路を計算する（図８のステップＳ６１１）。
【００６９】
次に、経路設定部１１４−１は、ステップＳ６１１で経路計算部１１３−１が計算した各ノードへの経路に対応する次ホップノード、経路コスト及び該経路エントリを設定したルーティングプロトコル部の識別子を経路エントリとして最小経路コストエントリ判定部２００へ送る。これにより、該経路エントリが、ノード１０００内の他のルーティングプロトコル部がルーティングテーブル３００に設定した同じ宛先ノードへの経路エントリと比べて、最小の経路コストをもつものであるかどうかを問い合わせる。経路設定部１１４−１の問い合わせに対して、最小経路コストエントリ判定部２００は、経路設定部１１４−１が設定しようとする経路エントリと同一宛先ノードへのエントリがルーティングテーブル３００に既に設定されているか調査する（ステップＳ６１２、Ｓ６１３）。
【００７０】
もしも、設定されていない場合は（ステップＳ６１３においてＮｏ）、経路設定部１１４−１が設定しようとする経路エントリは該宛先ノードへの最小経路コストをもつ経路であると判定し、ステップＳ６１８へ移行する。
【００７１】
一方、もし既に設定されているエントリが存在する場合は（ステップＳ６１３においてＹｅｓ）、設定されているエントリを参照し、該エントリを設定したルーティングプロトコル部の識別子を調べる（ステップＳ６１４、Ｓ６１５）。
【００７２】
もしも、識別子が経路設定部１１４−１を含むルーティングプロトコル部１１０−１の識別子と一致する場合（ステップＳ６１５においてＹｅｓ）、経路設定部１１４−１が設定しようとする経路エントリは該宛先ノードへの最小経路コストをもつ経路であると判定し、ステップＳ６１８へ移行する。
【００７３】
一方、もし識別子が経路設定部１１４−１を含むルーティングプロトコル部の識別子と一致しない場合（ステップＳ６１５においてＮｏ）、既に設定されているエントリの経路コストと、経路設定部１１４−１が設定しようとする経路エントリの経路コストとを比較する（ステップＳ６１６、Ｓ６１７）。
【００７４】
比較の結果、経路設定部１１４−１が設定しようとする経路エントリの経路コストの方が小さいならば（ステップＳ６１７においてＹｅｓ）、経路設定部１１４−１が設定しようとする経路エントリは該宛先ノードへの最小経路コストをもつ経路であると判定し、ステップＳ６１８へ移行する。反対に、経路設定部１１４−１が設定しようとする経路エントリの経路コストの方が小さくないならば（ステップＳ６１７においてＮｏ）、経路設定部１１４−１は該経路エントリを設定せずに動作を終了する。
【００７５】
最小経路コストエントリ判定部２００によって、経路設定部１１４−１が設定しようとする経路エントリは最小の経路コストをもつものであると判断された場合、経路設定部１１４−１はステップＳ６１１で算出した経路エントリをルーティングテーブル３００に設定する（ステップＳ６１８）。
【００７６】
ここで、上記のステップＳ６１１〜Ｓ６１８の動作の具体例を、ノード１０００が図３のノードＤの位置にあるものとして説明する。加えて今回の説明では、第１のエリアルーティングプロトコル部１１０−１はエリアＺのリンクステート情報を交換し、第２のエリアルーティングプロトコル部１１０−２はエリアＷのリンクステート情報を交換し、それぞれが経路を計算・設定するものとして説明する。
【００７７】
まず、エリアＺ内の各リンクのリンクコストが、図３のリンクコストテーブル５０１に示したものであるとき、リンクステートデータベース１１２−１に格納されるリンクステート情報は図５のリンクステートデータベース５０７のようになり、ステップＳ６１１において経路計算部１１３−１が計算する各宛先ノードへの経路は図３のルーティングテーブル５０３のようになる。
【００７８】
また、エリアＷ内の各リンクのリンクコストが、図３のリンクコストテーブル５０２に示したものであるとき、リンクステートデータベース１１２−２に格納されるリンクステート情報は図５のリンクステートデータベース５０８のようになり、ステップＳ６１１において経路計算部１１３−２が計算する各宛先ノードへの経路は図３のルーティングテーブル５０５のようになる。
【００７９】
ステップＳ６１２以降の動作の例として、エリアＷに対応する経路エントリを設定する場合を想定する。具体的には、経路設定部１１４−２がノードＧを宛先ノードとする経路エントリを設定しようとするものとする。ステップＳ６１２を開始する前のルーティングテーブル３００の状態は、図９に示すルーティングテーブル５１０に示すものであったとする。
【００８０】
まず、ステップＳ６１２で、最小コストエントリ判定部２００は、ノードＧを宛先ノードとするエントリがルーティングテーブル３００に設定されているか調査する。この例の場合はノードＧを宛先ノードとする経路エントリが設定されているため、ステップＳ６１３においてＮｏとなるためステップＳ６１４へ移行する。
【００８１】
次に、ステップＳ６１４では、最小コストエントリ判定部２００は、ルーティングテーブル５１０を参照することにより、ノードＧを宛先ノードとする経路エントリを設定したルーティングプロトコル部はルーティングプロトコル部１１０−１であると分かる。これは、いまノードＧへの経路エントリを設定しようとするルーティングプロトコル部１１０−２の識別子とは異なる。そのため、ステップＳ６１５においてＮｏとなりステップＳ６１６へ移行する。
【００８２】
ステップＳ６１６では、最小コストエントリ判定部２００は、経路設定部１１４−２が設定しようとしているノードＧへの経路エントリの経路コストである１と、ルーティングテーブル５１０におけるノードＧへの経路エントリの経路コストである３とを比較する。比較の結果、経路設定部１１４−２が設定しようとしているノードＧへの経路エントリの経路コストの方が小さいため、ステップＳ６１７においてＮｏとなりステップＳ６１８へ移行する。
【００８３】
ステップＳ６１８では、経路設定部１１４−２がルーティングテーブル３００に対してノードＧへの経路を上書きする形で設定し、その結果、ルーティングテーブル３００は図６に示すルーティングテーブル５０９のようになる。
【００８４】
上述した本実施の形態の説明では、ルーティングプロトコル群１００においては、ＯＬＳＲなどのリンクステート型のルーティングプロトコルが動作するものとして説明を行ったが、他にも、ＡＯＤＶ(Ad hoc On-Demand Distance Vector)など、リンクステート型以外の任意のルーティングプロトコルが用いられても同様に実施することが可能である。
【００８５】
次に本実施の形態の効果について説明する。
【００８６】
本実施の形態では、経路設定部がある宛先ノードに対する経路エントリを設定しようとするとき、
１．当該宛先ノードに対する経路エントリがルーティングテーブルにまだ設定されていない
２．当該宛先ノードに対する経路エントリがルーティングテーブルに既に設定されているが、該エントリを、今回エントリを設定証としているルーティングプロトコル部と同一のルーティングプロトコル部が設定している
３．当該宛先ノードに対する経路エントリがルーティングテーブルに既に設定されており、該エントリを、今回エントリを設定証としているルーティングプロトコル部と異なるルーティングプロトコル部が設定しているが、既に設定されている経路エントリの経路コストよりも設定しようとしている経路エントリの経路コストの方が小さい
のいずれかの条件を満たす場合に、当該経路エントリをルーティングテーブルに設定する。
【００８７】
このようにすることにより、ノードごとに１つのルーティングテーブルしかない場合に、複数のルーティングプロトコル部が同一宛先ノードに対する経路エントリを設定しようとしたとしても、ネットワーク内の各ノードにおいて、「同一宛先ノードに対しては、最小経路コストをもつ経路エントリを優先的に設定する」、という一貫したポリシで経路設定が行われる。そのため、一般的な技術のようにループを発生させる経路エントリの設定を防ぐことが可能になる。
【００８８】
［実施形態２］
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。
【００８９】
図１０を参照すると、本発明の第２の実施の形態は、ノード２０００によって構成される。ノード２０００は、本発明の第１の実施の形態におけるノード１０００と同様、コグニティブ無線ネットワーク内のノードで、無線リンクにより他のノードと接続されている。また、本実施形態におけるコグニティブ無線ネットワーク全体の構成は図１のネットワーク構成例と同様である。なお、ノード２０００に接続される他のノードの全て又は一部もノード２０００と同様の構成をしているものとする。すなわち、本実施形態はノード２０００単独でも成立するが、ノード２０００を含む複数のノードからなるコグニティブ無線ネットワークとしても成立する。
【００９０】
図１０を参照すると、ノード２０００は、ルーティングプロトコル群１００と、経路設定可否判定部４００と、ルーティングテーブル３００とを含む。ルーティングプロトコル群１００は、ノード２０００が属するエリア毎に対応する複数のルーティングプロトコル部を含む。
【００９１】
これら複数のルーティングプロトコル部は全て同じ構成をとる。そのため各ルーティングプロトコル部を代表して第１のエリアルーティングプロトコル部１１０−１について説明する。また、第Ｎのエリアルーティングプロトコル部１１０−Ｎに関しては各部の図示を省略する。
【００９２】
第１のエリアルーティングプロトコル部１１０−１は、リンクステート情報交換部１１１−１と、リンクステートデータベース１１２−１と、経路計算部１１３−１と、経路設定部１１４−１とを含む。
【００９３】
これら、ルーティングプロトコル部１１０−１に含まれる各部のうち、リンクステート情報交換部１１１−１、リンクステートデータベース１１２−１及び経路計算部１１３−１並びにルーティングテーブル３００は、第１の実施形態として同一の符号を付して説明した各部及びルーティングテーブル３００と同様の構成及び機能を有しているものとする。よって、ルーティングプロトコル部１１０−１に含まれる各部のうち、リンクステート情報交換部１１１−１、リンクステートデータベース１１２−１及び経路計算部１１３−１並びにルーティングテーブル３００に関しては再度の説明を省略する。
【００９４】
一方、本実施形態のノード２０００では、第１の実施形態におけるノード１０００が有していた経路設定部１１４−１、経路設定部１１４−２及び経路設定部１１４−Ｎが、それぞれ経路設定部１１５−１、経路設定部１１５−２及び経路設定部１１５−Ｎに置き換わっている。更に、本実施形態のノード２０００では、第１の実施形態におけるノード１０００が有していた最小経路コストエントリ判定部２００が経路設定可否判定部４００に置き換わっている。これら置き換わっている各部に関して以下詳細に説明する。
【００９５】
経路設定部１１５−１は、第１の実施の形態における経路設定部１１４−１と比べて、経路エントリを設定する前に最小経路コストエントリ判定部２００に問い合わせを行う代わりに、経路設定可否判定部４００に問い合わせ、設定しようとしている経路エントリを設定してもよいかどうか調べる点が異なる。
【００９６】
経路設定可否判定部４００は、経路設定部１１５−１が設定しようとしている経路エントリを設定してもよいかどうかの問い合わせに対して、予め設定されるポリシに基づいて、経路設定部１１５−１が設定しようとする経路エントリを設定してよいかどうかを判定する。そして、設定してよいかどうかの応答を経路設定部１１５−１に対して行う。
【００９７】
予め設定されるポリシの例として、
１．既存の経路エントリを設定したルーティングプロトコル部の識別子よりも、これから設定しようとするルーティングプロトコル部の識別子の値の方が小さい（または大きい）場合にのみ、該経路エントリを上書きできる
２．既存の経路エントリを設定したルーティングプロトコル部に対応するエリアの識別子よりも、これから設定しようとするルーティングプロトコル部に対応するエリアの識別子の値の方が小さい（または大きい）場合にのみ、該経路エントリを上書きできる
などが挙げられる。
【００９８】
これらのポリシは、ネットワーク内の各ノードにおいて、同一のものが用いられる必要がある。異なるノードにおいて別のポリシが用いられると、一般的な技術同様、ループを発生させる経路エントリが設定されてしまう可能性がある。
【００９９】
以下では、経路設定可否判定部４００において、上記の１のポリシ（これから設定しようとするルーティングプロトコル部の識別子の値の方が小さい場合にのみ、該経路エントリを上書きできる）が使われる場合を例として説明を行う。
【０１００】
本実施の形態におけるノード２０００のリンクステート情報交換部１１１−１、リンクステート情報交換部１１１−２及びリンクステート情報交換部１１１−Ｎ並びにリンクステートデータベース１１２−１、リンクステートデータベース１１２−２及びリンクステートデータベース１１２−Ｎによるリンクステートテーブルの作成時の動作については、図７を参照して上述した動作と同一であるので、説明は省略する。
【０１０１】
次に、図１１を参照して、本実施の形態においてノード２０００の経路設定部１１５−１、１１５−２及び経路設定部１１５−Ｎがルーティングテーブル３００を設定する動作について詳細に説明する。
【０１０２】
図１１のステップＳ６２１〜Ｓ６２５の動作は、図８におけるステップＳ６１１〜Ｓ６１５の動作と同一であるため、説明は省略する。
【０１０３】
ステップＳ６２５において、もし識別子が経路設定部１１５−１を含むルーティングプロトコル部の識別子と一致しない場合、既に設定されているエントリを設定したルーティングプロトコル部の識別子と、これから経路エントリを設定しようとする経路設定部１１５−１に対応するルーティングプロトコル部の識別子の値の大小を比較する（ステップＳ６２６、Ｓ６２７）。
【０１０４】
比較の結果、経路設定部１１５−１に対応するルーティングプロトコル部の識別子の値の方が小さいならば（ステップＳ６２７においてＹｅｓ）、ステップＳ６２８へ移行する。反対に、経路設定部１１５−１に対応するルーティングプロトコル部の識別子の値の方が小さくないならば（ステップＳ６２７においてＮｏ）、経路設定部１１５−１は該経路エントリを設定せずに動作を終了する。
【０１０５】
経路設定可否判定部４００によって、経路設定部１１５−１が設定しようとする経路エントリを設定してもよいと判定された場合、経路設定部１１５−１はステップＳ６２１で計算した経路エントリをルーティングテーブル３００に設定する（ステップＳ６２８）。
【０１０６】
ここで、上記のステップＳ６２１〜Ｓ６２８の動作の具体例を、ノード２０００が図３のノードＤの位置にあるものとして説明する。加えて今回の説明では、第１のエリアルーティングプロトコル部１１０−１はエリアＺのリンクステート情報を交換し、第２のエリアルーティングプロトコル部１１０−２はエリアＷのリンクステート情報を交換し、それぞれが経路を計算・設定するものとして説明する。
【０１０７】
まず、エリアＺ内の各リンクのリンクコストが、図３のリンクコストテーブル５０１に示したものであるとき、リンクステートデータベース１１２−１に格納されるリンクステート情報は図５のリンクステートデータベース５０７のようになり、ステップＳ６２１において経路計算部１１３−１が計算する各宛先ノードへの経路は図３のルーティングテーブル５０３のようになる。
【０１０８】
また、エリアＷ内の各リンクのリンクコストが、図３のリンクコストテーブル５０２に示したものであるとき、リンクステートデータベース１１２−２に格納されるリンクステート情報は図５のリンクステートデータベース５０８のようになり、ステップＳ６２１において経路計算部１１３−２が計算する各宛先ノードへの経路は図３のルーティングテーブル５０５のようになる。
【０１０９】
ステップＳ６２２以降の動作の例として、エリアＺに対応する経路エントリを設定する場合を想定する。具体的には、経路設定部１１５−１がノードＧを宛先ノードとする経路エントリを設定しようとするものとする。ステップＳ６２２を開始する前のルーティングテーブル３００の状態は、図１２に示すルーティングテーブル５１１に示すものであったとする。
【０１１０】
ステップＳ６２２〜Ｓ６２５の動作は、第１の実施の形態において説明した動作例と同じ動作となるため、説明は省略する。
【０１１１】
ステップＳ６２６では、経路設定可否判定部４００は、経路設定部１１５−１に対応するルーティングプロトコル部の識別子である１１０−１と、ルーティングテーブル４０３におけるノードＧへの経路エントリを設定したルーティングプロトコル部の識別子である１１０−２の値の大小を比較する。比較の結果、経路設定部１１５−１に対応するルーティングプロトコル部の識別子である１１０−１の値の方が小さいため、ステップＳ６２７からステップＳ６２８へ移行する。
【０１１２】
ステップＳ６２８では、経路設定部１１５−１がルーティングテーブル３００に対してノードＧへの経路を上書きする形で設定し、その結果、ルーティングテーブル３００は図１３に示すルーティングテーブル５１２のようになる。
【０１１３】
次に本実施の形態の効果について説明する。
【０１１４】
本実施の形態では、経路設定部がある宛先ノードに対する経路エントリを設定しようとするとき、
１．当該宛先ノードに対する経路エントリがルーティングテーブルにまだ設定されていない
２．当該宛先ノードに対する経路エントリがルーティングテーブルに既に設定されているが、該エントリを同一のルーティングプロトコル部が設定している
３．当該宛先ノードに対する経路エントリがルーティングテーブルに既に設定されており、該エントリを異なるルーティングプロトコル部が設定しているが、既に設定されている経路エントリを設定したルーティングプロトコル部の識別子よりも、これから経路エントリを設定しようとするルーティングプロトコル部の識別子の値の方が小さい
のいずれかの条件を満たす場合に、当該経路エントリをルーティングテーブルに設定する。
【０１１５】
このようにすることにより、ノードごとに１つのルーティングテーブルしかない場合に、複数のルーティングプロトコル部が同一宛先ノードに対する経路エントリを設定しようとしたとしても、ネットワーク内の各ノードにおいて、「同一宛先ノードに対しては、最小の識別子の値をもつルーティングプロトコル部が経路エントリ優先的に設定する」、という一貫したポリシで経路設定が行われる。そのため、一般的な技術のようにループを発生させる経路エントリの設定を防ぐことが可能になる。
【０１１６】
以上説明した本発明の実施形態は、１つのルーティングテーブルしかない場合に、複数のルーティングプロトコル部が同一宛先ノードに対する経路エントリを設定しようとしたとしても、ループを発生させる経路エントリの設定を防ぐことが可能になる、という効果を奏する。
【０１１７】
その第１の理由は、経路設定部が或る宛先ノードに対する経路エントリを設定しようとするとき、既に設定されている経路エントリの経路コストよりも設定しようとしている経路エントリの経路コストの方が小さい場合にだけ、当該経路エントリをルーティングテーブルに設定することで、全エリアのなかで最小コスト経路の経路エントリだけが有効なものとして設定されるからである。
【０１１８】
その第２の理由は、経路設定部がある宛先ノードに対する経路エントリを設定しようとするとき、既に設定されている経路エントリを設定したルーティングプロトコル部の識別子よりも、これから経路エントリを設定しようとするルーティングプロトコル部の識別子の値の方が小さい場合だけ、当該経路エントリをルーティングテーブルに設定することで、ネットワーク内の全ノードが一貫したポリシで経路エントリを設定するからである。
【０１１９】
なお、上記実施形態では、本実施形態のノードとして実現させるためのプログラムが、各ノードに予め組み込まれているものとして説明した。しかし、コンピュータを、本実施形態のノードの全部又は一部として動作させ、あるいは、上述の処理を実行させるためのプログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）、ＤＶＤ（Digital Versatile Disc)、ＭＯ（Magneto Optical Disk(Disc)）ＢＤ（Blu-ray Disc）等のコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【０１２０】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波にプログラムを重畳させて、コンピュータにダウンロード等してプログラムを実行してもよい。
【０１２１】
また、本発明の実施形態によるルーティングテーブル設定方法は、ハードウェアにより実現することもできるが、コンピュータにその方法を実行させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【０１２２】
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【０１２３】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１２４】
（付記１）  複数のノード間を接続するリンクによって構成されたサブネットワークであるエリアが複数存在する環境下で、
複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードが行うルーティングテーブル設定方法において、
当該ノードは、前記所属するエリア毎に対応した複数のルーティングプロトコル部を備え、
前記ルーティングプロトコル部の何れかが、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが他のルーティングプロトコル部により設定されていた場合は、前記第２の経路エントリの経路コストよりも前記第１の経路エントリの経路コストの方が小さいのであれば前記第１の経路エントリを前記ルーティングテーブルに設定することを特徴とするルーティングテーブル設定方法。
【０１２５】
（付記２）  複数のノード間を接続するリンクによって構成されたサブネットワークであるエリアが複数存在する環境下で、
複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードが行うルーティングテーブル設定方法において、
当該ノードは、前記所属するエリア毎に対応しており、それぞれ個別の識別番号を割り当てられた複数のルーティングプロトコル部を備え、
第１の前記ルーティングプロトコル部が、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが第２の前記ルーティングプロトコル部により設定されていた場合は、当該第１のルーティングプロトコル部の識別番号と第２のルーティングプロトコル部の識別番号の大小関係に基づいて前記第１の経路エントリを設定するか否かを判定することを特徴とするルーティングテーブル設定方法。
【０１２６】
（付記３）  複数のノード間を接続するリンクによって構成されたサブネットワークであり、それぞれ個別の識別番号を割り当てられた複数のエリアが存在する環境下で、
複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードが行うルーティングテーブル設定方法において、
当該ノードは、前記所属するエリア毎に対応した複数のルーティングプロトコル部を備え、
第１の前記ルーティングプロトコル部が、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが第２の前記ルーティングプロトコル部により設定されていた場合は、当該第１のルーティングプロトコル部に対応するエリアの識別番号と第２のルーティングプロトコル部に対応するエリアの識別番号の大小関係に基づいて前記第１の経路エントリを設定するか否かを判定することを特徴とするルーティングテーブル設定方法。
【０１２７】
（付記４）  付記１乃至３の何れか１に記載のルーティングテーブル設定方法において、
前記第２の経路エントリが設定されていない場合、及び、前記第２のエントリを設定したルーティングプロトコル部が前記第１のエントリの設定を試みているルーティングプロトコル部と同一であった場合、には前記第１の経路エントリを前記ルーティングテーブルに設定することを特徴とするルーティングテーブル設定方法。
【０１２８】
（付記５）  付記１乃至４の何れか１に記載のルーティングテーブル設定方法において、
前記複数のルーティングプロトコル部は、
当該ルーティングプロトコル部に対応したエリアに所属している隣接ノードとリンクステート情報を交換するリンクステート情報交換ステップと、
前記リンクステート情報交換部が交換した前記リンクステート情報を格納するリンクステートデータベースを用意するステップと、
前記格納されている前記リンクステート情報に基づいて当該ルーティングプロトコル部に対応したエリアに所属している各宛先ノードへの最小コスト経路を計算する経路計算ステップと、
を備え、
前記経路計算ステップの計算結果に基づいて前記経路エントリを算出することを特徴とするルーティングテーブル設定方法。
【０１２９】
（付記６）  付記１乃至５の何れか１に記載のルーティングテーブル設定方法において、
前記リンクは、相互の伝播距離内に存在する２つのノードの無線インターフェースに同一の無線通信周波数を割り当てることにより作られるリンクであり、同一の無線通信周波数によって作られる１つ以上のリンクのことを、同一のグループに所属するリンクと定義することを特徴とするルーティングテーブル設定方法。
【０１３０】
（付記７）  複数のノード間を接続するリンクによって構成されたサブネットワークであるエリアが複数存在する環境下で、
複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードにおいて、
前記所属するエリア毎に対応した複数のルーティングプロトコル部を備え、
前記ルーティングプロトコル部の何れかが、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが他のルーティングプロトコル部により設定されていた場合は、前記第２の経路エントリの経路コストよりも前記第１の経路エントリの経路コストの方が小さいのであれば前記第１の経路エントリを前記ルーティングテーブルに設定することを特徴とするノード。
【０１３１】
（付記８）  複数のノード間を接続するリンクによって構成されたサブネットワークであるエリアが複数存在する環境下で、
複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードにおいて、
前記所属するエリア毎に対応しており、それぞれ個別の識別番号を割り当てられた複数のルーティングプロトコル部を備え、
第１の前記ルーティングプロトコル部が、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが第２の前記ルーティングプロトコル部により設定されていた場合は、当該第１のルーティングプロトコル部の識別番号と第２のルーティングプロトコル部の識別番号の大小関係に基づいて前記第１の経路エントリを設定するか否かを判定することを特徴とするノード。
【０１３２】
（付記９）  複数のノード間を接続するリンクによって構成されたサブネットワークであり、それぞれ個別の識別番号を割り当てられた複数のエリアが存在する環境下で、
複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードにおいて、
前記所属するエリア毎に対応した複数のルーティングプロトコル部を備え、
第１の前記ルーティングプロトコル部が、或る宛先ノードに対する第１の経路エントリを前記ルーティングテーブルに設定しようと試みたとき、前記ルーティングテーブルに既に前記或る宛先ノードに対する第２の経路エントリが第２の前記ルーティングプロトコル部により設定されていた場合は、当該第１のルーティングプロトコル部に対応するエリアの識別番号と第２のルーティングプロトコル部に対応するエリアの識別番号の大小関係に基づいて前記第１の経路エントリを設定するか否かを判定することを特徴とするノード。
【０１３３】
（付記１０）  付記７乃至９の何れか１に記載のノードにおいて、
前記第２の経路エントリが設定されていない場合、及び、前記第２のエントリを設定したルーティングプロトコル部が前記第１のエントリの設定を試みているルーティングプロトコル部と同一であった場合、には前記第１の経路エントリを前記ルーティングテーブルに設定することを特徴とするノード。
【０１３４】
（付記１１）  付記７乃至１０の何れか１に記載のノードにおいて、
前記複数のルーティングプロトコル部は、
当該ルーティングプロトコル部に対応したエリアに所属している隣接ノードとリンクステート情報を交換するリンクステート情報交換部と、
前記リンクステート情報交換部が交換した前記リンクステート情報を格納するリンクステートデータベースを用意する部と、
前記格納されている前記リンクステート情報に基づいて当該ルーティングプロトコル部に対応したエリアに所属している各宛先ノードへの最小コスト経路を計算する経路計算部と、
を備え、
前記経路計算部の計算結果に基づいて前記経路エントリを算出することを特徴とするノード。
【０１３５】
（付記１２）  付記７乃至１１の何れか１に記載のノードにおいて、
前記リンクは、相互の伝播距離内に存在する２つのノードの無線インターフェースに同一の無線通信周波数を割り当てることにより作られるリンクであり、同一の無線通信周波数によって作られる１つ以上のリンクのことを、同一のグループに所属するリンクと定義することを特徴とするノード。
【０１３６】
（付記１３）  複数のノード間を接続するリンクによって構成されたサブネットワークであり、それぞれ個別の識別番号を割り当てられた複数のエリアが存在する環境下で、
複数の前記エリアに所属し、当該複数のエリア全てに対し１つのルーティングテーブルを共有するノードを複数備えた通信システムにおいて、
前記ノードが付記７乃至１２の何れか１に記載のノードであることを特徴とする通信システム。
【符号の説明】
【０１３７】
Ｌ１１，Ｌ２１〜Ｌ２３，Ｌ３１〜Ｌ３５，Ｌ４２  リンク
Ａ〜Ｆ、ノード１０００、ノード２０００  ノード
Ｘ、Ｙ、Ｚ、Ｗ  エリア
１１０−１  第１のエリアルーティングプロトコル部
１１０−２  第２のエリアルーティングプロトコル部
１１０−Ｎ  第Ｎのエリアルーティングプロトコル部
１１１−１、１１１−２、１１１−Ｎ  リンクステート情報交換部
１１２−１、１１２−２、１１２−Ｎ  リンクステートデータベース
１１３−１、１１３−２、１１３−Ｎ  経路計算部
１１４−１、１１４−２、１１４−Ｎ  経路設定部
２００  最小経路コストエントリ判定部
３００  ルーティングテーブル
４００  経路設定可否判定部
５０１、５０２  リンクコストテーブル
５０３〜５０６  ルーティングテーブル
５０７、５０８  リンクステートデータベース
５０９〜５１２  ルーティングテーブル
【図１】
0005818074.tif 000002
【図２】
0005818074.tif 000003
【図３】
0005818074.tif 000004
【図４】
0005818074.tif 000005
【図５】
0005818074.tif 000006
【図６】
0005818074.tif 000007
【図７】
0005818074.tif 000008
【図８】
0005818074.tif 000009
【図９】
0005818074.tif 000010
【図１０】
0005818074.tif 000011
【図１１】
0005818074.tif 000012
【図１２】
0005818074.tif 000013
【図１３】
0005818074.tif 000014