(57)【要約】  生成部（２１０）は、ＡＬＭ配信木を構成する複数のノードにおいて、複数のグループを形成させるためのグループ形成データを生成する。送信部（２２０）は、グループ形成データを、自端末に設定された送信先のノードへ送信する。生成部（２１０）は、グループ分け条件が満たされた場合、グループ形成データを、グループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのデータに変更する。送信部（２２０）は、グループ形成データが変更される毎に、変更後のグループ形成データを、自端末に設定された送信先のノードへ送信する。グループ形成データは、２つのノードの位置を交換する局所改善処理が行われるグループを形成させるためのデータである。
2010079736.tif 000002
【特許請求の範囲】
【請求項１】
ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数のノードのうち、所定ノードとしての通信端末であって、
前記複数のノードの少なくとも一部ではデータ通信が行われており、
前記複数のノードには、前記ＡＬＭ配信木におけるノードの位置によって、前記所定ノードから送信されるデータが前記複数のノードのうち前記所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されており、
前記所定ノードとしての通信端末は、
前記複数のノードにおいて、複数のグループを形成させるためのグループ形成データを生成する生成部と、
前記グループ形成データを、自端末に設定された送信先のノードへ送信する送信部とを備え、
前記生成部は、さらに、グループ分け条件が満たされた場合、前記グループ形成データを、該グループ形成データに基づくグループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのデータに変更し、
前記送信部は、前記グループ形成データが変更される毎に、変更後の前記グループ形成データを、自端末に設定された送信先のノードへ送信し、
前記生成部は、グループに対応するノードの数がＮ（２以上の整数）個である場合、該Ｎ個のノードのうち２つのノードの位置を交換する局所改善処理が行われるグループを形成させるための前記グループ形成データを生成する、
通信端末。
【請求項２】
前記グループ分け条件は、所定時間が経過したという条件である、
請求項１に記載の通信端末。
【請求項３】
前記生成部は、形成されるグループの境界に位置するノードを特定するための情報を示す前記グループ形成データを生成する、
請求項１または２に記載の通信端末。
【請求項４】
前記生成部は、グループに対応するノードの数がＮ個であり、かつ、該Ｎ個のノードにおける通信量が所定値以上となった場合、該通信量を前記所定値未満とするように、前記局所改善処理が行われるグループを形成させるための前記グループ形成データを生成する、
請求項１〜３のいずれかに記載の通信端末。
【請求項５】
前記所定ノードは、ルートノードである、
請求項１〜４のいずれかに記載の通信端末。
【請求項６】
前記所定ノードとしての通信端末は、さらに、
自端末に対応するグループに対応するノードの数がＮ個である場合、該Ｎ個のノードの各々が順次受信するためのトークンを送信するトークン制御部を備え、
前記トークン制御部は、トークンを受信したノードが該トークンを保持している期間のみ、該トークンを保持しているノードが前記局所改善処理を行うことを可能とする該トークンを送信する、
請求項１〜５のいずれかに記載の通信端末。 
【請求項７】
ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数のノードのいずれかのノードとしての通信端末であって、
前記複数のノードには、前記ＡＬＭ配信木におけるノードの位置によって、データの送信先が予め設定されており、
前記複数のノードのいずれかのノードとしての通信端末は、
他のノードから送信されるデータであって、前記複数のノードのうち、自ノードを含むＭ（２以上の整数）個のノードからなるグループを、前記複数のノードのうちの特定ノードに形成させるためのグループ形成データを受信する受信部を備え、
前記グループ形成データは、自ノードが前記特定ノードであるか否かを特定するための情報を示し、
前記複数のノードのいずれかのノードとしての通信端末は、さらに、
受信した前記グループ形成データに基づいて、自ノードが前記特定ノードであるか否かを判定する判定部と、
前記判定部により自ノードが前記特定ノードであると判定された場合、前記グループ形成データに基づいて、前記Ｍ個のノードからなるグループを形成するグループ生成部と、
前記グループ生成部により形成されたグループに対応する前記Ｍ個のノードにおいて、データの送信先の変更が必要なノードである変更必要ノードがあるか否かを判定する局所改善部とを備え、
前記局所改善部は、さらに、前記変更必要ノードがあると判定された場合、該変更必要ノードに設定されたデータの送信先と、他のノードに設定されたデータの送信先とを交換する局所改善処理を行う、
通信端末。
【請求項８】
前記局所改善処理は、前記変更必要ノードがデータの送信先に設定されているノードのデータの送信先の少なくとも一部を前記他のノードに変更し、前記他のノードがデータの送信先に設定されているノードのデータの送信先を前記他のノードに設定されたデータの送信先に変更する処理を含む、
請求項７に記載の通信端末。
【請求項９】
前記変更必要ノードおよび前記他のノードの各々は、前記Ｍ個のノードのうち、最上位のノードであるグループルートノードを除いた複数のノードのいずれかのノードである、
請求項８に記載の通信端末。
【請求項１０】
前記複数のノードのいずれかのノードとしての通信端末は、さらに、
自端末に対応するグループに対応するノードの数がＭ個である場合、該Ｍ個のノードの各々が順次受信するためのトークンを送信するトークン制御部を備え、
前記トークン制御部は、トークンを受信したノードが該トークンを保持している期間のみ、該トークンを保持しているノードが前記局所改善処理を行うことを可能とする該トークンを送信する、
請求項７〜９のいずれかに記載の通信端末。
【請求項１１】
前記局所改善部は、
前記Ｍ個のノードのうちの２つのノードの間の通信量が所定値以上である場合に、前記２つのノードのうちの少なくともいずれか一方を前記変更必要ノードとして、前記変更必要ノードがあると判定する、
請求項７〜１０のいずれかに記載の通信端末。 
【請求項１２】
ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数の
ノードのうち、所定ノードとしての通信端末が行う通信状態変更方法であって、
前記複数のノードの少なくとも一部ではデータ通信が行われており、
前記複数のノードには、前記ＡＬＭ配信木におけるノードの位置によって、前記所定ノードから送信されるデータが前記複数のノードのうち前記所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されており、
前記通信状態変更方法は、
前記複数のノードにおいて、複数のグループを形成させるためのグループ形成データを生成する生成ステップと、
前記グループ形成データを、自端末に設定された送信先のノードへ送信する送信ステップとを備え、
前記生成ステップでは、グループ分け条件が満たされた場合、前記グループ形成データを、該グループ形成データに基づくグループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのデータに変更し、
前記送信ステップでは、前記グループ形成データが変更される毎に、変更後の前記グループ形成データを、自端末に設定された送信先のノードへ送信し、
前記生成ステップでは、グループに対応するノードの数がＮ（２以上の整数）個である場合、該Ｎ個のノードのうち２つのノードの位置を交換する局所改善処理が行われるグループを形成させるための前記グループ形成データを生成する、
通信状態変更方法。
【請求項１３】
ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数の
ノードのいずれかのノードとしての通信端末が行う通信状態変更方法であって、
前記複数のノードには、前記ＡＬＭ配信木におけるノードの位置によって、データの送信先が予め設定されており、
前記通信状態変更方法は、
他のノードから送信されるデータであって、前記複数のノードのうち、自ノードを含むＭ（２以上の整数）個のノードからなるグループを、前記複数のノードのうちの特定ノードに形成させるためのグループ形成データを受信する受信ステップを備え、
前記グループ形成データは、自ノードが前記特定ノードであるか否かを特定するための情報を示し、
前記通信状態変更方法は、さらに、
受信した前記グループ形成データに基づいて、自ノードが前記特定ノードであるか否かを判定する判定ステップと、
前記判定ステップにより自ノードが前記特定ノードであると判定された場合、前記グループ形成データに基づいて、前記Ｍ個のノードからなるグループを形成するグループ生成ステップと、
前記グループ生成ステップにより形成されたグループに対応する前記Ｍ個のノードにおいて、データの送信先の変更が必要なノードである変更必要ノードがあるか否かを判定する局所改善ステップとを備え、
前記局所改善ステップでは、前記変更必要ノードがあると判定された場合、該変更必要ノードに設定されたデータの送信先と、他のノードに設定されたデータの送信先とを交換する局所改善処理を行う、
通信状態変更方法。 
【請求項１４】
ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数の
ノードの少なくとも一部で行われるデータ通信の通信状態を動的に変更する通信状態変更方法であって、
前記複数のノードには、前記ＡＬＭ配信木におけるノードの位置によって、所定ノードから送信されるデータが前記複数のノードのうち前記所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されており、
前記通信状態変更方法は、
前記ＡＬＭ配信木を構成する複数のノードにおいて、複数のグループを形成するための処理を行うステップと、
グループ分け条件が満たされる毎に、形成されているグループの数および各グループに対応するノードの数の少なくとも一方を変更するための処理を行うステップと、
２以上のノードに対応する複数のグループのうちの少なくとも２つのグループの各々において、ノードの位置の交換が必要なノードである変更必要ノードがある場合、前記変更必要ノードの位置と、該変更必要ノードに対応するグループに対応する他のノードの位置とを交換する局所改善処理を行うステップとを備える、
通信状態変更方法。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信端末および通信状態変更方法に関し、特に、ＡＬＭ（Application Layer Multicast）配信木において処理を行うための通信端末および通信状態変更方法に関する。
【背景技術】
【０００２】
インターネット上でＡＬＭ（Application Layer Multicast）配信木を構成する複数の通信端末において映像配信等を行う場合、配信する映像の品質を維持するために、ネットワークトラフィックの動的な変化によって生じるパケットロスや遅延変動に対応する必要がある。この場合、ＡＬＭ配信木を動的に再構成する必要がある。ＡＬＭ配信木は、アプリケーション層のネットワーク（以下、オーバーレイネットワークという）における、各通信端末間の接続構成を示す。【０００３】
図２０は、ＡＬＭ配信木を説明するための図である。図２０（Ａ）は、物理リンクによる物理トポロジの一例を示す図である。【０００４】
図２０（Ａ）に示されるように、通信端末１１，２１，２２，３１，３２，３３，３４は、物理リンクにより、インターネット１０に接続される。図２０（Ａ）では、例えば、通信端末１１が、ユニキャスト通信により、通信端末２１を介して、通信端末３１へ、データを送信する。また、通信端末１１は、ユニキャスト通信により、通信端末２２を介して、通信端末３３へ、データを送信する。【０００５】
図２０（Ｂ）は、仮想リンクによるＡＬＭトポロジの一例を示す図である。図２０（Ｂ）は、通信端末１１，２１，２２，３１，３２，３３，３４において、図２０（Ａ）のようにデータが送信される場合のデータの経路を、仮想リンクで表現したＡＬＭ配信木を示す。【０００６】
図２０（Ｂ）に示されるＡＬＭ配信木により、例えば、通信端末１１が送信したデータは、通信端末２２を介して、通信端末３４へ送信されることが容易に理解できる。以下においては、ＡＬＭ配信木を構成する各通信端末を、ノードという。【０００７】
ＡＬＭ配信木は、図２０（Ｂ）に示されるように、階層構造を有する。図２０（Ｂ）に示されるＡＬＭ配信木は、一例として、３つの階層を有する。ノード１１は、第１階層のノードである。ノード２１，２２は、第２階層のノードである。ノード３１，３２，３３，３４は、第３階層のノードである。すなわち、ノード１１は、最上位層のノードである。ノード３１，３２，３３，３４は、最下位層のノードである。【０００８】
また、ＡＬＭ配信木を構成する複数のノードの各々には、図２０（Ｂ）に示されるように、当該ＡＬＭ配信木における位置により、データの送信先が予め設定されている。例えば、第２階層の位置ＰＳ２１におけるノード２１のデータの送信先は、図２０（Ｂ）に示されるように、第３階層のノード３１，３２に設定されている。データの送信先は、例えば、ＩＰ（Internet Protocol）アドレスで表現される。【０００９】
また、ＡＬＭ配信木を構成する各ノードのデータの送信先は、自ノードの属する階層より下位層のノードとなる。なお、ＡＬＭ配信木において最下位層のノードには、データの送信先は設定されない。【００１０】
ＡＬＭ配信木の動的再構築方法には、集中管理サーバによってトラフィックをモニタリングして、トラフィックのバランスを考慮して再構成する方法が用いられることが多い。しかし、ＡＬＭ配信木を構成するノードの数（例えば、映像配信セッションに参加する通信端末の数）が多くなると以下のような問題が発生する。【００１１】
当該問題の一例は、集中管理サーバの処理負荷の増加や集中管理サーバ周辺のネットワークトラフィックの増加によって処理が追いつかないという問題である。また、当該問題の他の例は、集中管理サーバで算出された新しい配信木の構成情報を各ノードに配信する必要があるため、余分な遅延が発生するという問題である。【００１２】
そのため、ノード数が多い場合にＡＬＭ配信木の再構成を、各ノードの周辺情報（以下、局所情報という）だけを用い、各ノードが自律的に行う処理（以下、局所改善処理という）が行われることが望ましい。【００１３】
図２１は、局所改善処理を説明するための図である。【００１４】
具体的には、図２１は、ノード３１とノード４１との間のネットワークにおいて混雑（以下、ネットワーク混雑という）が発生した場合を想定して行われる処理を説明するための図である。【００１５】
ここで、ネットワーク混雑とは、例えば、２つのノード間の通信量が所定値（例えば、最大通信帯域の９０％の通信帯域）以上であることとする。例えば、最大通信帯域が１０Ｍｂｐｓである２つのノード間において、９Ｍｂｐｓの通信帯域が使用された場合、ネットワーク混雑が発生したとする。すなわち、２つのノード間の通信量が９Ｍｂｐｓ以上となった場合、ネットワーク混雑が発生したとする。【００１６】
図２１（Ａ）は、ネットワーク混雑を解消するための局所改善処理として、ＡＬＭ配信木におけるノード３１の位置とノード５２の位置とを交換する処理が行われている状態を示す。【００１７】
図２１（Ａ）に示されるＡＬＭ配信木は、図２０（Ｂ）に示されるノード１１，２１，２２，３１，３２，３３，３４に加え、さらに、複数のノードを含む。当該複数のノードの一部は、ノード４１，４２，４３，４４，５１，５２，５３，５４，６１，６２，６３，６４である。なお、図２１（Ａ）には、ノード３３，３４は示されていない。【００１８】
ここで、第３階層の位置ＰＳ３１におけるノード３１のデータの送信先は、ノード４１，４２に設定されているとする。また、第５階層の位置ＰＳ５２におけるノード５２のデータの送信先は、ノード６３，６４に設定されているとする。【００１９】
図２１（Ｂ）は、局所改善処理が行われた後のＡＬＭ配信木の構成を示す。このような局所改善処理を実行するために周辺のノード情報を得る必要がある。そのため、一般的に、各ノードは、局所改善処理を行うために必要な周辺のノード情報を事前に収集しておく。ノード情報は、例えば、データの送信先の情報である。【００２０】
そのため、局所改善処理により、位置ＰＳ３１におけるノード３１の位置と位置ＰＳ５２におけるノード５２の位置とが交換された場合、図２１（Ｂ）に示されるように、位置ＰＳ３１におけるノード５２のデータの送信先は、ノード４１，４２に設定される。また、位置ＰＳ５２におけるノード３１のデータの送信先は、ノード６３，６４に設定される。これにより、局所改善処理が行われた後も、最上位層のノードから送信されたデータは、最下位層のノードまで到達する。【００２１】
一方、局所改善処理が分散的に行われる場合、局所改善処理が複数個所で同時に実行される可能性がある。ＡＬＭ配信木において、局所改善処理が複数個所で同時に実行された場合、ＡＬＭ配信木の整合性が保持できないという問題が生じる。【００２２】
図２２は、ＡＬＭ配信木の整合性が保持できないことを説明するための図である。【００２３】
図２２（Ａ）は、局所改善処理が複数個所で同時に実行されることを説明するための図である。図２２（Ａ）に示されるＡＬＭ配信木は、図２１（Ａ）のＡＬＭ配信木と比較して、一部のノードが示されていない点が異なる。それ以外は、図２１（Ａ）のＡＬＭ配信木と同様なので詳細な説明は繰り返さない。【００２４】
図２２（Ａ）において、ネットワーク混雑ＣＮＡおよびネットワーク混雑ＣＮＢが同時に発生したとする。ネットワーク混雑ＣＮＡは、ノード３１とノード４１との間におけるネットワーク混雑である。ネットワーク混雑ＣＮＢは、ノード５２とノード６４との間におけるネットワーク混雑である。【００２５】
また、ネットワーク混雑ＣＮＡおよびネットワーク混雑ＣＮＢに対し、それぞれ、以下の局所改善処理Ａおよび局所改善処理Ｂが互いに独立して同時に行われたとする。【００２６】
局所改善処理Ａは、位置ＰＳ３１におけるノードの位置と位置ＰＳ５２におけるノード位置とを交換する処理であるとする。局所改善処理Ｂは、位置ＰＳ５２におけるノードの位置と位置ＰＳ６３におけるノードの位置とを交換する処理であるとする。【００２７】
ここで、図２２（Ａ）に示される位置ＰＳ３１におけるノードのデータの送信先は、ノード４１，４２であるとする。また、位置ＰＳ５２におけるノードのデータの送信先は、ノード６３，６４であるとする。【００２８】
局所改善処理Ａおよび局所改善処理Ｂは互いに独立して同時に行われる。そのため、例えば、局所改善処理Ｂにより、ノード６３の位置が位置ＰＳ５２となり、ノード５２の位置が位置ＰＳ６３の位置となったとする。この場合、局所改善処理Ａが行われることにより、ノード６３の位置が位置ＰＳ３１となり、ノード３１の位置が位置ＰＳ５２の位置となったとする（図２２（Ｂ）参照）。【００２９】
ここで、位置ＰＳ５２におけるノードのデータの送信先は、ノード６３，６４である。そのため、位置ＰＳ５２におけるノード３１は、データを位置ＰＳ３１におけるノード６３へ送信することになる。その結果、ノード６３，４１，３１において、データの巡回（ループ）が発生する。【００３０】
また、位置ＰＳ６３におけるノード５２は、データを他のノードから受信することができず、他のノードから孤立してしまうという問題が発生する。つまり、局所改善処理Ａおよび局所改善処理Ｂが互いに独立して同時に行われた場合、ＡＬＭ配信木の整合性が保持できなくなる。すなわち、ＡＬＭ配信木の不整合が発生する。【００３１】
そこで、非特許文献１には、局所改善処理をボトムアップ（またはトップダウン）的に逐次実行する処理（以下、逐次実行処理という）が開示されている。以下においては、局所改善処理をボトムアップ的に逐次実行する処理を、ボトムアップ的局所改善処理という。【００３２】
図２３は、ボトムアップ的局所改善処理を説明するための図である。ボトムアップ的局所改善処理は、局所改善処理の対象となる２つの層を、最下位層から最上位層に向かって、順次、移動させながら、行われる処理である。 【００３３】
図２３（Ａ）は、段ＣＬ１における局所改善処理を示す図である。段ＣＬ１は、最下位層としての第６階層と、第５階層とを含む部分である。すなわち、段ＣＬ１における局所改善処理は、最下位層としての第６階層の位置のノードと、第５階層の位置のノードとを交換する処理である。【００３４】
段ＣＬ１における局所改善処理が終了すると、局所改善処理の対象となる層は、第５階層および第４階層となる。【００３５】
図２３（Ｂ）は、段ＣＬ２における局所改善処理を示す図である。段ＣＬ２は、第５階層と、第４階層とを含む部分である。すなわち、段ＣＬ２における局所改善処理は、第５階層の位置のノードと、第４階層の位置のノードとを交換する処理を示す。【００３６】
図２３（Ａ）および図２３（Ｂ）に示されるように、ボトムアップ的局所改善処理は、段ＣＬ１における局所改善処理が完全に終了しないと、次の処理（段ＣＬ２における）が開始されない。そのため、ＡＬＭ配信木の整合性が保持できる。【００３７】
しかし、局所改善処理の実行される位置が順番に、上位の層にあがっていくため、ネットワークの任意の場所の任意の時刻で起きるトラフィック変動に応じて、迅速にＡＬＭ配信木が改善できないという課題がある。【００３８】
例えば、図２３（Ａ）および図２３（Ｂ）の例では、ＡＬＭ配信木の上位層のノード１１周辺においてネットワーク混雑が発生した場合、段ＣＬ１，ＣＬ２における局所改善処理が終了するまで、当該ネットワーク混雑に迅速に対応できない。
【先行技術文献】
【非特許文献】
【００３９】
【非特許文献１】“Stability Oriented Overlay Multicast for Multimedia Streaming in Multiple Source Context”, Baduge, T.M., Ikeda, K, Yamaguchi, H., Higashino, T., appears in: proceedings of ICC '08, IEEE International Conference on Communications, 2008, Publication Date: 19-23 May 2008, page(s): 5708 - 5714
【発明の概要】
【発明が解決しようとする課題】
【００４０】
しかしながら、非特許文献１に記載の技術では、ＡＬＭ配信木において、複数の局所改善処理を行う必要がある場合、複数の局所改善処理が終了するまでに時間がかかるという問題がある。【００４１】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、ＡＬＭ配信木において、複数の局所改善処理を迅速に行うことを可能とする通信端末等を提供することである。
【課題を解決するための手段】
【００４２】
上述の課題を解決するために、この発明のある局面に従う通信端末は、ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数のノードのうち、所定ノードとしての通信端末である。複数のノードの少なくとも一部ではデータ通信が行われている。複数のノードには、ＡＬＭ配信木におけるノードの位置によって、所定ノードから送信されるデータが複数のノードのうち所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されている。所定ノードとしての通信端末は、複数のノードにおいて、複数のグループを形成させるためのグループ形成データを生成する生成部と、グループ形成データを、自端末に設定された送信先のノードへ送信する送信部とを備える。生成部は、さらに、グループ分け条件が満たされた場合、グループ形成データを、該グループ形成データに基づくグループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのデータに変更する。送信部は、グループ形成データが変更される毎に、変更後のグループ形成データを、自端末に設定された送信先のノードへ送信する。生成部は、グループに対応するノードの数がＮ（２以上の整数）個である場合、該Ｎ個のノードのうち２つのノードの位置を交換する局所改善処理が行われるグループを形成させるためのグループ形成データを生成する。【００４３】
すなわち、生成部は、ＡＬＭ配信木を構成する複数のノードにおいて、複数のグループを形成させるためのグループ形成データを生成する。送信部は、グループ形成データを、自端末に設定された送信先のノードへ送信する。生成部は、グループ分け条件が満たされた場合、グループ形成データを、グループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのデータに変更する。送信部は、グループ形成データが変更される毎に、変更後のグループ形成データを、自端末に設定された送信先のノードへ送信する。グループ形成データは、２つのノードの位置を交換する局所改善処理が行われるグループを形成させるためのデータである。【００４４】
複数のノードには、所定ノードから送信されるデータが複数のノードのうち所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されている。そのため、グループ形成データが、所定ノードから、設定された送信先のノードへ送信されることにより、各ノードへグループ形成データが送信される。この処理により、ＡＬＭ配信木において、複数のグループが形成される。形成された各グループでは、局所改善処理が行われる。【００４５】
したがって、ＡＬＭ配信木において、複数の局所改善処理を迅速に行うことができる。【００４６】
また、グループ分け条件は、所定時間が経過したという条件であってもよい。【００４７】
これにより、所定時間が経過する毎に、グループ形成データがグループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのデータに変更される。変更されたグループ形成データは、設定された送信先のノードへ送信される。そのため、所定時間が経過する毎に、グループの数および各グループに対応するノードの数の少なくとも一方が変更される。したがって、所定時間が経過する毎に、ＡＬＭ配信木において形成されるグループの数、各グループに対応するノードの数が変更される。【００４８】
また、生成部は、形成されるグループの境界に位置するノードを特定するための情報を示すグループ形成データを生成してもよい。【００４９】
また、生成部は、グループに対応するノードの数がＮ個であり、かつ、該Ｎ個のノードにおける通信量が所定値以上となった場合、該通信量を所定値未満とするように、局所改善処理が行われるグループを形成させるためのグループ形成データを生成してもよい。【００５０】
これにより、通信量が所定値以上となった場合、該通信量を所定値未満とするように、局所改善処理が行われる。【００５１】
また、所定ノードは、ルートノードであってもよい。【００５２】
また、所定ノードとしての通信端末は、さらに、自端末に対応するグループに対応するノードの数がＮ個である場合、該Ｎ個のノードの各々が順次受信するためのトークンを送信するトークン制御部を備え、トークン制御部は、トークンを受信したノードが該トークンを保持している期間のみ、該トークンを保持しているノードが局所改善処理を行うことを可能とする該トークンを送信してもよい。【００５３】
これにより、１つのグループにおいて、同時に実行できる局所改善処理を１つに制限することができる。【００５４】
この発明の他の局面に従う通信端末は、ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数のノードのいずれかのノードとしての通信端末である。複数のノードには、ＡＬＭ配信木におけるノードの位置によって、データの送信先が予め設定されている。通信端末は、他のノードから送信されるデータであって、複数のノードのうち、自ノードを含むＭ（２以上の整数）個のノードからなるグループを、複数のノードのうちの特定ノードに形成させるためのグループ形成データを受信する受信部を備える。グループ形成データは、自ノードが特定ノードであるか否かを特定するための情報を示す。通信端末は、さらに、受信したグループ形成データに基づいて、自ノードが特定ノードであるか否かを判定する判定部と、判定部により自ノードが特定ノードであると判定された場合、グループ形成データに基づいて、Ｍ個のノードからなるグループを形成するグループ生成部と、グループ生成部により形成されたグループに対応するＭ個のノードにおいて、データの送信先の変更が必要なノードである変更必要ノードがあるか否かを判定する局所改善部とを備える。局所改善部は、さらに、変更必要ノードがあると判定された場合、変更必要ノードに設定されたデータの送信先と、他のノードに設定されたデータの送信先とを交換する局所改善処理を行う。【００５５】
すなわち、自ノードを含むＭ個のノードからなるグループを、ＡＬＭ配信木を構成する複数のノードのうちの特定ノードに形成させるためのグループ形成データが受信される。自ノードが特定ノードである場合、Ｍ個のノードからなるグループが形成される。形成されたグループに対応するＭ個のノードにおいて、データの送信先の変更が必要なノードである変更必要ノードがあるか否かが判定される。変更必要ノードがある場合、変更必要ノードに設定されたデータの送信先と、他のノードに設定されたデータの送信先とを交換する局所改善処理が行われる。【００５６】
したがって、形成されたグループにおいて、データの送信先の変更が必要なノードである変更必要ノードがある場合、局所改善処理が行われる。仮に、形成されたグループが複数である場合、複数のグループ各々において、変更必要ノードがある場合、各グループにおいて局所改善処理が行われる。この場合、ＡＬＭ配信木において、複数の局所改善処理を迅速に行うことができる。【００５７】
また、局所改善処理は、変更必要ノードがデータの送信先に設定されているノードのデータの送信先の少なくとも一部を他のノードに変更し、他のノードがデータの送信先に設定されているノードのデータの送信先を他のノードに設定されたデータの送信先に変更する処理を含んでもよい。【００５８】
また、変更必要ノードおよび他のノードの各々は、Ｍ個のノードのうち、最上位のノードであるグループルートノードを除いた複数のノードのいずれかのノードであってもよい。【００５９】
また、複数のノードのいずれかのノードとしての通信端末は、さらに、自端末に対応するグループに対応するノードの数がＭ個である場合、該Ｍ個のノードの各々が順次受信するためのトークンを送信するトークン制御部を備え、トークン制御部は、トークンを受信したノードが該トークンを保持している期間のみ、該トークンを保持しているノードが局所改善処理を行うことを可能とする該トークンを送信してもよい。【００６０】
これにより、１つのグループにおいて、同時に実行できる局所改善処理を１つに制限することができる。【００６１】
また、局所改善部は、Ｍ個のノードのうちの２つのノードの間の通信量が所定値以上である場合に、２つのノードのうちの少なくともいずれか一方を変更必要ノードとして、変更必要ノードがあると判定してもよい。【００６２】
これにより、通信量が所定値以上となった場合、局所改善処理が行われる。【００６３】
この発明のさらに他の局面に従う通信状態変更方法は、ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数のノードのうち、所定ノードとしての通信端末が行う通信状態変更方法である。複数のノードの少なくとも一部ではデータ通信が行われている。複数のノードには、ＡＬＭ配信木におけるノードの位置によって、所定ノードから送信されるデータが複数のノードのうち所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されている。通信状態変更方法は、複数のノードにおいて、複数のグループを形成させるためのグループ形成データを生成する生成ステップと、グループ形成データを、自端末に設定された送信先のノードへ送信する送信ステップとを備える。生成ステップでは、グループ分け条件が満たされた場合、グループ形成データを、該グループ形成データに基づくグループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのデータに変更し、送信ステップでは、グループ形成データが変更される毎に、変更後のグループ形成データを、自端末に設定された送信先のノードへ送信し、生成ステップでは、グループに対応するノードの数がＮ（２以上の整数）個である場合、該Ｎ個のノードのうち２つのノードの位置を交換する局所改善処理が行われるグループを形成させるためのグループ形成データを生成する。【００６４】
すなわち、ＡＬＭ配信木を構成する複数のノードにおいて、複数のグループを形成させるためのグループ形成データが生成される。グループ形成データは、自端末に設定された送信先のノードへ送信される。グループ分け条件が満たされた場合、グループ形成データは、グループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのデータに変更される。グループ形成データが変更される毎に、変更後のグループ形成データが、自端末に設定された送信先のノードへ送信される。グループ形成データは、２つのノードの位置を交換する局所改善処理が行われるグループを形成させるためのデータである。【００６５】
複数のノードには、所定ノードから送信されるデータが複数のノードのうち所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されている。そのため、グループ形成データが、所定ノードから、設定された送信先のノードへ送信されることにより、各ノードへグループ形成データが送信される。この処理により、ＡＬＭ配信木において、複数のグループが形成される。形成された各グループでは、局所改善処理が行われる。【００６６】
したがって、ＡＬＭ配信木において、複数の局所改善処理を迅速に行うことができる。【００６７】
この発明のさらに他の局面に従う通信状態変更方法は、ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数のノードのいずれかのノードとしての通信端末が行う通信状態変更方法である。複数のノードには、ＡＬＭ配信木におけるノードの位置によって、データの送信先が予め設定されている。通信状態変更方法は、他のノードから送信されるデータであって、複数のノードのうち、自ノードを含むＭ（２以上の整数）個のノードからなるグループを、複数のノードのうちの特定ノードに形成させるためのグループ形成データを受信する受信ステップを備える。グループ形成データは、自ノードが特定ノードであるか否かを特定するための情報を示す。通信状態変更方法は、さらに、受信したグループ形成データに基づいて、自ノードが特定ノードであるか否かを判定する判定ステップと、判定ステップにより自ノードが特定ノードであると判定された場合、グループ形成データに基づいて、Ｍ個のノードからなるグループを形成するグループ生成ステップと、グループ生成ステップにより形成されたグループに対応するＭ個のノードにおいて、データの送信先の変更が必要なノードである変更必要ノードがあるか否かを判定する局所改善ステップとを備える。局所改善ステップでは、変更必要ノードがあると判定された場合、該変更必要ノードに設定されたデータの送信先と、他のノードに設定されたデータの送信先とを交換する局所改善処理を行う。【００６８】
すなわち、自ノードを含むＭ個のノードからなるグループを、ＡＬＭ配信木を構成する複数のノードのうちの特定ノードに形成させるためのグループ形成データが受信される。自ノードが特定ノードである場合、Ｍ個のノードからなるグループが形成される。形成されたグループに対応するＭ個のノードにおいて、データの送信先の変更が必要なノードである変更必要ノードがあるか否かが判定される。変更必要ノードがある場合、変更必要ノードに設定されたデータの送信先と、他のノードに設定されたデータの送信先とを交換する局所改善処理が行われる。【００６９】
したがって、形成されたグループにおいて、データの送信先の変更が必要なノードである変更必要ノードがある場合、局所改善処理が行われる。仮に、形成されたグループが複数である場合、複数のグループ各々において、変更必要ノードがある場合、各グループにおいて局所改善処理が行われる。この場合、ＡＬＭ配信木において、複数の局所改善処理を迅速に行うことができる。【００７０】
この発明のさらに他の局面に従う通信状態変更方法は、ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数のノードの少なくとも一部で行われるデータ通信の通信状態を動的に変更する通信状態変更方法である。複数のノードには、ＡＬＭ配信木におけるノードの位置によって、所定ノードから送信されるデータが複数のノードのうち所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されている。通信状態変更方法は、ＡＬＭ配信木を構成する複数のノードにおいて、複数のグループを形成するための処理を行うステップと、グループ分け条件が満たされる毎に、形成されているグループの数および各グループに対応するノードの数の少なくとも一方を変更するための処理を行うステップと、２以上のノードに対応する複数のグループのうちの少なくとも２つのグループの各々において、ノードの位置の交換が必要な２つのノードがある場合、２つのノードの位置を交換する局所改善処理を行うステップとを備える。【００７１】
すなわち、ＡＬＭ配信木を構成する複数のノードにおいて、複数のグループが形成される。２以上のノードに対応する複数のグループのうちの少なくとも２つのグループの各々において、ノードの位置の交換が必要なノードである変更必要ノードがある場合、変更必要ノードの位置と、該変更必要ノードに対応するグループに対応する他のノードの位置とを交換する局所改善処理が行われる。【００７２】
したがって、ＡＬＭ配信木において、複数の局所改善処理を迅速に行うことができる。
【発明の効果】
【００７３】
本発明により、ＡＬＭ配信木において、複数の局所改善処理を迅速に行うことができる。
【図面の簡単な説明】
【００７４】
【図１】図１は、第１の実施の形態の概念を説明するための図である。
【図２】図２は、第１の実施の形態において、通信端末としての複数のノードから構成されるＡＬＭ配信木を示す図である。
【図３】図３は、通信端末の構成を示すブロック図である。
【図４】図４は、グループ分け処理のフローチャートである。
【図５】図５は、一例としてのトリガメッセージを示す図である。
【図６】図６は、グループ化ノード判定処理のフローチャートである。
【図７】図７は、グループ化処理のフローチャートである。
【図８】図８は、一例としてのグループ化用メッセージを示す図である。
【図９】図９は、ＧＣ巡回処理を説明するための図である。
【図１０】図１０は、一例としての巡回済を示す図である。
【図１１】図１１は、トークン巡回処理のフローチャートである。
【図１２】図１２は、一例としてのトークンを示す図である。
【図１３】図１３は、局所改善判定処理のフローチャートである。
【図１４】図１４は、配信木変更処理のフローチャートである。
【図１５】図１５は、グループ分け処理Ａのフローチャートである。
【図１６】図１６は、ＡＬＭ配信木においてグループが形成される処理を説明するための図である。
【図１７】図１７は、ＡＬＭ配信木に形成されるグループの一例を示す図である。
【図１８】図１８は、本発明に係る通信端末の特徴的な第１の機能構成を示すブロック図である。
【図１９】図１９は、本発明に係る通信端末の特徴的な第２の機能構成を示すブロック図である。
【図２０】図２０は、ＡＬＭ配信木を説明するための図である。
【図２１】図２１は、局所改善処理を説明するための図である。
【図２２】図２２は、ＡＬＭ配信木の整合性が保持できないことを説明するための図である。
【図２３】図２３は、ボトムアップ的局所改善処理を説明するための図である。
【発明を実施するための形態】
【００７５】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００７６】
＜第１の実施の形態＞
（本発明の概要） 
図１は、第１の実施の形態の概念を説明するための図である。図１（Ａ）は、第１の実施の形態の処理により、複数のノードから構成されるＡＬＭ配信木において、複数のグループ（グループＧＰ１，ＧＰ２，ＧＰ３）が形成された状態を示す図である。なお、グループを形成するための処理は後述する。
【００７７】
本実施の形態では、ＡＬＭ配信木において形成された複数のグループに対し、以下の規則Ｄ１および規則Ｄ２を定める。以下の規則Ｄ１，Ｄ２は、ＡＬＭ配信木を構成する各ノードに予め通知されている。したがって、ＡＬＭ配信木を構成する各ノードは、規則Ｄ１，Ｄ２に従った処理を行う。
【００７８】
規則Ｄ１は、異なる２つのグループ間において２つのノードの位置を交換する局所改善処理を禁止するという規則である。
【００７９】
規則Ｄ１により、例えば、グループＧＰ１に対応するノード３１の位置と、グループＧＰ２に対応するノード５２の位置とを交換する局所改善処理は実行されない。これにより、図２２（Ａ）で説明したように、ネットワーク混雑ＣＮＡおよびネットワーク混雑ＣＮＢが同時に発生した場合でも、前述した局所改善処理Ａは実行されず、前述した局所改善処理Ｂのみが実行されることになる。
【００８０】
これにより、図２２（Ａ）および図２２（Ｂ）で説明したように、局所改善処理Ａおよび局所改善処理Ｂが同時に行われた場合における、ＡＬＭ配信木の不整合の発生を防止できる可能性を高めることができる。
【００８１】
しかし、これだけでは同一グループ内で同時に複数の局所改善処理が行われる可能性があり、ＡＬＭ配信木の不整合の発生を完全に防止できない。
【００８２】
そこで、本発明では、さらに、規則Ｄ２を定める。
【００８３】
規則Ｄ２は、各グループ内で同時に実行できる局所改善処理を１つに制限するという規則である。規則Ｄ１および規則Ｄ２により、ＡＬＭ配信木の不整合の発生を完全に防止することができる。
【００８４】
具体的な処理としては、各グループにおいて、トークンを巡回させ、トークンを受信したノードが、当該トークンを保持している期間のみ、当該トークンを保持しているノードに対し局所改善処理の実行権を与える。以下においては、トークンを、トークンＴＫともいう。
【００８５】
図１（Ｂ）は、トークンＴＫを巡回させている状態を示す図である。図１（Ｂ）では、図１（Ａ）のグループＧＰ２においてトークンＴＫを巡回させている状態を示すが、他のグループにおいても、グループＧＰ２と同様にトークンＴＫが巡回する。なお、トークンＴＫを巡回させるための処理は後述する。
【００８６】
（ＡＬＭ配信木の構成）
図２は、第１の実施の形態において、通信端末としての複数のノードから構成されるＡＬＭ配信木を示す図である。なお、図２に示されるＡＬＭ配信木は、一般的なＡＬＭ配信木構築手法によって構築されたものとする。
【００８７】
図２に示されるＡＬＭ配信木は、一例として、６つの階層を有する。例えば、ノード１１は、第１階層のノードである。以下においては、第１階層のノードを、ルートノードという。すなわち、ＡＬＭ配信木の最上位にあるノードがルートノードである。すなわち、ノード１１は、ルートノードである。
【００８８】
例えば、ノード２１，２２は、第２階層のノードである。例えば、ノード３１，３２は、第３階層のノードである。例えば、ノード６１，６２，６３，６４は、第６階層のノードである。ノード６１，６２，６３，６４は、最下位層のノードである。
【００８９】
以下においては、ＡＬＭ配信木におけるある階層のノードに対して、当該ある階層の１つ上の階層のノードを、親ノードまたは直接上位ノードという。例えば、図２のノード１１は、ノード２１，２２の親ノード（直接上位ノード）である。
【００９０】
また、以下においては、ＡＬＭ配信木におけるある階層のノードに対して、当該ある階層より上の階層のノードを、上位ノードという。例えば、図２のノード１１，２１，３１は、ノード４１またはノード４２の上位ノードである。
【００９１】
また、以下においては、ＡＬＭ配信木におけるある階層のノードに対して、当該ある階層の１つ下の階層のノードを、直接下位ノードまたは子ノードという。例えば、図２のノード２１，２２は、ノード１１の子ノード（直接下位ノード）である。
【００９２】
また、以下においては、ＡＬＭ配信木におけるある階層のノードに対して、当該ある階層より下の階層のノードを、下位ノードという。例えば、図２のノード２１，２２，３１，３２，４１，４２，４３，４４，５１，５２，５３，５４，６１，６２，６３，６４は、ノード１１の下位ノードである。例えば、図２のノード４１，４２，５１，５２，５３，５４，６１，６２，６３，６４は、ノード３１の下位ノードである。
【００９３】
また、以下においては、ＡＬＭ配信木における最下位層のノードを、最下位層ノードまたは葉ノードという。すなわち、最下位層ノードまたは葉ノードは、子ノードを有さない。
【００９４】
図２に示されるＡＬＭ配信木を構成する各ノードには、当該ＡＬＭ配信木における位置により、データの送信先が予め設定されている。つまり、ＡＬＭ配信木を構成する複数のノードには、ＡＬＭ配信木におけるノードの位置によって、ルートノードから送信されるデータが複数のノードのうちルートノード以外の全てのノードへ送信されるように、データの送信先が予め設定されている。
【００９５】
例えば、位置ＰＳ１１におけるノード１１のデータの送信先は、ノード２１，２２に設定されている。例えば、位置ＰＳ３１におけるノード３１のデータの送信先は、ノード４１，４２に設定されている。
【００９６】
また、ＡＬＭ配信木を構成する各ノードには、ノードを特定するためのＩＤ（以下、ノードＩＤという）が設定される。ノードＩＤは、一例として、Ｔｍ（ｍ：自然数）として表現されるとする。ノードＩＤは、同一の階層に複数のノードが存在する場合、最も左側のノードから順に、ｍの値が大きくなるとする。例えば、ノード５１，５２，５３，５４のノードＩＤは、それぞれ、Ｔ５１，Ｔ５２，Ｔ５３，Ｔ５４であるとする。
【００９７】
図２のノード１１，２１，２２，３１，３２のノードＩＤは、それぞれ、Ｔ１１，Ｔ２１，Ｔ２２，Ｔ３１，Ｔ３２であるとする。また、図２のノード４１，４２，４３，４４，５１，５２，５３，５４のノードＩＤは、それぞれ、Ｔ４１，Ｔ４２，Ｔ４３，Ｔ４４，Ｔ５１，Ｔ５２，Ｔ５３，Ｔ５４であるとする。また、図２のノード６１，６２，６３，６４のノードＩＤは、それぞれ、Ｔ６１，Ｔ６２，Ｔ６３，Ｔ６４であるとする。
【００９８】
図２に示される各ノードは、以下の通信端末１００の構成を有する。
【００９９】
（装置の構成）
図３は、通信端末１００の構成を示すブロック図である。図３に示されるように、通信端末１００は、受信部１１０と、制御部１２０と、送信部１１２とを備える。
【０１００】
受信部１１０は、他の通信端末（ノード）から、各種データを受信する。
【０１０１】
制御部１２０は、データ制御部１２１と、局所改善部１２２と、トークン制御部１２３と、グループ生成部１２４とを含む。
【０１０２】
送信部１１２は、外部（例えば、データ制御部１２１）からの指示により、データを送信する機能を有する。
【０１０３】
データ制御部１２１は、他の通信端末（ノード）から受信したデータＤＴを複製したデータＤＴを、送信部１１２を利用して、外部の通信端末（ノード）へ送信する。また、データ制御部１２１は、データＤＴを受信する毎に、受信したデータＤＴのデータ量と、受信したデータＤＴを送信したノードの情報を、局所改善部１２２へ通知する。これにより、局所改善部１２２は、自端末（自ノード）と他のノードとの通信量を常に把握することができる。
【０１０４】
グループ生成部１２４は、ＡＬＭ配信木を構成する複数のノードにおいて、複数のグループを形成する機能を有する。
【０１０５】
トークン制御部１２３は、トークンＴＫを生成する機能を有する。また、トークン制御部１２３は、外部から受信したトークンＴＫを、所定時間（例えば、１秒）保持した後、当該トークンＴＫを他のノードへ送信する。
【０１０６】
局所改善部１２２は、詳細は後述するが、局所改善処理を行う必要があるか否かを判定する。局所改善部１２２は、局所改善処理を行う必要があると判定した場合、後述する局所改善メッセージＩＰＭを、対象となるノードへ送信する。また、局所改善部１２２は、後述する局所改善メッセージＩＰＭを受信することにより、局所改善処理を行う。
【０１０７】
なお、各部が行う処理の詳細な説明は後述する。
【０１０８】
（グループの形成）
次に、構築済みのＡＬＭ配信木において、非集中処理によって複数のグループを形成するための処理（以下、グループ分け処理という）について説明する。グループ分け処理は、ルートノードとしてのノード１１である通信端末１００が行う。なお、以下のグループ分け処理は、ルートノード以外の任意のノードである通信端末１００が行ってもよい。
【０１０９】
図４は、グループ分け処理のフローチャートである。
【０１１０】
ステップＳ１１１では、グループ生成部１２４が、トリガメッセージＴＲを生成する。
【０１１１】
図５は、一例としてのトリガメッセージＴＲを示す図である。図５において、「ＳＴＡＲＴ＿ＩＮＤＥＸ」は、グループ化ノードを決定するための値を示す。グループ化ノードは、グループを形成するための処理を行うノードである。ＳＴＡＲＴ＿ＩＮＤＥＸの値が“０”の場合、少なくとも最上位層のノードとしてのルートノードは、グループ化ノードとなる。トリガメッセージＴＲは、特定ノードとしてのグループ化ノードに、グループを形成させるためのグループ形成データである。
【０１１２】
図５において、「ＧＲＰ＿ＳＩＺＥ」とは、トリガメッセージＴＲにより生成するグループの大きさ（以下、グループサイズという）を示す。グループサイズＧＲＰ＿ＳＩＺＥの値がｋ（自然数）である場合、ＡＬＭ配信木において、グループ化ノードから、下位ノードの方向へ、ｋ個のホップで到達可能な全てのノードを含むグループが、グループサイズＧＲＰ＿ＳＩＺＥにより生成されるグループとなる。なお、１つのホップにより、あるノードから、当該ノードの子ノードまたは親ノードに到達するものとする。
【０１１３】
例えば、グループ化ノードがノード１１であり、グループサイズＧＲＰ＿ＳＩＺＥが“２”であるとする。この場合、図２のＡＬＭ配信木において、ノード１１から、下位ノードの方向へ、２つのホップで到達可能なノードは、ノード２１，３１，３２，２２である。この場合、ノード２１，３１，３２，２２により、１つのグループが形成される。
【０１１４】
図５において、「ＨＯＰ＿ＣＯＵＮＴ」とは、ホップの回数をカウントするためのカウンタである。カウンタＨＯＰ＿ＣＯＵＮＴの値は、トリガメッセージＴＲが、あるノードから、下位ノードの方向へ、１つのホップが行われる毎に、“１”インクリメントされる。また、カウンタＨＯＰ＿ＣＯＵＮＴの値は、トリガメッセージＴＲが、あるノードから、上位ノードの方向へ、１つのホップが行われる毎に、“１”デクリメントされる。なお、カウンタＨＯＰ＿ＣＯＵＮＴの初期値は“０”である。
【０１１５】
再び、図４を参照して、ステップＳ１１２では、グループ生成部１２４が、送信部１１２を利用して、生成したトリガメッセージＴＲを、自端末に設定されたデータの送信先へ送信する。なお、トリガメッセージＴＲの送信先が子ノードである場合、グループ生成部１２４は、トリガメッセージＴＲに示されるカウンタＨＯＰ＿ＣＯＵＮＴの値を“１”インクリメントしたトリガメッセージＴＲを、当該子ノードへ送信する。
【０１１６】
ここで、自端末に設定されたデータの送信先は、子ノードとしてのノード２１，２２であるとする。この場合、カウンタＨＯＰ＿ＣＯＵＮＴの値が“１”インクリメントされたトリガメッセージＴＲが、ノード２１，２２へ送信される。
【０１１７】
以下においては、トリガメッセージＴＲを受信したノードを、トリガメッセージ受信ノードという。
【０１１８】
ＡＬＭ配信木を構成する複数のノードのうち、最下位層ノード以外のトリガメッセージ受信ノードは、以下のトリガメッセージ転送処理を行う。
【０１１９】
トリガメッセージ転送処理では、トリガメッセージ受信ノード（例えば、ノード２１）が、受信したトリガメッセージＴＲを、自ノードに設定されたデータの送信先となるノード（例えば、ノード３１，３２）へ送信する。なお、トリガメッセージＴＲの送信先が子ノードである場合、トリガメッセージ受信ノードは、トリガメッセージＴＲに示されるカウンタＨＯＰ＿ＣＯＵＮＴの値を“１”インクリメントしたトリガメッセージＴＲを、当該子ノードへ送信する。
【０１２０】
最下位層ノード以外の各ノードにおいて、前述したトリガメッセージ転送処理が行われることにより、ルートノードとしてのノード１１から送信されたトリガメッセージＴＲは、図２のＡＬＭ配信木を構成する複数のノードへ送信される。この場合、例えば、最下位層ノードであるノード６１が受信したトリガメッセージＴＲが示すカウンタＨＯＰ＿ＣＯＵＮＴの値は“５”である。
【０１２１】
（グループ化ノードの判定）
また、図２のＡＬＭ配信木を構成する複数のノードの各々は、他の処理とは独立して、以下のグループ化ノード判定処理を行う。
【０１２２】
図６は、グループ化ノード判定処理のフローチャートである。
【０１２３】
ステップＳ２１１では、グループ生成部１２４が、他のノードから、トリガメッセージＴＲを受信したか否かを判定する。ステップＳ２１１において、ＹＥＳならば、処理はステップＳ２１２に移行する。一方、ステップＳ２１１において、ＮＯならば、再度、ステップＳ２１１の処理が行われる。なお、ルートノード（例えば、ノード１１）は、ステップＳ２１１の処理を行わず、ステップＳ２１２の処理から開始するとする。
【０１２４】
ここでは、トリガメッセージＴＲを受信したとして、処理はステップＳ２１２に移行する。
【０１２５】
ステップＳ２１２では、グループ生成部１２４が、当該グループ生成部１２４を含む自ノード（通信端末）が、グループ化ノードであるか否かを判定する。グループ化ノードは、グループを形成するための後述する処理を行うノードである。
【０１２６】
自ノードがグループ化ノードであるか否かは、以下の式１により判定される。
（ＨＯＰ＿ＣＯＵＮＴ−ＳＴＡＲＴ＿ＩＮＤＥＸ）％（ＧＲＰ＿ＳＩＺＥ＋１）…式１
式１は、（ＨＯＰ＿ＣＯＵＮＴ−ＳＴＡＲＴ＿ＩＮＤＥＸ）を（ＧＲＰ＿ＳＩＺＥ＋１）で除算した余りを算出する式である。なお、式１では、ＳＴＡＲＴ＿ＩＮＤＥＸ＜ＧＲＰ＿ＳＩＺＥ＋１が満たされるとする。式１における、ＨＯＰ＿ＣＯＵＮＴ、ＳＴＡＲＴ＿ＩＮＤＥＸおよびＧＲＰ＿ＳＩＺＥの各値は、受信したトリガメッセージＴＲが示す。
【０１２７】
具体的には、グループ生成部１２４は、式１で算出される値が“０”である場合、自ノードがグループ化ノードであると判定する。グループ生成部１２４は、式１で算出される値が“０”でない場合、自ノードがグループ化ノードでないと判定する。
【０１２８】
すなわち、グループ生成部１２４は、受信したグループ形成データとしてのトリガメッセージＴＲが示す各値に基づいて、自ノードが特定ノード（グループ化ノード）であるか否かを判定する。つまり、グループ生成部１２４は、受信したグループ形成データとしてのトリガメッセージＴＲに基づいて、自ノードが特定ノード（グループ化ノード）であるか否かを判定する。
【０１２９】
ステップＳ２１２において、ＹＥＳならば処理はステップＳ２１３に移行する。一方、ステップＳ２１２において、ＮＯならば、再度、ステップＳ２１１の処理が行われる。
【０１３０】
ここで、図２のノード１１が、前述のグループ分け処理により、トリガメッセージＴＲを、データの送信先のノードへ送信したとする。また、グループ化ノード判定処理を行っているノード（通信端末）は、ノード４１であるとする。また、ノード４１が受信したトリガメッセージＴＲは、ＨＯＰ＿ＣＯＵＮＴ“３”、ＳＴＡＲＴ＿ＩＮＤＥＸ“０”、ＧＲＰ＿ＳＩＺＥ“２”を示すとする。
【０１３１】
この場合、式１により得られる値は“０”となる。この場合、ノード４１は、自ノードがグループ化ノードであると判定する。すなわち、ステップＳ２１２において、ＹＥＳと判定され、処理はステップＳ２１３に移行する。
【０１３２】
なお、自ノードがグループ化ノードであるか否かの判定方法は、上記式１を用いた方法に限定されず、他の方法であってもよい。当該他の方法は、例えば、ＨＯＰ＿ＣＯＵＮＴ、ＳＴＡＲＴ＿ＩＮＤＥＸおよびＧＲＰ＿ＳＩＺＥのうちの２つを用いた、式１と異なる式を用いた方法である。
【０１３３】
ステップＳ２１３では、グループ化ノード（通信端末１００）に含まれるグループ生成部１２４が、グループ化処理を実行する。すなわち、グループ化処理は、グループ化ノードにより実行される。グループ化処理は、他の処理とは独立して行われる処理である。以下においては、グループ化ノードを、グループルートノードともいう。
【０１３４】
図７は、グループ化処理のフローチャートである。
【０１３５】
ステップＳ３１１では、グループ生成部１２４が、前述のグループ化ノード判定処理により受信したトリガメッセージＴＲが示す値の一部を用いて、グループ化用メッセージＧＣを生成する。
【０１３６】
図８は、一例としてのグループ化用メッセージＧＣを示す図である。以下においては、グループ化用メッセージＧＣを、単に、ＧＣともいう。図８において、「ＳＴＡＲＴＥＲ＿ＩＤ」とは、グループルートノードのノードＩＤである。例えば、グループルートノードが、ノード４１である場合、ＳＴＡＲＴＥＲ＿ＩＤは“Ｔ４１”に設定される。
【０１３７】
「ＧＲＰ＿ＳＩＺＥ」は、図５で説明したので詳細な説明は繰り返さない。ＧＣに示されるＧＲＰ＿ＳＩＺＥの値は、グループルートノードが受信したトリガメッセージＴＲが示すＧＲＰ＿ＳＩＺＥの値に設定される。
【０１３８】
図８において、「Ｇ＿ＨＯＰ＿ＣＯＵＮＴ」は、ホップの回数をカウントするためのカウンタである。カウンタＧ＿ＨＯＰ＿ＣＯＵＮＴの値は、ＧＣが、あるノードから、下位ノードの方向へ、１つのホップが行われる毎に、“１”インクリメントされる。また、カウンタＧ＿ＨＯＰ＿ＣＯＵＮＴの値は、ＧＣが、あるノードから、上位ノードの方向へ、１つのホップが行われる毎に、“１”デクリメントされる。なお、カウンタＧ＿ＨＯＰ＿ＣＯＵＮＴの初期値は“０”である。
【０１３９】
図８において、「ＰＡＳＳＥＤ＿ＩＤＳ」は、ＧＣを受信したノードを示す通過ノード情報である。ＧＣを受信したノードは、自ノードのノードＩＤを、当該ＧＣの通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳの項目に追記して、他のＩＤへ転送する。
【０１４０】
すなわち、ＧＣは、トリガメッセージＴＲが示すＧＲＰ＿ＳＩＺＥの値を用いて生成される。つまり、ＧＣは、トリガメッセージＴＲに基づいて生成される。
【０１４１】
また、グループ化用メッセージＧＣには、以下の規則Ｐ１〜Ｐ４が記載される。
【０１４２】
規則Ｐ１：Ｇ＿ＨＯＰ＿ＣＯＵＮＴ＜ＧＲＰ＿ＳＩＺＥが成立し、かつ、自ノードがグループルートノードである場合、または、自ノードが受信したＧＣの送信元のノードが自ノードの親ノードである場合、ノードＩＤが示す数字が最も小さい当該ノードＩＤの子ノードへ、生成したＧＣまたは受信したＧＣを送信（転送）する。なお、ＧＣを送信する際に、当該ＧＣの通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳの項目に、自ノードのノードＩＤを追記する。
【０１４３】
規則Ｐ２：Ｇ＿ＨＯＰ＿ＣＯＵＮＴ＝ＧＲＰ＿ＳＩＺＥが成立し、かつ、自ノードが受信したＧＣの送信元のノードが自ノードの親ノードである場合、当該ＧＣを、親ノードへ送信（転送）する。なお、ＧＣを送信する際に、当該ＧＣの通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳの項目に、自ノードのノードＩＤを追記する。
【０１４４】
規則Ｐ３：自ノードが受信したＧＣの送信元のノードが自ノードの子ノードであり、当該ＧＣを送信してない子ノードがある場合、通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳが示すノードＩＤ以外のノードＩＤであって、ノードＩＤが示す数字が最も小さい当該ノードＩＤの子ノードへ、当該ＧＣを送信（転送）する。
【０１４５】
規則Ｐ４：自ノードが受信したＧＣの送信元のノードが自ノードの子ノードであり、当該ＧＣを送信してない子ノードがない場合、当該ＧＣを、親ノードへ送信（転送）する。
【０１４６】
なお、ＧＣを送信してない子ノードがなく、かつ、ＧＣを受信しているノードがグループルートノードである場合（自ノードのノードＩＤ＝ＳＴＡＲＴＥＲ＿ＩＤ）、後述するＧＣ巡回処理を終了する。すなわち、グループルートノードが、巡回済ＧＣを受信した場合、後述するＧＣ巡回処理を終了する。巡回済ＧＣは、子ノードへＧＣを送信したグループルートノードに対応するグループに対応する、グループルートノード以外の全てのノードを経由したＧＣである。
【０１４７】
再び、図７を参照して、ステップＳ３１２では、グループ化用メッセージの送信が行われる。具体的には、グループ生成部１２４が、送信部１１２を利用して、ＧＣに記載されている前述した規則Ｐ１に従って、生成したＧＣを、子ノードへ送信する。 
【０１４８】
ここで、ステップＳ３１２の処理を行うグループルートノードは、ノード４１であるとする。また、生成されたＧＣが示す、ＳＴＡＲＴＥＲ＿ＩＤ、ＧＲＰ＿ＳＩＺＥ、Ｇ＿ＨＯＰ＿ＣＯＵＮＴおよびＰＡＳＳＥＤ＿ＩＤＳは、図８に示される情報または数値を示すとする。
【０１４９】
この場合、グループルートノードとしてのノード４１は、規則Ｐ１に従って、ノードＩＤが示す数字が最も小さい当該ノードＩＤの子ノードであるノード５１へ、ＧＣを送信する。この場合、ノード５１へ送信されるＧＣにはノード４１のノードＩＤ“Ｔ４１”がノード４１により追記される。
【０１５０】
なお、ノード４１が子ノードであるノード５１へＧＣを送信する場合、ノード４１は、ＧＣが示すＧ＿ＨＯＰ＿ＣＯＵＮＴの値を“１”インクリメントしたＧＣを、ノード５１へ送信する。
【０１５１】
ステップＳ３１３では、グループ生成部１２４が、前述した巡回済ＧＣを受信したか否かを判定する。ステップＳ３１３において、ＹＥＳならば、処理はステップＳ３１４に移行する。一方、ステップＳ３１３において、ＮＯならば、再度、ステップＳ３１３の処理が行われる。
【０１５２】
（ＧＣの巡回）
次に、グループルートノードが生成したＧＣが各ノードを巡回するＧＣ巡回処理について説明する。なお、ＧＣを受信したノードは、当該ＧＣに記載される前述の規則Ｐ１〜Ｐ４のうち、当該ノードの状況に対応する規則に従った処理を行う。
【０１５３】
図９は、ＧＣ巡回処理を説明するための図である。本実施の形態では、一例として、グループルートノードとしてのノード４１が、ＧＣをノード５１へ送信したとして、ＧＣ巡回処理を説明する。図９（Ａ）は、ＧＣが各ノードを巡回する様子を示す図である。以下、図９（Ａ）を参照しながら、ＧＣ巡回処理について説明する。なお、ノード４１がノード５１へ送信するＧＣには、ノード４１により、ノードＩＤ“Ｔ４１”が追記されているとする。
【０１５４】
なお、以下のＧＣ巡回処理において、各ノードは、ＧＣを子ノードへ送信する際に、カウンタＧ＿ＨＯＰ＿ＣＯＵＮＴの値を“１”インクリメントする。また、ＧＣ巡回処理において、各ノードは、ＧＣを親ノードへ送信する際に、カウンタＧ＿ＨＯＰ＿ＣＯＵＮＴの値を“１”デクリメントする。
【０１５５】
ＧＣ巡回処理において、まず、ノード５１は、規則Ｐ１に従って、受信したＧＣを、ノード６１へ送信する。この場合、ノード６１へ送信されるＧＣにはノード５１のノードＩＤ“Ｔ５１”がノード５１により追記される。
【０１５６】
ノード６１は、規則Ｐ２に従って、受信したＧＣをノード５１へ送信する。この場合、ノード５１へ送信されるＧＣにはノード６１のノードＩＤ“Ｔ６１”がノード６１により追記される。
【０１５７】
ノード５１は、受信したＧＣを、規則Ｐ３に従って、受信したＧＣをノード６２へ送信する。
【０１５８】
ノード６２は、規則Ｐ２に従って、受信したＧＣをノード５１へ送信する。この場合、ノード５１へ送信されるＧＣにはノード６２のノードＩＤ“Ｔ６２”がノード６２により追記される。
【０１５９】
そして、ノード５１は、規則Ｐ４に従って、受信したＧＣをノード４１へ送信する。そして、ノード４１は、規則Ｐ３に従って、受信したＧＣをノード５２へ送信する。
【０１６０】
上記のような処理が、さらに、ノード５２，６３，６４の各々で行われることにより、最終的に、グループルートノードとしてのノード４１は、ノード５２からＧＣ（巡回済ＧＣ）を受信する。そして、ノード４１は、規則Ｐ４に従って、ＧＣ巡回処理を終了させる。この場合、グループルートノードとしてのノード４１が受信したＧＣは、巡回済ＧＣである。
【０１６１】
また、この場合、グループルートノードとしてのノード４１は、巡回済ＧＣを受信したことになる。この場合、図７のステップＳ３１３において、ＹＥＳと判定され、処理はステップＳ３１４に移行する。
【０１６２】
ステップＳ３１４では、詳細は後述するが、グループ生成部１２４が、受信した巡回済ＧＣに基づいて、グループを形成する。
【０１６３】
図１０は、一例としての巡回済ＧＣを示す図である。図１０に示される通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳは、通過したノードのノードＩＤとして、Ｔ４１，Ｔ５１，Ｔ６１，Ｔ６２，Ｔ５２，Ｔ６３，Ｔ６４を示す。すなわち、図１０に示される通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳは、グループルートノードとしてのノード４１の全ての下位ノードの各々のノードＩＤが示される。
【０１６４】
これにより、図１０に示される巡回済ＧＣから、ノードＩＤが、Ｔ４１，Ｔ５１，Ｔ６１，Ｔ６２，Ｔ５２，Ｔ６３，Ｔ６４である、全てのノードに送信されたことがわかる。なお、通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳが示す複数のノードＩＤには、重複するノードＩＤがないことが、規則Ｐ１〜Ｐ４により保証される。
【０１６５】
この場合、図１０の巡回済ＧＣを受信したグループルートノードとしてのノード４１は、当該巡回済ＧＣの通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳが示す複数のノードＩＤにそれぞれ対応する複数のノードを含む１つのグループを形成する（Ｓ３１４）。
【０１６６】
具体的には、グループルートノードのグループ生成部１２４が、グループ情報を、巡回済ＧＣが示す複数のノードＩＤにそれぞれ対応する複数のノードの各々へ送信する。これによりグループが形成される。ここで、グループ情報は、グループ特定情報とノード情報とが示される。グループ特定情報は、グループを特定する情報である。グループ特定情報は、例えば、グループの番号を示す。ノード情報は、巡回済ＧＣが示す複数のノードＩＤを示す。
【０１６７】
グループルートノードからグループ情報を受信した複数のノードの各々は、グループ特定情報が示すグループ番号と、ノード情報が示す複数のノードＩＤとを参照することにより、自ノードが対応する（属する）グループと、当該グループに含まれる複数のノードとを知ることができる。これによりグループが形成される。すなわち、グループ生成部１２４は、巡回済ＧＣを用いてグループを形成する。
【０１６８】
なお、ステップＳ３１４におけるグループの形成処理は、上記処理に限定されず、他の処理であってもよい。例えば、ＧＣおよび巡回済ＧＣを使用せずに、グループが形成されてもよい。以下においては、ＧＣおよび巡回済ＧＣを使用せずに、グループを形成する処理を、グループ化処理Ｎという。
【０１６９】
ステップＳ３１４においてグループ化処理Ｎが行われる場合、図７のグループ化処理では、ステップＳ３１１，Ｓ３１２，Ｓ３１３の処理は行われず、ステップＳ３１４のみ行われる。この場合、ＧＣ巡回処理は行われない。
【０１７０】
グループ化処理Ｎでは、グループルートノードのグループ生成部１２４が、受信したトリガメッセージＴＲ（グループ形成データ）を用いてグループを形成する。
【０１７１】
具体的には、グループ化処理Ｎにおいて、グループルートノードのグループ生成部１２４は、自ノードの階層より下の階層であって、トリガメッセージＴＲが示すＧＲＰ＿ＳＩＺＥの値分の階層の各下位ノードへ、グループ情報を送信することによりグループを形成する。グループ情報は、グループ特定情報とノード情報とが示される。
【０１７２】
なお、この場合、グループルートノードは、事前の通信等により、自ノードの階層より下位の階層の各ノードのノードＩＤを予め取得しているとする。この場合、グループ情報が示すノード情報は、前述のノード情報と異なり、グループルートノードのノードＩＤおよび当該グループ情報の送信先の各ノードのノードＩＤを示す。グループ特定情報は、前述したグループ特定情報と同じである。
【０１７３】
ここで、一例として、グループルートノードはノード４１であるとする。また、トリガメッセージＴＲが示すＧＲＰ＿ＳＩＺＥの値は“２”であるとする。この場合、自ノード（グループルートノード）の階層は、第４階層である。また、この場合、前述した、ＧＲＰ＿ＳＩＺＥの値分の階層は、２つの階層である。すなわち、自ノードの階層より下の階層であって、トリガメッセージＴＲが示すＧＲＰ＿ＳＩＺＥの値分の階層は、第５階層および第６階層である。
【０１７４】
すなわち、この場合、ノード４１のグループ生成部１２４は、第５階層および第６階層の各ノードへ、グループ情報を送信することによりグループを形成する。
【０１７５】
ここで、ノード１１およびノード４２は、グループルートノードであるとする。また、グループルートノードとしてのノード４１が行った図６のグループ化ノード判定処理および図７のグループ化処理を、ノード１１およびノード４２の各々が行ったとする。また、ＧＣを受信した各ノードが、前述したＧＣ巡回処理を行ったとする。この場合、ＡＬＭ配信木を構成する複数のノードにおいて、複数のグループが形成される。なお、前述のグループ化処理Ｎが行われる場合、ＧＣ巡回処理は行われない。
【０１７６】
図９（Ｂ）は、形成された複数のグループの一例を示す図である。グループＧＰ２は、グループルートノードとしてのノード４１が図１０の巡回済ＧＣを受信することにより形成されたグループである。なお、前述のグループ化処理Ｎが行われる場合、グループＧＰ２は、グループ化処理Ｎにより形成されたグループである。
【０１７７】
グループＧＰ１は、グループルートノードとしてのノード１１が、ステップＳ３１４の処理を行うことにより、形成されたグループである。グループＧＰ３は、グループルートノードとしてのノード４２が、ステップＳ３１４の処理を行うことにより、形成されたグループである。
【０１７８】
図９（Ｂ）に示されるように、グループルートノードとしてのノード４１，４２は、対応するグループの境界に位置するノードである。
【０１７９】
なお、規則Ｐ１，３では、子ノードへＧＣを送信する場合、ノードＩＤが示す数字が最も小さい当該ノードＩＤの子ノードへＧＣを送信するようにしていた。しかしながら、これに限定されることなく、ノードＩＤが示す数字が最も大きい当該ノードＩＤの子ノードへＧＣを送信してもよい。すなわち、ノードＩＤが示す数字が大きい順に、ＧＣの送信先となる子ノードを選択してもよい。また、ＧＣの送信先となる子ノードを無作為に選択してもよい。
【０１８０】
なお、上記のように、ＧＣを巡回させることなく、隣接ノードに問い合わせることによってノードＩＤの収集を行ってもよいし、複数ホップ先までのノードにノードＩＤを問い合わせてもよい。
【０１８１】
なお、上記のグループ形成手法において、集中処理法によって（集中管理サーバによって）グループを形成し、その情報を各グループに散布してもよい。また、非集中処理、集中処理が混在する手法によってグループ形成を行ってもよい。
【０１８２】
（トークンの巡回）
次に、図１（Ｂ）で説明したトークンＴＫを、グループ内で巡回させるための処理（以下、トークン巡回処理という）について説明する。トークン巡回処理は、前述した巡回済ＧＣを受信したグループルートノードとしての通信端末１００が行う。ここでは、ノード４１が、巡回済ＧＣを受信したグループルートノードであるとする。
【０１８３】
なお、形成されたグループに対応するノードの数が１個である場合、当該グループにおいてトークン巡回処理は行われない。つまり、トークン巡回処理は、形成されたグループに対応するノードの数が２個以上である場合に行われる。
【０１８４】
図１１は、トークン巡回処理のフローチャートである。
【０１８５】
ステップＳ４１１では、トークン制御部１２３が、巡回済ＧＣが示す情報に基づいて、トークンＴＫを生成する。具体的には、トークン制御部１２３は、巡回済ＧＣにおける通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳが示す複数のノードＩＤを示すトークンＴＫを生成する。なお、トークン制御部１２３は、トークンＴＫが示すノードＩＤの順番を、グループに対応する複数のノードをトークンＴＫが、例えば、最短距離で巡回するように設定する。
【０１８６】
ここで、トークンＴＫの生成に使用される巡回済ＧＣは、図１０の巡回済ＧＣであるとする。この場合、以下の図１２に示されるトークンＴＫが生成される。
【０１８７】
図１２は、一例としてのトークンＴＫを示す図である。
【０１８８】
図１２において、「ＧＲＰ＿ＩＤＳ」は、トークンＴＫを生成したグループルートノードに対応するグループに対応する複数のノードにそれぞれ対応する複数のノードＩＤを示す情報（以下、グループノード情報という）である。トークンＴＫは、当該トークンＴＫに記載される複数のノードＩＤのうち、トークンＴＫを受信したノードのＩＤの右側のノードＩＤのノードへ順次送信される。
【０１８９】
なお、トークンＴＫに記載される複数のノードＩＤのうち最も右側のノードＩＤのノードが、当該トークンＴＫを受信した場合、当該複数のノードＩＤのうち最も左側のノードＩＤのノードへ、当該トークンＴＫは送信される。
【０１９０】
再び、図１１を参照して、ステップＳ４１２では、トークン制御部１２３が、送信部１１２を利用して、生成したトークンＴＫを、当該トークンＴＫに示される複数のノードＩＤのうち、自ノードのノードＩＤの次のノードＩＤのノードへ送信する。
【０１９１】
ここで、自ノードのノードＩＤは“Ｔ４１”であるとする。また、生成されたトークンＴＫは、図１２のトークンＴＫであるとする。この場合、グループルートノードとしてのノード４１は、ノードＩＤ“Ｔ５１”のノードへ、トークンＴＫを送信する。
【０１９２】
そして、トークンＴＫを受信した各ノードは、前述したように、受信したトークンＴＫに記載される複数のノードＩＤのうち、トークンＴＫを受信したノードのＩＤの右側のノードＩＤのノードへ、当該トークンＴＫを送信する。なお、トークンＴＫを受信した各ノードのトークン制御部１２３は、受信したトークンＴＫを所定時間（例えば、１秒）保持した後、当該トークンＴＫを、自ノードのノードＩＤの次のノードＩＤのノードへ送信する。
【０１９３】
なお、トークンＴＫに記載される複数のノードＩＤのうち最も右側のノードＩＤ（例えば、“Ｔ５２”）のノードが、当該トークンＴＫを受信した場合、当該複数のノードＩＤのうち最も左側のノードＩＤ（例えば、“Ｔ４１”）のノードへ、当該トークンＴＫを送信する。
【０１９４】
以上の処理により、トークンＴＫは、例えば、図１（Ｂ）に示されるように、グループルートノードに対応するグループに対応する複数のノードにおいて、巡回する。また、ＡＬＭ配信木において形成された複数のグループの各々におけるグループルートノードが、図１１のトークン巡回処理を行うことにより、各グループにおいて、トークンＴＫが独立して巡回する。
【０１９５】
なお、前述したグループ化処理Ｎが行われる場合、トークン巡回処理のステップＳ４１１では、トークン制御部１２３が、トリガメッセージＴＲが示すＧＲＰ＿ＳＩＺＥの値分の階層の各下位ノードと自ノードとをトークンＴＫが最短距離で巡回するように当該トークンＴＫ（例えば、図１２）を生成する。そして、前述のステップＳ４１２が行われる。
【０１９６】
（局所改善処理）
次に、ＡＬＭ配信木において、前述した規則Ｄ１および規則Ｄ２に従って行われる局所改善処理を行うための処理について説明する。なお、ＡＬＭ配信木には、図９（Ｂ）に示されるように、複数のグループが形成されているとする。ＡＬＭ配信木を構成する複数のノードの各々は、他の処理とは独立して、後述の局所改善判定処理を行う。
【０１９７】
また、ＡＬＭ配信木を構成する複数のノードの各々は、他の処理とは独立して、後述の配信木変更処理を行う。
【０１９８】
ここで、図９（Ｂ）のルートノードとしてのノード１１は、所定時間（例えば、１ミリ秒）毎に、データＤＴを、子ノード（ノード２１，２２）へ送信しているとする。ルートノードとしてのノード１１が送信するデータＤＴは、例えば、ストリーミングデータであるとする。ルートノード以外の各ノード（例えば、ノード３１）は、データＤＴを受信する毎に、受信したデータＤＴを、子ノード（例えば、ノード４１）へ送信する。
【０１９９】
また、ルートノード以外の各ノード（例えば、ノード２１，３１）は、データＤＴを受信する毎に、データ受信メッセージを、親ノード（例えば、ノード１１，２１）へ送信するとする。データ受信メッセージは、データＤＴを受信したことを報知するためのメッセージである。これにより、ＡＬＭ配信木における各ノードは、所定時間毎にデータ受信メッセージを受信することで、データＤＴが正常に子ノードへ送信されていることを知ることができる。
【０２００】
図１３は、局所改善判定処理のフローチャートである。ここでは、一例として、ノード５２が、局所改善判定処理を行っているとして説明する。
【０２０１】
また、前述した処理により、各グループにおいて、トークンＴＫが巡回しているとする。
【０２０２】
ステップＳ５１１では、局所改善部１２２が、局所改善条件が満たされたか否かを判定する。局所改善条件は、局所改善処理を実行するための条件である。
【０２０３】
局所改善条件は、例えば、自ノードと子ノードとの間の通信量が所定値以上になったという条件である。すなわち、局所改善条件は、自ノードと子ノードとの間で前述したネットワーク混雑が発生したという条件である。局所改善条件が満たされる場合、データの送信先の変更が必要なノード（以下、変更必要ノードという）があることになる。この場合、変更必要ノードは、自ノードである。 
【０２０４】
自ノードと子ノードとの間の通信量が所定値以上になった場合、局所改善部１２２は、局所改善条件が満たされたと判定する。すなわち、ステップＳ５１１では、局所改善部１２２が、変更必要ノードがあるか否かを判定する。
【０２０５】
自ノードと子ノードとの間の通信量が所定値以上になったか否かの判定は、子ノードから送信されるデータ受信メッセージを受信する時間間隔により判定できる。例えば、ネットワーク混雑が発生した場合、データ受信メッセージを受信する時間間隔は、所定の時間間隔より長くなる。以下においては、自ノードと子ノードとの間の通信量が所定値以上になった場合における当該子ノードを、混雑解消対象ノードという。
【０２０６】
ステップＳ５１１において、ＹＥＳならば、処理はステップＳ５１２に移行する。一方、ステップＳ５１１において、ＮＯならば、再度、ステップＳ５１１の処理が行われる。
【０２０７】
ここで、ノード５２とノード６４との間の通信量が所定値以上になったとする。すなわち、ノード５２とノード６４との間に、前述したネットワーク混雑が発生したとする。この場合、ノード６４は、混雑解消対象ノードである。この場合、局所改善条件が満たされたと判定され、処理はステップＳ５１２に移行する。
【０２０８】
なお、局所改善条件は、上記条件に限定されることなく、他の条件であってもよい。例えば、局所改善条件は、自ノードと子ノードとの間の通信量が“０”になったという条件でもよい。すなわち、局所改善条件は、子ノードが動作してないという条件であってもよい。
【０２０９】
ステップＳ５１２では、交換対象ノードの判定が行われる。交換対象ノードは、自ノードと混雑解消対象ノードとの間の通信量を所定値未満とすることができるノードである。すなわち、交換対象ノードは、ネットワーク混雑を解消するのに最も適したノードである。また、交換対象ノードは、自ノードと交換の対象となるノードである。
【０２１０】
なお、交換対象ノードは、グループルートノード以外のノードとする。なぜならば、グループルートノードが交換されてしまうと、他のグループに対応する、当該グループルートノードの親ノードが、データをどこへ送信すればいいのかわからなくなってしまうからである。
【０２１１】
具体的には、局所改善部１２２が、混雑解消対象ノード（例えば、ノード６４）以外の親ノード（例えば、ノード４１）または混雑解消対象ノード以外の子ノード（例えば、ノード６３）との通信量に基づいて、交換対象ノードを判定する。また、局所改善部１２２は、判定された交換対象ノードに、当該交換対象ノードのノードＩＤを問い合わせることにより、交換対象ノードのノードＩＤを取得する。
【０２１２】
ステップＳ５１３では、局所改善部１２２が、トークン制御部１２３がトークンＴＫを保持しているか否かを判定する。ステップＳ５１３において、ＹＥＳならば、処理はステップＳ５１４に移行する。一方、ステップＳ５１３において、ＮＯならば、再度、ステップＳ５１１の処理が行われる。ここでは、トークン制御部１２３がトークンＴＫを保持しているとする。
【０２１３】
ステップＳ５１４では、局所改善処理に関わる全てのノードＩＤがあるか否かが判定される。具体的には、局所改善部１２２が、保持されているトークンＴＫが、自ノードのノードＩＤと、交換対象ノードのノードＩＤとを示すか否かを判定する。ステップＳ５１４において、ＹＥＳならば、処理はステップＳ５１５に移行する。一方、ステップＳ５１４において、ＮＯならば、再度、ステップＳ５１１の処理が行われる。
【０２１４】
ここで、保持されているトークンＴＫは、図１２のトークンＴＫであるとする。また、ステップＳ５１４の処理は、ノード５２が行っているとする。また、前述の処理により判定された交換対象ノードは、ノード６３であるとする。
【０２１５】
この場合、自ノードのノードＩＤは“Ｔ５２”である。また、交換対象ノードのノードＩＤは“Ｔ６３”である。この場合、ステップＳ５１４でＹＥＳと判定され、処理はステップＳ５１５に移行する。
【０２１６】
ステップＳ５１５では、局所改善処理Ｔが行われる。局所改善処理Ｔは、アプリケーション層では、ＡＬＭ配信木における変更必要ノード（例えば、ノード５２）の位置と、交換対象ノード（例えば、ノード６３）の位置とを交換する処理である。
【０２１７】
局所改善処理Ｔは、物理層では、変更必要ノードに設定されたデータの送信先と、交換対象ノードに設定されたデータの送信先とを交換する送信先交換処理を含む。具体的には、送信先交換処理は、変更必要ノードに設定されたデータの送信先を、交換対象ノードに設定されたデータの送信先に変更し、交換対象ノードに設定されたデータの送信先を、変更必要ノードに設定されたデータの送信先に変更する処理である。
【０２１８】
なお、交換対象ノードが、変更必要ノードの子ノードである場合、送信先交換処理は、交換対象ノード（例えば、ノード６３）がデータの送信先に設定されている親ノード（例えば、ノード５２）のデータの送信先を当該交換対象ノードに設定されたデータの送信先に変更する処理を含む。
【０２１９】
また、局所改善処理Ｔは、物理層では、変更必要ノード（例えば、ノード５２）がデータの送信先に設定されているノード（例えば、ノード４１）のデータの送信先の少なくとも一部を交換対象ノード（例えば、ノード６３）に変更する処理を含む。
【０２２０】
具体的には、局所改善処理Ｔでは、まず、局所改善部１２２が、局所改善メッセージＩＰＭを生成する。局所改善メッセージＩＰＭは、局所改善処理を行うためのメッセージである。局所改善処理Ｔでは、変更必要ノードの親ノードへ送信するための局所改善メッセージＩＰＭ（以下、第１局所改善メッセージという）と、交換対象ノードへ送信するための局所改善メッセージＩＰＭ（以下、第２局所改善メッセージという）とが生成される。そして、局所改善部１２２は、生成した第１局所改善メッセージおよび第１局所改善メッセージの各々を、送信先となるノードへ送信する。
【０２２１】
ここで、ステップＳ５１２の処理により、交換対象ノードはノード６３であると判定されたとする。この場合、ノード５２の位置と、ノード６３の位置とを交換するための局所改善処理を行うための第１局所改善メッセージおよび第２局所改善メッセージが生成される。
【０２２２】
また、ノード５２がステップＳ５１５の処理を行っているとする。また、変更必要ノードはノード５２（自ノード）であるとする。
【０２２３】
この場合、生成される第１局所改善メッセージは、変更必要ノード（ノード５２）の親ノードであるノード４１へ送信するためのメッセージである。また、生成される第２局所改善メッセージは、交換対象ノードとしてのノード６３へ送信するためのメッセージである。
【０２２４】
ここで、ノード４１に設定されているデータの送信先は、ノード５１，５２であるとする。なお、データの送信先情報は、例えば、ＩＰアドレス等により表現される。
【０２２５】
また、この場合、第１局所改善メッセージは、ノード４１のデータの送信先の一部（ノード５２のＩＰアドレス）を、ノード６３のＩＰアドレスに変更するための指示を示す。また、第２局所改善メッセージは、変更必要ノードのＩＰアドレスと、当該変更必要ノードのＩＰアドレスを交換対象ノードとしてのノード６３のデータの送信先に設定する旨の指示と、交換対象ノードとしてのノード６３のデータの送信先情報（例えば、ＩＰアドレス）を要求する指示とを示す。
【０２２６】
なお、局所改善部１２２は、交換対象ノードから、データの送信先情報を受信すると、受信した送信先情報が示すデータの送信先を、自ノードのデータの送信先に設定する。
【０２２７】
そして、局所改善部１２２は、生成した第１局所改善メッセージを、ノード４１へ送信する。また、局所改善部１２２は、生成した第２局所改善メッセージを、交換対象ノードとしてのノード６３へ送信する。
【０２２８】
図１４は、配信木変更処理のフローチャートである。前述したように、ＡＬＭ配信木を構成する複数のノードの各々は、他の処理とは独立して、配信木変更処理を行う。ここでは、一例として、ノード４１が、配信木変更処理を行っているとして説明する。
【０２２９】
ステップＳ６１１では、局所改善部１２２が、局所改善メッセージを受信したか否かを判定する。ステップＳ６１１において、ＹＥＳならば、処理はステップＳ６１２に移行する。一方、ステップＳ６１１において、ＮＯならば、再度、ステップＳ６１１の処理が行われる。ここでは、ノード４１が、変更必要ノード（ノード５２）から、前述の第１局所改善メッセージを受信したとする。
【０２３０】
ステップＳ６１２では、メッセージ対応処理が行われる。メッセージ対応処理では、局所改善部１２２が、受信した局所改善メッセージに基づいた処理を行う。ここで、受信した局所改善メッセージは、前述の第１局所改善メッセージであるとする。また、第１局所改善メッセージは、ノード４１のデータの送信先の一部（ノード５２のＩＰアドレス）を、ノード６３のＩＰアドレスに変更するための指示を示すとする。
【０２３１】
この場合、局所改善部１２２は、自ノード（ノード４１）に設定されているデータの送信先の一部（ノード５２のＩＰアドレス）を、ノード６３のＩＰアドレスに変更する。すなわち、自ノード（ノード４１）に設定されているデータの送信先の一部（ノード５２）が、ノード６３に変更される。
【０２３２】
以上の処理により、メッセージ対応処理は終了する。そして、再度、ステップＳ６１１の処理が行われる。
【０２３３】
次に、ノード６３が、図１４の配信木変更処理を行っている場合の処理を説明する。ここで、ノード６３が、変更必要ノード（ノード５２）から、前述の第２局所改善メッセージを受信したとする。
【０２３４】
この場合、ステップＳ６１１において、ＹＥＳと判定され、処理はステップＳ６１２に移行する。
【０２３５】
ステップＳ６１２のメッセージ対応処理では、局所改善部１２２が、受信した第２局所改善メッセージに基づいた処理を行う。第２局所改善メッセージは、変更必要ノードのデータの送信先としての変更必要ノードのＩＰアドレスと、変更必要ノードのＩＰアドレスを、交換対象ノードとしてのノード６３のデータの送信先に設定する旨の指示と、交換対象ノードとしてのノード６３のデータの送信先情報（例えば、ＩＰアドレス）を要求する指示とを示すとする。
【０２３６】
この場合、局所改善部１２２は、自ノード（ノード６３）に設定されているデータの送信先を、変更必要ノードの送信先（ＩＰアドレス）に設定（変更）する。また、局所改善部１２２は、自ノードのデータの送信先情報を、ノード５２へ送信する。
【０２３７】
前述の局所改善処理Ｔを行っているノード５２の局所改善部１２２は、前述したように、交換対象ノード（ノード６３）から、データの送信先情報を受信すると、受信した送信先情報が示すデータの送信先を、自ノードのデータの送信先に設定する。そして、図１３における局所改善処理Ｔは終了する。そして、再度、ステップＳ５１１の処理が行われる。
【０２３８】
以上の局所改善処理Ｔが行われることにより、変更必要ノードのデータの送信先の全てと、交換対象ノードのデータの送信先の全てとが交換される。なお、局所改善処理Ｔは、変更必要ノードのデータの送信先の全てと、交換対象ノードのデータの送信先の全てとを交換する処理に限定されない。局所改善処理Ｔは、例えば、変更必要ノードのデータの送信先の一部と、交換対象ノードのデータの送信先の一部とを交換する処理であってもよい。
【０２３９】
なお、図１３の局所改善判定処理は、データの送信先の変更が必要な変更必要ノード（例えば、ノード５２）以外のノードが行ってもよい。例えば、変更必要ノードが、ノード５２であるとする。また、ノード４１が、ノード５２とノード６４との間の通信量の状態を監視しているとする。
【０２４０】
この場合、ノード４１が、図１３の局所改善判定処理を行ってもよい。この場合、ノード４１が行う局所改善判定処理は、例えば、ＡＬＭ配信木におけるノード５２の位置と、ノード６３の位置とを交換するための処理となる。
【０２４１】
以上説明したように、本実施の形態では、上記の局所改善処理Ｔが行われることにより、ネットワーク混雑が解消される。また、配信木変更処理により、トークンＴＫを保持しているノードのみしか局所改善処理が実行できないので、１つのグループ内で、同時に複数の局所改善処理が行われることはない。
【０２４２】
そのため、ＡＬＭ配信木において形成された複数のグループの各々において、同時にネットワーク混雑が発生し、当該ネットワーク混雑を解消するための局所改善処理が行われても、ＡＬＭ配信木の不整合の発生を防ぐことができる。
【０２４３】
また、トークンＴＫを保持しているノードのみしか局所改善処理が実行できないので、局所改善処理が他の処理の影響を受けることなく、局所改善処理を確実に実行することができる。
【０２４４】
また、ＡＬＭ配信木において形成された複数のグループの各々において、ネットワーク混雑が同時に発生した場合、各グループにおいて、同時に、図１３の局所改善判定処理および図１４の配信木変更処理が行われることにより、複数のグループの各々において、局所改善処理が行われる。すなわち、ＡＬＭ配信木において、複数の局所改善処理を迅速に行うことができる。
【０２４５】
したがって、従来技術としての逐次実行処理より、複数個所のネットワーク混雑を迅速に解消することができる。すなわち、ＡＬＭ配信木の再構築を迅速に行うことができる。つまり、従来技術としての逐次実行処理より、ＡＬＭ配信木を迅速に改善することができる。
【０２４６】
また、本発明では、トークンＴＫがグループノード情報（ＧＲＰ＿ＩＤＳ）を保持するようにしている。そのため、ＡＬＭ配信木における各ノードがグループノード情報を保持、管理する必要がない。そのため、グループ管理を非常に簡単にすることができる。
【０２４７】
なお、ＡＬＭ配信木の不整合を解消するのに発生するネットワークのオーバーヘッドは、グループ形成時のトラフィック量と、トークン巡回時のトラフィック量との合計である。グループ形成時のトラフィック量は、１回限りのトラフィックである。また、トークン巡回時のトラフィック量は、トークンＴＫがグループノード情報を保持しているため十分に小さい。したがって、本発明において、ＡＬＭ配信木の不整合を解消するのに発生するネットワークのオーバーヘッドは非常に少ない。
【０２４８】
以上により、本発明では、局所改善処理が複数個所で同時実行されるときに起こり得るＡＬＭ配信木の不整合を、少ないネットワークのオーバーヘッドで、迅速に解消することができる。その結果、高いＱｏＳ（Quality of Service）を実現することができる。
【０２４９】
＜第１の実施の形態の変形例＞
第１の実施の形態では、ＡＬＭ配信木において形成される複数のグループの大きさおよびグループの位置は固定であった。すなわち、ＡＬＭ配信木において形成されるグループの数、各グループに対応するノードの数は固定であった。また、異なる２つのグループ間において２つのノードの位置を交換する局所改善処理は禁止していた。
【０２５０】
そのため、ＡＬＭ配信木において、図９（Ｂ）のようにグループＧＰ１，ＧＰ２，ＧＰ３が形成されている状態で、例えば、グループＧＰ１と、グループＧＰ２との間においてネットワーク混雑が発生した場合、当該ネットワーク混雑を解消するための局所改善処理は実行されないという問題があった。
【０２５１】
本実施の形態の変形例では、ＡＬＭ配信木において形成される複数のグループの大きさおよびグループの位置を動的に変更することにより、上記問題を解決する。すなわち、ＡＬＭ配信木において形成されるグループの数、各グループに対応するノードの数を動的に変更することにより、上記問題を解決する。
【０２５２】
本実施の形態の変形例の概要は、予め定められたグループ分け条件が満たされた場合、トリガメッセージＴＲが示す、ＳＴＡＲＴ＿ＩＮＤＥＸの値、グループサイズＧＲＰ＿ＳＩＺＥの値を変更したトリガメッセージＴＲを、ＡＬＭ配信木を構成する複数のノードへブロードキャストする。グループ分け条件は、例えば、所定時間が経過したという条件である。
【０２５３】
これにより、ＡＬＭ配信木において形成される複数のグループの大きさおよびグループの位置を動的に変更する。すなわち、ＡＬＭ配信木において形成されるグループの数、各グループに対応するノードの数を動的に変更する。
【０２５４】
本実施の形態の変形例におけるノードとしての通信端末は、図３の通信端末１００である。そのため、通信端末１００についての詳細な説明は繰り返さない。
【０２５５】
（グループの形成）
次に、ＡＬＭ配信木において、複数のグループを形成するための処理（以下、グループ分け処理Ａという）について説明する。グループ分け処理Ａは、ルートノードとしてのノード１１である通信端末１００が行う。なお、以下のグループ分け処理Ａは、ルートノード以外の任意のノードである通信端末１００が行ってもよい。
【０２５６】
図１５は、グループ分け処理Ａのフローチャートである。図１５において、図４のステップ番号と同じステップ番号の処理は、第１の実施の形態で説明した処理と同様な処理が行われるので詳細な説明は繰り返さない。
【０２５７】
ステップＳ１１０Ａでは、グループ生成部１２４が、予め定められたグループ分け条件が満たされたか否かを判定する。ここで、グループ分け条件は、例えば、所定時間が経過したという条件である。ステップＳ１１０Ａにおいて、ＹＥＳならば、処理はステップＳ１１１Ａに移行する。一方、ステップＳ１１０Ａにおいて、ＮＯならば、再度、ステップＳ１１０Ａの処理が行われる。
【０２５８】
なお、グループ分け条件は、他の条件であってもよい。グループ分け条件は、例えば、現在の時刻が任意の時刻であるという条件であってもよい。
【０２５９】
ステップＳ１１１Ａでは、トリガメッセージ生成処理Ａが行われる。トリガメッセージ生成処理Ａでは、グループ生成部１２４が、トリガメッセージＴＲを生成する。生成されるトリガメッセージＴＲは、例えば、図５のトリガメッセージＴＲである。トリガメッセージ生成処理Ａでは、ステップＳ１１１Ａの処理が繰り返し行われる毎に、グループ生成部１２４が、前回とは異なるトリガメッセージＴＲを生成する。
【０２６０】
例えば、前回のトリガメッセージ生成処理Ａにより生成されたトリガメッセージＴＲが、図５のトリガメッセージＴＲであった場合、今回のトリガメッセージ生成処理Ａでは、グループサイズＧＲＰ＿ＳＩＺＥの値およびＳＴＡＲＴ＿ＩＮＤＥＸの値の少なくとも一方が変更されたトリガメッセージＴＲが生成される。
【０２６１】
すなわち、ステップＳ１１１Ａの処理が繰り返し行われる毎に、トリガメッセージ生成処理Ａでは、ＡＬＭ配信木において形成される複数のグループの大きさおよびグループの位置の少なくとも一方を動的に変更したトリガメッセージＴＲ（グループ形成データ）が生成される。つまり、ステップＳ１１１Ａの処理が繰り返し行われる毎に、トリガメッセージ生成処理Ａでは、ＡＬＭ配信木において形成されるグループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのトリガメッセージＴＲ（グループ形成データ）が生成される。すなわち、ステップＳ１１１Ａの処理が繰り返し行われる毎に、グループ生成部１２４により生成されるトリガメッセージＴＲ（グループ形成データ）は変更される。
【０２６２】
ステップＳ１１２では、第１の実施の形態で説明した処理と同様な処理が行われるので詳細な説明は繰り返さない。この処理により、トリガメッセージＴＲが送信される。そして、再度、ステップＳ１１０Ａの処理が行われる。
【０２６３】
すなわち、グループ分け処理Ａでは、グループ分け条件が満たされる毎に、トリガメッセージＴＲ（グループ形成データ）が生成され、当該トリガメッセージＴＲが子ノードへ送信される。グループ分け条件が、例えば、所定時間が経過したという条件である場合、所定時間経過毎に、前回と異なるトリガメッセージＴＲが、子ノードへ送信される。
【０２６４】
そして、第１の実施の形態と同様に、ＡＬＭ配信木を構成する複数のノードの各々は、図６のグループ化ノード判定処理を行う。なお、ルートノードは、図６のステップＳ２１１を行わず、ステップＳ２１２，Ｓ２１３のみを行うとする。 
【０２６５】
また、ＡＬＭ配信木を構成する複数のノードのうち、グループルートノード（グループ化ノード）は、図７のグループ化処理を行う。
【０２６６】
図１６は、ＡＬＭ配信木においてグループが形成される処理を説明するための図である。以下、図１６（Ａ）、図１６（Ｂ）、図１６（Ｃ）、図１６（Ｄ）、図１６（Ｅ）および図１６（Ｆ）を参照して、ＡＬＭ配信木においてグループが形成される処理を説明する。
【０２６７】
ルートノードとしてのノード１１は、図１５のグループ分け処理Ａを行うことにより、子ノードとしてのノード２１，２２へ、トリガメッセージＴＲを送信する（図１６（Ａ）参照）。ここで、ノード１１が送信するトリガメッセージＴＲは、図５のトリガメッセージＴＲであるとする。すなわち、トリガメッセージＴＲが示すＳＴＡＲＴ＿ＩＮＤＥＸの値およびグループサイズＧＲＰ＿ＳＩＺＥの値は、それぞれ、“０”および“２”である。
【０２６８】
この場合、ルートノードとしてのノード１１は、図６のグループ化ノード判定処理を行うことにより、自ノードがグループルートノード（グループ化ノード）であると判定し、図７のグループ化処理を行う。この処理により、ノード１１は、ＧＣを、第１の実施の形態で説明したのと同様な処理により、他のノード（ノード２１）へ送信する（図１６（Ａ）参照）。
【０２６９】
そして、図１６（Ｂ）に示されるように、ノード２１は、第１の実施の形態で説明したのと同様な処理により、トリガメッセージＴＲを、子ノードとしてのノード３１，３２へ送信する。また、ノード１１，２１，３１，３２は、第１の実施の形態で説明したのと同様な処理により、ＧＣを巡回させるための処理を行う。
【０２７０】
ＧＣの巡回により、図１６（Ｃ）に示されるように、グループＧＰ１が形成される。また、ノード３１は、受信したトリガメッセージＴＲを、子ノードとしてのノード４１，４２へ送信する。
【０２７１】
ノード４１，４２の各々は、図６のグループ化ノード判定処理を行うことにより、自ノードがグループルートノード（グループ化ノード）であると判定し、図７のグループ化処理を行う。この処理により、ノード４１は、ＧＣを、第１の実施の形態で説明したのと同様な処理により、他のノード（ノード５１）へ送信する（図１６（Ｄ）参照）。ノード４２も、ノード４１と同様に、ＧＣを、第１の実施の形態で説明したのと同様な処理により、他のノード（ノード５３）へ送信する（図１６（Ｄ）参照）。
【０２７２】
また、ノード４１は、受信したトリガメッセージＴＲを、子ノードとしてのノード５１，５２へ送信する（図１６（Ｄ）参照）。ノード４２は、受信したトリガメッセージＴＲを、子ノードとしてのノード５３，５４へ送信する。
【０２７３】
そして、図９（Ａ）を用いて第１の実施の形態で説明したＧＣを巡回させるための処理により、ノード４１，５１，６１，６２，５２，６３，６４において、ＧＣが巡回する（図１６（Ｅ）参照）。
【０２７４】
また、ノード５１，５２，５３，５４の各々は、受信したトリガメッセージＴＲを、対応する子ノードへ送信する。なお、ノード５１，５２，５３，５４の子ノード（例えば、ノード６１）は、最下位層ノードであるため、トリガメッセージＴＲを受信するのみである。 
【０２７５】
ノード４１，４２の各々が生成したＧＣの巡回により、図９（Ｂ）と同様、図１６（Ｆ）に示されるように、グループＧＰ１に加え、さらに、グループＧＰ２，ＧＰ３が形成される。
【０２７６】
以上の処理により、ルートノードとしてのノード１１が送信したトリガメッセージＴＲが、ＡＬＭ配信木を構成する全てのノードへ送信されるとともに、ＡＬＭ配信木において、１以上のノードに対応するグループが形成される。
【０２７７】
なお、各グループにおいては、第１の実施の形態で説明した、図１１のトークン巡回処理、図１３の局所改善判定処理および図１４の配信木変更処理が行われる。
【０２７８】
また、図１５のグループ分け処理Ａが行われることにより、ルートノードとしてのノード１１が、子ノードへ送信するトリガメッセージＴＲが異なると、ＡＬＭ配信木において形成されるグループの数、各グループに対応するノードの数も変化する。
【０２７９】
なお、本実施の形態の変形例で行われる図７のグループ化処理のステップＳ３１４において前述したグループ化処理Ｎが行われることによりグループが形成されてもよい。この場合、ステップＳ３１１，Ｓ３１２，Ｓ３１３の処理およびＧＣ巡回処理は行われない。
【０２８０】
図１７は、ＡＬＭ配信木に形成されるグループの一例を示す図である。
【０２８１】
図１７（Ａ）は、ノード１１が送信するトリガメッセージＴＲが示すＳＴＡＲＴ＿ＩＮＤＥＸの値およびグループサイズＧＲＰ＿ＳＩＺＥの値が、それぞれ、“０”および“３”である場合に形成される複数のグループを示す図である。
【０２８２】
図１７（Ａ）は、形成されたグループの例として、グループＧＰ１１，ＧＰ２１，ＧＰ２２，ＧＰ２３，ＧＰ２４を示す。グループＧＰ２１，ＧＰ２２，ＧＰ２３，ＧＰ２４の各々のサイズは“１”である。すなわち、グループＧＰ２１，ＧＰ２２，ＧＰ２３，ＧＰ２４の各々は、３つのノードから形成される。これは、ＡＬＭ配信木の大きさ、すなわち、ＡＬＭ配信木を構成するノードの数により、最下位のグループに含められるノードの数が限られるからである。
【０２８３】
図１７（Ｂ）は、ノード１１が送信するトリガメッセージＴＲが示すＳＴＡＲＴ＿ＩＮＤＥＸの値およびグループサイズＧＲＰ＿ＳＩＺＥの値が、それぞれ、“１”および“２”である場合に形成される複数のグループを示す図である。
【０２８４】
図１７（Ｂ）は、形成されたグループの例として、グループＧＰ１２，ＧＰ２０，ＧＰ２１，ＧＰ２２，ＧＰ２３，ＧＰ２４を示す。
【０２８５】
ＳＴＡＲＴ＿ＩＮＤＥＸ＞０の場合、最上位のグループ（例えば、グループＧＰ１２）のサイズが、グループサイズＧＲＰ＿ＳＩＺＥの値“２”より小さくなることが、前述した式１よりわかる。この場合、グループＧＰ１２は１つのノードで形成される。
【０２８６】
以上説明したように、本実施の形態の変形例では、ルートノードが、所定時間経過毎に、異なるトリガメッセージＴＲを、子ノードへ送信する。この処理により、トリガメッセージＴＲが示す値によって、例えば、図１６（Ｆ）、図１７（Ａ）および図１７（Ｂ）のいずれかに示されるように、ＡＬＭ配信木にグループが形成される。
【０２８７】
すなわち、所定時間経過毎に、ＡＬＭ配信木において形成される複数のグループの大きさおよびグループの位置が動的に変更される。すなわち、所定時間経過毎に、ＡＬＭ配信木において形成されるグループの数、各グループに対応するノードの数が変更される。
【０２８８】
ここで、例えば、図１６（Ｆ）において、ノード３１とノード４１との間にネットワーク混雑が発生したとする。この場合、図１６（Ｆ）が示すように、複数のグループが形成されている場合、当該ネットワーク混雑は、グループＧＰ１とグループＧＰ２との間に発生したネットワーク混雑となる。そのため、仮に、グループの大きさおよびグループの位置が固定である場合、前述した規則Ｄ１により、局所改善処理は実行されず、当該ネットワーク混雑は解消されない。
【０２８９】
しかしながら、本実施の形態の変形例では、ＡＬＭ配信木において形成される複数のグループの大きさおよびグループの位置が動的に変更される。この処理により、例えば、図１７（Ａ）または図１７（Ｂ）に示されるようにグループが形成され、ノード３１およびノード４１が同じグループに対応するようになると、当該グループにおいてネットワーク混雑を解消するための局所改善処理が実行されるようになる。
【０２９０】
したがって、本実施の形態の変形例では、第１の実施の形態で奏する効果に加えて、ネットワーク混雑が発生する位置に関わらず、当該ネットワーク混雑を解消することができる。すなわち、ネットワーク混雑が発生する位置に関わらず、当該ネットワーク混雑を解消することができるとともに、局所改善処理が複数個所で同時実行されるときに起こり得るＡＬＭ配信木の不整合を、少ないネットワークのオーバーヘッドで、迅速に解消することができる。
【０２９１】
なお、本実施の形態の変形例では、トリガメッセージＴＲにおけるグループサイズＧＲＰ＿ＳＩＺＥの値は、ＡＬＭ配信木においてグループが形成される間は変化しない。しかしながら、これに限定されることなく、ＡＬＭ配信木における任意のノードが、トリガメッセージＴＲを子ノードへ送信（転送）する場合に、グループサイズＧＲＰ＿ＳＩＺＥの値を、ある条件に基づいて変更してもよい。
【０２９２】
この場合、グループ毎に、当該グループのサイズを異なるようにすることができる。すなわち、異なるサイズの複数のグループを形成することが可能となる。その結果、より柔軟なグループ形成ができるようになる。
【０２９３】
（機能ブロック図）
図１８は、本発明に係る通信端末１００の特徴的な第１の機能構成を示すブロック図である。つまり、図１８は、図３に示される通信端末１００の機能のうち、本発明に関わる主要な機能を示すブロック図である。
【０２９４】
第１の機能構成を有する通信端末１００は、ＡＬＭ配信木を構成する、通信端末としての複数のノードのうち、所定ノードとしての通信端末である。所定ノードは、例えば、ルートノードである。なお、所定ノードは、ルートノード以外の任意のノードであってもよい。ＡＬＭ配信木を構成する複数のノードの少なくとも一部ではデータ通信が行われている。
【０２９５】
複数のノードには、ＡＬＭ配信木におけるノードの位置によって、所定ノードから送信されるデータが複数のノードのうち所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されている。
【０２９６】
図１８に示すように、通信端末１００は、生成部２１０と、送信部２２０とを備える。
【０２９７】
生成部２１０は、ＡＬＭ配信木を構成する複数のノードにおいて、複数のグループを形成させるためのグループ形成データを生成する。グループ形成データは、例えば、トリガメッセージＴＲである。生成部２１０は、図４のグループ分け処理または図１５のグループ分け処理Ａを行う図３のグループ生成部１２４に相当する。
【０２９８】
送信部２２０は、グループ形成データを、自端末に設定された送信先のノードへ送信する。送信部２２０は、図４または図１５のステップＳ１１２の処理を行うグループ生成部１２４に相当する。
【０２９９】
生成部２１０は、グループ分け条件が満たされた場合、グループ形成データを、該グループ形成データに基づくグループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのデータに変更する。ここで、グループ分け条件は、例えば、所定時間が経過したという条件である。
【０３００】
送信部２２０は、グループ形成データが変更される毎に、変更後のグループ形成データを、自端末に設定された送信先のノードへ送信する。
【０３０１】
具体的には、例えば、生成部２１０は、グループに対応するノードの数がＮ（２以上の整数）個である場合、該Ｎ個のノードのうち２つのノードの位置を交換する局所改善処理が行われるグループを形成させるためのグループ形成データを生成する。
【０３０２】
また、例えば、生成部２１０は、形成されるグループの境界に位置するノードを特定するための情報を示す前記グループ形成データを生成する。
【０３０３】
また、例えば、生成部２１０は、グループに対応するノードの数がＮ個であり、かつ、該Ｎ個のノードにおける通信量が所定値以上となった場合、該通信量を所定値未満とするように、局所改善処理が行われるグループを形成させるためのグループ形成データを生成する。
【０３０４】
なお、図１８の生成部２１０および送信部２２０の全てまたは一部は、ＬＳＩ（Large Scale Integration：大規模集積回路）等のハードウエアで構成されてもよい。また、生成部２１０および送信部２２０の全てまたは一部は、ＣＰＵ等のプロセッサにより実行されるプログラムのモジュールであってもよい。
【０３０５】
図１９は、本発明に係る通信端末１００の特徴的な第２の機能構成を示すブロック図である。つまり、図１９は、図３に示される通信端末１００の機能のうち、本発明に関わる主要な機能を示すブロック図である。
【０３０６】
第２の機能構成を有する通信端末１００は、ＡＬＭ配信木を構成する、通信端末としての複数のノードのいずれかのノードとしての通信端末である。複数のノードには、ＡＬＭ配信木におけるノードの位置によって、データの送信先が予め設定されている。
【０３０７】
図１９に示すように、通信端末１００は、受信部３１０と、判定部３２０と、グループ生成部３３０と、局所改善部３４０とを備える。
【０３０８】
受信部３１０は、他のノードから送信されるデータであって、複数のノードのうち、自ノードを含むＭ（２以上の整数）個のノードからなるグループを、複数のノードのうちの特定ノードに形成させるためのグループ形成データを受信する。ここで、特定ノードは、例えば、前述したグループ化ノードである。グループ形成データは、例えば、トリガメッセージＴＲである。グループ形成データは、自ノードが前記特定ノードであるか否かを特定するための情報（例えば、図５の各値）を示す。
【０３０９】
受信部３１０は、例えば、図３の受信部１１０および図６のステップＳ２１１の処理を行うグループ生成部１２４に相当する。
【０３１０】
判定部３２０は、受信部３１０が受信したグループ形成データに基づいて、自ノードが特定ノードであるか否かを判定する。判定部３２０は、例えば、図６のステップＳ２１２の処理を行うグループ生成部１２４に相当する。
【０３１１】
グループ生成部３３０は、判定部３２０により自ノードが特定ノードであると判定された場合、グループ形成データに基づいて、Ｍ個のノードからなるグループを形成する。グループ生成部３３０は、図６のステップＳ２１３の処理、すなわち、図７のグループ化処理を行うグループ生成部１２４に相当する。
【０３１２】
局所改善部３４０は、グループ生成部３３０により形成されたグループに対応するＭ個のノードにおいて、データの送信先の変更が必要なノードである変更必要ノードがあるか否かを判定する。局所改善部３４０は、例えば、図１３の局所改善判定処理を行う局所改善部１２２に相当する。
【０３１３】
局所改善部３４０は、さらに、変更必要ノードがあると判定された場合、該変更必要ノードに設定されたデータの送信先と、他のノードに設定されたデータの送信先とを交換する局所改善処理を行う。
【０３１４】
具体的には、例えば、局所改善部３４０は、Ｍ個のノードのうちの２つのノードの間の通信量が所定値以上である場合に、２つのノードのうちの少なくともいずれか一方を変更必要ノードとして、変更必要ノードがあると判定する。
【０３１５】
なお、図１９の受信部３１０、判定部３２０、グループ生成部３３０および局所改善部３４０の全てまたは一部は、ＬＳＩ（Large Scale Integration：大規模集積回路）等のハードウエアで構成されてもよい。また、受信部３１０、判定部３２０、グループ生成部３３０および局所改善部３４０の全てまたは一部は、ＣＰＵ等のプロセッサにより実行されるプログラムのモジュールであってもよい。
【０３１６】
以上、本発明における通信端末１００について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、あるいは異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【０３１７】
また、上記の通信端末１００を構成する複数の構成要素の全てまたは一部は、ハードウエアで構成されてもよい。また、上記の通信端末１００を構成する構成要素の全てまたは一部は、ＣＰＵ（Central Processing Unit）等により実行されるプログラムのモジュールであってもよい。
【０３１８】
また、上記の通信端末１００を構成する複数の構成要素の全てまたは一部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されてもよい。システムＬＳＩは、複数の構成要素を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）などを含んで構成されるコンピュータシステムである。
【０３１９】
例えば、図３において、制御部１２０は、１個のシステムＬＳＩから構成されてもよい。
【０３２０】
また、本発明は、通信端末１００が備える特徴的な構成部の動作をステップとする方法として実現してもよい。また、本発明は、そのような方法に含まれる各ステップをコンピュータに実行させるプログラムとして実現してもよい。また、本発明は、そのようなプログラムを格納するコンピュータ読み取り可能な記録媒体として実現されてもよい。また、当該プログラムは、インターネット等の伝送媒体を介して配信されてもよい。
【０３２１】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【産業上の利用可能性】
【０３２２】
本発明は、より高いＱｏＳを実現することができる。そのため、本発明は、ＡＬＭ技術を利用した大規模な映像配信や遠隔講義システム等で利用可能である。
【符号の説明】
【０３２３】
１００  通信端末
１１０，３１０  受信部
１１２，２２０  送信部
１２０  制御部
１２１  データ制御部
１２２，３４０  局所改善部
１２３  トークン制御部
１２４，３３０  グループ生成部 
２１０  生成部
３２０  判定部
【図１】
2010079736.tif 000003
【図２】
2010079736.tif 000004
【図３】
2010079736.tif 000005
【図４】
2010079736.tif 000006
【図５】
2010079736.tif 000007
【図６】
2010079736.tif 000008
【図７】
2010079736.tif 000009
【図８】
2010079736.tif 000010
【図９】
2010079736.tif 000011
【図１０】
2010079736.tif 000012
【図１１】
2010079736.tif 000013
【図１２】
2010079736.tif 000014
【図１３】
2010079736.tif 000015
【図１４】
2010079736.tif 000016
【図１５】
2010079736.tif 000017
【図１６】
2010079736.tif 000018
【図１７】
2010079736.tif 000019
【図１８】
2010079736.tif 000020
【図１９】
2010079736.tif 000021
【図２０】
2010079736.tif 000022
【図２１】
2010079736.tif 000023
【図２２】
2010079736.tif 000024
【図２３】
2010079736.tif 000025
【手続補正書】
【提出日】平成22年7月22日(2010.7.22)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信端末および通信状態変更方法に関し、特に、ＡＬＭ（Application Layer Multicast）配信木において処理を行うための通信端末および通信状態変更方法に関する。
【背景技術】
【０００２】
インターネット上でＡＬＭ（Application Layer Multicast）配信木を構成する複数の通信端末において映像配信等を行う場合、配信する映像の品質を維持するために、ネットワークトラフィックの動的な変化によって生じるパケットロスや遅延変動に対応する必要がある。この場合、ＡＬＭ配信木を動的に再構成する必要がある。ＡＬＭ配信木は、アプリケーション層のネットワーク（以下、オーバーレイネットワークという）における、各通信端末間の接続構成を示す。
【０００３】
図２０は、ＡＬＭ配信木を説明するための図である。図２０（Ａ）は、物理リンクによる物理トポロジの一例を示す図である。
【０００４】
図２０（Ａ）に示されるように、通信端末１１，２１，２２，３１，３２，３３，３４は、物理リンクにより、インターネット１０に接続される。図２０（Ａ）では、例えば、通信端末１１が、ユニキャスト通信により、通信端末２１を介して、通信端末３１へ、データを送信する。また、通信端末１１は、ユニキャスト通信により、通信端末２２を介して、通信端末３３へ、データを送信する。
【０００５】
図２０（Ｂ）は、仮想リンクによるＡＬＭトポロジの一例を示す図である。図２０（Ｂ）は、通信端末１１，２１，２２，３１，３２，３３，３４において、図２０（Ａ）のようにデータが送信される場合のデータの経路を、仮想リンクで表現したＡＬＭ配信木を示す。
【０００６】
図２０（Ｂ）に示されるＡＬＭ配信木により、例えば、通信端末１１が送信したデータは、通信端末２２を介して、通信端末３４へ送信されることが容易に理解できる。以下においては、ＡＬＭ配信木を構成する各通信端末を、ノードという。
【０００７】
ＡＬＭ配信木は、図２０（Ｂ）に示されるように、階層構造を有する。図２０（Ｂ）に示されるＡＬＭ配信木は、一例として、３つの階層を有する。ノード１１は、第１階層のノードである。ノード２１，２２は、第２階層のノードである。ノード３１，３２，３３，３４は、第３階層のノードである。すなわち、ノード１１は、最上位層のノードである。ノード３１，３２，３３，３４は、最下位層のノードである。
【０００８】
また、ＡＬＭ配信木を構成する複数のノードの各々には、図２０（Ｂ）に示されるように、当該ＡＬＭ配信木における位置により、データの送信先が予め設定されている。例えば、第２階層の位置ＰＳ２１におけるノード２１のデータの送信先は、図２０（Ｂ）に示されるように、第３階層のノード３１，３２に設定されている。データの送信先は、例えば、ＩＰ（Internet Protocol）アドレスで表現される。
【０００９】
また、ＡＬＭ配信木を構成する各ノードのデータの送信先は、自ノードの属する階層より下位層のノードとなる。なお、ＡＬＭ配信木において最下位層のノードには、データの送信先は設定されない。
【００１０】
ＡＬＭ配信木の動的再構築方法には、集中管理サーバによってトラフィックをモニタリングして、トラフィックのバランスを考慮して再構成する方法が用いられることが多い。しかし、ＡＬＭ配信木を構成するノードの数（例えば、映像配信セッションに参加する通信端末の数）が多くなると以下のような問題が発生する。
【００１１】
当該問題の一例は、集中管理サーバの処理負荷の増加や集中管理サーバ周辺のネットワークトラフィックの増加によって処理が追いつかないという問題である。また、当該問題の他の例は、集中管理サーバで算出された新しい配信木の構成情報を各ノードに配信する必要があるため、余分な遅延が発生するという問題である。
【００１２】
そのため、ノード数が多い場合にＡＬＭ配信木の再構成を、各ノードの周辺情報（以下、局所情報という）だけを用い、各ノードが自律的に行う処理（以下、局所改善処理という）が行われることが望ましい。
【００１３】
図２１は、局所改善処理を説明するための図である。
【００１４】
具体的には、図２１は、ノード３１とノード４１との間のネットワークにおいて混雑（以下、ネットワーク混雑という）が発生した場合を想定して行われる処理を説明するための図である。
【００１５】
ここで、ネットワーク混雑とは、例えば、２つのノード間の通信量が所定値（例えば、最大通信帯域の９０％の通信帯域）以上であることとする。例えば、最大通信帯域が１０Ｍｂｐｓである２つのノード間において、９Ｍｂｐｓの通信帯域が使用された場合、ネットワーク混雑が発生したとする。すなわち、２つのノード間の通信量が９Ｍｂｐｓ以上となった場合、ネットワーク混雑が発生したとする。
【００１６】
図２１（Ａ）は、ネットワーク混雑を解消するための局所改善処理として、ＡＬＭ配信木におけるノード３１の位置とノード５２の位置とを交換する処理が行われている状態を示す。
【００１７】
図２１（Ａ）に示されるＡＬＭ配信木は、図２０（Ｂ）に示されるノード１１，２１，２２，３１，３２，３３，３４に加え、さらに、複数のノードを含む。当該複数のノードの一部は、ノード４１，４２，４３，４４，５１，５２，５３，５４，６１，６２，６３，６４である。なお、図２１（Ａ）には、ノード３３，３４は示されていない。
【００１８】
ここで、第３階層の位置ＰＳ３１におけるノード３１のデータの送信先は、ノード４１，４２に設定されているとする。また、第５階層の位置ＰＳ５２におけるノード５２のデータの送信先は、ノード６３，６４に設定されているとする。
【００１９】
図２１（Ｂ）は、局所改善処理が行われた後のＡＬＭ配信木の構成を示す。このような局所改善処理を実行するために周辺のノード情報を得る必要がある。そのため、一般的に、各ノードは、局所改善処理を行うために必要な周辺のノード情報を事前に収集しておく。ノード情報は、例えば、データの送信先の情報である。
【００２０】
そのため、局所改善処理により、位置ＰＳ３１におけるノード３１の位置と位置ＰＳ５２におけるノード５２の位置とが交換された場合、図２１（Ｂ）に示されるように、位置ＰＳ３１におけるノード５２のデータの送信先は、ノード４１，４２に設定される。また、位置ＰＳ５２におけるノード３１のデータの送信先は、ノード６３，６４に設定される。これにより、局所改善処理が行われた後も、最上位層のノードから送信されたデータは、最下位層のノードまで到達する。
【００２１】
一方、局所改善処理が分散的に行われる場合、局所改善処理が複数個所で同時に実行される可能性がある。ＡＬＭ配信木において、局所改善処理が複数個所で同時に実行された場合、ＡＬＭ配信木の整合性が保持できないという問題が生じる。
【００２２】
図２２は、ＡＬＭ配信木の整合性が保持できないことを説明するための図である。
【００２３】
図２２（Ａ）は、局所改善処理が複数個所で同時に実行されることを説明するための図である。図２２（Ａ）に示されるＡＬＭ配信木は、図２１（Ａ）のＡＬＭ配信木と比較して、一部のノードが示されていない点が異なる。それ以外は、図２１（Ａ）のＡＬＭ配信木と同様なので詳細な説明は繰り返さない。
【００２４】
図２２（Ａ）において、ネットワーク混雑ＣＮＡおよびネットワーク混雑ＣＮＢが同時に発生したとする。ネットワーク混雑ＣＮＡは、ノード３１とノード４１との間におけるネットワーク混雑である。ネットワーク混雑ＣＮＢは、ノード５２とノード６４との間におけるネットワーク混雑である。
【００２５】
また、ネットワーク混雑ＣＮＡおよびネットワーク混雑ＣＮＢに対し、それぞれ、以下の局所改善処理Ａおよび局所改善処理Ｂが互いに独立して同時に行われたとする。
【００２６】
局所改善処理Ａは、位置ＰＳ３１におけるノードの位置と位置ＰＳ５２におけるノード位置とを交換する処理であるとする。局所改善処理Ｂは、位置ＰＳ５２におけるノードの位置と位置ＰＳ６３におけるノードの位置とを交換する処理であるとする。
【００２７】
ここで、図２２（Ａ）に示される位置ＰＳ３１におけるノードのデータの送信先は、ノード４１，４２であるとする。また、位置ＰＳ５２におけるノードのデータの送信先は、ノード６３，６４であるとする。
【００２８】
局所改善処理Ａおよび局所改善処理Ｂは互いに独立して同時に行われる。そのため、例えば、局所改善処理Ｂにより、ノード６３の位置が位置ＰＳ５２となり、ノード５２の位置が位置ＰＳ６３の位置となったとする。この場合、局所改善処理Ａが行われることにより、ノード６３の位置が位置ＰＳ３１となり、ノード３１の位置が位置ＰＳ５２の位置となったとする（図２２（Ｂ）参照）。
【００２９】
ここで、位置ＰＳ５２におけるノードのデータの送信先は、ノード６３，６４である。そのため、位置ＰＳ５２におけるノード３１は、データを位置ＰＳ３１におけるノード６３へ送信することになる。その結果、ノード６３，４１，３１において、データの巡回（ループ）が発生する。
【００３０】
また、位置ＰＳ６３におけるノード５２は、データを他のノードから受信することができず、他のノードから孤立してしまうという問題が発生する。つまり、局所改善処理Ａおよび局所改善処理Ｂが互いに独立して同時に行われた場合、ＡＬＭ配信木の整合性が保持できなくなる。すなわち、ＡＬＭ配信木の不整合が発生する。
【００３１】
そこで、非特許文献１には、局所改善処理をボトムアップ（またはトップダウン）的に逐次実行する処理（以下、逐次実行処理という）が開示されている。以下においては、局所改善処理をボトムアップ的に逐次実行する処理を、ボトムアップ的局所改善処理という。
【００３２】
図２３は、ボトムアップ的局所改善処理を説明するための図である。ボトムアップ的局所改善処理は、局所改善処理の対象となる２つの層を、最下位層から最上位層に向かって、順次、移動させながら、行われる処理である。 
【００３３】
図２３（Ａ）は、段ＣＬ１における局所改善処理を示す図である。段ＣＬ１は、最下位層としての第６階層と、第５階層とを含む部分である。すなわち、段ＣＬ１における局所改善処理は、最下位層としての第６階層の位置のノードと、第５階層の位置のノードとを交換する処理である。
【００３４】
段ＣＬ１における局所改善処理が終了すると、局所改善処理の対象となる層は、第５階層および第４階層となる。
【００３５】
図２３（Ｂ）は、段ＣＬ２における局所改善処理を示す図である。段ＣＬ２は、第５階層と、第４階層とを含む部分である。すなわち、段ＣＬ２における局所改善処理は、第５階層の位置のノードと、第４階層の位置のノードとを交換する処理を示す。
【００３６】
図２３（Ａ）および図２３（Ｂ）に示されるように、ボトムアップ的局所改善処理は、段ＣＬ１における局所改善処理が完全に終了しないと、次の処理（段ＣＬ２における）が開始されない。そのため、ＡＬＭ配信木の整合性が保持できる。
【００３７】
しかし、局所改善処理の実行される位置が順番に、上位の層にあがっていくため、ネットワークの任意の場所の任意の時刻で起きるトラフィック変動に応じて、迅速にＡＬＭ配信木が改善できないという課題がある。
【００３８】
例えば、図２３（Ａ）および図２３（Ｂ）の例では、ＡＬＭ配信木の上位層のノード１１周辺においてネットワーク混雑が発生した場合、段ＣＬ１，ＣＬ２における局所改善処理が終了するまで、当該ネットワーク混雑に迅速に対応できない。
【先行技術文献】
【非特許文献】
【００３９】
【非特許文献１】“Stability Oriented Overlay Multicast for Multimedia Streaming in Multiple Source Context”, Baduge, T.M., Ikeda, K, Yamaguchi, H., Higashino, T., appears in: proceedings of ICC '08, IEEE International Conference on Communications, 2008, Publication Date: 19-23 May 2008, page(s): 5708 - 5714
【発明の概要】
【発明が解決しようとする課題】
【００４０】
しかしながら、非特許文献１に記載の技術では、ＡＬＭ配信木において、複数の局所改善処理を行う必要がある場合、複数の局所改善処理が終了するまでに時間がかかるという問題がある。
【００４１】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、ＡＬＭ配信木において、複数の局所改善処理を迅速に行うことを可能とする通信端末等を提供することである。
【課題を解決するための手段】
【００４２】
上述の課題を解決するために、この発明のある局面に従う通信端末は、ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数のノードのうち、所定ノードとしての通信端末である。複数のノードの少なくとも一部ではデータ通信が行われている。複数のノードには、ＡＬＭ配信木におけるノードの位置によって、所定ノードから送信されるデータが複数のノードのうち所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されている。所定ノードとしての通信端末は、複数のノードにおいて、複数のグループを形成させるためのグループ形成データを生成する生成部と、グループ形成データを、自端末に設定された送信先のノードへ送信する送信部とを備える。生成部は、さらに、グループ分け条件が満たされた場合、グループ形成データを、該グループ形成データに基づくグループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのデータに変更する。送信部は、グループ形成データが変更される毎に、変更後のグループ形成データを、自端末に設定された送信先のノードへ送信する。生成部は、グループに対応するノードの数がＮ（２以上の整数）個である場合、該Ｎ個のノードのうち２つのノードの位置を交換する局所改善処理が行われるグループを形成させるためのグループ形成データを生成する。
【００４３】
すなわち、生成部は、ＡＬＭ配信木を構成する複数のノードにおいて、複数のグループを形成させるためのグループ形成データを生成する。送信部は、グループ形成データを、自端末に設定された送信先のノードへ送信する。生成部は、グループ分け条件が満たされた場合、グループ形成データを、グループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのデータに変更する。送信部は、グループ形成データが変更される毎に、変更後のグループ形成データを、自端末に設定された送信先のノードへ送信する。グループ形成データは、２つのノードの位置を交換する局所改善処理が行われるグループを形成させるためのデータである。
【００４４】
複数のノードには、所定ノードから送信されるデータが複数のノードのうち所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されている。そのため、グループ形成データが、所定ノードから、設定された送信先のノードへ送信されることにより、各ノードへグループ形成データが送信される。この処理により、ＡＬＭ配信木において、複数のグループが形成される。形成された各グループでは、局所改善処理が行われる。
【００４５】
したがって、ＡＬＭ配信木において、複数の局所改善処理を迅速に行うことができる。
【００４６】
また、グループ分け条件は、所定時間が経過したという条件であってもよい。
【００４７】
これにより、所定時間が経過する毎に、グループ形成データがグループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのデータに変更される。変更されたグループ形成データは、設定された送信先のノードへ送信される。そのため、所定時間が経過する毎に、グループの数および各グループに対応するノードの数の少なくとも一方が変更される。したがって、所定時間が経過する毎に、ＡＬＭ配信木において形成されるグループの数、各グループに対応するノードの数が変更される。
【００４８】
また、生成部は、形成されるグループの境界に位置するノードを特定するための情報を示すグループ形成データを生成してもよい。
【００４９】
また、生成部は、グループに対応するノードの数がＮ個であり、かつ、該Ｎ個のノードにおける通信量が所定値以上となった場合、該通信量を所定値未満とするように、局所改善処理が行われるグループを形成させるためのグループ形成データを生成してもよい。
【００５０】
これにより、通信量が所定値以上となった場合、該通信量を所定値未満とするように、局所改善処理が行われる。
【００５１】
また、所定ノードは、ルートノードであってもよい。
【００５２】
また、所定ノードとしての通信端末は、さらに、自端末に対応するグループに対応するノードの数がＮ個である場合、該Ｎ個のノードの各々が順次受信するためのトークンを送信するトークン制御部を備え、トークン制御部は、トークンを受信したノードが該トークンを保持している期間のみ、該トークンを保持しているノードが局所改善処理を行うことを可能とする該トークンを送信してもよい。
【００５３】
これにより、１つのグループにおいて、同時に実行できる局所改善処理を１つに制限することができる。
【００５４】
この発明の他の局面に従う通信端末は、ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数のノードのいずれかのノードとしての通信端末である。複数のノードには、ＡＬＭ配信木におけるノードの位置によって、データの送信先が予め設定されている。通信端末は、他のノードから送信されるデータであって、複数のノードのうち、自ノードを含むＭ（２以上の整数）個のノードからなるグループを、複数のノードのうちの特定ノードに形成させるためのグループ形成データを受信する受信部を備える。グループ形成データは、自ノードが特定ノードであるか否かを特定するための情報を示す。通信端末は、さらに、受信したグループ形成データに基づいて、自ノードが特定ノードであるか否かを判定する判定部と、判定部により自ノードが特定ノードであると判定された場合、グループ形成データに基づいて、Ｍ個のノードからなるグループを形成するグループ生成部と、グループ生成部により形成されたグループに対応するＭ個のノードにおいて、データの送信先の変更が必要なノードである変更必要ノードがあるか否かを判定する局所改善部とを備える。局所改善部は、さらに、変更必要ノードがあると判定された場合、変更必要ノードに設定されたデータの送信先と、他のノードに設定されたデータの送信先とを交換する局所改善処理を行う。
【００５５】
すなわち、自ノードを含むＭ個のノードからなるグループを、ＡＬＭ配信木を構成する複数のノードのうちの特定ノードに形成させるためのグループ形成データが受信される。自ノードが特定ノードである場合、Ｍ個のノードからなるグループが形成される。形成されたグループに対応するＭ個のノードにおいて、データの送信先の変更が必要なノードである変更必要ノードがあるか否かが判定される。変更必要ノードがある場合、変更必要ノードに設定されたデータの送信先と、他のノードに設定されたデータの送信先とを交換する局所改善処理が行われる。
【００５６】
したがって、形成されたグループにおいて、データの送信先の変更が必要なノードである変更必要ノードがある場合、局所改善処理が行われる。仮に、形成されたグループが複数である場合、複数のグループ各々において、変更必要ノードがある場合、各グループにおいて局所改善処理が行われる。この場合、ＡＬＭ配信木において、複数の局所改善処理を迅速に行うことができる。
【００５７】
また、局所改善処理は、変更必要ノードがデータの送信先に設定されているノードのデータの送信先の少なくとも一部を他のノードに変更し、他のノードがデータの送信先に設定されているノードのデータの送信先を他のノードに設定されたデータの送信先に変更する処理を含んでもよい。
【００５８】
また、変更必要ノードおよび他のノードの各々は、Ｍ個のノードのうち、最上位のノードであるグループルートノードを除いた複数のノードのいずれかのノードであってもよい。
【００５９】
また、複数のノードのいずれかのノードとしての通信端末は、さらに、自端末に対応するグループに対応するノードの数がＭ個である場合、該Ｍ個のノードの各々が順次受信するためのトークンを送信するトークン制御部を備え、トークン制御部は、トークンを受信したノードが該トークンを保持している期間のみ、該トークンを保持しているノードが局所改善処理を行うことを可能とする該トークンを送信してもよい。
【００６０】
これにより、１つのグループにおいて、同時に実行できる局所改善処理を１つに制限することができる。
【００６１】
また、局所改善部は、Ｍ個のノードのうちの２つのノードの間の通信量が所定値以上である場合に、２つのノードのうちの少なくともいずれか一方を変更必要ノードとして、変更必要ノードがあると判定してもよい。
【００６２】
これにより、通信量が所定値以上となった場合、局所改善処理が行われる。
【００６３】
この発明のさらに他の局面に従う通信状態変更方法は、ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数のノードのうち、所定ノードとしての通信端末が行う通信状態変更方法である。複数のノードの少なくとも一部ではデータ通信が行われている。複数のノードには、ＡＬＭ配信木におけるノードの位置によって、所定ノードから送信されるデータが複数のノードのうち所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されている。通信状態変更方法は、複数のノードにおいて、複数のグループを形成させるためのグループ形成データを生成する生成ステップと、グループ形成データを、自端末に設定された送信先のノードへ送信する送信ステップとを備える。生成ステップでは、グループ分け条件が満たされた場合、グループ形成データを、該グループ形成データに基づくグループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのデータに変更し、送信ステップでは、グループ形成データが変更される毎に、変更後のグループ形成データを、自端末に設定された送信先のノードへ送信し、生成ステップでは、グループに対応するノードの数がＮ（２以上の整数）個である場合、該Ｎ個のノードのうち２つのノードの位置を交換する局所改善処理が行われるグループを形成させるためのグループ形成データを生成する。
【００６４】
すなわち、ＡＬＭ配信木を構成する複数のノードにおいて、複数のグループを形成させるためのグループ形成データが生成される。グループ形成データは、自端末に設定された送信先のノードへ送信される。グループ分け条件が満たされた場合、グループ形成データは、グループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのデータに変更される。グループ形成データが変更される毎に、変更後のグループ形成データが、自端末に設定された送信先のノードへ送信される。グループ形成データは、２つのノードの位置を交換する局所改善処理が行われるグループを形成させるためのデータである。
【００６５】
複数のノードには、所定ノードから送信されるデータが複数のノードのうち所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されている。そのため、グループ形成データが、所定ノードから、設定された送信先のノードへ送信されることにより、各ノードへグループ形成データが送信される。この処理により、ＡＬＭ配信木において、複数のグループが形成される。形成された各グループでは、局所改善処理が行われる。
【００６６】
したがって、ＡＬＭ配信木において、複数の局所改善処理を迅速に行うことができる。
【００６７】
この発明のさらに他の局面に従う通信状態変更方法は、ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数のノードのいずれかのノードとしての通信端末が行う通信状態変更方法である。複数のノードには、ＡＬＭ配信木におけるノードの位置によって、データの送信先が予め設定されている。通信状態変更方法は、他のノードから送信されるデータであって、複数のノードのうち、自ノードを含むＭ（２以上の整数）個のノードからなるグループを、複数のノードのうちの特定ノードに形成させるためのグループ形成データを受信する受信ステップを備える。グループ形成データは、自ノードが特定ノードであるか否かを特定するための情報を示す。通信状態変更方法は、さらに、受信したグループ形成データに基づいて、自ノードが特定ノードであるか否かを判定する判定ステップと、判定ステップにより自ノードが特定ノードであると判定された場合、グループ形成データに基づいて、Ｍ個のノードからなるグループを形成するグループ生成ステップと、グループ生成ステップにより形成されたグループに対応するＭ個のノードにおいて、データの送信先の変更が必要なノードである変更必要ノードがあるか否かを判定する局所改善ステップとを備える。局所改善ステップでは、変更必要ノードがあると判定された場合、該変更必要ノードに設定されたデータの送信先と、他のノードに設定されたデータの送信先とを交換する局所改善処理を行う。
【００６８】
すなわち、自ノードを含むＭ個のノードからなるグループを、ＡＬＭ配信木を構成する複数のノードのうちの特定ノードに形成させるためのグループ形成データが受信される。自ノードが特定ノードである場合、Ｍ個のノードからなるグループが形成される。形成されたグループに対応するＭ個のノードにおいて、データの送信先の変更が必要なノードである変更必要ノードがあるか否かが判定される。変更必要ノードがある場合、変更必要ノードに設定されたデータの送信先と、他のノードに設定されたデータの送信先とを交換する局所改善処理が行われる。
【００６９】
したがって、形成されたグループにおいて、データの送信先の変更が必要なノードである変更必要ノードがある場合、局所改善処理が行われる。仮に、形成されたグループが複数である場合、複数のグループ各々において、変更必要ノードがある場合、各グループにおいて局所改善処理が行われる。この場合、ＡＬＭ配信木において、複数の局所改善処理を迅速に行うことができる。
【００７０】
この発明のさらに他の局面に従う通信状態変更方法は、ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数のノードの少なくとも一部で行われるデータ通信の通信状態を動的に変更する通信状態変更方法である。複数のノードには、ＡＬＭ配信木におけるノードの位置によって、所定ノードから送信されるデータが複数のノードのうち所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されている。通信状態変更方法は、ＡＬＭ配信木を構成する複数のノードにおいて、複数のグループを形成するための処理を行うステップと、グループ分け条件が満たされる毎に、形成されているグループの数および各グループに対応するノードの数の少なくとも一方を変更するための処理を行うステップと、２以上のノードに対応する複数のグループのうちの少なくとも２つのグループの各々において、ノードの位置の交換が必要な２つのノードがある場合、２つのノードの位置を交換する局所改善処理を行うステップとを備える。
【００７１】
すなわち、ＡＬＭ配信木を構成する複数のノードにおいて、複数のグループが形成される。２以上のノードに対応する複数のグループのうちの少なくとも２つのグループの各々において、ノードの位置の交換が必要なノードである変更必要ノードがある場合、変更必要ノードの位置と、該変更必要ノードに対応するグループに対応する他のノードの位置とを交換する局所改善処理が行われる。
【００７２】
したがって、ＡＬＭ配信木において、複数の局所改善処理を迅速に行うことができる。
【発明の効果】
【００７３】
本発明により、ＡＬＭ配信木において、複数の局所改善処理を迅速に行うことができる。
【図面の簡単な説明】
【００７４】
【図１】図１は、第１の実施の形態の概念を説明するための図である。
【図２】図２は、第１の実施の形態において、通信端末としての複数のノードから構成されるＡＬＭ配信木を示す図である。
【図３】図３は、通信端末の構成を示すブロック図である。
【図４】図４は、グループ分け処理のフローチャートである。
【図５】図５は、一例としてのトリガメッセージを示す図である。
【図６】図６は、グループ化ノード判定処理のフローチャートである。
【図７】図７は、グループ化処理のフローチャートである。
【図８】図８は、一例としてのグループ化用メッセージを示す図である。
【図９】図９は、ＧＣ巡回処理を説明するための図である。
【図１０】図１０は、一例としての巡回済を示す図である。
【図１１】図１１は、トークン巡回処理のフローチャートである。
【図１２】図１２は、一例としてのトークンを示す図である。
【図１３】図１３は、局所改善判定処理のフローチャートである。
【図１４】図１４は、配信木変更処理のフローチャートである。
【図１５】図１５は、グループ分け処理Ａのフローチャートである。
【図１６】図１６は、ＡＬＭ配信木においてグループが形成される処理を説明するための図である。
【図１７】図１７は、ＡＬＭ配信木に形成されるグループの一例を示す図である。
【図１８】図１８は、本発明に係る通信端末の特徴的な第１の機能構成を示すブロック図である。
【図１９】図１９は、本発明に係る通信端末の特徴的な第２の機能構成を示すブロック図である。
【図２０】図２０は、ＡＬＭ配信木を説明するための図である。
【図２１】図２１は、局所改善処理を説明するための図である。
【図２２】図２２は、ＡＬＭ配信木の整合性が保持できないことを説明するための図である。
【図２３】図２３は、ボトムアップ的局所改善処理を説明するための図である。
【発明を実施するための形態】
【００７５】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００７６】
＜第１の実施の形態＞
（本発明の概要） 
図１は、第１の実施の形態の概念を説明するための図である。図１（Ａ）は、第１の実施の形態の処理により、複数のノードから構成されるＡＬＭ配信木において、複数のグループ（グループＧＰ１，ＧＰ２，ＧＰ３）が形成された状態を示す図である。なお、グループを形成するための処理は後述する。
【００７７】
本実施の形態では、ＡＬＭ配信木において形成された複数のグループに対し、以下の規則Ｄ１および規則Ｄ２を定める。以下の規則Ｄ１，Ｄ２は、ＡＬＭ配信木を構成する各ノードに予め通知されている。したがって、ＡＬＭ配信木を構成する各ノードは、規則Ｄ１，Ｄ２に従った処理を行う。
【００７８】
規則Ｄ１は、異なる２つのグループ間において２つのノードの位置を交換する局所改善処理を禁止するという規則である。
【００７９】
規則Ｄ１により、例えば、グループＧＰ１に対応するノード３１の位置と、グループＧＰ２に対応するノード５２の位置とを交換する局所改善処理は実行されない。これにより、図２２（Ａ）で説明したように、ネットワーク混雑ＣＮＡおよびネットワーク混雑ＣＮＢが同時に発生した場合でも、前述した局所改善処理Ａは実行されず、前述した局所改善処理Ｂのみが実行されることになる。
【００８０】
これにより、図２２（Ａ）および図２２（Ｂ）で説明したように、局所改善処理Ａおよび局所改善処理Ｂが同時に行われた場合における、ＡＬＭ配信木の不整合の発生を防止できる可能性を高めることができる。
【００８１】
しかし、これだけでは同一グループ内で同時に複数の局所改善処理が行われる可能性があり、ＡＬＭ配信木の不整合の発生を完全に防止できない。
【００８２】
そこで、本発明では、さらに、規則Ｄ２を定める。
【００８３】
規則Ｄ２は、各グループ内で同時に実行できる局所改善処理を１つに制限するという規則である。規則Ｄ１および規則Ｄ２により、ＡＬＭ配信木の不整合の発生を完全に防止することができる。
【００８４】
具体的な処理としては、各グループにおいて、トークンを巡回させ、トークンを受信したノードが、当該トークンを保持している期間のみ、当該トークンを保持しているノードに対し局所改善処理の実行権を与える。以下においては、トークンを、トークンＴＫともいう。
【００８５】
図１（Ｂ）は、トークンＴＫを巡回させている状態を示す図である。図１（Ｂ）では、図１（Ａ）のグループＧＰ２においてトークンＴＫを巡回させている状態を示すが、他のグループにおいても、グループＧＰ２と同様にトークンＴＫが巡回する。なお、トークンＴＫを巡回させるための処理は後述する。
【００８６】
（ＡＬＭ配信木の構成）
図２は、第１の実施の形態において、通信端末としての複数のノードから構成されるＡＬＭ配信木を示す図である。なお、図２に示されるＡＬＭ配信木は、一般的なＡＬＭ配信木構築手法によって構築されたものとする。
【００８７】
図２に示されるＡＬＭ配信木は、一例として、６つの階層を有する。例えば、ノード１１は、第１階層のノードである。以下においては、第１階層のノードを、ルートノードという。すなわち、ＡＬＭ配信木の最上位にあるノードがルートノードである。すなわち、ノード１１は、ルートノードである。
【００８８】
例えば、ノード２１，２２は、第２階層のノードである。例えば、ノード３１，３２は、第３階層のノードである。例えば、ノード６１，６２，６３，６４は、第６階層のノードである。ノード６１，６２，６３，６４は、最下位層のノードである。
【００８９】
以下においては、ＡＬＭ配信木におけるある階層のノードに対して、当該ある階層の１つ上の階層のノードを、親ノードまたは直接上位ノードという。例えば、図２のノード１１は、ノード２１，２２の親ノード（直接上位ノード）である。
【００９０】
また、以下においては、ＡＬＭ配信木におけるある階層のノードに対して、当該ある階層より上の階層のノードを、上位ノードという。例えば、図２のノード１１，２１，３１は、ノード４１またはノード４２の上位ノードである。
【００９１】
また、以下においては、ＡＬＭ配信木におけるある階層のノードに対して、当該ある階層の１つ下の階層のノードを、直接下位ノードまたは子ノードという。例えば、図２のノード２１，２２は、ノード１１の子ノード（直接下位ノード）である。
【００９２】
また、以下においては、ＡＬＭ配信木におけるある階層のノードに対して、当該ある階層より下の階層のノードを、下位ノードという。例えば、図２のノード２１，２２，３１，３２，４１，４２，４３，４４，５１，５２，５３，５４，６１，６２，６３，６４は、ノード１１の下位ノードである。例えば、図２のノード４１，４２，５１，５２，５３，５４，６１，６２，６３，６４は、ノード３１の下位ノードである。
【００９３】
また、以下においては、ＡＬＭ配信木における最下位層のノードを、最下位層ノードまたは葉ノードという。すなわち、最下位層ノードまたは葉ノードは、子ノードを有さない。
【００９４】
図２に示されるＡＬＭ配信木を構成する各ノードには、当該ＡＬＭ配信木における位置により、データの送信先が予め設定されている。つまり、ＡＬＭ配信木を構成する複数のノードには、ＡＬＭ配信木におけるノードの位置によって、ルートノードから送信されるデータが複数のノードのうちルートノード以外の全てのノードへ送信されるように、データの送信先が予め設定されている。
【００９５】
例えば、位置ＰＳ１１におけるノード１１のデータの送信先は、ノード２１，２２に設定されている。例えば、位置ＰＳ３１におけるノード３１のデータの送信先は、ノード４１，４２に設定されている。
【００９６】
また、ＡＬＭ配信木を構成する各ノードには、ノードを特定するためのＩＤ（以下、ノードＩＤという）が設定される。ノードＩＤは、一例として、Ｔｍ（ｍ：自然数）として表現されるとする。ノードＩＤは、同一の階層に複数のノードが存在する場合、最も左側のノードから順に、ｍの値が大きくなるとする。例えば、ノード５１，５２，５３，５４のノードＩＤは、それぞれ、Ｔ５１，Ｔ５２，Ｔ５３，Ｔ５４であるとする。
【００９７】
図２のノード１１，２１，２２，３１，３２のノードＩＤは、それぞれ、Ｔ１１，Ｔ２１，Ｔ２２，Ｔ３１，Ｔ３２であるとする。また、図２のノード４１，４２，４３，４４，５１，５２，５３，５４のノードＩＤは、それぞれ、Ｔ４１，Ｔ４２，Ｔ４３，Ｔ４４，Ｔ５１，Ｔ５２，Ｔ５３，Ｔ５４であるとする。また、図２のノード６１，６２，６３，６４のノードＩＤは、それぞれ、Ｔ６１，Ｔ６２，Ｔ６３，Ｔ６４であるとする。
【００９８】
図２に示される各ノードは、以下の通信端末１００の構成を有する。
【００９９】
（装置の構成）
図３は、通信端末１００の構成を示すブロック図である。図３に示されるように、通信端末１００は、受信部１１０と、制御部１２０と、送信部１１２とを備える。
【０１００】
受信部１１０は、他の通信端末（ノード）から、各種データを受信する。
【０１０１】
制御部１２０は、データ制御部１２１と、局所改善部１２２と、トークン制御部１２３と、グループ生成部１２４とを含む。
【０１０２】
送信部１１２は、外部（例えば、データ制御部１２１）からの指示により、データを送信する機能を有する。
【０１０３】
データ制御部１２１は、他の通信端末（ノード）から受信したデータＤＴを複製したデータＤＴを、送信部１１２を利用して、外部の通信端末（ノード）へ送信する。また、データ制御部１２１は、データＤＴを受信する毎に、受信したデータＤＴのデータ量と、受信したデータＤＴを送信したノードの情報を、局所改善部１２２へ通知する。これにより、局所改善部１２２は、自端末（自ノード）と他のノードとの通信量を常に把握することができる。
【０１０４】
グループ生成部１２４は、ＡＬＭ配信木を構成する複数のノードにおいて、複数のグループを形成する機能を有する。
【０１０５】
トークン制御部１２３は、トークンＴＫを生成する機能を有する。また、トークン制御部１２３は、外部から受信したトークンＴＫを、所定時間（例えば、１秒）保持した後、当該トークンＴＫを他のノードへ送信する。
【０１０６】
局所改善部１２２は、詳細は後述するが、局所改善処理を行う必要があるか否かを判定する。局所改善部１２２は、局所改善処理を行う必要があると判定した場合、後述する局所改善メッセージＩＰＭを、対象となるノードへ送信する。また、局所改善部１２２は、後述する局所改善メッセージＩＰＭを受信することにより、局所改善処理を行う。
【０１０７】
なお、各部が行う処理の詳細な説明は後述する。
【０１０８】
（グループの形成）
次に、構築済みのＡＬＭ配信木において、非集中処理によって複数のグループを形成するための処理（以下、グループ分け処理という）について説明する。グループ分け処理は、ルートノードとしてのノード１１である通信端末１００が行う。なお、以下のグループ分け処理は、ルートノード以外の任意のノードである通信端末１００が行ってもよい。
【０１０９】
図４は、グループ分け処理のフローチャートである。
【０１１０】
ステップＳ１１１では、グループ生成部１２４が、トリガメッセージＴＲを生成する。
【０１１１】
図５は、一例としてのトリガメッセージＴＲを示す図である。図５において、「ＳＴＡＲＴ＿ＩＮＤＥＸ」は、グループ化ノードを決定するための値を示す。グループ化ノードは、グループを形成するための処理を行うノードである。ＳＴＡＲＴ＿ＩＮＤＥＸの値が“０”の場合、少なくとも最上位層のノードとしてのルートノードは、グループ化ノードとなる。トリガメッセージＴＲは、特定ノードとしてのグループ化ノードに、グループを形成させるためのグループ形成データである。
【０１１２】
図５において、「ＧＲＰ＿ＳＩＺＥ」とは、トリガメッセージＴＲにより生成するグループの大きさ（以下、グループサイズという）を示す。グループサイズＧＲＰ＿ＳＩＺＥの値がｋ（自然数）である場合、ＡＬＭ配信木において、グループ化ノードから、下位ノードの方向へ、ｋ個のホップで到達可能な全てのノードを含むグループが、グループサイズＧＲＰ＿ＳＩＺＥにより生成されるグループとなる。なお、１つのホップにより、あるノードから、当該ノードの子ノードまたは親ノードに到達するものとする。
【０１１３】
例えば、グループ化ノードがノード１１であり、グループサイズＧＲＰ＿ＳＩＺＥが“２”であるとする。この場合、図２のＡＬＭ配信木において、ノード１１から、下位ノードの方向へ、２つのホップで到達可能なノードは、ノード２１，３１，３２，２２である。この場合、ノード２１，３１，３２，２２により、１つのグループが形成される。
【０１１４】
図５において、「ＨＯＰ＿ＣＯＵＮＴ」とは、ホップの回数をカウントするためのカウンタである。カウンタＨＯＰ＿ＣＯＵＮＴの値は、トリガメッセージＴＲが、あるノードから、下位ノードの方向へ、１つのホップが行われる毎に、“１”インクリメントされる。また、カウンタＨＯＰ＿ＣＯＵＮＴの値は、トリガメッセージＴＲが、あるノードから、上位ノードの方向へ、１つのホップが行われる毎に、“１”デクリメントされる。なお、カウンタＨＯＰ＿ＣＯＵＮＴの初期値は“０”である。
【０１１５】
再び、図４を参照して、ステップＳ１１２では、グループ生成部１２４が、送信部１１２を利用して、生成したトリガメッセージＴＲを、自端末に設定されたデータの送信先へ送信する。なお、トリガメッセージＴＲの送信先が子ノードである場合、グループ生成部１２４は、トリガメッセージＴＲに示されるカウンタＨＯＰ＿ＣＯＵＮＴの値を“１”インクリメントしたトリガメッセージＴＲを、当該子ノードへ送信する。
【０１１６】
ここで、自端末に設定されたデータの送信先は、子ノードとしてのノード２１，２２であるとする。この場合、カウンタＨＯＰ＿ＣＯＵＮＴの値が“１”インクリメントされたトリガメッセージＴＲが、ノード２１，２２へ送信される。
【０１１７】
以下においては、トリガメッセージＴＲを受信したノードを、トリガメッセージ受信ノードという。
【０１１８】
ＡＬＭ配信木を構成する複数のノードのうち、最下位層ノード以外のトリガメッセージ受信ノードは、以下のトリガメッセージ転送処理を行う。
【０１１９】
トリガメッセージ転送処理では、トリガメッセージ受信ノード（例えば、ノード２１）が、受信したトリガメッセージＴＲを、自ノードに設定されたデータの送信先となるノード（例えば、ノード３１，３２）へ送信する。なお、トリガメッセージＴＲの送信先が子ノードである場合、トリガメッセージ受信ノードは、トリガメッセージＴＲに示されるカウンタＨＯＰ＿ＣＯＵＮＴの値を“１”インクリメントしたトリガメッセージＴＲを、当該子ノードへ送信する。
【０１２０】
最下位層ノード以外の各ノードにおいて、前述したトリガメッセージ転送処理が行われることにより、ルートノードとしてのノード１１から送信されたトリガメッセージＴＲは、図２のＡＬＭ配信木を構成する複数のノードへ送信される。この場合、例えば、最下位層ノードであるノード６１が受信したトリガメッセージＴＲが示すカウンタＨＯＰ＿ＣＯＵＮＴの値は“５”である。
【０１２１】
（グループ化ノードの判定）
また、図２のＡＬＭ配信木を構成する複数のノードの各々は、他の処理とは独立して、以下のグループ化ノード判定処理を行う。
【０１２２】
図６は、グループ化ノード判定処理のフローチャートである。
【０１２３】
ステップＳ２１１では、グループ生成部１２４が、他のノードから、トリガメッセージＴＲを受信したか否かを判定する。ステップＳ２１１において、ＹＥＳならば、処理はステップＳ２１２に移行する。一方、ステップＳ２１１において、ＮＯならば、再度、ステップＳ２１１の処理が行われる。なお、ルートノード（例えば、ノード１１）は、ステップＳ２１１の処理を行わず、ステップＳ２１２の処理から開始するとする。
【０１２４】
ここでは、トリガメッセージＴＲを受信したとして、処理はステップＳ２１２に移行する。
【０１２５】
ステップＳ２１２では、グループ生成部１２４が、当該グループ生成部１２４を含む自ノード（通信端末）が、グループ化ノードであるか否かを判定する。グループ化ノードは、グループを形成するための後述する処理を行うノードである。
【０１２６】
自ノードがグループ化ノードであるか否かは、以下の式１により判定される。
（ＨＯＰ＿ＣＯＵＮＴ−ＳＴＡＲＴ＿ＩＮＤＥＸ）％（ＧＲＰ＿ＳＩＺＥ＋１）…式１
式１は、（ＨＯＰ＿ＣＯＵＮＴ−ＳＴＡＲＴ＿ＩＮＤＥＸ）を（ＧＲＰ＿ＳＩＺＥ＋１）で除算した余りを算出する式である。なお、式１では、ＳＴＡＲＴ＿ＩＮＤＥＸ＜ＧＲＰ＿ＳＩＺＥ＋１が満たされるとする。式１における、ＨＯＰ＿ＣＯＵＮＴ、ＳＴＡＲＴ＿ＩＮＤＥＸおよびＧＲＰ＿ＳＩＺＥの各値は、受信したトリガメッセージＴＲが示す。
【０１２７】
具体的には、グループ生成部１２４は、式１で算出される値が“０”である場合、自ノードがグループ化ノードであると判定する。グループ生成部１２４は、式１で算出される値が“０”でない場合、自ノードがグループ化ノードでないと判定する。
【０１２８】
すなわち、グループ生成部１２４は、受信したグループ形成データとしてのトリガメッセージＴＲが示す各値に基づいて、自ノードが特定ノード（グループ化ノード）であるか否かを判定する。つまり、グループ生成部１２４は、受信したグループ形成データとしてのトリガメッセージＴＲに基づいて、自ノードが特定ノード（グループ化ノード）であるか否かを判定する。
【０１２９】
ステップＳ２１２において、ＹＥＳならば処理はステップＳ２１３に移行する。一方、ステップＳ２１２において、ＮＯならば、再度、ステップＳ２１１の処理が行われる。
【０１３０】
ここで、図２のノード１１が、前述のグループ分け処理により、トリガメッセージＴＲを、データの送信先のノードへ送信したとする。また、グループ化ノード判定処理を行っているノード（通信端末）は、ノード４１であるとする。また、ノード４１が受信したトリガメッセージＴＲは、ＨＯＰ＿ＣＯＵＮＴ“３”、ＳＴＡＲＴ＿ＩＮＤＥＸ“０”、ＧＲＰ＿ＳＩＺＥ“２”を示すとする。
【０１３１】
この場合、式１により得られる値は“０”となる。この場合、ノード４１は、自ノードがグループ化ノードであると判定する。すなわち、ステップＳ２１２において、ＹＥＳと判定され、処理はステップＳ２１３に移行する。
【０１３２】
なお、自ノードがグループ化ノードであるか否かの判定方法は、上記式１を用いた方法に限定されず、他の方法であってもよい。当該他の方法は、例えば、ＨＯＰ＿ＣＯＵＮＴ、ＳＴＡＲＴ＿ＩＮＤＥＸおよびＧＲＰ＿ＳＩＺＥのうちの２つを用いた、式１と異なる式を用いた方法である。
【０１３３】
ステップＳ２１３では、グループ化ノード（通信端末１００）に含まれるグループ生成部１２４が、グループ化処理を実行する。すなわち、グループ化処理は、グループ化ノードにより実行される。グループ化処理は、他の処理とは独立して行われる処理である。以下においては、グループ化ノードを、グループルートノードともいう。
【０１３４】
図７は、グループ化処理のフローチャートである。
【０１３５】
ステップＳ３１１では、グループ生成部１２４が、前述のグループ化ノード判定処理により受信したトリガメッセージＴＲが示す値の一部を用いて、グループ化用メッセージＧＣを生成する。
【０１３６】
図８は、一例としてのグループ化用メッセージＧＣを示す図である。以下においては、グループ化用メッセージＧＣを、単に、ＧＣともいう。図８において、「ＳＴＡＲＴＥＲ＿ＩＤ」とは、グループルートノードのノードＩＤである。例えば、グループルートノードが、ノード４１である場合、ＳＴＡＲＴＥＲ＿ＩＤは“Ｔ４１”に設定される。
【０１３７】
「ＧＲＰ＿ＳＩＺＥ」は、図５で説明したので詳細な説明は繰り返さない。ＧＣに示されるＧＲＰ＿ＳＩＺＥの値は、グループルートノードが受信したトリガメッセージＴＲが示すＧＲＰ＿ＳＩＺＥの値に設定される。
【０１３８】
図８において、「Ｇ＿ＨＯＰ＿ＣＯＵＮＴ」は、ホップの回数をカウントするためのカウンタである。カウンタＧ＿ＨＯＰ＿ＣＯＵＮＴの値は、ＧＣが、あるノードから、下位ノードの方向へ、１つのホップが行われる毎に、“１”インクリメントされる。また、カウンタＧ＿ＨＯＰ＿ＣＯＵＮＴの値は、ＧＣが、あるノードから、上位ノードの方向へ、１つのホップが行われる毎に、“１”デクリメントされる。なお、カウンタＧ＿ＨＯＰ＿ＣＯＵＮＴの初期値は“０”である。
【０１３９】
図８において、「ＰＡＳＳＥＤ＿ＩＤＳ」は、ＧＣを受信したノードを示す通過ノード情報である。ＧＣを受信したノードは、自ノードのノードＩＤを、当該ＧＣの通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳの項目に追記して、他のＩＤへ転送する。
【０１４０】
すなわち、ＧＣは、トリガメッセージＴＲが示すＧＲＰ＿ＳＩＺＥの値を用いて生成される。つまり、ＧＣは、トリガメッセージＴＲに基づいて生成される。
【０１４１】
また、グループ化用メッセージＧＣには、以下の規則Ｐ１〜Ｐ４が記載される。
【０１４２】
規則Ｐ１：Ｇ＿ＨＯＰ＿ＣＯＵＮＴ＜ＧＲＰ＿ＳＩＺＥが成立し、かつ、自ノードがグループルートノードである場合、または、自ノードが受信したＧＣの送信元のノードが自ノードの親ノードである場合、ノードＩＤが示す数字が最も小さい当該ノードＩＤの子ノードへ、生成したＧＣまたは受信したＧＣを送信（転送）する。なお、ＧＣを送信する際に、当該ＧＣの通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳの項目に、自ノードのノードＩＤを追記する。
【０１４３】
規則Ｐ２：Ｇ＿ＨＯＰ＿ＣＯＵＮＴ＝ＧＲＰ＿ＳＩＺＥが成立し、かつ、自ノードが受信したＧＣの送信元のノードが自ノードの親ノードである場合、当該ＧＣを、親ノードへ送信（転送）する。なお、ＧＣを送信する際に、当該ＧＣの通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳの項目に、自ノードのノードＩＤを追記する。
【０１４４】
規則Ｐ３：自ノードが受信したＧＣの送信元のノードが自ノードの子ノードであり、当該ＧＣを送信してない子ノードがある場合、通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳが示すノードＩＤ以外のノードＩＤであって、ノードＩＤが示す数字が最も小さい当該ノードＩＤの子ノードへ、当該ＧＣを送信（転送）する。
【０１４５】
規則Ｐ４：自ノードが受信したＧＣの送信元のノードが自ノードの子ノードであり、当該ＧＣを送信してない子ノードがない場合、当該ＧＣを、親ノードへ送信（転送）する。
【０１４６】
なお、ＧＣを送信してない子ノードがなく、かつ、ＧＣを受信しているノードがグループルートノードである場合（自ノードのノードＩＤ＝ＳＴＡＲＴＥＲ＿ＩＤ）、後述するＧＣ巡回処理を終了する。すなわち、グループルートノードが、巡回済ＧＣを受信した場合、後述するＧＣ巡回処理を終了する。巡回済ＧＣは、子ノードへＧＣを送信したグループルートノードに対応するグループに対応する、グループルートノード以外の全てのノードを経由したＧＣである。
【０１４７】
再び、図７を参照して、ステップＳ３１２では、グループ化用メッセージの送信が行われる。具体的には、グループ生成部１２４が、送信部１１２を利用して、ＧＣに記載されている前述した規則Ｐ１に従って、生成したＧＣを、子ノードへ送信する。 
【０１４８】
ここで、ステップＳ３１２の処理を行うグループルートノードは、ノード４１であるとする。また、生成されたＧＣが示す、ＳＴＡＲＴＥＲ＿ＩＤ、ＧＲＰ＿ＳＩＺＥ、Ｇ＿ＨＯＰ＿ＣＯＵＮＴおよびＰＡＳＳＥＤ＿ＩＤＳは、図８に示される情報または数値を示すとする。
【０１４９】
この場合、グループルートノードとしてのノード４１は、規則Ｐ１に従って、ノードＩＤが示す数字が最も小さい当該ノードＩＤの子ノードであるノード５１へ、ＧＣを送信する。この場合、ノード５１へ送信されるＧＣにはノード４１のノードＩＤ“Ｔ４１”がノード４１により追記される。
【０１５０】
なお、ノード４１が子ノードであるノード５１へＧＣを送信する場合、ノード４１は、ＧＣが示すＧ＿ＨＯＰ＿ＣＯＵＮＴの値を“１”インクリメントしたＧＣを、ノード５１へ送信する。
【０１５１】
ステップＳ３１３では、グループ生成部１２４が、前述した巡回済ＧＣを受信したか否かを判定する。ステップＳ３１３において、ＹＥＳならば、処理はステップＳ３１４に移行する。一方、ステップＳ３１３において、ＮＯならば、再度、ステップＳ３１３の処理が行われる。
【０１５２】
（ＧＣの巡回）
次に、グループルートノードが生成したＧＣが各ノードを巡回するＧＣ巡回処理について説明する。なお、ＧＣを受信したノードは、当該ＧＣに記載される前述の規則Ｐ１〜Ｐ４のうち、当該ノードの状況に対応する規則に従った処理を行う。
【０１５３】
図９は、ＧＣ巡回処理を説明するための図である。本実施の形態では、一例として、グループルートノードとしてのノード４１が、ＧＣをノード５１へ送信したとして、ＧＣ巡回処理を説明する。図９（Ａ）は、ＧＣが各ノードを巡回する様子を示す図である。以下、図９（Ａ）を参照しながら、ＧＣ巡回処理について説明する。なお、ノード４１がノード５１へ送信するＧＣには、ノード４１により、ノードＩＤ“Ｔ４１”が追記されているとする。
【０１５４】
なお、以下のＧＣ巡回処理において、各ノードは、ＧＣを子ノードへ送信する際に、カウンタＧ＿ＨＯＰ＿ＣＯＵＮＴの値を“１”インクリメントする。また、ＧＣ巡回処理において、各ノードは、ＧＣを親ノードへ送信する際に、カウンタＧ＿ＨＯＰ＿ＣＯＵＮＴの値を“１”デクリメントする。
【０１５５】
ＧＣ巡回処理において、まず、ノード５１は、規則Ｐ１に従って、受信したＧＣを、ノード６１へ送信する。この場合、ノード６１へ送信されるＧＣにはノード５１のノードＩＤ“Ｔ５１”がノード５１により追記される。
【０１５６】
ノード６１は、規則Ｐ２に従って、受信したＧＣをノード５１へ送信する。この場合、ノード５１へ送信されるＧＣにはノード６１のノードＩＤ“Ｔ６１”がノード６１により追記される。
【０１５７】
ノード５１は、受信したＧＣを、規則Ｐ３に従って、受信したＧＣをノード６２へ送信する。
【０１５８】
ノード６２は、規則Ｐ２に従って、受信したＧＣをノード５１へ送信する。この場合、ノード５１へ送信されるＧＣにはノード６２のノードＩＤ“Ｔ６２”がノード６２により追記される。
【０１５９】
そして、ノード５１は、規則Ｐ４に従って、受信したＧＣをノード４１へ送信する。そして、ノード４１は、規則Ｐ３に従って、受信したＧＣをノード５２へ送信する。
【０１６０】
上記のような処理が、さらに、ノード５２，６３，６４の各々で行われることにより、最終的に、グループルートノードとしてのノード４１は、ノード５２からＧＣ（巡回済ＧＣ）を受信する。そして、ノード４１は、規則Ｐ４に従って、ＧＣ巡回処理を終了させる。この場合、グループルートノードとしてのノード４１が受信したＧＣは、巡回済ＧＣである。
【０１６１】
また、この場合、グループルートノードとしてのノード４１は、巡回済ＧＣを受信したことになる。この場合、図７のステップＳ３１３において、ＹＥＳと判定され、処理はステップＳ３１４に移行する。
【０１６２】
ステップＳ３１４では、詳細は後述するが、グループ生成部１２４が、受信した巡回済ＧＣに基づいて、グループを形成する。
【０１６３】
図１０は、一例としての巡回済ＧＣを示す図である。図１０に示される通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳは、通過したノードのノードＩＤとして、Ｔ４１，Ｔ５１，Ｔ６１，Ｔ６２，Ｔ５２，Ｔ６３，Ｔ６４を示す。すなわち、図１０に示される通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳは、グループルートノードとしてのノード４１の全ての下位ノードの各々のノードＩＤが示される。
【０１６４】
これにより、図１０に示される巡回済ＧＣから、ノードＩＤが、Ｔ４１，Ｔ５１，Ｔ６１，Ｔ６２，Ｔ５２，Ｔ６３，Ｔ６４である、全てのノードに送信されたことがわかる。なお、通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳが示す複数のノードＩＤには、重複するノードＩＤがないことが、規則Ｐ１〜Ｐ４により保証される。
【０１６５】
この場合、図１０の巡回済ＧＣを受信したグループルートノードとしてのノード４１は、当該巡回済ＧＣの通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳが示す複数のノードＩＤにそれぞれ対応する複数のノードを含む１つのグループを形成する（Ｓ３１４）。
【０１６６】
具体的には、グループルートノードのグループ生成部１２４が、グループ情報を、巡回済ＧＣが示す複数のノードＩＤにそれぞれ対応する複数のノードの各々へ送信する。これによりグループが形成される。ここで、グループ情報は、グループ特定情報とノード情報とが示される。グループ特定情報は、グループを特定する情報である。グループ特定情報は、例えば、グループの番号を示す。ノード情報は、巡回済ＧＣが示す複数のノードＩＤを示す。
【０１６７】
グループルートノードからグループ情報を受信した複数のノードの各々は、グループ特定情報が示すグループ番号と、ノード情報が示す複数のノードＩＤとを参照することにより、自ノードが対応する（属する）グループと、当該グループに含まれる複数のノードとを知ることができる。これによりグループが形成される。すなわち、グループ生成部１２４は、巡回済ＧＣを用いてグループを形成する。
【０１６８】
なお、ステップＳ３１４におけるグループの形成処理は、上記処理に限定されず、他の処理であってもよい。例えば、ＧＣおよび巡回済ＧＣを使用せずに、グループが形成されてもよい。以下においては、ＧＣおよび巡回済ＧＣを使用せずに、グループを形成する処理を、グループ化処理Ｎという。
【０１６９】
ステップＳ３１４においてグループ化処理Ｎが行われる場合、図７のグループ化処理では、ステップＳ３１１，Ｓ３１２，Ｓ３１３の処理は行われず、ステップＳ３１４のみ行われる。この場合、ＧＣ巡回処理は行われない。
【０１７０】
グループ化処理Ｎでは、グループルートノードのグループ生成部１２４が、受信したトリガメッセージＴＲ（グループ形成データ）を用いてグループを形成する。
【０１７１】
具体的には、グループ化処理Ｎにおいて、グループルートノードのグループ生成部１２４は、自ノードの階層より下の階層であって、トリガメッセージＴＲが示すＧＲＰ＿ＳＩＺＥの値分の階層の各下位ノードへ、グループ情報を送信することによりグループを形成する。グループ情報は、グループ特定情報とノード情報とが示される。
【０１７２】
なお、この場合、グループルートノードは、事前の通信等により、自ノードの階層より下位の階層の各ノードのノードＩＤを予め取得しているとする。この場合、グループ情報が示すノード情報は、前述のノード情報と異なり、グループルートノードのノードＩＤおよび当該グループ情報の送信先の各ノードのノードＩＤを示す。グループ特定情報は、前述したグループ特定情報と同じである。
【０１７３】
ここで、一例として、グループルートノードはノード４１であるとする。また、トリガメッセージＴＲが示すＧＲＰ＿ＳＩＺＥの値は“２”であるとする。この場合、自ノード（グループルートノード）の階層は、第４階層である。また、この場合、前述した、ＧＲＰ＿ＳＩＺＥの値分の階層は、２つの階層である。すなわち、自ノードの階層より下の階層であって、トリガメッセージＴＲが示すＧＲＰ＿ＳＩＺＥの値分の階層は、第５階層および第６階層である。
【０１７４】
すなわち、この場合、ノード４１のグループ生成部１２４は、第５階層および第６階層の各ノードへ、グループ情報を送信することによりグループを形成する。
【０１７５】
ここで、ノード１１およびノード４２は、グループルートノードであるとする。また、グループルートノードとしてのノード４１が行った図６のグループ化ノード判定処理および図７のグループ化処理を、ノード１１およびノード４２の各々が行ったとする。また、ＧＣを受信した各ノードが、前述したＧＣ巡回処理を行ったとする。この場合、ＡＬＭ配信木を構成する複数のノードにおいて、複数のグループが形成される。なお、前述のグループ化処理Ｎが行われる場合、ＧＣ巡回処理は行われない。
【０１７６】
図９（Ｂ）は、形成された複数のグループの一例を示す図である。グループＧＰ２は、グループルートノードとしてのノード４１が図１０の巡回済ＧＣを受信することにより形成されたグループである。なお、前述のグループ化処理Ｎが行われる場合、グループＧＰ２は、グループ化処理Ｎにより形成されたグループである。
【０１７７】
グループＧＰ１は、グループルートノードとしてのノード１１が、ステップＳ３１４の処理を行うことにより、形成されたグループである。グループＧＰ３は、グループルートノードとしてのノード４２が、ステップＳ３１４の処理を行うことにより、形成されたグループである。
【０１７８】
図９（Ｂ）に示されるように、グループルートノードとしてのノード４１，４２は、対応するグループの境界に位置するノードである。
【０１７９】
なお、規則Ｐ１，３では、子ノードへＧＣを送信する場合、ノードＩＤが示す数字が最も小さい当該ノードＩＤの子ノードへＧＣを送信するようにしていた。しかしながら、これに限定されることなく、ノードＩＤが示す数字が最も大きい当該ノードＩＤの子ノードへＧＣを送信してもよい。すなわち、ノードＩＤが示す数字が大きい順に、ＧＣの送信先となる子ノードを選択してもよい。また、ＧＣの送信先となる子ノードを無作為に選択してもよい。
【０１８０】
なお、上記のように、ＧＣを巡回させることなく、隣接ノードに問い合わせることによってノードＩＤの収集を行ってもよいし、複数ホップ先までのノードにノードＩＤを問い合わせてもよい。
【０１８１】
なお、上記のグループ形成手法において、集中処理法によって（集中管理サーバによって）グループを形成し、その情報を各グループに散布してもよい。また、非集中処理、集中処理が混在する手法によってグループ形成を行ってもよい。
【０１８２】
（トークンの巡回）
次に、図１（Ｂ）で説明したトークンＴＫを、グループ内で巡回させるための処理（以下、トークン巡回処理という）について説明する。トークン巡回処理は、前述した巡回済ＧＣを受信したグループルートノードとしての通信端末１００が行う。ここでは、ノード４１が、巡回済ＧＣを受信したグループルートノードであるとする。
【０１８３】
なお、形成されたグループに対応するノードの数が１個である場合、当該グループにおいてトークン巡回処理は行われない。つまり、トークン巡回処理は、形成されたグループに対応するノードの数が２個以上である場合に行われる。
【０１８４】
図１１は、トークン巡回処理のフローチャートである。
【０１８５】
ステップＳ４１１では、トークン制御部１２３が、巡回済ＧＣが示す情報に基づいて、トークンＴＫを生成する。具体的には、トークン制御部１２３は、巡回済ＧＣにおける通過ノード情報ＰＡＳＳＥＤ＿ＩＤＳが示す複数のノードＩＤを示すトークンＴＫを生成する。なお、トークン制御部１２３は、トークンＴＫが示すノードＩＤの順番を、グループに対応する複数のノードをトークンＴＫが、例えば、最短距離で巡回するように設定する。
【０１８６】
ここで、トークンＴＫの生成に使用される巡回済ＧＣは、図１０の巡回済ＧＣであるとする。この場合、以下の図１２に示されるトークンＴＫが生成される。
【０１８７】
図１２は、一例としてのトークンＴＫを示す図である。
【０１８８】
図１２において、「ＧＲＰ＿ＩＤＳ」は、トークンＴＫを生成したグループルートノードに対応するグループに対応する複数のノードにそれぞれ対応する複数のノードＩＤを示す情報（以下、グループノード情報という）である。トークンＴＫは、当該トークンＴＫに記載される複数のノードＩＤのうち、トークンＴＫを受信したノードのＩＤの右側のノードＩＤのノードへ順次送信される。
【０１８９】
なお、トークンＴＫに記載される複数のノードＩＤのうち最も右側のノードＩＤのノードが、当該トークンＴＫを受信した場合、当該複数のノードＩＤのうち最も左側のノードＩＤのノードへ、当該トークンＴＫは送信される。
【０１９０】
再び、図１１を参照して、ステップＳ４１２では、トークン制御部１２３が、送信部１１２を利用して、生成したトークンＴＫを、当該トークンＴＫに示される複数のノードＩＤのうち、自ノードのノードＩＤの次のノードＩＤのノードへ送信する。
【０１９１】
ここで、自ノードのノードＩＤは“Ｔ４１”であるとする。また、生成されたトークンＴＫは、図１２のトークンＴＫであるとする。この場合、グループルートノードとしてのノード４１は、ノードＩＤ“Ｔ５１”のノードへ、トークンＴＫを送信する。
【０１９２】
そして、トークンＴＫを受信した各ノードは、前述したように、受信したトークンＴＫに記載される複数のノードＩＤのうち、トークンＴＫを受信したノードのＩＤの右側のノードＩＤのノードへ、当該トークンＴＫを送信する。なお、トークンＴＫを受信した各ノードのトークン制御部１２３は、受信したトークンＴＫを所定時間（例えば、１秒）保持した後、当該トークンＴＫを、自ノードのノードＩＤの次のノードＩＤのノードへ送信する。
【０１９３】
なお、トークンＴＫに記載される複数のノードＩＤのうち最も右側のノードＩＤ（例えば、“Ｔ５２”）のノードが、当該トークンＴＫを受信した場合、当該複数のノードＩＤのうち最も左側のノードＩＤ（例えば、“Ｔ４１”）のノードへ、当該トークンＴＫを送信する。
【０１９４】
以上の処理により、トークンＴＫは、例えば、図１（Ｂ）に示されるように、グループルートノードに対応するグループに対応する複数のノードにおいて、巡回する。また、ＡＬＭ配信木において形成された複数のグループの各々におけるグループルートノードが、図１１のトークン巡回処理を行うことにより、各グループにおいて、トークンＴＫが独立して巡回する。
【０１９５】
なお、前述したグループ化処理Ｎが行われる場合、トークン巡回処理のステップＳ４１１では、トークン制御部１２３が、トリガメッセージＴＲが示すＧＲＰ＿ＳＩＺＥの値分の階層の各下位ノードと自ノードとをトークンＴＫが最短距離で巡回するように当該トークンＴＫ（例えば、図１２）を生成する。そして、前述のステップＳ４１２が行われる。
【０１９６】
（局所改善処理）
次に、ＡＬＭ配信木において、前述した規則Ｄ１および規則Ｄ２に従って行われる局所改善処理を行うための処理について説明する。なお、ＡＬＭ配信木には、図９（Ｂ）に示されるように、複数のグループが形成されているとする。ＡＬＭ配信木を構成する複数のノードの各々は、他の処理とは独立して、後述の局所改善判定処理を行う。
【０１９７】
また、ＡＬＭ配信木を構成する複数のノードの各々は、他の処理とは独立して、後述の配信木変更処理を行う。
【０１９８】
ここで、図９（Ｂ）のルートノードとしてのノード１１は、所定時間（例えば、１ミリ秒）毎に、データＤＴを、子ノード（ノード２１，２２）へ送信しているとする。ルートノードとしてのノード１１が送信するデータＤＴは、例えば、ストリーミングデータであるとする。ルートノード以外の各ノード（例えば、ノード３１）は、データＤＴを受信する毎に、受信したデータＤＴを、子ノード（例えば、ノード４１）へ送信する。
【０１９９】
また、ルートノード以外の各ノード（例えば、ノード２１，３１）は、データＤＴを受信する毎に、データ受信メッセージを、親ノード（例えば、ノード１１，２１）へ送信するとする。データ受信メッセージは、データＤＴを受信したことを報知するためのメッセージである。これにより、ＡＬＭ配信木における各ノードは、所定時間毎にデータ受信メッセージを受信することで、データＤＴが正常に子ノードへ送信されていることを知ることができる。
【０２００】
図１３は、局所改善判定処理のフローチャートである。ここでは、一例として、ノード５２が、局所改善判定処理を行っているとして説明する。
【０２０１】
また、前述した処理により、各グループにおいて、トークンＴＫが巡回しているとする。
【０２０２】
ステップＳ５１１では、局所改善部１２２が、局所改善条件が満たされたか否かを判定する。局所改善条件は、局所改善処理を実行するための条件である。
【０２０３】
局所改善条件は、例えば、自ノードと子ノードとの間の通信量が所定値以上になったという条件である。すなわち、局所改善条件は、自ノードと子ノードとの間で前述したネットワーク混雑が発生したという条件である。局所改善条件が満たされる場合、データの送信先の変更が必要なノード（以下、変更必要ノードという）があることになる。この場合、変更必要ノードは、自ノードである。 
【０２０４】
自ノードと子ノードとの間の通信量が所定値以上になった場合、局所改善部１２２は、局所改善条件が満たされたと判定する。すなわち、ステップＳ５１１では、局所改善部１２２が、変更必要ノードがあるか否かを判定する。
【０２０５】
自ノードと子ノードとの間の通信量が所定値以上になったか否かの判定は、子ノードから送信されるデータ受信メッセージを受信する時間間隔により判定できる。例えば、ネットワーク混雑が発生した場合、データ受信メッセージを受信する時間間隔は、所定の時間間隔より長くなる。以下においては、自ノードと子ノードとの間の通信量が所定値以上になった場合における当該子ノードを、混雑解消対象ノードという。
【０２０６】
ステップＳ５１１において、ＹＥＳならば、処理はステップＳ５１２に移行する。一方、ステップＳ５１１において、ＮＯならば、再度、ステップＳ５１１の処理が行われる。
【０２０７】
ここで、ノード５２とノード６４との間の通信量が所定値以上になったとする。すなわち、ノード５２とノード６４との間に、前述したネットワーク混雑が発生したとする。この場合、ノード６４は、混雑解消対象ノードである。この場合、局所改善条件が満たされたと判定され、処理はステップＳ５１２に移行する。
【０２０８】
なお、局所改善条件は、上記条件に限定されることなく、他の条件であってもよい。例えば、局所改善条件は、自ノードと子ノードとの間の通信量が“０”になったという条件でもよい。すなわち、局所改善条件は、子ノードが動作してないという条件であってもよい。
【０２０９】
ステップＳ５１２では、交換対象ノードの判定が行われる。交換対象ノードは、自ノードと混雑解消対象ノードとの間の通信量を所定値未満とすることができるノードである。すなわち、交換対象ノードは、ネットワーク混雑を解消するのに最も適したノードである。また、交換対象ノードは、自ノードと交換の対象となるノードである。
【０２１０】
なお、交換対象ノードは、グループルートノード以外のノードとする。なぜならば、グループルートノードが交換されてしまうと、他のグループに対応する、当該グループルートノードの親ノードが、データをどこへ送信すればいいのかわからなくなってしまうからである。
【０２１１】
具体的には、局所改善部１２２が、混雑解消対象ノード（例えば、ノード６４）以外の親ノード（例えば、ノード４１）または混雑解消対象ノード以外の子ノード（例えば、ノード６３）との通信量に基づいて、交換対象ノードを判定する。また、局所改善部１２２は、判定された交換対象ノードに、当該交換対象ノードのノードＩＤを問い合わせることにより、交換対象ノードのノードＩＤを取得する。
【０２１２】
ステップＳ５１３では、局所改善部１２２が、トークン制御部１２３がトークンＴＫを保持しているか否かを判定する。ステップＳ５１３において、ＹＥＳならば、処理はステップＳ５１４に移行する。一方、ステップＳ５１３において、ＮＯならば、再度、ステップＳ５１１の処理が行われる。ここでは、トークン制御部１２３がトークンＴＫを保持しているとする。
【０２１３】
ステップＳ５１４では、局所改善処理に関わる全てのノードＩＤがあるか否かが判定される。具体的には、局所改善部１２２が、保持されているトークンＴＫが、自ノードのノードＩＤと、交換対象ノードのノードＩＤとを示すか否かを判定する。ステップＳ５１４において、ＹＥＳならば、処理はステップＳ５１５に移行する。一方、ステップＳ５１４において、ＮＯならば、再度、ステップＳ５１１の処理が行われる。
【０２１４】
ここで、保持されているトークンＴＫは、図１２のトークンＴＫであるとする。また、ステップＳ５１４の処理は、ノード５２が行っているとする。また、前述の処理により判定された交換対象ノードは、ノード６３であるとする。
【０２１５】
この場合、自ノードのノードＩＤは“Ｔ５２”である。また、交換対象ノードのノードＩＤは“Ｔ６３”である。この場合、ステップＳ５１４でＹＥＳと判定され、処理はステップＳ５１５に移行する。
【０２１６】
ステップＳ５１５では、局所改善処理Ｔが行われる。局所改善処理Ｔは、アプリケーション層では、ＡＬＭ配信木における変更必要ノード（例えば、ノード５２）の位置と、交換対象ノード（例えば、ノード６３）の位置とを交換する処理である。
【０２１７】
局所改善処理Ｔは、物理層では、変更必要ノードに設定されたデータの送信先と、交換対象ノードに設定されたデータの送信先とを交換する送信先交換処理を含む。具体的には、送信先交換処理は、変更必要ノードに設定されたデータの送信先を、交換対象ノードに設定されたデータの送信先に変更し、交換対象ノードに設定されたデータの送信先を、変更必要ノードに設定されたデータの送信先に変更する処理である。
【０２１８】
なお、交換対象ノードが、変更必要ノードの子ノードである場合、送信先交換処理は、交換対象ノード（例えば、ノード６３）がデータの送信先に設定されている親ノード（例えば、ノード５２）のデータの送信先を当該交換対象ノードに設定されたデータの送信先に変更する処理を含む。
【０２１９】
また、局所改善処理Ｔは、物理層では、変更必要ノード（例えば、ノード５２）がデータの送信先に設定されているノード（例えば、ノード４１）のデータの送信先の少なくとも一部を交換対象ノード（例えば、ノード６３）に変更する処理を含む。
【０２２０】
具体的には、局所改善処理Ｔでは、まず、局所改善部１２２が、局所改善メッセージＩＰＭを生成する。局所改善メッセージＩＰＭは、局所改善処理を行うためのメッセージである。局所改善処理Ｔでは、変更必要ノードの親ノードへ送信するための局所改善メッセージＩＰＭ（以下、第１局所改善メッセージという）と、交換対象ノードへ送信するための局所改善メッセージＩＰＭ（以下、第２局所改善メッセージという）とが生成される。そして、局所改善部１２２は、生成した第１局所改善メッセージおよび第１局所改善メッセージの各々を、送信先となるノードへ送信する。
【０２２１】
ここで、ステップＳ５１２の処理により、交換対象ノードはノード６３であると判定されたとする。この場合、ノード５２の位置と、ノード６３の位置とを交換するための局所改善処理を行うための第１局所改善メッセージおよび第２局所改善メッセージが生成される。
【０２２２】
また、ノード５２がステップＳ５１５の処理を行っているとする。また、変更必要ノードはノード５２（自ノード）であるとする。
【０２２３】
この場合、生成される第１局所改善メッセージは、変更必要ノード（ノード５２）の親ノードであるノード４１へ送信するためのメッセージである。また、生成される第２局所改善メッセージは、交換対象ノードとしてのノード６３へ送信するためのメッセージである。
【０２２４】
ここで、ノード４１に設定されているデータの送信先は、ノード５１，５２であるとする。なお、データの送信先情報は、例えば、ＩＰアドレス等により表現される。
【０２２５】
また、この場合、第１局所改善メッセージは、ノード４１のデータの送信先の一部（ノード５２のＩＰアドレス）を、ノード６３のＩＰアドレスに変更するための指示を示す。また、第２局所改善メッセージは、変更必要ノードのＩＰアドレスと、当該変更必要ノードのＩＰアドレスを交換対象ノードとしてのノード６３のデータの送信先に設定する旨の指示と、交換対象ノードとしてのノード６３のデータの送信先情報（例えば、ＩＰアドレス）を要求する指示とを示す。
【０２２６】
なお、局所改善部１２２は、交換対象ノードから、データの送信先情報を受信すると、受信した送信先情報が示すデータの送信先を、自ノードのデータの送信先に設定する。
【０２２７】
そして、局所改善部１２２は、生成した第１局所改善メッセージを、ノード４１へ送信する。また、局所改善部１２２は、生成した第２局所改善メッセージを、交換対象ノードとしてのノード６３へ送信する。
【０２２８】
図１４は、配信木変更処理のフローチャートである。前述したように、ＡＬＭ配信木を構成する複数のノードの各々は、他の処理とは独立して、配信木変更処理を行う。ここでは、一例として、ノード４１が、配信木変更処理を行っているとして説明する。
【０２２９】
ステップＳ６１１では、局所改善部１２２が、局所改善メッセージを受信したか否かを判定する。ステップＳ６１１において、ＹＥＳならば、処理はステップＳ６１２に移行する。一方、ステップＳ６１１において、ＮＯならば、再度、ステップＳ６１１の処理が行われる。ここでは、ノード４１が、変更必要ノード（ノード５２）から、前述の第１局所改善メッセージを受信したとする。
【０２３０】
ステップＳ６１２では、メッセージ対応処理が行われる。メッセージ対応処理では、局所改善部１２２が、受信した局所改善メッセージに基づいた処理を行う。ここで、受信した局所改善メッセージは、前述の第１局所改善メッセージであるとする。また、第１局所改善メッセージは、ノード４１のデータの送信先の一部（ノード５２のＩＰアドレス）を、ノード６３のＩＰアドレスに変更するための指示を示すとする。
【０２３１】
この場合、局所改善部１２２は、自ノード（ノード４１）に設定されているデータの送信先の一部（ノード５２のＩＰアドレス）を、ノード６３のＩＰアドレスに変更する。すなわち、自ノード（ノード４１）に設定されているデータの送信先の一部（ノード５２）が、ノード６３に変更される。
【０２３２】
以上の処理により、メッセージ対応処理は終了する。そして、再度、ステップＳ６１１の処理が行われる。
【０２３３】
次に、ノード６３が、図１４の配信木変更処理を行っている場合の処理を説明する。ここで、ノード６３が、変更必要ノード（ノード５２）から、前述の第２局所改善メッセージを受信したとする。
【０２３４】
この場合、ステップＳ６１１において、ＹＥＳと判定され、処理はステップＳ６１２に移行する。
【０２３５】
ステップＳ６１２のメッセージ対応処理では、局所改善部１２２が、受信した第２局所改善メッセージに基づいた処理を行う。第２局所改善メッセージは、変更必要ノードのデータの送信先としての変更必要ノードのＩＰアドレスと、変更必要ノードのＩＰアドレスを、交換対象ノードとしてのノード６３のデータの送信先に設定する旨の指示と、交換対象ノードとしてのノード６３のデータの送信先情報（例えば、ＩＰアドレス）を要求する指示とを示すとする。
【０２３６】
この場合、局所改善部１２２は、自ノード（ノード６３）に設定されているデータの送信先を、変更必要ノードの送信先（ＩＰアドレス）に設定（変更）する。また、局所改善部１２２は、自ノードのデータの送信先情報を、ノード５２へ送信する。
【０２３７】
前述の局所改善処理Ｔを行っているノード５２の局所改善部１２２は、前述したように、交換対象ノード（ノード６３）から、データの送信先情報を受信すると、受信した送信先情報が示すデータの送信先を、自ノードのデータの送信先に設定する。そして、図１３における局所改善処理Ｔは終了する。そして、再度、ステップＳ５１１の処理が行われる。
【０２３８】
以上の局所改善処理Ｔが行われることにより、変更必要ノードのデータの送信先の全てと、交換対象ノードのデータの送信先の全てとが交換される。なお、局所改善処理Ｔは、変更必要ノードのデータの送信先の全てと、交換対象ノードのデータの送信先の全てとを交換する処理に限定されない。局所改善処理Ｔは、例えば、変更必要ノードのデータの送信先の一部と、交換対象ノードのデータの送信先の一部とを交換する処理であってもよい。
【０２３９】
なお、図１３の局所改善判定処理は、データの送信先の変更が必要な変更必要ノード（例えば、ノード５２）以外のノードが行ってもよい。例えば、変更必要ノードが、ノード５２であるとする。また、ノード４１が、ノード５２とノード６４との間の通信量の状態を監視しているとする。
【０２４０】
この場合、ノード４１が、図１３の局所改善判定処理を行ってもよい。この場合、ノード４１が行う局所改善判定処理は、例えば、ＡＬＭ配信木におけるノード５２の位置と、ノード６３の位置とを交換するための処理となる。
【０２４１】
以上説明したように、本実施の形態では、上記の局所改善処理Ｔが行われることにより、ネットワーク混雑が解消される。また、配信木変更処理により、トークンＴＫを保持しているノードのみしか局所改善処理が実行できないので、１つのグループ内で、同時に複数の局所改善処理が行われることはない。
【０２４２】
そのため、ＡＬＭ配信木において形成された複数のグループの各々において、同時にネットワーク混雑が発生し、当該ネットワーク混雑を解消するための局所改善処理が行われても、ＡＬＭ配信木の不整合の発生を防ぐことができる。
【０２４３】
また、トークンＴＫを保持しているノードのみしか局所改善処理が実行できないので、局所改善処理が他の処理の影響を受けることなく、局所改善処理を確実に実行することができる。
【０２４４】
また、ＡＬＭ配信木において形成された複数のグループの各々において、ネットワーク混雑が同時に発生した場合、各グループにおいて、同時に、図１３の局所改善判定処理および図１４の配信木変更処理が行われることにより、複数のグループの各々において、局所改善処理が行われる。すなわち、ＡＬＭ配信木において、複数の局所改善処理を迅速に行うことができる。
【０２４５】
したがって、従来技術としての逐次実行処理より、複数個所のネットワーク混雑を迅速に解消することができる。すなわち、ＡＬＭ配信木の再構築を迅速に行うことができる。つまり、従来技術としての逐次実行処理より、ＡＬＭ配信木を迅速に改善することができる。
【０２４６】
また、本発明では、トークンＴＫがグループノード情報（ＧＲＰ＿ＩＤＳ）を保持するようにしている。そのため、ＡＬＭ配信木における各ノードがグループノード情報を保持、管理する必要がない。そのため、グループ管理を非常に簡単にすることができる。
【０２４７】
なお、ＡＬＭ配信木の不整合を解消するのに発生するネットワークのオーバーヘッドは、グループ形成時のトラフィック量と、トークン巡回時のトラフィック量との合計である。グループ形成時のトラフィック量は、１回限りのトラフィックである。また、トークン巡回時のトラフィック量は、トークンＴＫがグループノード情報を保持しているため十分に小さい。したがって、本発明において、ＡＬＭ配信木の不整合を解消するのに発生するネットワークのオーバーヘッドは非常に少ない。
【０２４８】
以上により、本発明では、局所改善処理が複数個所で同時実行されるときに起こり得るＡＬＭ配信木の不整合を、少ないネットワークのオーバーヘッドで、迅速に解消することができる。その結果、高いＱｏＳ（Quality of Service）を実現することができる。
【０２４９】
＜第１の実施の形態の変形例＞
第１の実施の形態では、ＡＬＭ配信木において形成される複数のグループの大きさおよびグループの位置は固定であった。すなわち、ＡＬＭ配信木において形成されるグループの数、各グループに対応するノードの数は固定であった。また、異なる２つのグループ間において２つのノードの位置を交換する局所改善処理は禁止していた。
【０２５０】
そのため、ＡＬＭ配信木において、図９（Ｂ）のようにグループＧＰ１，ＧＰ２，ＧＰ３が形成されている状態で、例えば、グループＧＰ１と、グループＧＰ２との間においてネットワーク混雑が発生した場合、当該ネットワーク混雑を解消するための局所改善処理は実行されないという問題があった。
【０２５１】
本実施の形態の変形例では、ＡＬＭ配信木において形成される複数のグループの大きさおよびグループの位置を動的に変更することにより、上記問題を解決する。すなわち、ＡＬＭ配信木において形成されるグループの数、各グループに対応するノードの数を動的に変更することにより、上記問題を解決する。
【０２５２】
本実施の形態の変形例の概要は、予め定められたグループ分け条件が満たされた場合、トリガメッセージＴＲが示す、ＳＴＡＲＴ＿ＩＮＤＥＸの値、グループサイズＧＲＰ＿ＳＩＺＥの値を変更したトリガメッセージＴＲを、ＡＬＭ配信木を構成する複数のノードへブロードキャストする。グループ分け条件は、例えば、所定時間が経過したという条件である。
【０２５３】
これにより、ＡＬＭ配信木において形成される複数のグループの大きさおよびグループの位置を動的に変更する。すなわち、ＡＬＭ配信木において形成されるグループの数、各グループに対応するノードの数を動的に変更する。
【０２５４】
本実施の形態の変形例におけるノードとしての通信端末は、図３の通信端末１００である。そのため、通信端末１００についての詳細な説明は繰り返さない。
【０２５５】
（グループの形成）
次に、ＡＬＭ配信木において、複数のグループを形成するための処理（以下、グループ分け処理Ａという）について説明する。グループ分け処理Ａは、ルートノードとしてのノード１１である通信端末１００が行う。なお、以下のグループ分け処理Ａは、ルートノード以外の任意のノードである通信端末１００が行ってもよい。
【０２５６】
図１５は、グループ分け処理Ａのフローチャートである。図１５において、図４のステップ番号と同じステップ番号の処理は、第１の実施の形態で説明した処理と同様な処理が行われるので詳細な説明は繰り返さない。
【０２５７】
ステップＳ１１０Ａでは、グループ生成部１２４が、予め定められたグループ分け条件が満たされたか否かを判定する。ここで、グループ分け条件は、例えば、所定時間が経過したという条件である。ステップＳ１１０Ａにおいて、ＹＥＳならば、処理はステップＳ１１１Ａに移行する。一方、ステップＳ１１０Ａにおいて、ＮＯならば、再度、ステップＳ１１０Ａの処理が行われる。
【０２５８】
なお、グループ分け条件は、他の条件であってもよい。グループ分け条件は、例えば、現在の時刻が任意の時刻であるという条件であってもよい。
【０２５９】
ステップＳ１１１Ａでは、トリガメッセージ生成処理Ａが行われる。トリガメッセージ生成処理Ａでは、グループ生成部１２４が、トリガメッセージＴＲを生成する。生成されるトリガメッセージＴＲは、例えば、図５のトリガメッセージＴＲである。トリガメッセージ生成処理Ａでは、ステップＳ１１１Ａの処理が繰り返し行われる毎に、グループ生成部１２４が、前回とは異なるトリガメッセージＴＲを生成する。
【０２６０】
例えば、前回のトリガメッセージ生成処理Ａにより生成されたトリガメッセージＴＲが、図５のトリガメッセージＴＲであった場合、今回のトリガメッセージ生成処理Ａでは、グループサイズＧＲＰ＿ＳＩＺＥの値およびＳＴＡＲＴ＿ＩＮＤＥＸの値の少なくとも一方が変更されたトリガメッセージＴＲが生成される。
【０２６１】
すなわち、ステップＳ１１１Ａの処理が繰り返し行われる毎に、トリガメッセージ生成処理Ａでは、ＡＬＭ配信木において形成される複数のグループの大きさおよびグループの位置の少なくとも一方を動的に変更したトリガメッセージＴＲ（グループ形成データ）が生成される。つまり、ステップＳ１１１Ａの処理が繰り返し行われる毎に、トリガメッセージ生成処理Ａでは、ＡＬＭ配信木において形成されるグループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのトリガメッセージＴＲ（グループ形成データ）が生成される。すなわち、ステップＳ１１１Ａの処理が繰り返し行われる毎に、グループ生成部１２４により生成されるトリガメッセージＴＲ（グループ形成データ）は変更される。
【０２６２】
ステップＳ１１２では、第１の実施の形態で説明した処理と同様な処理が行われるので詳細な説明は繰り返さない。この処理により、トリガメッセージＴＲが送信される。そして、再度、ステップＳ１１０Ａの処理が行われる。
【０２６３】
すなわち、グループ分け処理Ａでは、グループ分け条件が満たされる毎に、トリガメッセージＴＲ（グループ形成データ）が生成され、当該トリガメッセージＴＲが子ノードへ送信される。グループ分け条件が、例えば、所定時間が経過したという条件である場合、所定時間経過毎に、前回と異なるトリガメッセージＴＲが、子ノードへ送信される。
【０２６４】
そして、第１の実施の形態と同様に、ＡＬＭ配信木を構成する複数のノードの各々は、図６のグループ化ノード判定処理を行う。なお、ルートノードは、図６のステップＳ２１１を行わず、ステップＳ２１２，Ｓ２１３のみを行うとする。 
【０２６５】
また、ＡＬＭ配信木を構成する複数のノードのうち、グループルートノード（グループ化ノード）は、図７のグループ化処理を行う。
【０２６６】
図１６は、ＡＬＭ配信木においてグループが形成される処理を説明するための図である。以下、図１６（Ａ）、図１６（Ｂ）、図１６（Ｃ）、図１６（Ｄ）、図１６（Ｅ）および図１６（Ｆ）を参照して、ＡＬＭ配信木においてグループが形成される処理を説明する。
【０２６７】
ルートノードとしてのノード１１は、図１５のグループ分け処理Ａを行うことにより、子ノードとしてのノード２１，２２へ、トリガメッセージＴＲを送信する（図１６（Ａ）参照）。ここで、ノード１１が送信するトリガメッセージＴＲは、図５のトリガメッセージＴＲであるとする。すなわち、トリガメッセージＴＲが示すＳＴＡＲＴ＿ＩＮＤＥＸの値およびグループサイズＧＲＰ＿ＳＩＺＥの値は、それぞれ、“０”および“２”である。
【０２６８】
この場合、ルートノードとしてのノード１１は、図６のグループ化ノード判定処理を行うことにより、自ノードがグループルートノード（グループ化ノード）であると判定し、図７のグループ化処理を行う。この処理により、ノード１１は、ＧＣを、第１の実施の形態で説明したのと同様な処理により、他のノード（ノード２１）へ送信する（図１６（Ａ）参照）。
【０２６９】
そして、図１６（Ｂ）に示されるように、ノード２１は、第１の実施の形態で説明したのと同様な処理により、トリガメッセージＴＲを、子ノードとしてのノード３１，３２へ送信する。また、ノード１１，２１，３１，３２は、第１の実施の形態で説明したのと同様な処理により、ＧＣを巡回させるための処理を行う。
【０２７０】
ＧＣの巡回により、図１６（Ｃ）に示されるように、グループＧＰ１が形成される。また、ノード３１は、受信したトリガメッセージＴＲを、子ノードとしてのノード４１，４２へ送信する。
【０２７１】
ノード４１，４２の各々は、図６のグループ化ノード判定処理を行うことにより、自ノードがグループルートノード（グループ化ノード）であると判定し、図７のグループ化処理を行う。この処理により、ノード４１は、ＧＣを、第１の実施の形態で説明したのと同様な処理により、他のノード（ノード５１）へ送信する（図１６（Ｄ）参照）。ノード４２も、ノード４１と同様に、ＧＣを、第１の実施の形態で説明したのと同様な処理により、他のノード（ノード５３）へ送信する（図１６（Ｄ）参照）。
【０２７２】
また、ノード４１は、受信したトリガメッセージＴＲを、子ノードとしてのノード５１，５２へ送信する（図１６（Ｄ）参照）。ノード４２は、受信したトリガメッセージＴＲを、子ノードとしてのノード５３，５４へ送信する。
【０２７３】
そして、図９（Ａ）を用いて第１の実施の形態で説明したＧＣを巡回させるための処理により、ノード４１，５１，６１，６２，５２，６３，６４において、ＧＣが巡回する（図１６（Ｅ）参照）。
【０２７４】
また、ノード５１，５２，５３，５４の各々は、受信したトリガメッセージＴＲを、対応する子ノードへ送信する。なお、ノード５１，５２，５３，５４の子ノード（例えば、ノード６１）は、最下位層ノードであるため、トリガメッセージＴＲを受信するのみである。 
【０２７５】
ノード４１，４２の各々が生成したＧＣの巡回により、図９（Ｂ）と同様、図１６（Ｆ）に示されるように、グループＧＰ１に加え、さらに、グループＧＰ２，ＧＰ３が形成される。
【０２７６】
以上の処理により、ルートノードとしてのノード１１が送信したトリガメッセージＴＲが、ＡＬＭ配信木を構成する全てのノードへ送信されるとともに、ＡＬＭ配信木において、１以上のノードに対応するグループが形成される。
【０２７７】
なお、各グループにおいては、第１の実施の形態で説明した、図１１のトークン巡回処理、図１３の局所改善判定処理および図１４の配信木変更処理が行われる。
【０２７８】
また、図１５のグループ分け処理Ａが行われることにより、ルートノードとしてのノード１１が、子ノードへ送信するトリガメッセージＴＲが異なると、ＡＬＭ配信木において形成されるグループの数、各グループに対応するノードの数も変化する。
【０２７９】
なお、本実施の形態の変形例で行われる図７のグループ化処理のステップＳ３１４において前述したグループ化処理Ｎが行われることによりグループが形成されてもよい。この場合、ステップＳ３１１，Ｓ３１２，Ｓ３１３の処理およびＧＣ巡回処理は行われない。
【０２８０】
図１７は、ＡＬＭ配信木に形成されるグループの一例を示す図である。
【０２８１】
図１７（Ａ）は、ノード１１が送信するトリガメッセージＴＲが示すＳＴＡＲＴ＿ＩＮＤＥＸの値およびグループサイズＧＲＰ＿ＳＩＺＥの値が、それぞれ、“０”および“３”である場合に形成される複数のグループを示す図である。
【０２８２】
図１７（Ａ）は、形成されたグループの例として、グループＧＰ１１，ＧＰ２１，ＧＰ２２，ＧＰ２３，ＧＰ２４を示す。グループＧＰ２１，ＧＰ２２，ＧＰ２３，ＧＰ２４の各々のサイズは“１”である。すなわち、グループＧＰ２１，ＧＰ２２，ＧＰ２３，ＧＰ２４の各々は、３つのノードから形成される。これは、ＡＬＭ配信木の大きさ、すなわち、ＡＬＭ配信木を構成するノードの数により、最下位のグループに含められるノードの数が限られるからである。
【０２８３】
図１７（Ｂ）は、ノード１１が送信するトリガメッセージＴＲが示すＳＴＡＲＴ＿ＩＮＤＥＸの値およびグループサイズＧＲＰ＿ＳＩＺＥの値が、それぞれ、“１”および“２”である場合に形成される複数のグループを示す図である。
【０２８４】
図１７（Ｂ）は、形成されたグループの例として、グループＧＰ１２，ＧＰ２０，ＧＰ２１，ＧＰ２２，ＧＰ２３，ＧＰ２４を示す。
【０２８５】
ＳＴＡＲＴ＿ＩＮＤＥＸ＞０の場合、最上位のグループ（例えば、グループＧＰ１２）のサイズが、グループサイズＧＲＰ＿ＳＩＺＥの値“２”より小さくなることが、前述した式１よりわかる。この場合、グループＧＰ１２は１つのノードで形成される。
【０２８６】
以上説明したように、本実施の形態の変形例では、ルートノードが、所定時間経過毎に、異なるトリガメッセージＴＲを、子ノードへ送信する。この処理により、トリガメッセージＴＲが示す値によって、例えば、図１６（Ｆ）、図１７（Ａ）および図１７（Ｂ）のいずれかに示されるように、ＡＬＭ配信木にグループが形成される。
【０２８７】
すなわち、所定時間経過毎に、ＡＬＭ配信木において形成される複数のグループの大きさおよびグループの位置が動的に変更される。すなわち、所定時間経過毎に、ＡＬＭ配信木において形成されるグループの数、各グループに対応するノードの数が変更される。
【０２８８】
ここで、例えば、図１６（Ｆ）において、ノード３１とノード４１との間にネットワーク混雑が発生したとする。この場合、図１６（Ｆ）が示すように、複数のグループが形成されている場合、当該ネットワーク混雑は、グループＧＰ１とグループＧＰ２との間に発生したネットワーク混雑となる。そのため、仮に、グループの大きさおよびグループの位置が固定である場合、前述した規則Ｄ１により、局所改善処理は実行されず、当該ネットワーク混雑は解消されない。
【０２８９】
しかしながら、本実施の形態の変形例では、ＡＬＭ配信木において形成される複数のグループの大きさおよびグループの位置が動的に変更される。この処理により、例えば、図１７（Ａ）または図１７（Ｂ）に示されるようにグループが形成され、ノード３１およびノード４１が同じグループに対応するようになると、当該グループにおいてネットワーク混雑を解消するための局所改善処理が実行されるようになる。
【０２９０】
したがって、本実施の形態の変形例では、第１の実施の形態で奏する効果に加えて、ネットワーク混雑が発生する位置に関わらず、当該ネットワーク混雑を解消することができる。すなわち、ネットワーク混雑が発生する位置に関わらず、当該ネットワーク混雑を解消することができるとともに、局所改善処理が複数個所で同時実行されるときに起こり得るＡＬＭ配信木の不整合を、少ないネットワークのオーバーヘッドで、迅速に解消することができる。
【０２９１】
なお、本実施の形態の変形例では、トリガメッセージＴＲにおけるグループサイズＧＲＰ＿ＳＩＺＥの値は、ＡＬＭ配信木においてグループが形成される間は変化しない。しかしながら、これに限定されることなく、ＡＬＭ配信木における任意のノードが、トリガメッセージＴＲを子ノードへ送信（転送）する場合に、グループサイズＧＲＰ＿ＳＩＺＥの値を、ある条件に基づいて変更してもよい。
【０２９２】
この場合、グループ毎に、当該グループのサイズを異なるようにすることができる。すなわち、異なるサイズの複数のグループを形成することが可能となる。その結果、より柔軟なグループ形成ができるようになる。
【０２９３】
（機能ブロック図）
図１８は、本発明に係る通信端末１００の特徴的な第１の機能構成を示すブロック図である。つまり、図１８は、図３に示される通信端末１００の機能のうち、本発明に関わる主要な機能を示すブロック図である。
【０２９４】
第１の機能構成を有する通信端末１００は、ＡＬＭ配信木を構成する、通信端末としての複数のノードのうち、所定ノードとしての通信端末である。所定ノードは、例えば、ルートノードである。なお、所定ノードは、ルートノード以外の任意のノードであってもよい。ＡＬＭ配信木を構成する複数のノードの少なくとも一部ではデータ通信が行われている。
【０２９５】
複数のノードには、ＡＬＭ配信木におけるノードの位置によって、所定ノードから送信されるデータが複数のノードのうち所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されている。
【０２９６】
図１８に示すように、通信端末１００は、生成部２１０と、送信部２２０とを備える。
【０２９７】
生成部２１０は、ＡＬＭ配信木を構成する複数のノードにおいて、複数のグループを形成させるためのグループ形成データを生成する。グループ形成データは、例えば、トリガメッセージＴＲである。生成部２１０は、図４のグループ分け処理または図１５のグループ分け処理Ａを行う図３のグループ生成部１２４に相当する。
【０２９８】
送信部２２０は、グループ形成データを、自端末に設定された送信先のノードへ送信する。送信部２２０は、図４または図１５のステップＳ１１２の処理を行うグループ生成部１２４に相当する。
【０２９９】
生成部２１０は、グループ分け条件が満たされた場合、グループ形成データを、該グループ形成データに基づくグループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのデータに変更する。ここで、グループ分け条件は、例えば、所定時間が経過したという条件である。
【０３００】
送信部２２０は、グループ形成データが変更される毎に、変更後のグループ形成データを、自端末に設定された送信先のノードへ送信する。
【０３０１】
具体的には、例えば、生成部２１０は、グループに対応するノードの数がＮ（２以上の整数）個である場合、該Ｎ個のノードのうち２つのノードの位置を交換する局所改善処理が行われるグループを形成させるためのグループ形成データを生成する。
【０３０２】
また、例えば、生成部２１０は、形成されるグループの境界に位置するノードを特定するための情報を示す前記グループ形成データを生成する。
【０３０３】
また、例えば、生成部２１０は、グループに対応するノードの数がＮ個であり、かつ、該Ｎ個のノードにおける通信量が所定値以上となった場合、該通信量を所定値未満とするように、局所改善処理が行われるグループを形成させるためのグループ形成データを生成する。
【０３０４】
なお、図１８の生成部２１０および送信部２２０の全てまたは一部は、ＬＳＩ（Large Scale Integration：大規模集積回路）等のハードウエアで構成されてもよい。また、生成部２１０および送信部２２０の全てまたは一部は、ＣＰＵ等のプロセッサにより実行されるプログラムのモジュールであってもよい。
【０３０５】
図１９は、本発明に係る通信端末１００の特徴的な第２の機能構成を示すブロック図である。つまり、図１９は、図３に示される通信端末１００の機能のうち、本発明に関わる主要な機能を示すブロック図である。
【０３０６】
第２の機能構成を有する通信端末１００は、ＡＬＭ配信木を構成する、通信端末としての複数のノードのいずれかのノードとしての通信端末である。複数のノードには、ＡＬＭ配信木におけるノードの位置によって、データの送信先が予め設定されている。
【０３０７】
図１９に示すように、通信端末１００は、受信部３１０と、判定部３２０と、グループ生成部３３０と、局所改善部３４０とを備える。
【０３０８】
受信部３１０は、他のノードから送信されるデータであって、複数のノードのうち、自ノードを含むＭ（２以上の整数）個のノードからなるグループを、複数のノードのうちの特定ノードに形成させるためのグループ形成データを受信する。ここで、特定ノードは、例えば、前述したグループ化ノードである。グループ形成データは、例えば、トリガメッセージＴＲである。グループ形成データは、自ノードが前記特定ノードであるか否かを特定するための情報（例えば、図５の各値）を示す。
【０３０９】
受信部３１０は、例えば、図３の受信部１１０および図６のステップＳ２１１の処理を行うグループ生成部１２４に相当する。
【０３１０】
判定部３２０は、受信部３１０が受信したグループ形成データに基づいて、自ノードが特定ノードであるか否かを判定する。判定部３２０は、例えば、図６のステップＳ２１２の処理を行うグループ生成部１２４に相当する。
【０３１１】
グループ生成部３３０は、判定部３２０により自ノードが特定ノードであると判定された場合、グループ形成データに基づいて、Ｍ個のノードからなるグループを形成する。グループ生成部３３０は、図６のステップＳ２１３の処理、すなわち、図７のグループ化処理を行うグループ生成部１２４に相当する。
【０３１２】
局所改善部３４０は、グループ生成部３３０により形成されたグループに対応するＭ個のノードにおいて、データの送信先の変更が必要なノードである変更必要ノードがあるか否かを判定する。局所改善部３４０は、例えば、図１３の局所改善判定処理を行う局所改善部１２２に相当する。
【０３１３】
局所改善部３４０は、さらに、変更必要ノードがあると判定された場合、該変更必要ノードに設定されたデータの送信先と、他のノードに設定されたデータの送信先とを交換する局所改善処理を行う。
【０３１４】
具体的には、例えば、局所改善部３４０は、Ｍ個のノードのうちの２つのノードの間の通信量が所定値以上である場合に、２つのノードのうちの少なくともいずれか一方を変更必要ノードとして、変更必要ノードがあると判定する。
【０３１５】
なお、図１９の受信部３１０、判定部３２０、グループ生成部３３０および局所改善部３４０の全てまたは一部は、ＬＳＩ（Large Scale Integration：大規模集積回路）等のハードウエアで構成されてもよい。また、受信部３１０、判定部３２０、グループ生成部３３０および局所改善部３４０の全てまたは一部は、ＣＰＵ等のプロセッサにより実行されるプログラムのモジュールであってもよい。
【０３１６】
以上、本発明における通信端末１００について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、あるいは異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【０３１７】
また、上記の通信端末１００を構成する複数の構成要素の全てまたは一部は、ハードウエアで構成されてもよい。また、上記の通信端末１００を構成する構成要素の全てまたは一部は、ＣＰＵ（Central Processing Unit）等により実行されるプログラムのモジュールであってもよい。
【０３１８】
また、上記の通信端末１００を構成する複数の構成要素の全てまたは一部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されてもよい。システムＬＳＩは、複数の構成要素を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）などを含んで構成されるコンピュータシステムである。
【０３１９】
例えば、図３において、制御部１２０は、１個のシステムＬＳＩから構成されてもよい。
【０３２０】
また、本発明は、通信端末１００が備える特徴的な構成部の動作をステップとする方法として実現してもよい。また、本発明は、そのような方法に含まれる各ステップをコンピュータに実行させるプログラムとして実現してもよい。また、本発明は、そのようなプログラムを格納するコンピュータ読み取り可能な記録媒体として実現されてもよい。また、当該プログラムは、インターネット等の伝送媒体を介して配信されてもよい。
【０３２１】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【産業上の利用可能性】
【０３２２】
本発明は、より高いＱｏＳを実現することができる。そのため、本発明は、ＡＬＭ技術を利用した大規模な映像配信や遠隔講義システム等で利用可能である。
【符号の説明】
【０３２３】
１００  通信端末
１１０，３１０  受信部
１１２，２２０  送信部
１２０  制御部
１２１  データ制御部
１２２，３４０  局所改善部
１２３  トークン制御部
１２４，３３０  グループ生成部 
２１０  生成部
３２０  判定部
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数のノードのうち、所定ノードとしての通信端末であって、
前記複数のノードの少なくとも一部ではデータ通信が行われており、
前記複数のノードには、前記ＡＬＭ配信木におけるノードの位置によって、前記所定ノードから送信されるデータが前記複数のノードのうち前記所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されており、
前記所定ノードとしての通信端末は、
前記複数のノードにおいて、複数のグループを形成させるためのグループ形成データを生成する生成部と、
前記グループ形成データを、自端末に設定された送信先のノードへ送信する送信部とを備え、
前記生成部は、さらに、グループ分け条件が満たされた場合、前記グループ形成データを、該グループ形成データに基づくグループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのデータに変更し、
前記送信部は、前記グループ形成データが変更される毎に、変更後の前記グループ形成データを、自端末に設定された送信先のノードへ送信し、
前記生成部は、グループに対応するノードの数がＮ（２以上の整数）個である場合、該Ｎ個のノードのうち２つのノードの位置を交換する局所改善処理が行われるグループを形成させるための前記グループ形成データを生成する、
通信端末。
【請求項２】
前記グループ分け条件は、所定時間が経過したという条件である、
請求項１に記載の通信端末。
【請求項３】
前記生成部は、形成されるグループの境界に位置するノードを特定するための情報を示す前記グループ形成データを生成する、
請求項１または２に記載の通信端末。
【請求項４】
前記生成部は、グループに対応するノードの数がＮ個であり、かつ、該Ｎ個のノードにおける通信量が所定値以上となった場合、該通信量を前記所定値未満とするように、前記局所改善処理が行われるグループを形成させるための前記グループ形成データを生成する、
請求項１〜３のいずれかに記載の通信端末。
【請求項５】
前記所定ノードは、ルートノードである、
請求項１〜４のいずれかに記載の通信端末。
【請求項６】
前記所定ノードとしての通信端末は、さらに、
自端末に対応するグループに対応するノードの数がＮ個である場合、該Ｎ個のノードの各々が順次受信するためのトークンを送信するトークン制御部を備え、
前記トークン制御部は、トークンを受信したノードが該トークンを保持している期間のみ、該トークンを保持しているノードが前記局所改善処理を行うことを可能とする該トークンを送信する、
請求項１〜５のいずれかに記載の通信端末。 
【請求項７】
ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数のノードのいずれかのノードとしての通信端末であって、
前記複数のノードには、前記ＡＬＭ配信木におけるノードの位置によって、データの送信先が予め設定されており、
前記複数のノードのいずれかのノードとしての通信端末は、
他のノードから送信されるデータであって、前記複数のノードのうち、自ノードを含むＭ（２以上の整数）個のノードからなるグループを、前記複数のノードのうちの特定ノードに形成させるためのグループ形成データを受信する受信部を備え、
前記グループ形成データは、自ノードが前記特定ノードであるか否かを特定するための情報を示し、
前記複数のノードのいずれかのノードとしての通信端末は、さらに、
受信した前記グループ形成データに基づいて、自ノードが前記特定ノードであるか否かを判定する判定部と、
前記判定部により自ノードが前記特定ノードであると判定された場合、前記グループ形成データに基づいて、前記Ｍ個のノードからなるグループを形成するグループ生成部と、
前記グループ生成部により形成されたグループに対応する前記Ｍ個のノードにおいて、データの送信先の変更が必要なノードである変更必要ノードがあるか否かを判定する局所改善部とを備え、
前記局所改善部は、さらに、前記変更必要ノードがあると判定された場合、該変更必要ノードに設定されたデータの送信先と、他のノードに設定されたデータの送信先とを交換する局所改善処理を行う、
通信端末。
【請求項８】
前記局所改善処理は、前記変更必要ノードがデータの送信先に設定されているノードのデータの送信先の少なくとも一部を前記他のノードに変更し、前記他のノードがデータの送信先に設定されているノードのデータの送信先を前記他のノードに設定されたデータの送信先に変更する処理を含む、
請求項７に記載の通信端末。
【請求項９】
前記変更必要ノードおよび前記他のノードの各々は、前記Ｍ個のノードのうち、最上位のノードであるグループルートノードを除いた複数のノードのいずれかのノードである、
請求項８に記載の通信端末。
【請求項１０】
前記複数のノードのいずれかのノードとしての通信端末は、さらに、
自端末に対応するグループに対応するノードの数がＭ個である場合、該Ｍ個のノードの各々が順次受信するためのトークンを送信するトークン制御部を備え、
前記トークン制御部は、トークンを受信したノードが該トークンを保持している期間のみ、該トークンを保持しているノードが前記局所改善処理を行うことを可能とする該トークンを送信する、
請求項７〜９のいずれかに記載の通信端末。
【請求項１１】
前記局所改善部は、
前記Ｍ個のノードのうちの２つのノードの間の通信量が所定値以上である場合に、前記２つのノードのうちの少なくともいずれか一方を前記変更必要ノードとして、前記変更必要ノードがあると判定する、
請求項７〜１０のいずれかに記載の通信端末。 
【請求項１２】
ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数の
ノードのうち、所定ノードとしての通信端末が行う通信状態変更方法であって、
前記複数のノードの少なくとも一部ではデータ通信が行われており、
前記複数のノードには、前記ＡＬＭ配信木におけるノードの位置によって、前記所定ノードから送信されるデータが前記複数のノードのうち前記所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されており、
前記通信状態変更方法は、
前記複数のノードにおいて、複数のグループを形成させるためのグループ形成データを生成する生成ステップと、
前記グループ形成データを、自端末に設定された送信先のノードへ送信する送信ステップとを備え、
前記生成ステップでは、グループ分け条件が満たされた場合、前記グループ形成データを、該グループ形成データに基づくグループの数および各グループに対応するノードの数の少なくとも一方を変更させるためのデータに変更し、
前記送信ステップでは、前記グループ形成データが変更される毎に、変更後の前記グループ形成データを、自端末に設定された送信先のノードへ送信し、
前記生成ステップでは、グループに対応するノードの数がＮ（２以上の整数）個である場合、該Ｎ個のノードのうち２つのノードの位置を交換する局所改善処理が行われるグループを形成させるための前記グループ形成データを生成する、
通信状態変更方法。
【請求項１３】
ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数の
ノードのいずれかのノードとしての通信端末が行う通信状態変更方法であって、
前記複数のノードには、前記ＡＬＭ配信木におけるノードの位置によって、データの送信先が予め設定されており、
前記通信状態変更方法は、
他のノードから送信されるデータであって、前記複数のノードのうち、自ノードを含むＭ（２以上の整数）個のノードからなるグループを、前記複数のノードのうちの特定ノードに形成させるためのグループ形成データを受信する受信ステップを備え、
前記グループ形成データは、自ノードが前記特定ノードであるか否かを特定するための情報を示し、
前記通信状態変更方法は、さらに、
受信した前記グループ形成データに基づいて、自ノードが前記特定ノードであるか否かを判定する判定ステップと、
前記判定ステップにより自ノードが前記特定ノードであると判定された場合、前記グループ形成データに基づいて、前記Ｍ個のノードからなるグループを形成するグループ生成ステップと、
前記グループ生成ステップにより形成されたグループに対応する前記Ｍ個のノードにおいて、データの送信先の変更が必要なノードである変更必要ノードがあるか否かを判定する局所改善ステップとを備え、
前記局所改善ステップでは、前記変更必要ノードがあると判定された場合、該変更必要ノードに設定されたデータの送信先と、他のノードに設定されたデータの送信先とを交換する局所改善処理を行う、
通信状態変更方法。 
【請求項１４】
ＡＬＭ（Application Layer Multicast）配信木を構成する、通信端末としての複数の
ノードの少なくとも一部で行われるデータ通信の通信状態を動的に変更する通信状態変更方法であって、
前記複数のノードには、前記ＡＬＭ配信木におけるノードの位置によって、所定ノードから送信されるデータが前記複数のノードのうち前記所定ノード以外の全てのノードへ送信されるように、データの送信先が予め設定されており、
前記通信状態変更方法は、
前記ＡＬＭ配信木を構成する複数のノードにおいて、複数のグループを形成するための処理を行うステップと、
グループ分け条件が満たされる毎に、形成されているグループの数および各グループに対応するノードの数の少なくとも一方を変更するための処理を行うステップと、
２以上のノードに対応する複数のグループのうちの少なくとも２つのグループの各々において、ノードの位置の交換が必要なノードである変更必要ノードがある場合、前記変更必要ノードの位置と、該変更必要ノードに対応するグループに対応する他のノードの位置とを交換する局所改善処理を行うステップとを備える、
通信状態変更方法。 
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2010079736.tif 000026
【図２】
2010079736.tif 000027
【図３】
2010079736.tif 000028
【図４】
2010079736.tif 000029
【図５】
2010079736.tif 000030
【図６】
2010079736.tif 000031
【図７】
2010079736.tif 000032
【図８】
2010079736.tif 000033
【図９】
2010079736.tif 000034
【図１０】
2010079736.tif 000035
【図１１】
2010079736.tif 000036
【図１２】
2010079736.tif 000037
【図１３】
2010079736.tif 000038
【図１４】
2010079736.tif 000039
【図１５】
2010079736.tif 000040
【図１６】
2010079736.tif 000041
【図１７】
2010079736.tif 000042
【図１８】
2010079736.tif 000043
【図１９】
2010079736.tif 000044
【図２０】
2010079736.tif 000045
【図２１】
2010079736.tif 000046
【図２２】
2010079736.tif 000047
【図２３】
2010079736.tif 000048
【国際調査報告】
2010079736.tif 000049
2010079736.tif 000050
2010079736.tif 000051
2010079736.tif 000052