(57)【要約】【課題】  複数のノード装置に情報を送信する際に、情報を送信するノード装置等の負担を軽減した情報通信システム等を提供する。【解決手段】  通信経路を介して互いに接続された複数のノード装置の参加により形成された情報通信システムにおいて、あるノード装置Ｘは、複数のノード装置が所定の規則（例えば、ＤＨＴ）に従って複数（４つ）のグループに分けられた各グループに含まれる代表のノード装置を決定し、決定されたノード装置Ａ，Ｂ，Ｃに向けて主情報を送信し、他のノード装置から受信した主情報が自ノード装置を含むグループ宛の場合には、自ノード装置が属するグループの代表のノード装置に向けて、同様に受信した主情報を送信する。【選択図】  図７
2007053662.tif 000002
【特許請求の範囲】
【請求項１】
通信経路を介して互いに接続された複数のノード装置の参加により形成された情報通信システムであって、
前記複数のノード装置に含まれる一のノード装置は、
前記複数のノード装置が所定の規則に従って複数のグループに分けられた各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて送信すべき主情報を送信する情報送信手段と、
他の前記ノード装置から受信した前記主情報が自ノード装置を含むグループ宛の場合には、自ノード装置が属する前記グループが前記所定の規則に従ってさらに複数のグループに分けられた各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて受信した前記主情報を送信する情報転送手段と、
を有することを特徴とする情報通信システム。
【請求項２】
通信経路を介して互いに接続された複数のノード装置の参加により形成された情報通信システムにおける情報通信方法であって、
前記複数のノード装置に含まれる一のノード装置が、前記複数のノード装置が所定の規則に従って複数のグループに分けられた各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて送信すべき主情報を送信する工程、
他の前記ノード装置から受信した前記主情報が自ノード装置を含むグループ宛の場合には、自ノード装置が属する前記グループが前記所定の規則に従ってさらに複数のグループに分けられた各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて受信した前記主情報を送信する工程、
を有することを特徴とする情報通信方法。
【請求項３】
通信経路を介して互いに接続された複数のノード装置の参加により形成された情報通信システムに含まれるノード装置であって、
前記複数のノード装置が所定の規則に従って複数のグループに分けられた各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて送信すべき主情報を送信する情報送信手段と、
他の前記ノード装置から受信した前記主情報が自ノード装置を含むグループ宛の場合には、自ノード装置が属する前記グループが前記所定の規則に従ってさらに複数のグループに分けられた各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて受信した前記主情報を送信する情報転送手段と、
を有することを特徴とするノード装置。
【請求項４】
請求項３に記載のノード装置であって、
前記所定の規則に従い、前記情報通信システムに含まれる前記ノード装置を複数のグループに分けて、当該グループからなる一の段階のグループ群を記憶し、前記段階の前記グループ群における自ノード装置が属する前記グループをさらに複数のグループに分けて、当該グループからなる次段階のグループ群を記憶し、分けられた前記グループに応じて所定数の段階毎に前記グループ群を記憶し、前記自ノード装置及び他の前記ノード装置の宛先を示す宛先情報を前記グループと対応づけて記憶する記憶手段を備え、
前記情報送信手段は、前記記憶手段に記憶された前記ノード装置であって、所定の段階の前記グループ群の各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて前記主情報を送信し、
前記情報転送手段は、前記記憶手段に記憶された前記ノード装置であって、自ノード装置が属する前記グループの段階の次段階の前記グループ群の各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて受信した前記主情報を送信することを特徴とするノード装置。
【請求項５】
請求項４に記載のノード装置であって、
前記情報転送手段は、前記記憶手段に記憶された前記ノード装置であって、自ノード装置が属する前記グループの段階の次段階よりも下位の段階の前記グループ群の各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて受信した前記主情報を送信することを特徴とするノード装置。
【請求項６】
請求項４又は５に記載のノード装置であって、
前記記憶手段は、前記所定の規則として分散ハッシュテーブルを利用して、前記グループ群と、前記自ノード装置及び他の前記ノード装置の前記宛先情報と、を記憶することを特徴とするノード装置。
【請求項７】
請求項４乃至６のいずれかに記載のノード装置であって、
前記情報送信手段は、前記記憶手段が記憶している前記グループ群の前記段階を示す送信グループ特定値を前記主情報に付し、前記送信グループ特定値に対応する段階の前記グループ群に含まれる前記グループに属する他の前記ノード装置に前記主情報を送信し、
前記情報転送手段は、他の前記ノード装置から受信した前記主情報の前記送信グループ特定値が自ノード装置を含むグループ宛の場合には、受信した前記主情報に付された前記送信グループ特定値を次の段階を示す送信グループ特定値に変換し、変換後の前記送信グループ特定値を前記主情報に付し、且つ、変換後の前記送信グループ特定値に対応する段階の前記グループ群に属する他の前記ノード装置に前記主情報を送信することを特徴とするノード装置。
【請求項８】
請求項７に記載のノード装置であって、
前記情報転送手段は、自ノード装置が属する前記グループの段階の次段階よりも下位の段階の前記グループ群の各前記グループに含まれる一の前記ノード装置に向けて受信した前記主情報を送信する場合には、受信した前記主情報の前記送信グループ特定値を前記次段階よりも下位の段階を示す送信グループ特定値に変換し、変換後の前記送信グループ特定値を前記主情報に付し、変換後の前記送信グループ特定値に対応する段階の前記グループ群に属する他の前記ノード装置に前記主情報を送信することを特徴とするノード装置。
【請求項９】
請求項７又は８に記載のノード装置であって、
前記情報送信手段は、前記送信グループ特定値に対応する識別情報であって、特定の前記ノード装置に固有の前記識別情報又はこれと同等の前記識別情報を前記主情報に付して前記主情報を送信し、
前記情報転送手段は、受信した前記主情報に付された前記識別情報を自ノード装置の前記識別情報に変換し、変換後の前記識別情報を、変換後の前記送信グループ特定値とともに前記主情報に付して前記主情報を送信することを特徴とするノード装置。
【請求項１０】
請求項９に記載のノード装置であって、
前記情報送信手段又は前記情報転送手段の少なくともいずれか一は、前記主情報の転送回数の上限値を示す転送回数上限情報を前記主情報に付し、前記記憶手段が他の前記ノード情報の前記宛先情報を記憶していない前記グループに属する他の前記ノード装置に向けて前記主情報を送信し、
さらに、他の前記ノード装置から受信した前記主情報の前記送信グループ特定値に対応する段階のグループが自ノード装置を含む場合に、前記主情報に対する処理を行う処理手段と、
前記転送回数上限情報が付された前記主情報を受信し、かつ、当該主情報が自ノード装置に向けたものでない場合には、受信した前記主情報の転送された回数を認定し、認定した前記転送された回数が前記転送回数上限情報に対応する上限値以下である場合には、当該他の前記ノード装置に向けて前記主情報を送信する転送回数制限手段と、
を有することを特徴とするノード装置。
【請求項１１】
コンピュータを、請求項３乃至１０のいずれか一項に記載のノード装置として機能させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに接続された複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型の情報通信システム及び方法等の技術分野に関する。
【背景技術】
【０００２】
ネットワークに属する複数の端末装置に同じ情報を送信する場合に、通常は、送信元の端末装置が送信先の端末装置の台数分だけ当該情報の複製を作成し、複製された情報を当該端末装置に送信している。
【０００３】
また、そうした送信先の複数の端末装置に対応するルータを介することにより、情報を送信する端末装置は、一の情報を送信し、ルータによって宛先の分岐点で複製が作成され、複数の端末装置に情報が送信される技術（ＩＰマルチキャスト）が知られている（例えば、特許文献１参照）。この技術は、情報を送信する端末装置の負担が軽減されるものである。
【０００４】
さらに、端末装置をグループ分けして、各グループにグループ管理サーバを設け、各グループに一つずつの情報を送信することにより、当該各グループに属する全ての端末装置に当該情報を送信される技術が知られている（例えば、特許文献２参照）。
【０００５】
一方、近年、ピアツーピアという技術が注目されてきている。ピアツーピア型の情報通信システムにおいて、例えば、分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用して論理的に構築されたオーバーレイネットワークでは、各ノード装置が、当該オーバーレイネットワークに参加している全てのノード装置へのリンク情報（例えば、ＩＰアドレス）を認識しているわけではなく、参加の際などに得られる一部のノード装置へのリンク情報だけを保持しており、かかるリンク情報に基づき、データの問い合わせ等を行うようになっている。
【０００６】
このようなオーバーレイネットワークにおいては、ノード装置の参加及び脱退（離脱）が頻繁に行われても、負荷分散が適切に行われる必要があり、非特許文献１には、オーバーレイネットワークにおいて、参加及び脱退（離脱）が頻繁に行われる場合であっても、適切に負荷分散を行うための技術が開示されている。
【特許文献１】特開２０００−４９８２２号公報
【特許文献２】特開２００２−３４４４７７号公報（図９）
【非特許文献１】「分散ハッシュテーブルの軽量な負荷分散手法の検討」  社団法人  電子情報通信学会  信学技報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
情報を送信する端末装置が自ら情報の複製を作成する態様においては、送信先の端末装置が著しく多い場合、通信トラフィックが多くなる他、情報を送信する端末装置の負担も増大する。
【０００８】
また、経路上で情報の複製を作成できる特殊なルータを用いて情報を送信する場合には、端末装置は送信する情報の複製を作成せずに済むが、情報が送信される経路上の全てのルータが上述した機能（ＩＰマルチキャスト機能）に対応していなければならないという不都合がある。
【０００９】
さらに、グループの管理サーバを用いる場合には、管理サーバがグループに属する端末装置の管理をする負担があるとともに、各グループに管理サーバを配置するというシステム全体を管理するための負担が発生する。
【００１０】
本発明は、以上の不都合に鑑みてなされたものであり、ネットワークを介して互いに接続された複数のノード装置を備えたピアツーピア型の情報通信システム及び方法等において、一のノード装置が複数の他のノード装置に情報を送信する（いわゆるマルチキャスト送信）際に、上述の不都合を解消し、情報を送信するノード装置等の負担を軽減した情報通信システム及び方法等を提供することを課題とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、請求項１に記載の発明は、通信経路を介して互いに接続された複数のノード装置の参加により形成された情報通信システムであって、前記複数のノード装置に含まれる一のノード装置は、前記複数のノード装置が所定の規則に従って複数のグループに分けられた各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて送信すべき主情報を送信する情報送信手段と、他の前記ノード装置から受信した前記主情報が自ノード装置を含むグループ宛の場合には、自ノード装置が属する前記グループが前記所定の規則に従ってさらに複数のグループに分けられた各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて受信した前記主情報を送信する情報転送手段と、を有することを特徴とする情報通信システムである。
【００１２】
これによれば、情報通信システムにおいて、一のノード装置が主情報（例えば、プログラムの更新のための更新情報（プログラム）、メッセージを含むテキスト情報等の各種情報）を送信したいグループに含まれる一のノード装置、すなわち当該グループの代表となるノード装置に主情報を送信することにより、当該主情報を受信したノード装置は、受信した前記主情報が自ノード装置を含むグループ宛の場合には、さらに分けたグループの代表となるノード装置に主情報を転送する。そのため、あるノード装置が複数のノード装置に主情報を送信する際に、ルータや管理サーバ等を要さずにシステム全体の構成が簡易になるとともに、主情報を送信するノード装置等の負担を軽減することができる。また、ノード装置が主情報を送信するグループを決めておくことにより、そのグループのみ、または、全てのグループにおける全てのノード装置に同一の主情報を送信することができる。
【００１３】
上記課題を解決するために、請求項２に記載の発明は、通信経路を介して互いに接続された複数のノード装置の参加により形成された情報通信システムにおける情報通信方法であって、前記複数のノード装置に含まれる一のノード装置が、前記複数のノード装置が所定の規則に従って複数のグループに分けられた各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて送信すべき主情報を送信する工程、他の前記ノード装置から受信した前記主情報が自ノード装置を含むグループ宛の場合には、自ノード装置が属する前記グループが前記所定の規則に従ってさらに複数のグループに分けられた各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて受信した前記主情報を送信する工程、を有することを特徴とする情報通信方法である。
【００１４】
上記課題を解決するために、請求項３に記載の発明は、通信経路を介して互いに接続された複数のノード装置の参加により形成された情報通信システムに含まれるノード装置であって、前記複数のノード装置が所定の規則に従って複数のグループに分けられた各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて送信すべき主情報を送信する情報送信手段と、他の前記ノード装置から受信した前記主情報が自ノード装置を含むグループ宛の場合には、自ノード装置が属する前記グループが前記所定の規則に従ってさらに複数のグループに分けられた各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて受信した前記主情報を送信する情報転送手段と、を有することを特徴とするノード装置である。
【００１５】
これによれば、あるノード装置が複数のノード装置に主情報を送信する際に、ルータや管理サーバ等を要さずにシステム全体の構成が簡易になるとともに、主情報を送信するノード装置等の負担を軽減することができる、情報通信システムにおけるノード装置を提供できる。
【００１６】
上記課題を解決するために、請求項４に記載の発明は、請求項３に記載のノード装置であって、前記所定の規則に従い、前記情報通信システムに含まれる前記ノード装置を複数のグループに分けて、当該グループからなる一の段階のグループ群を記憶し、前記段階の前記グループ群における自ノード装置が属する前記グループをさらに複数のグループに分けて、当該グループからなる次段階のグループ群を記憶し、分けられた前記グループに応じて所定数の段階毎に前記グループ群を記憶し、前記自ノード装置及び他の前記ノード装置の宛先を示す宛先情報を前記グループと対応づけて記憶する記憶手段を備え、前記情報送信手段は、前記記憶手段に記憶された前記ノード装置であって、所定の段階の前記グループ群の各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて前記主情報を送信し、前記情報転送手段は、前記記憶手段に記憶された前記ノード装置であって、自ノード装置が属する前記グループの段階の次段階の前記グループ群の各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて受信した前記主情報を送信することを特徴とするノード装置である。
【００１７】
これによれば、ノード装置が記憶している各グループ群（例えば、ピアツーピア型の通信システムにおけるＤＨＴのノードＩＤにおいて、桁数毎の領域をグループ群とし、各桁数の進数毎の領域を一グループとする）やこれに属するノード装置のノード情報（ＩＰアドレス）、識別情報（ノードＩＤ）に従い、一のノード装置が主情報を送信したいグループに含まれる一のノード装置、すなわち当該グループの代表となるノード装置に主情報を送信することとなる。そして、上述のように主情報を転送できるため、あるノード装置が複数のノード装置に主情報を送信する際に、ルータや管理サーバ等を要さずにシステム全体の構成が簡易になるとともに、主情報を送信するノード装置等の負担を軽減することができる。また、ノード装置が主情報を送信するグループを決めておくことにより、そのグループのみ、または、全てのグループにおける全てのノード装置に同一の主情報を送信することができる。
【００１８】
上記課題を解決するために、請求項５に記載の発明は、請求項４に記載のノード装置であって、前記情報転送手段は、前記記憶手段に記憶された前記ノード装置であって、自ノード装置が属する前記グループの段階の次段階よりも下位の段階の前記グループ群の各前記グループに含まれる一の前記ノード装置を決定し、決定された全ての前記ノード装置に向けて受信した前記主情報を送信することを特徴とするノード装置である。
【００１９】
これによれば、主情報を受信したノード装置は、さらに下位の段階のグループ群に属するグループのノード装置に主情報を送信するため、より多くのノード装置に同一の主情報を送信できることとなる。
【００２０】
上記課題を解決するために、請求項６に記載の発明は、請求項４又は５に記載のノード装置であって、前記記憶手段は、前記所定の規則として分散ハッシュテーブルを利用して、前記グループ群と、前記自ノード装置及び他の前記ノード装置の前記宛先情報と、を記憶することを特徴とするノード装置である。
【００２１】
これによれば、具体的に、分散ハッシュテーブル（ＤＨＴ）を用いることにより、各段階、すなわち、ノードＩＤにおける各桁数の領域（グループ、グループ群）に属する複数のノード装置に対してノード装置は主情報を送信することができる。また、ＤＨＴを利用して、所定の段階のグループ群や所定のグループのノード装置のみに対して主情報を送信することも可能となる。
【００２２】
上記課題を解決するために、請求項７に記載の発明は、請求項４乃至６のいずれかに記載のノード装置であって、前記情報送信手段は、前記記憶手段が記憶している前記グループ群の前記段階を示す送信グループ特定値を前記主情報に付し、前記送信グループ特定値に対応する段階の前記グループ群に含まれる前記グループに属する他の前記ノード装置に前記主情報を送信し、前記情報転送手段は、他の前記ノード装置から受信した前記主情報の前記送信グループ特定値が自ノード装置を含むグループ宛の場合には、受信した前記主情報に付された前記送信グループ特定値を次の段階を示す送信グループ特定値に変換し、変換後の前記送信グループ特定値を前記主情報に付し、且つ、変換後の前記送信グループ特定値に対応する段階の前記グループ群に属する他の前記ノード装置に前記主情報を送信することを特徴とするノード装置である。
【００２３】
これによれば、あるノード装置は、送信グループ特定値（ＩＤマスク）により送信先のグループ群の段階を特定して、主情報を送信することができ、当該主情報を受信したノード装置がＩＤマスクにより特定されるグループ群に主情報を転送することとなる。そのため、ＩＤマスクを用いることにより、所定の段階のグループ群や所定のグループのノード装置のみに対して主情報を送信することができるとともに、システムに含まれる全てのノード装置に対して主情報を送信することもできる。
【００２４】
上記課題を解決するために、請求項８に記載の発明は、請求項７に記載のノード装置であって、前記情報転送手段は、自ノード装置が属する前記グループの段階の次段階よりも下位の段階の前記グループ群の各前記グループに含まれる一の前記ノード装置に向けて受信した前記主情報を送信する場合には、受信した前記主情報の前記送信グループ特定値を前記次段階よりも下位の段階を示す送信グループ特定値に変換し、変換後の前記送信グループ特定値を前記主情報に付し、変換後の前記送信グループ特定値に対応する段階の前記グループ群に属する他の前記ノード装置に前記主情報を送信することを特徴とするノード装置である。
【００２５】
これによれば、主情報を受信したノード装置は、ＩＤマスクを利用して、さらに下位の段階のグループ群に属するグループのノード装置に主情報を送信するため、より多くのノード装置に同一の主情報を送信できることとなる。
【００２６】
上記課題を解決するために、請求項９に記載の発明は、請求項７又は８に記載のノード装置であって、前記情報送信手段は、前記送信グループ特定値に対応する識別情報であって、特定の前記ノード装置に固有の前記識別情報又はこれと同等の前記識別情報を前記主情報に付して前記主情報を送信し、前記情報転送手段は、受信した前記主情報に付された前記識別情報を自ノード装置の前記識別情報に変換し、変換後の前記識別情報を、変換後の前記送信グループ特定値とともに前記主情報に付して前記主情報を送信することを特徴とするノード装置である。
【００２７】
これによれば、ＩＤマスクと併せて識別情報（ノードＩＤと同等のターゲットノードＩＤ）を主情報に付して送信するため、これらを利用してターゲットとなる複数のノード装置に主情報を送信、転送することができる。具体的には、主情報を送信するノード装置や、主情報を受信したノード装置は、ＩＤマスクによりＤＨＴの桁数の位置を特定し、当該桁数により、特定され又は変換されたターゲットノードＩＤと該当桁数を共通にするノードＩＤを有する他のノード装置に対し、主情報を送信することができる。主情報を転送するノード装置において、このＩＤマスクとターゲットＩＤとを順次変換していくことにより、情報通信システムに含まれる全てのノード装置に主情報を送信することが可能となる。
【００２８】
上記課題を解決するために、請求項１０に記載の発明は、請求項９に記載のノード装置であって、前記情報送信手段又は前記情報転送手段の少なくともいずれか一は、前記主情報の転送回数の上限値を示す転送回数上限情報を前記主情報に付し、前記記憶手段が他の前記ノード情報の前記宛先情報を記憶していない前記グループに属する他の前記ノード装置に向けて前記主情報を送信し、さらに、他の前記ノード装置から受信した前記主情報の前記送信グループ特定値に対応する段階のグループが自ノード装置を含む場合に、前記主情報に対する処理を行う処理手段と、前記転送回数上限情報が付された前記主情報を受信し、かつ、当該主情報が自ノード装置に向けたものでない場合には、受信した前記主情報の転送された回数を認定し、認定した前記転送された回数が前記転送回数上限情報に対応する上限値以下である場合には、当該他の前記ノード装置に向けて前記主情報を送信する転送回数制限手段と、を有することを特徴とするノード装置である。
【００２９】
これによれば、ノード装置は、宛先情報（ＩＰアドレス）を記憶していない他のノード装置に向けて、ノードＩＤ（記憶していないため、無作為に決定する。）を手掛かりとして主情報を送信でき、また、当該ノードＩＤに対応するノード装置が存在しない場合でも、転送回数を制限されていることにより、主情報が転送され続けることを防止することができる。また、他のノード装置から受信した主情報が自ノード装置を含むグループ宛である場合に、当該主情報（例えば、プログラムを更新すべき旨の情報）に対し、処理（例えば、上記主情報に対し、プログラムの更新を実行する処理）を行うことができる。
【００３０】
上記課題を解決するために、請求項１１に記載の発明は、コンピュータを、請求項３乃至１０のいずれか一項に記載のノード装置として機能させることを特徴とする情報処理プログラムである。
【発明の効果】
【００３１】
本発明によれば、あるノード装置が複数のノード装置に情報を送信する際に、ルータや管理サーバ等を要さずにシステム全体の構成が簡易になるとともに、情報を送信するノード装置等の負担を軽減することができる。また、ノード装置が情報を送信するグループを決めておくことにより、そのグループのみ、または、全てのグループにおける全てのノード装置に同一の情報を送信することができる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、ＤＨＴ、送信先グループ特定値（ＩＤマスク）及び識別情報（ターゲットＩＤ）を利用して主情報を全てのノード装置に送信する情報通信システムに本発明を適用した場合の実施形態である。
【００３３】
［１．情報通信システムの構成等］
始めに、図１を参照して、情報通信システムの概要構成等について説明する。
【００３４】
図１は、本実施形態に係る情報通信システムにおける各ノード装置の接続態様の一例を示す図である。
【００３５】
図１の下部枠１０１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、および通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界のネットワーク）８が構築されている。
【００３６】
情報通信システムＳは、このようなネットワーク８を介して相互に接続された複数のノード装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・を備えて構成されることになり、ピアツーピア方式のネットワークシステムとなっている。各ノード装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・には、ノード装置を示す情報（本発明におけるノード情報）としての固有の製造番号およびＩＰ（Internet Protocol）アドレスが割り当てられている。なお、製造番号およびＩＰアドレスは、複数のノード装置１間で重複しないものである。なお、以下の説明において、ノード装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・のうち何れかのノード装置を示す場合には、便宜上、ノード装置１という場合がある。
【００３７】
［１．１．ＤＨＴの概要］
以下に、本実施形態に係る分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用したアルゴリズムについて説明する。
【００３８】
上述した情報通信システムＳにおいて、当該ノード装置１同士が、互いに情報をやり取りする際には、お互いのノード情報としてのＩＰアドレスを知っていなければならない。
【００３９】
例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク８に参加している各ノード装置１が互いにネットワーク８に参加している全てのノード装置１のＩＰアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全てのノード装置１のＩＰアドレスを覚えておくのは現実的ではない。また、任意のノード装置の電源がＯＮ或いはＯＦＦとすると、各ノード装置１にて記憶している当該任意のノード装置のＩＰアドレスの更新が頻繁になり、運用上困難となる。
【００４０】
そこで、１台のノード装置１では、ネットワーク８に参加している全てのノード装置１のうち、必要最低限のノード装置１のＩＰアドレスだけを覚えて（記憶して）おいて、ＩＰアドレスを知らない（記憶していない）ノード装置１については、各ノード装置１間で互いに情報を転送し合って届けてもらうというシステムが考案されている。
【００４１】
このようなシステムの一例として、ＤＨＴを利用したアルゴリズムによって、図１の上部枠１００内に示すような、オーバレイネットワーク９が構築されることになる。つまり、このオーバレイネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するネットワークを意味する。
【００４２】
本実施形態においては、ＤＨＴを利用したアルゴリズムによって構築されたオーバレイネットワーク９を前提としており、このオーバレイネットワーク９上に配置されたノード装置１を、情報通信システムＳに参加（言い換えれば、オーバレイネットワーク９に参加）しているノード装置１という。なお、情報通信システムＳへの参加は、未だ参加していないノード装置が、既に参加している任意のノード装置１に対して参加要求を送ることによって行われる。
【００４３】
情報通信システムＳに参加している各ノード装置１のノードＩＤ（識別情報）は、それぞれのノード装置毎にユニーク（固有）な番号を付与する。この番号は、ノード装置の最大運用台数を収容できるだけのｂｉｔ数を持たせる必要がある。例えば、１２８ｂｉｔの番号とすれば、2＾128＝340×10＾36台のノード装置を運用できる。
【００４４】
より具体的には、各ノード装置１のノードＩＤは、それぞれのノード装置のＩＰアドレスあるいは製造番号等のノード装置毎に固有の値を、共通のハッシュ関数（ハッシュアルゴリズム）によりハッシュ化して得たハッシュ値であり、一つのＩＤ空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数により求められた（ハッシュ化された）ノードＩＤは、当該ＩＰアドレスあるいは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。なお、本実施形態では、ＩＰアドレス（グローバルＩＰアドレス；宛先情報）を共通のハッシュ関数によりハッシュ化した値をノードＩＤとする。
【００４５】
［１．２．ルーティングテーブルの作成］
図２を参照して、ＤＨＴで用いるルーティングテーブルの作成手法の一例について説明する。図２は、ＤＨＴによってルーティングテーブルが作成される様子の一例を示す図である。
【００４６】
各ノード装置１に付与されたノードＩＤは、共通のハッシュ関数によって生成したため、図２（Ａ）乃至図２（Ｃ）に示す如く、同一のリング状のＩＤ空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は８ｂｉｔでノードＩＤを付与し、図示したものである。図中黒点はノードＩＤを示し、反時計回りでＩＤが増加するものとする。
【００４７】
まず、図２（Ａ）に示す如く、ＩＤ空間を幾つかのエリアに分割する。実際には、１６分割程度が良く用いられるが、説明を簡単にするためここでは４分割とし、ＩＤをビット長８Ｂｉｔの４進数で表すこととした。そして、ノード装置１ＮのノードＩＤを「1023」とし、このノード装置１Ｎのルーティングテーブルを作る例について説明する。
【００４８】
（レベル１のルーティング）
まず、ＩＤ空間を４分割とすると、それぞれのエリアは４進数で表すと最大桁が異なる４つのエリア「0XXX」「1XXX」、「2XXX」、「3XXX」（Ｘは０から３の整数、以下同様。）で分けられる。ノード装置１Ｎは、当該ノード装置１Ｎ自身のノードＩＤが「1023」であるため、図中左下「1XXX」のエリアに存在することになる。そして、ノード装置１Ｎは、自分の存在するエリア（すなわち、「1XXX」のエリア）以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤのＩＰアドレスをレベル１のテーブルに記憶する。図３（Ａ）がレベル１のテーブルの一例である。２列目はノード装置１Ｎ自身を示しているため、ＩＰアドレスを記憶する必要は無い。
【００４９】
（レベル２のルーティング）
次に、図２（Ｂ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリアを更に４分割し、更に４つのエリア「10XX」「11XX」、「12XX」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤのＩＰアドレスをレベル２のテーブルに記憶する。図３（Ｂ）がレベル２のテーブルの一例である。１列目はノード装置１Ｎ自身を示しているため、ＩＰアドレスを記憶する必要は無い。
【００５０】
（レベル３のルーティング）
さらに、図２（Ｃ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリアを更に４分割し、更に４つのエリア「100X」「101X」、「102X」、「103X」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤのＩＰアドレスをレベル１のテーブルに記憶する。図３（Ｃ）がレベル３のテーブルの一例である。３列目はノード装置１Ｎ自身を示しているため、ＩＰアドレスを記憶する必要は無く、２列目、４列目はそのエリアにノード装置が存在しないため空白となる。
【００５１】
このようにして、レベル４まで同様にルーティングテーブルを図３（Ｄ）に示す如く作成することにより、８ｂｉｔのＩＤ全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
【００５２】
以上説明した手法に従って作成したルーティングテーブルを、全てのノード装置１が夫々作成して所有することになる。このように、ノード装置１は、他のノード装置１の宛先情報としてのＩＰアドレスと、グループ・グループ群としてのノードＩＤ空間のエリア、すなわちＤＨＴの各レベル及び各列と、を対応付けて記憶している。
【００５３】
なお、ノードＩＤの桁数に応じてレベルの数が決まり、進数の数に応じて図３（Ｄ）における各レベルの注目桁の数が決まる。具体的に、１６桁１６進数である場合には、６４ｂｉｔのＩＤとなり、レベル１６で注目桁の（英）数字は０〜ｆとなる。後述するルーティングテーブルの説明においては、各レベルの注目桁の数を示す部分を単に「列」ともいう。
【００５４】
［２．ノード装置の構成等］
次に、図４を参照して、ノード装置１の構成および機能について説明する。尚、各ノード装置１は、それぞれが行う処理によって初めに主情報を送信するノード装置１、受信した主情報を転送するノード装置１等として作用するが、その構成は同じである。
【００５５】
図４は、ノード装置１の概要構成例を示す図である。
【００５６】
各ノード装置１は、図４に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データおよびプログラムを記憶するＲＯＭ等から構成されたコンピュータとしての制御部１１と、コンテンツデータ、インデックス情報、上記ＤＨＴおよびプログラム等を記憶保存（格納）するためのＨＤ等から構成された記憶手段としての記憶部１２（上記コンテンツデータは、保存されていないノード装置１もある）と、受信されたコンテンツデータ等を一時蓄積するバッファメモリ１３と、コンテンツデータに含まれるエンコードされたビデオデータ（映像情報）およびオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）するデコーダ部１４と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部１５と、当該映像処理部１５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等の表示部１６と、上記デコードされたオーディオデータをアナログオーディオ信号にＤ（Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音声処理部１７と、当該音声処理部１７から出力されたオーディオ信号を音波として出力するスピーカ１８と、ネットワーク８を通じて他のノード装置１との間の情報の通信制御を行うための通信部２０と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部１１に対して与える入力部（例えば、キーボード、マウス、或いは、操作パネル等）２１と、を備えて構成され、制御部１１、記憶部１２、バッファメモリ１３、デコーダ部１４および通信部２０はバス２２を介して相互に接続されている。
【００５７】
そして、制御部１１におけるＣＰＵが記憶部１２等に記憶された各種プログラムを実行することにより、ノード装置１全体を統括制御するようになっており、また、入力部２１からの指示信号に応じて、コンテンツデータ登録処理等を行うようになっている。ノード装置１は、実行されるプログラムに応じて、元の主情報を送信するノード装置、主情報を受信して転送するノード装置等として機能する。具体的には、ノード装置１の制御部１１は、情報送信手段、情報転送手段、処理手段、転送回数制限手段、として機能する。
【００５８】
［３．情報通信システムの概略］
本実施形態の情報通信システムＳの概略を説明する。本実施形態の情報通信システムＳは、一のノード装置１が主情報をシステムＳ内の全てのノード装置１若しくは特定のグループのノード装置１に送信するものである。具体的に、一のノード装置１（Ｘ）が、ノードＩＤ空間を複数に分けた各グループの代表である各ノード装置１（ＩＰアドレスを記憶しているノード装置）を決定し、当該ノード装置１に主情報を送信する（後述の図７乃至図１０参照）。そして、当該主情報を受信した各ノード装置１がさらに自ノード装置が属するノードＩＤ空間（グループ）をさらに複数に分けた各グループの代表である各ノード装置１を決定し、当該ノード装置１に主情報を送信（転送）する（後述の図８乃至図１０参照）。各ノード装置１がこのような動作を行うことにより、情報通信システムＳに属する全てのノード装置に主情報を送信することができることとなる。
【００５９】
［３．１第一実施形態の情報通信システムの動作］
次に、第一実施形態の情報通信システムＳの動作について図５乃至図１２を用いて説明する。
【００６０】
［３．１．１．情報通信システム全体の動作］
以下に、図５乃至図１０を参照して、第一実施形態の情報通信システム全体の動作について説明する。
【００６１】
一のノード装置１をノードＸとし、ノードＸが図５に示す４桁４進数からなるルーティングテーブルを保持していることが前提となる。このルーティングテーブルに示すように、レベル１〜４のいずれかのグループ群のグループに属するノードＡ〜ノードＩのＩＰアドレス（宛先情報）を、ノードＸが記憶している。
【００６２】
ノードＸが主情報を送信することとなるが、図６（Ａ）に示すように、当該主情報のヘッダ部分には、識別情報としてのターゲットノードＩＤ、及び、送信グループ特定値としてのＩＤマスクが含まれている。図６（Ａ）に示すように、主情報とヘッダ部分からなるものを以下においてパケットという。
【００６３】
ターゲットノードＩＤは、ノードＩＤと同等の４桁４進数である。ノードＸが他の全てのノード装置１に主情報を送信する際には、ノードＸが付するターゲットノードＩＤは、後述するようにどのようなものであってもよいが、通常は、自ノード装置のノードＩＤとする。また、主情報を転送することとなるノード装置１が付するターゲットノードＩＤは、自ノード装置のノードＩＤとする。なお、一のノード装置１に主情報を送信する場合には、送信先のノード装置１に対応するノードＩＤをターゲットノードＩＤとする。
【００６４】
ＩＤマスクは、ターゲットノードＩＤの有効桁数を指定するものであり、有効桁数により、ターゲットノードＩＤにおける上位から有効桁数分が共通するノードＩＤが示される。このようなＩＤマスクの性質より、本実施形態においてはＩＤマスクの値は０〜４であり、ルーティングテーブルの桁数が異なる場合には、０（ゼロ）以上かつルーティングテーブルの最大桁数以下の整数となる。なお、主情報に付されたＩＤマスクにより、ルーティングテーブルにおいて、ＩＤマスクの値＋１のレベルに登録されている各ノード装置１に情報が送信されることとなる。
【００６５】
次いで、ターゲットノードＩＤとＩＤマスクとの組み合わせについて説明する。
【００６６】
例えば、図６（Ｂ）に示すように、ターゲットノードＩＤが「２１３２」であり、ＩＤマスクが「４」の場合には、ターゲットノードＩＤの「４」桁全てが有効であり、ノードＩＤが「２１３２」であるノード装置１のみに向けて主情報を含むパケットが送信されることとなる。
【００６７】
また、図６（Ｃ）に示すように、ターゲットノードＩＤが「３３０１」であり、ＩＤマスクが「２」の場合には、ターゲットノードＩＤの上位「２」が有効であり、ノードＩＤが「３３＊＊」であり上位二桁が「３３」である全てのノード装置１に向けて主情報を含むパケットが送信されることとなる。
【００６８】
さらに、図６（Ｄ）に示すように、ターゲットノードＩＤが「１２２０」であり、ＩＤマスクが「０」の場合には、ターゲットノードＩＤの上位「０」桁が有効、すなわち、いずれの桁も有効でなく、ノードＩＤが「＊＊＊＊」でありシステムＳ上の全てのノード装置１に向けて主情報を含むパケットが送信されることとなる。そのため、このときのターゲットノードＩＤは、どのような値であってもよい。
【００６９】
なお、詳述はしないが、パケットに含まれる主情報のヘッダ部分には、送信元のノードＸのノードＩＤや、ＩＰアドレス等の通常含まれる情報も含まれている。
【００７０】
次いで、図７乃至図１０を用いて、ターゲットノードＩＤとＩＤマスクを用いた主情報の送信・転送の動作について説明する。
【００７１】
（第１段階）
まず、ノードＸは、情報通信システムＳに参加する全てのノード装置１に主情報を送信したいため、主情報のヘッダ部分に、ターゲットノードＩＤとして自ノード装置のノードＩＤ「３１０２」を付し、ＩＤマスクとして「０」の値を付して、パケットを生成する。そして、図７（Ａ）、（Ｂ）に示すように、ノードＸが図５のルーティングテーブルを参照し、ＩＤマスクの値「０」に１を足したレベル「１」のグループに属する各ノード装置１（ノードＡ，Ｂ，Ｃ）にパケットを送信する。
【００７２】
（第２段階）
次いで、ノードＸは、送信したパケットの主情報に付したＩＤマスクの値「０」を、１を足した「１」に変換し、変換後のＩＤマスクを主情報に付してパケットを生成する。なお、ターゲットノードＩＤは、自ノード装置のノードＩＤであるため、変更しない。そして、ノードＸが図５のルーティングテーブルを参照し、図８（Ａ）のノードＩＤ空間の右上及び図８（Ｂ）に示すように、ＩＤマスクの値「１」に１を足したレベル「２」のグループに属する各ノード装置１（ノードＤ，Ｅ，Ｆ）に生成したパケットを送信する。
【００７３】
そして、第１段階において、ノードＸからパケットを受信したノードＡは、パケットの主情報に付されたＩＤマスクの値「０」を、１を足した「１」に変換し、変換後のＩＤマスクを主情報に付してパケットを生成する。また、ターゲットノードＩＤ「３１０２」を自ノード装置のノードＩＤ「０１３２」に変換し、変換後のターゲットノードＩＤを主情報に付してパケットを生成する。そして、ノードＡが図示しない自己のルーティングテーブルを参照し、図８（Ａ）のノードＩＤ空間の左上及び図８（Ｂ）に示すように、ＩＤマスクの値「１」に１を足したレベル「２」のグループに属する各ノード装置１（ノードＡ１，Ａ２，Ａ３）に生成したパケットを送信する。
【００７４】
同様にして、図８（Ａ）のノードＩＤ空間の左下、右下及び図８（Ｂ）に示すように、第１段階においてパケットを受信しているノードＢ、ノードＣも、夫々保持しているルーティングテーブルに従い、レベル２のグループに属する各ノード装置１（ノードＢ１，Ｂ２，Ｂ３，Ｃ１，Ｃ２，Ｃ３）に、ＩＤマスク「１」及び自ノード装置のノードＩＤをターゲットノードＩＤとして主情報に付してパケットを生成し、当該パケットを送信する。
【００７５】
（第３段階）
次いで、ノードＸは、送信したパケットの主情報に付したＩＤマスクの値「１」を、１を足した「２」に変換し、変換後のＩＤマスクを主情報に付してパケットを生成する。なお、ターゲットノードＩＤは、自ノード装置のノードＩＤであるため、変更しない。そして、ノードＸが図５のルーティングテーブルを参照し、図９（Ａ）のノードＩＤ空間の右上及び図９（Ｂ）に示すように、ＩＤマスクの値「２」に１を足したレベル「３」のグループに属する各ノード装置１（ノードＧ，Ｈ）に生成したパケットを送信する。
【００７６】
そして、第２段階において、ノードＸからパケットを受信したノードＤは、受信したパケットの主情報に付されたＩＤマスクの値「１」を、１を足した「２」に変換し、変換後のＩＤマスクを主情報に付してパケットを生成する。また、ターゲットノードＩＤ「３１０２」を自ノード装置のノードＩＤ「３００１」に変換し、変換後のターゲットノードＩＤを主情報に付してパケットを生成する。そして、ノードＤが図示しない自己のルーティングテーブルを参照し、図９（Ｂ）に示すように、ＩＤマスクの値「２」に１を足したレベル「３」のグループに属する各ノード装置１（ノードＤ１，Ｄ２，Ｄ３）に生成したパケットを送信する（図９（Ａ）のノードＩＤ空間には図示しない）。
【００７７】
同様にして、図示しないが、第２段階においてパケットを受信しているノードＥ，Ｆ，Ａ１，Ａ２，Ａ３，Ｂ１，Ｂ２，Ｂ３，Ｃ１，Ｃ２，Ｃ３も、夫々保持しているルーティングテーブルに従い、レベル３のグループに属する各ノード装置１に、ＩＤマスク「２」及び自ノード装置のノードＩＤをターゲットノードＩＤとして主情報に付してパケットを生成し、当該パケットを送信する。
【００７８】
（第４段階）
次いで、ノードＸは、送信したパケットの主情報に付したＩＤマスクの値「２」を、１を足した「３」に変換し、変換後のＩＤマスクを主情報に付してパケットを生成する。なお、ターゲットノードＩＤは、自ノード装置のノードＩＤであるため、変更しない。そして、ノードＸが図５のルーティングテーブルを参照し、図１０（Ａ）のノードＩＤ空間の右上及び図１０（Ｂ）に示すように、ＩＤマスクの値「３」に１を足したレベル「４」のグループに属するノード装置１（ノードＩ）に主情報を送信する。
【００７９】
そして、第３段階において、ノードＸからパケットを受信したノードＧは、受信したパケットの主情報に付されたＩＤマスクの値「２」を、１を足した「３」に変換し、変換後のＩＤマスクを主情報に付してパケットを生成する。また、ターゲットノードＩＤ「３１０２」を自ノード装置のノードＩＤ「３１２３」に変換し、変換後のターゲットノードＩＤを主情報に付してパケットを生成する。そして、ノードＧが図示しない自己のルーティングテーブルを参照し、図１０（Ｂ）に示すように、ＩＤマスクの値「３」に１を足したレベル「４」のグループに属する各ノード装置１（ノードＧ１のＩＰアドレスを記憶しているとする）に生成したパケットを送信する（図１０（Ａ）のノードＩＤ空間には図示しない）。
【００８０】
同様にして、図示しないが、上述のノードＥ，Ｆ，Ａ１，Ａ２，Ａ３，Ｂ１，Ｂ２，Ｂ３，Ｃ１，Ｃ２，Ｃ３から第３段階においてパケットを受信している各ノード装置１も、夫々保持しているルーティングテーブルに従い、レベル４のグループに属する各ノード装置１に、ＩＤマスク「３」及び自ノード装置のノードＩＤをターゲットノードＩＤとして主情報に付したパケットを生成し、当該パケットを送信する。
【００８１】
（最終段階）
次いで、ノードＸは、送信したパケットの主情報に付したＩＤマスクの値「３」を、１を足した「４」に変換し、変換後のＩＤマスクを主情報に付してパケットを生成する。なお、ターゲットノードＩＤは、自ノード装置のノードＩＤであるため、変更しない。そうすると、ターゲットノードＩＤとＩＤマスクから、当該パケットが自ノード装置宛であることを認識し、送信処理を終了する。
【００８２】
そして、第４段階において、ノードＸを含む各ノード装置１からパケットを受信した各ノード装置１も、受信したパケットの主情報に付されたＩＤマスクの値「３」を、１を足した「４」に変換し、変換後のＩＤマスクを主情報に付してパケットを生成する。また、ターゲットノードＩＤを自ノード装置のノードＩＤに変換し、変換後のターゲットノードＩＤを主情報に付してパケットを生成する。そうすると、ターゲットノードＩＤとＩＤマスクから、当該パケットが自ノード装置宛であることを認識し、送信処理を終了する。
【００８３】
なお、ノードＸは、情報通信システムＳに含まれる全てのノード装置１に主情報を知らしめるために送信しているため、パケットを受信した各ノード装置１は、主情報に対応した処理を行う。例えば、主情報がメッセージであるテキスト情報である場合には、当該メッセージを表わした画像を表示部１６に表示する処理を行い、主情報がプログラムの更新情報である場合には、当該プログラムを更新する処理を行う。
【００８４】
［３．１．２．ノード装置の動作］
次に、（１）一のノード装置１（上述のノードＸ）が主情報をシステムＳ内の全てのノード装置１に送信しようとする際の当該ノードＸで行われる処理（以下、情報送信処理という。）、及び、（２）当該ノードＸから主情報を含むパケットを受信した他のノード装置１（例えば、上述のノードＡ）で行われる処理（以下、情報転送処理という。）について図１１及び図１２を用いて詳細に説明する。
【００８５】
（１）情報送信処理
図１１を参照してノードＸの情報送信処理について説明する。なお、ノードＸは、上述のように、図５に示すルーティングテーブルを保持（記憶）しているものとする。
【００８６】
ノードＸの制御部１１は、自ノード装置が稼働している（すなわち、電源が入れられ、当該ノードＸの各種設定を初期化している）前提で、入力部２１や通信部２０等から、ある情報を情報通信システムＳに属する全てのノード装置１に送信すべき旨の指示があった場合に、情報送信処理を開始する（スタート）。
【００８７】
情報送信処理が開始されると、制御部１１は、パケットを生成する（ステップＳ１）。具体的には、パケットのターゲットノードＩＤを自己のノードＩＤ「３１０２」とし、パケットのＩＤマスクを「０」とし、パケットの主情報を送信したい上記情報として、パケットを生成する。
【００８８】
次いで、制御部１１は、パケットのＩＤマスクがルーティングテーブルの桁数（ノードＩＤの桁数、全レベル数）よりも小さいか否かを判断する（ステップＳ２）。このとき、ＩＤマスク「０」は、ルーティングテーブルの桁数「４」よりも小さいため、制御部１１は、パケットのＩＤマスクがルーティングテーブルの桁数よりも小さいと判断し（ステップＳ２ＹＥＳ）、ルーティングテーブルのレベル「パケットのＩＤマスク＋１」に登録されている全てのノード装置１に向けて生成したパケットを送信する（ステップＳ３）。具体的には、パケットのＩＤマスク「０」＋１のレベル１の段階のノード装置１である、ノードＡ、ノードＢ、ノードＣに向けてパケットを送信する。
【００８９】
次いで、制御部１１は、パケットのＩＤマスクを「パケットのＩＤマスク＋１」の値に変換する（ステップＳ４）。具体的には、パケットのＩＤマスク「０」＋１である「１」にＩＤマスクを変換して、パケットを再生成する。次いで、上述のステップＳ２に戻る。
【００９０】
その後、制御部１１は、ＩＤマスク「１」、「２」、「３」について同様にステップＳ２、Ｓ３、Ｓ４を繰り返し、ルーティングテーブルに記憶されているノードＤ、ノードＥ、ノードＦ、ノードＧ、ノードＨ、ノードＩに向けてパケットを送信する。このように、ステップＳ２〜Ｓ４を繰り返すことにより、ルーティングテーブルにおける１〜４の各レベルのノード装置１に対してパケットを送信できることとなる。
【００９１】
次いで、制御部１１は、パケットのＩＤマスクを「３」から１足した「４」に変換してパケットを再生成し（ステップＳ４）、上述のステップＳ２に戻る。
【００９２】
このとき、ＩＤマスク「４」は、ルーティングテーブルの桁数「４」よりも小さくないため、制御部１１は、パケットのＩＤマスクがルーティングテーブルの桁数よりも小さくないと判断し（ステップＳ２ＮＯ）、動作を終了する（エンド）。
【００９３】
（２）情報転送処理
図１２を参照してノードＡの情報転送処理について説明する。なお、ノードＡの保持（記憶）するルーティングテーブルは、図示しない。
【００９４】
ノードＡの制御部１１は、自ノード装置が稼働している（すなわち、電源が入れられ、当該ノードＡの各種設定を初期化している）前提で、例えば上述のノードＸから通信部２０等を介してパケットを受信した場合に、情報転送処理を開始する（スタート）。受信したパケットには、図７（Ｂ）に示すように、ターゲットノードＩＤが「３１０２」であり、ＩＤマスクが「０」であり、上述の主情報が含まれている。
【００９５】
情報転送処理が開始されると、制御部１１は、自己のノードＩＤがパケットのターゲットに含まれるか否かを判断する（ステップＳ１１）。このパケットのターゲットとは、ターゲットノードＩＤにおけるＩＤマスクの値に該当する上位桁が共通するノードＩＤを示し、例えば、パケットのＩＤマスクが「０」であれば、全てのノードＩＤがパケットのターゲットに含まれ、パケットのＩＤマスクが「２」でパケットのターゲットノードＩＤが「３１０２」であれば、上位「２」桁が「３１」となる「３１＊＊」のノードＩＤがパケットのターゲットに含まれることとなる。
【００９６】
このとき、パケットのＩＤマスクが「０」であり、有効桁数を指定されていないので、ノードＡのノードＩＤ「０１３２」は、パケットのターゲットに含まれると制御部１１は判断し（ステップＳ１１ＹＥＳ）、パケットのターゲットノードＩＤを自己のノードＩＤ「０１３２」に変換する（ステップＳ１２）。
【００９７】
次いで、制御部１１は、パケットのＩＤマスクを「パケットのＩＤマスク＋１」の値に変換する（ステップＳ１３）。具体的には、パケットのＩＤマスク「０」＋１である「１」にＩＤマスクを変換して、パケットを再生成する。
【００９８】
次いで、制御部１１は、パケットのＩＤマスクがルーティングテーブルの桁数（ノードＩＤの桁数、全レベル数）よりも小さいか否かを判断する（ステップＳ１４）。このとき、ＩＤマスク「１」は、ルーティングテーブルの桁数「４」よりも小さいため、制御部１１は、パケットのＩＤマスクがルーティングテーブルの桁数よりも小さいと判断し（ステップＳ１４ＹＥＳ）、ルーティングテーブルのレベル「パケットのＩＤマスク＋１」に登録されている全てのノード装置１に向けて生成したパケットを送信する（ステップＳ１５）。具体的には、パケットのＩＤマスク「１」＋１のレベル２の段階のノード装置１である、ノードＡ１、ノードＡ２、ノードＡ３に向けてパケットを送信し、ステップＳ１３に戻る。
【００９９】
その後、制御部１１は、ＩＤマスク「２」、「３」について同様にステップＳ１３、Ｓ１４、Ｓ１５を繰り返す。このように、ステップＳ１３〜Ｓ１５を繰り返すことにより、ルーティングテーブルにおける２〜４の各レベルのノード装置１に対してパケットを送信できることとなる。
【０１００】
次いで、制御部１１は、パケットのＩＤマスクを「３」から１足した「４」に変換し（ステップＳ１３）、パケットを再生成する。
【０１０１】
このとき、ＩＤマスク「４」は、ルーティングテーブルの桁数「４」よりも小さくないため、制御部１１は、パケットのＩＤマスクがルーティングテーブルの桁数よりも小さくないと判断し（ステップＳ１４ＮＯ）、パケットの主情報に応じた処理手段による処理を行い（ステップＳ１６）、処理を終了する（エンド）。
【０１０２】
一方、ノードＡが受信したパケットが、例えば、ＩＤマスクが「２」でターゲットノードＩＤが「３１０２」であれば、ノードＡのノードＩＤ「０１３２」は、パケットのターゲット「３１＊＊」に含まれないと制御部１１は判断し（ステップＳ１１ＮＯ）、ルーティングテーブルの中でパケットのターゲットノードＩＤと上位桁から一致する桁数が最も多いノードに受信したパケットを送信（転送）し（ステップＳ１７）、処理を終了する（エンド）。なお、このステップＳ１７の転送処理は、通常のＤＨＴのルーティングテーブルを用いたメッセージの転送である。
【０１０３】
［３．２第二実施形態の情報通信システムの動作］
次に、第二実施形態の情報通信システムＳの動作について図１３乃至図１６を用いて説明する。
【０１０４】
上記第一実施形態の情報通信システムＳは、情報送信処理、情報転送処理において、各ノード装置１がルーティングテーブルにＩＰアドレスが記憶されているノード装置１のみに対してパケット（主情報）を送信する形態であったが、第二実施形態の情報通信システムＳは、情報送信処理、情報転送処理の際に、ルーティングテーブルにＩＰアドレスが記憶されていないノードＩＤを有するノード装置１に向けてもパケットを送信する形態である。第二実施形態の情報通信システムＳは、当該システムＳへのノード装置１の参加、脱退が多い環境であっても、可能な限り全てのノード装置に主情報を送信することが可能となり、より完全にシステム内の全てのノード装置１に情報を送信することが実現できる。
【０１０５】
［３．２．１．情報通信システム全体の動作］
まず、第二実施形態の情報通信システム全体の動作は、図７乃至図１０を参照して説明した第一実施形態とほぼ同様であり、一のノード装置１（上述のノードＸ）のルーティングテーブルにおいて、他のノード装置１のＩＰアドレスを記憶していないノードＩＤ「３１１＊」、「３１００」、「３１０１」に向けても、当該ノードＸがパケットを送信する点で異なる。なお、パケットの直接の送信先は、送信元のノード装置１がＩＰアドレスを記憶している他のノード装置１である。ルーティングテーブルにＩＰアドレスを記憶していないノード装置１にパケットを送信する場合には、当該パケットが転送され続けてしまう可能性があるため、転送回数上限値をパケットのヘッダ部分に含ませることとする。
【０１０６】
［３．２．２．ノード装置の動作］
第二実施形態におけるノード装置１の動作について、図１３乃至図１６の四つのフローチャートを用いて詳細に説明する。
【０１０７】
（１）通常の情報送信処理
一のノード装置１（上述のノードＸ）が、主情報を含むパケットを指定するノードＩＤのノード装置１に送信しようとする際の当該ノードＸで行われる処理を通常の情報送信処理として、以下に説明する。
【０１０８】
ノードＸの制御部１１は、自ノード装置が稼働している（すなわち、電源が入れられ、当該ノードＸの各種設定を初期化している）前提で、入力部２１や通信部２０等から、ある情報を情報通信システムＳに属する一のノード装置１（ノードＩＤ：２１３２）に送信すべき旨の指示があった場合に、通常の情報送信処理を開始する（スタート）。
【０１０９】
図１３に示すように、通常の情報送信処理が開始されると、制御部１１は、パケットを生成する（ステップＳ２１）。具体的には、パケットのターゲットノードＩＤを自己のノードＩＤ「２１３２」とし、パケットのＩＤマスクを「４」とし、パケットの主情報を送信したい上記情報として、パケットを生成する（図６（Ｂ）参照）。
【０１１０】
そして、生成したパケットについて、図１６を用いて後述するパケット送信処理を行い（ステップＳ２２）、処理を終了する。
【０１１１】
（２）システム内全てのノード装置への情報送信処理
一のノード装置１（上述のノードＸ）が主情報を含むパケットをシステムＳに参加している全てのノード装置１に送信しようとする際の当該ノードＸで行われる処理をシステム内全てのノード装置への情報送信処理として、以下に説明する。
【０１１２】
ノードＸの制御部１１は、自ノード装置が稼働している（すなわち、電源が入れられ、当該ノードＸの各種設定を初期化している）前提で、入力部２１や通信部２０等から、ある情報を情報通信システムＳに属する全てのノード装置１に送信すべき旨の指示があった場合に、通常の情報送信処理を開始する（スタート）。
【０１１３】
図１４に示すように、システム内全てのノード装置への情報送信処理が開始されると、制御部１１は、パケットを生成する（ステップＳ３１）。具体的には、パケットのターゲットノードＩＤを自己のノードＩＤ「３１０２」とし、パケットのＩＤマスクを「０」とし、パケットの主情報を送信したい上記情報として、パケット（図７（Ｂ）参照）を生成する。
【０１１４】
そして、生成したパケットについて、図１６を用いて後述するパケット送信処理を行い（ステップＳ３２）、処理を終了する。
【０１１５】
（３）情報受信処理
上述のノードＸから主情報を含むパケットを受信した他のノード装置１（例えば、上述のノードＡ）で行われる処理を情報受信処理として、以下に説明する。
【０１１６】
ノードＸの制御部１１は、自ノード装置が稼働している（すなわち、電源が入れられ、当該ノードＸの各種設定を初期化している）前提で、通信部２０等から、主情報を含むパケット（例えば、ターゲットノードＩＤ「３１０２」、ＩＤマスク「０」）を受信した場合に、情報受信処理を開始する（スタート）。
【０１１７】
図１５に示すように、情報受信処理が開始されると、制御部１１は、受信パケットの転送回数が転送回数上限値を超えたか否かを判断する（ステップＳ４１）。なお、この転送回数上限値は、後述するように、ノードＸがＩＰアドレスを記憶していないノード装置１に向けてパケットを送信した場合にパケットに含められる情報である。この転送回数上限値により、パケットが転送され続けてしまうことを防止できる（転送回数制限手段による）。
【０１１８】
このとき、制御部１１は、受信パケットの転送回数が転送回数上限値を超えていないと判断すると（ステップＳ４１ＮＯ）、自己のノードＩＤが受信したパケットのターゲットに含まれるか否かを判断する（ステップＳ４２）。このとき、パケットのＩＤマスクが「０」であり、全てのノードＩＤを含むため、制御部１１は、自己のノードＩＤが受信したパケットのターゲットに含まれると判断し（ステップＳ４２ＹＥＳ）、受信したパケットのヘッダ部分を変換してパケットを再生成する（ステップＳ４３）。具体的には、パケットのターゲットノードＩＤを自己のノードＩＤ「０１３２」に変換し、パケットのＩＤマスク（＝０）を「パケットのＩＤマスク＋１」の値「１」に変換する。
【０１１９】
そして、制御部１１は、受信後再生成したパケットについて、図１６を用いて後述するパケット送信処理を行い（ステップＳ４４）、パケット内の主情報に応じた処理手段による処理を行い（ステップＳ４５）、処理を終了する。
【０１２０】
一方、ステップＳ４１において、制御部１１は、受信パケットの転送回数が転送回数上限値を超えたと判断した場合には（ステップＳ４１ＹＥＳ）、転送を行わずに処理を終了する。
【０１２１】
また、ステップＳ４２において、制御部１１は、自己のノードＩＤが受信したパケットのターゲットに含まれないと判断した場合には（ステップＳ４２ＮＯ）、受信したパケットについて、図１６を用いて後述するパケット送信処理を行い（ステップＳ４６）、処理を終了する。なお、自己のノードＩＤが受信したパケットのターゲットに含まれない場合とは、例えば、自己のノードＩＤ「０１３２」に対し、パケットのターゲットノードＩＤが「３１１０」、ＩＤマスクが「３」であるときである。上記パケットのターゲットは、ノードＩＤの上位３桁が「３１１」となるノード装置１であるのに対し、自己のノードＩＤ「０１３２」を含んでいないといえる。
【０１２２】
（４）パケット送信処理
（１）〜（３）の各処理において行われるパケット送信処理について、ノード装置１（例えば、上述のノードＸ）で行われる処理として図１６を用いて説明する。
【０１２３】
なお、ノードＸは、上述のように、図５に示すルーティングテーブルを保持（記憶）しているものとする。
【０１２４】
ノード装置１の制御部１１は、上述のステップＳ２２、Ｓ３２、Ｓ４４、Ｓ４６の場合におけるパケットの送信処理を開始すると（スタート）、自己の記憶するルーティングテーブルの指定するレベルを、自己のノードＩＤとパケットのターゲットノードＩＤの上位桁から一致する桁数＋１の値に決定する（ステップＳ５１）。例えば、（２）において説明したように、自己のノードＩＤが「３１０２」であり、ターゲットノードＩＤが「３１０２」である場合には、全て一致するため一致する桁数が「４」であり、これに１を足して、ルーティングテーブルのレベルを「５」と決定する。
【０１２５】
次いで、制御部１１は、決定したレベルがパケットのＩＤマスクよりも大きいか否かを判断する（ステップＳ５２）。上述の例で言うと、決定したレベル「５」は、パケットのＩＤマスク「０」よりも大きいため、制御部１１は、決定したレベルがパケットのＩＤマスクよりも大きいと判断し（ステップＳ５２ＹＥＳ）、システムＳ内の全ノード装置への送信処理（マルチキャストメッセージ転送処理）に入る。
【０１２６】
制御部１１は、自己の記憶するルーティングテーブルの指定する領域を決定する（ステップＳ５３）。指定する領域は、レベルを「パケットのＩＤマスクの値＋１」の値とし、当該レベルの左端から１列（注目すべき桁数を０）とする。なお、ルーティングテーブルがＡ桁Ｂ進数からなる場合、レベルの値は１〜（Ａの値）までであり、列の値は１〜（Ｂの値）まで（注目すべき桁数：０〜（Ｂ−１の値））となる。上述のように４桁４進数であれば、レベルは１〜４（全レベルの値（全レベル数）が４）であり、列は１〜４（全列の値（全列数）が４）である。上述の例では、パケットのＩＤマスクが「０」であるため、ルーティングテーブルの「レベル１、１列」が指定される。
【０１２７】
次いで、制御部１１は、レベルの値が全レベルの値（全レベル数）以下であるか否かを判断する（ステップＳ５４）。上述の例では、レベルの値「１」が全レベルの値「４」以下であるため、制御部１１は、レベルの値が全レベルの値以下であると判断し（ステップＳ５４ＹＥＳ）、列の値が全列の値（全列数）以下であるか判断する（ステップＳ５５）。上述の例では、列の値「１」が全列の値「４」以下であるため、制御部１１は、レベルの値が全レベルの値以下であると判断し（ステップＳ５５ＹＥＳ）、指定された領域が自己のノードＩＤを示すか否かを判断する（ステップＳ５６）。
【０１２８】
上述の例では、指定された「レベル１、１列」が自己のノードＩＤを示していないため、制御部１１は、指定された領域が自己のノードＩＤを示さないと判断し（ステップＳ５６ＮＯ）、指定された領域に他のノード装置が記憶されているか否かを判断する（ステップＳ５７）。上述の例では、指定された「レベル１、１列」にノードＡのＩＰアドレスが記憶されているため、制御部１１は、指定された領域に他のノード装置が記憶されていると判断し（ステップＳ５７ＹＥＳ）、当該記憶されているノード装置に対してパケットを送信する（ステップＳ５８）。
【０１２９】
次いで、制御部１１は、指定する列の値に１を足して（ステップＳ５９）、ステップＳ５５に戻る。上述の例では、列「１」を列「２」に変更する。次いで、ステップＳ５５〜Ｓ５９を繰り返し、「レベル１、２列」のノードＢ、「レベル１、３列」のノードＣにもパケットを送信し、指定する領域を「レベル１、４列」に変更し、ステップＳ５５に戻る。
【０１３０】
次いで、ステップＳ５５を経て、ステップＳ５６において、指定された「レベル１、４列」が自己のノードＩＤを示しているため、制御部１１は、指定された領域が自己のノードＩＤを示すと判断し（ステップＳ５６ＹＥＳ）、ステップＳ５９の処理を行うことにより、指定する領域を「レベル１、５列」に変更し、ステップＳ５５に戻る。このようにして、レベル１として記憶している全てのノード装置１にパケットを送信することができる。
【０１３１】
このとき、列の値「５」が全列の値「４」以下でないため、制御部１１は、レベルの値が全レベルの値以下でないと判断し（ステップＳ５５ＮＯ）、パケットのＩＤマスクの値を「ＩＤマスクの値＋１」に変換してパケットを再生成し（ステップＳ６０）、ステップＳ５３に戻る。上述の例では、マスクＩＤを「１」とする。
【０１３２】
制御部１１は、ステップＳ５３において、指定する領域を「レベル２、１列」とし、ステップＳ５４、Ｓ５５〜Ｓ５９を繰り返し、「レベル２、１列」のノードＤ、「レベル２、３列」のノードＥ、「レベル２、４列」のノードＦにパケットを送信し、指定する領域を「レベル２、５列」に変更する。このようにして、レベル２として記憶している全てのノード装置１にパケットを送信することができる。
【０１３３】
このとき、列の値「５」が全列の値「４」以下でないため、制御部１１は、レベルの値が全レベルの値以下でないと判断し（ステップＳ５５ＮＯ）、パケットのＩＤマスクの値を「ＩＤマスクの値＋１」に変換してパケットを再生成し（ステップＳ６０）、ステップＳ５３に戻る。上述の例では、マスクＩＤを「２」とする。
【０１３４】
制御部１１は、ステップＳ５３において、指定する領域を「レベル３、１列」とし、ステップＳ５４、Ｓ５５ＹＥＳ、Ｓ５６ＹＥＳ、Ｓ５９を経て「レベル３、２列」を指定し、ステップＳ５５ＹＥＳ、Ｓ５６ＮＯを経てステップＳ５７の判断を行う。
【０１３５】
制御部１１は、上述の例では、指定された領域「レベル３、２列」に他のノード装置１のＩＰアドレスが記憶されていないため、制御部１１は、指定された領域に他のノード装置が記憶されていないと判断し（ステップＳ５７ＮＯ）、指定された領域「レベル３、２列」に最も近くに記憶されている他のノード装置１に対して、パケットを送信する（ステップＳ６１）。
【０１３６】
ステップＳ６１において、具体的には、ＩＤマスクの値に１を足した値に変換し、ターゲットノードＩＤを当該領域に該当するノードＩＤに変換し、転送回数上限値の情報をヘッダ部分に含めてパケットを再生成し、再生成された当該パケットを送信する。上述の例では、ＩＤマスクの値を「３」とし、ターゲットノードＩＤを「レベル３、２列」に該当する「３１１０」（特定しない下線部の桁数は任意に決められる）とする（図９（Ｂ）の「Ｘ→空」を参照）。このようにターゲットを特定することにより、この領域にノード装置１が参加した場合に、パケットを送信できることとなる。なお、上述の例においては、ノードＧに当該パケットを送信して転送させればよい。
【０１３７】
ここで、転送回数上限値は、転送回数の上限を決める値であり、ターゲットとなるノード装置１が存在しない場合に、パケットが転送され続けることを防止するために設けられる。転送回数上限値は、通常の転送では絶対に超えない程度のやや大きめの値とし、例えば、４桁のＤＨＴを用いる場合には、転送回数上限値は８回、１６回等にする。４桁のＤＨＴを用いる場合の通常の転送回数は、４回以内に収まるのが通常である。以下の処理においては記載しないが、通常、転送されるパケットには当該パケットが何回転送されたかを示す情報が含まれて転送されることとなる。
【０１３８】
次いで、制御部１１は、ステップＳ５９の処理に戻り、ステップＳ５５〜Ｓ５９を繰り返し、「レベル３、３列」のノードＧ、「レベル３、４列」のノードＨにパケットを送信し、指定する領域を「レベル３、５列」に変更する。このようにして、レベル３として記憶している全てのノード装置１、及び、レベル３の記憶していない領域のノード装置１にパケットを送信することができる。
【０１３９】
このとき、列の値「５」が全列の値「４」以下でないため、制御部１１は、レベルの値が全レベルの値以下でないと判断し（ステップＳ５５ＮＯ）、パケットのＩＤマスクの値を「ＩＤマスクの値＋１」に変換してパケットを再生成し（ステップＳ６０）、ステップＳ５３に戻る。上述の例では、マスクＩＤを「３」とする。
【０１４０】
次いで、制御部１１は、レベル４の各領域について、ステップＳ５３、Ｓ５４、Ｓ５５〜Ｓ５９、Ｓ６１を繰り返し、「レベル４、４列」のノードＩにパケットを送信し、指定する領域を「レベル４、５列」に変更する（ステップＳ６０）。このようにして、レベル４として記憶している全てのノード装置１、及び、レベル４の記憶していない領域のノード装置１にパケットを送信することができる。
【０１４１】
ステップＳ５３に戻り、制御部１１は、指定する領域を「レベル５、１列」とし、レベルの値が全レベルの値以下であるか否かを判断する（ステップＳ５４）。上述の例では、レベルの値「５」が全レベルの値「４」以下でないため、制御部１１は、レベルの値が全レベルの値以下でないと判断し（ステップＳ５４ＮＯ）、処理を終了する。
【０１４２】
一方、上述のステップＳ５１において、例えば、（１）において説明したように、自己のノードＩＤが「３１０２」であり、ターゲットノードＩＤが「２１３２」、ＩＤマスクが「４」である場合には、一致する桁数がないため「０」であり、これに１を足して、ルーティングテーブルのレベルを「１」と決定する。
【０１４３】
次いで、制御部１１は、決定したレベルがパケットのＩＤマスクよりも大きいか否かを判断する（ステップＳ５２）。上述の例で言うと、決定したレベル「１」は、パケットのＩＤマスク「４」よりも小さいため、制御部１１は、決定したレベルがパケットのＩＤマスクよりも大きくないと判断し（ステップＳ５２ＮＯ）、通常のＤＨＴメッセージ送信・転送の処理に入る。
【０１４４】
制御部１１は、決定したレベルにおけるターゲットノードＩＤに最も近いノード装置１であって、ルーティングテーブルに記憶しているものを決定し、当該ノード装置１にパケットを送信（転送）し、（ステップＳ６２）、処理を終了する。なお、このステップＳ６２の転送処理は、通常のＤＨＴのルーティングテーブルを用いたメッセージの転送である。
【０１４５】
［４．変形形態］
上述の各実施形態においては、送信グループ特定値（ＩＤマスク）及び識別情報（ターゲットノードＩＤ）を用いて送信先のノード装置１を特定し、各グループの代表に主情報を送信することとしているが、この実施形態に限定されない。ノード装置１は、システムＳに含まれるノード装置１を所定の規則に従って複数のグループに分けて、当該各グループに含まれる一のノード装置１を決定し、決定された全てのノード装置１に向けて主情報を送信するとともに、他のノード装置１から主情報を受信した場合に、当該主情報が自ノード装置を含むグループ宛の場合には、自ノード装置が属するグループを上記所定の規則に従ってさらに複数のグループに分けて、当該各グループに含まれる一のノード装置１を決定し、決定された全てのノード装置１に向けて受信した主情報を送信できればよい。
【０１４６】
上述の各実施形態においては、本発明における所定の規則として、分散ハッシュテーブル（ＤＨＴ）の手法を利用して、ノード装置１がグループ群（各レベル）、グループ（各列・注目桁の各数値）毎に自ノード装置のエリアと、他のノード装置のエリアを特定し、他のノード装置の各ＩＰアドレスをルーティングテーブルに記憶している形態としている。しかしながら、本発明は、上述の形態に特定されず、ノード装置１が、所定の規則に従い、情報通信システムＳに含まれるノード装置１を複数のグループに分けて、当該グループからなる一の段階のグループ群を記憶し、この段階のグループ群における自ノード装置が属するグループをさらに複数のグループに分けて、当該グループからなる次段階のグループ群を記憶し、分けられたグループに応じて所定数の段階毎にグループ群を記憶し、自ノード装置及び他のノード装置１の宛先を示す宛先情報（ＩＰアドレス）を各グループと対応づけて記憶していればよい。ノード装置１がこのようにグループ分けして段階毎に他のノード装置１を記憶していることにより、主情報の送信、及び、主情報の転送が可能となり、システムＳに含まれる全てのノード装置、又は、特定のグループに含まれる全てのノード装置に、主情報を送信することが可能となる。なお、本発明における「段階」を、実施形態においては「レベル」を用いて表しており、レベル１、レベル２等が段階に相当する。
【０１４７】
上述の各実施形態においては、図６の各図に示すように、送信グループ特定値（ＩＤマスク）及び識別情報（ターゲットノードＩＤ）が、パケットのヘッダ部分に含める形態としているが、この形態に限定されない。送信グループ特定値及び識別情報が主情報とともに送信される形態としていれば、どのような形態で主情報に付されていてもよい。また、送信グループ特定値の定義の仕方も、上述の各実施形態におけるものに限定されず、一定の規則により送信するグループを特定でき、また、主情報を転送する際等に一定の規則に従って送信グループ特定値を変換し、ターゲットとなるノード装置１を特定できればよい。
【０１４８】
また、上述のノード装置１の各動作に対応するプログラムをフレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、或いはインターネット等のネットワークを介して取得して記録しておき、これをマイクロコンピュータ等により読み出して実行することにより、当該マイクロコンピュータを各実施形態に係る制御部１１として機能させることも可能である。
【０１４９】
また、上述の実施形態においては、図１１にて、ある情報を情報通信システムＳに属する全てのノード装置１に送信すべき旨の指示があった場合に、情報送信処理を開始（スタート）していたが、特定のグループのみにある情報を送信すべき旨の指示があった場合には、図１１のＳ１にてＩＤマスクを特定のグループレベルを示す値に決定して、以降の処理を行えばよい。例えば、ノードＩＤが「３＊＊＊」のノード装置１にある情報を送信すべき旨の指示があった場合には、図１１のＳ１にてＩＤマスクを１に決定して、以降の処理を行えばよい。
【図面の簡単な説明】
【０１５０】
【図１】本実施形態に係る情報通信システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】ＤＨＴによるＩＤ空間及びルーティングテーブルが作成される様子の一例を示す図である。
【図３】（Ａ）レベル１のテーブルの一例である。（Ｂ）レベル２のテーブルの一例である。（Ｃ）レベル３のテーブルの一例である。（Ｄ）完成したルーティングテーブルの一例である。
【図４】ノード装置１の概要構成例を示す図である。
【図５】各実施形態に用いられるノードＸが保持するルーティングテーブルの一例である。
【図６】（Ａ）〜（Ｄ）は、生成するパケットを模式的に表した図である。
【図７】（Ａ）、（Ｂ）は、パケットが送信される様子の第１段階を示す図である。
【図８】（Ａ）、（Ｂ）は、パケットが送信される様子の第２段階を示す図である。
【図９】（Ａ）、（Ｂ）は、パケットが送信される様子の第３段階を示す図である。
【図１０】（Ａ）、（Ｂ）は、パケットが送信される様子の第４段階を示す図である。（Ｃ）は、パケットが送信される様子の最終段階を示す図である。
【図１１】第一実施形態のノード装置１における情報送信処理を示すフローチャートである。
【図１２】第一実施形態のノード装置１における情報転送処理を示すフローチャートである。
【図１３】第二実施形態のノード装置１における通常の情報送信処理を示すフローチャートである。
【図１４】第二実施形態のノード装置１におけるシステム内全てのノード装置１への情報送信処理を示すフローチャートである。
【図１５】第二実施形態のノード装置１における情報受信処理を示すフローチャートである。
【図１６】第二実施形態のノード装置１におけるパケット送信処理を示すフローチャートである。
【符号の説明】
【０１５１】
１  ノード装置
８  ネットワーク
９  オーバレイネットワーク
１１  制御部
１２  記憶部
１３  バッファメモリ
１４  デコーダ部
１５  映像処理部
１６  表示部
１７  音声処理部
１８  スピーカ
２０  通信部
２１  入力部
２２  バス
Ｓ  情報通信システム
【図１】
2007053662.tif 000003
【図２】
2007053662.tif 000004
【図３】
2007053662.tif 000005
【図４】
2007053662.tif 000006
【図５】
2007053662.tif 000007
【図６】
2007053662.tif 000008
【図７】
2007053662.tif 000009
【図８】
2007053662.tif 000010
【図９】
2007053662.tif 000011
【図１０】
2007053662.tif 000012
【図１１】
2007053662.tif 000013
【図１２】
2007053662.tif 000014
【図１３】
2007053662.tif 000015
【図１４】
2007053662.tif 000016
【図１５】
2007053662.tif 000017
【図１６】
2007053662.tif 000018