(57)【要約】【課題】マルチキャストグループが要求する通信特性を満たす通信経路を選択して、マルチキャスト配信を行うことができるマルチキャスト配信システムを提供する。【解決手段】複数のルータＲが接続されたメッシュ仮想網において、ルータＲｓは、アプリケーションに応じたマルチキャストグループに対してマルチキャスト配信を行う。ルータＲｓは、ＣＰＵ負荷率及びマルチキャストグループの通信特性（帯域幅、通信遅延）が閾値を超えると、ルータＲｓからパケットを配信するマルチキャストツリーの枝数と深さとを更新して、マルチキャストツリーの再構築を開始する。ルータＲｓは、マルチキャストツリーの構築時、メッシュ仮想網の経路特性（帯域幅、通信遅延）を参照して、経路特性に余裕のある通信経路を優先的に選択する。ルータＲｓは、マルチキャストツリーに基づいて、ルーティングテーブル１０を生成する。【選択図】図１
2008263449.tif 000002
【特許請求の範囲】
【請求項１】
メッシュ仮想網上に形成されたマルチキャスト網を構成する複数の配信先ルータに、配信元ルータからマルチキャスト配信を行うマルチキャスト配信システムであって、
前記配信元ルータは、
該配信元ルータのＣＰＵ負荷率と前記マルチキャスト網に構成されたマルチキャストグループの通信特性と前記メッシュ仮想網の経路特性とを監視・検出する第１の監視手段と、
前記ＣＰＵ負荷率の閾値と前記マルチキャストグループの通信特性の閾値とを記憶する記憶手段と、
前記第１の監視手段が検出したＣＰＵ負荷率と前記記憶手段に記憶されたＣＰＵ負荷率の閾値との比較結果、及び前記第１の監視手段が検出したマルチキャストグループの通信特性と前記記憶手段に記憶されたマルチキャストグループの通信特性の閾値との比較結果の少なくとも一方と、前記第１の監視手段が検出した前記メッシュ仮想網の経路特性と、に基づいて、該配信元ルータからパケットを配信するマルチキャストツリーの再構築を開始し、さらに、このマルチキャストツリーに基づいてマルチキャスト配信の経路を決定するためのルーティングテーブルの再生成を開始する第１の制御手段と、
を備えるマルチキャスト配信システム。
【請求項２】
前記配信元ルータの第１の制御手段は、前記第１の監視手段が監視するＣＰＵ負荷率及び前記第１の監視手段が監視するマルチキャストグループの通信特性の少なくとも一方の値が該閾値を超えた場合は、マルチキャストツリーの枝数と深さとを変更し、このマルチキャストツリーの枝数と深さ、及び、前記メッシュ仮想網の経路特性に基づいて、マルチキャストツリーの再構築を開始する請求項１に記載のマルチキャスト配信システム。
【請求項３】
前記配信先ルータの各々は、
前記メッシュ仮想網の経路特性を監視する第２の監視手段と、
パケットの配信を指示する配信情報を配信及び受信する通信手段と、
前記配信情報に含まれるマルチキャストツリーの枝数と深さと、前記第２の監視手段により取得した前記メッシュ仮想網の経路特性と、に基づいて、該配信元ルータからパケットを配信するマルチキャストツリーの再構築を進め、このマルチキャストツリーに基づいてマルチキャスト配信の経路を決定するルーティングテーブルの再生成を進める第２の制御手段と、
を備え、
前記配信元ルータの第１の制御手段は、すべての配信先ルータのルーティングテーブルの再生成が完了した時に前記マルチキャストツリーを完成させる請求項１又は請求項２に記載のマルチキャスト配信システム。
【請求項４】
前記配信元ルータの記憶手段は、該配信元ルータの第１の監視手段が最初に検出した前記マルチキャストグループの通信特性をマルチキャストグループの通信特性の閾値として記憶する請求項１〜請求項３の何れか１項に記載のマルチキャスト配信システム。
【請求項５】
前記配信元ルータの第１の制御手段は、マルチキャスト配信時にマルチキャストツリーを再構築するか否かを予め設定したタイミング毎に判断する請求項１〜請求項４の何れか１項に記載のマルチキャスト配信システム。
【請求項６】
メッシュ仮想網上に形成されたマルチキャスト網を構成する複数の配信先ルータに、配信元ルータからマルチキャスト配信を行うマルチキャスト配信方法であって、
前記配信元ルータは、
該配信元ルータのＣＰＵ負荷率と前記マルチキャスト網に構成されたマルチキャストグループの通信特性と前記メッシュ仮想網の経路特性とを監視・検出し、
記憶手段に記憶している前記ＣＰＵ負荷率の閾値と前記マルチキャストグループの通信特性の閾値とを読み出し、
該ＣＰＵ負荷率及び該マルチキャストグループの通信特性の少なくとも一方の値が前記ＣＰＵ負荷率の閾値及び該マルチキャストグループの通信特性の閾値を超えた場合は、マルチキャストツリーの枝数と深さとを変更し、このマルチキャストツリーの枝数と深さと、前記メッシュ仮想網の経路特性に基づいて、該配信元ルータからパケットを配信するマルチキャストツリーの再構築を開始し、さらに、このマルチキャストツリーに基づいてマルチキャスト配信の経路を決定するためのルーティングテーブルの再生成を開始するマルチキャスト配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、メッシュ仮想網におけるパケットのマルチキャスト配信システム及びその方法に関する。
【背景技術】
【０００２】
従来、マルチキャストパケットを配信する際に、ＰＩＭ−ＳＭ（Ｐｒｏｔｏｃｏｌ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｕｌｔｉｃａｓｔ−Ｓｐａｒｓｅ  Ｍｏｄｅ）、ＰＩＭ−ＤＭ（Ｐｒｏｔｏｃｏｌ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｕｌｔｉｃａｓｔ−Ｄｅｎｃｅ  Ｍｏｄｅ）、ＤＶＭＲＰ（Ｄｉｓｔａｎｃｅ  Ｖｅｃｔｏｒ  Ｍｕｌｔｉｃａｓｔ  Ｒｏｕｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）等のマルチキャストルーティングプロトコルを用いて、マルチキャストツリーを構築し、パケットの配信に利用している。これらのマルチキャストルーティングプロトコルは、通信遅延を短縮するために、最短ホップ数の経路を構築している（特許文献１参照）。
【０００３】
特許文献１の仮想マルチキャストネットワーク方法及びそのシステムでは、マルチキャスト配信をサポートしないネットワーク網において、仮想マルチキャストルータを用いて、上述したＰＩＭ−ＳＭ、ＰＩＭ−ＤＭ、ＤＶＭＲＰ等のマルチキャストルーティングプロトコルにより、パケット配信する方法が記載されている。
【特許文献１】特表２００４−５３１１４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、メッシュ仮想網において、ＰＩＭ−ＳＭ、ＰＩＭ−ＤＭ、ＤＶＭＲＰ等のマルチキャストルーティングプロトコルを用いると、配信元のルータから、全ルータに対して、パケットを送信するようになるため、配信元のルータに負荷がかかる。また、アプリケーションソフトウェア（以下、アプリケーションと称す。）に応じて構成されるマルチキャストグループ（パケットの配信先）毎に要求する帯域幅や遅延量等が異なる。
【０００５】
そこで、この発明は、アプリケーションに応じて構成されるマルチキャストグループ毎に、その特性を満たすように、配信順序を決定するマルチキャストツリーを生成し、このマルチキャストツリーに基づいてデータ配信を行うマルチキャスト配信システム及びマルチキャスト配信方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明のマルチキャスト配信システムは、メッシュ仮想網上に形成されたマルチキャスト網を構成する複数の配信先ルータに、配信元ルータからマルチキャスト配信を行うマルチキャスト配信システムであって、前記配信元ルータは、該配信元ルータのＣＰＵ負荷率と前記マルチキャスト網に構成されたマルチキャストグループの通信特性と前記メッシュ仮想網の経路特性とを監視・検出する第１の監視手段と、前記ＣＰＵ負荷率の閾値と前記マルチキャストグループの通信特性の閾値とを記憶する記憶手段と、前記第１の監視手段が検出したＣＰＵ負荷率と前記記憶手段に記憶されたＣＰＵ負荷率の閾値との比較結果、及び前記第１の監視手段が検出したマルチキャストグループの通信特性と前記記憶手段に記憶されたマルチキャストグループの通信特性の閾値との比較結果の少なくとも一方と、前記第１の監視手段が検出した前記メッシュ仮想網の経路特性と、に基づいて、該配信元ルータからパケットを配信するマルチキャストツリーの再構築を開始し、さらに、このマルチキャストツリーに基づいてマルチキャスト配信の経路を決定するためのルーティングテーブルの再生成を開始する第１の制御手段と、を備えることを特徴とする。
【０００７】
この構成では、配信元ルータは、マルチキャスト網に構成されるマルチキャストグループの複数の配信先ルータにマルチキャスト配信を行う。また、マルチキャスト網は、メッシュ仮想網上に形成される。配信元ルータは、配信元ルータのＣＰＵ負荷率とマルチキャストグループの通信特性とメッシュ仮想網の経路特性とを監視する。このマルチキャストグループの通信特性とは、帯域幅及び通信遅延の少なくとも一方を含み、マルチキャストグループのパケットを監視して算出される。このメッシュ仮想網の経路特性は、帯域幅及び通信特性の少なくとも一方を含み、メッシュ仮想網上を流れるパケットを監視して算出される。更に、配信元ルータは、ＣＰＵ負荷率とマルチキャストグループの通信特性とを記憶する。加えて、配信元ルータは、ＣＰＵ負荷率と閾値との比較結果、及びマルチキャストグループの通信特性と閾値との比較結果の少なくとも一方と、メッシュ仮想網の経路特性と、に基づいて、マルチキャストツリーの再構築を開始する。配信元ルータは、構築したマルチキャストツリーに基づいてルーティングテーブルを再生成する。これにより、配信元のルータの負荷状況と、マルチキャストグループの通信特性と、メッシュ仮想網の経路特性とに応じて、マルチキャスト配信の経路を選択することができる。このため、マルチキャストグループが要求する通信特性を満たす通信経路を選択して、マルチキャスト配信を行うことができる。また、パケットの配信数の増加等により、配信元ルータに負荷がかかったとしても、配信元ルータのＣＰＵ負荷率を一定値（閾値）以下に保つことができる。更に、メッシュ仮想網上を流れるパケット数の増加等により、メッシュ仮想網上の一部の仮想経路に通信遅延等が発生したとしても、余裕のある経路を選択してマルチキャスト配信することで、通信遅延等を発生せずにマルチキャスト配信することができる。このように、配信元ルータの負荷の減少やメッシュ仮想網を構成する実網の帯域負荷を低減することができるので、配信元ルータや実網のハードウェア設備の投資を行わずに、マルチキャスト配信のスケーラビリティを確保することができる。
【０００８】
また、この発明のマルチキャスト配信システムは、前記配信元ルータの第１の制御手段は、前記第１の監視手段が監視するＣＰＵ負荷率及び前記第１の監視手段が監視するマルチキャストグループの通信特性の少なくとも一方の値が該閾値を超えた場合は、マルチキャストツリーの枝数と深さとを変更し、このマルチキャストツリーの枝数と深さとに基づいて、マルチキャストツリーの再構築を開始することを特徴とする。
【０００９】
この構成では、配信元ルータは、ＣＰＵ負荷率及びマルチキャストグループの通信特性の少なくとも一方が閾値を超えている場合は、マルチキャストツリーの枝数と深さとを変更する。配信元ルータは、マルチキャストツリーの枝数と深さとに基づいて、マルチキャストツリーの再構築を開始する。これにより、配信元ルータから全ての配信先ルータに直接マルチキャストパケットを配信せずに、配信先ルータを経由してマルチキャストパケットの配信を行う。このため、配信元ルータにかかる負荷を確実に分散することができる。
【００１０】
更に、この発明のマルチキャスト配信システムは、前記配信先ルータの各々は、前記メッシュ仮想網の経路特性を監視する第２の監視手段と、パケットの配信を指示する配信情報を配信及び受信する通信手段と、前記配信情報に含まれるマルチキャストツリーの枝数と深さと、前記第２の監視手段により取得した前記メッシュ仮想網の経路特性と、に基づいて、該配信元ルータからパケットを配信するマルチキャストツリーの再構築を進め、このマルチキャストツリーに基づいてマルチキャスト配信の経路を決定するルーティングテーブルの再生成を進める第２の制御手段と、を備え、前記配信元ルータの第１の制御手段は、すべての配信先ルータのルーティングテーブルの再生成が完了した時に前記マルチキャストツリーを完成させることを特徴とする。
【００１１】
この構成では、配信先ルータの各々は、マルチキャストツリーの枝数と深さとに基づいて、自装置からのパケットの配信経路を決定するマルチキャストツリーの再構築を進める。また、配信先ルータは、メッシュ仮想網の経路特性を監視し、メッシュ仮想網の経路特性に基づいて、パケットの配信経路を決定する。配信先ルータは、構築したマルチキャストツリーに基づいてルーティングテーブルの再生成を進める。また、マルチキャストツリーは、全ての配信先ルータのルーティングテーブルの再生成が完了すると完成する。これにより、配信先ルータのメッシュ仮想網の経路特性を考慮して、余裕のある通信経路を選択するように、配信先ルータからのパケットの配信経路を決定することができる。このため、配信先ルータは、自装置からマルチキャストパケットを配信する、メッシュ仮想網を構成する実網の帯域負荷を低減することができるので、実網のハードウェア設備の投資を行わずに、マルチキャスト配信のスケーラビリティを確保することができる。
【００１２】
加えて、この発明のマルチキャスト配信システムは、前記配信元ルータの記憶手段は、該配信元ルータの第１の監視手段が最初に検出した前記マルチキャストグループの通信特性をマルチキャストグループの通信特性の閾値として記憶することを特徴とする。
【００１３】
この構成では、マルチキャストグループの通信特性の閾値に、マルチキャストグループの最初に検出した通信特性を用いる。これにより、マルチキャスト配信時に、マルチキャストグループ毎にマルチキャストグループの通信特性の閾値を自動で設定することができる。このため、マルチキャストグループ毎に要求する通信特性に応じたルーティングテーブルを自動で生成することができる。
【００１４】
また、この発明のマルチキャスト配信システムは、前記配信元ルータの第１の制御手段は、マルチキャスト配信時にマルチキャストツリーを再構築するか否かを予め設定したタイミング毎に判断することを特徴とする。
【００１５】
この構成では、予め設定したタイミング毎に、例えば、時間やパケットの送信数等に応じて、マルチキャストツリーを再構築するか否かの判断を行う。これにより、マルチキャスト配信時に、ルータの負荷状態や、マルチキャストグループを形成するマルチキャスト網の帯域幅や通信遅延の変化に対応して、動的にマルチキャストツリーを再構築することができる。例えば、マルチキャスト配信中に、ルータに負荷がかかったり、マルチキャストグループの仮想経路上のパケット数が増加したりした場合等に対応して、動的にマルチキャストツリーを再構築することができる。このため、マルチキャストグループが要求する通信特性を満たす経路を常に選択して、マルチキャスト配信を行うことができる。
【００１６】
この発明のマルチキャスト配信方法は、メッシュ仮想網上に形成されたマルチキャスト網を構成する複数の配信先ルータに、配信元ルータからマルチキャスト配信を行うマルチキャスト配信方法であって、前記配信元ルータは、該配信元ルータのＣＰＵ負荷率と前記マルチキャスト網に構成されたマルチキャストグループの通信特性と前記メッシュ仮想網の経路特性とを監視・検出し、記憶手段に記憶している前記ＣＰＵ負荷率の閾値と前記マルチキャストグループの通信特性の閾値とを読み出し、該ＣＰＵ負荷率及び該マルチキャストグループの通信特性の少なくとも一方の値が前記ＣＰＵ負荷率の閾値及び該マルチキャストグループの通信特性の閾値を超えた場合は、マルチキャストツリーの枝数と深さとを変更し、このマルチキャストツリーの枝数と深さと、前記メッシュ仮想網の経路特性に基づいて、該配信元ルータからパケットを配信するマルチキャストツリーの再構築を開始し、さらに、このマルチキャストツリーに基づいてマルチキャスト配信の経路を決定するためのルーティングテーブルの再生成を開始することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、配信元ルータの負荷状況及びマルチキャストグループの通信特性に応じて、マルチキャストツリーを再構築するので、マルチキャストグループが要求する通信特性を満たす通信経路を選択して、マルチキャスト配信を行うことができる。
【発明を実施するための最良の形態】
【００１８】
図１は、メッシュ仮想網に接続された複数のルータ間のマルチキャスト配信に関する説明図である。メッシュ仮想網に接続された複数のルータＲ（Ｒｓ，Ｒ１〜Ｒ５）は、それぞれが通信機器（パーソナルコンピュータ、携帯電話等）ＰＣ（ＰＣｓ，ＰＣ１〜ＰＣ５）に接続されている。ルータＲｓは、自装置に接続された通信機器ＰＣｓからマルチキャスト配信を行うアプリケーションのパケットを受信すると、自装置から他のルータＲ１〜Ｒ５に対してマルチキャスト配信を行う。ルータＲｓは、アプリケーションに応じたマルチキャストグループを生成する。このマルチキャストグループは、マルチキャスト網上に形成され、マルチキャストパケットの配信先アドレス（ルータＲ１〜Ｒ５）から構成される。このマルチキャスト網は、メッシュ仮想網上に形成され、配信元ルータＲｓから配信先ルータＲ１〜Ｒ５へのマルチキャストパケットの通信経路を形成する網のことである。
【００１９】
ルータＲｓからのマルチキャスト配信時、ルータＲｓは、予め設定されたタイミング毎に、自装置のＣＰＵ負荷率とＣＰＵ負荷率の閾値、及びマルチキャストグループの通信特性とマルチキャストグループの通信特性の閾値を比較する。ここで、自装置のＣＰＵ負荷率とは、ルータＲｓのＣＰＵの負荷率である。ＣＰＵ負荷率の閾値とは、ユーザが予め設定したＣＰＵ負荷率の閾値である。また、マルチキャストグループの通信特性とは、定期的に測定され、マルチキャストグループの帯域幅及び通信遅延の少なくとも一方を含む。マルチキャストグループの通信特性の閾値とは、マルチキャストグループの帯域幅及び通信遅延の少なくとも一方を含み、本実施形態では、最初に測定されたマルチキャストグループの通信特性である。
【００２０】
なお、マルチキャストグループの通信特性が帯域幅又は通信遅延のみの場合は、マルチキャストグループの通信特性の閾値は、帯域幅の閾値又は通信遅延の閾値のことである。マルチキャストグループの通信特性が帯域幅と通信遅延との場合は、マルチキャストグループの通信特性の閾値は、帯域幅の閾値と通信遅延の閾値のことである。
【００２１】
ルータＲｓは、ＣＰＵの負荷率がＣＰＵの負荷率の閾値以下の場合で、且つマルチキャストグループの通信特性がマルチキャストグループの通信特性の閾値以下の場合は、既存のルーティングテーブルを参照してマルチキャストパケットを配信する。また、ルータＲｓは、ＣＰＵ負荷率がＣＰＵ負荷率の閾値を超えた場合、又はマルチキャストグループの通信特性がマルチキャストグループの通信特性の閾値を超えた場合は、マルチキャストツリーの枝数と深さとを変更し、この変更した内容と、メッシュ仮想網の経路特性に基づいてマルチキャストツリーの再構築を開始する、さらに、ルーティングテーブルの再生成を開始する。
【００２２】
ルータＲｓよりマルチキャストツリーの再構築を開始するとは、ルータＲｓからパケットを次に配信するルータＲまでのツリーを作成することであり、後述のように、各配信先ルータＲにおいてもツリーの再構築が進んでいき、全部の配信先ルータＲにおいて、ツリーの再構築が行われると、同ツリーが完成することとなる。また、ルーティングテーブルの再生成を開始するとは、ルータＲｓからパケットを次に配信するルータＲまでのツリーに基づいて、次に配信するルータＲのアドレスをルーティングテーブルに登録することであり、後述のように、各配信先ルータＲにおいても、ルーティングテーブルの再生成が進んでいき、全部の配信先ルータＲにおいて、ルーティングテーブルの再生成が完了すると、マルチキャストツリーが完成する。このマルチキャストツリーの内容がルータＲｓのルーティングテーブルに反映されると、各ルータＲｓ，Ｒのルーティングテーブルが完成することとなる。
【００２３】
また、マルチキャストツリーとルーティングテーブルを完成するために必要なメッシュ仮想網の経路特性は、マルチキャストグループの通信特性とは別に測定され、メッシュ仮想網の帯域幅と通信遅延との少なくとも一つを含む。
【００２４】
上記のようにしてマルチキャストツリーとルーティングテーブルが完成すると、ルータＲｓは、再生成したルーティングテーブルに基づいて、マルチキャストパケットを配信する。これにより、ルータＲｓは、マルチキャストグループが要求する通信特性を満たさない場合は、配信元ルータであるルータＲｓと配信先ルータであるルータＲとにより、そのマルチキャストグループの通信特性に適応するマルチキャストツリーとルーティングテーブルを自動的に作成し、このルーティングテーブルを使用して、マルチキャストパケットの配信を行う。例えば、閾値を超えた場合には、ルータＲｓにおいてマルチキャストツリーの再構築とルーティングテーブルの再生成が開始され、それらの再構築と再生成が完了すると、ルータＲｓから他のルータＲ１〜Ｒ５に、次の順序でマルチキャストパケットが配信される。
【００２５】
まず、ルータＲｓは、ルータＲ１，Ｒ５にパケットを配信する。次に、パケットを受信したルータＲ１は、ルータＲ２，Ｒ３にパケットを配信し、ルータＲ５はルータＲ４にパケットを配信する。このように、ルータＲｓを頂点ノードとして、他のルータＲ１〜Ｒ５を仮想的にツリー状に配置して、親ノードに設定されたルータ（ルータＲ１，Ｒ５）から子ノードに設定されたルータ（ルータＲ２，Ｒ３，Ｒ４）へと順にパケットを配信する。これにより、ルータＲｓは、ルータＲ１〜Ｒ５の全部に対して、マルチキャストパケットを配信することができる。このように、マルチキャストグループにおいて要求されるルータＲｓのＣＰＵ負荷率が大きい場合や、マルチキャストグループの通信特性が閾値を超えた場合に、マルチキャストツリーの再構築とルーティングテーブルの再作成を行うことにより、ルータＲｓからルータＲ１〜Ｒ５にパケットが直接配信されないようになるため、ルータＲｓのＣＰＵの負荷を減少することができる。
【００２６】
次に、ルータＲの構成について、図２を参照して説明する。図２は、ルータＲの構成を示すブロック図である。ルータＲｓと他のルータＲ１〜Ｒ５とは、構成において略同一であり、以下の説明では、ルータＲｓを代表して説明し、相違点について、両者の異なる部分が分かるように説明する。図２に示すように、ルータＲｓは、ルーティングテーブル（Ｔａｂｌｅ＿ｎｅｗ）１０、インタフェース部１１、フォワーディングエンジン１２、監視部１３、探索用データベース（以下、探索用ＤＢと称す。）１４、ルーティングテーブル管理部１５から構成される。
【００２７】
ルーティングテーブル（Ｔａｂｌｅ＿ｎｅｗ）１０は、パケットの宛先となるネットワークアドレスと、使用するネットワークインタフェースとからなるエントリを複数記憶する。このルーティングテーブル１０は、ルータＲｓが他のルータＲ１〜Ｒ５にパケットを送信する際に、後述するフォワーディングエンジン１２に参照される。具体的には、フォワーディングエンジン１２は、ルーティングテーブル１０が記憶するエントリに、パケットの宛先が該当するか否かを調べ、該当すると、該当するエントリのネットワークインタフェースから、ネットワークアドレスを持つルータＲにパケットを送信する。また、フォワーディングエンジン１２は、パケットの宛先がこれらのエントリに該当しない場合は、デフォルトゲートウェイに設定されているルータＲへパケットを送信する。
【００２８】
インタフェース部１１は、メッシュ仮想網を構成する実網とのインタフェース部分で、実網と接続され、データの送受信を行う。詳述すると、インタフェース部１１は、後述するフォワーディングエンジン１２からパケットが入力されると、実網へパケットを出力し、実網からパケットが入力されるとフォワーディングエンジン１２へ出力する。
【００２９】
フォワーディングエンジン（請求項の通信手段に該当する。）１２は、ルーティングテーブル１０を参照して、インタフェース部１１を介して、他のルータＲ１〜Ｒ５等とデータの送受信を行う。また、フォワーディングエンジン１２は、ルーティングテーブル１０の再生成時、ルーティングテーブル１０の再生成に必要なリスト情報（宛先リスト、次宛先リスト、マルチキャストツリー（以下、ツリーと称す。）の枝数及び深さ）を、インタフェース部１１を介して他のルータＲ１〜Ｒ５と送受信する。
【００３０】
詳述すると、フォワーディングエンジン１２は、インタフェース部１１からパケットが入力されると、ルーティングテーブル１０を参照して、パケットの宛先（送信先のルータＲ）を取得する。フォワーディングエンジン１２は、入力されたパケットを、インタフェース部１１を介して送信先ルータＲへ出力する。この際、フォワーディングエンジン１２は、インタフェース部１１へ出力するパケット量に応じて、優先順位の低いパケットを破棄する。
【００３１】
また、フォワーディングエンジン１２は、ルーティングテーブル１０の再生成時、他のルータＲ１〜Ｒ５からリスト情報が入力されると、後述するルーティングテーブル管理部１５へ出力する。フォワーディングエンジン１２は、ルーティングテーブル管理部１５からリスト情報が入力されると、ルーティングテーブル管理部１５から指示されたルータＲへリスト情報を出力する。
【００３２】
ルータＲｓにおいては、監視部（請求項の監視手段に該当する。）１３は、インタフェース部１１を介して、マルチキャストグループの通信特性とメッシュ仮想網の経路特性とを定期的に測定し、後述する探索用ＤＢ１４へ出力する。また、監視部１３は、自装置のＣＰＵ負荷率を測定して、後述するルーティングテーブル管理部１５へ出力する。他のルータＲ１〜Ｒ５においては、監視部１３は、メッシュ仮想網の経路特性のみを定期的に測定する。
【００３３】
マルチキャストグループの通信特性とは、マルチキャスト網上に形成されたマルチキャストグループのパケットを監視して算出される帯域幅と通信遅延との少なくとも一つを含む特性である。メッシュ仮想網の経路特性とは、メッシュ仮想網上を流れるパケットを監視して算出される帯域幅と通信遅延との少なくとも一つを含む特性である。したがって、マルチキャストグループの通信特性とメッシュ仮想網の経路特性とは異なった値である。すなわち、前者は、マルチキャスト網上に流れるマルチキャストグループのマルチキャストパケットに基づいて算出され、後者は、メッシュ仮想網上を流れるマルチキャストパケットやユニキャストパケット等に基づいて算出される。
【００３４】
図３は、探索用データベース（以下、ＤＢという）の構成を示している。ルータＲｓにおいては、探索用ＤＢ（請求項の記憶手段に該当する。）１４は、ＣＰＵ負荷率閾値テーブル（以下、ＣＰＵ閾値テーブルと称す。）、マルチキャストグループの通信特性閾値テーブル（以下、通信特性閾値テーブルと称す。）、メッシュ仮想網の経路特性テーブル（以下、経路特性テーブルと称す。）、マルチキャストグループの通信特性テーブル（以下、通信特性テーブルと称す。）を備える。また、他のルータＲ１〜Ｒ５においては、探索用ＤＢ１４は、経路特性テーブルのみを備える。なお、以下の説明では、マルチキャストグループの通信特性及びメッシュ仮想網の経路特性は、それぞれ帯域幅と通信遅延とを含むものとする。
【００３５】
ＣＰＵ閾値テーブルには、ルータＲｓのＣＰＵ負荷率の閾値が登録される。このＣＰＵ負荷率の閾値は、ユーザによって設定される。マルチキャスト配信を行うルータＲｓは、自装置のＣＰＵ負荷率が閾値を超えると、ツリーの再構築を開始し、ルーティングテーブル１０の再生成を開始する。先に述べたように、ルータＲｓよりマルチキャストツリーの再構築を開始するとは、ルータＲｓからパケットを次に配信するルータＲまでのツリーを作成することであり、後述のように、各配信先ルータＲにおいてもツリーの再構築が進んでいき、全部の配信先ルータＲにおいて、ツリーの再構築が行われると、同ツリーが完成することとなる。また、ルーティングテーブル１０の再生成を開始するとは、ルータＲｓからパケットを次に配信するルータＲまでのツリーに基づいて、ルーティングテーブル１０に次に配信するルータＲのアドレスを登録することであり、後述のように、各配信先ルータＲにおいても、ルーティングテーブル１０の再生成が進んでいき、全部の配信先ルータＲにおいて、ルーティングテーブルの再生成が完了すると、ツリーの再構築が完了する。
【００３６】
通信特性閾値テーブルには、マルチキャストグループが要求する帯域幅と通信遅延とをマルチキャストグループの通信特性の閾値として登録される。本実施形態では、マルチキャストグループの通信特性の閾値は、マルチキャスト配信時に、監視部１３（ルータＲｓの）により最初に測定されたマルチキャストグループの通信特性が閾値として登録される。これにより、マルチキャストグループ毎に、マルチキャストグループの通信特性の閾値を自動で設定することができる。
【００３７】
経路特性テーブルには、メッシュ仮想網の帯域幅と通信遅延とが定期的に登録される。このメッシュ仮想網の経路特性は、自装置から他のルータＲ１〜Ｒ５への仮想経路毎に測定されて登録される。この特性値は、監視部１３により定期的に更新される。ルータＲｓは、この経路特性テーブルに登録されているメッシュ仮想網の経路特性に基づいて余裕のある通信経路を選択して、ルータＲｓにおけるルーティングテーブル１０を生成する。他のルータＲ１〜Ｒ５においても、同様に、経路特性テーブルを定期的に更新し、そのテーブルに登録されているメッシュ仮想網の経路特性に基づいて余裕のある通信経路を選択して、ルータＲ１〜Ｒ５におけるルーティングテーブル１０を生成する。
【００３８】
通信特性テーブルは、マルチキャストグループの帯域幅と通信遅延とが登録される。このマルチキャストグループの通信特性は、自装置からマルチキャストグループ内の他のルータＲ１〜Ｒ５への仮想経路毎に登録され、監視部１３により定期的に更新される。このマルチキャストグループの通信特性は、上記ＣＰＵ負荷率と同様に、ツリーを再構築するか否かの判断値として用いられる。具体的には、マルチキャストグループの通信特性が閾値を超えた時、ツリーの再構築が開始される。マルチキャストグループの通信特性が閾値を超えない場合は、ツリーの再構築は行われず、既存のルーティングテーブル１０をそのまま用いて、マルチキャスト配信を行う。
【００３９】
なお、以上の説明では、配信元ルータであるルータＲｓが図３に示す探索用ＤＢ１４を備え、配信先ルータである他のルータＲ１〜Ｒ５が図３に示す探索用ＤＢ１４内の経路特性テーブルのみを備えるものとしているが、他のルータＲ１〜Ｒ５のいずれかが配信元ルータになった場合には、当然にそのルータが図３に示す探索用ＤＢ１４を備えることになる。
【００４０】
ルーティングテーブル管理部（請求項の制御手段に該当する。）１５は、ルーティングテーブル１０の作成と、ルーティングテーブル１０の再生成とを行う。ルーティングテーブル１０の再生成時、ルーティングテーブル管理部１５は、ＣＰＵ負荷率とその閾値に基づいて、又はマルチキャストグループの通信特性とその閾値に基づいて、ツリーの枝数と深さとを決定し、メッシュ仮想網の経路特性に基づいてルーティングテーブル１０の再作成を開始する。
【００４１】
詳述すると、ルーティングテーブル管理部１５は、マルチキャストグループの作成時、一般的な方法でデフォルトのルーティングテーブル１０を作成する。一般的な方法では、ルーティングテーブル管理部１５は、マルチキャスト配信を行うルータＲｓから他のルータＲ１〜Ｒ５へのホップ数を算出し、パケットが最短ホップ数の経路を通過するようにマルチキャスト配信を行うデフォルトのルーティングテーブル１０を作成する。メッシュ仮想網において、このデフォルトのルーティングテーブル１０を利用すると、マルチキャスト配信を行うルータＲｓから他のルータＲ１〜Ｒ５へ直接パケットが配信される。
【００４２】
また、ルーティングテーブル管理部１５は、予め設定されたタイミングで、ツリーの再構築が必要か否か、すなわち、ルーティングテーブル１０の再生成が必要か否かを判断し、必要な場合はルーティングテーブル１０の再生成を行う。ルーティングテーブル１０の再生成が必要か否かの判断は、ルーティングテーブル管理部１５により、自装置のＣＰＵ負荷率、マルチキャストグループの通信特性が閾値を超えるか否かにより判断される。ルーティングテーブル管理部１５は、自装置のＣＰＵ負荷率又はマルチキャストグループの帯域幅が閾値を超える場合は、ツリーの枝数を半分に設定する。マルチキャストグループの帯域幅が閾値を超えるとは、マルチキャストグループの帯域幅が閾値より狭くなることをいう。また、マルチキャストグループの通信遅延が閾値を超える場合は、ツリーの深さを１段深く設定する。ルーティングテーブル管理部１５は、設定したツリーの枝数と深さ、及び、仮想網の経路特性に基づいてツリーの再構築を開始する。
【００４３】
ツリーの再構築が必要であるが否かの判断は、配信元のルータＲｓからマルチキャスト配信を行う最初のタイミングで行われるが、さらに、その後のタイミングで同様の判断を行うことができる。そのタイミングは、ユーザにより設定されたり、マルチキャストグループ毎に自動で設定されたりする。例えば、１０秒毎、１分毎のように時間で設定されたタイミング、パケットの配信数が１００パケット毎、１０００パケット毎のようにパケットの配信数で設定されたタイミング、パケットを配信する都度のようなタイミング等が設定される。
【００４４】
更に、ルーティングテーブル管理部１５は、ルーティングテーブル１０を予め設定されたタイミングでリセットする。つまり、ルーティングテーブル管理部１５は、ツリーを再構築するか否かを、例えば１０回、２０回判断したタイミング毎に、ツリーを例えば５回、１０回再構築したタイミング毎に、ルーティングテーブル１０を一般的な方法で再生成する。これにより、ルータＲを通過するパケットが一時的に増加し、枝数が少なく深いツリーが構築された場合であっても、一時的なパケットの増加が解消されると、予め設定されたタイミングでツリーをリセットし、その時点でマルチキャストグループの要求する通信特性に応じたツリーに再構築することができる。
【００４５】
次に、ツリーの再構築を行いながら、そのツリーに基づいてルーティングテーブル１０の再生成を行う手順について、図４〜図１３を参照して説明する。図４〜図１１は、ツリーが再構築されていきながら、各ルータＲにおいてルーティングテーブルが再生成されていく手順を示す図であり、図４〜図１１の順にツリーが再構築されていき、ルーティングテーブル１０の再生成が進む。図１２、図１３は、ツリーを再構築しながらルーティングテーブルを再生成していく手順を示す図である。以下、ルータＲｓからマルチキャストグループＡ（ルータＲ１〜Ｒ５）へマルチキャスト配信を行う時に、ルーティングテーブル１０が再生成されていく手順を例にあげて説明する。つまり、ルータＲｓを頂点ノードとして、ツリーが再構築されていくときの手順について説明する。ここで、ルータＲｓは、図３に示す探索用ＤＢ１４を記憶するものとする。また、他のルータＲ１〜Ｒ５は、図４〜図１１に示すように配置されるものとする。更に、図４に示すように、各ルータＲとメッシュ仮想網とのインタフェースは、反時計回りにインタフェースＩＦ１〜ＩＦ５とする。
【００４６】
まず、マルチキャスト配信を行うルータＲｓの動作について図１２を参照して説明する。図１２に示すように、ルータＲｓのルーティングテーブル管理部１５は、初期設定が存在するか否かを調べる（Ｓ１０１）。初期設定とは、探索用ＤＢ１４の通信特性閾値テーブル（図３参照）にマルチキャストグループＡの通信特性が登録されているか否かにより判断される。具体的には、この初期設定は、パケットが最初に配信される時に登録される。すなわち、パケットが２番目以降に配信される時は、既に初期設定が存在する。
【００４７】
初期設定が存在する（マルチキャストグループＡの通信特性が登録済）場合は（Ｓ１０１：Ｙｅｓ）、ステップＳ１０３へ進む。初期設定が存在しない（マルチキャストグループＡの通信特性が未登録）場合は（Ｓ１０１：Ｎｏ）、ルーティングテーブル管理部１５は、監視部１３が測定した、マルチキャストグループＡの通信特性を通信特性閾値テーブルに登録して（Ｓ１０２）、ステップＳ１０３へ進む。
【００４８】
ステップＳ１０３にて、ルーティングテーブル管理部１５は、探索用ＤＢ１４の通信特性テーブル（図３参照）を参照して、マルチキャストグループの通信特性を取得する。このマルチキャストグループの通信特性は、監視部１３により定期に測定され、通信特性テーブルに反映される。
【００４９】
ルーティングテーブル管理部１５は、監視部１３にて測定したＣＰＵの負荷率を取得して、探索用ＤＢ１４のＣＰＵ閾値テーブル（図３参照）に登録されたＣＰＵ負荷率の閾値（５０％）を超えているか否かを調べる（Ｓ１０４）。閾値を超えている場合は（Ｓ１０４：Ｙｅｓ）、ステップＳ１０６へ進む。
【００５０】
ＣＰＵの負荷率が閾値（５０％）を超えていない場合は（Ｓ１０４：Ｎｏ）、通信特性テーブルに登録されたマルチキャストグループＡの帯域幅ＣＡｗが、通信特性閾値テーブルに登録されたマルチキャストグループＡの帯域幅の閾値Ａｗを超えているか否かを調べる（Ｓ１０５）。つまり、ここでは、監視部１３が測定したマルチキャストグループＡの最新の帯域幅ＣＡｗが閾値Ａｗを超えているか否かを調べる。また、マルチキャストグループの帯域幅が閾値を超えるとは、マルチキャストグループの帯域幅が閾値より狭くなることをいう。閾値Ａｗを超えている場合は（Ｓ１０５：Ｙｅｓ）、ステップＳ１０６へ進む。
【００５１】
ステップＳ１０６にて、ルーティングテーブル管理部１５は、ツリーの枝数を半分に設定して、ステップＳ１０９へ進み、ツリーの再構築を開始する。この際、ツリーの深さは、ツリーの枝数に対応するように更新される。
【００５２】
通信特性テーブルに登録されたマルチキャストグループＡの帯域幅ＣＡｗが閾値Ａｗを超えていない場合は（Ｓ１０５：Ｎｏ）、ルーティングテーブル管理部１５は、通信特性テーブルに登録されたマルチキャストグループＡの通信遅延ＣＡｄが、通信特性閾値テーブルに登録されたマルチキャストグループＡの通信遅延の閾値Ａｄを超えているか否かを調べる（Ｓ１０７）。つまり、ここでは、監視部１３が測定したマルチキャストグループＡの最新の通信遅延ＣＡｄが閾値Ａｄを超えているか否かを調べる。閾値Ａｄを超えている場合は（Ｓ１０７：Ｙｅｓ）、ルーティングテーブル管理部１５は、ツリーの深さを１段深く設定して（Ｓ１０８）、ステップＳ１０９へ進み、ツリーの再構築を開始する。この際、ツリーの枝数は、ツリーの深さに対応するように更新される。
【００５３】
通信特性テーブルに登録されたマルチキャストグループＡの通信遅延ＣＡｄが閾値Ａｄを超えていない場合は（Ｓ１０７：Ｎｏ）、処理を終了する。この場合、一般的なルーティングテーブル１０を用いて、マルチキャストパケットの配信を行う。
【００５４】
なお、本実施形態では、ＣＰＵ負荷率、帯域幅、通信遅延の順に閾値を満たしているか否かを判断しているが、ＣＰＵ負荷率、通信遅延、帯域幅の順に閾値を満たしているか否かを判断してもよい。また、ＣＰＵ負荷率と帯域幅とが閾値を満たしているか否かを判断したり、ＣＰＵ負荷率と通信遅延とが閾値を満たしているか否かを判断したりしてもよい。このように、ＣＰＵ負荷率が閾値を満たしているか否かを最初に調べることで、ルータＲｓが高負荷な状態になることを確実に避けることができる。また、マルチキャストグループ毎に要求する通信特性を満たさない場合は、ルータＲｓは、マルチキャストツリーの再構築を開始するので、マルチキャストグループ毎に要求する通信特性を満たすマルチキャスト配信を行うことができる。
【００５５】
ステップＳ１０９にて、ルーティングテーブル管理部１５は、パケットの送信先ルータＲ１〜Ｒ５を登録した宛先リスト（Ｌｉｓｔ＿ｄｅｓｔ）を作成する。ルーティングテーブル管理部１５は、経路特性テーブルに登録された各仮想経路ａ〜ｃの経路特性（帯域幅、通信遅延）を参照し（Ｓ１１０）、経路特性に基づいて、宛先リストに登録されたルータＲ１〜Ｒ５をソートする（Ｓ１１１）。つまり、ここでは、監視部１３が測定したメッシュ仮想網の各仮想経路の最新の帯域幅と通信遅延とに基づいて、宛先リストに登録されたルータＲ１〜Ｒ５をソートする。また、この際、ルータＲ１〜Ｒ５は、帯域幅が大きい順に、通信遅延が少ない順に、順位が上位に位置づけられる。すなわち、ルータＲｓは、各ルータＲ１〜Ｒ５への仮想経路のうち、余裕のある仮想経路を利用するように選択する。これにより、ルータＲｓから各ルータＲ１〜Ｒ５の仮想経路を構成する実網の帯域負荷を低減することができる。以上より、図４に示すように、ルータＲ１，Ｒ５，Ｒ４，Ｒ２，Ｒ３の順にソートされたルータＲｓの宛先リストが作成される。
【００５６】
以下、説明の簡単化のため、ステップＳ１０１〜Ｓ１０８の処理によりツリーの枝数が２に設定されたものとして説明する。ルーティングテーブル管理部１５は、設定された枝数（２）に宛先リストを分割して（Ｓ１１２）、分割後の宛先リストの先頭アドレス（ルータＲ１，Ｒ５）を次宛先リスト（Ｌｉｓｔ＿ｎｅｘｔｈｏｐ）に登録する（Ｓ１１３）。以上より、図５に示すようなルータＲｓの宛先リストと次宛先リストとが作成される。
【００５７】
ルーティングテーブル管理部１５は、ルーティングテーブル（Ｔａｂｌｅ＿ｎｅｗ）１０に、次宛先リストに登録したアドレス（ルータＲ１，Ｒ５）と、ルータＲ１，Ｒ５とメッシュ仮想網とのインタフェースＩＦ１，ＩＦ５とを登録する（Ｓ１１４）。ルーティングテーブル管理部１５は、リスト情報（宛先リスト、次宛先リスト、ツリーの枝数と深さ）をフォワーディングエンジン１２に出力する。フォワーディングエンジン１２は、インタフェース部１１を介して、次宛先リストに登録されたルータＲ１，Ｒ５にそれぞれのリスト情報を送信する（Ｓ１１５）。以上より、図６に示すようなＲｓのルーティングテーブル１０が作成され、ルータＲ１，Ｒ５のそれぞれに宛先リストと次宛先リストとが送付される。
【００５８】
次に、ルータＲｓからリスト情報を受信したルータＲ１の動作について、図１３を参照して説明する。なお、ルータＲ５の動作については、説明の簡単化のため省略する。図１３に示すように、ルータＲ１のフォワーディングエンジン１２は、インタフェース部１１を介して、リスト情報（宛先リスト、次宛先リスト、ツリーの枝数と深さ）を受信すると、ルーティングテーブル管理部１５へ出力する（Ｓ１１６）。ルーティングテーブル管理部１５は、自装置が記憶するルーティングテーブル１０に送信元アドレス（ルータＲｓ）が登録されているか調べる（Ｓ１１７）。登録されていないので（Ｓ１１７：Ｙｅｓ）、ルーティングテーブル１０に、送信元アドレス（ルータＲｓ）と、ルータＲｓとメッシュ仮想網とのインタフェースＩＦ５とを登録する（Ｓ１１８）。
【００５９】
ルーティングテーブル管理部１５は、自装置が記憶する宛先リストにアドレスが登録されているか否かを調べる（Ｓ１１９）。宛先リストにアドレスが登録されているので（Ｓ１１９：Ｙｅｓ）、ルーティングテーブル管理部１５は、自装置の経路特性テーブルに登録された各仮想経路の経路特性（帯域幅、通信遅延）を参照し（Ｓ１２０）、経路特性に基づいて、宛先リストに登録されたルータＲ２，Ｒ３をソートする（Ｓ１２１）。つまり、ここでは、監視部１３が測定したメッシュ仮想網の各仮想経路の最新の帯域幅と通信遅延とに基づいて、宛先リストに登録されたルータＲ１〜Ｒ５をソートする。また、この際、ルータＲ２，Ｒ３は、帯域幅が大きい順に、通信遅延が少ない順に、順位が上位に位置づけられる。すなわち、ルータＲ１は、各ルータＲ２，Ｒ３への仮想経路のうち、余裕のある仮想経路を利用するように選択する。これにより、ルータＲ１から各ルータＲ２，Ｒ３の仮想経路を構成する実網の帯域負荷を低減することができる。
【００６０】
ルーティングテーブル管理部１５は、宛先リストをツリーの枝数（２）に分割する（Ｓ１２２）。ルーティングテーブル管理部１５は、分割後の宛先リストの先頭アドレス（ルータＲ３，Ｒ２）を次宛先リストに追加する（Ｓ１２３）。ルーティングテーブル管理部１５は、次宛先リストに登録したアドレス（ルータＲ３，Ｒ２）と、ルータＲ３，Ｒ２とメッシュ仮想網とのインタフェースＩＦ２，ＩＦ１とをルーティングテーブル１０に登録する（Ｓ１２４）。以上より、図７に示すようなルータＲ１の宛先リストと次宛先リストとルーティングテーブル１０とが作成される。また、ルータＲ１と同様の手順で、図７に示すようなルータＲ５の宛先リストと次宛先リストとルーティングテーブル１０とが作成される。
【００６１】
ルータＲ１のルーティングテーブル管理部１５は、リスト情報（宛先リスト、次宛先リスト、ツリーの枝数と深さ）をフォワーディングエンジン１２に出力する。フォワーディングエンジン１２は、インタフェース部１１を介して、次宛先リストに登録されたルータＲ３，Ｒ２にリスト情報を送信する（Ｓ１２５）。以上より、図８に示すように、ルータＲ３，Ｒ２のそれぞれに宛先リストと次宛先リストとが送信される。また、ルータＲ１と同様の手順で、図８に示すように、ルータＲ４に宛先リストと次宛先リストとが送信される、つまり、ルータＲｓを頂点ノードとした、片方向のツリーが完成する。
【００６２】
次に、ルータＲ１からリスト情報を受信したルータＲ２の動作について、図１３を参照して説明する。なお、ルータＲ３，Ｒ４の動作については、説明の簡単化のため省略する。図１３に示すように、ルータＲ２のフォワーディングエンジン１２は、インタフェース部１１を介して、リスト情報（宛先リスト、次宛先リスト、ツリーの枝数と深さ）を受信すると、ルーティングテーブル管理部１５へ出力する（Ｓ１１６）。ルーティングテーブル管理部１５は、自装置が記憶するルーティングテーブル１０に送信元アドレス（ルータＲｓ）が登録されているか調べる（Ｓ１１７）。登録されていないので（Ｓ１１７：Ｙｅｓ）、ルーティングテーブル１０に、送信元アドレス（ルータＲ１）と、ルータＲ１とメッシュ仮想網とのインタフェースＩＦ５とを登録する（Ｓ１１８）。
【００６３】
ルーティングテーブル管理部１５は、自装置が記憶する宛先リストにアドレスが登録されているか否かを調べる（Ｓ１１９）。宛先リストにアドレスが登録されていないので（Ｓ１１９：Ｎｏ）、ルーティングテーブル管理部１５は、自装置が頂点ノードか否かを調べる（Ｓ１２６）。ルータＲ２は頂点ノードではないので（Ｓ１２６：Ｎｏ）、ルーティングテーブル管理部１５は、自装置の親アドレス（ルータＲ１）をデフォルト経路として、ルーティングテーブル１０に登録する（Ｓ１２７）。ルーティングテーブル管理部１５は、リスト情報（次宛先リスト）をフォワーディングエンジン１２に出力する。フォワーディングエンジン１２は、インタフェース部１１を介して、自装置の親アドレスのルータＲ１にリスト情報を送信する（Ｓ１２８）。以上より、図９に示すようなルータＲ２のルーティングテーブル１０が完成され、ルータＲ１に次宛先リストが送信される。また、ルータＲ２と同様の手順で、ルータＲ３，Ｒ４のルーティングテーブル１０が作成され、ルータＲ１，Ｒ５に次宛先リストが送信される。
【００６４】
次に、ルータＲ２，Ｒ３からリスト情報（次宛先リスト）を受信したルータＲ１の動作について、図１３を参照して説明する。なお、ルータＲ５の動作については、説明の簡単化のため省略する。図１３に示すように、ルータＲ１のフォワーディングエンジン１２は、インタフェース部１１を介して、リスト情報（次宛先リスト）を受信すると、ルーティングテーブル管理部１５へ出力する（Ｓ１１６）。ルーティングテーブル管理部１５は、自装置が記憶するルーティングテーブル１０に送信元アドレス（ルータＲ２，Ｒ３）が登録されているか調べる（Ｓ１１７）。登録されているので（Ｓ１１７：Ｙｅｓ）、ルーティングテーブル管理部１５は、自装置が記憶する宛先リストにアドレスが登録されているか否かを調べる（Ｓ１１９）。宛先リストにアドレスが登録されていないので（Ｓ１１９：Ｎｏ）、ルーティングテーブル管理部１５は、自装置が頂点ノードか否かを調べる（Ｓ１２６）。ルータＲ１は頂点ノードではないので（Ｓ１２６：Ｎｏ）、ルーティングテーブル管理部１５は、自装置の親アドレス（ルータＲｓ）をデフォルト経路として、ルーティングテーブル１０に登録する（Ｓ１２７）。ルーティングテーブル管理部１５は、リスト情報（次宛先リスト）をフォワーディングエンジン１２に出力する。フォワーディングエンジン１２は、インタフェース部１１を介して、自装置の親アドレスのルータＲｓにリスト情報を送信する（Ｓ１２８）。以上より、図１０に示すようなルータＲ１のルーティングテーブル１０が完成され、ルータＲｓに次宛先リストが送信される。また、ルータＲ１と同様の手順で、図１０に示すようなルータＲ５のルーティングテーブル１０が作成され、ルータＲｓに次宛先リストが送信される。
【００６５】
次に、ルータＲ１，Ｒ５からリスト情報（次宛先リスト）を受信したルータＲｓの動作について、図１３を参照して説明する。図１３に示すように、ルータＲｓのフォワーディングエンジン１２は、インタフェース部１１を介して、リスト情報（次宛先リスト）を受信すると、ルーティングテーブル管理部１５へ出力する（Ｓ１１６）。ルーティングテーブル管理部１５は、自装置が記憶するルーティングテーブル１０に送信元アドレス（ルータＲ１）が登録されているか調べる（Ｓ１１７）。登録されているので（Ｓ１１７：Ｙｅｓ）、ルーティングテーブル管理部１５は、自装置が記憶する宛先リストにアドレスが登録されているか否かを調べる（Ｓ１１９）。宛先リストにアドレスが登録されていないので（Ｓ１１９：Ｎｏ）、ルーティングテーブル管理部１５は、自装置が頂点ノードか否かを調べる（Ｓ１２６）。ルータＲｓは頂点ノードなので（Ｓ１２６：Ｙｅｓ）、ルーティングテーブル管理部１５は、次宛先リストに登録されたアドレスをルーティングテーブル１０へ登録する（Ｓ１２９）。以上より、図１１に示すようなルータＲｓのルーティングテーブル１０が完成される。
【００６６】
以上で、ルータＲｓからマルチキャスト配信する際に利用する各ルータＲのルーティングテーブル１０が完成する。つまり、ルータＲｓを頂点ノードとした、両方向のツリーが完成する。すなわち、ルータＲｓからマルチキャスト配信時に利用する、各ルータＲのルーティングテーブル１０が完成する。ルータＲｓは、完成したルーティングテーブル１０に基づいて、パケットの配信を行う。
【００６７】
なお、本実施形態では、６台のルータＲによりメッシュ仮想網が形成されたが、これに限らず、複数台のルータＲによりメッシュ仮想網が形成されればよい。また、他のマルチキャストツリーを構成するルータＲに接続されてもよい。更に、本実施形態では、各ルータＲに１台の通信機器ＰＣが接続されたが、これに限らず、各ルータＲに複数台の通信機器ＰＣが接続されてもよい。
【００６８】
以上より、本実施形態に係るマルチキャスト配信システムでは、メッシュ仮想網において、マルチキャスト配信を行う際に、マルチキャストグループ毎に閾値が設けられ、マルチキャストグループの通信特性が閾値を超える場合に、メッシュ仮想網の経路特性に基づいてツリーが再構築される。これにより、マルチキャストグループに対応するルーティングテーブル１０が生成される。このため、マルチキャスト配信システムは、マルチキャストグループが要求する通信特性に応じたマルチキャスト配信を行うことができる。
【００６９】
また、マルチキャストグループが要求する通信特性に応じたルーティングテーブル１０を利用すると、マルチキャスト配信を行うルータＲｓを頂点ノードとして、他のルータＲ１〜Ｒ５を仮想的にツリー状に配置して、親ノードに設定されたルータから子ノードに設定されたルータへと順にパケットを配信する。これにより、マルチキャストパケットの配信を行うルータＲｓから他のルータＲ１〜Ｒ５へ直接パケットを配信しないので、マルチキャストパケットの配信を行うルータＲｓのＣＰＵ負荷を減少することができる。
【００７０】
更に、マルチキャストパケットの配信を行うルータＲｓのＣＰＵ負荷を減少させ、マルチキャストパケットを配信するルータＲからの実網の帯域負荷を低減することができる。これにより、ルータＲｓのＣＰＵ負荷が増加したり、ルータＲからの実網の帯域負荷が増加したりした場合にも、ルータＲｓのＣＰＵ増設や、実網の帯域を広げる等のハードウェアの増強をせずに、マルチキャストパケットの配信経路を変更することで、マルチキャストグループが要求する通信特性を満たすマルチキャスト配信を行うことができる。このため、不要な設備投資を抑制することができ、マルチキャスト配信のスケーラビリティを確保することができる。
【００７１】
加えて、一般的に、他のルータＲ１〜Ｒ５からの新たなパケット送信等により、メッシュ仮想網を通過するパケット数等が増加して帯域幅が狭くなると、ルータＲから配信するパケットの破棄による通信遅延が生じる。しかしながら、本実施形態に係るルータＲでは、ルーティングテーブル１０の再生成を定期的に行うので、マルチキャストパケットを破棄することなく配信を行うことができる。
【００７２】
また、本実施形態に係るルータＲでは、ルーティングテーブル１０をルータＲｓから他のルータＲ１〜Ｒ５へ直接マルチキャストパケットを配信するようなデフォルトのルーティングテーブル１０に定期的にリセットする。そして、ルータＲは、マルチキャスト配信時、通信特性の閾値を満たすか否かを判断し、ルーティングテーブル１０を再生成する。これにより、メッシュ仮想網に一時的に通過するパケット数が増加して通信遅延が発生した場合であっても、通信遅延が解消すると、通信経路を変更して、マルチキャストパケットの配信を行うことができる。このように、メッシュ仮想網の経路特性に応じて、ルーティングテーブル１０を変更することができるので、ルータＲは、メッシュ仮想網の経路特性に応じて、マルチキャストグループの要求する通信特性に応じた通信経路を選択して、マルチキャストパケットの配信を行うことができる。
【図面の簡単な説明】
【００７３】
【図１】メッシュ仮想網に接続された複数のルータ間のマルチキャスト配信に関する説明図である。
【図２】ルータの機能構成を示すブロック図である。
【図３】探索用データベースの説明図である。
【図４】ツリーが再構築されていきながら、各ルータＲにおいてルーティングテーブルが再生成されていく手順を示す図である。
【図５】ツリーが再構築されていきながら、各ルータＲにおいてルーティングテーブルが再生成されていく手順を示す図である。
【図６】ツリーが再構築されていきながら、各ルータＲにおいてルーティングテーブルが再生成されていく手順を示す図である。
【図７】ツリーが再構築されていきながら、各ルータＲにおいてルーティングテーブルが再生成されていく手順を示す図である。
【図８】ツリーが再構築されていきながら、各ルータＲにおいてルーティングテーブルが再生成されていく手順を示す図である。
【図９】ツリーが再構築されていきながら、各ルータＲにおいてルーティングテーブルが再生成されていく手順を示す図である。
【図１０】ツリーが再構築されていきながら、各ルータＲにおいてルーティングテーブルが再生成されていく手順を示す図である。
【図１１】ツリーが再構築されていきながら、各ルータＲにおいてルーティングテーブルが再生成されていく手順を示す図である。
【図１２】ツリーを再構築しながらルーティングテーブルを再生成していく手順を示す図である。
【図１３】ツリーを再構築しながらルーティングテーブルを再生成していく手順を示す図である。
【符号の説明】
【００７４】
１０−ルーティングテーブル，１１−インタフェース部，１２−フォワーディングエンジン，１３−監視部，１４−探索用ＤＢ，１５−ルーティングテーブル管理部，Ｒ（Ｒｓ，Ｒ１〜Ｒ５）−ルータ，ＩＦ（ＩＦ１〜ＩＦ５）−インタフェース，ＰＣ（ＰＣｓ，ＰＣ１〜ＰＣ５）−通信機器
【図１】
2008263449.tif 000003
【図２】
2008263449.tif 000004
【図３】
2008263449.tif 000005
【図４】
2008263449.tif 000006
【図５】
2008263449.tif 000007
【図６】
2008263449.tif 000008
【図７】
2008263449.tif 000009
【図８】
2008263449.tif 000010
【図９】
2008263449.tif 000011
【図１０】
2008263449.tif 000012
【図１１】
2008263449.tif 000013
【図１２】
2008263449.tif 000014
【図１３】
2008263449.tif 000015