(57)【要約】    【課題】      ＩＰマルチキャスト対応のネットワークと非対応のネットワークが混在したネットワーク環境においてマルチキャスト通信を行う場合に、エンドノードにおける処理負荷を軽減し、且つ可能なマルチキャスト通信を利用できてパケット配送のために消費するネットワーク帯域を節約すること。    【解決手段】  マルチキャスト通信のパケット配送において、各エンドノードは互いにＩＰマルチキャストで通信可能か、または可能でないかを確認する。そして、各エンドノードにおいてＩＰマルチキャストのみでは通信不可能な他のエンドノードへのパケット配送にＩＰユニキャストを用いる。  【選択図】      図５
2005151541.tif 000002
【特許請求の範囲】
【請求項１】
一対多又は多対多の通信であるマルチキャスト通信において、当該マルチキャスト通信に参加するエンドノード上でのパケット配送にＩＰマルチキャストとＩＰユニキャストとを併用し、受信者エンドノードに応じてＩＰマルチキャストとＩＰユニキャストを切り替えることを特徴とするパケット配送制御方法。
【請求項２】
マルチキャスト通信に参加する各エンドノードに対して、マルチキャスト配送木に基づいた転送ルールを設定し、前記転送ルールには次のパケット配送先がＩＰマルチキャストによる通信が可能であればＩＰマルチキャストアドレスを記述し又ＩＰマルチキャストによる通信ができないのであれば次のパケット配送先であるエンドノードのＩＰアドレスを記述しておき、各エンドノードが前記転送ルールに記述されたアドレス属性に応じてＩＰマルチキャストとＩＰユニキャストを切り替えることを特徴とするパケット配送制御方法。
【請求項３】
マルチキャスト通信に参加するエンドノード上にマルチキャスト配送木に基づいた転送ルールを設定し、前記転送ルールに対して次のパケット配送先がＩＰマルチキャストによる通信が可能であればＩＰマルチキャストアドレスを記述し又ＩＰマルチキャストによる通信ができないのであれば次のパケット配送先であるエンドノードのＩＰアドレスを記述しておき、マルチキャスト配送木の根又は節となるエンドノードにおいてＩＰマルチキャストにより通信可能な他のエンドノードが存在するのであれば、それらの他のエンドノードに対してはＩＰマルチキャストアドレスを宛先アドレスとしたＩＰマルチキャストパケットでパケット配送を行い、マルチキャスト配送木の根又は節となるエンドノードにおいてＩＰマルチキャストにより通信ができない他のエンドノードが存在するのであれば、それらの他のエンドノードのＩＰアドレスを宛先アドレスとしたＩＰユニキャストパケットでパケット配送を行うことを特徴とするパケット配送制御方法。
【請求項４】
マルチキャスト通信に参加したエンドノードからＩＰマルチキャストによる通信が可能か否か不明な自己以外のエンドノードに対してＩＰマルチキャストにて応答要求メッセージを送信し、それに対する応答メッセージを返信したエンドノードをＩＰマルチキャストにより通信可能なエンドノードと判定することを特徴とするＩＰマルチキャスト対応判定方法。
【請求項５】
マルチキャスト通信に参加したエンドノードのうち送信端末となるエンドノード上において当該送信端末を根とするマルチキャスト配送木を求めるマルチキャスト配送木算出方法であって、マルチキャスト配送木の対象となるエンドノードをリストに登録し、前記登録リストから当該送信者エンドノードがＩＰマルチキャスト可能なエンドノードである内部エンドノードを除外し、当該送信者エンドノードを起点として当該登録リストの中から配送木算出アルゴリズムに基づいて節となるエンドノードを特定し、当該節エンドノード及び節エンドノードからみた内部エンドノードを前記登録リストから除外し、前記節エンドノードを前記起点に加え、その先の部分についても同じ処理を繰り返すことによりマルチキャスト配送木を求めるマルチキャスト配送木算出方法。
【請求項６】
請求項５記載のマルチキャスト配送木算出方法に基づいて算出されたマルチキャスト配送木の各節エンドノードに対して、節毎に定めた転送ルールであって当該マルチキャスト配送木の根となるエンドノードを送信元とするマルチキャスト通信用のパケットを受信した場合にどのＩＰアドレスに転送するかを示した転送ルールが記述された転送要求メッセージをＩＰユニキャストで送信し、前記転送要求メッセージを受信した節エンドノードが転送要求メッセージ中の転送ルールを自己の転送ルールとして保持することを特徴とするマルチキャスト配送木構築方法。
【請求項７】
マルチキャスト通信から離脱するエンドノードを検出した場合、当該エンドノード離脱後の状態に合わせて前記マルチキャスト配送木を再構築することを特徴とする請求項６記載のマルチキャスト配送木構築方法。
【請求項８】
マルチキャスト通信に参加するエンドノードを管理する管理サーバを設け、エンドノードに関する情報及びエンドノードの参加・離脱に関する情報は管理サーバとエンドノードとの間で交換されることを特徴とする請求項１又は請求項２記載のパケット配送制御方法。
【請求項９】
一対多又は多対多の通信であるマルチキャスト通信に参加する通信端末であって、パケット配送にＩＰマルチキャストとＩＰユニキャストとを併用し、受信者エンドノードに応じてＩＰマルチキャストとＩＰユニキャストを切り替えることを特徴とする通信端末。
【請求項１０】
マルチキャスト通信に参加するエンドノードを管理する管理サーバとの間で、他のエンドノードに関する情報及び他のエンドノードの参加・離脱に関する情報を交換することを特徴とする請求項９記載の通信端末。
【請求項１１】
一対多又は多対多の通信であるマルチキャスト通信に参加する通信端末であって、パケット配送にＩＰマルチキャストとＩＰユニキャストとを併用するため、ＩＰマルチキャストとＩＰユニキャストが混在するマルチキャスト配送木を算出することを特徴とする請求項９記載の通信端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一つの送信端末に対して複数の受信端末が存在する一対多型の通信におけるパケット配送制御方法、又は複数の送信端末に対して複数の受信端末が存在する多対多型の通信におけるパケット配送制御方法に関する。
【背景技術】
【０００２】
インターネット上で行われる一対多型の通信または多対多型の通信（以降、マルチキャスト通信と記述）に用いられるパケット配送技術として、ＩＰマルチキャストが挙げられる。ＩＰマルチキャストは、マルチキャスト通信に必要となるパケット複製とその転送処理、メンバ管理処理、マルチキャスト配送木構築処理を、インターネット上に分散するパケットの中継装置（以降、ルータと記述）上で行う技術である。
【０００３】
ＩＰマルチキャストは、一つまたは複数の送信端末から、一つまたは複数の受信端末（以降、マルチキャスト通信における送信端末と受信端末の集合をエンドノードと記述）に対するパケット配送において、ルータが適宜パケット複製とその転送処理を行う。これにより、パケット配送のために消費するネットワーク帯域資源を節約でき、効率的なパケット配送を可能にする。
【０００４】
しかし、ＩＰマルチキャストは、ルータの対応が必須である。このため、インターネット上の全てのルータがＩＰマルチキャストに対応し、インターネット全体でＩＰマルチキャストが使用できる環境が急速に整う可能性は低い。当面、インターネット上において、ＩＰマルチキャストに対応しているネットワークと対応しないネットワークが混在することが予想される。
【０００５】
ＩＰマルチキャストを用いてマルチキャスト通信を行おうとした場合、全てのエンドノードがＩＰマルチキャストに対応したネットワークに接続している必要がある。また、ＩＰマルチキャストでは、ルータが受信端末のIGMP（Internet Group Management Protocol）によるJoin／Leaveパケットを正しく処理し、ＩＰマルチキャストパケットを正しく受信端末に届けるための（ＩＰマルチキャストのためのルーティングプロトコルによる）制御メッセージの交換を経路上のルータ間で行う必要があるため、ＩＰマルチキャストに対応しないルータおよびＩＰマルチキャストに対応しないネットワークをまたぐ通信は不可能となる。このことがユーザのマルチキャスト通信利用を制限している。
【０００６】
上記のマルチキャスト通信におけるＩＰマルチキャストの課題を解決するパケット配送技術として、アプリケーションレイヤマルチキャストがある。ＩＰマルチキャストは、主にルータ上で実現される技術であるのに対して、アプリケーションレイヤマルチキャストは、エンドノード上で実現される技術の総称である。
【０００７】
アプリケーションレイヤマルチキャストは、一つまたは複数の送信端末から、一つまたは複数の受信端末に対してパケット配送を行う際、エンドノード自身がその他のエンドノードを節とするマルチキャスト配送木を計算・構築し、この配送木に沿ってＩＰユニキャストを用いてパケットを送信・複製・転送するという手法である。アプリケーションレイヤマルチキャストでは、ルータは単にＩＰユニキャストパケットを転送するだけでよいので、現在のインターネットのインフラをそのまま使用でき、ユーザのマルチキャスト通信利用を制限しない。
【０００８】
しかし、パケット複製とその転送処理、メンバ管理処理、マルチキャスト配送木構築処理といったマルチキャスト通信に必要となる全ての機能がエンドノードに集中しているため、エンドノードにおける処理負荷が大きくなるという課題がある。また、全てＩＰユニキャストによりパケット配送を行うことから、パケット配送のために消費するネットワーク帯域が多くなるという課題がある。これらの理由から、アプリケーションレイヤマルチキャストは、特に多数の送信端末および受信端末が存在するマルチキャスト通信に適さない。
【０００９】
また、アプリケーションレイヤマルチキャストのエンドノードにおける処理負荷が大きくなるという課題がある。これに対して、エンドノードが行うパケット複製とその転送処理を、ルータ上のアプリケーションレイヤマルチキャスト専用ハードウェアが代行し、エンドノードにおける処理負荷を軽減しようとする方式がある（例えば、特許文献１を参照）。
【００１０】
しかし、前記方式は、前記方式をサポートするハードウェアを備えた特別なルータを用意しなければならず、インターネット上に普及する可能性は低い。従って、マルチキャスト通信を行うユーザへの利便性が高いとはいえない。
【特許文献１】特開２００３−１８８９１８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、ＩＰマルチキャスト対応のネットワークと非対応のネットワークが混在したネットワーク環境において、エンドノードにおける処理負荷を軽減し、且つ可能なマルチキャスト通信を利用できてパケット配送のために消費するネットワーク帯域を節約できるパケット配送制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
前記課題を解決するために、本発明のパケット配送制御方法は、マルチキャスト通信において、エンドノード上で行うパケット配送に、ＩＰマルチキャストおよびＩＰユニキャストを併用し、受信端末であるエンドノードに応じて、ＩＰマルチキャストとＩＰユニキャストを切替える。
【００１３】
すなわち、マルチキャスト通信のパケット配送において、各エンドノードは互いにＩＰマルチキャストで通信可能か、または可能でないかを確認する。そして、各エンドノードにおいて、ＩＰマルチキャストのみでは通信不可能な他のエンドノードへのパケット配送にＩＰユニキャストを用いるものである。これにより、ＩＰマルチキャストの課題である、ＩＰマルチキャスト非対応ネットワーク上でのマルチキャスト通信を実現し、ＩＰマルチキャスト非対応ネットワークの存在から、ユーザのマルチキャスト通信利用が制限される課題を解決する。
【００１４】
また、複数のエンドノードが同一のＩＰマルチキャストネットワークに接続し、ＩＰマルチキャストを用いて通信可能な場合には、それらエンドノード間でのパケット配送にはＩＰマルチキャストを用い、マルチキャスト通信に必要となるパケット複製とその転送処理や、マルチキャスト配送木構築処理の一部を、ＩＰマルチキャストに対応するネットワーク上のルータに処理させる。これにより、アプリケーションレイヤマルチキャストと比べて、エンドノードにおけるこれらの処理負荷を軽減すると同時に、使用するネットワーク帯域資源の節約を実現する。
【発明の効果】
【００１５】
本発明によれば、ＩＰマルチキャスト対応のネットワークと非対応のネットワークが混在したネットワーク環境において、エンドノードにおける処理負荷を増大させず、且つネットワーク帯域の消費量を小さくしたマルチキャスト通信を実現するパケット配送制御方法を提供できる。
【発明を実施するための最良の形態】
【００１６】
本発明の第１の態様は、一対多又は多対多の通信であるマルチキャスト通信において、当該マルチキャスト通信に参加するエンドノード上でのパケット配送にＩＰマルチキャストとＩＰユニキャストとを併用し、受信者エンドノードに応じてＩＰマルチキャストとＩＰユニキャストを切り替えることを特徴とするパケット配送制御方法である。
【００１７】
このようなパケット配送制御方法によれば、各エンドノードにおいてＩＰマルチキャストのみでは通信不可能な他のエンドノードへのパケット配送にＩＰユニキャストを用いることで、ＩＰマルチキャストの課題である、ＩＰマルチキャスト非対応ネットワーク上でのマルチキャスト通信を実現し、またアプリケーションレイヤマルチキャストと比べて、エンドノードにおけるこれらの処理負荷を軽減すると同時に、消費するネットワーク帯域資源を節約する。
【００１８】
本発明の第２の態様は、マルチキャスト通信に参加する各エンドノードに対して、マルチキャスト配送木に基づいた転送ルールを設定し、前記転送ルールには次のパケット配送先がＩＰマルチキャストによる通信が可能であればＩＰマルチキャストアドレスを記述し又ＩＰマルチキャストによる通信ができないのであれば次のパケット配送先であるエンドノードのＩＰユニキャストアドレス（以降、ＩＰユニキャストアドレスを単に“ＩＰアドレス”と記述）を記述しておき、各エンドノードが前記転送ルールに記述されたアドレス属性に応じてＩＰマルチキャストとＩＰユニキャストを切り替えることを特徴とするパケット配送制御方法である。
【００１９】
このようなパケット配送制御方法によれば、各エンドノードに次のパケット配送先がＩＰマルチキャストによる通信が可能であればＩＰマルチキャストアドレスを記述し又ＩＰマルチキャストによる通信ができないのであれば次のパケット配送先であるエンドノードのＩＰアドレスを記述した転送ルールを設定するので、各エンドノードは転送ルールに従いパケットの宛先アドレスを変更することで、受信者エンドノードに応じてＩＰマルチキャストとＩＰユニキャストを切り替えることができる。
【００２０】
本発明の第３の態様は、マルチキャスト通信に参加するエンドノード上にマルチキャスト配送木に基づいた転送ルールを設定し、前記転送ルールに対して次のパケット配送先がＩＰマルチキャストによる通信が可能であればＩＰマルチキャストアドレスを記述し又ＩＰマルチキャストによる通信ができないのであれば次のパケット配送先であるエンドノードのＩＰアドレスを記述しておき、マルチキャスト配送木の根又は節となるエンドノードにおいてＩＰマルチキャストにより通信可能な他のエンドノードが存在するのであれば、それらの他のエンドノードに対してはＩＰマルチキャストアドレスを宛先アドレスとしたＩＰマルチキャストパケットでパケット配送を行い、マルチキャスト配送木の根又は節となるエンドノードにおいてＩＰマルチキャストにより通信ができない他のエンドノードが存在するのであれば、それらの他のエンドノードのＩＰアドレスを宛先アドレスとしたＩＰユニキャストパケットでパケット配送を行うことを特徴とするパケット配送制御方法である。
【００２１】
このようなパケット配送制御方法によれば、転送ルールに記述されたアドレス属性に応じてＩＰマルチキャストとＩＰユニキャストを切り替えることのできるエンドノードを実現できる。
【００２２】
本発明の第４の態様は、マルチキャスト通信に参加したエンドノードからＩＰマルチキャストによる通信が可能か否か不明な自己以外のエンドノードに対してＩＰマルチキャストにて応答要求メッセージを送信し、それに対する応答メッセージを返信したエンドノードをＩＰマルチキャストにより通信可能なエンドノードと判定することを特徴とするＩＰマルチキャスト対応判定方法である。以降、あるエンドノードに対してＩＰマルチキャストによる通信が可能な他のエンドノードを内部エンドノード、ＩＰマルチキャストによる通信ができない他のエンドノードを外部エンドノードと記述する。
【００２３】
このようなＩＰマルチキャスト対応判定方法によれば、マルチキャスト通信に参加したエンドノードがその他のエンドノードとＩＰマルチキャストにより通信可能か否か判断することができ、その結果を転送ルールの設定に利用することができる。
【００２４】
本発明の第５の態様は、マルチキャスト通信に参加したエンドノードのうち送信端末となるエンドノード上において当該送信端末を根とするマルチキャスト配送木を求めるマルチキャスト配送木算出方法であって、マルチキャスト配送木の対象となるエンドノードをリストに登録し、前記登録リストから当該送信者エンドノードがＩＰマルチキャスト可能なエンドノードである内部エンドノードを除外し、当該送信者エンドノードを起点として当該登録リストの中から配送木算出アルゴリズムに基づいて節となるエンドノードを特定し、当該節エンドノード及び節エンドノードからみた内部エンドノードを前記登録リストから除外し、前記節エンドノードを前記起点に加え、その先の部分についても同じ処理を繰り返すことによりマルチキャスト配送木を求めるマルチキャスト配送木算出方法である。
【００２５】
このようなマルチキャスト配送木算出方法によれば、ＩＰマルチキャスト対応ネットワークとＩＰマルチキャスト非対応のネットワークとが混在する環境であっても、パケット配送手段としてＩＰマルチキャストを用いるか又はＩＰユニキャストを用いるか判断可能なマルチキャスト配送木を算出することができる。
【００２６】
本発明の第６の態様は、第５の態様のマルチキャスト配送木算出方法に基づいて算出されたマルチキャスト配送木の各節エンドノードに対して、節毎に定めた転送ルールであって当該マルチキャスト配送木の根となるエンドノードを送信元とするマルチキャスト通信用のパケットを受信した場合にどのＩＰアドレスに転送するかを示した転送ルールが記述された転送要求メッセージをＩＰユニキャストで送信し、前記転送要求メッセージを受信した節エンドノードが転送要求メッセージ中の転送ルールを自己の転送ルールとして保持することを特徴とするマルチキャスト配送木構築方法である。
【００２７】
このようなマルチキャスト配送木構築方法によれば、ＩＰマルチキャスト対応ネットワークとＩＰマルチキャスト非対応のネットワークとが混在する環境において、かかるネットワーク上のエンドノードを介してマルチキャスト配送木を構築することができる。
【００２８】
本発明の第７の態様は、第６の態様のマルチキャスト配送木構築方法において、マルチキャスト通信から離脱するエンドノードを検出した場合、当該エンドノード離脱後の状態に合わせて前記マルチキャスト配送木を再構築するものである。
【００２９】
これにより、マルチキャスト通信からエンドノードが離脱した後もマルチキャスト配送木が再構築されるので、マルチキャスト通信を実現することができる。
【００３０】
本発明の第８の態様は、第１又は第２の態様のパケット配送制御方法において、マルチキャスト通信に参加するエンドノードを管理する管理サーバを設け、エンドノードに関する情報及びエンドノードの参加・離脱に関する情報は管理サーバとエンドノードとの間で交換されることを特徴とする。
【００３１】
本発明の第９の態様は、一対多又は多対多の通信であるマルチキャスト通信に参加する通信端末であって、パケット配送にＩＰマルチキャストとＩＰユニキャストとを併用し、受信者エンドノードに応じてＩＰマルチキャストとＩＰユニキャストを切り替えることを特徴とする通信端末である。
【００３２】
本発明の第１０の態様は、第９の態様の通信端末において、マルチキャスト通信に参加するエンドノードを管理する管理サーバとの間で、他のエンドノードに関する情報及び他のエンドノードの参加・離脱に関する情報を交換するものとした。
【００３３】
本発明の第１１の態様は、第９の態様の通信端末において、パケット配送にＩＰマルチキャストとＩＰユニキャストとを併用するため、ＩＰマルチキャストとＩＰユニキャストが混在するマルチキャスト配送木を算出するものとした。
【００３４】
これにより、エンドノード間で交換される制御メッセージを削減することができる。
【００３５】
以下、本発明の実施の形態について図面を参照して具体的に説明する。
【００３６】
最初に、本実施の形態に係るパケット配送制御方法の概略から説明する。本実施の形態に係るパケット配送制御方法は、以下のステップからなる。
【００３７】
ステップ１：マルチキャスト通信に参加する各エンドノードが自己以外の他のエンドノードのＩＰアドレス情報を取得する。
【００３８】
ステップ２：前記マルチキャスト通信においてパケット配送を行う際、各エンドノード上において、互いにＩＰマルチキャストにより通信可能か、またはＩＰユニキャストでのみ通信可能か確認する。
【００３９】
ステップ３：ステップ２で得られた結果を各エンドノードが互いに交換し、各エンドノードが前記マルチキャスト通信に必要となるマルチキャスト配送木の算出と構築を行う。
【００４０】
ステップ４：ステップ１からステップ３の結果から、あるエンドノードにおいて、ＩＰマルチキャストで通信可能な他のエンドノードが存在した場合、これらエンドノード間ではＩＰマルチキャストを用いてパケット配送を行い。ＩＰマルチキャストでは、通信不可能な他のエンドノードが存在した場合、これらエンドノード間ではＩＰユニキャストを用いてパケット配送を行う。
【００４１】
これにより、マルチキャスト通信におけるＩＰマルチキャストおよびアプリケーションレイヤマルチキャストの課題を同時に解決するパケット配送を実現する。
【００４２】
以下、各ステップにおける具体的な処理手順を記述する。尚、以下の各ステップの処理手順の記述では、前提とするＩＰマルチキャスト方式としてＳＳＭ(Source Specific Multicast)を想定する。もう一つのＩＰマルチキャスト方式であるＡＳＭ(Any Source Multicast)が、ＩＰマルチキャストアドレス(G)でマルチキャストグループを識別するのに対して、ＳＳＭは送信端末のＩＰアドレス(S)とＩＰマルチキャストアドレス(G)の組でマルチキャストグループを識別する。ＳＳＭを用いて配送されるパケットを受信しようとする受信端末は、ルータに対して、(S,G)のIGMPによるJoinパケットを送信する。Joinパケットを受信したルータは、ルータ間で(S,G)ごとにマルチキャスト配送木を構築し、この配送木に沿ってパケットの複製、転送を行う。ＳＳＭは、(S,G)の組でマルチキャストグループを識別するため、ＡＳＭでは必要となるインターネット上で一意に識別できるＩＰマルチキャストアドレス割り当ては必要ない。
【００４３】
尚、エンドノードが接続するＩＰマルチキャストに対応した各ネットワーク上に、ＩＰマルチキャストアドレス割り当てのための機構を設けることにより、ＡＳＭを本発明で使用することができる。
【００４４】
[ステップ１]
ステップ１では、マルチキャスト通信に参加する各エンドノードが、自己以外の他のエンドノードのＩＰアドレス情報を取得するために、エンドノードのマルチキャスト通信への参加・離脱を管理するサーバ（以降、メンバ管理サーバと記述）を用いる方法と、マルチキャスト通信に参加する各エンドノードが、互いにメッセージ交換することで自立分散的に管理する機能（以降、分散メンバ管理機能と記述）を有する方法を想定している。以下に、前記二つの方法における処理手順について記述する。尚、下記の処理手順は、前記マルチキャスト通信にエンドノードが参加・離脱する度に行われる。
【００４５】
メンバ管理サーバを用いる方法について記述する。まず、あるエンドノード(Na)がマルチキャスト通信に参加・離脱を行う際、Naはメンバ管理サーバに、参加または離脱要求を目的とするメッセージ（以降、それぞれ、参加要求メッセージ、離脱要求メッセージと記述）を送信する。また、Naはメンバ管理サーバに対して参加要求メッセージを送信した際、メンバ管理サーバからマルチキャスト通信に参加中の他エンドノードのＩＰアドレスを取得する。
【００４６】
一方、マルチキャスト通信に参加中の他エンドノードは、メンバ管理サーバから、エンドノードの参加・離脱の広告を目的とするメッセージ（以降、それぞれ、参加広告メッセージ、離脱広告メッセージと記述）を受け取り、NaのＩＰアドレス情報およびNaの参加または離脱を把握する。
【００４７】
分散メンバ管理機能を用いる方法について記述する。まず、あるエンドノード(Nb)がマルチキャスト通信に参加・離脱を行う際、Nbは既にマルチキャスト通信に参加中の他の一つのエンドノード(Nc)に対して、NbのＩＰアドレス情報を含む参加要求メッセージまたは離脱要求メッセージを送信する。また、NbはNcに対して参加要求メッセージを送信した際、Ncからマルチキャスト通信に参加中の他エンドノードのＩＰアドレスを取得する。
【００４８】
一方、NcはNbのマルチキャスト通信への参加・離脱を、マルチキャスト通信に参加中の各エンドノードに対して、参加広告メッセージまたは離脱広告メッセージを送信することで知らせる。Nc以外のマルチキャスト通信に参加中の各エンドノードは、参加広告メッセージまたは離脱広告メッセージを受信することにより、NbのＩＰアドレス情報と参加・離脱を把握する。
【００４９】
［ステップ２］
ステップ２では、各エンドノードが、互いにＩＰマルチキャストによる通信が可能か、またはＩＰユニキャストでのみ通信が可能かを判断するために、以下に記述する処理を行う。尚、下記の処理手順は、マルチキャスト通信に新たにエンドノードが参加する度に行われるものである。下記の処理手順では、マルチキャスト通信に新たに参加するエンドノードをNd３００、Nd３００のＩＰアドレスをSd、Ndが使用するＩＰマルチキャストアドレスをGd、既にマルチキャスト通信に参加中の各エンドノードをNi（３０１−３０３）、NiＩＰアドレスをSi、Niが使用するＩＰマルチキャストアドレスをGiと仮定する。ただし、iは変数であり、その範囲は1−3である。また、各エンドノードの位置関係を図７に示す。
【００５０】
まず、Ndがマルチキャスト通信に参加すると、Ndは前記ステップ１記載の処理により取得したマルチキャスト通信に既に参加中の他のエンドノードのＩＰアドレスをもとに、(Si,Gi)で表されるNiを送信元とする複数のマルチキャストグループに対するJoinパケットをルータに送信する。一方、Niは前記ステップ１記載の処理手順により、Ndのマルチキャスト通信への参加とＩＰアドレスを把握すると、(Sd,Gd)で表されるNdを送信元とするマルチキャストグループに対するJoinパケットをルータに送信する。Joinパケットを受信したルータは、ルータ間でマルチキャストグループごとにマルチキャスト配送木を構築し、この配送木に沿ってパケットの複製、転送を行う。
【００５１】
次に、Ndは応答を求めることを目的としたメッセージ（以降、応答要求メッセージ）を、Ndを送信元とするマルチキャストグループ宛て、つまり(Gd)を宛先とするＩＰマルチキャストパケットとして送信する。また、Niは応答要求メッセージを、Niを送信元とするマルチキャストグループ宛てに、つまり(Gi)を宛先とするＩＰマルチキャストパケットとして送信する。
【００５２】
応答要求メッセージを受信した各エンドノードは、その応答要求メッセージに対する応答を目的としたメッセージ（以降、応答メッセージ）を、応答要求メッセージの送信元エンドノードのＩＰアドレスを宛先としたＩＰユニキャストパケットとして送信する。
【００５３】
応答要求メッセージの送信元エンドノードから見て、ＩＰマルチキャストパケットとして転送される応答要求メッセージを受信できるエンドノードは、ＩＰマルチキャストにより通信可能なエンドノードである。従って、応答パケットを受信した応答要求メッセージの送信元エンドノードは、応答メッセージの送信元エンドノードとＩＰマルチキャストにより通信が可能と判断できる。また、応答要求メッセージに対して、応答メッセージを返さないエンドノードは、ＩＰマルチキャストにより通信が不可能である（つまり、ＩＰユニキャストでのみ通信可能）と判断できる。
【００５４】
例えば、図７に示すネットワーク構成では、新規に参加したNd（３００）が（Gdを宛先とするＩＰマルチキャストパケットとして）送信する応答要求メッセージを受信できるのは、N1（３０１）だけであり、N1（３０１）は応答要求メッセージを受信すると、それに対する応答メッセージを（Sdを宛先とするＩＰユニキャストパケットとして）送信する。Nd（３００）はN1（３０１）が送信した応答メッセージを受信すると、N1（３０１）をＩＰマルチキャストにより通信が可能と判断する。また、Nd（３００）は応答要求メッセージに対して応答をしないエンドノードであるN2（３０２）およびN3（３０３）をＩＰマルチキャストにより通信が不可能であると判断する。次に、N1（３０１）が（G1を宛先とするＩＰマルチキャストパケットとして）送信する応答要求メッセージを受信できるのは、Nd（３００）だけであり、Nd（３００）は応答要求メッセージを受信すると、それに対する応答メッセージを（S1を宛先とするＩＰユニキャストパケットとして）送信する。N1（３０１）はNd（３００）が送信した応答メッセージを受信すると、Nd（３００）をＩＰマルチキャストにより通信が可能と判断する。また、N1（３０１）は応答要求メッセージに対して応答をしないエンドノードであるN2（３０２）およびN3（３０３）をＩＰマルチキャストにより通信が不可能であると判断する。最後に、N2（３０２）およびN3（３０３）が（それぞれG2、G3を宛先とするＩＰマルチキャストパケットとして）送信する応答要求メッセージは、どのエンドノードも受信できず、またそれに対する応答メッセージも返信されないので、N2（３０２）はNd（３００）とN1（３０１）とN3（３０３）を、N3（３０３）はNd（３００）とN1（３０１）とN2（３０２）をそれぞれＩＰマルチキャストにより通信が不可能であると判断する。
【００５５】
以上の処理手順により、NdはＩＰマルチキャストにより通信可能なエンドノードと、ＩＰユニキャストでのみ通信可能なエンドノードを区別し、また、NiはNdがＩＰマルチキャストにより通信可能なエンドノードか、またはＩＰユニキャストでのみ通信可能なエンドノードか区別する。以降、あるエンドノードにおいて、ＩＰマルチキャストで通信可能なエンドノードの集合を、あるエンドノードに対する内部エンドノードと記述し、ＩＰユニキャストでのみ通信可能なエンドノードの集合を、あるエンドノードに対する外部エンドノードと記述する。
【００５６】
尚、NdおよびNiが互いにＩＰマルチキャストにより通信可能かどうか判断するステップ２記載の処理の間、Nd−Ni間での通信ができない。そこで、Ndは全てのNiを外部エンドノードとみなし、またNiはNdを外部エンドノードとみなして、NdおよびNiが後述のステップ３記載の処理を行う。これにより、ステップ２記載の処理の間、Nd−Ni間での通信は中断される問題に対して、NiはNdに対して、NdはNiに対して、ＩＰユニキャストによりパケット配送を行うことができる。
【００５７】
尚、各エンドノードは、応答要求パケットを定期的に送信することで、応答要求パケットの損失に対する内部エンドノードまたは外部エンドノードの判断誤りを少なくすることができる。
【００５８】
また、あるエンドノードから一定時間送信される応答要求メッセージのパケットに、そのエンドノードが既に受信済み応答メッセージの送信元エンドノードのＩＰアドレスを挿入する。一方、応答要求メッセージを受信するエンドノードは、自己のＩＰアドレスが応答要求メッセージに含まれていた場合、応答メッセージを送信しないこととする。これにより、メッセージ交換量を削減し、エンドノードにおける制御パケット交換による処理負荷を削減する。
【００５９】
尚、各エンドノードが使用するＩＰマルチキャストアドレスの決定方法としては、ネットワークの運用者から共通のＩＰマルチキャストアドレスを割り当ててもらう方法、または、人間がマルチキャスト通信を識別するための文字列情報（以降、マルチキャスト通信識別子と記述）を２進数などの数字に変換し、ベースとなるＩＰマルチキャストアドレスと足し合わせることで共通のＩＰマルチキャストアドレスを算出する方法、または、各エンドノードが任意に使用するＩＰマルチキャストアドレスを決定し、ステップ１の前記メンバ管理サーバまたは前記分散メンバ管理機能により、各エンドノードが使用するＩＰマルチキャストアドレスを広告する方法を想定している。
【００６０】
尚、ＩＰマルチキャスト方式にＡＳＭを使用する場合、各エンドノードは、ＳＳＭの場合に用いていた(S,G)のJoinパケットに対して、ＩＰマルチキャストに対応した各ネットワーク上の前記ＩＰマルチキャストアドレス割り当て機構により割り当てられたＩＰマルチキャストアドレス(G)のJoinパケットを代わりに用いる。
【００６１】
［ステップ３］
ステップ３は、マルチキャスト通信に必要となるマルチキャスト配送木の算出と構築を行うためのステップであって、各エンドノードの状態情報の把握（以降、ステップ３−１と記述）と、マルチキャスト配送木の算出（以降、ステップ３−２と記述）と、マルチキャスト配送木の構築（以降、ステップ３−３と記述）とから構成される。
【００６２】
ここで、エンドノード(Ne)の状態情報とは、Neと他のエンドノードとの間のパケット配送における経路上の遅延やホップ数、使用可能帯域という情報と、ステップ２記載のNeに対する内部エンドノードおよび外部エンドノードのリストとをあわせた情報から構成できる。図３に状態情報の構成例を示す。尚、状態情報を構成する情報の詳細は適宜追加、変更、削除可能である。
【００６３】
（ステップ３−１）
ステップ３−１では、各エンドノードが互いの状態情報を把握するために、以下の処理を行う。下記の処理手順は、マルチキャスト通信に対してエンドノードが参加する度に行われる。
【００６４】
まず、あるエンドノード(Nf)がマルチキャスト通信に参加すると、Nfは、前記ステップ１および前記ステップ２記載の処理を行った後、Nfの外部エンドノードに対して、NfとNfの外部エンドノードとの間のパケット配送における経路上のホップ数や遅延、使用可能帯域を計測する。また、マルチキャスト通信に対して既に参加中のエンドノードでは、前記ステップ１および前記ステップ２記載の処理を行った後、Nfを自身の外部ノードと判断した場合のみ、自己ノードとNfとの間のパケット配送における経路上のホップ数や遅延、使用可能帯域を計測する。
【００６５】
次に、Nfは、新たに作成した自己の状態情報を広告することを目的とした状態情報広告メッセージを、他のエンドノードに対してＩＰユニキャストにより送信する。また、上記計測処理により自身の状態情報を更新したエンドノードは、状態情報広告メッセージを、他のエンドノードに対してＩＰユニキャストにより送信する。
【００６６】
尚、他のエンドノードの状態情報が必要になるのは送信端末となるエンドノードのみである。また送信端末となるエンドノードに対する内部エンドノード間の配送木構築はＩＰマルチキャストに対応したルータ上で処理されるため、送信端末となるエンドノードでは内部エンドノードの状態情報を必要としない。このことから、状態情報広告メッセージの送信対象をそのメッセージの送信元エンドノードに対する外部エンドノード且つ送信端末となるエンドノードとすることで、状態情報広告メッセージの広告量を削減することができる。
【００６７】
尚、Nfは、自己の状態情報広告メッセージをステップ１の前記メンバ管理サーバに送信し、前記メンバ管理サーバを介して前記情報広告メッセージが必要な他のエンドノードに広告することで、状態情報広告メッセージの広告量を削減することができる。
【００６８】
以上の処理手順により、各エンドノードは他のエンドノードの状態情報を把握する。
【００６９】
（ステップ３−２）
本発明におけるマルチキャスト配送木は、送信端末を根とする一対多の配送木である。また、マルチキャスト配送木の算出は、送信端末となるエンドノード上で行う。以下に、マルチキャスト配送木の算出に必要となる処理手順ついて記述する。下記の処理手順は、マルチキャスト通信に対してエンドノード(Ng)が参加する度に、Ngが送信端末となる場合のNg（エンドノード）において、または前記ステップ１および前記ステップ２記載の処理を経て、Ngを外部エンドノードと判断した既にマルチキャスト通信に参加中の送信端末となるエンドノードにおいて行われる。また、下記の処理手順は、マルチキャスト通信からNgが離脱する度に、既にマルチキャスト通信に参加中のエンドノードであって、Ngを外部エンドノードとし、かつ送信端末となるエンドノードにおいて行われる。
【００７０】
尚、Ngの参加・離脱に対して、既にマルチキャスト通信に参加中のエンドノードであって、Ngを内部エンドノードと判断した送信端末となるエンドノードは、マルチキャスト配送木の算出および構築処理は必要ない。
【００７１】
マルチキャスト配送木の算出を行うためのアルゴリズムは、最短路木を求めるＳＰＴ(Shortest Path Tree)や、最小全域木を求めるＭＳＴ(Minimum Spanning Tree)をはじめ、要求されたＱｏＳ( Quality of Service)条件を満たすアルゴリズムなどがある。本発明では、上位のアプリケーションからの要求に従い、算出アルゴリズムを選択することを想定している。
【００７２】
図２は、マルチキャスト配送木を算出するためのフローチャートである。以下に、図２を用いて、マルチキャスト通信の送信端末であるエンドノードをNh、マルチキャスト算出アルゴリズムをＳＰＴ、マルチキャスト算出アルゴリズムに対するメトリックを各エンドノード間のホップ数とした場合の、Nhにおける前記マルチキャスト配送木算出方法を記述する。
【００７３】
条件１（Ｓ４００）：Nhの内部エンドノードが存在する場合は処理１（Ｓ４０１）、そうではない場合は処理２（Ｓ４０２）を行う。
【００７４】
処理１（Ｓ４０１）：節候補対象リスト（配送木の算出過程で既に配送木に含まれているエンドノードのリスト）に何も記述せず、NhおよびNhの内部エンドノード以外のエンドノードを算出対象リスト（配送木の算出過程で、まだ配送木に含まれないエンドノードのリスト）に記述する。図１に示すネットワーク構成であれば、送信端末１００は受信端末１０１，１０２が内部エンドノードであるので、それ以外の受信端末（１０３〜１０７）を算出対象リストに記述する。
【００７５】
処理２（Ｓ４０２）：節候補対象リストに何も記述せず、Nh以外のエンドノードを算出対象リストに記述する。
【００７６】
条件２（Ｓ４０３）：算出対象リストに受信端末であるエンドノードが記述されていない場合はマルチキャスト配送木の算出処理を終了し、そうでない場合は処理３（Ｓ４０４）を行う。
【００７７】
処理３（Ｓ４０４）：マルチキャスト配送木算出アルゴリズムであるＳＰＴに従い、算出対象リストに記述されたエンドノードに対して、Nhまたは節候補リストに記述されているエンドノードを経由し、メトリックであるホップ数の和が最小となるエンドノードを一つ選択し、マルチキャスト配送木の節とする。図１に示すネットワーク構成であれば、送信端末１００がエンドノードNhの場合、最初は節候補リストに何も記述されていない場合は、受信端末（１０３〜１０５）の中で最短経路のエンドノードを節として選択する。
【００７８】
条件３（Ｓ４０５）：処理３（Ｓ４０４）で選択したエンドノードに内部エンドノードが存在した場合は処理４（Ｓ４０６）を行い、そうでない場合は処理５（Ｓ４０７）を行う。
【００７９】
処理４（Ｓ４０６）：処理３（Ｓ４０３）で選択したエンドノードを節候補リストに記述し、処理３（Ｓ４０３）で選択したエンドノードおよびそのエンドノードの内部ノードを算出対象リストから削除する。例えば、処理３で受信端末１０３を節として選択した場合、受信端末１０３及び受信端末１０３の内部エンドノードとなる受信端末（１０４，１０５）を算出対象リストから削除する。
【００８０】
処理５（Ｓ４０７）：処理３（Ｓ４０３）で選択したエンドノードを節候補リストに記述し、そのエンドノードを算出対象リストから削除する。例えば、処理３で受信端末１０６を節として選択した場合、受信端末１０６を算出対象リストから削除する。
【００８１】
また、前記マルチキャスト配送木処理では、処理４（Ｓ４０６）または処理５（Ｓ４０７）が完了すると、条件２（Ｓ４０３）に戻る。
【００８２】
以上のマルチキャスト配送木算出方法により、Nhはマルチキャスト配送木を算出する。
【００８３】
（ステップ３−３）
以下に、マルチキャスト配送木の構築に必要となる処理手順ついて記述する。下記の処理手順は、ステップ３−２を実施した送信端末となるエンドノードをNkと仮定する。
【００８４】
まず、Nkは前記マルチキャスト配送木算出方法により算出したマルチキャスト配送木の節となる各エンドノードに対して、前記マルチキャスト配送木の構築を目的としたメッセージ（以降、転送要求メッセージ）を、ＩＰユニキャストを用いて送信する。転送要求メッセージには、Nｋを送信元とするマルチキャスト通信のためのパケットを、どのＩＰアドレスに転送するのか記述している（以降、転送ルールと記述）。転送要求メッセージを受信したエンドノードにおいて、内部エンドノードが存在するエンドノード(Nl)に対する前記転送ルールには、必ずNlが使用するＩＰマルチキャストアドレスが記述されている。図１に示すネットワーク構成であれば、受信端末１０３が転送要求メッセージを受信した節である場合、受信端末１０３は内部エンドノードである受信端末（１０４，１０５）が存在するエンドノードであるので、転送ルールには受信端末１０３が使用するＩＰマルチキャストアドレスを記述する。ＩＰマルチキャスト対応ネットワーク上の受信端末（１０４，１０５）が独自のＩＰマルチキャストアドレスを指定していればそのアドレスを記述する。これにより受信端末１０３を節として、その先の受信端末（１０４，１０５）に送信端末１００のパケットを配送する配送木が構築されたことになる。図４は自己が構築したマルチキャスト配送木における転送ルール及び他のエンドノードが構築したマルチキャスト配送木における転送ルールを示している。自己が構築したマルチキャスト配送木の場合は、根は自己のＩＰアドレスが記述される。
【００８５】
転送要求メッセージを受信したエンドノードは、上記転送ルールに従い、Nkを送信元エンドノードとするマルチキャスト通信のためのパケットを転送する。
【００８６】
尚、転送ルールは有効期限があり、Nkは転送要求メッセージを定期的に送信することで、マルチキャスト配送木を維持する。また、マルチキャスト配送木の節となるエンドノードでは、一定期間前記転送要求メッセージを受信しなかった場合、対応する前記転送ルールを破棄する。
【００８７】
［ステップ４］
ステップ４では、マルチキャスト通信における送信端末となるエンドノードが、前記ステップ３−３記載の処理手順により構築したマルチキャスト配送木に従い、受信端末となるエンドノードに対してパケット配送を行う。
【００８８】
このとき、マルチキャスト配送木に沿って転送されるパケットを受信したエンドノードは、本来の送信元エンドノードのＩＰアドレスをＩＰヘッダから判別できない。図１に示すネットワーム構成であれば、送信端末１００からパケットを受信した受信端末１０３は受信端末１０４，１０５にＩＰマルチキャストする際にパケットヘッダに記述される送信元ＩＰアドレスに自己のＩＰアドレスを記述するからである。このことから、送信端末となるエンドノードは配送するパケットのペイロードに、自身のＩＰアドレスを挿入することで、パケットを受信するエンドノードが本来の送信元エンドノードのＩＰアドレスを判別できるようにする。
【００８９】
以下、本発明の実施の形態について、図を用いて具体的に説明する。
【００９０】
（実施の形態１）
図１は、本実施の形態に係るパケット配送制御方法が適用されるネットワーク構成の概観図である。図１では、送信端末１００であるエンドノードから、受信端末（１０１〜１０７）である複数のエンドノード間でのパケット配送を行うことを想定している。尚、送信端末１００および受信端末（１０１〜１０７）は、前記ステップ１〜ステップ３に記載した処理により、送信端末１００を根とするマルチキャスト配送木の算出および構築を終え、受信端末（１０１〜１０７）は、送信端末１００が構築したマルチキャスト配送木に従い、パケットを転送するものとする。
【００９１】
送信端末１００は、送信端末１００の内部エンドノードである受信端末（１０１，１０２）にＩＰマルチキャストを用いてパケット配送を行う（１０８）。また、送信端末１００は、前記マルチキャスト配送木に従い、送信端末１００の外部エンドノードである受信端末（１０３，１０６）に、ＩＰユニキャストを用いてそれぞれに対してパケット配送を行う（１０９，１１０）。送信端末１００と同一のＩＰマルチキャスト対応ネットワークに接続する受信端末（１０１，１０２）は、前記ステップ２に記載した処理によって送信端末１００を送信元とするマルチキャストグループにJoinしており、送信端末１００が送信したＩＰマルチキャストパケット（１０８）を受信する。
【００９２】
ＩＰユニキャスト（１０９）により配送されるパケットを受け取った受信端末１０３は、前記マルチキャスト配送木に従い、受信した前記ＩＰユニキャストパケットのＩＰヘッダを、受信端末１０３を送信元、受信端末１０３が使用するＩＰマルチキャストアドレスを宛先とするＩＰマルチキャストヘッダに付け替え、受信端末１０３の内部エンドノードである受信端末（１０４，１０５）に対してＩＰマルチキャストを用いてパケット配送を行う（１１１）。そして、受信端末（１０４，１０５）は前記ステップ２に記載した処理によって受信端末１０３を送信元とするマルチキャストグループにJoinしており、受信端末（１０３）が送信したＩＰマルチキャストパケット（１１１）を受信する。
【００９３】
ＩＰユニキャスト（１１０）により配送されるパケットを受け取った受信端末（１０６）は、前記マルチキャスト配送木に従い、受信端末１０６の外部エンドノードである受信端末（１０７）に対して、ＩＰユニキャストを用いてパケット配送を行う（１１２）。
【００９４】
以上のように、本実施の形態では、受信端末となるエンドノードに応じてＩＰマルチキャストまたはＩＰユニキャストを適宜使い分け、パケット配送が行われる。
【００９５】
図５は、エンドノード上のパケット配送システム２００のブロック構成図である。パケット配送システム２００を有する各エンドノードは、前記ステップ１記載の分散メンバ管理機能を有するメンバ管理処理部２０４により、ＩＰマルチキャスト／ＩＰユニキャストパケット送受信部２０１を介して、自身以外の他のエンドノードのＩＰアドレス情報を取得する。
【００９６】
各エンドノードは、前記ステップ２記載の処理を行うＩＰマルチキャスト通信可能判断部２０５により、ＩＰマルチキャスト／ＩＰユニキャストパケット送受信処理部２０１を介して、自身以外の他のエンドノードが、ＩＰマルチキャストにより通信可能か、またはＩＰユニキャストのみで通信可能か判断する。
【００９７】
次に、各エンドノードは、リンク情報計測処理部２０６により、ＩＰマルチキャスト／ＩＰユニキャストパケット送受信処理部２０１を介して、前記ステップ３−１記載の処理手順に従い、他のエンドノードまでの経路上のホップ数、遅延、使用可能帯域を計測する。また、ＩＰマルチキャスト通信可能判断部２０５およびリンク情報計測処理部２０６において行った前記処理により得られた結果から、前記ステップ３−１記載の自身の状態情報を作成し、状態情報保持部２１２に記録する。そして、状態情報広告処理部２１０により、ＩＰマルチキャスト／ＩＰユニキャストパケット送受信処理部２０１を介して、状態情報保持部２１２に記録されている自身の状態情報を前記ステップ３記載の状態情報広告メッセージとして、他のエンドノードに広告する。それと同時に、状態情報広告処理部２１０は、ＩＰマルチキャスト／ＩＰユニキャストパケット送受信部２０１を介して、他のエンドノードからの前記ステップ３記載の状態情報広告メッセージを受信し、他のエンドノードの状態情報を状態情報保持部２１２に記録する。
【００９８】
マルチキャスト通信の送信端末となるエンドノードでは、マルチキャスト配送木算出処理部２１１において、状態情報保持部２１２に記録されている各エンドノードの内部状態情報と、前記ステップ３記載のマルチキャスト配送木算出アルゴリズムを用いた、前記ステップ３−２記載のマルチキャスト配送木算出方法により、マルチキャスト配送木の算出処理を行う。
【００９９】
マルチキャスト配送木構築処理部２０２では、前記マルチキャスト配送木の算出処理で得られた結果に従い、前記ステップ３−３記載のマルチキャスト配送木構築方法により、マルチキャスト配送木の構築処理を行う。マルチキャスト配送木構築処理部２０２では、ＩＰマルチキャスト／ＩＰユニキャストパケット送受信処理部２０１を介して、前記マルチキャスト配送木の算出処理により算出された前記マルチキャスト配送木の節となる各エンドノードに対して、前記ステップ３−３記載の転送要求メッセージを、ＩＰユニキャストを用いて送信する。
【０１００】
前記転送要求メッセージを受信したエンドノードは、転送要求メッセージに含まれる前記ステップ３−３記載の転送ルールをそのマルチキャスト配送木構築処理部２０２を介して、パケット転送ルール保持部２０８に記録する。
【０１０１】
パケット転送ルール保持部２０８における記録内容を図４に示す。前記パケット転送ルール保持部２０８は、自身が構築したマルチキャスト配送木における、パケットの次の転送先であるＩＰマルチキャストアドレスまたはエンドノードのＩＰアドレスが記述される。また、前記パケット転送ルール保持部２０８は、他のエンドノードが前記マルチキャスト配送木構築処理により構築したマルチキャスト配送木における、パケットの次の転送先であるＩＰマルチキャストアドレスまたはエンドノードのＩＰアドレスが記述されている。
【０１０２】
マルチキャスト通信の送信端末となるエンドノードでは、前記マルチキャスト配送木構築処理が完了すると、前記ステップ４記載の手順に従い、パケット配送を行う。具体的には、前記パケット配送システム２００において、アプリケーションデータ受信部２１３から入力されるデータは、ＩＰマルチキャスト／ＩＰユニキャスト切替制御部２０７に渡される。前記ＩＰマルチキャスト／ＩＰユニキャスト切替制御部２０７は、前記パケット転送ルール保持部２０８に記述されている前記パケットの転送ルールに従い、受け取った前記アプリケーションデータを、ＩＰマルチキャストを用いて配送すべきかまたはＩＰユニキャストを用いて配送すべきか、またはＩＰマルチキャストとＩＰユニキャストを併用し配送すべきか適宜判断を行う。そして、判断結果に応じた配送方式に従いＩＰマルチキャスト／ＩＰユニキャストパケット送受信処理部２０１を介して、パケットを送出する。また、送出された前記パケットには拡張ヘッダが付与され、前記拡張ヘッダには送信端末であるエンドノードのＩＰアドレスが記載されている。
【０１０３】
送信端末であるエンドノードから直接または他のエンドノードを介して配送されるパケットを受信したエンドノードでは、ＩＰマルチキャスト／ＩＰユニキャストパケット送受信処理部２０１を介して、パケット転送判断部２０９に渡される。パケット転送判断部２０９は、受け取ったパケットからアプリケーションデータを取り出し、アプリケーションデータ出力部２１４を介して、アプリケーションにデータを渡す。また、パケット転送判断部２０９は、受信したパケットの拡張ヘッダに記述されている送信元エンドノードのＩＰアドレスを元に、パケット転送ルール保持部２０８を参照し、次に受信したパケットをどのＩＰマルチキャストアドレスまたはどのＩＰアドレスに転送するべきか判断する。次の転送先があった場合、パケット転送判断部２０９は、ＩＰマルチキャスト／ＩＰユニキャストヘッダ変換部２０３において、ＩＰヘッダを適宜書き換え、ＩＰマルチキャスト／ＩＰユニキャストパケット送受信処理部２０１を介して、パケットを送出する。逆に、次の転送先がない場合は、なにも行わず処理を終了する。
【０１０４】
尚、メンバ管理処理部２０４はエンドノードの監視機能を有し、前記マルチキャスト配送木を用いて、応答要求メッセージを他のエンドノードに送信することで、エンドノードの障害によるマルチキャスト通信からの予期せぬ離脱に対して、素早く検知を行い、前記ステップ３−２および前記ステップ３−３記載の処理から前記マルチキャスト配送木の再構築を行い、マルチキャスト通信の中断時間を縮小することができる。
【０１０５】
また、メンバ管理処理部２０４は認証機能を有し、前記ステップ１記載のマルチキャスト通信における新たなエンドノードの参加、または離脱要求に対して、その要求したエンドノードが、そのマルチキャスト通信の参加・離脱の権利を持つものであるか、または詐称されたものではないか判断をすることができる。
【０１０６】
前記ステップ４記載の拡張ヘッダは、マルチキャスト通信のためのパケットに付与されるだけでなく、本発明における各エンドノード間での制御を目的としたメッセージ（参加要求メッセージ、離脱要求メッセージ、参加広告メッセージ、離脱広告メッセージ、応答要求メッセージ、応答メッセージ、計測パケット、計測応答パケット、状態情報広告メッセージ、広告受信確認メッセージ、転送要求メッセージを含む）にも付与することができる。
【０１０７】
また、ＩＰマルチキャスト／ＩＰユニキャストパケット送受信処理部２０１は、認証機能を有し、ＩＰマルチキャスト／ＩＰユニキャストパケット送受信処理部２０１を介して行われる他のエンドノードとの通信において、パケットを送信する場合、パケット配送システム２００の機能を有するエンドノード自身を証明する目的の認証情報を、前記ステップ４記載の拡張ヘッダに埋め込むことができる。
【０１０８】
また、ＩＰマルチキャスト／ＩＰユニキャストパケット送受信処理部２０１は、認証機能を有し、ＩＰマルチキャスト／ＩＰユニキャストパケット送受信処理部２０１を介して行われる他のエンドノードとの通信において、パケットを受信する場合、パケットに付与される前記拡張ヘッダに含まれる、そのパケットの送信元エンドノードを証明する認証情報から、そのパケットの送信元エンドノードが詐称されたものではないか判断することができる。
【０１０９】
また、ＩＰマルチキャスト／ＩＰユニキャストパケット送受信処理部２０１は、マルチキャスト通信の輻輳検知およびデータ再送機能を有し、マルチキャスト通信のためのパケット配送、または制御を目的としたメッセージ（参加要求メッセージ、離脱要求メッセージ、参加広告メッセージ、離脱広告メッセージ、応答要求メッセージ、応答メッセージ、計測パケット、計測応答パケット、状態情報広告メッセージ、広告受信確認メッセージ、転送要求メッセージを含む）の交換における、パケット損失に対して、再送処理を行うことができる。
【０１１０】
また、マルチキャスト通信において、図６に示すように、その通信に参加・離脱するエンドノードを管理するメンバ管理サーバ６００を設け、パケット配送システム（６０７−１〜６０７−ｎ）は、メンバ管理サーバ６００と通信を行うことで、その通信に参加・離脱するエンドノードを把握する構成を採ることもできる。
【０１１１】
これにより、マルチキャスト通信におけるエンドノードの参加・離脱に対して、各エンドノード間での参加広告メッセージおよび離脱広告メッセージの交換量を削減し、エンドノードにおける前記メッセージ交換による処理負荷を軽減することができる。
【０１１２】
メンバ管理サーバ６００では、参加／離脱要求処理部６０３が、パケット送受信部６０１を介して、エンドノードからの参加要求メッセージまたは離脱要求メッセージを受信し、その情報をメンバ情報保持部６０２に書き込み、マルチキャスト通信におけるエンドノードを管理する。また、エンドノードのグループ参加・離脱に対して、メンバ管理サーバ６００では、エンドノード通信処理部６０４が、パケット送受信部６０１を介して、他のエンドノードに対する参加広告メッセージまたは離脱広告メッセージの送信を行う。
【０１１３】
メンバ管理サーバ６００では、エンドノード監視部６０５を設け、パケット送受信部６０１を介して、エンドノードを監視することで、エンドノードの障害によるマルチキャスト通信からの予期せぬ離脱に対して、素早く検知を行い、エンドノード通信処理部６０４を介して、それを他のエンドノードに広告を行うことで、他のエンドノードが前記ステップ３−２および前記ステップ３−３記載の処理から前記マルチキャスト配送木の再構築を行い、マルチキャスト通信の中断時間を縮小することができる。
【０１１４】
また、メンバ管理サーバ６００では、状態情報保持部６０６を設け、エンドノード通信処理部６０４を介して、エンドノードが保持する自身の状態情報を収集、他のエンドノードへの広告を行うことで、各エンドノード間での前記ステップ３記載の状態情報広告メッセージおよび広告受信確認メッセージの交換量を削減し、エンドノードにおける前記メッセージ交換による処理負荷を軽減することができる。
【０１１５】
また、メンバ管理サーバ６００では、参加／離脱要求処理部６０３が、エンドノードに対する認証機能を有し、前記ステップ１記載のマルチキャスト通信における新たなエンドノードの参加、または離脱要求に対して、その要求したエンドノードが、そのマルチキャスト通信の参加・離脱の権利を持つものであるか、または詐称されたものではないか判断することができる。
【０１１６】
また、メンバ管理サーバ６００では、パケット送受信部６０１が、認証機能を有し、パケット送受信部６０１を介して行われるエンドノードとの通信において、パケットを送信する場合、自身が正しいメンバ管理サーバであることを証明するための認証情報を、前記ステップ４記載の拡張ヘッダと同様にパケットに埋め込むことができる。
【０１１７】
また、メンバ管理サーバ６００では、パケット送受信部６０１が、認証機能を有し、パケット送受信部６０１を介して行われるエンドノードとの通信において、パケットを受信する場合、パケットに付与される前記ステップ４記載の拡張ヘッダに含まれる、そのパケットの送信元エンドノードを証明する前記認証情報から、そのパケットの送信元エンドノードが詐称されたものではないか判断することができる。
【０１１８】
尚、本発明はIGMPによるJoin/Leaveパケットに対して、MLD（Multicast Listener Discovery Protocol）によるIGMPと同等の機能を用いることで、IPv6によるマルチキャスト通信にも適用することができる。
【産業上の利用可能性】
【０１１９】
本発明は、ＩＰマルチキャスト対応のネットワークと非対応のネットワークが混在したネットワーク環境下で、エンドノードにおける処理負荷を増大せず、且つネットワーク帯域を消費することなくマルチキャスト通信を実現可能で、一対多型又は多対多型のパケット配送に適用可能である。
【図面の簡単な説明】
【０１２０】
【図１】一実施の形態に係るパケット配送制御方法を適用するネットワーク構成の概観図
【図２】マルチキャスト配送木算出のためのフロー図
【図３】エンドノードにおける状態情報の記録形式を示す概念図
【図４】エンドノードにおける転送ルールの記録形式を示す概念図
【図５】上記実施の形態におけるエンドノードのブロック構成図
【図６】メンバ管理サーバのブロック図
【図７】各エンドノードの位置関係を示す図
【符号の説明】
【０１２１】
１００  送信端末
１０１−１０７  受信端末
１０８  ＩＰマルチキャストによるパケット配送
１０９、１１０  ＩＰユニキャストによるパケット配送
１１１  ＩＰマルチキャストによるパケット配送
１１２  ＩＰユニキャストによるパケット配送
２００  パケット配送システム
２０１  ＩＰマルチキャスト／ＩＰユニキャストパケット送受信処理部
２０２  マルチキャスト配送木構築処理部
２０３  ＩＰマルチキャスト／ＩＰユニキャストヘッダ変換部
２０４  メンバ管理処理部
２０５  ＩＰマルチキャスト通信可能判断部
２０６  リンク情報計測処理部
２０７  ＩＰマルチキャスト／ＩＰユニキャスト切替制御部
２０８  パケット転送ルール保持部
２０９  パケット転送判断部
２１０  状態情報広告処理部
２１１  マルチキャスト配送木算出処理部
２１２  状態情報保持部
２１３  アプリケーションデータ受信部
２１４  アプリケーションデータ出力部
６００  メンバ管理サーバ
６０１  パケット送受信部
６０２  メンバ情報保持部
６０３  参加／離脱要求処理部
６０４  エンドノード通信処理部
６０５  エンドノード監視部
６０６  状態情報保持部
６０７-１−６０７-ｎ  パケット配送システム
【図１】
2005151541.tif 000003
【図２】
2005151541.tif 000004
【図３】
2005151541.tif 000005
【図４】
2005151541.tif 000006
【図５】
2005151541.tif 000007
【図６】
2005151541.tif 000008
【図７】
2005151541.tif 000009