(57)【特許請求の範囲】
【請求項１】
ネットワーク層よりも上位のレイヤで構成されるオーバーレイネットワークにおけるノード間のリンクを決定するオーバーレイリンク計算装置であって、
前記ネットワーク層のトポロジー情報を取得するトポロジー情報取得手段と、
取得したトポロジー情報に基づき、ネットワーク層のリンク上にて重複を生じないようなオーバーレイリンクを計算するリンク計算手段とを含み、
前記リンク計算手段は、
最短パスツリーの起点ノードの子ノードを対象ノードとし、
前記対象ノードがオーバーレイリンクネットワークノード装置かどうかを調べる処理を実行し、
前記対象ノードが前記オーバーレイネットワークノード装置であれば対象ノードをオーバーレイリンクノード接続ノードとし、前記対象ノードがオーバーレイネットワーク装置でなければ未探索の子ノードを対象ノードとし、前記対象ノードがオーバーレイリンクネットワークノード装置かどうか調べる前記処理を繰り返し、
未探索の子ノードがなくなったら未探索の子ノードが見つかるまで、親ノードを対象ノードとする処理を繰り返し、未探索の子ノードが見つかったら見つかった子ノードを対象ノードとし、前記対象ノードがオーバーレイリンクネットワークノード装置かどうか調べる前記処理を繰り返すことを特徴とするオーバーレイリンク計算装置。
【請求項２】
前記トポロジー情報取得手段は、外部のトポロジー情報収集装置から前記ネットワーク層のトポロジー情報を取得することを特徴とする請求項１記載のオーバーレイリンク計算装置。
【請求項３】
さらにネットワーク層のトポロジー情報を収集し、その情報を前記トポロジー情報取得手段に取得させるトポロジー情報収集手段を含むことを特徴とする請求項１記載のオーバーレイリンク計算装置。
【請求項４】
前記オーバーレイリンク計算装置は、オーバーレイネットワークノード装置で構成されることを特徴とする請求項１記載のオーバーレイリンク計算装置。
【請求項５】
前記オーバーレイリンク計算装置は、オーバーレイネットワークノード装置とオーバーレイネットワーク管理装置とから構成され、
前記トポロジー情報取得手段および前記リンク計算手段は、前記オーバーレイネットワーク管理装置に設けられることを特徴とする請求項１記載のオーバーレイリンク計算装置。
【請求項６】
前記トポロジー情報収集手段は、ルーティングプロトコルを用いてネットワーク層のトポロジー情報を収集することを特徴とする請求項３記載のオーバーレイリンク計算装置。
【請求項７】
前記トポロジー情報収集手段は、トレースルートを用いてネットワーク層のトポロジー情報を収集することを特徴とする請求項３記載のオーバーレイリンク計算装置。
【請求項８】
前記オーバーレイネットワーク管理装置は、
前記トポロジー情報取得手段および前記リンク計算手段を含むオーバーレイネットワーク管理部と、
前記ネットワーク層のトポロジー情報を収集し、その情報を前記トポロジー情報取得手段に取得させるトポロジー管理部とを含むことを特徴とする請求項５記載のオーバーレイリンク計算装置。
【請求項９】
前記オーバーレイネットワーク管理部は、前記リンク計算手段による計算結果に基づき転送経路を計算する転送経路計算部を含むことを特徴とする請求項８記載のオーバーレイリンク計算装置。
【請求項１０】
前記リンク計算手段は、オーバーレイノードごとにオーバーレイリンクを決定することを特徴とする請求項１から請求項９の何れかに記載のオーバーレイリンク計算装置。
【請求項１１】
ネットワーク層よりも上位のレイヤで構成するオーバーレイネットワークにおけるノード間のリンクを決定するオーバーレイリンク計算方法であって、
前記ネットワーク層のトポロジー情報を取得するトポロジー情報取得ステップと、
取得したトポロジー情報に基づきネットワーク層のリンク上にて重複を生じないようなオーバーレイリンクを計算するリンク計算ステップとを含み、
前記リンク計算ステップは、
前記最短パスツリーの起点ノードの子ノードを対象ノードとし、
前記対象ノードがオーバーレイリンクネットワークノード装置かどうかを調べる処理を実行し、
前記対象ノードが前記オーバーレイネットワークノード装置であれば対象ノードをオーバーレイリンクノード接続ノードとし、前記対象ノードがオーバーレイネットワーク装置でなければ未探索の子ノードを対象ノードとし、前記対象ノードがオーバーレイリンクネットワークノード装置かどうか調べる前記処理を繰り返し、
未探索の子ノードがなくなったら未探索の子ノードが見つかるまで、親ノードを対象ノードとする処理を繰り返し、未探索の子ノードが見つかったら見つかった子ノードを対象ノードとし、前記対象ノードがオーバーレイリンクネットワークノード装置かどうか調べる前記処理を繰り返すことを特徴とするオーバーレイリンク計算方法。
【請求項１２】
前記トポロジー情報取得ステップにおいて、外部のトポロジー情報収集装置から前記ネットワーク層のトポロジー情報を取得することを特徴とする請求項１１記載のオーバーレイリンク計算方法。
【請求項１３】
さらにネットワーク層のトポロジー情報を収集し、その情報を前記トポロジー情報取得ステップに取得させるトポロジー情報収集ステップを含むことを特徴とする請求項１１記載のオーバーレイリンク計算方法。
【請求項１４】
前記トポロジー情報収集ステップにおいて、ルーティングプロトコルを用いてネットワーク層のトポロジー情報を収集することを特徴とする請求項１３記載のオーバーレイリンク計算方法。
【請求項１５】
前記トポロジー情報収集ステップにおいて、トレースルートを用いてネットワーク層のトポロジー情報を収集することを特徴とする請求項１４記載のオーバーレイリンク計算方法。
【請求項１６】
前記リンク計算ステップにおいて、オーバーレイノードごとにオーバーレイリンクを決定することを特徴とする請求項１１から請求項１５の何れかに記載のオーバーレイリンク計算方法。
【請求項１７】
ネットワーク層よりも上位のレイヤで構成するオーバーレイネットワークにおけるノード間のリンクを決定するオーバーレイリンク計算方法のプログラムであって、
コンピュータに、
前記ネットワーク層のトポロジー情報を取得するトポロジー情報取得ステップと、
取得したトポロジー情報に基づきネットワーク層のリンク上にて重複を生じないようなオーバーレイリンクを計算するリンク計算ステップとを実行させ、
前記リンク計算ステップは、
前記最短パスツリーの起点ノードの子ノードを対象ノードとし、
前記対象ノードがオーバーレイリンクネットワークノード装置かどうかを調べる処理を実行し、
前記対象ノードが前記オーバーレイネットワークノード装置であれば対象ノードをオーバーレイリンクノード接続ノードとし、前記対象ノードがオーバーレイネットワーク装置でなければ未探索の子ノードを対象ノードとし、前記対象ノードがオーバーレイリンクネットワークノード装置かどうか調べる前記処理を繰り返し、
未探索の子ノードがなくなったら未探索の子ノードが見つかるまで、親ノードを対象ノードとする処理を繰り返し、未探索の子ノードが見つかったら見つかった子ノードを対象ノードとし、前記対象ノードがオーバーレイリンクネットワークノード装置かどうか調べる前記処理を繰り返すことを特徴とするプログラム。
【請求項１８】
前記トポロジー情報取得ステップにおいて、外部のトポロジー情報収集装置から前記ネットワーク層のトポロジー情報を取得することを特徴とする請求項１７記載のプログラム。
【請求項１９】
さらにネットワーク層のトポロジー情報を収集し、その情報を前記トポロジー情報取得ステップに取得させるトポロジー情報収集ステップを含むことを特徴とする請求項１７記載のプログラム。
【請求項２０】
前記トポロジー情報収集ステップにおいて、ルーティングプロトコルを用いてネットワーク層のトポロジー情報を収集することを特徴とする請求項１９記載のプログラム。
【請求項２１】
前記トポロジー情報収集ステップにおいて、トレースルートを用いてネットワーク層のトポロジー情報を収集することを特徴とする請求項１９記載のプログラム。
【請求項２２】
前記リンク計算ステップにおいて、オーバーレイノードごとにオーバーレイリンクを決定することを特徴とする請求項１７から請求項２１の何れかに記載のプログラム。
【発明の詳細な説明】
【技術分野】  本発明は、オーバーレイリンク計算装置およびその計算方法ならびにプログラムに関し、特にアプリケーションレイヤマルチキャストなどで利用するために、既存のＩＰ（ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）ネットワーク上に最適なオーバーレイネットワークを構築するオーバーレイリンク計算装置およびその計算方法ならびにプログラムに関する。
【背景技術】  オーバーレイネットワークとは、ＩＰネットワークなどの上に、ネットワーク層よりも上位のレイヤで構築される仮想的なネットワークである。オーバーレイネットワークを構築する各ノードを、オーバーレイネットワークノードと呼ぶ。オーバーレイネットワークは、オーバーレイネットワークノード間の仮想的なリンク（オーバーレイリンクと呼ぶ）で構成される。
図１１は従来のオーバーレイネットワークの一例の構成図である。ＩＰネットワークなどの上にオーバーレイネットワークが構築されている例を示している。オーバーレイネットワークの構築においては、オーバーレイリンクをどのオーバーレイネットワークノード間で構成するかが課題となる。従来は、ノード間のルータの段数（ホップカウント）や遅延を測定し、測定した値の小さいノード間に、オーバーレイリンクを構成するという手法がとられている。
ここではオーバーレイネットワークを利用する例の一つとして、アプリケーションレイヤマルチキャスト（以下、ＡＬＭと表示する）を用いて詳しく説明する。ＡＬＭは、アプリケーション層にてマルチキャスト配送を実現する技術である。一般にはＩＰレベルのマルチキャスト機能であるＩＰマルチキャストが、広く知られており、各種ルータへの実装が進んでいる。しかし、ＩＰマルチキャストでは本質的にいくつかの大きな問題を抱えている。例えば、インタードメインでの運用の難しさ、マルチキャストアドレスの割り当てや管理の難しさ、アクセス制御や品質管理などの難しさなどである。これらの理由から、実際にインターネットで広く用いられるに至っていない。
ＡＬＭでは、パケットの複製やマルチキャストルーティングなどをアプリケーション層で実現している。ＡＬＭノード間の通信はユニキャストで行われるため、ネットワーク層のルータはユニキャストのルーティングさえできればよい（特開２００２−２３２４６６号公報（要約、図２）参照）。
また、この種のネットワークの一例が特開２００３−２３４８２４号公報に開示されている。この技術は、フォトニックルータの情報と、フォトニックルータに収容されたファイバリンクの情報と、フォトニックルータで設定された光パスの情報とを収集し、ファイバリンクネットワークトポロジー情報と、設定された光パスリンクネットワーク情報の両方の情報を把握し、光パスに収容されるＩＰパケットと、ファイバに収容される光パスの両方をルーティングするルーティング方法を提供するというものである（特開２００３−２３４８２４号公報（段落００１０、図２参照）。
また、他の一例としてダイクストラ法を用いて経路計算を行う技術が開示されている（特開平８−１７８６８２号公報（段落０００３〜０００５、図１）参照）。
上述した特開２００２−２３２４６６号公報記載の従来のオーバーレイネットワーク構築方法では、ノード間の遅延やルータのホップカウントなどの情報のみを元にオーバーレイリンクの決定を行っている。
図１１は、従来手法によるホップカウントの情報を元に決定されたオーバーレイリンクの一例を示している。同図中の１１〜１５はオーバーレイネットワークノードであり、２１〜２４は一般のルータであるとする。オーバーレイネットワークノード１１〜１５はそれぞれ他のオーバーレイネットワークノードまでのホップカウントを計測する。計測したホップカウントの値が小さいノードから二つを隣接ノードとして選択し、隣接ノードに対してオーバーレイリンクを構成する。
同図のノード１１は、ホップカウントが１であるノード１２およびホップカウントが２であるノード１３を隣接ノードとして選択し、オーバーレイリンク３１，３３を構成する。同様の手続きをそれぞれのオーバーレイネットワークノード１２〜１５で行うことで、オーバーレイネットワークが構成される。
同図を参照すると、ノード１１とノード１３間のオーバーレイリンク３３は、ノード１１とノード１２間のオーバーレイリンク３１およびノード１２とノード１３間のオーバーレイリンク３２とネットワーク層のリンクを共有している。このオーバーレイネットワーク上でアプリケーションレイヤマルチキャストを実現する場合、オーバーレイリンク３３は、オーバーレイリンク３１、３２と重複しており、必要のないリンクである。
このように従来手法では、オーバーレイリンクがひとつのネットワーク層のリンク上で重複して張られる可能性がある。
一方、特開２００３−２３４８２４号公報記載の技術はレイヤの異なるネットワークにおけるトポロジー情報を利用している点で本発明と類似するが、特開２００３−２３４８２４号公報記載の技術はレイヤの異なるネットワークにおけるトポロジー情報を”同一に扱う“ための手法を示しているのに対し、本発明は下位層のトポロジー情報を利用してオーバーレイリンクを構成する手法を示すものであり、特開２００３−２３４８２４号公報記載の技術はその目的、構成、効果のいずれもが本発明と全く相違する。
また、特開平８−１７８６８２号公報記載の技術にも上記課題を解決する手段は開示されていない。
そこで本発明の目的は、重複リンクの存在しないオーバーレイリンクを決定することが可能なオーバーレイリンク計算装置およびその計算方法ならびにプログラムを提供することにある。
【発明の開示】
前記課題を解決するために本発明によるオーバーレイリンク計算装置は、ネットワーク層よりも上位のレイヤで構成されるオーバーレイネットワークにおけるノード間のリンクを決定するオーバーレイリンク計算装置であって、前記ネットワーク層のトポロジー情報を取得するトポロジー情報取得手段と、取得したトポロジー情報に基づきオーバーレイリンクを計算するリンク計算手段とを含むことを特徴とする。
また、本発明によるオーバーレイリンク計算方法は、ネットワーク層よりも上位のレイヤで構成されるオーバーレイネットワークにおけるノード間のリンクを決定するオーバーレイリンク計算方法であって、前記ネットワーク層のトポロジー情報を取得するトポロジー情報取得ステップと、取得したトポロジー情報に基づきオーバーレイリンクを計算するリンク計算ステップとを含むことを特徴とする。
また、本発明によるプログラムは、ネットワーク層よりも上位のレイヤで構成されるオーバーレイネットワークにおけるノード間のリンクを決定するオーバーレイリンク計算方法のプログラムであって、コンピュータに、前記ネットワーク層のトポロジー情報を取得するトポロジー情報取得ステップと、取得したトポロジー情報に基づきオーバーレイリンクを計算するリンク計算ステップとを実行させるためのプログラムであることを特徴とする。
本発明によれば、取得したトポロジー情報に基づきオーバーレイリンクが計算される。
【図面の簡単な説明】  図１は、本発明に係るオーバーレイリンク計算装置の第１実施例の構成図である。
図２は、本発明に係るオーバーレイリンク計算装置の第１実施例の動作を示すフローチャートである。
図３は、本発明の第１実施例におけるオーバーレイリンク決定処理にて使用されるツリー図である。
図４は、本発明の重複リンクの存在しないオーバーレイリンクの一例を示す図である。
図５は、本発明に係るオーバーレイリンク計算装置の第２実施例の構成図である。
図６は、本発明に係るオーバーレイリンク計算装置の第３実施例の構成図である。
図７は、第３実施例におけるオーバーレイリンク決定処理に使用されるツリー図の一例を示す図である。
図８は、本発明に係るオーバーレイリンク計算装置の第３実施例の動作を示すフローチャートである。
図９は、本発明に係るオーバーレイリンク計算装置の第４実施例の構成図である。
図１０は、本発明に係るオーバーレイリンク計算装置の第５実施例の構成図である。
図１１は、従来のオーバーレイネットワークの一例の構成図である。
図１２は、従来のオーバーレイリンク計算装置の一例の構成図である。
【符号の説明】
上記図面において、１：オーバーレイネットワーク装置、２：オーバーレイネットワーク管理装置、１６：オーバーレイネットワーク転送部、１７：オーバーレイネットワーク制御部、１８：Ｌ３ネットワーク制御部、２６：オーバーレイネットワーク管理部、２７：トポロジー管理部、１１１：転送テーブル、１１２：データ転送部、１２１：転送経路計算部、１２２  リンクデータベース、１２３：リンク計算部、１２４：トポロジー情報取得部、１２９：オーバーレイリンク情報受信部、１３１：経路計算部、１３２：トポロジーデータベース、１３３：ルーティングプロトコル処理部、１３５：パケット送受信部、２２１：リンク計算部、２２２：トポロジー情報取得部、２２３：リンクデータベース、２２４：オーバーレイリンク情報送信部、２３１：転送テーブル受信部、２４１：転送経路計算部、２４２  転送テーブル送信部
【発明を実施するための最良の形態】  以下、本発明の実施例について添付図面を参照しながら説明する。最初に重複リンクの定義を行っておく。あるオーバーレイネットワークを構成するオーバーレイリンクｘ、ａ１、ａ２、・・・があり、それらのオーバーレイリンクを構成するネットワーク層のリンクすべてからなる集合をそれぞれＸ、Ａ１、Ａ２、・・・とする。このオーバーレイネットワークにおいて、集合Ｘが集合Ａ１、Ａ２、・・・の和集合であるとき、オーバーレイリンクｘは重複リンクであると呼ぶことにする。
【実施例１】  図１は本発明に係るオーバーレイリンク計算装置の第１実施例の構成図である。このオーバーレイリンク計算装置は、一例としてオーバーレイネットワークノード装置１で構成されている。
同図において、オーバーレイネットワークノード装置１は、オーバーレイネットワーク転送部１６と、オーバーレイネットワーク制御部１７とから構成される。オーバーレイネットワーク転送部１６は、転送テーブル１１１と、データ転送部１１２とから構成される。データ転送部１１２は、オーバーレイリンク上を転送されてきたデータを受信し、転送テーブル１１１からどのオーバーレイリンクに送信するかを決定し、データの送信を行う。
オーバーレイネットワーク制御部１７は、転送経路計算部１２１、リンクデータベース１２２、リンク計算部１２３およびトポロジー情報取得部１２４とから構成される。トポロジー情報取得部１２４は、オーバーレイネットワークノード装置１の外部にあるトポロジー情報収集手段を持つ装置（不図示）からネットワーク層のトポロジー情報の取得を行う。
ここでのトポロジー情報収集手段を持つ装置とは、例えばルータやネットワーク管理システムなどである。ネットワーク層のパケットの転送を行うルータは、転送のための経路表を作成するために、ルーティングプロトコルを用いてネットワーク層のトポロジー情報を収集している。またネットワーク管理システムは、ネットワーク管理という目的のために、ネットワーク層のトポロジー情報をネットワーク内の各ルータから収集している。
リンク計算部１２３は、トポロジー情報収集手段を持つ装置から取得したトポロジー情報を元に、計算によりオーバーレイリンクを生成する。生成されたオーバーレイリンクは、リンクデータベース１２２に格納される。リンクデータベース１２２に格納されたオーバーレイリンク情報は、転送経路計算部１２１によって転送経路の決定が行われ、オーバーレイネットワーク転送部１６における転送テーブル１１１に登録される。
図１２は従来のオーバーレイリンク計算装置の一例の構成図である。同図に示す従来の構成では、オーバーレイネットワーク制御部１７に遅延測定部１２７およびリンク決定部１２６を有する。本発明の第１実施例では、遅延測定部１２７ではなく、トポロジー情報取得部１２４を有する点が異なる。また従来の構成では、遅延情報を元にオーバーレイリンクの決定を行うリンク決定部１２６を有するが、本発明の第１実施例ではトポロジー情報を元にオーバーレイリンクを算出するリンク計算部１２３を有する点が異なる。
次に、オーバーレイリンク計算装置の第１実施例の動作について図２を参照しながら説明する。図２は本発明に係るオーバーレイリンク計算装置の第１実施例の動作を示すフローチャートである。
まず、ルーティングプロトコルにより収集されたトポロジー情報を元に、公知のアルゴリズムであるダイクストラ法を用いて最短パスツリーを計算する（ステップＳ１）。
ダイクストラ法については前述の特開平８−１７８６８２号公報に記載されている。すなわち、探索開始リンクから始まるリンクのツリーを構成していくとき、あるリンクから複数のリンクに枝分かれする場合に、各枝のリンクの経路コスト（探索開始リンクからそのリンクに至るコストの総和）の大小を比較して、経路コストの小さい順に並べ替え、経路コストの小さいリンクからさらに探索を続けていく。そして、最初に探索終了リンクに到達すれば、その時点で、探索終了リンクに到達する最もコストの少ない経路を決定する。経路コストの小さいリンクから順に探索を続けていくので、真先に探索終了リンクに到達した経路がそのまま探索経路になる。
ここで、あるオーバーレイネットワークノードＡにおけるオーバーレイリンクを決定する際には、ノードＡを最短パスツリーの起点ノードとして計算を行う。本第一実施例では、計算を行うオーバーレイネットワークノード装置１自身から構成されるオーバーレイリンクを決定するため、自分自身が起点ノードとなる。
また、ここでのトポロジー情報とはネットワーク層のリンク情報の集合であり、リンク情報とは、リンクのコスト値と、そのリンクがどのノードとどのノードとの間で張られているかという情報の組みである。
図３は本発明の第１実施例におけるオーバーレイリンク決定処理にて使用されるツリー図である。同図は、図１１のネットワークにおいて各リンクのコストがすべて１である場合、ステップＳ１により得られるノード１１からの最短パスツリーを示す図である。すなわち、ノード１１−１２間、ノード１２−１３間、ノード１３−１４間、ノード１３−２３間、ノード１４−２４間、ノード１１−２１間、ノード２１−２２間、ノード２２−１５間、ノード１５−２４間に構成される各リンクが最短パスであることを示している。
以降このツリーの探索という形で、自身（ノード１１）との間でオーバーレイリンクを構成する対象となるオーバーレイネットワークノードを決定する。
ステップＳ１で算出したツリーの起点ノードの子ノードの一つを対象ノードとする（ステップＳ２）。次に、対象ノードがオーバーレイネットワークノードであるかを調べる（ステップＳ３）。対象ノードがオーバーレイネットワークノードでない場合、対象ノードに未探索である子ノードがあるかを調べる（ステップＳ４）。未探索の子ノードがあった場合、その子ノードを対象ノードとし（ステップＳ５）ステップＳ３に戻る。
次に、ステップＳ４において、対象ノードに未探索の子ノードがない場合について説明する。対象ノードを探索済み状態に変更し、自身の親ノード（１つ前のノード）を対象ノードにする（ステップＳ７）。
続いて、対象ノードに未探索の子ノードがある場合には（ステップＳ８）、ステップＳ５へすすみ、そうでない場合にはステップＳ９へ進む。ステップＳ９においては、対象ノードが起点ノードであるかを調べ、そうであれば終了し、そうでなければステップＳ７へ進む。
次に、ステップＳ３において、対象ノードがオーバーレイネットワークノード装置であった場合について説明する。対象ノードをオーバーレイリンク接続ノードとし（ステップＳ６）、ステップＳ７へと進む。
次に、オーバーレイリンク計算装置の第１実施例の動作の具体例について説明する。まず、トポロジー情報取得部１２４においてルーティングプロトコルにより収集されたトポロジー情報を元に、リンク計算部１２３においてダイクストラ法を用いノード１１自身を起点とした最短パスツリーを計算する（ステップＳ１）。
起点ノードであるノード１１には、子ノード１２、２１が存在する（図３参照）。そこで、リンク計算部１２３はまず子ノード１２を対象ノードとする（ステップＳ２）。
対象ノード１２はオーバーレイネットワークノード装置であるので（ステップＳ３）、対象ノード１２をオーバーレイリンク接続ノードとする（ステップＳ６）。
次に、対象ノード１２を探索済みとし、対象ノードを親ノード（ノード１１）に変更する（ステップＳ７）。
次に、対象ノード１１に未探索の子ノードがあるかを調べ（ステップＳ８）、未探索の子ノード２１があるので、対象ノードを未探索の子ノード２１に変更する（ステップＳ５）。
次に、対象ノード２１はオーバーレイネットワーク装置ではないため（ステップＳ３）、対象ノード２１に未探索の子ノードがあるかを調べる（ステップＳ４）。対象ノード２１に未探索の子ノード２２があるので、対象ノードを未探索の子ノード２２に変更する（ステップＳ５）。
次に、対象ノード２２はオーバーレイネットワーク装置ではないため（ステップＳ３）、対象ノード２２に未探索の子ノードがあるかを調べる（ステップＳ４）。対象ノード２２に未探索の子ノード１５があるので、対象ノードを未探索の子ノード１５に変更する（ステップＳ５）。
次に、対象ノード１５はオーバーレイネットワーク装置であるので（ステップＳ３）、対象ノード１５をオーバーレイリンク接続ノードとする（ステップＳ６）。
次に、自身である対象ノード１５を探索済みとし、対象ノードを親ノード（ノード２２）に変更する（ステップＳ７）。
次に、親ノード２２に未探索の子ノードがあるかを調べ（ステップＳ８）、未探索の子ノードがないので、対象ノード２２が起点ノードであるかを調べる（ステップＳ９）。
対象ノード２２は起点ノードではないので、ステップＳ７に戻る。そして、自身２２を探索済みとし、対象ノードを親ノード（ノード２１）に変更する（ステップＳ７）。
次に、親ノード２１に未探索の子ノードがあるかを調べ（ステップＳ８）、未探索の子ノードがないので、対象ノード２１が起点ノードであるかを調べる（ステップＳ９）。
対象ノード２１は起点ノードではないので、ステップＳ７に戻る。そして、自身２１を探索済みとし、対象ノードを親ノード（ノード１１）に変更する（ステップＳ７）。
次に、親ノード１１に未探索の子ノードがあるかを調べ（ステップＳ８）、未探索の子ノードがないので、対象ノード１１が起点ノードであるかを調べる（ステップＳ９）。
対象ノード１１は起点ノードであるので、ノード１１を起点とするオーバーレイリンク決定処理はこれで終了となる。
この結果、ノード１１からオーバーレイリンクの接続相手として、ノード１２およびノード１５が得られる。
上述したのと同様の処理を、ノード１２，１３，１４，１５をそれぞれ起点ノードとして行う。その結果、図４に示すような重複リンクの存在しないオーバーレイリンクが得られる。
【実施例２】  次に、本発明の第２実施例について図面を参照して詳細に説明する。図５は本発明に係るオーバーレイリンク計算装置の第２実施例の構成図である。このオーバーレイリンク計算装置は、一例としてオーバーレイネットワークノード装置１で構成されている。
同図を参照すると、第２実施例のオーバーレイネットワークノード装置１は第１実施例の構成に加えＬ３ネットワーク制御部１８を含んでいる。
Ｌ３ネットワーク制御部１８は、経路計算部１３１と、トポロジーデータベース１３２と、ルーティングプロトコル処理部１３３とを含んで構成される。ルーティングプロトコル処理部１３３は、ネットワーク層における隣接ノードとの間でルーティングプロトコルを用い、ネットワーク層のトポロジー情報を収集している。
収集したトポロジー情報は、トポロジーデータベース１３２に格納される。経路計算部１３１は、ルーティングプロトコル毎に定められた計算手順にしたがってネットワーク層における経路情報を算出する。
図１で示した第１実施例とは、トポロジー情報収集手段であるＬ３ネットワーク制御部１８をオーバーレイネットワークノード装置１自身が有している点が異なっている。第１実施例では、トポロジー情報収集手段が外部にあるためにオーバーレイネットワークノード装置１とトポロジー情報収集手段を持つ装置との間で、トポロジー情報の受け渡しを行う手段が必要であった。しかし、本実施例では、オーバーレイネットワークノード装置１自身でトポロジー情報の収集ができるため、外部の装置との連携を行う必要がない。
【実施例３】  次に、本発明の第３実施例について図面を参照して詳細に説明する。図６は本発明に係るオーバーレイリンク計算装置の第３実施例の構成図である。このオーバーレイリンク計算装置は、一例としてオーバーレイネットワークノード装置１で構成されている。
同図を参照すると、第３実施例のオーバーレイネットワークノード装置１は第１実施例の構成に加えトレースルート（ｔｒａｃｅ  ｒｏｕｔｅ）測定部１９を含んでいる。
トレースルート測定部１９は、トポロジーデータベース１３２と、パケット送受信部１３５とを含んで構成される。パケット送受信部１３５は、トレースルートを用いてトポロジー情報を収集する。収集したトポロジー情報は、トポロジーデータベース１３２に格納される。
トレースルートは、インターネットにおいて、自身からあるホスト宛てのネットワーク経路を測定する公知の手法である。ここでのネットワーク経路というのは、ネットワーク層において宛先に至るまでに、どのノードを通過するかという情報である。トレースルート測定部１９は、トレースルートを用いてすべてのオーバーレイネットワークノード宛てのネットワーク経路を測定する。トレースルート測定した情報から得られるトポロジー情報は、第２実施例におけるルーティングプロトコルを用いて得られるトポロジー情報に対して、部分的な情報しか得ることができない。
図７は第３実施例におけるオーバーレイリンク決定処理に使用されるツリー図の一例を示す図である。同図はノード１１からトポロジー情報の収集を行う場合に得られるトポロジー情報を示している。このように本実施例では図３のネットワーク中において、ノード１３，２３間のリンク、ノード２３，１５間のリンク、ノード１４，２４間のリンクおよびノード２４，１５間のリンクに関する情報を得ることができない。しかし、ノード１１から他のオーバーレイネットワークへのパケットは、これらのリンクを使用しないため、オーバーレイリンクの決定には影響がない。
図８は本発明に係るオーバーレイリンク計算装置の第３実施例の動作を示すフローチャートである。次に同図を参照して本実施例の動作について、第１実施例の動作との違いを説明する。第１実施例の動作（図２参照）では、ダイクストラ法を用いて最短パスツリーの計算を行っていた（ステップＳ１）。これに対し、本実施例（図８参照）では、トレースルートを用いて収集した情報を元にツリーを構成する（ステップＳ１１）。
また、図５で示した第２実施例とは、トポロジー情報収集手段がＬ３ネットワーク制御部１８ではなく、トレースルート測定部１９となっている点が異なる。本実施例では、ルーティングプロトコルが動作していないネットワークにおいても、適用することができる。
【実施例４】  次に、本発明の第４実施例について図面を参照して詳細に説明する。図９は本発明に係るオーバーレイリンク計算装置の第４実施例の構成図である。このオーバーレイリンク計算装置は、一例としてオーバーレイネットワークノード装置１とオーバーレイネットワーク管理装置２とから構成されている。
同図を参照すると、オーバーレイネットワークノード装置１はオーバーレイネットワーク転送部１６と、オーバーレイネットワーク制御部１７とを含んでいる。オーバーレイネットワーク転送部１６の構成は図１の第１実施例と同様である。
オーバーレイネットワーク制御部１７は転送経路計算部１２１と、リンクデータベース１２２と、オーバーレイリンク情報受信部１２９とを含んで構成される。
オーバーレイネットワーク管理装置２は、オーバーレイネットワーク管理部２６と、トポロジー管理部２７とを含んで構成される。
オーバーレイネットワーク管理部２６は、リンク計算部２２１と、トポロジー情報取得部２２２と、リンクデータベース２２３と、オーバーレイリンク情報送信部２２４とを含んで構成される。
トポロジー管理部２７は、ＳＮＭＰ（ｓｉｍｐｌｅ  ｎｅｔｗｏｒｋ  ｍａｎａｇｅｍｅｎｔ  ｐｒｏｔｏｃｏｌ）などネットワーク管理用のプロトコルを使用してネットワーク内の各ルータからトポロジー情報を収集するトポロジー情報収集部２１２と、収集したトポロジー情報を格納するトポロジーデータベース１３２とを含んで構成される。
オーバーレイネットワーク管理部２６のトポロジー情報取得部２２２はトポロジー管理部２７のトポロジーデータベース１３２に格納されている情報を取得し、リンク計算部２２１に渡す。リンク計算部２２１は、渡されたトポロジー情報を元に計算を行い、オーバーレイリンクを生成する。
リンク計算部２２１でのオーバーレイリンクの計算では、ネットワーク中のオーバーレイネットワークノード毎のオーバーレイリンクの決定が行われる。第１実施例での方法において、オーバーレイネットワークノード毎にそれぞれのノードを起点ノードとして計算を行う。生成されたオーバーレイリンクは、リンクデータベース２２３に格納される。オーバーレイリンク情報送信部２２４は、リンクデータベース２２３に格納されているオーバーレイリンク情報を、ネットワーク中の各オーバーレイネットワークノード装置１に送信する。
図１で示した第１実施例とは、リンク計算部２２１およびトポロジー情報取得部２２２が、オーバーレイネットワークノード装置１にではなく、オーバーレイネットワーク管理装置２内にある点が異なる。オーバーレイネットワークノード装置１は、負荷の大きいリンク計算処理を行う必要がなく、オーバーレイネットワークにおけるデータ転送機能に特化した構成をとることが可能である。
【実施例５】  次に、本発明の第５実施例について図面を参照して詳細に説明する。図１０は本発明に係るオーバーレイリンク計算装置の第５実施例の構成図である。このオーバーレイリンク計算装置は、一例としてオーバーレイネットワークノード装置１とオーバーレイネットワーク管理装置２とから構成されている。
オーバーレイネットワークノード装置１は転送テーブル受信部２３１と、転送テーブル１１１と、データ転送部１１２とを含んで構成される。
オーバーレイネットワーク管理装置２はオーバーレイネットワーク制御部２６と、トポロジー管理部２７とを含んで構成される。
オーバーレイネットワーク制御部２６は、リンク計算部２２１と、トポロジー情報取得部２２２と、リンクデータベース２２３と、転送経路計算部２４１と、転送テーブル送信部２４２とを含んで構成される。
オーバーレイネットワーク管理部２６のトポロジー情報取得部２２２は、トポロジー管理部２７のトポロジーデータベース１３２に格納されている情報を取得し、リンク計算部２２１に渡す。リンク計算部２２１は、渡されたトポロジー情報を元に計算を行い、オーバーレイリンクを生成する。
リンク計算部２２１でのオーバーレイリンクの計算では、ネットワーク中のオーバーレイネットワークノード毎のオーバーレイリンクの決定が行われる。算出方法は第４実施例における方法と同じである。生成されたオーバーレイリンクは、リンクデータベース２２３に格納される。
リンクデータベース２２３に格納されたオーバーレイリンク情報は、転送経路計算部２４１によって転送経路の決定が行われ、転送テーブル送信部２４２により、ネットワーク中の各オーバーレイネットワークノード装置１に転送される。
トポロジー管理部２７は、ＳＮＭＰなどネットワーク管理用のプロトコルを使用してネットワーク内の各ルータからトポロジー情報を収集するトポロジー情報収集部２１２と、収集したトポロジー情報を格納するトポロジーデータベース１３２とを含んで構成される。
図１で示した第１実施例とは、リンク計算部２２１およびトポロジー情報取得部２２２が、オーバーレイネットワークノード装置１にではなく、オーバーレイネットワーク管理装置２内にある点が異なる。
また、図９で示した第４実施例とは、転送経路計算部２４１がオーバーレイネットワークノード装置１にではなく、オーバーレイネットワーク管理装置２内にある点が異なる。
オーバーレイネットワークノード装置１は、負荷の大きいリンク計算処理および転送経路計算処理を行う必要がなく、第４実施例に比べさらにオーバーレイネットワークにおけるデータ転送機能に特化した構成をとることが可能である。
【実施例６】  第６実施例はオーバーレイリンク計算方法のプログラムに関するものである。図１を参照すると、オーバーレイネットワークノード装置１のオーバーレイネットワーク制御部１７は、外部に図示しない記憶部を有しており、その記憶部にはオーバーレイリンク計算方法のプログラムが格納されている。そのプログラムは図２および図８にフローチャートで示す処理をコンピュータ（オーバーレイネットワーク制御部１７）に実行させるためのプログラムである。
オーバーレイネットワーク制御部１７はその記憶部からそのプログラムを読み出し、そのプログラムにしたがってトポロジー情報取得部１２４およびリンク計算部１２３を制御する。その制御内容については既に述べたのでここでの説明は省略する。
本発明によれば、上記構成を含むため、重複リンクの存在しないオーバーレイリンクを決定することが可能となる。
すなわち、本発明の第１の効果は、重複リンクの存在しないオーバーレイネットワークを構築できるため、ネットワーク層におけるリンクの帯域を節約することができる。
その理由は、オーバーレイリンクを決定する際に、ネットワーク層におけるトポロジーを利用しているためである。
第２の効果は、ネットワーク層の障害に対して影響を受けるオーバーレイリンクの数を少なくすることにより、オーバーレイネットワークの信頼性を向上させることができる。
重複リンクは、ネットワーク層のリンクを共有しているため、ネットワーク層のリンクに障害が発生すると、複数のオーバーレイリンクに影響を与える可能性がある。本発明によるオーバーレイリンク決定方法であれば、ネットワーク層のあるリンクの障害に対して、影響を受けるオーバーレイリンクはたかだか一つに抑えることができる。
【産業上の利用可能性】  本発明の活用例として、前述のアプリケーションレイヤマルチキャスト（ＡＬＭ）がある。ＡＬＭは、アプリケーション層にてマルチキャスト配送を実現する技術である。ＡＬＭでは、パケットの複製やマルチキャストルーティングなどをアプリケーション層で実現している。ＡＬＭノード間の通信はユニキャストで行われるため、ネットワーク層のルータはユニキャストのルーティングさえできればよい。このため、既存のインフラ（ｉｎｆｒａ：産業基盤）に適用することが容易となる。
【図１】
0004320433.tif 000002
【図２】
0004320433.tif 000003
【図３】
0004320433.tif 000004
【図４】
0004320433.tif 000005
【図５】
0004320433.tif 000006
【図６】
0004320433.tif 000007
【図７】
0004320433.tif 000008
【図８】
0004320433.tif 000009
【図９】
0004320433.tif 000010
【図１０】
0004320433.tif 000011
【図１１】
0004320433.tif 000012
【図１２】
0004320433.tif 000013