(57)【要約】【課題】マルチキャスト通信における起点から複数の終点までの最適経路を探索するための計算量を減らし、これにより探索所要時間の短縮と処理負荷の軽減を図る。【解決手段】ネットワークトポロジ管理モジュール１００において、マルチキャストグループＭＣＧ１，ＭＣＧ２ごとにネットワーク上の各ノードから各終点ノードまでの最短経路を表す情報をノード情報データベース３２に予め記憶しておく。この状態で、最小木作成モジュール３００が、マルチキャスト経路を探索する際に、ノード情報データベース３２に格納された最短経路情報を読み出してブランチ候補記憶部３５に格納する。【選択図】図２
2011091495.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードを通信リンクを介して相互に接続可能としたネットワークで使用され、前記複数のノードのうちマルチキャスト通信を行う任意の起点ノードから複数の終点ノードまでの最適経路を探索するマルチキャスト経路探索装置であって、
マルチキャスト通信の終点ノードの集合であるマルチキャストグループごとに予め探索された、前記ネットワーク上の各ノードから当該マルチキャストグループに属する複数の終点ノードまでの最短経路を表す情報を記憶する記憶媒体と、
前記マルチキャストグループに属する複数の終点ノードを終点とするマルチキャスト通信を行う際に、前記ネットワーク上の各ノードから、当該マルチキャストグループに属する複数の終点ノードまでの各々の最短経路を表す情報を前記記憶媒体から選択的に読み出し、この読み出された最短経路を表す情報をもとに終点ノードごとの最適経路を求める手段と
を具備することを特徴とするマルチキャスト経路探索装置。
【請求項２】
前記最適経路を求める手段は、
前記ネットワーク上の各ノードからマルチキャストグループに属する複数の終点ノードまでの各々の最短経路を表す情報を前記記憶媒体から選択的に読み出し、この読み出された最短経路を表す情報を終点ノードごとの最適経路候補を表す情報として保存する手段と、
前記マルチキャストグループに属する複数の終点ノードまでのコストを表す情報をもとに、前記保存された最適経路候補を表す情報の中からコストが最小となる最適経路候補を表す情報を、最適経路を表す情報として選択する手段と
を備えることを特徴とする請求項１記載のマルチキャスト経路探索装置。
【請求項３】
前記ネットワーク上の各ノードから前記マルチキャストグループに属する複数の終点ノードまでの最短経路を、当該各ノード間のコストを表す情報を利用して、最短経路探索アルゴリズムにより定期的又は任意のタイミングで探索し直し、前記記憶媒体に記憶された情報を前記探索し直された最短経路を表す情報に更新する更新手段を、さらに具備することを特徴とする請求項１又は２に記載のマルチキャスト経路探索装置。
【請求項４】
複数のノードを通信リンクを介して相互に接続可能としたネットワークで使用されるマルチキャスト経路探索装置において、前記複数のノードのうちマルチキャスト通信を行う任意の起点ノードから複数の終点ノードまでの各最適経路を探索するマルチキャスト経路探索方法であって、
マルチキャスト通信の終点ノードの集合であるマルチキャストグループごとに予め探索された、前記ネットワーク上の各ノードから当該マルチキャストグループに属する複数の終点ノードまでの最短経路を表す情報を記憶媒体に記憶する過程と、
前記マルチキャストグループに属する複数の終点ノードを終点とするマルチキャスト通信を行う際に、前記ネットワーク上の各ノードから当該マルチキャストグループに属する複数の終点ノードまでの各々の最短経路を表す情報を前記記憶媒体から選択的に読み出し、この読み出された最短経路を表す情報をもとに終点ノードごとの最適経路を求める過程と
を具備することを特徴とするマルチキャスト経路探索方法。
【請求項５】
前記最適経路を求める過程は、
前記ネットワーク上の各ノードからマルチキャストグループに属する複数の終点ノードまでの各々の最短経路を表す情報を前記記憶媒体から選択的に読み出す過程と、
前記読み出された最短経路を表す情報を、終点ノードごとの最適経路候補を表す情報として保存する過程と、
前記マルチキャストグループに属する複数の終点ノードまでのコストを表す情報をもとに、前記保存された最適経路候補を表す情報の中からコストが最小となる最適経路候補を表す情報を、最適経路を表す情報として選択する過程と
を備えることを特徴とする請求項４記載のマルチキャスト経路探索方法。
【請求項６】
前記ネットワーク上の各ノードから前記マルチキャストグループに属する複数の終点ノードまでの最短経路を、当該各ノード間のコストを表す情報を利用して、最短経路探索アルゴリズムにより定期的又は任意のタイミングで探索し直す過程と、
前記記憶媒体に記憶された情報を、前記探索し直された最短経路を表す情報に更新する過程と
を、さらに具備することを特徴とする請求項４又は５に記載のマルチキャスト経路探索方法。
【請求項７】
請求項４乃至６のいずれかに記載のマルチキャスト経路探索方法が備える過程に相当する処理を、前記マルチキャスト経路探索装置が備えるコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、マルチキャスト通信において、起点ノードから終点ノードの集合までの最適経路を探索するために使用されるマルチキャスト経路探索装置、方法及びプログラムに関する。
【背景技術】
【０００２】
インターネット等のＩＰ（Internet Protocol）ネットワークの普及に伴い、ＩＰネットワークを利用したＩＰＴＶ（ＩＰ Television）等の放送型サービスへの要求が高まっている。この種のサービスを実現するには、ＩＰストリームをＭＰＬＳ（Multi protocol Label Switching）等により明示的に設定した通信路により伝送することにより、伝送帯域を確保して品質（ＱｏＳ；Quality of Service）を保証する必要がある。この要求を満足するには、放送局のノードから視聴者が使用する各ノードまでの最短経路を探索する必要がある。
【０００３】
そこで従来では、マルチキャスト経路計算装置（ＰＣＥ: path computation element）によりマルチキャストの通信経路を計算して、経路を明示的にＲＳＶＰ−ＴＥで指定する手法が提案されている。例えば、Steinerのアルゴリズムを適用したＰＣＥでは、先ずあるノードから他のノードへの経路を予め計算して記憶しておく。そして、マルチキャストの起点ノードから終点ノード集合までの経路を計算する際に、予め計算されている上記の結果から終点ノードごとにその経路を１つ１つ選び出すようにしている（例えば、非特許文献１を参照。）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】S. Yasukawa, A. Farrel, “Applicability of the Path Computation Element (PCE) to Point-to-Multipoint (P2MP) Multi protocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering (TE),” draft-ietf-pce-p2mp-app-01.txt, Feb. 2009, (work in progress). インターネット＜http://tools.ietf.org/html/draft-ietf-pce-p2mp-app-02＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、Steinerアルゴリズムを適用した従来のマルチキャスト経路計算装置では、ノード間の最短経路については事前に記憶されているものの、各マルチキャスト通信の終点ノード集合とネットワーク内のすべてのノードとの経路情報については管理されていない。このため、マルチキャスト通信のすべての終点ノードまでの最短経路を探索するには、終点ノード数に応じた多くの計算と時間が必要となる。例えば、ネットワークの全ノード数をｎ、マルチキャストの終点数をｍとした場合には、その計算量はＯ記法（Order notation）で表すとＯ（ｎ）となる。その理由は、あるノードからの最短経路がｎ−１個存在した場合に、その中からマルチキャストの終点と同じ終点を持つものを見つける必要があるからである。
【０００６】
なお、Ｏ記法とは、アルゴリズムの計算量を表す方法のひとつであり、問題のサイズを大きくしていったときの漸近的計算量を示すものである。Ｏ記法は、計算量の上限を表す場合に有効である。例えば、
【数１】
2011091495.tif 000003
としたとき、fの集合はＯ記法を使って次のように定義される。
【数２】
2011091495.tif 000004
【数３】
2011091495.tif 000005
上記の定義及び例で示すように、f(n) ∈O(g(n))とは、ある定数c， n0が存在し、nがn0より大きいときにはかならず0≦f(n)≦c・g(n)となることを意味する。
【０００７】
この発明は上記事情に着目してなされたもので、その目的とするところは、マルチキャスト通信における起点ノードから複数の終点ノードまでの最適経路を探索するための計算量を減らし、これにより探索所要時間の短縮と処理負荷の軽減を図ったマルチキャスト経路探索装置、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するためにこの発明の一つの観点は、複数のノードを通信リンクを介して相互に接続したネットワークで使用され、上記複数のノードのうちマルチキャスト通信を行う起点ノードから複数の終点ノードまでの各最適経路を探索するマルチキャスト経路探索装置又は方法もしくはそのプログラムにあって、マルチキャスト通信の終点ノードの集合をマルチキャストグループと定義し、ネットワーク上の各ノードからマルチキャストグループに属する各終点ノードまでの最短経路を表す情報を記憶媒体に記憶しておく。そして、上記マルチキャストグループに属する複数の終点ノードを終点とするマルチキャスト通信を行う際に、ネットワーク上の各ノードから当該マルチキャストグループに属する複数の終点ノードまでの各々の最短経路を表す情報を上記記憶媒体から選択的に読み出し、この読み出された最短経路を表す情報をもとに終点ノードごとの最適経路を求めるようにしたものである。
【０００９】
したがって、ネットワーク上の各ノードからマルチキャストグループに属する各終点ノードまでの最短経路を求める処理は、マルチキャストグループごとに記憶媒体に予め記憶された最短経路情報の中から選択的に読み出すだけでよいことになり、この結果最短経路の探索処理に要する計算量をＯ（１）に削減することが可能となる。
【００１０】
また、この発明の一観点は以下のような態様を備えることを特徴とする。  
第１の態様は、最適経路を求める際に、ネットワーク上の各ノードからマルチキャストグループに属する複数の終点ノードまでの各々の最短経路を表す情報を上記記憶媒体から選択的に読み出し、この読み出された最短経路を表す情報を終点ノードごとの最適経路候補を表す情報として保存する。そして、マルチキャストグループに属する複数の終点ノードまでのコストを表す情報をもとに、上記保存された最適経路候補を表す情報の中からコストが最小となる最適経路候補を表す情報を最適経路を表す情報として選択するものである。  
このようにすると、複数の最適経路候補が選択された場合に、ノード間のコストを考慮して、これら複数の最適経路候補の中からコストが最小となる最適経路候補を最適経路として選択することができる。
【００１１】
第２の態様は、ネットワーク上の各ノードからマルチキャストグループに属する複数の終点ノードまでの最短経路を、当該各ノード間のコストを表す情報を利用して最短経路探索アルゴリズムにより定期的又は任意のタイミングで探索し直し、上記記憶媒体に記憶された情報を、上記探索し直された最短経路を表す情報に更新するものである。  
このようにすると、記憶媒体に記憶されるネットワーク上の各ノードからマルチキャストグループごとの各終点ノードまでの最短経路情報が、定期的又は任意のタイミングで最新の情報に更新される。このため、記憶媒体に記憶される最短経路情報を極力最新の状態に保持することが可能となる。
【発明の効果】
【００１２】
すなわちこの発明によれば、マルチキャスト通信における起点ノードから複数の終点ノードまでの最適経路を探索するための計算量を減らし、これにより探索所要時間の短縮と処理負荷の軽減を図ったマルチキャスト経路探索装置、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】この発明の一実施形態に係わるマルチキャスト経路探索装置を備えたマルチキャスト通信ネットワークシステムの概略構成図である。
【図２】この発明の一実施形態に係わるマルチキャスト経路探索装置のモジュール構成を示す図である。
【図３】図２に示したマルチキャスト経路探索装置のハードウエア及びソフトウエアの構成を示すブロック図である。
【図４】図３に示したマルチキャスト経路探索装置の最小木作成プログラムによる処理手順と処理内容を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照してこの発明に係わる実施形態を説明する。  
図１は、この発明の一実施形態に係わるネットワークシステムの概略構成図である。このネットワークシステムは、複数のノードＮ１〜Ｎ１５が網状に接続されたもので、二つのマルチキャストグループＭＣＧ１，ＭＣＧ２が論理的に形成される。マルチキャストグループＭＣＧ１はユーザが使用するパーソナル・コンピュータ等の端末が直接繋がるノードＮ１０〜Ｎ１２を終点ノード集合とする。マルチキャストグループＭＣＧ２は、ユーザが使用する端末が直接繋がるノードＮ１３〜Ｎ１５を終点ノード集合とする。２つのマルチキャスト通信はいずれもノードＮ１を起点とするが、マルチキャストグループＭＣＧ１，ＭＣＧ２ではマルチキャスト通信の起点は管理しない。
【００１５】
ところで、上記ノードＮ１〜Ｎ１５にはマルチキャスト経路計算装置（ＰＣＥ: path computation element）１が接続され、このネットワーク上のマルチキャスト経路計算を行う。ＰＣＥは、例えばサーバ・コンピュータからなり、そのソフトウエアモジュールとして、図２に示すようにネットワークトポロジ管理モジュール１００と、ヒープツリーモジュール２００と、最小木作成モジュール３００と、最短経路作成モジュール４００とを備えている。
【００１６】
ネットワークトポロジ管理モジュール１００は、複数のノードＮ１〜Ｎ１５と、これらのノード間を接続するリンクにより構成されるネットワークを管理するもので、リンクごとにリンク情報を管理すると共に、ノードＮ１〜Ｎ１５ごとにノード情報を管理する。リンク情報は、ノード間を接続するすべてのリンクについてそれぞれ、その方向（ＡＺ／ＺＡ）ごとにコスト（cost）と帯域を管理する。またノード情報は、マルチキャストグループＭＣＧ１，ＭＣＧ２ごとに、ネットワーク上の各ノードから当該マルチキャストグループＭＣＧ１，ＭＣＧ２に属する各終点ノードまでの最短経路を表す情報をそれぞれ管理する。
【００１７】
例えば、ノードＮ１を例にとると、マルチキャストグループＭＣＧ１については、終点ノードＮ１０に対し起点ノードＮ１→中間ノードＮ２→…→終点ノードＮ１０を、また終点ノードＮ１１に対し起点ノードＮ１→中間ノードＮ３→…→終点ノードＮ１１をそれぞれ最短経路情報として管理する。マルチキャストグループＭＣＧ２についても同様に、終点ノードＮ１３に対し起点ノードＮ１→中間ノードＮ４→…→終点ノードＮ１３を、また終点ノードＮ１４に対しては起点ノードＮ１→中間ノードＮ５→…→終点ノードＮ１４をそれぞれ最短経路情報として管理する。
【００１８】
同様にノードＮ２の場合には、マルチキャストグループＭＣＧ１，ＭＣＧ２ごとに、当該ノードＮ２から各終点ノードＮ１０〜Ｎ１２，Ｎ１３〜Ｎ１５までの最短経路情報がノード情報として管理される。なお、各最短経路情報には最短経路の属性も含まれる。この属性により経路コストが管理される。
【００１９】
ヒープツリーモジュール２００は、最小木作成モジュール３００が最小木作成アルゴリズムの中で利用するブランチ候補を２分木に登録する。また、最小木作成モジュール３００からの要求によりブランチ候補を検索する機能も併せ持つ。
【００２０】
最小木作成モジュール３００は、最小木作成アルゴリズムとして複数のSteinerアルゴリズムを保持する。例えば、ＤＮＨ（Distance Network Heuristic）、ＭＰＨ（Minimum-Cost Path Heuristic）、ＭＡＲＳ（multiplex-aware-route-selection）の３種類のアルゴリズムを保持する。ＤＮＨアルゴリズム及びＭＡＲＳアルゴリズムでは、ブランチ候補をヒープツリーモジュール２００に登録すると共に、この登録されたブランチ候補を検索のために利用して最小木を作成する。また、必要に応じて各ノードからマルチキャストグループの各終点ノードまでの最短経路を、上記ネットワークトポロジ管理モジュール１００で管理されているノード情報から取得する。
【００２１】
なお、ＤＮＨアルゴリズム及びＭＰＨアルゴリズムについては、S. Ramanathan, “Multicast Tree Generation in Networks With Asymmetric Links,” IEEE/ACM Transactions on networking, vol. 4, no. 4, Aug. 1996. に詳しく記載されている。また、ＭＡＲＳアルゴリズムについては、H. Matsuura,  N. Morita, I. Nakajima, K. Takami, “Hierarchically Distributed PCE for Flexible Multicast Traffic Engineering,” IEEE Globecom2007, pp. 2439-2444, Nov. 2007. に詳しく記載されている。
【００２２】
最短経路作成モジュール４００は、ネットワークトポロジ管理モジュール１００で管理されているリンク情報を利用して、ノード間の最短経路をダイクストラのアルゴリズム等の探索アルゴリズムを用いて定期的に探索する。その探索結果は、ネットワークトポロジ管理モジュール１００内の各ノード情報に含まれるマルチキャストグループごとの最短経路情報に反映される。
【００２３】
また、上記各ソフトウエアモジュール１００〜４００を実現するために、ＰＣＥ１は以下のようなハードウエア及びソフトウエアを備えている。図３はその構成を示すブロック図である。
【００２４】
すなわち、先ずネットワークトポロジ管理モジュール１００は、ネットワークトポロジ管理処理部２１と、複数の記憶部を備えている。記憶部は、リンク情報データベース３１と、ノード情報データベース３２と、終点ノード集合記憶部３３と、起点ノード記憶部３４とから構成される。
【００２５】
リンク情報データベース３１には、ネットワーク内の各ノード間のリンク情報が記憶される。またノード情報データベース３２には、マルチキャストグループＭＣＧ１，ＭＣＧ２ごとに、ネットワーク上の各ノードから当該マルチキャストグループＭＣＧ１，ＭＣＧ２に属する複数の終点ノードまでの最短経路情報が、当該終点ノードに対応付けられて記憶される。終点ノード集合記憶部３３には、マルチキャストグループＭＣＧ１，ＭＣＧ２ごとにその複数の終点ノードの識別情報が記憶される。起点ノード記憶部３４には、当該ノードの識別情報が記憶される。
【００２６】
ネットワークトポロジ管理処理部２１は、ネットワーク上のすべてのノードＮ１〜Ｎ１５と、これらのノードＮ１〜Ｎ１５間を接続するリンクを管理するための処理を行うもので、リンク情報を上記リンク情報データベース３１に、ノード情報をノード情報データベース３２にそれぞれ格納する。また、マルチキャストグループＭＣＧ１，ＭＣＧ２に属する複数の終点ノードＮ１０〜Ｎ１２，Ｎ１３〜Ｎ１５に関する情報と、最短経路の起点ノード情報についても、それぞれ終点ノード集合記憶部３３及び起点ノード記憶部３４を用いて管理する。
【００２７】
ヒープツリーモジュール２００は、ヒープツリー処理部２２と、ブランチ候補記憶部３５を備えている。ヒープツリー処理部２２は、最小木作成モジュール３００が最小木作成アルゴリズムの中で利用するブランチ候補をブランチ候補記憶部３５に記憶すると共に、最小木作成モジュール３００からの要求によりブランチ候補を検索する処理を行う。ブランチ候補記憶部３５は、上記ブランチ候補を記憶するために使用される。
【００２８】
最小木作成モジュール３００は、最小木作成処理部２３と、ブランチ記憶部３６を備えている。最小木作成処理部２３は、ブランチ候補をヒープツリーモジュール２００を介してブランチ候補記憶部３５に記憶させると共に、この記憶されたブランチ候補を検索のために利用して最小木を作成する処理を実行する。また、必要に応じて各ノードからマルチキャストグループの各終点ノードまでの最短経路を、上記ネットワークトポロジ管理モジュール１００により管理されているノード情報から取得する処理も行う。
【００２９】
最短経路作成モジュール４００は、最短経路作成処理部２４を備えている。この最短経路作成処理部２４は、ネットワークトポロジ管理モジュール１００で管理されているリンク情報を利用して、ノード間の最短経路を探索アルゴリズムを用いて定期的に探索する処理と、その探索結果をネットワークトポロジ管理モジュール１００内の各ノード情報に含まれるマルチキャストグループごとの最短経路情報に反映させる処理を実行する。
【００３０】
なお、上記ネットワークトポロジ管理処理部２１、ヒープツリー処理部２２、最小木作成処理部２３及び最短経路作成処理部２４は、何れもＰＣＥ１が備える中央処理ユニット（ＣＰＵ；Central Processing Unit）（図示せず）に、プログラムを実行させることにより実現される。
【００３１】
次に、以上のように構成されたＰＣＥ１による最短経路探索処理動作を説明する。  
図４はそのうちの最小木作成プログラム２３により実行される、ＤＮＨアルゴリズムに基づく最小木作成処理手順と処理内容を示すフローチャートである。
【００３２】
先ずステップＳ１では、初期条件の設定が以下のように行われる。すなわち、ＰＣＥ１内に設けられた作業用メモリ（図示省略）上の記憶領域Ｅには、経路が決まっていないマルチキャスト終点ノード集合が格納される。故に、最小木作成処理手順の開始時点ではすべてのマルチキャスト終点ノードの情報が格納されることになる。
【００３３】
ブランチ候補記憶部３５（ＰＱ）には、当初空集合が設定される。この空集合は、最小木作成処理手順が開始されると、ヒープツリープログラム２４により得られるブランチ候補を表す情報に置き換わる。上記作業用メモリ上の記憶領域ｖには、当初マルチキャストの起点ノードを表す情報が格納される。この起点ノード情報は、最小木作成処理手順が開始されると、コストが最も小さいブランチ候補である終点ノードの情報に置き換わる。ブランチ記憶部３６（Ｒ）には、当初空集合が設定される。この空集合は、最小木作成処理手順が開始されると、複数のブランチ候補の中から選択されたマルチキャストブランチを表す情報に置き換わる。
【００３４】
次にステップＳ２では、上記作業用メモリ上の記憶領域ｖに格納された起点ノードから上記作業用メモリ上の記憶領域Ｅに格納されたすべての終点ノードまでの最短経路が求められる。この最短経路は、ノード情報データベース３２内の対応するマルチキャストグループＭＣＧ１，ＭＣＧ２から該当する経路を選択することにより求められ、この求められた最短経路を表す情報はブランチ候補記憶部３５（ＰＱ）に格納される。
【００３５】
すなわち、起点ノードからマルチキャストグループＭＣＧ１，ＭＣＧ２の終点ノードまでの最短経路は、Ｏ（１）の計算量で求められることになる。ただし、ブランチ候補記憶部３５（ＰＱ）内の各ブランチ候補は、作業用メモリ上の記憶領域Ｅに格納された終点ノード集合のノードごとに存在する。このため、上記最短経路の探索処理では、新規のブランチ候補の経路コストが既存のブランチ候補の経路コストより小さい場合にのみ、ブランチ候補の置き換えが行われる。
【００３６】
ステップＳ３では、ブランチ候補記憶部３５（ＰＱ）に格納された各ブランチ候補のうち、経路コストが最も小さいブランチ候補がブランチ候補記憶部３５（ＰＱ）から削除されて、新規ブランチとしてブランチ記憶部３６（Ｒ）に格納される。そして、作業用メモリ上の記憶領域ｖに格納された起点ノードの情報は、ブランチ記憶部３６（Ｒ）に格納されたブランチ候補の終点ノードの情報に置き換えられる。続いてステップＳ４では、ブランチ記憶部３６（Ｒ）に格納されたブランチ候補の終点ノード情報が、作業用メモリ上の記憶領域Ｅから削除される。
【００３７】
以上述べたステップＳ３及びステップＳ４の処理によりブランチ候補記憶部３５（ＰＱ）に格納されたブランチ候補と、作業用メモリ上の記憶領域Ｅに格納された終点ノードとは、常に対応付けられる。
【００３８】
ステップＳ５では、作業用メモリ上の記憶領域Ｅが空集合になったかどうかが判定され、空集合になっていれば起点ノードから各マルチキャストグループＭＣＧ１，ＭＣＧ２のすべての終点ノードまでのブランチ候補の作成が終了したものと見なされて、ステップＳ６に移行する。これに対し作業用メモリ上の記憶領域Ｅがまだ空集合になっていなければ、ステップＳ２に戻って先に述べたステップＳ２〜ステップＳ５による処理が繰り返し実行される。ステップＳ６では、ブランチ間のリンクの重複が点検され、重複部分が削除される。
【００３９】
したがって、仮にマルチキャストグループＭＣＧ１，ＭＣＧ２の終点ノード数をｍ、ネットワーク全体のノード数をｎとすると、ステップＳ２〜ステップＳ５による処理はｍ回繰り返し実行される。また、ステップＳ２でブランチ候補記憶部３５（ＰＱ）にブランチ候補が格納されるまでに要する計算量はＯ（ｌｏｇ（ｍ））、ステップＳ３でブランチ候補記憶部３５（ＰＱ）から最短ブランチを取得するために要する計算量もＯ（ｌｏｇ（ｍ））となる。
【００４０】
また、ステップＳ６で点検される複数のブランチ上のノードの最大数はｍ×ｎとなる。しかし、重複が起こる可能性は低いため、通常はノードの重複チェックはｎ個以内となり、結果的に計算量はＯ（ｎ）となる。したがって、全体の計算量はＯ（ｍｌｏｇ（ｍ）＋ｎ）となる。
【００４１】
ちなみに、従来のようにマルチキャストグループの最短経路情報を管理していない場合には、ステップＳ２においてマルチキャストの各終点ノードまでの最短経路を求めるための計算量はそれぞれＯ（ｎ）だけ余分にかかり、全体の計算量はＯ（ｍｎ＋ｍｌｏｇ（ｍ））となってしまう。
【００４２】
その理由は以下のようなものである。すなわち、ステップＳ２におけるマルチキャスト通信の終点ノードまでの最短経路を求めるための計算Ｏ（ｎ）がｍ回繰り返されて、合計の計算量がＯ（ｍｎ）となる。また、ステップＳ２とステップＳ３におけるブランチ候補記憶部３５（ＰＱ）へのブランチ候補の格納処理と、最短ブランチを求めるために必要な計算量の合計がＯ（ｍｌｏｇ（ｍ））となる。さらに、ステップＳ６の計算量は、先に述べたようにＯ（ｎ）となるが、Ｏ（ｎ）はＯ（ｍｎ）に吸収されるため、合計の計算量がＯ（ｍｎ＋ｍｌｏｇ（ｍ））となるからである。
【００４３】
以上詳述したようにこの実施形態では、ネットワークトポロジ管理モジュール１００において、マルチキャストグループＭＣＧ１，ＭＣＧ２ごとにネットワーク上の各ノードからマルチキャストグループの各終点ノードまでの最短経路を表す情報をノード情報としてノード情報データベース３２に予め記憶しておく。この状態で、作業用メモリ上の記憶領域ｖに格納された起点ノードから作業用メモリ上の記憶領域Ｅに格納された終点ノードまでの最短経路を、ノード情報データベース３２に格納された最短経路情報の中から選択することにより求めてブランチ候補記憶部３５（ＰＱ）に格納する処理を、Ｅに格納された終点ノードが空集合になるまで繰り返し実行するようにしている。
【００４４】
したがってこの実施形態によれば、マルチキャストグループＭＣＧ１又はＭＣＧ２を終点とするマルチキャスト通信の経路選択を行う際に、ネットワーク上の各ノードからマルチキャストグループＭＣＧ１又はＭＣＧ２の各終点ノードまでの最短経路を求める処理は、ノード情報データベース３２に格納された最短経路情報の中から選択するだけでよいことになり、この結果最短経路の探索処理に要する計算量をＯ（１）に削減することが可能となる。
【００４５】
なお、先に述べた計算量の説明では、計算量がＯ（ｍｌｏｇ（ｍ）＋ｎ）になると述べたが、これはステップＳ２〜ステップＳ６までの全体の計算量を示したもので、この発明の実施形態により削減される計算量は、ステップＳ２による最短経路の探索処理に要する計算量である。
【００４６】
なお、この発明は上記実施形態に限定されるものではない。例えば、前記実施形態では、最短経路作成モジュール４００によりノード間の最短経路を定期的に探索し、その探索結果をネットワークトポロジ管理モジュール１００内のノード情報に反映するようにした。しかし、この最短経路の探索処理は必ずしも定期的に実行する必要はなく、任意のタイミングで実行するようにしてもよい。例えば、最短木作成モジュール３００がステップＳ２〜Ｓ６による処理を実行する際には、最短経路作成モジュール４００による最短経路の探索処理を一時停止し、上記最短木作成モジュール３００による処理を優先するように制御するとよい。このようにすると、ＰＣＥ１の処理負荷の増大を抑制して探索処理を円滑かつ短時間に行うことが可能となる。
【００４７】
その他、ネットワークの構成、マルチキャストグループの数やその構成、マルチキャストグループにおける終点ノードの数、ＰＣＥの構成と最短木作成手順等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
【００４８】
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００４９】
１…経路計算装置（ＰＣＥ）、ＭＣＧ１，ＭＣＧ２…マルチキャストグループ、Ｎ１〜Ｎ１５…ノード、２１…ネットワークトポロジ管理処理部、２２…ヒープツリー処理部、２３…最小木作成処理部、２４…最短経路作成処理部、３１…リング情報データベース、３２…ノード情報データベース、３３…終点ノード集合記憶部、３４…起点ノード記憶部、３５…ブランチ候補記憶部、３６…ブランチ記億部、１００…ネットワークトポロジ管理モジュール、２００…ヒープツリーモジュール、３００…最小木作成モジュール、４００…最短経路作成モジュール。
【図１】
2011091495.tif 000006
【図２】
2011091495.tif 000007
【図３】
2011091495.tif 000008
【図４】
2011091495.tif 000009