(57)【要約】リング型ネットワークにおいて、マルチキャストで通信する送信ホスト及び受信ノードは、マルチキャスト通信に係るノードを示す、エントリ情報を共有する。また、この送信ノード及び受信ノードは、前記エントリ情報をリング型ネットワーク上でブロードキャストし、前記リング型ネットワーク上の位置関係に係る、トポロジ情報を各ノード間で共有する。また、前記送信ノードは、前記エントリ情報及び前記トポロジ情報を参照して、マルチキャスト送信する情報の送信方向を決定し、情報を当該送信方向にマルチキャスト送信する。さらに、前記受信ノードは、当該送信方向に前記情報を受信する他の受信ノードが存在しない場合に、前記情報を廃棄する。
2004064335.tif 000002
【特許請求の範囲】
【請求項１】
情報伝達の方向性を有するリング型ネットワークでのマルチキャスト通信における帯域有効利用方法であり、
前記リング型ネットワークにおいて、マルチキャストで通信する送信ホスト及び受信ノードが、
マルチキャスト通信に係るノードを示す、エントリ情報を共有するエントリ情報共有ステップと、
前記エントリ情報をリング型ネットワーク上でブロードキャストするステップと、
前記リング型ネットワーク上の位置関係に係る、トポロジ情報を各ノード間で共有するステップとを実行し、
前記送信ノードが、
前記エントリ情報及び前記トポロジ情報を参照して、マルチキャスト送信する情報の送信方向を決定するステップと、
情報を当該送信方向にマルチキャスト送信するステップとを実行し、
前記受信ノードが、
当該送信方向に前記情報を受信する他の受信ノードが存在しない場合に、前記情報を廃棄するステップとを実行する、リング型ネットワークでのマルチキャスト通信における帯域有効利用方法。
【請求項２】
前記エントリ情報には、
前記送信ノードのアドレス及び前記受信ノードのアドレスが含まれる、請求の範囲１に記載のリング型ネットワークでのマルチキャスト通信における帯域有効利用方法。
【請求項３】
前記トポロジ情報には、
前記送信方向及び受信ノードのアドレスが含まれる、請求の範囲１または２に記載のリング型ネットワークでのマルチキャスト通信における帯域有効利用方法。
【請求項４】
前記送信ノードが、
前記エントリ情報共有ステップでは、当該送信ノードの配下にある送信ホストから、前記情報を受信し、
前記情報に基づいて前記エントリ情報を生成する、請求の範囲３に記載のリング型ネットワークでのマルチキャスト通信における帯域有効利用方法。
【請求項５】
前記受信ノードが、
前記エントリ情報共有ステップでは、当該受信ノードの配下にある受信ホストから、前記情報の受信を要求する受信要求情報を受信し、
前記受信要求情報に応じて受信要求コマンドを生成し、
前記受信要求コマンドを前記送信ノードに送信する、請求の範囲４に記載のリング型ネットワークでのマルチキャスト通信における帯域有効利用方法。
【請求項６】
前記送信ノードが、
前記エントリ情報共有ステップでは、前記受信要求コマンドに応じて、前記エントリ情報を更新し、
前記エントリ情報をブロードキャストするステップでは、更新した前記エントリ情報を送信する、請求の範囲５に記載のリング型ネットワークでのマルチキャスト通信における帯域有効利用方法。
【請求項７】
前記受信ノードが、
エントリ情報共有ステップでは、
前記受信ホストから前記情報の受信停止を要求する離脱要求情報を受信し、
前記離脱要求情報に応じて他の受信ホストが存在するか否かを検出し、
受信ホストが存在しない場合に、削除要求コマンドを生成し、
前記削除要求コマンドを前記送信ノードに送信する、請求の範囲６に記載のリング型ネットワークでのマルチキャスト通信における帯域有効利用方法。
【請求項８】
前記送信ノードが、
前記エントリ情報共有ステップでは、前記削除要求コマンドに応じて、前記エントリ情報を更新し、
前記エントリ情報をブロードキャストするステップでは、更新した前記エントリ情報を送信する、請求の範囲７に記載のリング型ネットワークでのマルチキャスト通信における帯域有効利用方法。
【請求項９】
前記送信ノードが、
エントリ情報共有ステップでは、前記送信ホストから前記情報の送信が終了したことを検出し、
前記情報の送信が終了したことを受信ノードに通知する送信終了コマンドを生成し、
前記送信終了コマンドを受信ノードに送信し、
前記送信が終了したことに応じて、前記エントリ情報を削除する、請求の範囲８に記載のリング型ネットワークでのマルチキャスト通信における帯域有効利用方法。
【請求項１０】
情報伝達の方向性を有するリング型ネットワークでマルチキャスト通信するノードに帯域有効利用をさせるプログラムであり、
マルチキャスト通信に係るノードを示す、エントリ情報を生成するエントリ情報生成ステップと、
前記エントリ情報を共有するエントリ情報共有ステップと、
前記リング型ネットワーク上の位置関係に係る、トポロジ情報を各ノード間で共有するトポロジ情報共有ステップと、
前記エントリ情報をリング型ネットワーク上でブロードキャストするステップと、
前記エントリ情報及び前記トポロジ情報を参照して、マルチキャスト送信する情報の送信方向を決定するステップと、
情報を当該送信方向にマルチキャスト送信するステップとを備え、
前記情報を受信する受信ノードに対して、
当該送信方向に当該情報を受信する他の受信ノードが存在しない場合に、前記情報を廃棄させる、プログラム。
【請求項１１】
前記エントリ情報には、
前記送信ノードのアドレス及び前記受信ノードのアドレスが含まれる、請求の範囲１０に記載のプログラム。
【請求項１２】
前記トポロジ情報には、
前記送信方向及び受信ノードのアドレスが含まれる、請求の範囲１０または１１に記載のプログラム。
【請求項１３】
前記エントリ情報生成ステップでは、当該ノードの配下にある送信ホストから、前記情報を受信し、
前記情報に基づいて前記エントリ情報を生成する、請求の範囲１２に記載のプログラム。
【請求項１４】
前記エントリ情報生成ステップでは、前記情報の受信を要求する受信ノードからの受信要求コマンドを受信し、
前記受信要求コマンドに応じて、前記エントリ情報を更新する、請求の範囲１３に記載のプログラム。
【請求項１５】
前記エントリ情報生成ステップでは、マルチキャスト通信からの離脱を要求する受信ノードからの削除要求コマンドを受信し、
前記削除要求コマンドに応じて、前記エントリ情報を更新し、
前記エントリ情報をブロードキャストするステップでは、更新したエントリ情報を送信する、請求の範囲１４に記載のプログラム。
【請求項１６】
前記エントリ情報生成ステップでは、前記送信ホストから前記情報の送信が終了したことを検出し、
前記情報の送信が終了したことを受信ノードに通知する送信終了コマンドを生成し、
前記送信終了コマンドを受信ノードに送信し、
前記送信が終了したことに応じて、前記エントリ情報を削除する、請求の範囲１５に記載のプログラム。
【請求項１７】
情報伝達の方向性を有するリング型ネットワークでマルチキャスト通信するノードに帯域有効利用させるプログラムであり、
マルチキャスト通信に係るノードを示す、エントリ情報を受信するステップと、
前記エントリ情報を共有するエントリ情報共有ステップと、
前記リング型ネットワーク上の位置関係に係る、トポロジ情報を各ノード間で共有するトポロジ情報共有ステップと、
マルチキャスト送信される情報の送信方向を参照するステップと、
前記送信方向を判定するステップと、
当該送信方向に当該情報を受信する他の受信ノードが存在する場合に、当該情報を当該送信方向に転送するステップと、
当該送信方向に当該情報を受信する他の受信ノードが存在しない場合に、前記情報を廃棄するステップとを備える、プログラム。
【請求項１８】
前記エントリ情報共有ステップでは、当該ノードの配下にある受信ホストから、前記情報の受信を要求する受信要求情報を受信し、
前記受信要求情報に応じて受信要求コマンドを生成し、
前記受信要求コマンドを前記送信ノードに送信し、請求の範囲１７に記載のプログラム。
【請求項１９】
前記エントリ情報共有ステップでは、前記受信ホストから前記情報の受信停止を要求する離脱要求情報を受信し、
前記離脱要求情報に応じて受信ホストが存在するか否かを検出し、
受信ホストが存在しない場合に、削除要求コマンドを生成し、
前記削除要求コマンドを前記送信ノードに送信する、請求の範囲１８に記載のプログラム。
【請求項２０】
情報伝達の方向性を有するリング型ネットワークでマルチキャスト通信を実行する送信ノードであり、
マルチキャスト通信に係るノードを示す、エントリ情報を生成するエントリ情報生成手段と、
前記エントリ情報を共有するエントリ情報共有手段と、
前記リング型ネットワーク上の位置関係に係る、トポロジ情報を各ノード間で共有するトポロジ情報共有手段と、
前記エントリ情報をリング型ネットワーク上でブロードキャストするエントリ情報送信手段と、
前記エントリ情報及び前記トポロジ情報を参照して、マルチキャスト送信する情報の送信方向を決定する送信方向決定手段と、
当該情報を当該送信方向にマルチキャスト送信する情報送信手段とを有し、
前記情報を受信する受信ノードに対して、
当該送信方向に当該情報を受信する受信ノードが存在しない場合に、前記情報を廃棄させる、リング型ネットワークでのマルチキャスト通信における送信ノード。
【請求項２１】
前記エントリ情報には、
前記送信ノードのアドレス及び前記受信ノードのアドレスが含まれる、請求の範囲２０に記載のリング型ネットワークでのマルチキャスト通信における送信ノード。
【請求項２２】
前記トポロジ情報には、
前記送信方向及び受信ノードのアドレスが含まれる、請求の範囲２０または２１に記載のリング型ネットワークでのマルチキャスト通信における送信ノード。
【請求項２３】
前記エントリ情報生成手段が、当該送信ノードの配下にある送信ホストから、前記情報を受信し、
前記情報に基づいて前記エントリ情報を生成する、請求の範囲２２に記載のリング型ネットワークでのマルチキャスト通信における送信ノード。
【請求項２４】
前記エントリ情報生成手段が、情報の受信を要求する受信ノードからの受信要求コマンドに応じて、前記エントリ情報を更新する、請求の範囲２２に記載のリング型ネットワークでのマルチキャスト通信における送信ノード。
【請求項２５】
前記エントリ情報生成手段が、マルチキャスト通信からの離脱を要求する受信ノードからの削除要求コマンドに応じて前記エントリ情報を更新する、請求の範囲２４に記載のリング型ネットワークでのマルチキャスト通信における送信ノード。
【請求項２６】
前記エントリ情報生成手段が、前記送信ホストから前記情報の送信が終了したことを検出し、
前記情報の送信が終了したことを受信ノードに通知する送信終了コマンドを生成し、
前記送信が終了したことに応じて、前記エントリ情報を削除する、請求の範囲２５に記載のリング型ネットワークでのマルチキャスト通信における送信ノード。
【請求項２７】
情報伝達の方向性を有するリング型ネットワークでマルチキャスト通信を実行する受信ノードであり、
マルチキャスト通信に係るノードを示す、エントリ情報を受信するエントリ情報受信手段と、
前記エントリ情報を共有するエントリ情報共有手段と、
報受信手段と、
前記エントリ情報を共有するエントリ情報共有手段と、
前記リング型ネットワーク上の位置関係に係る、トポロジ情報を各ノード間で共有するトポロジ情報共有手段と、
マルチキャスト送信される情報の送信方向を参照する送信方向参照手段と、
当該情報を当該送信方向に送信する送信手段と、
当該送信方向に当該情報を受信する受信ノードが存在しない場合に、前記情報を廃棄する情報破棄手段とを有する、リング型ネットワークでのマルチキャスト通信における受信ノード。
【請求項２８】
前記エントリ情報共有手段が、当該受信ノードの配下にある受信ホストから、前記情報の受信を要求する受信要求情報を受信し、
前記受信要求情報に応じて受信要求コマンドを生成し、
前記送信手段が、前記受信要求コマンドを前記送信ノードに送信する、請求の範囲２７に記載のリング型ネットワークでのマルチキャスト通信における受信ノード。
【請求項２９】
前記エントリ情報共有手段が、前記受信ホストから前記情報の受信停止を要求する離脱要求情報を受信し、
前記離脱要求情報に応じて受信ホストが存在するか否かを検出し、
受信ホストが存在しない場合に、削除要求コマンドを生成し、
前記送信手段が、前記削除要求コマンドを前記送信ノードに送信する、請求の範囲２８に記載のリング型ネットワークでのマルチキャスト通信における受信ノード。
【発明の詳細な説明】
【技術分野】  本発明は、リング型ＩＰネットワークでのマルチキャストパケット通信における帯域有効利用技術に関する。
【背景技術】  一般に、画像データなどの大容量のデータを送信する為に、経済性、或いは信頼性の確保などの理由から、光ファイバによるリング型ネットワークが多く用いられている。
ＳＯＮＥＴリング用光ファイバリング型ネットワークにおけるプロトコルの一つとしてＲＰＲ（Ｒｅｓｉｌｉｅｎｔ  Ｐａｃｋｅｔ  Ｒｉｎｇ）がある。ＲＰＲは、リング型のＩＰパケット用Ｌ２（レイヤ２）ネットワークプロトコルとして、現在ＩＥＥＥ８０２．１７で標準化されようとしている。
ＲＰＲの主な特徴としては、使用していない経路を他の通信に使用することでネットワーク帯域の有効利用を図る、いわゆる空間再利用ができることが挙げられる。また、ＲＰＲの他の特徴としては、双方向二重逆リング方式を用いることでリング型ネットワークの信頼性が高くなるため、障害が発生したときの復旧が迅速に行えること、等が挙げられる。
このＲＰＲ方式の特徴の一つである空間再利用とは、送信者と受信者が１：１のユニキャスト通信において、その受信者の受信元ノードで送信したパケットを取り込み、その先のノードにパケットを転送しないことを指す。空間再利用をすることで、ＲＰＲでは、受信元ノードにおける先のノードのネットワーク帯域が空く（空間になる）。即ち、リング型ネットワーク上の情報の伝達方向において、受信ノードより先のノードには、上記パケットは転送されない。従って、受信ノードより先のノードは、上記パケット以外の他のパケットの送受信が可能である。よって、このリング型ネットワークでは、ネットワーク帯域の有効利用が可能となる。
その結果、同じリング型ネットワークであるＦＤＤＩやトークンリング等のトークンを掴んで一周させる方式と違い、ＲＰＲでは、リング型ネットワーク使用率が９５％と非常に高くなることが報告されている。
しかし、ＲＰＲにおけるマルチキャスト通信では、すべてのＲＰＲノードにマルチキャストパケットを流すため、空間再利用をしない規定がされている。また、この規定は、ＲＰＲのベースとなった複数の先行ベンダーの独自方式でも同様である。
即ち、ＲＰＲの方式を用いてマルチキャスト通信する際、ＲＰＲはＬ２ネットワークであるため、マルチキャストパケットを含むブロードキャストフレームが全てのＲＰＲノードに流れることになる。即ち、上記ＲＰＲにおける空間再利用は、マルチキャストにおいて有効に活用されているとは言い難かった。従って、ユニキャスト通信における、リング型ネットワークの一般的なネットワーク帯域の使用率９５％に相当するネットワーク帯域の利用率をマルチキャスト通信において実現することは容易ではなかった。
ところで、ブロードキャストフレームによる帯域利用率の低下を最小限に抑える技術として以下の技術が知られている。この技術では、インターフェースモジュールとしてスイッチングハブを用いる。スイッチングハブには、フィルタリングデータベースにより中継ポートを決定する、ＡＲＰサーバモジュールを設ける。そして、このスイッチングハブは、上記インターフェースモジュールが受信したブロードキャストフレームを全て上記ＡＲＰサーバモジュールに渡し、このＡＲＰサーバモジュールがこのフレームの送信元ＭＡＣアドレスと送信元ネットワークアドレスとを学習して登録する。また、ＡＲＰサーバモジュールは、そのネットワークアドレスに対応しているエントリが存在している場合には、ＡＲＰ応答フレームを組み立てて受信ポートから応答する（例えば、特許文献１参照）。
また、送受信帯域の節約、マシン、スイッチ上のＶＣ（仮想チャンネル）管理メモリの節約、マルチキャスト接続時間の短縮化を可能とするＡＴＭネットワークにおけるマルチキャストに関する技術も知られている。この技術では、非受信フラグと非送信フラグとを使用してクラスタメンバ、マルチキャストサーバが条件動作を行い、必要なバーチャル・チャンネルが設定される（例えば、特許文献２参照）。
しかしながら、上記の特許文献１及び特許文献２の技術では、リング型ネットワークにおけるＩＰマルチキャスト通信に対する配慮はなかった。
【特許文献１】  日本国特開平９−６４９００号公報
【特許文献２】  日本国特開平１１−３０８２３４号公報
【発明の開示】
本発明はこのような従来の技術の問題点に鑑みてなされたものである。即ち、本発明の課題は、リング型ネットワークのマルチキャスト通信において、帯域の空間再利用を実現することにある。
本発明は上記した課題を解決するために、以下の手段を採用した。
即ち、本発明は、情報伝達の方向性を有するリング型ネットワークでのマルチキャスト通信における帯域有効利用方法である。前記リング型ネットワークにおいて、マルチキャストで通信する送信ホスト及び受信ノードは、マルチキャスト通信に係るノードを示す、エントリ情報を共有する。また、この送信ノード及び受信ノードは、前記エントリ情報をリング型ネットワーク上でブロードキャストし、前記リング型ネットワーク上の位置関係に係る、トポロジ情報を各ノード間で共有する。また、前記送信ノードは、前記エントリ情報及び前記トポロジ情報を参照して、マルチキャスト送信する情報の送信方向を決定し、情報を当該送信方向にマルチキャスト送信する。さらに、前記受信ノードは、当該送信方向に前記情報を受信する他の受信ノードが存在しない場合に、前記情報を廃棄する。
マルチキャスト通信では、あるパケット送信に関して、１箇所の送信ノードと複数の受信ノードが存在する。そこで、おのおののノードに対し、同じ情報を保持することが必要である。
そこで本発明では、エントリ情報を定義し、これをすべてのリング型ネットワークのノードで保持する。また、本発明は、ノードの位置情報を格納したトポロジ情報を設けて、このトポロジ情報とエントリ情報とを組み合わせる。
従って、本発明によれば、マルチキャスト通信において、ユニキャスト通信のように送信ノードが受信ノードを認識することが可能となる。
なお、トポロジ情報には、リング型ネットワークのノード間の位置関係、例えばノードの配置順が格納される。この位置関係は、例えばノードのＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスによって認識される。
また、本発明は、前記エントリ情報には、前記送信ノードのアドレス及び前記受信ノードのアドレスが含まれてもよい。
前記エントリ情報に、送信ノードのアドレス及び受信ノードのアドレスが含まれることで、本発明によれば、エントリ情報を参照して個々のノードが互いのノードを送信ノード及び受信ノードとして認識することができる。
また、本発明は、前記トポロジ情報には、前記送信方向及び受信ノードのアドレスが含まれてもよい。
前記トポロジ情報に、前記送信方向及び受信ノードのアドレスが含まれることで、本発明によれば、個々のノードが互いのノードの位置関係を認識することができる。
また、本発明は、前記送信ノードが、当該送信ノードの配下にある送信ホストから、前記情報を受信する。この送信ノードは、前記情報に基づいて前記エントリ情報を生成する。
送信ノードが送信ホストからの情報に基づいてエントリ情報を生成し、このエントリ情報をリング型ネットワークで送信することで、本発明によれば、受信ノードがその情報（マルチキャストパケット）の送信先を知ることができる。
また、本発明は、前記受信ノードが、当該受信ノードの配下にある受信ホストから、前記情報の受信を要求する受信要求情報を受信する。この受信ノードは、前記受信要求情報に応じて受信要求コマンドを生成し、前記受信要求コマンドを前記送信ノードに送信する。
受信ノードが受信ホストから受信要求情報を受信し、この受信要求情報に応じて受信要求コマンドを生成することで、本発明によれば、個々のノードにおいて、他のノードが受信するか否かを認識できるため、リング型ネットワークでのマルチキャスト通信における帯域有効利用が可能となる。
また、本発明は、前記送信ノードが、前記受信要求コマンドに応じて、前記エントリ情報を更新する。この送信ノードは、更新した前記エントリ情報を送信する。
送信ノードが、受信要求コマンドに応じてエントリ情報を更新することで、本発明によれば、情報を受信する受信ノード数が変化してもこの送信ノードがその変化に対応することが容易になり、受信を要求するノードに効率的にマルチキャスト送信することが可能となる。
また、本発明は、前記受信ノードが、前記受信ホストから前記情報の受信停止を要求する離脱要求情報を受信する。この受信ノードは、前記離脱要求情報に応じて他の受信ホストが存在するか否かを検出し、受信ホストが存在しない場合に、削除要求コマンドを生成する。また、この受信ノードは、前記削除要求コマンドを前記送信ノードに送信する。
受信ノードが離脱要求情報に応じて受信ホストが存在するか否かを検出し、受信ホストが存在しない場合に削除要求コマンドを生成することで、本発明によれば、受信ノードがマルチキャストパケットの受信の有無を知ることができるので、リング型ネットワークでのマルチキャスト通信における帯域有効利用が可能となる。
また、本発明は、前記送信ノードが、前記削除要求コマンドに応じて、前記エントリ情報を更新する。この送信ノードは、更新した前記エントリ情報を送信する。
削除要求コマンドに応じて、送信ノードがエントリ情報を更新することで、本発明によれば、個々のノードが他の受信ノードの数を知ることができ、リング型ネットワークでのマルチキャスト通信における帯域有効利用が可能となる。
また、本発明は、前記送信ノードが、前記送信ホストから前記情報の送信が終了したことを検出する。この送信ノードは、前記情報の送信が終了したことを受信ノードに通知する送信終了コマンドを生成する。また、この送信ノードは、前記送信終了コマンドを受信ノードに送信し、前記送信が終了したことに応じて、前記エントリ情報を削除する。
送信ノードが送信終了コマンドを生成し、エントリ情報を削除することで、本発明によれば、個々のノードが互いのノードの状況を知ることができ、リング型ネットワークでのマルチキャスト通信における帯域有効利用が可能となる。
また、本発明は、以上の何れかの機能を実現させるプログラムであってもよい。また、本発明は、そのようなプログラムをコンピュータが読み取り可能な記憶媒体に記録してもよい。
また、本発明は、以上の何れかの機能を実現させる送信ノード及び受信ノードを含むリング型ネットワークにおけるシステムであってもよい。
【図面の簡単な説明】  ＦＩＧ．１は、本発明の一実施の形態に係るリング型ネットワークの一例であり、
ＦＩＧ．２は、本実施の形態に係る、データ送受信時における主な手順を示すフローチャートであり、
ＦＩＧ．３は、本実施の形態に係る、ＲＰＲのデータパケットのフォーマット及びマルチキャストエントリテーブルのフォーマットであり、
ＦＩＧ．４は、本実施の形態で各ノードの位置関係を把握するために用いる、トポロジテーブルであり、
ＦＩＧ．５は、本実施の形態に係る制御コマンドの構造であり、
ＦＩＧ．６は、本実施の形態に係る制御レスポンスの構造であり、
ＦＩＧ．７は、本実施の形態に係るＲＰＲノードが送信をする際の処理の流れであり、
ＦＩＧ．８は、本実施の形態に係る、リング型ネットワークにおける受信ノードの処理の様子を示す図であり、
ＦＩＧ．９は、本発明を実施するリング型ネットワークにおける送信ノードＮ１とマルチキャストエントリテーブルの流れを示す図であり、
ＦＩＧ．１０は、本実施の形態における、送信ノードの状態遷移図であり、
ＦＩＧ．１１は、本実施の形態における、受信ノードの状態遷移図であり、
ＦＩＧ．１２は、本実施の形態における送信ノードの処理を示すフローチャートであり、
ＦＩＧ．１３は、本実施の形態における受信ノードの処理を示すフローチャートであり、
ＦＩＧ．１４は、本実施の形態における空間再利用の処理を示すフローチャートであり、
ＦＩＧ．１５は、本発明の一実施例に係る、従来のマルチキャストパケット送信方式と本発明におけるマルチキャストパケットの流れの相違を示す図であり、
ＦＩＧ．１６は、本実施例に係るマルチキャストエントリテーブルの一例であり、
ＦＩＧ．１７は、本実施例に係る、受信要求コマンドの一例であり、
ＦＩＧ．１８は、本実施例に係る、受信レスポンスの一例であり、
ＦＩＧ．１９は、本実施例に係る、受信を要求する受信ノードＭＡＣアドレスを追加したマルチキャストエントリテーブルの一例であり、
ＦＩＧ．２０は、本実施例に係る、各ノードの処理を示す図である。
【発明を実施するための最良の形態】  以下、図面を参照して、本発明の好適な実施の形態を説明する。
以下、本発明の一実施の形態に係る、リング型ネットワークにおけるマルチキャスト送信時の帯域有効利用方法をＦＩＧ．１からＦＩＧ．２０の図面に基づいて説明する。
《動作原理》
本実施の形態における、リング型ネットワークの基本的な概念を、ＦＩＧ．１に示す。なお、本実施の形態において、本発明のリング型ネットワークとしてＲＰＲを用いて、本発明の適用例を説明する。
本発明で使用するＲＰＲネットワークは、光二重リング型ネットワークである。このＲＰＲネットワークには、ノードが接続している。また、このＲＰＲネットワークは、０系及び１系の２つのリングから構成されている。このＲＰＲの特徴は、リング型ネットワーク上の送信ノード及び受信ノードの位置関係に応じて、伝送距離が最も短いリング（最短ルート）でデータを送信することである。このため、ＲＰＲは、０系乃至１系の何れのリングを介してデータを送信するか否かを選択できる。その際、この送信ノードは、後述する本発明のエントリ情報であるマルチキャストエントリテーブルと、同じく後述する本発明のトポロジ情報であるトポロジテーブルとによって、受信ノードの位置を知る。従って、このリング型ネットワークでは、回線利用率の高いネットワークを実現できる。
本実施の形態における送信ノードは、本発明に係る以下の手段を有する。本実施の形態に係る送信ノードは、マルチキャスト通信に係るノードを示す、エントリ情報を生成するエントリ情報生成手段を有する。また、本実施の形態に係る送信ノードは、前記エントリ情報を共有するエントリ情報共有手段をゆうする。また、本実施の形態に係る送信ノードは、前記リング型ネットワーク上の位置関係に係る、トポロジ情報を各ノード間で共有するトポロジ情報共有手段を有する。また、本実施の形態に係る送信ノードは、前記エントリ情報をリング型ネットワーク上でブロードキャストするエントリ情報送信手段を有する。また、本実施の形態に係る送信ノードは、前記エントリ情報及び前記トポロジ情報を参照して、マルチキャスト送信する情報の送信方向を決定する送信方向決定手段を有する。さらに、本実施の形態に係る送信ノードは、当該情報を当該送信方向にマルチキャスト送信する情報送信手段を有する。
また、本実施の形態における受信ノードは、本発明に係る以下の手段を有する。本実施の形態に係る受信ノードは、マルチキャスト通信に係るノードを示す、エントリ情報を受信するエントリ情報受信手段を有する。また、本実施の形態に係る受信ノードは、前記エントリ情報を共有するエントリ情報共有手段を有する。また、本実施の形態に係る受信ノードは、前記リング型ネットワーク上の位置関係に係る、トポロジ情報を各ノード間で共有するトポロジ情報共有手段を有する。また、本実施の形態に係る受信ノードは、マルチキャスト送信される情報の送信方向を参照する送信方向参照手段を有する。また、本実施の形態に係る受信ノードは、当該情報を当該送信方向に送信する送信手段を有する。さらに、本実施の形態に係る受信ノードは、当該送信方向に当該情報を受信する受信ノードが存在しない場合に、前記情報を廃棄する情報破棄手段を有する。
次に、本実施の形態におけるデータ送受信時における主な手順を、ＦＩＧ．２に示す。
本実施の形態のデータ送受信手順には、送信ノードが送信時に行う送信宣言（ＦＩＧ．２におけるステップ１、以下Ｓ１のように省略する）、受信ノードによる受信要求及びパケット削除要求（Ｓ２）、リング型ネットワークにおけるマルチキャストエントリテーブルの更新（Ｓ３）、並びに受信ノードによる処理がある（Ｓ４）。
上述の各手順について説明する。送信宣言について説明する。まず、ＲＰＲに接続するノードの配下のネットワークにマルチキャストパケット（本発明における情報）を送信する送信ホストがある。この配下に送信ホストを有するノードを送信ノードとする。送信宣言とは、マルチキャストパケットを送信するこの送信ノードが、他のノードにその旨を通知する処理である。受信要求とは、マルチキャストパケットを受信する受信ホストを配下のネットワークに有するノード（受信ノード）が、送信ノードにこのパケット受信を要求する処理である。パケット削除要求とは、受信ノードの配下のネットワークがこのパケットの受信を停止するときに行う処理である。マルチキャストエントリテーブルの更新処理とは、上述のパケット受信要求及び削除要求に応じて、送信ノードがマルチキャストエントリテーブルを更新する処理である。受信側の処理とは、受信ノードにおける、送信されたマルチキャストパケットに対する処理である。
《本実施の形態におけるマルチキャストエントリテーブル構造》
本実施の形態における、ＲＰＲのデータパケットのフォーマット及びマルチキャストエントリテーブルのフォーマットは、ＦＩＧ．３に示す通りである。このＲＰＲデータパケットのフォーマットを符号１０で示し、マルチキャストエントリテーブルのフォーマットを符号２０で示す。
ＲＰＲデータパケット１０には、そのパケット１０のネットワーク内におけるパケットの生存時間を示すＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）（８ｂｉｔ）、ＲＩ（リング識別子）（１ｂｉｔ）、Ｍｏｄｅ（パケットタイプを選別）（３ｂｉｔ）、Ｐｒｉ（優先度：パケットの優先度を示す）（３ｂｉｔ）、Ｐ（パリティビット：ＭＡＣヘッダの１５ビットについての奇数パリティ）（１ｂｉｔ）、ＤＡ（宛先ＭＡＣアドレス）（４８ｂｉｔ）、ＳＡ（送信元ＭＡＣアドレス）（４８ｂｉｔ）、Ｐｒｏｔｏｃｏｌ  Ｔｙｐｅ（用いるプロトコルのタイプを示す。また、０Ｘ２００７はＳＲＰ（Ｓｐｅｃｉａｌ  Ｒｅｕｓｅ  Ｐｒｏｔｏｃｏｌ）制御を示す）（１６ｂｉｔ）、Ｐａｙ  Ｌｏａｄ（実データを転送する情報フィールド）、ＦＣＳ（フレームチェックシーケンス）（１６ｂｉｔ）が含まれている。このうち、Ｐａｙ  Ｌｏａｄに、本実施の形態のマルチキャストエントリテーブル２０が収容される。
マルチキャストエントリテーブル２０とは、リング型ネットワークにおけるマルチキャストパケット（情報）を受信するマルチキャストグループに参加する送信ノード及び受信ノードの情報を含むテーブルである。即ち、マルチキャストエントリテーブル２０とは、マルチキャスト通信に係るノードを示すテーブルである。
マルチキャストエントリテーブル２０には、マルチキャストアドレス（マルチキャスト通信を行うために指定したアドレス）（３２ｂｉｔ）、送信ノードのＭＡＣアドレス（個々のノードを識別するためのアドレス）（４８ｂｉｔ）、並びに受信ノードのＭＡＣアドレスが含まれる。ただし、受信ノードのＭＡＣアドレスは、受信するノードの数だけ追加される。なお、受信ノードＭＡＣアドレスは、受信ノードの数に応じてｂｉｔ数（格納できるＭＡＣアドレスの数）が増えていくので可変長になっている。
このマルチキャストエントリテーブル２０において、マルチキャストアドレスと送信ノードのＭＡＣアドレスとを基本構造とし、受信ノードのＭＡＣアドレスを拡張構造とする。受信ノードのＭＡＣアドレスを拡張構造と称するのは、受信ノードの数に応じてこのＭＡＣアドレスの数が変化するためである。なお、マルチキャストアドレスは最初の４ｂｉｔが（１１１０）となっている。
このように、本実施の形態のマルチキャストエントリテーブル２０によれば、各ノードが互いのノードが送信ホスト及び受信ノードであるか否かの情報を保持し共有できる。このため、本実施の形態では、リング型ネットワークでのマルチキャスト通信における帯域有効利用が可能となる。
《本実施の形態のトポロジテーブル》
次に、本実施の形態で各ノードの位置関係を把握するために用いる、トポロジテーブルについて説明する。各ノードはトポロジテーブルをそれぞれ有する。このトポロジテーブルにより、ＲＰＲトポロジ検出の結果の格納を行う。ここで、ＲＰＲトポロジとは、ＲＰＲにおける各ノードの位置情報である。なお、トポロジテーブルとは、ＲＰＲネットワークにおいて、トポロジ検出パケットを送信し、リング上の各ノードが、定期的にトポロー検出パケットを送信し、リンク上のノードのＭＡＣアドレスとリングステータス情報で作成したものである。このトポロジテーブルにより、本実施の形態では、個々のノードが、リング０系１系の各ノードの位置関係を知ることができる。このトポロジテーブルはＦＩＧ．４のようになる。ＦＩＧ．４は、本発明のトポロジテーブルの一例を示す図であり、トポロジテーブルを符号３０で示す。
トポロジテーブル３０には、そのテーブル３０のネットワーク内におけるパケットの生存時間を示すＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）（８ｂｉｔ）、ＲＩ（リング識別子）（１ｂｉｔ）、Ｍｏｄｅ（パケットタイプを選別）（３ｂｉｔ）、Ｐｒｉ（優先度：パケットの優先度を示す）（３ｂｉｔ）、Ｐ（パリティビット：ＭＡＣヘッダの１５ビットについての奇数パリティ）（１ｂｉｔ）、ＤＡ（宛先ＭＡＣアドレス）（４８ｂｉｔ）、ＳＡ（送信元ＭＡＣアドレス）（４８ｂｉｔ）、Ｐｒｏｔｏｃｏｌ  Ｔｙｐｅ（用いるプロトコルのタイプを示す。また、０Ｘ２００７はＳＲＰ制御を示す）（１６ｂｉｔ）、Ｃｏｎｔｒｏｌ  Ｔｙｐｅ（制御コマンドのタイプを示す。０Ｘ００は送信終了コマンドであり、０Ｘ０１は受信要求コマンドである。）（８ｂｉｔ）、受信ノードのＭＡＣアドレス、ＭＡＣアドレスのタイプ（８ｂｉｔ）、ＦＣＳ（フレームチェックシーケンス）（１６ｂｉｔ）が含まれている。
本実施の形態では、このようなトポロジテーブル３０を作成することにより、他のノードで個々のノードに関する共通の位置情報を保持する。従って、本実施の形態によれば、送信ノードは、すべてのノードの位置関係を把握することができる。なお、ＦＩＧ．４において、受信ノードのＭＡＣアドレスの配列は、ネットワーク上の配置と一致しているが、この配列は本発明において必ずしも一致しなくともよい。
《制御コマンド構造》
次に、本実施の形態における、制御コマンドの構造について説明する。
この制御コマンドは、送信ノードが送信を終了した場合、受信ノードが送信ノードに受信要求を出す場合、並びに受信ノードが送信ノードに削除要求を出す場合の場合に分けて用いられる。制御コマンドの構造を、この制御コマンドの一例である送信終了コマンドに基づいて説明する。ＦＩＧ．５は、送信終了コマンドの一例であり、符号４０を付す。
制御コマンド４０には、そのコマンド４０のネットワーク内におけるパケットの生存時間を示すＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）（８ｂｉｔ）、ＲＩ（リング識別子）（１ｂｉｔ）、Ｍｏｄｅ（パケットタイプを選別）（３ｂｉｔ）、Ｐｒｉ（優先度：パケットの優先度を示す）（３ｂｉｔ）、Ｐ（パリティビット：ＭＡＣヘッダの１５ビットについての奇数パリティ）（１ｂｉｔ）、ＤＡ（送信乃至受信ノードのＭＡＣアドレス）（４８ｂｉｔ）、ＳＡ（ＤＡに対応する受信乃至送信ノードのＭＡＣアドレス）（４８ｂｉｔ）、Ｐｒｏｔｏｃｏｌ  Ｔｙｐｅ（用いるプロトコルのタイプを示す。また、０Ｘ２００７はＳＲＰ制御を示す）（１６ｂｉｔ）、Ｐａｙ  Ｌｏａｄ（実データを転送する情報フィールド）、ＦＣＳ（フレームチェックシーケンス）（１６ｂｉｔ）が含まれている。このうち、Ｐａｙ  Ｌｏａｄに、本リング型ネットワークの独自の設定である、制御パターン情報（８ｂｉｔ）及び送信元マルチキャストアドレス（３２ｂｉｔ）が収容される。
本実施の形態において、制御パターンは、以下のように定義する。
（１）０Ｘ００：送信終了コマンド（送信ノードがマルチキャストパケットの送信を終了した場合に、受信ノードに対して送信されるコマンドである）
（２）０Ｘ０１：受信要求コマンド（マルチキャストパケットを受信要求する受信ノードから送信ノードにユニキャスト送信されるコマンドである）
（３）０Ｘ０２：削除要求コマンド（受信ノードが送信ノードにマルチキャストグループから離脱する要求として削除要求を出す場合に、送信されるコマンドである）
それぞれの制御コマンドに対応した処理を他のノードに要求するノードは、この制御コマンド４０のパケットをブロードキャスト通信で他のノードに送信する。
この制御コマンドが届いたことを示すために、制御コマンドを受信したノードは、送信ノードに対して制御レスポンスを返す。ＦＩＧ．６の符号５０は、制御レスポンスの構造を示す。
制御レスポンス５０には、そのレスポンス５０のネットワーク内におけるパケットの生存時間を示すＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）（８ｂｉｔ）、ＲＩ（リング識別子）（１ｂｉｔ）、Ｍｏｄｅ（パケットタイプを選別）（３ｂｉｔ）、Ｐｒｉ（優先度：パケットの優先度を示す）（３ｂｉｔ）、Ｐ（パリティビット：ＭＡＣヘッダの１５ビットについての奇数パリティ）（１ｂｉｔ）、ＤＡ’（ＳＡのＭＡＣアドレス）（４８ｂｉｔ）、ＳＡ’（ＤＡのＭＡＣアドレス）（４８ｂｉｔ）、Ｐｒｏｔｏｃｏｌ  Ｔｙｐｅ（用いるプロトコルのタイプを示す。また、０Ｘ２００７はＳＲＰ制御を示す）（１６ｂｉｔ）、Ｐａｙ  Ｌｏａｄ（実データを転送する情報フィールド）、ＦＣＳ（フレームチェックシーケンス）（１６ｂｉｔ）が含まれている。このうち、Ｐａｙ  Ｌｏａｄに、本実施の形態の独自の設定である、制御パターン情報（８ｂｉｔ）及び送信元マルチキャストアドレス（３２ｂｉｔ）が収容される。
本実施の形態において、制御レスポンス５０の制御パターンは以下のように定義する。
（４）０Ｘ１０：送信終了レスポンス（受信ノードが、送信終了コマンドを受けたことを送信ノードに通知するための応答である）
（５）０Ｘ１１：受信要求レスポンス（送信ノードが、受信要求コマンドを受けたことを受信ノードに通知するための応答である）
（６）０Ｘ１２：削除要求レスポンス（送信ノードが、削除要求コマンドを受けたことを受信ノードに通知するための応答である）
《送信宣言》
ＲＰＲノードが送信をする際の処理の流れをＦＩＧ．７に示す。なお、本実施の形態において、用いるルーティングプロトコルはＰＩＭ−ＳＭ（Ｐｒｏｔｏｃｏｌ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｕｌｔｉｃａｓｔ  Ｓｐａｒｓｅ  Ｍｏｄｅ）とするが、本実施の形態ではこれに限定されることなく、他の代表的な複数プロトコルでも本発明を適用可能である。
ＦＩＧ．７において、送信ノードＮ１の配下にあるＬ３（レイヤー３）のサブネットワーク１内にある図示しない本発明の送信ホストは、送信ノードＮ１にマルチキャストパケットを送信する。
送信されたマルチキャストパケットは、Ｌ３スイッチ２を経由してＬ２（レイヤー２）である送信ノードＮ１が受信する。
送信ノードＮ１はｓｎｏｏｐｉｎｇを用い、配下のＬ３ネットワークからのマルチキャストアドレスを認識する（ＦＩＧ．７における（１））。なお、ｓｎｏｏｐｉｎｇとは、上位レイヤからの情報を覗き見してＬ２ネットワークでも認識可能とする技術であり、本実施の形態では、マルチキャストパケット、ＰＩＭ−Ｊｏｉｎ（加入要求）パケット、Ｐｒｕｎｅ（離脱要求情報）パケットをｓｎｏｏｐｉｎｇする。
そして、送信ノードＮ１は、マルチキャストアドレスとＲＰＲノードのＭＡＣアドレス、及びリング方向情報を用いて、後述するマルチキャストエントリテーブルを作成する（２）。
送信ノードＮ１は、ブロードキャスト通信により、ネットワークに接続する全てのノードに、作成したマルチキャストエントリテーブルを送信する（３）。これをマルチキャストエントリテーブルの送信という。マルチキャストエントリテーブルを受信したノードは、このマルチキャストエントリテーブルを保持する。
以上の（１）から（３）に示した手順によって、本実施の形態は、ネットワークに接続する全てのノードで、送信ノードＮ１のＭＡＣアドレスを認識することができる。従って、本実施の形態によれば、受信ノードに最初に送られてくるマルチキャストエントリテーブルにより、受信要求コマンドや削除要求コマンドなどの送付先（マルチキャストパケットの発信ノード）を知ることができる。
《受信要求》
ＦＩＧ．８に、本実施の形態に係る、リング型ネットワークにおける受信ノードの処理の様子を示す。なお、本実施の形態では、受信ノードＮ３の配下にあるＬ３サブネットワーク５が受信要求を出したものとする。
まず、受信ノードＮ３の配下のサブネットワーク５にある図示しない本実施の形態の受信ホストがマルチキャストパケットを受信する為に、ＩＧＭＰ  ＨＭＱ（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ  Ｈｏｓｔ  Ｍｅｍｂｅｒｓｈｉｐ  Ｑｕｅｒｙ）をネットワーク上で送信すると、Ｌ３スイッチ３は、隣接するＬ３スイッチ４に対してＰＩＭ−Ｊｏｉｎを送信する（ＦＩＧ．８における（１））。なお、このＰＩＭ−Ｊｏｉｎとは、送信ホストがマルチキャストグループに参加することを送信ノードに宣言するときに送信する受信要求情報である。
次に、受信ノードＮ３は、ｓｎｏｏｐｉｎｇによってＬ３スイッチ３からのＰＩＭ−Ｊｏｉｎを認識する（２）。受信ノードＮ３は、図示しない送信ノードで作成されたマルチキャストエントリテーブルに基づき、受信要求コマンドを作成する（３）。受信ノードＮ３は、受信ノードＮ３自身のＭＡＣアドレスを含む受信要求コマンドを送信ノードＮ１にユニキャストで通知する。受信要求コマンドを受けた送信ノードは、マルチキャストエントリテーブルを更新する。
サブネットワーク５は、受信ノードＮ３によって、送信ノードＮ１からのマルチキャストパケットを、Ｌ３スイッチ３を介して受信する（４）。
なお、ＲＰＲノードＮ４では、Ｌ３配下のサブネットワーク６からのマルチキャストパケットの受信要求がない。即ち、ＲＰＲノードＮ４には配下に受信ホストがない。このとき、ＲＰＲノードＮ４は、送信ノードＮ１には受信要求コマンドを通知しない。また、ＲＰＲノードＮ４は、マルチキャストエントリテーブル更新のパケットを受信する。一方、ＲＰＲノードＮ４は、マルチキャストパケットを受信せず、次ノードに転送する（スルーさせる）。
従って、上記の手順により、本実施の形態は、受信しないノードがマルチキャストパケットをスルーさせることで不要なパケットがネットワークを流れることがないため、帯域有効利用が可能が可能となる。
《削除要求》
また、マルチキャストパケットの受信時に、受信ノードＮ３が配下のサブネットワークに対して、ＩＧＭＰ  ＨＭＱを出しても配下のサブネットワークからの応答がない場合がある。即ち受信ホストが消滅した場合である。このとき、Ｌ３スイッチ３は、受信ノードにＰｒｕｎｅ（離脱要求情報）信号を出す。このＰｒｕｎｅ信号を受信ノードＮ３がｓｎｏｏｐｉｎｇで検出する。そして、受信ノードＮ３は、図示しない送信ノードに対する削除要求コマンドを作成する。受信ノードＮ３は、自身のＭＡＣアドレスを送信ノードにユニキャストで通知する。削除要求コマンドを受けた送信ノードは、マルチキャストエントリテーブルを削除する。送信ノードは、更新したマルチキャストエントリテーブルを削除した情報を受信ノードＮ３にブロードキャストする。更新したマルチキャストエントリテーブルを受信した受信ノードは、マルチキャストグループから離脱する。
《マルチキャストエントリテーブルの更新》
次に、本実施の形態における、マルチキャストエントリテーブルの更新について、ＦＩＧ．９に基づいて説明する。ＦＩＧ．９には、本実施の形態のリング型ネットワークにおける送信ノードＮ１とマルチキャストエントリテーブルの流れが示されている。
本実施の形態において、受信ノードがデータを受信するときには、以下のような手順で行われる。
まず、受信要求コマンドをこの受信ノードから送信ノードＮ１に通知する（ＦＩＧ．９における（１））。受信要求コマンドを受け取った送信ノードＮ１は、マルチキャストエントリテーブルを更新する（２）。そして、送信ノードＮ１は、各ノードに対して、更新したマルチキャストエントリテーブルをブロードキャストする（３）。
また、本発明において、受信ノードがデータの受信を停止するときには、以下のような手順で行われる。
まず、削除要求コマンドを受信ノードから送信ノードＮ１に通知する（ＦＩＧ．９における（５））。送信ノードＮ１は、削除要求コマンドを受けて、マルチキャストエントリテーブルを更新する（２）。送信ノードＮ１は、各ノードに対して、更新したマルチキャストエントリテーブルをブロードキャストする（３）。各ノードは、受信したマルチキャストエントリテーブルを保持する（４）。
《データ送信》
送信ノードＮ１がマルチキャストエントリテーブルを更新し、リング型ネットワークの各ノードにマルチキャストエントリテーブルがブロードキャストされた状態で、送信ノードＮ１は、画像等のマルチキャストパケット情報をマルチキャスト送信で送信する。
受信ノードは、ＦＩＧ．９の（４）にて保持したマルチキャストエントリテーブルに基づき、受信したマルチキャストパケット情報を次のノードに転送するか、或いは破棄するか否かを決定する。
《受信ノードの処理》
本実施の形態では、マルチキャストエントリテーブル及びトポロジ検出を組み合わせて、必要なノードのみにマルチキャスト通信を実現する。
そのために、各ノードが保持するトポロジ検出により作成したトポロジマップ及びマルチキャストエントリテーブルにより、各ノードが自ノードより先にデータ受信要求ノードがなければ、そのデータを取り込んだ上で破棄する。また、トポロジマップ及びマルチキャストエントリテーブルにより、自ノードより先にデータ受信要求ノードがあれば、そのデータを取り込んだ上で次のノードに送信することができる。
受信ノードの処理の具体的なステップは、以下に示す。
まず、受信ノードは、マルチキャストエントリテーブルが流れてきたリングを識別する。即ち、受信ノードは、このリングが０系であるか１系であるか否かを検出する。
次に、受信ノードは、検出したマルチキャストエントリテーブルとトポロジを基に、次ノード以降に情報を要求するノードが存在するか否かを確認する。
受信ノードは、このノードに情報を取り入れた後、この情報を要求するノードが次ノード以降に存在する場合には、受信ノードがネットワーク上の次ノードにこの情報を転送する。また、この情報を要求するノードが存在しない場合には、この情報が不要なトラフィックデータとなるため、この情報を破棄する。
《送信ノード、受信ノードの状態遷移》
次に、本実施の形態における、送信ノードの状態遷移をＦＩＧ．１０に示す。また、本実施の形態における、受信ノードの状態遷移をＦＩＧ．１１に示す。
（１）送信ノードの状態遷移
送信ノードの状態遷移について、ＦＩＧ．１０に示す状態遷移図に基づいて説明する。
ＦＩＧ．１０において、送信ノードにマルチキャストエントリテーブルがない場合を状態１とし、またマルチキャストエントリテーブルがある場合を状態２とする。
状態１のとき、送信ノードは、配下のネットワークからマルチキャストグループへの参加要求があった場合には、マルチキャストエントリテーブルを作成し、このマルチキャストエントリテーブルを他のノードに配信する。このとき、送信ノードは、状態１から状態２へと遷移する（ＦＩＧ．１０における１−１）。
状態２のとき、送信ノードは、配下のネットワークからマルチキャストグループへの参加要求があった場合には、（１−１）の状態を維持する（２−１）。
送信ノードは、他のノードから情報の受信要求があった場合には、マルチキャストエントリテーブルに受信を要求するノードのＭＡＣアドレスを追加し、このマルチキャストエントリテーブルを各ノードにブロードキャスト配信する（２−２）。
他のノードから情報の削除要求があった場合には、送信ノードは、マルチキャストエントリテーブルから削除を要求するノードのＭＡＣアドレスを削除し、このマルチキャストエントリテーブルを各ノードにブロードキャスト配信する（２−３）。
配下のネットワークより、マルチキャストグループからの離脱要求があった場合には、送信ノードは、保持しているマルチキャストエントリテーブルを削除し、各ノードに送信終了コマンドを送信する（２−４）。
（２）受信ノードの状態遷移
受信ノードの状態遷移について、ＦＩＧ．１１に示す状態遷移表に基づいて説明する。
ＦＩＧ．１１において、受信ノードにマルチキャストエントリテーブルがある場合を状態３とし、マルチキャストエントリテーブルがない場合を状態４とする。
状態３のとき、受信ノードは、配下のネットワークからマルチキャストグループへの参加要求を示すＰＩＭ−Ｊｏｉｎがあった場合には、送信ノードに受信要求コマンドを送信する。（ＦＩＧ．１１における３−１）。これにより、マルチキャストエントリテーブルにこの受信ノードのＭＡＣアドレスが追加され、ブロードキャストされる。
配下のネットワークからＰｒｕｎｅ信号を認識した場合、受信ノードは、送信ノードに受信ノードのＭＡＣアドレスの削除要求を送信する（３−２）。
送信ノードから送信終了コマンドを受信した場合、受信ノードは、保持しているマルチキャストエントリテーブルを削除し、状態３から状態４へと遷移する（３−３）。
状態４のとき、受信ノードは、配下のネットワークからマルチキャストグループへの参加要求を示すＰＩＭ−Ｊｏｉｎがあった場合には、マルチキャストエントリテーブルがなく送信ノードが不明のため、処理を待機する（４−１）。
配下のネットワークからＰｒｕｎｅ信号を認識した場合、受信ノードは、マルチキャストエントリテーブルがなく送信ノードが不明のため、処理を待機する（４−２）。
《処理フローチャート》
次に、本実施の形態における送信ノード、受信ノード、空間再利用の処理について、フローチャートを用いて説明する。
まず、本実施の形態における送信ノードの処理を、ＦＩＧ．１２のフローチャートを用いて説明する。
送信ノードは、各ノードの位置関係を把握するためにトポロジテーブルを検出する（ＦＩＧ．１２におけるステップ１０１，以下Ｓ１０１のように省略する）。
送信ノードは、配下のネットワークからマルチキャストアドレスが検出可能か否かを判定する（Ｓ１０２）。このとき、送信ノードは、マルチキャストアドレスを検出できればステップ１０３以降の処理を継続する。また、送信ノードは、マルチキャストアドレスを検出できなければ本処理を終了する。これにより、リング型ネットワークは、マルチキャスト以外の通常の送信処理を実行する。
マルチキャストアドレスを検出できた場合、送信ノードは、マルチキャストエントリテーブルをリング型ネットワークに送信する（Ｓ１０３）。
送信ノードは、受信を要求する受信ノードがあるか否かを検出する（Ｓ１０４）。このとき、送信ノードは、受信ノードがある場合はステップ１０５の処理を行い、受信ノードがない場合にはステップ１０６の処理を行う。
受信ノードがある場合に送信ノードは、マルチキャストエントリテーブルに受信ノードのＭＡＣアドレスを追加する更新を行い、各ノードに送信する（Ｓ１０５）。この場合、送信ノードは、マルチキャストエントリテーブルをブロードキャストすればよい。
次に、送信ノードは、受信要求を削除する要求があるか否かを検出する（Ｓ１０６）。このとき、削除要求がある場合には、送信ノードは削除要求コマンドを反映したマルチキャストエントリテーブルを更新して、各ノードに送信する（Ｓ１０７）。この場合も、送信ノードは、マルチキャストエントリテーブルをブロードキャストすればよい。また、削除要求がない場合には、ステップ１０８の処理に移行する。
送信ノードは、配下のネットワークからのマルチキャストパケットによる情報の送信が終了したか否かを検出する（Ｓ１０８）。このとき、マルチキャストパケットの送信が終了した場合に送信ノードは、受信ノードに送信終了コマンドをブロードキャストする（Ｓ１０９）。送信終了コマンド送信後、送信ノードは、マルチキャストエントリテーブルを更新して各ノードに送信して（Ｓ１１０）、本処理を終了する。また、マルチキャストパケットの送信が終了していない場合に送信ノードは、ステップ１０４の処理に戻る。
次に、本実施の形態における受信ノードの処理について、ＦＩＧ．１３のフローチャートを用いて説明する。
まず、受信ノードは、各ノードの位置関係を把握するためにトポロジテーブルを検出する（ＦＩＧ．１３におけるステップ２０１，以下Ｓ２０１のように省略する）。
受信ノードは、送信ノードからマルチキャストエントリテーブルを受信し（Ｓ２０２）、このマルチキャストエントリテーブルを保持する（Ｓ２０３）。
次に、受信ノードは、配下のネットワークからＰＩＭ−Ｊｏｉｎがあるか否かを検出する（Ｓ２０４）。このとき、ＰＩＭ−Ｊｏｉｎがある場合に受信ノードはステップ２０５の処理を行う。また、ＰＩＭ−Ｊｏｉｎがない場合に受信ノードは本処理を終了する。これにより、リング型ネットワークは、マルチキャスト以外の通常の送信処理を実行する。
受信ノード配下のネットワークにある受信ホストからＰＩＭ−Ｊｏｉｎがあった場合に、この受信ノードは、保持しているマルチキャストエントリテーブルの受信ホストの数を１つ加算する（Ｓ２０５）。
受信ノードは、送信ノードに受信要求コマンドをユニキャスト送信する（Ｓ２０６）。送信後、受信ノードは、マルチキャストエントリテーブルを保持する（Ｓ２０７）。
受信要求コマンド送信後、受信ノードは、配下のネットワークの受信ホストからＰｒｕｎｅ信号があるか否かを検出する（Ｓ２０８）。このとき、受信ノードは、Ｐｒｕｎｅ信号を受信していない場合にはステップ２０４の処理に戻り、Ｐｒｕｎｅ信号を受信した場合にはステップ２０９の処理を行う。
受信ノードは、マルチキャストエントリテーブルの受信ホストの数を１つ減算する（Ｓ２０９）。
受信ノードは、受信ホストの数が０であるか否か、即ち情報を受信するノードがあるか否かを検出する（Ｓ２１０）。このとき、受信ホストの数が０である場合、受信ノードは、送信ノードに削除要求コマンドを送信する（Ｓ２１１）。また、受信ホストの数が０でない場合、受信ノードは、送信ノードから送信終了コマンド（宣言）があるか否かを検出する（Ｓ２１２）。
受信ノードは、ステップ２１１及びステップ２１２の処理が完了すると、受信ノードは本処理を終了する。
次に、本実施の形態における空間再利用の処理を、ＦＩＧ．１４に示すフローチャートを用いて説明する。
まず、受信ノードは、情報が格納されたマルチキャストパケットを受信する（ＦＩＧ．１４におけるステップ３０１、以下Ｓ３０１のように省略する）。このとき、受信ノードは、受信したマルチキャストパケットが送信されてきたリング方向を０系乃至１系の何れであるか否かを認識する（Ｓ３０２）。リング方向が１系である場合に受信ノードは、ステップ３０３の処理を行い、リング方向が０系である場合にはステップ３０７の処理を行う。
リング方向が１系である場合、受信ノードは、リング方向１系のトポロジテーブルを選択する（Ｓ３０３）。リング方向の選択は、ＦＩＧ．４のトポロジテーブル３０において、リング方向を示すＲＩを参照して選択される。ただし、このリング型ネットワークは、単一のトポロジテーブルを使用してもよい。この場合、ＲＩに基づいて、リング方向を設定すればよい。
リング方向の選択後、受信ノードは、先のノードが情報を受信するか否かを判定する（Ｓ３０４）。このとき、先のノードが情報を受信しない場合には、受信ノードがこの情報を破棄する（Ｓ３０５）。また、先のノードが情報を受信する場合には、受信ノードがこの情報を次のノードに転送する（Ｓ３０６）。ステップ３０５及びステップ３０６の処理が完了すると、受信ノードは本処理を終了する。
リング方向が０系である場合、受信ノードは、リング方向０系のトポロジテーブルを選択する（Ｓ３０７）。リング方向の選択は、ＦＩＧ．４のトポロジテーブル３０において、リング方向を示すＲＩを参照して選択される。
リング方向の選択後、受信ノードは、先のノードが情報を受信するか否かを判定する（Ｓ３０８）。このとき、先のノードが情報を受信しない場合には、受信ノードがこの情報を破棄する（Ｓ３０９）。また、先のノードが情報を受信する場合には、受信ノードがこの情報を次のノードに転送する（Ｓ３１０）。ステップ３０９及びステップ３１０の処理が完了すると、受信ノードは本処理を終了する。
【実施例】  次に、本発明の具体的な一実施例を説明する。
ＦＩＧ．１５は、従来のマルチキャストパケット送信方式と本発明におけるマルチキャストパケットの流れの相違を示す。なお、本実施例では、ノードＮ１が送信ノード、ノードＮ２，Ｎ５が受信ノードとする。送信ホストＡから送信されたマルチキャストパケット（情報）は、送信ノードＮ１を介して受信ノードＮ２，Ｎ５が受信する。
従来の方式では、マルチキャスト通信をＲＰＲリング型ネットワーク上で行うとマルチキャストパケットが必ずすべてのノードにわたってしまう。しかしながら、本発明によれば、受信要求しているノードのみにマルチキャストパケットが流れる。
本実施例において、送信ノードおよび各受信ノードは、ＦＩＧ．４に示したトポロジテーブル３０によって、各ノードの位置関係を把握する。
送信ノードＮ１が配下ネットワークからのマルチキャストアドレスをｓｎｏｏｐｉｎｇにより認識すると、送信ノードＮ１は、ＦＩＧ．１６に示すマルチキャストエントリテーブルを作成する。
ＦＩＧ．１６のマルチキャストエントリテーブルには、送信ノード配下の送信ホストのマルチキャストアドレスと、送信ノードＮ１のＭＡＣアドレスが格納されている。
送信ノードＮ１は、この作成したマルチキャストエントリテーブルをすべてのノードにブロードキャストする。
このマルチキャストエントリテーブルを受信した各受信ノードは、マルチキャストエントリテーブルを保持する。
また、ｓｎｏｏｐｉｎｇにより配下のネットワークからのＰＩＭ−Ｊｏｉｎの有無を確認する。このとき、仮にＰＩＭ−Ｊｏｉｎがある場合に受信ノードは、マルチキャストエントリテーブル内に記載されている送信ノードＮ１に対し、ＦＩＧ．１７に示す受信要求コマンドを作成する。
ＦＩＧ．１７の受信要求コマンドには、そのコマンドのネットワーク内におけるＤＡ（送信ノードＮ１のＭＡＣアドレス）、ＳＡ（受信ノードのＭＡＣアドレス））、Ｐｒｏｔｏｃｏｌ  Ｔｙｐｅ（用いるプロトコルのタイプを示す。また、０Ｘ２００７はＳＲＰ制御を示す）（１６ｂｉｔ）、Ｐａｙ  Ｌｏａｄ（実データを転送する情報フィールド）には、制御パターン０Ｘ０１の受信要求コマンド（マルチキャストパケットを受信要求する受信ノードから送信ノードにユニキャスト送信されるコマンドである）が含まれている。また、Ｐａｙ  Ｌｏａｄには、受信ノードのＭＡＣアドレスが格納されている。
そして、受信ノードは、送信ノードＮ１に受信要求コマンドをユニキャストで送信する。
上記の受信要求コマンドを受信した送信ノードＮ１は、この受信要求コマンドに対する受信レスポンスをそれぞれの受信を要求する受信ノードにユニキャスト送信する。ＦＩＧ．１８に、この受信レスポンスの一例を示す。
ＦＩＧ．１８の受信レスポンスには、そのレスポンスのネットワーク内におけるＤＡ（受信ノードのＭＡＣアドレス）、ＳＡ（送信ノードのＭＡＣアドレス））、Ｐｒｏｔｏｃｏｌ  Ｔｙｐｅ（用いるプロトコルのタイプを示す。また、０Ｘ２００７はＳＲＰ制御を示す）（１６ｂｉｔ）、Ｐａｙ  Ｌｏａｄ（実データを転送する情報フィールド）には、制御パターン０Ｘ１１の受信要求レスポンス（送信ノードが、受信要求コマンドを受けたことを受信ノードに通知するための応答である）が含まれている。また、Ｐａｙ  Ｌｏａｄには、受信ノードのＭＡＣアドレスが格納されている。
さらに、受信ノードは、ＦＩＧ．１６のマルチキャストエントリテーブルに受信を要求する受信ノードＭＡＣアドレスを追加し、このマルチキャストエントリテーブルをマルチキャスト通信ですべてのノードに送信する。他のノードはこのマルチキャストエントリテーブルを保持する。ＦＩＧ．１９は、受信を要求する受信ノードＭＡＣアドレスを追加したマルチキャストエントリテーブルの一例である。
ＦＩＧ．１９のマルチキャストエントリテーブルには、ＦＩＧ．１６のマルチキャストエントリテーブルと比較して、マルチキャストパケットを受信する受信ノードのＭＡＣアドレスが追加されている。
トポロジ検出が完了した後、それぞれのノードがマルチキャストエントリテーブルを受け取った際の制御は、ＦＩＧ．２０の各ノードの処理表に示すとおりである。
ＦＩＧ．２０において、ケース１（自ノードの先のノードが受信要求を出している場合）に該当するノードは、本実施例では受信ノードＮ２及び情報を受信しない（空送り）ＲＰＲノードＮ３，Ｎ４である。また、ケース２（次ノードの先のノードが受信要求を出していない場合）は、本実施例では受信ノードＮ５である。このＦＩＧ．２０によれば、トポロジテーブルによって、リング方向から各ノードの位置関係を認識し、またマルチキャストエントリテーブルによって受信ノードを知ることができるので、各ノードは上の表より破棄するか、或いは転送するか否かを判断する。
この受信ノードＮ５がケース２の処理を行うことにより、本発明は、受信ノードＮ５以降のノードにマルチキャストパケットが送信されることがなくなり、リング型ネットワークの帯域の有効利用、即ち空間再利用を行うことができる。
《その他の実施の形態》
また、本実施の形態において、本発明のマルチキャストネットワークにおけるＲＰＲの帯域有効利用方法、プログラム、装置は、本実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
例えば、送信ノード配下の送信ホストが送信をやめる際の処理として、以下のような方法が考えられる。
まず、一つの方法は、送信ＲＰＲノードが常に送信ホストを監視し（一定時間に１回送信ホストへＱｕｅｒｙを発信）、送信ホストからの応答がなくなった時点で送信ノードが送信を取りやめたと判断する、と言う方法である。
また、他の方法としては、以下の方法も考えられる。マルチキャストエントリテーブルに時間制限のヘッダを追加（例えば８ビット）し、送信ノードで保持する。保持したエントリテーブルは、所定の時間が経過後、時間制限ヘッダの中の値が減少するように設定する。時間制限ヘッダの値が０になる前に、新たなマルチキャストパケットが到達した場合は、時間制限ヘッダの値は初期値に戻る。また、仮に時間制限ヘッダの値が０になってしまったら、送信ホストは無くなったものと判断する。
また、本実施の形態において、用いるルーティングプロトコルはＰＩＭ−ＳＭ（Ｐｒｏｔｏｃｏｌ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｕｌｔｉｃａｓｔ  Ｓｐａｒｓｅ  Ｍｏｄｅ）とするが、本実施の形態ではこれに限定されることなく、他の代表的な複数プロトコルでも本発明を適用可能である。
また、本実施の形態は、以上の何れかの機能を実現させるプログラムであってもよい。また、本実施の形態は、そのようなプログラムをコンピュータが読み取り可能な記憶媒体に記録してもよい。
また、本実施の形態は、以上の何れかの機能を実現させる送信ノード及び受信ノードを含むリング型ネットワークにおけるシステムであってもよい。
【産業上の利用可能性】  本発明により、リング型ネットワークのマルチキャスト通信において、送信ノードが受信ノードを把握することが可能となり、情報を要求する受信ノードにのみデータを送信することができるため、マルチキャスト通信において、他のノードにマルチキャストパケットが流れることがなく、帯域の有効利用、即ち空間再利用ができる。
【図１】
2004064335.tif 000003
【図２】
2004064335.tif 000004
【図３】
2004064335.tif 000005
【図４】
2004064335.tif 000006
【図５】
2004064335.tif 000007
【図６】
2004064335.tif 000008
【図７】
2004064335.tif 000009
【図８】
2004064335.tif 000010
【図９】
2004064335.tif 000011
【図１０】
2004064335.tif 000012
【図１１】
2004064335.tif 000013
【図１２】
2004064335.tif 000014
【図１３】
2004064335.tif 000015
【図１４】
2004064335.tif 000016
【図１５】
2004064335.tif 000017
【図１６】
2004064335.tif 000018
【図１７】
2004064335.tif 000019
【図１８】
2004064335.tif 000020
【図１９】
2004064335.tif 000021
【図２０】
2004064335.tif 000022
【国際調査報告】
2004064335.tif 000023
2004064335.tif 000024
2004064335.tif 000025
2004064335.tif 000026