(57)【要約】【課題】リングネットワークにおける障害発生時にマルチキャストデータの経路を迅速に切替えて効率良くマルチキャスト中継を行なうノード装置および通信システムを得ること。【解決手段】リングネットワーク上で、現用リングノードまたは待機リングノードとして動作するノード装置において、自身が待機リングノードとして動作する場合に、現用リングノードに障害が発生する前からデータ中継を行なうためのメッセージをスヌープしデータ中継情報として学習する学習部１４と、現用リングノードとして動作するか待機リングノードとして動作するかの切替えを制御する現用／待機切替部１６と、を備え、現用／待機切替部１６は、自身が待機リングノードとして動作する場合に現用リングノードに障害が発生すると、学習部１４が学習したデータ中継情報に基づいて、自身を現用リングノードに切替える。【選択図】        図２
2007228293.tif 000002
【特許請求の範囲】
【請求項１】
上位通信ネットワークと下位通信ネットワークとに接続されるリングネットワーク上で、前記下位通信ネットワークとの間のデータ中継を行なう現用リングノードまたは前記現用リングノードに障害が発生した際には前記現用リングノードに替わって前記下位通信ネットワークとの間のデータ中継を行なう待機リングノードとして動作するとともに前記現用リングノードとして動作する場合には他のノード装置と組み合わされて前記上位通信ネットワークおよび前記下位通信ネットワークの間のデータ中継を行なうノード装置において、
前記上位通信ネットワークから前記下位通信ネットワークへのマルチキャストデータの経路を決定する際に前記上位通信ネットワークと下位通信ネットワークとの間で送受信されるマルチキャストグループ管理プロトコルに基づいたメッセージの転送制御を行なう転送制御部と、
自身が前記待機リングノードとして動作する場合に、前記現用リングノードとして動作するノード装置に障害が発生する前から前記メッセージをスヌープして前記マルチキャストデータの送受信に関するデータ中継情報を学習する学習部と、
前記現用リングノードとして動作するか前記待機リングノードとして動作するかの切替えを制御する切替制御部と、
を備え、
前記切替制御部は、自身が前記待機リングノードとして動作する場合に前記現用リングノードとして動作するノード装置に障害が発生すると、前記学習部が学習したデータ中継情報に基づいて、自身が前記待機リングノードから前記現用リングノードとして動作するよう切替えることを特徴とするノード装置。
【請求項２】
前記学習部は、前記メッセージをスヌープする際、前記マルチキャストデータの送信先となるマルチキャストのグループアドレスと前記下位通信ネットワークに対して待機中に設定されているポートとの対応付けをデータ中継情報として学習し、
前記切替制御部は、自身が前記待機リングノードから前記現用リングノードとして動作するよう切替える際には、前記待機中に設定されているポートを現用に設定して前記マルチキャストデータの送信を行なうよう制御することを特徴とする請求項１に記載のノード装置。
【請求項３】
自身が前記現用リングノードとして動作する場合、
前記転送制御部は、前記下位通信ネットワークから前記上位通信ネットワークへ送信されるメッセージでマルチキャストグループへの加入要求を示す加入要求メッセージをリングネットワーク内へ転送する際に、前記加入要求メッセージを受信したポートに関する情報を当該加入要求メッセージに付加して前記リングネットワークへ転送することを特徴とする請求項１または２に記載のノード装置。
【請求項４】
自身が前記待機リングノードとして動作する場合、
前記学習部は、何れのポートから前記メッセージを受信したかに基づいて受信したメッセージの学習が必要か否かを判断し、学習の必要なポートから前記メッセージを受信した場合に前記データ中継情報を学習することを特徴とする請求項１〜３のいずれか１つに記載のノード装置。
【請求項５】
上位通信ネットワーク、下位通信ネットワークおよび前記上位通信ネットワークおよび前記下位通信ネットワークとのデータ中継を行なうリングネットワークを有するとともに、前記下位通信ネットワークとの間のデータ中継を行なう現用リングノードと前記現用リングノードに障害が発生した際には前記現用リングノードに替わって前記下位通信ネットワークとの間のデータ中継を行なう待機リングノードとを相互に切替えながら動作する２つのノード装置および前記上位通信ネットワークと接続する他のノード装置を前記リングネットワーク内に有する通信システムにおいて、
前記２つのノード装置のそれぞれは、
前記上位通信ネットワークから前記下位通信ネットワークへのマルチキャストデータの経路を設定する際に前記上位通信ネットワークと下位通信ネットワークとの間で送受信されるマルチキャストグループ管理プロトコルに基づいたメッセージの転送制御を行なう転送制御部と、
自身が前記待機リングノードとして動作する場合に、前記現用リングノードとして動作するノード装置に障害が発生する前から前記メッセージをスヌープして前記マルチキャストデータの送受信に関するデータ中継情報を学習する学習部と、
前記現用リングノードとして動作するか前記待機リングノードとして動作するかの切替えを制御する切替制御部と、
を備え、
前記切替制御部は、自身が前記待機リングノードとして動作する場合に前記現用リングノードとして動作するノード装置に障害が発生すると、前記学習部が学習したデータ中継情報に基づいて、自身が前記待機リングノードから前記現用リングノードとして動作するよう切替えることを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リングネットワーク上でマルチキャストデータの転送を行なうノード装置および通信システムに関するものである。
【背景技術】
【０００２】
上位に位置するネットワークが、下位に位置するネットワークに対して信頼性の高い伝送を提供するために、複数のノード（ノード装置）を下位に位置するネットワークに接続して通信経路を冗長構成にする方法がある。この方法の場合、レイヤ２やレイヤ３の経路選択プロトコルなどを利用した障害切替えを行なうことが一般的であった。しかし、これらのプロトコルを利用する場合、経路情報や状態監視情報の送信間隔が数秒から数十秒に及ぶこともあり、障害が発生した際の経路変更が数秒から数十秒のオーダになるといった問題点があった。
【０００３】
この問題点に対して、２つ以上のノードを組み合わせて、１つのノードを現用系（もしくはマスタ）ノード、それ以外を待機系（もしくは予備系、バックアップ、スレーブ）ノードとした冗長化構成をとり、それぞれのノードに冗長化制御部を持ち、お互いのノード間で生存情報を巡回させ、生存情報に基づいて、自ノードを現用系や待機系に高速に切替える方法が提案されている（例えば特許文献１参照）。
【０００４】
ところで、インターネットプロトコル（ＩＰ）レイヤのマルチキャストデータを、例えばＥｔｈｅｒｎｅｔ（登録商標）に代表されるＯＳＩ（Open Systems Interconnection）参照モデルのレイヤ２で中継する際に、従来ではレイヤ２中継装置がマルチキャストデータを受信ポート以外の全てのポートにマルチキャスト転送していた。この方法では、不要なマルチキャストデータが転送されるといった問題があった。そこで、中継装置がＩＰレイヤで送受信されるマルチキャストグループ管理プロトコル（例えばＩＧＭＰｖ３）を覗き見（スヌーピング：snooping）して、自装置が中継すべきマルチキャストアドレスを学習し、必要なマルチキャストデータのみを中継する方法がある（例えば非特許文献１参照）。
【０００５】
【特許文献１】特開２００５−１３００４９号公報
【非特許文献１】ＩＥＴＦ  Ｉｎｔｅｒｎｅｔ  Ｄｒａｆｔ："Ｃｏｎｓｉｄｅｒａｔｉｏｎｓ  ｆｏｒ  ＩＧＭＰ  ａｎｄ  ＭＬＤ  Ｓｎｏｏｐｉｎｇ  Ｓｗｉｔｃｈｅｓ"ｄｒａｆｔ−ｉｅｔｆ−ｍａｇｍａ−ｓｎｏｏｐ−１２．ｔｘｔ
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記前者の従来技術では、冗長構成を提供するノードであっても、下位ネットワークに対してレイヤ２で中継を行っている待機系ノードは、待機中に自身の待機ポート以降に接続されている端末アドレスや、他ノードの下位ネットワークに接続されている端末アドレスを学習する機能が無い。このため、現用系ノードが何らかの障害で待機系ノードに切り替わった場合、上述の端末アドレスの学習が完了するまで、下位ネットワークに無駄なトラフィックをフラッディングしてしまうという問題があった。
【０００７】
また、上記後者の従来技術では、ＲＰＲノードが提供する現用機能および待機機能による冗長構成において、冗長機能を提供するＲＰＲネットワークとは異なる他のノードやＲＰＲネットワークの上位ネットワークにマルチキャストルータが存在し、下位ネットワークにマルチキャスト受信端末が存在する場合、現用系ノードと待機系ノードがスヌーピングスイッチの機能を持っていたとしても、切替え後にこれらの学習を行っていると、不要なポートにまでマルチキャストデータを中継してしまい、効率的なマルチキャスト中継が行えないといった問題点があった。
【０００８】
本発明は、上記に鑑みてなされたものであって、リングネットワークにおいて、マルチキャストデータの経路を迅速に切替えるとともに、障害による経路切替え直後であっても効率良くマルチキャスト中継を行なうノード装置および通信システムを得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、上位通信ネットワークと下位通信ネットワークとに接続されるリングネットワーク上で、前記下位通信ネットワークとの間のデータ中継を行なう現用リングノードまたは前記現用リングノードに障害が発生した際には前記現用リングノードに替わって前記下位通信ネットワークとの間のデータ中継を行なう待機リングノードとして動作するとともに前記現用リングノードとして動作する場合には他のノード装置と組み合わされて前記上位通信ネットワークおよび前記下位通信ネットワークの間のデータ中継を行なうノード装置において、前記上位通信ネットワークから前記下位通信ネットワークへのマルチキャストデータの経路を設定する際に前記上位通信ネットワークと下位通信ネットワークとの間で送受信されるマルチキャストグループ管理プロトコルに基づいたメッセージの転送制御を行なう転送制御部と、自身が前記待機リングノードとして動作する場合に、前記現用リングノードとして動作するノード装置に障害が発生する前から前記メッセージをスヌープして前記マルチキャストデータの送受信に関するデータ中継情報を学習する学習部と、前記現用リングノードとして動作するか前記待機リングノードとして動作するかの切替えを制御する切替制御部と、を備え、前記切替制御部は、自身が前記待機リングノードとして動作する場合に前記現用リングノードとして動作するノード装置に障害が発生すると、前記学習部が学習したデータ中継情報に基づいて、自身が前記待機リングノードから前記現用リングノードとして動作するよう切替えることを特徴とする。
【発明の効果】
【００１０】
この発明によれば、自身が前記待機リングノードとして動作する場合に、現用リングノードとして動作するノード装置に障害が発生する前からメッセージをスヌープしてデータ中継情報を学習するので、リングネットワークにおいてマルチキャストデータの経路を迅速に切替えることができ、現用リングノードの障害による経路切替え直後であっても効率良くマルチキャスト中継を行なうことが可能になるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明にかかるノード装置および通信システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態１．
図１は、本発明にかかる通信システムの実施の形態１の構成を示す図である。通信システム１００は、マルチキャストサーバ３００、カメラ３０１、マルチキャストルータ５０、リングノード３０、現用リングノード１０、待機リングノード２０、Ｌ２スイッチ４０、マルチキャスト受信端末２００，２０１を備えて構成されている。
【００１３】
このうち、リングノード３０、現用リングノード１０、待機リングノード２０は、リング状に接続されリングネットワーク１を構成している。リングネットワーク１は、下位ネットワーク２に冗長構成（冗長経路）を提供するＲＰＲ（Resilient Packet Ring）ネットワークである。現用リングノード１０および待機リングノード２０がＬ２スイッチ４０に接続（二重化）されて下位ネットワーク２を構成し、これにより、リングネットワーク１と下位ネットワーク２を冗長に接続している。
【００１４】
また、リングノード３０とマルチキャストルータ５０が接続されて上位ネットワーク３を構成し、これにより、リングネットワーク１と上位ネットワーク３を接続している。ここでの下位ネットワーク２はリングネットワーク１に接続されている下位側の通信ネットワークであり、上位ネットワーク３はリングネットワーク１の上位側に位置する通信ネットワークである。現用リングノード１０は、リングノード３０と組み合わされて上位ネットワーク２および下位ネットワーク３の間のデータ中継を行なう。
【００１５】
上位ネットワーク３、リングネットワーク１、下位ネットワーク２は、全てＯＳＩ（Open Systems Interconnection）参照モデルのレイヤ２（例えば、Ｅｔｈｅｒｎｅｔ（登録商標）のレベル）でデータ中継を行なう。
【００１６】
マルチキャストサーバ３００とカメラ３０１は、上位ネットワーク３内のマルチキャストルータ５０に接続され、マルチキャスト受信端末２００，２０１は下位ネットワーク２内のＬ２スイッチ４０に接続されている。
【００１７】
Ｌ２スイッチ４０は、特殊な機能を持たない一般的なレイヤ２スイッチである。マルチキャスト受信端末２００，２０１は、マルチキャスト送信によって配信されるマルチキャストデータを受信する通信端末であり、一般的なマルチキャストグループ管理プロトコル（例えばＩＧＭＰ（Internet Group Management Protocol））のやり取りを行なう機能を有している。
【００１８】
通信システム１００内のマルチキャストサーバ３００、マルチキャストルータ５０、リングノード３０、現用リングノード１０、待機リングノード２０、Ｌ２スイッチ４０、マルチキャスト受信端末２００，２０１は、例えばパーソナルコンピュータ等のコンピュータ装置によって構成されている。
【００１９】
マルチキャストルータ５０は、マルチキャスト対応ルータであり、一般的なマルチキャストルーティングプロトコル（例えばＰＩＭ−ＳＭ（Protocol Independent Multicast-Sparse Mode））を実行する機能や、一般的なマルチキャストグループ管理プロトコルを実行する機能を有している。
【００２０】
現用リングノード１０は、現用のリングノードとして機能するとともに、必要に応じて所定のタイミング（障害発生時）で待機用のリングノードに切り替わる機能を有している。また、待機リングノード２０は、待機用のリングノードとして機能するとともに、必要に応じて所定のタイミング（現用リングノード１０の障害発生時）で現用のリングノードに切り替わる機能を有している。
【００２１】
すなわち、ここでの現用リングノード１０、待機リングノード２０は何れか一方が現用のリングノードとなり、他方が待機用のリングノードとなる。換言すると、現用リングノード１０、待機リングノード２０は、下位ネットワーク２と冗長経路を構成する１対の二重化リングノード装置であり、１対の二重化リングノード装置の少なくとも一方（現用ノード側）が下位ネットワーク２との間のデータ中継を行なう。そして、１対の二重化リングノード装置の一方（現用ノード側）に回線障害などが発生すると、対を構成する二重化リングノード装置の他方（待機ノード側）が、現用ノード側と下位ネットワーク２との間の通信を代行してデータ中継の経路を変更する。
【００２２】
ここで、現用リングノード１０、待機リングノード２０の構成について説明する。なお、現用リングノード１０、待機リングノード２０は同様の構成を有するので、ここでは待機リングノード２０を例にとって説明する。
【００２３】
図２は、待機リングノードの構成を示すブロック図である。待機リングノード２０は、制御部１１、通信部１２、記憶部１３、学習部１４、転送制御部１５、現用／待機切替部１６を備えている。
【００２４】
通信部１２は、リングネットワーク１内のリングノード３０や下位ネットワーク２内のＬ２スイッチ４０とデータ通信を行なう。通信部１２には、接続先に対応した複数のポートが設定されている。
【００２５】
学習部１４は、マルチキャスト関連データ（後述の問い合わせメッセージ、加入要求メッセージ）の覗き見（スヌープ）と学習を行なう。学習部１４は、マルチキャストルータ５０の接続位置やマルチキャスト受信端末２００，２０１の接続位置を学習する（データ中継情報の学習）。学習部１４は、例えば加入要求メッセージを覗き見して、マルチキャスト受信端末２００，２０１が要求しているマルチキャストデータを送信するのは自装置が現用であればＬ２スイッチ４０と接続されているポートであるということを学習する。
【００２６】
記憶部１３は、学習部１４が学習した情報、冗長の設定に関する情報などを記憶する。記憶部１３は、後述するマルチキャストルータリスト９０、自ポートリスト９２、マルチキャストグループリスト９３、冗長ノードリスト９４、出力ポートリスト９５、トポロジテーブル９６を記憶する。
【００２７】
転送制御部１５は、記憶部１３内の情報に基づいて、マルチキャスト関連データの中継の有無を判定し、必要に応じてマルチキャスト関連データの中継（転送）を制御する。現用／待機切替部１６は、ＲＰＲの障害検出を行なう機能、リングノードの現用と待機を切替える機能を備えている。現用／待機切替部１６は、学習部１４が学習した情報に基づいて、待機用のリングノードから現用用のリングノードに切替える。制御部１１は、通信部１２、記憶部１３、学習部１４、転送制御部１５、現用／待機切替部１６を制御する。
【００２８】
なお、現用リングノード１０は、待機リングノード２０と異なり、記憶部１３に自ポートリスト９２の代わりに後述する自ポートリスト９１を記憶している。また、実施の形態１では、現用リングノード１０や待機リングノード２０が現用のリングノードとして動作している場合であっても、学習部１４がマルチキャスト関連データの覗き見と学習を行なう。
【００２９】
次に、通信システム１００の動作手順について説明する。図３〜５は、実施の形態１に係る通信システムの動作手順を説明するための図である。まず、マルチキャストルータ５０から送信される問い合わせ用メッセージ（マルチキャスト加入者問い合わせメッセージ）が中継される手順（図３）を説明し、次にマルチキャスト受信端末２００，２０１から送信された要求メッセージ（マルチキャストグループ加入要求）が中継される手順（図４）を説明し、その次にマルチキャストデータがマルチキャスト受信端末２００，２０１まで中継される手順（図５）を説明する。
【００３０】
図３は、実施の形態１に係る通信システムにおいて、マルチキャストルータから送信される問い合わせ用メッセージが中継される手順を説明するための図である。マルチキャストルータ５０からマルチキャスト受信端末２００，２０１へ送信される問い合わせメッセージは、リングノード３０、現用リングノード１０、待機リングノード２０、マルチキャスト受信端末２００，２０１にマルチキャストルータ５０の存在を認識させるためのマルチキャスト加入者問い合わせメッセージ（例えば、ＩＧＭＰプロトコルのＭｅｍｂｅｒｓｈｉｐ  Ｑｕｅｒｙ）である。
【００３１】
現用リングノード１０と待機リングノード２０は、それぞれ現用ノード、待機ノードとして下位ネットワーク２に対してデータの中継動作を行なうよう予め設定しておく。なお、現用リングノード１０と待機リングノード２０は、リングネットワーク１に対しては、何れも通常のＲＰＲノードとして動作する。
【００３２】
図３において、マルチキャストルータ５０は、定期的に（所定の周期で）マルチキャスト通信の加入者への問い合わせ用メッセージ（マルチキャスト加入者問い合わせメッセージ）（以下、問い合せメッセージという）を送信する。
【００３３】
この問い合せメッセージは、マルチキャストルータ５０からマルチキャストアドレス宛に送信される。リングノード３０は、この問い合わせメッセージを受信し、受信した問い合わせメッセージをリングネットワーク１内に転送する。
【００３４】
リングネットワーク１では、全てのリングノード（ここではリングノード３０、現用リングノード１０、待機リングノード２０）にデータが到達するよう、リングネットワーク１外から受信したデータはリングネットワーク１内にフラッディングされる。ここでは、リングノード３０から送信される問い合わせメッセージが、現用リングノード１０、待機リングノード２０に送信される。
【００３５】
ここで、二重化されている現用リングノード１０と待機リングノード２０の動作を詳細に説明する。なお、現用リングノード１０、待機リングノード２０は、それぞれポート番号「０」がリングネットワーク１側のポートであり、ポート番号「１」が下位ネットワーク２側のポートである場合について説明する。
【００３６】
マルチキャストルータ５０から問い合わせメッセージを初めて受信した現用リングノード１０および待機リングノード２０は、受信した問い合わせメッセージ内のマルチキャストルータ５０の送信元アドレスを用いて後述のマルチキャストルータリスト９０を検索する。
【００３７】
このマルチキャストルータリスト９０は、マルチキャストルータを管理するための情報（マルチキャストルータのアドレスと出力ポートの対応付け）であり、現用リングノード１０および待機リングノード２０の記憶部１１に記憶されているものである。
【００３８】
マルチキャストルータリスト９０は、マルチキャスト受信端末２００，２０１から後述の加入要求メッセージを受信した際に参照され、マルチキャストルータリスト９０に基づいて加入要求メッセージが転送される。
【００３９】
ここでの現用リングノード１０および待機リングノード２０（制御部１１）は、問い合わせメッセージを初めて受信したので、マルチキャストルータリスト９０内からマルチキャストルータ５０の送信元アドレスを検索することはできない。現用リングノード１０および待機リングノード２０の学習部１４は、マルチキャストルータリスト９０内に、新たなマルチキャストルータ５０のエントリ（ルータアドレスなど）を作成する。
【００４０】
図６は、マルチキャストルータリストの構成の一例を示す図である。マルチキャストルータリスト９０は、問い合わせメッセージを送信してきたマルチキャストルータのアドレス（送信元アドレス）、問い合わせメッセージを受信したポートのポート番号、問い合わせメッセージを送信してきたマルチキャストルータが動作しているか否かを監視するためのタイマ（問い合わせ受信待ちタイマ）が対応付けられた情報テーブルである。
【００４１】
ここでは、問い合わせメッセージを送信してきたマルチキャストルータのアドレスとしてマルチキャストルータ５０のアドレス、問い合わせメッセージを受信したポートであるリングネットワーク１のポート番号「０」を登録する。
【００４２】
問い合わせ受信待ちタイマは、マルチキャストルータの定期的な問い合わせメッセージを監視することで、マルチキャストルータが動作しているか否かを監視するためのタイマである。問い合わせ受信待ちタイマには、マルチキャストルータの定期的な問い合わせメッセージを受信するまでの待ち時間（タイマ値）（例えば１２０秒）を設定する。
【００４３】
現用リングノード１０、待機リングノード２０の学習部１４は、マルチキャストルータから問い合わせメッセージを受信するたびに、このタイマ値を初めて受信した時に設定した値（初期値）に戻す。このタイマ時間が満了すると、マルチキャストルータリスト９０に登録しておいたマルチキャストルータに関する情報をマルチキャストルータリスト９０内から削除する。なお、マルチキャストルータリスト９０へは、例えばマルチキャストルータの監視に用いるタイマの番号やアドレスなどを登録しておいてもよい。
【００４４】
現用リングノード１０および待機リングノード２０（学習部１４）は、マルチキャストルータリスト９０内に、新たなマルチキャストルータ５０のエントリを作成すると、受信した問い合わせメッセージを送信するために、後述の自ポートリスト９１，９２から出力ポートの状態を調査する。
【００４５】
ここで、現用リングノード１０が記憶部１３に記憶する自ポートリスト９１、待機リングノード２０が記憶部１３に記憶する自ポートリスト９２について説明する。自ポートリスト９１，９２は、自ノードのポート番号と接続先に関する情報の対応付けを示す情報リストである。
【００４６】
図７は、現用リングノードが備える自ポートリストの一例を示す図である。現用リングノード１０が備える自ポートリスト９１は、ポート番号、ネットワーク種別、冗長であるか否かの情報、現用であるか待機であるかの情報、冗長相手のＲＰＲアドレス、冗長相手のポート番号が対応付けられた情報テーブルである。
【００４７】
ネットワーク種別は、ポート番号に対応するネットワークの種別である。ここでは、ポート番号「０」はＲＰＲに対応し、ポート番号「１」はＥｔｈｅｒｎｅｔ（登録商標）に対応する場合を示している。
【００４８】
冗長であるか否かの情報は、ポート番号に対応する接続が冗長接続であるか否かを示す情報でありる。ここでは、ポート番号「０」が非冗長（ｎｏ）であり、ポート番号「１」が冗長（ｙｅｓ）である場合を示している。
【００４９】
冗長相手のＲＰＲアドレスは、冗長接続されている相手先のＲＰＲアドレスを示す情報である。ここでは、ポート番号「１」の冗長相手ＲＰＲアドレスとして、待機リングノード２０のノードアドレスが登録されている場合を示している。
【００５０】
現用であるか待機であるかの情報は、自ノードが現用として機能しているか、待機として機能しているかを示す情報である。ここでは、現用リングノード１０が現用として機能しているので、「現用」が登録されている。
【００５１】
冗長相手のポート番号は、自ノードと接続する冗長相手（待機リングノード２０）のポート番号を示す情報である。ここでは、自ノード（現用リングノード１０）のポート番号「１」と待機リングノード２０のポート番号「１」が対応することを示している。
【００５２】
図８は、待機リングノードが備える自ポートリストの一例を示す図である。待機リングノード２０が備える自ポートリスト９２は、自ポートリスト９１と同様に、ポート番号、ネットワーク種別、冗長であるか否かの情報、現用であるか待機であるかの情報、冗長相手のＲＰＲアドレス、冗長相手のポート番号が対応付けられた情報テーブルである。
【００５３】
ネットワーク種別として、ポート番号「０」はネットワーク種別のＲＰＲに対応し、ポート番号「１」はネットワーク種別のＥｔｈｅｒｎｅｔ（登録商標）に対応する場合を示している。また、ポート番号「０」が非冗長（ｎｏ）であり、ポート番号「１」が冗長（ｙｅｓ）である場合を示している。
【００５４】
また、ポート番号「１」の冗長相手ＲＰＲアドレスは現用リングノード１０のノードアドレスであり、待機リングノード２０が待機用として機能しているので、現用であるか待機であるかの情報は「待機」であり、自ノード（待機リングノード２０）と接続する冗長相手（現用リングノード１０）のポート番号が「１」である場合を示している。すなわち、自ノード（待機リングノード２０）のポート番号「１」と現用リングノード１０のポート番号「１」が対応することを示している。
【００５５】
現用リングノード１０、待機リングノード２０は、それぞれ自ポートリスト９１，９２に基づいて、問い合わせメッセージを受信したポートおよび「待機」と設定されているポート以外の全てのポートに問い合わせメッセージを転送する。
【００５６】
ここでの待機リングノード２０（転送制御部１５）は、リングネットワーク１と接続するポート（問い合わせメッセージを受信したポート）と、現用リングノード１０と冗長化しているポート（「待機」に設定されたポート）しか有していないため、受信した問い合わせメッセージを何れにも転送せず廃棄する。
【００５７】
現用リングノード１０（転送制御部１５）は、現用として動作しているため、リングノード３０から受信した問い合わせメッセージを下位ネットワーク２（Ｌ２スイッチ４０）にも中継し、それと同時に学習部１４がマルチキャストルータ５０の存在位置を学習する。
【００５８】
すなわち、現用リングノード１０は、問い合わせメッセージを受信したポート（リングネットワーク１と接続するポート）以外のポートで、待機と設定されていないポートとして現用のポート（ポート番号「１」）で問い合わせメッセージを転送（中継）する。これにより、Ｌ２スイッチ４０に問い合わせメッセージが送信される。
【００５９】
ここでの現用リングノード１０の学習部１４は、問い合わせメッセージの受信ポートに基づいて、マルチキャストルータ５０がリングネットワーク１側に存在することまたはリングノード３０に接続されているリングネットワーク１以外のネットワークに存在することを学習する。すなわち、学習部１４は、問い合わせメッセージをリングノード３０から受信し、この問い合わせメッセージに待機リングノード２０のアドレスが付加されていないので、自ノードが接続する下位ネットワーク２から問い合わせメッセージを受信していないことを学習する。この後、現用リングノード１０は、問い合わせメッセージを廃棄する。
【００６０】
Ｌ２スイッチ４０は、一般的なレイヤ２スイッチであるので、問い合わせメッセージを受信した現用リングノード１０と接続しているポート以外の全てのポートに、当該問い合わせメッセージををマルチキャスト送信する。そのため、Ｌ２スイッチ４０からマルチキャスト送信される問い合わせメッセージは、マルチキャスト受信端末２００，２０１とともに待機リングノード２０にも送信される。
【００６１】
待機リングノード２０（学習部１４）は、待機用のノード装置であるため（自ポートリスト９２の現用／待機の設定が待機であるため）、冗長経路を提供するＬ２スイッチ４０と接続されているポートから受信した問い合わせメッセージには、何れの処理も行なわず廃棄する。すなわち、待機リングノード２０の学習部１４は、何れのポートから問い合わせメッセージを受信したかに基づいて受信した問い合わせメッセージの学習が必要か否かを判断し、学習の必要なポート（冗長経路を提供しない装置）から問い合わせメッセージを受信した場合に問い合わせメッセージに基づいた学習を行なう。マルチキャスト受信端末２００，２０１は、Ｌ２スイッチ４０によって中継された問い合わせメッセージを受信し、マルチキャストルータ５０の存在を確認する。
【００６２】
つぎに、マルチキャスト受信端末２００，２０１から送信された加入要求メッセージ（マルチキャストグループ加入要求）が中継される手順を説明する。図４は、実施の形態１に係る通信システムにおいて、マルチキャスト受信端末から送信された要求メッセージが中継される手順を説明するための図である。マルチキャスト受信端末２００，２０１から送信される要求メッセージは、リングノード３０、現用リングノード１０、待機リングノード２０、マルチキャストルータ５０に、マルチキャスト受信端末２００，２０１はマルチキャストデータを中継すべき端末であることを認識させるためのマルチキャストグループ加入要求（例えば、ＩＧＭＰプロトコルのＭｅｍｂｅｒｓｈｉｐ  Ｒｅｐｏｒｔ）である。
【００６３】
図４において、マルチキャスト受信端末２０１にマルチキャストデータの受信要求が発生すると、マルチキャスト受信端末２０１はマルチキャストルータ５０に対してマルチキャストグループ加入要求メッセージ（以下、加入要求メッセージという）を送信する。この加入要求メッセージは、マルチキャストアドレス宛である。
【００６４】
この加入要求メッセージを受信したＬ２スイッチ４０は、加入要求メッセージがマルチキャストアドレス宛であるため、加入要求メッセージを受信した以外のポートにこの加入要求メッセージを転送する。すなわち、Ｌ２スイッチ４０から現用リングノード１０、待機リングノード２０に加入要求メッセージが送信され、現用リングノード１０、待機リングノード２０が加入要求メッセージを受信する。
【００６５】
加入要求メッセージを受信した現用リングノード１０は、下位ネットワーク２にマルチキャストデータの受信を要求するマルチキャスト受信端末２０１が存在することを学習し、さらに転送制御部１５がリングネットワーク１に加入要求メッセージを転送する。
【００６６】
具体的には、マルチキャスト受信端末２０１から加入要求メッセージを受信した現用リングノード１０の学習部１４は、図７に示した自ポートリスト９１から受信ポートの状態を確認する。
【００６７】
加入要求メッセージを受信した受信ポート「１」が他のノード（待機リングノード２０）と冗長化されているが、自ノードのポートが「現用」に設定されているため、学習部１４は受信した加入要求メッセージが示すマルチキャストアドレスからマルチキャストグループリストを検索する。ここで、マルチキャストグループリストの構成について説明する。
【００６８】
図９は、マルチキャストグループリストの構成の一例を示す図である。マルチキャストグループリスト９３は、マルチキャストグループのグループ番号（識別子）、マルチキャストグループのグループアドレス、マルチキャストグループへデータ送信する際の出力ポート番号の対応付けを示す情報テーブルである。
【００６９】
例えば、マルチキャストグループが「Ｇ０」のグループアドレスは「２２４．ａａ．ｂｂ．ｃｃ」であり、出力ポートリスト番号は「Ｌ０」である。また、マルチキャストグループが「Ｇ１」のグループアドレスは「２２４．ｄｄ．ｅｅ．ｆｆ」であり、出力ポートリスト番号は「Ｌ１」である。
【００７０】
現用リングノード１０の学習部１４が、加入要求メッセージが示すマルチキャストアドレスを用いてマルチキャストグループリスト９３を検索した結果、マルチキャストグループリスト９３内にマルチキャストアドレスが存在しない場合、このマルチキャストアドレスの新しいエントリをマルチキャストグループリスト９３内に作成する。このエントリにおける出力ポートリスト番号は、マルチキャストアドレスを宛先に持つマルチキャストデータを受信した際に、マルチキャストデータを出力する自ノードのポート番号に関する情報（後述する出力ポートリスト９５内の情報）を示す。
【００７１】
また、現用リングノード１０の学習部１４は、マルチキャストグループ管理プロトコルに応じてマルチキャストグループリスト９３のエントリに所定のパラメータを追加する。例えば、ＩＧＭＰｖ３に示されているフィルタタイプやソースリストを、マルチキャストグループリスト９３のエントリに追加する。
【００７２】
この後、現用リングノード１０の転送制御部１５は、マルチキャストグループリスト９３、マルチキャストルータリスト９０に基づいて、受信した加入要求メッセージをマルチキャストルータ宛に転送する。
【００７３】
このとき、転送制御部１５が転送する加入要求メッセージは、ＲＰＲリングへのＲＰＲデータフレームであるため、ＲＰＲヘッダに自ノードのアドレスを含んでいる。そして、転送制御部１５は、マルチキャストルータリスト９０から、マルチキャストルータ５０にメッセージを送信するためのポートを獲得（抽出）し、抽出した全てのポートに受信メッセージ（加入要求メッセージ）を転送する。ここではリングネットワーク１と接続しているポート「０」しかないので、現用リングノード１０は加入要求メッセージをリングネットワーク１のみに転送する。
【００７４】
待機リングノード２０の学習部１４は、Ｌ２スイッチ４０と直接接続されているポートから受信した加入要求メッセージは無視して廃棄する。すなわち、待機リングノード２０の学習部１４は、Ｌ２スイッチ４０と接続しているポートからマルチキャスト受信端末２０１の加入要求メッセージを受信すると、自ポートリスト９２から受信ポートの状態を確認する。受信ポート「１」が他のノード（現用リングノード１０）と冗長化されており、かつ自ノードのポートが「待機」に設定されているため、待機リングノード２０の転送制御部１５は、受信メッセージ（加入要求メッセージ）を廃棄する。換言すると、ここでの待機リングノード２０の学習部１４は、何れのポートから加入要求メッセージを受信したかに基づいて受信した加入要求メッセージの学習が必要か否かを判断し、学習の必要なポート（冗長経路を提供しない装置に接続するポートまたは「現用」に設定されているポート）から加入要求メッセージを受信した場合に加入要求メッセージに基づいた学習を行なう。
【００７５】
リングネットワーク１では、リングネットワーク１外から中継されたデータはフラッディングされ、待機リングノード２０にも到着する。待機リングノード２０（通信部１２）は、リングネットワーク１に接続されているポートから、現用リングノード１０が転送したマルチキャスト受信端末２０１からの加入要求メッセージを受信する。
【００７６】
待機リングノード２０の学習部１４は、現用リングノード１０がリングネットワーク１内に転送した加入要求メッセージにより、マルチキャストデータを要求するマルチキャスト受信端末２０１は下位ネットワーク２に存在し、現用リングノード１０に障害が発生した場合は、自身が現用リングノード１０に代わってマルチキャストデータを中継すべきノード（端末）であることを認識する。待機リングノード２０の学習部１４は、加入要求メッセージ内に現用リングノード１０のアドレスが含まれていること、現用リングノード１０は自ノードと冗長接続されていることに基づいて、マルチキャストデータを要求するマルチキャスト受信端末２０１は下位ネットワーク２に存在することを認識する。
【００７７】
具体的には、待機リングノード２０の学習部１４が、加入要求メッセージをリングネットワーク１に転送したリングノードアドレス（現用リングノード１０）を加入要求メッセージから抽出し、後述の冗長ノードリスト９４と照会することによって自身が現用リングノード１０に代わってマルチキャストデータを中継すべきノードであることを認識する。
【００７８】
図１０は、冗長ノードリストの構成の一例を示す図である。冗長ノードリスト９４は、冗長相手のノードアドレス、冗長相手と通信を行なう際の冗長相手のポート番号、冗長相手と通信を行なう際の自ノードのポート番号（冗長ポート番号）が対応付けられた情報テーブルである。なお、冗長ノードリスト９４は、冗長経路が設定される際に登録する情報であり、冗長経路やポート番号の設定が変更された際に変更されるものである。
【００７９】
待機リングノード２０の学習部１４は、加入要求メッセージをリングネットワーク１に転送したリングノードアドレス（現用リングノード１０のアドレス）を加入要求メッセージから抽出し、冗長ノードリスト９４と照会する。これにより、加入要求メッセージは、待機リングノード２０が現在冗長を構成している現用リングノード１０から転送された加入要求メッセージであることがわかる。待機リングノード２０の学習部１４は、冗長ノードリスト９４に示されている冗長ポート番号「１」に接続している端末（現用リングノード１０）から受信した加入要求メッセージに基づいて、マルチキャストグループリスト９３に新規エントリを追加する。
【００８０】
すなわち、待機リングノード２０の学習部１４は、加入要求メッセージが示すグループアドレス宛のデータの出力ポートリスト（後述の出力ポートリスト９５）に、現在待機となっているポートに関する情報（出力ポートリスト番号）を追加する。このとき、出力ポートリスト９５に追加するポートに対応する出力ポートリスト番号を、マルチキャストグループリスト９３にも追加しておく。ここで、出力ポートリスト９５の構成について説明する。
【００８１】
図１１は、出力ポートリストの構成の一例を示す図である。出力ポートリスト９５は、待機用のノードから現用のノードに変更する際に用いる出力ポートに関する情報であり、マルチキャストグループリスト９３の出力ポートリスト番号、出力ポート数、出力ポート番号（マルチキャストグループへデータ送信する際の出力ポート番号）が対応付けされた情報である。
【００８２】
例えば、マルチキャストグループリスト９３に示すように、マルチキャストグループが「Ｇ０」のグループアドレスは「２２４．ａａ．ｂｂ．ｃｃ」であり、出力ポートリスト番号は「Ｌ０」である。そして、この出力ポート番号は「Ｌ０」に対応する自ノード（待機リングノード２０）の出力ポート番号は「１」の１つである。したがって、待機リングノード２０が現用のリングノードに変更される際には、マルチキャストグループ「Ｇ０」のデータを出力ポート番号「１」から出力することとなる。
【００８３】
ここでの待機リングノード２０の転送制御部１５は、待機ポートと冗長化しているポート以外に現在使用中のポートがないため、受信した加入要求メッセージを廃棄する。なお、待機ポートと冗長化しているポート以外で現在使用中のポートがある場合、転送制御部１５は現在使用中のポートに加入要求メッセージを転送する。
【００８４】
リングノード３０は、現用リングノード１０を介して受信した加入要求メッセージをマルチキャストルータ５０に転送する。このときリングノード３０は、加入要求メッセージ内の現用リングノード１０のアドレスに基づいて、マルチキャストグループに加入するマルチキャスト受信端末２０１がリングネットワーク１側、もしくは現用リングノード１０に接続されているネットワーク（下位ネットワーク２）に存在することを学習する。
【００８５】
マルチキャストルータ５０は、加入要求メッセージを受信したポートに基づいて、リングネットワーク１以下にマルチキャストデータを要求するマルチキャスト受信端末２０１が存在することを認識する。
【００８６】
つぎに、マルチキャストデータがマルチキャスト受信端末２０１まで中継される手順を説明する。ここでは、マルチキャストデータの転送経路が決定された後に配信されるマルチキャストデータの転送について説明する。
【００８７】
図５は、実施の形態１に係る通信システムにおいて、マルチキャストデータがマルチキャスト受信端末まで中継される手順を説明するための図である。図５では、カメラ３０１から送信されているマルチキャストデータがマルチキャスト受信端末２０１まで中継される様子を示している。
【００８８】
マルチキャストルータ５０は、カメラ３０１から受信したマルチキャストデータを、マルチキャストグループに加入しているマルチキャスト受信端末２０１（下位ネットワーク２）に中継するため、リングノード３０に転送する。ここでのマルチキャストルータ５０は、受信したマルチキャストグループ加入要求メッセージに基づいて、カメラ３０１からのマルチキャストデータをリングノード３０に中継する。
【００８９】
リングノード３０は、問い合わせメッセージや加入要求メッセージによって学習した内容に基づいて、マルチキャストデータをリングネットワーク１に転送する。リングネットワーク１に転送されたマルチキャストデータは、先述のとおりリングネットワーク１上にフラッディングされる。
【００９０】
現用リングノード１０の通信部１２は、フラッディングされたマルチキャストデータを受信する。現用リングノード１０の転送制御部１５は、マルチキャストデータの宛先アドレスがマルチキャストアドレスであると認識し、マルチキャストグループリスト９３を検索する。その結果、受信したマルチキャストデータは、加入要求メッセージで学習したマルチキャストグループアドレス宛のデータであることがわかる。
【００９１】
そこで、現用リングノード１０は、マルチキャストグループアドレスに設定された出力ポート番号にしたがって、受信したマルチキャストデータを学習したとおりＬ２スイッチ４０（下位ネットワーク２）に転送する。
【００９２】
このとき、現用リングノード１０の転送制御部１５は、マルチキャストグループリスト９３に基づいて、受信したマルチキャストデータのグループアドレスに対応する出力ポートリスト番号「Ｌ０」を選択し、この出力ポートリスト番号「Ｌ０」に対応する出力ポート番号「１」を、出力ポートリスト９５から選択する。そして、選択された出力ポート番号「１」をキーとして自ポートリスト９１を検索する。これにより、マルチキャストグループアドレスに設定された出力ポートは現用状態であることがわかる。そこで、マルチキャストグループアドレスに設定された出力ポート「１」からマルチキャストデータを転送する。
【００９３】
待機リングノード２０は、フラッディングされたマルチキャストデータを受信すると、その宛先アドレスがマルチキャストアドレスであると認識する。そして、マルチキャストアドレスに基づいて、マルチキャストグループリスト９３を検索する。その結果、加入要求メッセージで学習したマルチキャストグループアドレス宛データであることがわかる。
【００９４】
そこで、待機リングノード２０は、マルチキャストグループアドレスに設定された出力ポート番号を選択する。このとき、待機リングノード２０は、マルチキャストグループリスト９３に基づいて、受信したマルチキャストデータのグループアドレスに対応する出力ポートリスト番号「Ｌ０」を選択し、この出力ポートリスト番号「Ｌ０」に対応する出力ポート番号「１」を、出力ポートリスト９５から選択する。そして、選択した出力ポート番号「１」から自ポートリスト９２を検索すると、出力ポートは冗長化のためのポートであり、さらに待機状態であることがわかる。そこで受信データを出力せず、廃棄する。すなわち、ここでの待機リングノード２０の転送制御部１５は、待機しているため、フラッディングされたマルチキャストデータを受信しても、このマルチキャストデータの中継は行わない。
【００９５】
Ｌ２スイッチ４０は、現用リングノード１０からマルチキャストデータを受信すると、受信したデータは現用リングノード１０から受信したマルチキャストアドレス宛であると認識する。そして、マルチキャストデータを受信した現用リングノード１０と接続しているポート以外のポートにマルチキャストデータをマルチキャスト送信する。これにより、マルチキャスト受信端末２０１はマルチキャストデータを受信する。
【００９６】
Ｌ２スイッチ４０からのマルチキャストデータは、待機リングノード２０にも転送される。Ｌ２スイッチ４０から転送されたマルチキャストデータを受信した待機リングノード２０は待機状態のため、転送制御部１５は、受信したマルチキャストデータを廃棄する。
【００９７】
このように、リングノード３０、現用リングノード１０、待機リングノード２０は、マルチキャストメンバ管理プロトコル（データ）を覗き見しながら学習し、無駄なデータ転送の無い効率的なマルチキャストデータ中継を行なう。
【００９８】
なお、マルチキャスト受信端末２０１がマルチキャストグループを脱退するときも、現用リングノード１０、待機リングノード２０は、加入するときと同様にマルチキャスト受信端末２０１からのマルチキャストグループのＭｅｍｂｅｒｓｈｉｐ  Ｒｅｐｏｒｔを覗き見して学習する。なお、以上の内部テーブル名や構成などは一例であり、この形態に限定されるものではない。
【００９９】
つぎに、現用リングノード１０に障害が発生し、下位ネットワーク２へ中継するリングノードが現用リングノード１０から待機リングノード２０に切り替わる動作（待機リングノード２０が現用のリングノードに切り替わる動作）について説明する。
【０１００】
待機リングノード２０は、下位ネットワーク２に対しては待機ノードとして動作しているが、リングネットワーク１を構成する上では、通常の現用ノードとして動作している。すなわち、待機リングノード２０はＩＥＥＥ８０２．１７で示されている手順にしたがって、常にＲＰＲリング状態の監視を行っている。
【０１０１】
具体的には、リングネットワーク１内のリングノード（現用リングノード１０、待機リングノード２０、リングノード３０）のそれぞれが定期的にリングネットワーク１内に制御フレーム（例えばＩＥＥＥ８０２．１７に示されるＴｏｐｏｌｏｇｙ  ａｎｄ  Ｐｒｏｔｅｃｔｉｏｎフレーム等）を送信し合って、リングノードそれぞれのノードアドレスや、個々のリングノードにフレームが到達するまでに経由するリングノード数（ｈｏｐ数）などを、リングノードが個別に管理し、リングネットワーク１のトポロジを把握している。
【０１０２】
その際、例えば図１２に示すトポロジテーブル９６を個々のリングノードで持つ。図１２は、待機リングノードが備えるトポロジテーブルの構成の一例を示す図である。本実施の形態１では、このトポロジテーブル９６のノードアドレスに対応するエントリとして冗長の有無を示す情報を追加している。
【０１０３】
すなわち、トポロジテーブル９６は、ｒｉｎｇｌｅｔ、ｈｏｐ数、ノードアドレス、冗長の有無を示す情報の対応付けによって構成されている。例えば、ｒｉｎｇｌｅｔ「０」（時計回り）においては、リングノード３０とはｈｏｐ数「２」の経由で接続し、冗長なしである。また、現用リングノード１０とはｈｏｐ数「１」の経由で接続し、冗長ありである。
【０１０４】
冗長の有無を示す情報は、他のリングノードから制御フレームを受信した際に、学習部１４が制御フレーム内のノードアドレスを用いて冗長ノードリスト９４を検索し、該当するエントリがあれば冗長化を行っていると判断し、トポロジテーブル９６のエントリに冗長ありの情報を加える。一方、学習部１４が制御フレーム内のノードアドレスを用いて冗長ノードリスト９４を検索し、該当するエントリがなければ冗長化を行っていないと判断し、トポロジテーブル９６のエントリに冗長なしの情報を加える。
【０１０５】
待機リングノード２０（現用／待機切替部１６）やリングノード３０はＲＰＲ機能を有している。このため、現用リングノード１０に障害が発生した場合、待機リングノード２０やリングノード３０は、現用リングノード１０が定期的にリングネットワーク１上に送信しているフレームが一定期間受信できなかったことや、物理的に現用リングノード１０とのリンクが外れたことなどに基づいて、現用リングノード１０の障害を認識（検知）することができる。
【０１０６】
待機リングノード２０の現用／待機切替部１６は、現用リングノード１０の障害を認識すると、トポロジテーブル９６に基づいて、現用リングノード１０が自ノードと冗長構成をとっていることを認識する。
【０１０７】
そこで、現用／待機切替部１６は、現用リングノード１０のアドレスから冗長ノードリスト９４を検索し、冗長ポート番号を抽出する。そして、自ポートリスト９２の冗長ポート番号と一致するポートの現用／待機を「現用」に変更（登録）し、直ちに下位ネットワーク２に対して現用ノードとしての処理を開始する。
【０１０８】
すなわち、待機リングノード２０の制御部１１は、それまで中継しなかったマルチキャストルータ５０からの加入者問い合わせメッセージを下位ネットワーク２に中継するとともに、マルチキャスト受信端末２０１からの加入要求メッセージをリングネットワーク１に中継するよう制御する。さらに、待機リングノード２０の制御部１１は、下位ネットワーク２に存在するマルチキャスト受信端末２０１が加わっているマルチキャストグループ宛のマルチキャストデータ（カメラ３０１などからのマルチキャストデータなど）を下位ネットワーク２に中継するよう制御する。
【０１０９】
一方、障害の発生した現用リングノード１０の現用／待機切替部１６は、現用リングノード１０が待機用のリングノードとして機能するよう制御する。すなわち、現用リングノード１０は、障害発生前の待機リングノード２０と同様の処理を行なう。
【０１１０】
ＲＰＲでは、このような現用リングノード１０の障害発生から各リングノードが障害を認識し、トポロジを変更するまで５０ｍｓ以内で可能であるよう規定されている。したがって、例えばＲＰＲの場合は、待機リングノード２０が現用リングノード１０の障害を認識して現用のリングノードとして動作を開始することも５０ｍｓ以内の高速に行なうことが可能となる。
【０１１１】
このように実施の形態１によれば、複数台のリングノード（現用リングノード１０、待機リングノード２０）で冗長構成を提供することで接続するネットワーク（下位ネットワーク２）に高い信頼性を提供するにあたり、現用リングノード１０と待機リングノード２０が、現用のリングノードとして動作する現用リングノード１０の障害発生前から現用リングノード１０と待機リングノード２０のマルチキャスト関連データ（問い合わせメッセージ、加入要求メッセージ）の覗き見と学習を行なうとともに、現用リングノード１０と待機リングノード２０のマルチキャスト関連データの中継有無を判定する手段（転送制御部１５）を備えているので、効率的なマルチキャスト中継を実現できる。さらに、ＲＰＲの障害検出、現用のリングノードとして動作する現用リングノード１０の障害発生前からのマルチキャスト関連データの覗き見によって学習した情報、現用／待機の切替え手段（現用／待機切替部１６）を利用した冗長切替えによってマルチキャスト経路切替えを高速に実現できる。
【０１１２】
実施の形態２．
以上の実施の形態１では、複数台のリングノードで１つの下位ネットワーク２に効率的なマルチキャスト転送を含む冗長機能を提供することとしたが、実施の形態２では二重化相手となるリングノードが複数の下位ネットワーク（Ｌ２スイッチ）を収容し、そのうちの一部のポートに対して、自ノードと二重化構成をとっている場合について説明する。
【０１１３】
図１３は、本発明にかかる通信システムの実施の形態２の構成を示す図である。図１３の各構成要素のうち図１に示す実施の形態１の通信システム１００と同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
【０１１４】
通信システム１０１は、マルチキャストサーバ３００、カメラ３０１、マルチキャストルータ５０、リングノード３０、現用リングノード１０、待機リングノード２０、Ｌ２スイッチ４０、マルチキャスト受信端末２００，２０１に加えて、Ｌ２スイッチ４１，４２、マルチキャスト受信端末２０２，２０３を備えている。
【０１１５】
マルチキャスト受信端末２０２と接続されたＬ２スイッチ４１が現用リングノード１０に接続され、マルチキャスト受信端末２０３と接続されたＬ２スイッチ４２が待機リングノード２０に接続されている。すなわち、Ｌ２スイッチ４１，４２は、現用リングノード１０および待機リングノード２０によって冗長接続が行なわれていない。
【０１１６】
また、実施の形態１の通信システム１００と同様に、通信システム１０１でもマルチキャスト受信端末２００，２０１に接続するＬ２スイッチ４０が現用リングノード１０および待機リングノード２０に接続し、現用リングノード１０と待機リングノード２０で冗長接続を構成している。
【０１１７】
ここで、実施の形態２にかかる現用リングノード１０が記憶部１３に記憶する自ポートリスト９７、実施の形態２にかかる待機リングノード２０が記憶部１３に記憶する自ポートリスト９８について説明する。自ポートリスト９７，９８は、自ポートリスト９１，９２と同様の構成を有した情報リストである。
【０１１８】
図１４は、実施の形態２にかかる現用リングノードが備える自ポートリストの一例を示す図である。自ポートリスト９７のネットワーク種別として、ポート番号「０」はネットワーク種別のＲＰＲに対応し、ポート番号「１」，「２」はネットワーク種別のＥｔｈｅｒｎｅｔ（登録商標）に対応する場合を示している。
【０１１９】
また、ポート番号「０」，「１」が非冗長（ｎｏ）であり、ポート番号「２」が冗長（ｙｅｓ）である場合を示している。すなわち、ここでのポート番号「１」がＬ２スイッチ４１に対応し、ポート番号「２」がＬ２スイッチ４０に対応する。
【０１２０】
図１５は、実施の形態２にかかる待機リングノードが備える自ポートリストの一例を示す図である。自ポートリスト９８のネットワーク種別として、ポート番号「０」はネットワーク種別のＲＰＲに対応し、ポート番号「１」，「２」はネットワーク種別のＥｔｈｅｒｎｅｔ（登録商標）に対応する場合を示している。
【０１２１】
また、ポート番号「０」，「２」が非冗長（ｎｏ）であり、ポート番号「１」が冗長（ｙｅｓ）である場合を示している。すなわち、ここでのポート番号「２」がＬ２スイッチ４２に対応し、ポート番号「１」がＬ２スイッチ４０に対応する。
【０１２２】
現用リングノード１０、待機リングノード２０は、それぞれ自ポートリスト９７，９８に基づいて、問い合わせメッセージを受信したポートおよび「待機」と設定されているポート以外の全てのポートに問い合わせメッセージを転送する。
【０１２３】
次に、通信システム１０１の動作手順について説明する。図１６，１７は、実施の形態２に係る通信システムの動作手順を説明するための図である。まず、冗長を提供していないＬ２スイッチ４１に接続されたマルチキャスト受信端末２０２が送信した加入要求メッセージが中継される手順（図１６）を説明し、次に冗長を提供しているＬ２スイッチ４０に接続されたマルチキャスト受信端末２０１が送信した加入要求メッセージが中継される手順（図１７）を説明する。なお、実施の形態１の通信システム１００と同様の動作を行なう手順については、その説明を省略する。
【０１２４】
図１６は、実施の形態２に係る通信システムにおいて、冗長を提供していないＬ２スイッチに接続されたマルチキャスト受信端末が送信した要求メッセージが中継される手順を説明するための図である。
【０１２５】
マルチキャスト受信端末２０２が送信した加入要求メッセージは、Ｌ２スイッチ４１を介して現用リングノード１０に送信される。加入要求メッセージを受信した現用リングノード１０は、実施の形態１に示した手順に従って受信した加入要求メッセージをリングネットワーク１に転送する。現用リングノード１０が受信した加入要求メッセージは、待機リングノード２０と冗長を提供していないポートからのメッセージであることを示すため、転送制御部１５は加入要求メッセージに受信したポート番号を埋め込む。
【０１２６】
転送制御部１５が加入要求メッセージにポート番号を埋め込む位置は、ＲＰＲリングでフレームを送受信するためのＲＰＲヘッダの現在利用されていないエリア、加入要求メッセージの現在利用されていないエリア、フレームの最後など、何れの位置でも構わない。
【０１２７】
待機リングノード２０は、現用リングノード１０によってリングネットワーク１に転送された加入要求メッセージを受信する。待機リングノード２０の転送制御部１５は、この加入要求メッセージをリングネットワーク１に転送したリングノードアドレスを冗長ノードリスト９４と照会する。
【０１２８】
これにより、待機リングノード２０の転送制御部１５は、加入要求メッセージは現在冗長を構成している現用リングノード１０が転送したメッセージであることを認識する。このとき、冗長ノードリスト９４内の現用リングノード１０に対応する冗長ポート番号が、加入要求メッセージ内に埋め込まれたポート番号と異なるため、転送制御部１５は、冗長を提供していないネットワーク上の端末（マルチキャスト受信端末２０２）からの加入要求メッセージであると判断する。
【０１２９】
また、待機リングノード２０の転送制御部１５は、マルチキャストルータリスト９０を照会し、マルチキャストルータ５０が存在するのはリングネットワーク１側だけであると判断できるため、受信した加入要求メッセージを廃棄する。
【０１３０】
図１７は、実施の形態２に係る通信システムにおいて、冗長を提供しているＬ２スイッチに接続されたマルチキャスト受信端末が送信した要求メッセージが中継される手順を説明するための図である。
【０１３１】
マルチキャスト受信端末２０１が送信した加入要求メッセージは、Ｌ２スイッチ４０を介して現用リングノード１０に送信される。加入要求メッセージを受信した現用リングノード１０は、実施の形態１に示した手順に従って受信した加入要求メッセージをリングネットワーク１に転送する。現用リングノード１０が受信した加入要求メッセージは、待機リングノード２０と冗長を提供しているポートからのメッセージであることを示すため、転送制御部１５は加入要求メッセージに受信したポート番号を埋め込む。加入要求メッセージへのポート番号を埋め込みは、図１４で説明した現用リングノード１０の転送制御部１５と同様の処理によって行なう。
【０１３２】
待機リングノード２０は、現用リングノード１０によってリングネットワーク１に転送された加入要求メッセージを受信する。待機リングノード２０の転送制御部１５は、この加入要求メッセージをリングネットワーク１に転送したリングノードアドレスを冗長ノードリスト９４と照会する。
【０１３３】
これにより、待機リングノード２０の転送制御部１５は、加入要求メッセージは現在冗長を構成している現用リングノード１０が転送したメッセージであることを認識する。このとき、冗長ノードリスト９４内の現用リングノード１０に対応する冗長ポート番号と、加入要求メッセージ内に埋め込まれたポート番号が一致するため、転送制御部１５は、冗長を提供しているネットワーク上の端末（マルチキャスト受信端末２０１）からの加入要求メッセージであると判断する。
【０１３４】
待機リングノード２０の学習部１４は、実施の形態１で説明した手順に従って、出力ポートリスト９５に、現在待機となっているポートを追加する。すなわち、学習部１４は、加入要求メッセージを、冗長ノードリスト９４に示されている冗長ポート番号に接続している端末（マルチキャスト受信端末２０１）から受信したメッセージと判断する。そして、出力ポートリスト９５に、加入要求メッセージが示すグループアドレス宛のデータの出力ポート番号として現在待機となっているポートを追加する。
【０１３５】
また、転送制御部１５は、マルチキャストルータリスト９０を照会し、マルチキャストルータ５０が存在するのはリングネットワーク１側だけであると判断できるため、受信した加入要求メッセージを廃棄する。
【０１３６】
このように実施の形態２によれば、通信システム１０１において、二重化相手となる現用リングノード１０、待機リングノード２０が複数の下位ネットワーク（Ｌ２スイッチ４０〜４２）を収容し、そのうちの一部のポート（Ｌ２スイッチ４０）に対して、自ノードと二重化構成をとっている場合であっても、現用リングノード１０がリングネットワーク１に中継するフレーム（加入要求メッセージ）に自ノードが受信したポート番号を埋め込むので、他のリングノード（待機リングノード２０）に受信ポートが冗長を提供しているポートか否かを判断させることができる。したがって、通信システム１０１は、柔軟なネットワーク構成を提供することが可能となる。
【産業上の利用可能性】
【０１３７】
以上のように、本発明にかかるノード装置および通信システムは、リングネットワーク上でのマルチキャストデータの転送に適している。
【図面の簡単な説明】
【０１３８】
【図１】本発明にかかる通信システムの実施の形態１の構成を示す図である。
【図２】待機リングノードの構成を示すブロック図である。
【図３】問い合わせ用メッセージが中継される手順を説明するための図である。
【図４】要求メッセージが中継される手順を説明するための図である。
【図５】マルチキャストデータが中継される手順を説明するための図である。
【図６】マルチキャストルータリストの構成の一例を示す図である。
【図７】実施の形態１の現用リングノードが備える自ポートリストの一例を示す図である。
【図８】実施の形態１の待機リングノードが備える自ポートリストの一例を示す図である。
【図９】マルチキャストグループリストの構成の一例を示す図である。
【図１０】冗長ノードリストの構成の一例を示す図である。
【図１１】出力ポートリストの構成の一例を示す図である。
【図１２】待機リングノードが備えるトポロジテーブルの構成の一例を示す図である。
【図１３】本発明にかかる通信システムの実施の形態２の構成を示す図である。
【図１４】実施の形態２の現用リングノードが備える自ポートリストの一例を示す図である。
【図１５】実施の形態２の待機リングノードが備える自ポートリストの一例を示す図である。
【図１６】冗長接続されていないマルチキャスト受信端末からの要求メッセージが中継される手順を説明するための図である。
【図１７】冗長接続されたマルチキャスト受信端末が送信した要求メッセージが中継される手順を説明するための図である。
【符号の説明】
【０１３９】
１  リングネットワーク
２  下位ネットワーク
３  上位ネットワーク
１０  現用リングノード
１１  記憶部
１１  制御部
１２  通信部
１３  記憶部
１４  学習部
１５  転送制御部
１６  待機切替部
２０  待機リングノード
３０  リングノード
４０〜４２  Ｌ２スイッチ
５０  マルチキャストルータ
９０  マルチキャストルータリスト
９１，９２  自ポートリスト
９３  マルチキャストグループリスト
９４  冗長ノードリスト
９５  出力ポートリスト
９６  トポロジテーブル
１００，１０１  通信システム
２００〜２０３  マルチキャスト受信端末
３００  マルチキャストサーバ
３０１  カメラ
【図１】
2007228293.tif 000003
【図２】
2007228293.tif 000004
【図３】
2007228293.tif 000005
【図４】
2007228293.tif 000006
【図５】
2007228293.tif 000007
【図６】
2007228293.tif 000008
【図７】
2007228293.tif 000009
【図８】
2007228293.tif 000010
【図９】
2007228293.tif 000011
【図１０】
2007228293.tif 000012
【図１１】
2007228293.tif 000013
【図１２】
2007228293.tif 000014
【図１３】
2007228293.tif 000015
【図１４】
2007228293.tif 000016
【図１５】
2007228293.tif 000017
【図１６】
2007228293.tif 000018
【図１７】
2007228293.tif 000019