JP4947106B2 - 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム - Google Patents

情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム Download PDF

Info

Publication number
JP4947106B2
JP4947106B2 JP2009174669A JP2009174669A JP4947106B2 JP 4947106 B2 JP4947106 B2 JP 4947106B2 JP 2009174669 A JP2009174669 A JP 2009174669A JP 2009174669 A JP2009174669 A JP 2009174669A JP 4947106 B2 JP4947106 B2 JP 4947106B2
Authority
JP
Japan
Prior art keywords
information
node device
node
level
destination information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009174669A
Other languages
English (en)
Other versions
JP2009247015A (ja
Inventor
建太郎 牛山
康一 飯島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2009174669A priority Critical patent/JP4947106B2/ja
Publication of JP2009247015A publication Critical patent/JP2009247015A/ja
Application granted granted Critical
Publication of JP4947106B2 publication Critical patent/JP4947106B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、ネットワークを介して互いに接続された複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))型の情報通信システム及び方法等の技術分野に関する。
ネットワークに属する複数の端末装置に同じ情報を送信する場合に、通常は、送信元の端末装置が送信先の端末装置の台数分だけ当該情報の複製を作成し、複製された情報を当該端末装置に送信している。
また、そうした送信先の複数の端末装置に対応するルータを介することにより、情報を送信する端末装置は、一の情報を送信し、ルータによって宛先の分岐点で複製が作成され、複数の端末装置に情報が送信される技術(IPマルチキャスト)が知られている(例えば、特許文献1参照)。この技術は、情報を送信する端末装置の負担が軽減されるものである。
さらに、端末装置をグループ分けして、各グループにグループ管理サーバを設け、各グループに一つずつの情報を送信することにより、当該各グループに属する全ての端末装置に当該情報を送信される技術が知られている(例えば、特許文献2参照)。
一方、近年、ピアツーピアという技術が注目されてきている。ピアツーピア型の情報通信システムにおいて、例えば、分散ハッシュテーブル(以下、DHT(Distributed HashTable)という)を利用して論理的に構築されたオーバーレイネットワークでは、各ノード装置が、当該オーバーレイネットワークに参加している全てのノード装置へのリンク情報(例えば、IPアドレス)を認識しているわけではなく、参加の際などに得られる一部のノード装置へのリンク情報だけを保持しており、かかるリンク情報に基づき、データの問い合わせ等を行うようになっている。
このようなオーバーレイネットワークにおいては、ノード装置の参加及び脱退(離脱)が頻繁に行われても、負荷分散が適切に行われる必要があり、非特許文献1には、オーバーレイネットワークにおいて、参加及び脱退(離脱)が頻繁に行われる場合であっても、適切に負荷分散を行うための技術が開示されている。
特開2000−49822号公報 特開2002−344477号公報(図9)
「分散ハッシュテーブルの軽量な負荷分散手法の検討」 社団法人 電子情報通信学会 信学技報
情報を送信する端末装置が自ら情報の複製を作成する態様においては、送信先の端末装置が著しく多い場合、通信トラフィックが多くなる他、情報を送信する端末装置の負担も増大する。
また、経路上で情報の複製を作成できる特殊なルータを用いて情報を送信する場合には、端末装置は送信する情報の複製を作成せずに済むが、情報が送信される経路上の全てのルータが上述した機能(IPマルチキャスト機能)に対応していなければならないという不都合がある。
さらに、グループの管理サーバを用いる場合には、管理サーバがグループに属する端末装置の管理をする負担があるとともに、各グループに管理サーバを配置するというシステム全体を管理するための負担が発生する。
本発明は、以上の不都合に鑑みてなされたものであり、ネットワークを介して互いに接続された複数のノード装置を備えたピアツーピア型の情報通信システム及び方法等において、一のノード装置が複数の他のノード装置に情報を送信する(いわゆるマルチキャスト送信)際に、上述の不都合を解消し、情報を送信するノード装置等の負担を軽減した情報通信システム及び方法等を提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、通信路を介して互いに接続された複数のノード装置の参加により形成された情報通信システムに含まれるノード装置であって、前記ノード装置を識別可能であり、桁が複数ある値により構成される識別情報が前記ノード装置に割り当てられ、分散ハッシュテーブルを用いて、前記複数のノード装置の中の一部のノード装置の宛先を示す宛先情報を記憶する記憶手段であり、前記識別情報の桁数に対応する数のレベルがあり、前記識別情報が取りうる値の範囲を、各桁の値として取りうる値の総数に基づいて分割してなる複数の分割エリアが、前記レベルのうち最上位のレベルである第1レベルと対応付けられ、上位の前記レベルに対応する複数の分割エリアのうち、前記記憶手段を備えるノード装置自身に割り当てられた前記識別情報が含まれる分割エリアをさらに前記総数に基づいて分割してなる複数の分割エリアが下位の前記レベルと対応付けられ、前記分散ハッシュテーブルとして、各前記レベルに対応する各前記分割エリアの夫々に含まれる前記識別情報が示すノード装置の前記宛先情報を用いて記憶する記憶手段と、前記記憶手段に記憶された宛先情報のうち少なくとも1つの宛先情報を決定し、決定された宛先情報が示すノード装置に向けて送信すべき主情報を送信する情報送信手段と、他のノード装置から前記主情報を受信した場合には、前記記憶手段に記憶された宛先情報のうち少なくとも1つの宛先情報を決定し、決定された宛先情報が示すノード装置に向けて受信した前記主情報を送信する情報転送手段と、を有することを特徴とする。
これによれば、あるノード装置が複数のノード装置に情報(例えば、プログラムの更新のための更新情報(プログラム)、メッセージを含むテキスト情報等の各種情報)を送信する際に、ルータや管理サーバ等を要さずにシステム全体の構成が簡易になるとともに、主情報を送信するノード装置等の負担を軽減することができる。
上記課題を解決するために、請求項に記載の発明は、請求項1に記載のノード装置において、記識別情報が取りうる値の範囲を、各桁の値として取りうる値の総数に基づいて等分割してなる複数の分割エリアが前記第1レベルと対応付けられ、上位の前記レベルに対応する複数の分割エリアのうち、前記記憶手段を備えるノード装置自身に割り当てられた前記識別情報が含まれる分割エリアをさらに前記総数に基づいて等分割してなる複数の分割エリアが下位の前記レベルと対応付けられ、前記記憶手段は、前記分散ハッシュテーブルとして、各前記レベルに対応する各前記分割エリアの夫々に含まれる前記識別情報が示すノード装置の前記宛先情報を用いて記憶ることを特徴とする。
上記課題を解決するために、請求項に記載の発明は、請求項又は請求項に記載のノード装置であって、前記情報送信手段は、前記レベルを示す送信レベル特定値と、前記記憶手段を備えるノード装置の前記識別情報とを前記主情報に付し、前記送信レベル特定値が示すレベルに対応する前記分割エリアに対応する前記宛先情報を決定し、決定された前記宛先情報が示すノード装置に向けて送信すべき主情報を送信し、前記情報転送手段は、他の前記ノード装置から受信した前記主情報に付された前記送信レベル特定値と前記識別情報とに示される前記識別情報の範囲が前記記憶手段を備えるノード装置を含む場合、前記送信レベル特定値を次のレベルを示す前記送信レベル特定値に変換し、変換後の前記送信レベル特定値と、前記記憶手段を備えるノード装置の前記識別情報とを前記主情報に付し、且つ、変換後の前記送信レベル特定値が示すレベルに対応する前記分割エリアに対応する前記宛先情報が示す前記ノード装置に前記主情報を送信することを特徴とする。
これによれば、あるノード装置は、送信レベル特定値(例えば、IDマスク)により送信先のグループ群のレベルを特定して、主情報を送信することができ、当該主情報を受信したノード装置が送信レベル特定値により特定されるグループ群に主情報を転送することとなる。そのため、送信レベル特定値を用いることにより、所定のレベルのグループ群や所定のグループのノード装置のみに対して主情報を送信することができるとともに、システムに含まれる全てのノード装置に対して主情報を送信することもできる。
また、送信レベル特定値と併せて識別情報(例えば、ノードID、ターゲットID)を主情報に付して送信するため、これらを利用してターゲットとなる複数のノード装置に主情報を送信、転送することができる。具体的には、主情報を送信するノード装置や、主情報を受信したノード装置は、送信レベル特定値によりDHTの桁数の位置を特定し、当該桁数により、特定され又は変換された識別情報と該当桁数を共通にする識別情報を有する他のノード装置に対し、主情報を送信することができる。主情報を転送するノード装置において、この送信レベル特定値と識別情報とを順次変換していくことにより、情報通信システムに含まれる全てのノード装置に主情報を送信することが可能となる。
上記課題を解決するために、請求項に記載の発明は、請求項に記載のノード装置であって、前記情報送信手段又は前記情報転送手段の少なくともいずれか一は、前記主情報の転送回数の上限値を示す転送回数上限情報を前記主情報に付し、前記記憶手段が前記宛先情報を記憶していない前記分割エリアに前記識別情報が含まれる前記ノード装置である記憶外ノード装置に向けて前記主情報を送信し、さらに、他の前記ノード装置から受信した前記主情報に付された前記送信レベル特定値と前記識別情報とに示される前記識別情報の範囲が前記記憶手段を備えるノード装置を含む場合に、前記主情報に対する処理を行う処理手段と、前記転送回数上限情報が付された前記主情報を受信し、かつ、当該主情報が前記記憶手段を備えるノード装置に向けたものでない場合には、受信した前記主情報の転送された回数を認定し、認定した前記転送された回数が前記転送回数上限情報に対応する上限値以下である場合には、前記記憶外ノード装置に向けて前記主情報を送信する転送回数制限手段と、を有することを特徴とする。
これによれば、ノード装置は、宛先情報(例えば、IPアドレス)を記憶していない他のノード装置に向けて、識別情報(記憶していないため、無作為に決定する。)を手掛かりとして主情報を送信でき、また、当該識別情報に対応するノード装置が存在しない場合でも、転送回数を制限されていることにより、主情報が転送され続けることを防止することができる。また、他のノード装置から受信した主情報が自ノード装置を含むグループ宛である場合に、当該主情報(例えば、プログラムを更新すべき旨の情報)に対し、処理(例えば、上記主情報に対し、プログラムの更新を実行する処理)を行うことができる。
上記課題を解決するために、請求項に記載の発明は、請求項又請求項に記載のノード装置であって、前記情報転送手段は、前記変換後の送信レベル特定値が前記レベルの総数と等しくなった場合には、受信した前記主情報を他の前記ノード装置に送信しないことを特徴とする。
上記課題を解決するために、請求項に記載の発明は、通信路を介して互いに接続された複数のノード装置の参加により形成された情報通信システムであって、前記ノード装置を識別可能であり、桁が複数ある値により構成される識別情報が前記ノード装置に割り当てられ、分散ハッシュテーブルを用いて、前記複数のノード装置の中の一部のノード装置の宛先を示す宛先情報を記憶する記憶手段であり、前記識別情報の桁数に対応する数のレベルがあり、前記識別情報が取りうる値の範囲を、各桁の値として取りうる値の総数に基づいて分割してなる複数の分割エリアが、前記レベルのうち最上位のレベルである第1レベルと対応付けられ、上位の前記レベルに対応する複数の分割エリアのうち、前記記憶手段を備えるノード装置自身に割り当てられた前記識別情報が含まれる分割エリアをさらに前記総数に基づいて分割してなる複数の分割エリアが下位の前記レベルと対応付けられ、前記分散ハッシュテーブルとして、各前記レベルに対応する各前記分割エリアの夫々に含まれる前記識別情報が示すノード装置の前記宛先情報を用いて記憶する記憶手段と、前記記憶手段に記憶された宛先情報のうち少なくとも1つの宛先情報を決定し、決定された宛先情報が示すノード装置に向けて送信すべき主情報を送信する情報送信手段と、他のノード装置から前記主情報を受信した場合には、前記記憶手段に記憶された宛先情報のうち少なくとも1つの宛先情報を決定し、決定された宛先情報が示すノード装置に向けて受信した前記主情報を送信する情報転送手段と、を有することを特徴とする。
上記課題を解決するために、請求項に記載の発明は、通信路を介して互いに接続された複数のノード装置の参加により形成された情報通信システムにおける情報通信方法であって、前記ノード装置を識別可能であり、桁が複数ある値により構成される識別情報が前記ノード装置に割り当てられ、分散ハッシュテーブルを用いて、前記複数のノード装置の中の一部のノード装置の宛先を示す宛先情報を記憶する記憶手段であり、前記識別情報の桁数に対応する数のレベルがあり、前記識別情報が取りうる値の範囲を、各桁の値として取りうる値の総数に基づいて分割してなる複数の分割エリアが、前記レベルのうち最上位のレベルである第1レベルと対応付けられ、上位の前記レベルに対応する複数の分割エリアのうち、前記記憶手段を備えるノード装置自身に割り当てられた前記識別情報が含まれる分割エリアをさらに前記総数に基づいて分割してなる複数の分割エリアが下位の前記レベルと対応付けられ、前記分散ハッシュテーブルとして、各前記レベルに対応する各前記分割エリアの夫々に含まれる前記識別情報が示すノード装置の前記宛先情報を用いて記憶する記憶手段に記憶された宛先情報のうち少なくとも1つの宛先情報を決定し、決定された宛先情報が示すノード装置に向けて送信すべき主情報を送信する情報送信工程と、他のノード装置から前記主情報を受信した場合には、前記記憶手段に記憶された宛先情報のうち少なくとも1つの宛先情報を決定し、決定された宛先情報が示すノード装置に向けて受信した前記主情報を送信する情報転送工程と、を有することを特徴とする。
上記課題を解決するために、請求項に記載の発明は、請求項1乃至のいずれか一項に記載のノード装置として機能させることを特徴とする。
上記課題を解決するために、請求項に記載の発明は、通信路を介して互いに接続された複数のノード装置の参加により形成された情報通信システムに含まれるノード装置のプログラムであって、前記ノード装置を識別可能であり、桁が複数ある値により構成される識別情報が前記ノード装置に割り当てられ、前記ノード装置に含まれるコンピュータを、分散ハッシュテーブルを用いて、前記複数のノード装置の中の一部のノード装置の宛先を示す宛先情報を記憶する記憶手段であり、前記識別情報の桁数に対応する数のレベルがあり、前記識別情報が取りうる値の範囲を、各桁の値として取りうる値の総数に基づいて分割してなる複数の分割エリアが、前記レベルのうち最上位のレベルである第1レベルと対応付けられ、上位の前記レベルに対応する複数の分割エリアのうち、前記記憶手段を備えるノード装置自身に割り当てられた前記識別情報が含まれる分割エリアをさらに前記総数に基づいて分割してなる複数の分割エリアが下位の前記レベルと対応付けられ、前記分散ハッシュテーブルとして、各前記レベルに対応する各前記分割エリアの夫々に含まれる前記識別情報が示すノード装置の前記宛先情報を用いて記憶する記憶手段に記憶された宛先情報のうち少なくとも1つの宛先情報を決定し、決定された宛先情報が示すノード装置に向けて送信すべき主情報を送信する情報送信ステップと、他のノード装置から前記主情報を受信した場合には、前記記憶手段に記憶された宛先情報のうち少なくとも1つの宛先情報を決定し、決定された宛先情報が示すノード装置に向けて受信した前記主情報を送信する情報転送ステップと、を実行させる。
本発明によれば、あるノード装置が複数のノード装置に情報を送信する際に、ルータや管理サーバ等を要さずにシステム全体の構成が簡易になるとともに、情報を送信するノード装置等の負担を軽減することができる。
本実施形態に係る情報通信システムにおける各ノード装置の接続態様の一例を示す図である。 DHTによるID空間及びルーティングテーブルが作成される様子の一例を示す図である。 (A)レベル1のテーブルの一例である。(B)レベル2のテーブルの一例である。(C)レベル3のテーブルの一例である。(D)完成したルーティングテーブルの一例である。 ノード装置1の概要構成例を示す図である。 各実施形態に用いられるノードXが保持するルーティングテーブルの一例である。 (A)〜(D)は、生成するパケットを模式的に表した図である。 (A)、(B)は、パケットが送信される様子の第1段階を示す図である。 (A)、(B)は、パケットが送信される様子の第2段階を示す図である。 (A)、(B)は、パケットが送信される様子の第3段階を示す図である。 (A)、(B)は、パケットが送信される様子の第4段階を示す図である。(C)は、パケットが送信される様子の最終段階を示す図である。 第一実施形態のノード装置1における情報送信処理を示すフローチャートである。 第一実施形態のノード装置1における情報転送処理を示すフローチャートである。 第二実施形態のノード装置1における通常の情報送信処理を示すフローチャートである。 第二実施形態のノード装置1におけるシステム内全てのノード装置1への情報送信処理を示すフローチャートである。 第二実施形態のノード装置1における情報受信処理を示すフローチャートである。 第二実施形態のノード装置1におけるパケット送信処理を示すフローチャートである。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、DHT、送信先グループ特定値(IDマスク)及び識別情報(ターゲットID)を利用して主情報を全てのノード装置に送信する情報通信システムに本発明を適用した場合の実施形態である。
[1.情報通信システムの構成等]
始めに、図1を参照して、情報通信システムの概要構成等について説明する。
図1は、本実施形態に係る情報通信システムにおける各ノード装置の接続態様の一例を示す図である。
図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4、DSL(Digital Subscriber Line)回線事業者(の装置)5、FTTH(Fiber To The Home)回線事業者(の装置)6、および通信回線(例えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界のネットワーク)8が構築されている。
情報通信システムSは、このようなネットワーク8を介して相互に接続された複数のノード装置1a,1b,1c・・・1x,1y,1z・・・を備えて構成されることになり、ピアツーピア方式のネットワークシステムとなっている。各ノード装置1a,1b,1c・・・1x,1y,1z・・には、ノード装置を示す情報(本発明におけるノード情報)としての固有の製造番号およびIP(Internet Protocol)アドレスが割り当てられている。なお、製造番号およびIPアドレスは、複数のノード装置1間で重複しないものである。なお、以下の説明において、ノード装置1a,1b,1c・・・1x,1y,1z・・・のうち何れかのノード装置を示す場合には、便宜上、ノード装置1という場合がある。
[1.1.DHTの概要]
以下に、本実施形態に係る分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用したアルゴリズムについて説明する。
上述した情報通信システムSにおいて、当該ノード装置1同士が、互いに情報をやり取りする際には、お互いのノード情報としてのIPアドレスを知っていなければならない。
例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク8に参加している各ノード装置1が互いにネットワーク8に参加している全てのノード装置1のIPアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全てのノード装置1のIPアドレスを覚えておくのは現実的ではない。また、任意のノード装置の電源がON或いはOFFとすると、各ノード装置1にて記憶している当該任意のノード装置のIPアドレスの更新が頻繁になり、運用上困難となる。
そこで、1台のノード装置1では、ネットワーク8に参加している全てのノード装置1のうち、必要最低限のノード装置1のIPアドレスだけを覚えて(記憶して)おいて、IPアドレスを知らない(記憶していない)ノード装置1については、各ノード装置1間で互いに情報を転送し合って届けてもらうというシステムが考案されている。
このようなシステムの一例として、DHTを利用したアルゴリズムによって、図1の上部枠100内に示すような、オーバレイネットワーク9が構築されることになる。つまり、このオーバレイネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワークを意味する。
本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバレイネットワーク9を前提としており、このオーバレイネットワーク9上に配置されたノード装置1を、情報通信システムSに参加(言い換えれば、オーバレイネットワーク9に参加)しているノード装置1という。なお、情報通信システムSへの参加は、未だ参加していないノード装置が、既に参加している任意のノード装置1に対して参加要求を送ることによって行われる。
情報通信システムSに参加している各ノード装置1のノードID(識別情報)は、それぞれのノード装置毎にユニーク(固有)な番号を付与する。この番号は、ノード装置の最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2^128=340×10^36台のノード装置を運用できる。
より具体的には、各ノード装置1のノードIDは、それぞれのノード装置のIPアドレスあるいは製造番号等のノード装置毎に固有の値を、共通のハッシュ関数(ハッシュアルゴリズム)によりハッシュ化して得たハッシュ値であり、一つのID空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数により求められた(ハッシュ化された)ノードIDは、当該IPアドレスあるいは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。なお、本実施形態では、IPアドレス(グローバルIPアドレス;宛先情報)を共通のハッシュ関数によりハッシュ化した値をノードIDとする。
[1.2.ルーティングテーブルの作成]
図2を参照して、DHTで用いるルーティングテーブルの作成手法の一例について説明する。図2は、DHTによってルーティングテーブルが作成される様子の一例を示す図である。
各ノード装置1に付与されたノードIDは、共通のハッシュ関数によって生成したため、図2(A)乃至図2(C)に示す如く、同一のリング状のID空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は8bitでノードIDを付与し、図示したものである。図中黒点はノードIDを示し、反時計回りでIDが増加するものとする。
まず、図2(A)に示す如く、ID空間を幾つかのエリアに分割する。実際には、16分割程度が良く用いられるが、説明を簡単にするためここでは4分割とし、IDをビット長8Bitの4進数で表すこととした。そして、ノード装置1NのノードIDを「1023」とし、このノード装置1Nのルーティングテーブルを作る例について説明する。
(レベル1のルーティング)
まず、ID空間を4分割とすると、それぞれのエリアは4進数で表すと最大桁が異なる4つのエリア「0XXX」「1XXX」、「2XXX」、「3XXX」(Xは0から3の整数、以下同様。)で分けられる。ノード装置1Nは、当該ノード装置1N自身のノードIDが「1023」であるため、図中左下「1XXX」のエリアに存在することになる。そして、ノード装置1Nは、自分の存在するエリア(すなわち、「1XXX」のエリア)以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDのIPアドレスをレベル1のテーブルに記憶する。図3(A)がレベル1のテーブルの一例である。2列目はノード装置1N自身を示しているため、IPアドレスを記憶する必要は無い。
(レベル2のルーティング)
次に、図2(B)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリアを更に4分割し、更に4つのエリア「10XX」「11XX」、「12XX」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDのIPアドレスをレベル2のテーブルに記憶する。図3(B)がレベル2のテーブルの一例である。1列目はノード装置1N自身を示しているため、IPアドレスを記憶する必要は無い。
(レベル3のルーティング)
さらに、図2(C)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリアを更に4分割し、更に4つのエリア「100X」「101X」、「102X」、「103X」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDのIPアドレスをレベル1のテーブルに記憶する。図3(C)がレベル3のテーブルの一例である。3列目はノード装置1N自身を示しているため、IPアドレスを記憶する必要は無く、2列目、4列目はそのエリアにノード装置が存在しないため空白となる。
このようにして、レベル4まで同様にルーティングテーブルを図3(D)に示す如く作成することにより、8bitのID全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
以上説明した手法に従って作成したルーティングテーブルを、全てのノード装置1が夫々作成して所有することになる。このように、ノード装置1は、他のノード装置1の宛先情報としてのIPアドレスと、グループ・グループ群としてのノードID空間のエリア、すなわちDHTの各レベル及び各列と、を対応付けて記憶している。
なお、ノードIDの桁数に応じてレベルの数が決まり、進数の数に応じて図3(D)における各レベルの注目桁の数が決まる。具体的に、16桁16進数である場合には、64bitのIDとなり、レベル16で注目桁の(英)数字は0〜fとなる。後述するルーティングテーブルの説明においては、各レベルの注目桁の数を示す部分を単に「列」ともいう。
[2.ノード装置の構成等]
次に、図4を参照して、ノード装置1の構成および機能について説明する。尚、各ノード装置1は、それぞれが行う処理によって初めに主情報を送信するノード装置1、受信した主情報を転送するノード装置1等として作用するが、その構成は同じである。
図4は、ノード装置1の概要構成例を示す図である。
各ノード装置1は、図4に示すように、演算機能を有するCPU,作業用RAM,各種データおよびプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、コンテンツデータ、インデックス情報、上記DHTおよびプログラム等を記憶保存(格納)するためのHD等から構成された記憶手段としての記憶部12(上記コンテンツデータは、保存されていないノード装置1もある)と、受信されたコンテンツデータ等を一時蓄積するバッファメモリ13と、コンテンツデータに含まれるエンコードされたビデオデータ(映像情報)およびオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワーク8を通じて他のノード装置1との間の情報の通信制御を行うための通信部20と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル等)21と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14および通信部20はバス22を介して相互に接続されている。
そして、制御部11におけるCPUが記憶部12等に記憶された各種プログラムを実行することにより、ノード装置1全体を統括制御するようになっており、また、入力部21からの指示信号に応じて、コンテンツデータ登録処理等を行うようになっている。ノード装置1は、実行されるプログラムに応じて、元の主情報を送信するノード装置、主情報を受信して転送するノード装置等として機能する。具体的には、ノード装置1の制御部11は、情報送信手段、情報転送手段、処理手段、転送回数制限手段、として機能する。
[3.情報通信システムの概略]
本実施形態の情報通信システムSの概略を説明する。本実施形態の情報通信システムSは、一のノード装置1が主情報をシステムS内の全てのノード装置1若しくは特定のグループのノード装置1に送信するものである。具体的に、一のノード装置1(X)が、ノードID空間を複数に分けた各グループの代表である各ノード装置1(IPアドレスを記憶しているノード装置)を決定し、当該ノード装置1に主情報を送信する(後述の図7乃至図10参照)。そして、当該主情報を受信した各ノード装置1がさらに自ノード装置が属するノードID空間(グループ)をさらに複数に分けた各グループの代表である各ノード装置1を決定し、当該ノード装置1に主情報を送信(転送)する(後述の図8乃至図10参照)。各ノード装置1がこのような動作を行うことにより、情報通信システムSに属する全てのノード装置に主情報を送信することができることとなる。
[3.1第一実施形態の情報通信システムの動作]
次に、第一実施形態の情報通信システムSの動作について図5乃至図12を用いて説明する。
[3.1.1.情報通信システム全体の動作]
以下に、図5乃至図10を参照して、第一実施形態の情報通信システム全体の動作について説明する。
一のノード装置1をノードXとし、ノードXが図5に示す4桁4進数からなるルーティングテーブルを保持していることが前提となる。このルーティングテーブルに示すように、レベル1〜4のいずれかのグループ群のグループに属するノードA〜ノードIのIPアドレス(宛先情報)を、ノードXが記憶している。
ノードXが主情報を送信することとなるが、図6(A)に示すように、当該主情報のヘッダ部分には、識別情報としてのターゲットノードID、及び、送信グループ特定値としてのIDマスクが含まれている。図6(A)に示すように、主情報とヘッダ部分からなるものを以下においてパケットという。
ターゲットノードIDは、ノードIDと同等の4桁4進数である。ノードXが他の全てのノード装置1に主情報を送信する際には、ノードXが付するターゲットノードIDは、後述するようにどのようなものであってもよいが、通常は、自ノード装置のノードIDとする。また、主情報を転送することとなるノード装置1が付するターゲットノードIDは、自ノード装置のノードIDとする。なお、一のノード装置1に主情報を送信する場合には、送信先のノード装置1に対応するノードIDをターゲットノードIDとする。
IDマスクは、ターゲットノードIDの有効桁数を指定するものであり、有効桁数により、ターゲットノードIDにおける上位から有効桁数分が共通するノードIDが示される。このようなIDマスクの性質より、本実施形態においてはIDマスクの値は0〜4であり、ルーティングテーブルの桁数が異なる場合には、0(ゼロ)以上かつルーティングテーブルの最大桁数以下の整数となる。なお、主情報に付されたIDマスクにより、ルーティングテーブルにおいて、IDマスクの値+1のレベルに登録されている各ノード装置1に情報が送信されることとなる。
次いで、ターゲットノードIDとIDマスクとの組み合わせについて説明する。
例えば、図6(B)に示すように、ターゲットノードIDが「2132」であり、IDマスクが「4」の場合には、ターゲットノードIDの「4」桁全てが有効であり、ノードIDが「2132」であるノード装置1のみに向けて主情報を含むパケットが送信されることとなる。
また、図6(C)に示すように、ターゲットノードIDが「3301」であり、IDマスクが「2」の場合には、ターゲットノードIDの上位「2」が有効であり、ノードIDが「33**」であり上位二桁が「33」である全てのノード装置1に向けて主情報を含むパケットが送信されることとなる。
さらに、図6(D)に示すように、ターゲットノードIDが「1220」であり、IDマスクが「0」の場合には、ターゲットノードIDの上位「0」桁が有効、すなわち、いずれの桁も有効でなく、ノードIDが「****」でありシステムS上の全てのノード装置1に向けて主情報を含むパケットが送信されることとなる。そのため、このときのターゲットノードIDは、どのような値であってもよい。
なお、詳述はしないが、パケットに含まれる主情報のヘッダ部分には、送信元のノードXのノードIDや、IPアドレス等の通常含まれる情報も含まれている。
次いで、図7乃至図10を用いて、ターゲットノードIDとIDマスクを用いた主情報の送信・転送の動作について説明する。
(第1段階)
まず、ノードXは、情報通信システムSに参加する全てのノード装置1に主情報を送信したいため、主情報のヘッダ部分に、ターゲットノードIDとして自ノード装置のノードID「3102」を付し、IDマスクとして「0」の値を付して、パケットを生成する。そして、図7(A)、(B)に示すように、ノードXが図5のルーティングテーブルを参照し、IDマスクの値「0」に1を足したレベル「1」のグループに属する各ノード装置1(ノードA,B,C)にパケットを送信する。
(第2段階)
次いで、ノードXは、送信したパケットの主情報に付したIDマスクの値「0」を、1を足した「1」に変換し、変換後のIDマスクを主情報に付してパケットを生成する。なお、ターゲットノードIDは、自ノード装置のノードIDであるため、変更しない。そして、ノードXが図5のルーティングテーブルを参照し、図8(A)のノードID空間の右上及び図8(B)に示すように、IDマスクの値「1」に1を足したレベル「2」のグループに属する各ノード装置1(ノードD,E,F)に生成したパケットを送信する。
そして、第1段階において、ノードXからパケットを受信したノードAは、パケットの主情報に付されたIDマスクの値「0」を、1を足した「1」に変換し、変換後のIDマスクを主情報に付してパケットを生成する。また、ターゲットノードID「3102」を自ノード装置のノードID「0132」に変換し、変換後のターゲットノードIDを主情報に付してパケットを生成する。そして、ノードAが図示しない自己のルーティングテーブルを参照し、図8(A)のノードID空間の左上及び図8(B)に示すように、IDマスクの値「1」に1を足したレベル「2」のグループに属する各ノード装置1(ノードA1,A2,A3)に生成したパケットを送信する。
同様にして、図8(A)のノードID空間の左下、右下及び図8(B)に示すように、第1段階においてパケットを受信しているノードB、ノードCも、夫々保持しているルーティングテーブルに従い、レベル2のグループに属する各ノード装置1(ノードB1,B2,B3,C1,C2,C3)に、IDマスク「1」及び自ノード装置のノードIDをターゲットノードIDとして主情報に付してパケットを生成し、当該パケットを送信する。
(第3段階)
次いで、ノードXは、送信したパケットの主情報に付したIDマスクの値「1」を、1を足した「2」に変換し、変換後のIDマスクを主情報に付してパケットを生成する。なお、ターゲットノードIDは、自ノード装置のノードIDであるため、変更しない。そして、ノードXが図5のルーティングテーブルを参照し、図9(A)のノードID空間の右上及び図9(B)に示すように、IDマスクの値「2」に1を足したレベル「3」のグループに属する各ノード装置1(ノードG,H)に生成したパケットを送信する。
そして、第2段階において、ノードXからパケットを受信したノードDは、受信したパケットの主情報に付されたIDマスクの値「1」を、1を足した「2」に変換し、変換後のIDマスクを主情報に付してパケットを生成する。また、ターゲットノードID「3102」を自ノード装置のノードID「3001」に変換し、変換後のターゲットノードIDを主情報に付してパケットを生成する。そして、ノードDが図示しない自己のルーティングテーブルを参照し、図9(B)に示すように、IDマスクの値「2」に1を足したレベル「3」のグループに属する各ノード装置1(ノードD1,D2,D3)に生成したパケットを送信する(図9(A)のノードID空間には図示しない)。
同様にして、図示しないが、第2段階においてパケットを受信しているノードE,F,A1,A2,A3,B1,B2,B3,C1,C2,C3も、夫々保持しているルーティングテーブルに従い、レベル3のグループに属する各ノード装置1に、IDマスク「2」及び自ノード装置のノードIDをターゲットノードIDとして主情報に付してパケットを生成し、当該パケットを送信する。
(第4段階)
次いで、ノードXは、送信したパケットの主情報に付したIDマスクの値「2」を、1を足した「3」に変換し、変換後のIDマスクを主情報に付してパケットを生成する。なお、ターゲットノードIDは、自ノード装置のノードIDであるため、変更しない。そして、ノードXが図5のルーティングテーブルを参照し、図10(A)のノードID空間の右上及び図10(B)に示すように、IDマスクの値「3」に1を足したレベル「4」のグループに属するノード装置1(ノードI)に主情報を送信する。
そして、第3段階において、ノードXからパケットを受信したノードGは、受信したパケットの主情報に付されたIDマスクの値「2」を、1を足した「3」に変換し、変換後のIDマスクを主情報に付してパケットを生成する。また、ターゲットノードID「3102」を自ノード装置のノードID「3123」に変換し、変換後のターゲットノードIDを主情報に付してパケットを生成する。そして、ノードGが図示しない自己のルーティングテーブルを参照し、図10(B)に示すように、IDマスクの値「3」に1を足したレベル「4」のグループに属する各ノード装置1(ノードG1のIPアドレスを記憶しているとする)に生成したパケットを送信する(図10(A)のノードID空間には図示しない)。
同様にして、図示しないが、上述のノードE,F,A1,A2,A3,B1,B2,B3,C1,C2,C3から第3段階においてパケットを受信している各ノード装置1も、夫々保持しているルーティングテーブルに従い、レベル4のグループに属する各ノード装置1に、IDマスク「3」及び自ノード装置のノードIDをターゲットノードIDとして主情報に付したパケットを生成し、当該パケットを送信する。
(最終段階)
次いで、ノードXは、送信したパケットの主情報に付したIDマスクの値「3」を、1を足した「4」に変換し、変換後のIDマスクを主情報に付してパケットを生成する。なお、ターゲットノードIDは、自ノード装置のノードIDであるため、変更しない。そうすると、ターゲットノードIDとIDマスクから、当該パケットが自ノード装置宛であることを認識し、送信処理を終了する。
そして、第4段階において、ノードXを含む各ノード装置1からパケットを受信した各ノード装置1も、受信したパケットの主情報に付されたIDマスクの値「3」を、1を足した「4」に変換し、変換後のIDマスクを主情報に付してパケットを生成する。また、ターゲットノードIDを自ノード装置のノードIDに変換し、変換後のターゲットノードIDを主情報に付してパケットを生成する。そうすると、ターゲットノードIDとIDマスクから、当該パケットが自ノード装置宛であることを認識し、送信処理を終了する。
なお、ノードXは、情報通信システムSに含まれる全てのノード装置1に主情報を知らしめるために送信しているため、パケットを受信した各ノード装置1は、主情報に対応した処理を行う。例えば、主情報がメッセージであるテキスト情報である場合には、当該メッセージを表わした画像を表示部16に表示する処理を行い、主情報がプログラムの更新情報である場合には、当該プログラムを更新する処理を行う。
[3.1.2.ノード装置の動作]
次に、(1)一のノード装置1(上述のノードX)が主情報をシステムS内の全てのノード装置1に送信しようとする際の当該ノードXで行われる処理(以下、情報送信処理という。)、及び、(2)当該ノードXから主情報を含むパケットを受信した他のノード装置1(例えば、上述のノードA)で行われる処理(以下、情報転送処理という。)について図11及び図12を用いて詳細に説明する。
(1)情報送信処理
図11を参照してノードXの情報送信処理について説明する。なお、ノードXは、上述のように、図5に示すルーティングテーブルを保持(記憶)しているものとする。
ノードXの制御部11は、自ノード装置が稼働している(すなわち、電源が入れられ、当該ノードXの各種設定を初期化している)前提で、入力部21や通信部20等から、ある情報を情報通信システムSに属する全てのノード装置1に送信すべき旨の指示があった場合に、情報送信処理を開始する(スタート)。
情報送信処理が開始されると、制御部11は、パケットを生成する(ステップS1)。具体的には、パケットのターゲットノードIDを自己のノードID「3102」とし、パケットのIDマスクを「0」とし、パケットの主情報を送信したい上記情報として、パケットを生成する。
次いで、制御部11は、パケットのIDマスクがルーティングテーブルの桁数(ノードIDの桁数、全レベル数)よりも小さいか否かを判断する(ステップS2)。このとき、IDマスク「0」は、ルーティングテーブルの桁数「4」よりも小さいため、制御部11は、パケットのIDマスクがルーティングテーブルの桁数よりも小さいと判断し(ステップS2YES)、ルーティングテーブルのレベル「パケットのIDマスク+1」に登録されている全てのノード装置1に向けて生成したパケットを送信する(ステップS3)。具体的には、パケットのIDマスク「0」+1のレベル1の段階のノード装置1である、ノードA、ノードB、ノードCに向けてパケットを送信する。
次いで、制御部11は、パケットのIDマスクを「パケットのIDマスク+1」の値に変換する(ステップS4)。具体的には、パケットのIDマスク「0」+1である「1」にIDマスクを変換して、パケットを再生成する。次いで、上述のステップS2に戻る。
その後、制御部11は、IDマスク「1」、「2」、「3」について同様にステップS2、S3、S4を繰り返し、ルーティングテーブルに記憶されているノードD、ノードE、ノードF、ノードG、ノードH、ノードIに向けてパケットを送信する。このように、ステップS2〜S4を繰り返すことにより、ルーティングテーブルにおける1〜4の各レベルのノード装置1に対してパケットを送信できることとなる。
次いで、制御部11は、パケットのIDマスクを「3」から1足した「4」に変換してパケットを再生成し(ステップS4)、上述のステップS2に戻る。
このとき、IDマスク「4」は、ルーティングテーブルの桁数「4」よりも小さくないため、制御部11は、パケットのIDマスクがルーティングテーブルの桁数よりも小さくないと判断し(ステップS2NO)、動作を終了する(エンド)。
(2)情報転送処理
図12を参照してノードAの情報転送処理について説明する。なお、ノードAの保持(記憶)するルーティングテーブルは、図示しない。
ノードAの制御部11は、自ノード装置が稼働している(すなわち、電源が入れられ、当該ノードAの各種設定を初期化している)前提で、例えば上述のノードXから通信部20等を介してパケットを受信した場合に、情報転送処理を開始する(スタート)。受信したパケットには、図7(B)に示すように、ターゲットノードIDが「3102」であり、IDマスクが「0」であり、上述の主情報が含まれている。
情報転送処理が開始されると、制御部11は、自己のノードIDがパケットのターゲットに含まれるか否かを判断する(ステップS11)。このパケットのターゲットとは、ターゲットノードIDにおけるIDマスクの値に該当する上位桁が共通するノードIDを示し、例えば、パケットのIDマスクが「0」であれば、全てのノードIDがパケットのターゲットに含まれ、パケットのIDマスクが「2」でパケットのターゲットノードIDが「3102」であれば、上位「2」桁が「31」となる「31**」のノードIDがパケットのターゲットに含まれることとなる。
このとき、パケットのIDマスクが「0」であり、有効桁数を指定されていないので、ノードAのノードID「0132」は、パケットのターゲットに含まれると制御部11は判断し(ステップS11YES)、パケットのターゲットノードIDを自己のノードID「0132」に変換する(ステップS12)。
次いで、制御部11は、パケットのIDマスクを「パケットのIDマスク+1」の値に変換する(ステップS13)。具体的には、パケットのIDマスク「0」+1である「1」にIDマスクを変換して、パケットを再生成する。
次いで、制御部11は、パケットのIDマスクがルーティングテーブルの桁数(ノードIDの桁数、全レベル数)よりも小さいか否かを判断する(ステップS14)。このとき、IDマスク「1」は、ルーティングテーブルの桁数「4」よりも小さいため、制御部11は、パケットのIDマスクがルーティングテーブルの桁数よりも小さいと判断し(ステップS14YES)、ルーティングテーブルのレベル「パケットのIDマスク+1」に登録されている全てのノード装置1に向けて生成したパケットを送信する(ステップS15)。具体的には、パケットのIDマスク「1」+1のレベル2の段階のノード装置1である、ノードA1、ノードA2、ノードA3に向けてパケットを送信し、ステップS13に戻る。
その後、制御部11は、IDマスク「2」、「3」について同様にステップS13、S14、S15を繰り返す。このように、ステップS13〜S15を繰り返すことにより、ルーティングテーブルにおける2〜4の各レベルのノード装置1に対してパケットを送信できることとなる。
次いで、制御部11は、パケットのIDマスクを「3」から1足した「4」に変換し(ステップS13)、パケットを再生成する。
このとき、IDマスク「4」は、ルーティングテーブルの桁数「4」よりも小さくないため、制御部11は、パケットのIDマスクがルーティングテーブルの桁数よりも小さくないと判断し(ステップS14NO)、パケットの主情報に応じた処理手段による処理を行い(ステップS16)、処理を終了する(エンド)。
一方、ノードAが受信したパケットが、例えば、IDマスクが「2」でターゲットノードIDが「3102」であれば、ノードAのノードID「0132」は、パケットのターゲット「31**」に含まれないと制御部11は判断し(ステップS11NO)、ルーティングテーブルの中でパケットのターゲットノードIDと上位桁から一致する桁数が最も多いノードに受信したパケットを送信(転送)し(ステップS17)、処理を終了する(エンド)。なお、このステップS17の転送処理は、通常のDHTのルーティングテーブルを用いたメッセージの転送である。
[3.2第二実施形態の情報通信システムの動作]
次に、第二実施形態の情報通信システムSの動作について図13乃至図16を用いて説明する。
上記第一実施形態の情報通信システムSは、情報送信処理、情報転送処理において、各ノード装置1がルーティングテーブルにIPアドレスが記憶されているノード装置1のみに対してパケット(主情報)を送信する形態であったが、第二実施形態の情報通信システムSは、情報送信処理、情報転送処理の際に、ルーティングテーブルにIPアドレスが記憶されていないノードIDを有するノード装置1に向けてもパケットを送信する形態である。第二実施形態の情報通信システムSは、当該システムSへのノード装置1の参加、脱退が多い環境であっても、可能な限り全てのノード装置に主情報を送信することが可能となり、より完全にシステム内の全てのノード装置1に情報を送信することが実現できる。
[3.2.1.情報通信システム全体の動作]
まず、第二実施形態の情報通信システム全体の動作は、図7乃至図10を参照して説明した第一実施形態とほぼ同様であり、一のノード装置1(上述のノードX)のルーティングテーブルにおいて、他のノード装置1のIPアドレスを記憶していないノードID「311*」、「3100」、「3101」に向けても、当該ノードXがパケットを送信する点で異なる。なお、パケットの直接の送信先は、送信元のノード装置1がIPアドレスを記憶している他のノード装置1である。ルーティングテーブルにIPアドレスを記憶していないノード装置1にパケットを送信する場合には、当該パケットが転送され続けてしまう可能性があるため、転送回数上限値をパケットのヘッダ部分に含ませることとする。
[3.2.2.ノード装置の動作]
第二実施形態におけるノード装置1の動作について、図13乃至図16の四つのフローチャートを用いて詳細に説明する。
(1)通常の情報送信処理
一のノード装置1(上述のノードX)が、主情報を含むパケットを指定するノードIDのノード装置1に送信しようとする際の当該ノードXで行われる処理を通常の情報送信処理として、以下に説明する。
ノードXの制御部11は、自ノード装置が稼働している(すなわち、電源が入れられ、当該ノードXの各種設定を初期化している)前提で、入力部21や通信部20等から、ある情報を情報通信システムSに属する一のノード装置1(ノードID:2132)に送信すべき旨の指示があった場合に、通常の情報送信処理を開始する(スタート)。
図13に示すように、通常の情報送信処理が開始されると、制御部11は、パケットを生成する(ステップS21)。具体的には、パケットのターゲットノードIDを自己のノードID「2132」とし、パケットのIDマスクを「4」とし、パケットの主情報を送信したい上記情報として、パケットを生成する(図6(B)参照)。
そして、生成したパケットについて、図16を用いて後述するパケット送信処理を行い(ステップS22)、処理を終了する。
(2)システム内全てのノード装置への情報送信処理
一のノード装置1(上述のノードX)が主情報を含むパケットをシステムSに参加している全てのノード装置1に送信しようとする際の当該ノードXで行われる処理をシステム内全てのノード装置への情報送信処理として、以下に説明する。
ノードXの制御部11は、自ノード装置が稼働している(すなわち、電源が入れられ、当該ノードXの各種設定を初期化している)前提で、入力部21や通信部20等から、ある情報を情報通信システムSに属する全てのノード装置1に送信すべき旨の指示があった場合に、通常の情報送信処理を開始する(スタート)。
図14に示すように、システム内全てのノード装置への情報送信処理が開始されると、制御部11は、パケットを生成する(ステップS31)。具体的には、パケットのターゲットノードIDを自己のノードID「3102」とし、パケットのIDマスクを「0」とし、パケットの主情報を送信したい上記情報として、パケット(図7(B)参照)を生成する。
そして、生成したパケットについて、図16を用いて後述するパケット送信処理を行い(ステップS32)、処理を終了する。
(3)情報受信処理
上述のノードXから主情報を含むパケットを受信した他のノード装置1(例えば、上述のノードA)で行われる処理を情報受信処理として、以下に説明する。
ノードXの制御部11は、自ノード装置が稼働している(すなわち、電源が入れられ、当該ノードXの各種設定を初期化している)前提で、通信部20等から、主情報を含むパケット(例えば、ターゲットノードID「3102」、IDマスク「0」)を受信した場合に、情報受信処理を開始する(スタート)。
図15に示すように、情報受信処理が開始されると、制御部11は、受信パケットの転送回数が転送回数上限値を超えたか否かを判断する(ステップS41)。なお、この転送回数上限値は、後述するように、ノードXがIPアドレスを記憶していないノード装置1に向けてパケットを送信した場合にパケットに含められる情報である。この転送回数上限値により、パケットが転送され続けてしまうことを防止できる(転送回数制限手段による)。
このとき、制御部11は、受信パケットの転送回数が転送回数上限値を超えていないと判断すると(ステップS41NO)、自己のノードIDが受信したパケットのターゲットに含まれるか否かを判断する(ステップS42)。このとき、パケットのIDマスクが「0」であり、全てのノードIDを含むため、制御部11は、自己のノードIDが受信したパケットのターゲットに含まれると判断し(ステップS42YES)、受信したパケットのヘッダ部分を変換してパケットを再生成する(ステップS43)。具体的には、パケットのターゲットノードIDを自己のノードID「0132」に変換し、パケットのIDマスク(=0)を「パケットのIDマスク+1」の値「1」に変換する。
そして、制御部11は、受信後再生成したパケットについて、図16を用いて後述するパケット送信処理を行い(ステップS44)、パケット内の主情報に応じた処理手段による処理を行い(ステップS45)、処理を終了する。
一方、ステップS41において、制御部11は、受信パケットの転送回数が転送回数上限値を超えたと判断した場合には(ステップS41YES)、転送を行わずに処理を終了する。
また、ステップS42において、制御部11は、自己のノードIDが受信したパケットのターゲットに含まれないと判断した場合には(ステップS42NO)、受信したパケットについて、図16を用いて後述するパケット送信処理を行い(ステップS46)、処理を終了する。なお、自己のノードIDが受信したパケットのターゲットに含まれない場合とは、例えば、自己のノードID「0132」に対し、パケットのターゲットノードIDが「3110」、IDマスクが「3」であるときである。上記パケットのターゲットは、ノードIDの上位3桁が「311」となるノード装置1であるのに対し、自己のノードID「0132」を含んでいないといえる。
(4)パケット送信処理
(1)〜(3)の各処理において行われるパケット送信処理について、ノード装置1(例えば、上述のノードX)で行われる処理として図16を用いて説明する。
なお、ノードXは、上述のように、図5に示すルーティングテーブルを保持(記憶)しているものとする。
ノード装置1の制御部11は、上述のステップS22、S32、S44、S46の場合におけるパケットの送信処理を開始すると(スタート)、自己の記憶するルーティングテーブルの指定するレベルを、自己のノードIDとパケットのターゲットノードIDの上位桁から一致する桁数+1の値に決定する(ステップS51)。例えば、(2)において説明したように、自己のノードIDが「3102」であり、ターゲットノードIDが「3102」である場合には、全て一致するため一致する桁数が「4」であり、これに1を足して、ルーティングテーブルのレベルを「5」と決定する。
次いで、制御部11は、決定したレベルがパケットのIDマスクよりも大きいか否かを判断する(ステップS52)。上述の例で言うと、決定したレベル「5」は、パケットのIDマスク「0」よりも大きいため、制御部11は、決定したレベルがパケットのIDマスクよりも大きいと判断し(ステップS52YES)、システムS内の全ノード装置への送信処理(マルチキャストメッセージ転送処理)に入る。
制御部11は、自己の記憶するルーティングテーブルの指定する領域を決定する(ステップS53)。指定する領域は、レベルを「パケットのIDマスクの値+1」の値とし、当該レベルの左端から1列(注目すべき桁数を0)とする。なお、ルーティングテーブルがA桁B進数からなる場合、レベルの値は1〜(Aの値)までであり、列の値は1〜(Bの値)まで(注目すべき桁数:0〜(B−1の値))となる。上述のように4桁4進数であれば、レベルは1〜4(全レベルの値(全レベル数)が4)であり、列は1〜4(全列の値(全列数)が4)である。上述の例では、パケットのIDマスクが「0」であるため、ルーティングテーブルの「レベル1、1列」が指定される。
次いで、制御部11は、レベルの値が全レベルの値(全レベル数)以下であるか否かを判断する(ステップS54)。上述の例では、レベルの値「1」が全レベルの値「4」以下であるため、制御部11は、レベルの値が全レベルの値以下であると判断し(ステップS54YES)、列の値が全列の値(全列数)以下であるか判断する(ステップS55)。上述の例では、列の値「1」が全列の値「4」以下であるため、制御部11は、レベルの値が全レベルの値以下であると判断し(ステップS55YES)、指定された領域が自己のノードIDを示すか否かを判断する(ステップS56)。
上述の例では、指定された「レベル1、1列」が自己のノードIDを示していないため、制御部11は、指定された領域が自己のノードIDを示さないと判断し(ステップS56NO)、指定された領域に他のノード装置が記憶されているか否かを判断する(ステップS57)。上述の例では、指定された「レベル1、1列」にノードAのIPアドレスが記憶されているため、制御部11は、指定された領域に他のノード装置が記憶されていると判断し(ステップS57YES)、当該記憶されているノード装置に対してパケットを送信する(ステップS58)。
次いで、制御部11は、指定する列の値に1を足して(ステップS59)、ステップS55に戻る。上述の例では、列「1」を列「2」に変更する。次いで、ステップS55〜S59を繰り返し、「レベル1、2列」のノードB、「レベル1、3列」のノードCにもパケットを送信し、指定する領域を「レベル1、4列」に変更し、ステップS55に戻る。
次いで、ステップS55を経て、ステップS56において、指定された「レベル1、4列」が自己のノードIDを示しているため、制御部11は、指定された領域が自己のノードIDを示すと判断し(ステップS56YES)、ステップS59の処理を行うことにより、指定する領域を「レベル1、5列」に変更し、ステップS55に戻る。このようにして、レベル1として記憶している全てのノード装置1にパケットを送信することができる。
このとき、列の値「5」が全列の値「4」以下でないため、制御部11は、レベルの値が全レベルの値以下でないと判断し(ステップS55NO)、パケットのIDマスクの値を「IDマスクの値+1」に変換してパケットを再生成し(ステップS60)、ステップS53に戻る。上述の例では、マスクIDを「1」とする。
制御部11は、ステップS53において、指定する領域を「レベル2、1列」とし、ステップS54、S55〜S59を繰り返し、「レベル2、1列」のノードD、「レベル2、3列」のノードE、「レベル2、4列」のノードFにパケットを送信し、指定する領域を「レベル2、5列」に変更する。このようにして、レベル2として記憶している全てのノード装置1にパケットを送信することができる。
このとき、列の値「5」が全列の値「4」以下でないため、制御部11は、レベルの値が全レベルの値以下でないと判断し(ステップS55NO)、パケットのIDマスクの値を「IDマスクの値+1」に変換してパケットを再生成し(ステップS60)、ステップS53に戻る。上述の例では、マスクIDを「2」とする。
制御部11は、ステップS53において、指定する領域を「レベル3、1列」とし、ステップS54、S55YES、S56YES、S59を経て「レベル3、2列」を指定し、ステップS55YES、S56NOを経てステップS57の判断を行う。
制御部11は、上述の例では、指定された領域「レベル3、2列」に他のノード装置1のIPアドレスが記憶されていないため、制御部11は、指定された領域に他のノード装置が記憶されていないと判断し(ステップS57NO)、指定された領域「レベル3、2列」に最も近くに記憶されている他のノード装置1に対して、パケットを送信する(ステップS61)。
ステップS61において、具体的には、IDマスクの値に1を足した値に変換し、ターゲットノードIDを当該領域に該当するノードIDに変換し、転送回数上限値の情報をヘッダ部分に含めてパケットを再生成し、再生成された当該パケットを送信する。上述の例では、IDマスクの値を「3」とし、ターゲットノードIDを「レベル3、2列」に該当する「3110」(特定しない下線部の桁数は任意に決められる)とする(図9(B)の「X→空」を参照)。このようにターゲットを特定することにより、この領域にノード装置1が参加した場合に、パケットを送信できることとなる。なお、上述の例においては、ノードGに当該パケットを送信して転送させればよい。
ここで、転送回数上限値は、転送回数の上限を決める値であり、ターゲットとなるノード装置1が存在しない場合に、パケットが転送され続けることを防止するために設けられる。転送回数上限値は、通常の転送では絶対に超えない程度のやや大きめの値とし、例えば、4桁のDHTを用いる場合には、転送回数上限値は8回、16回等にする。4桁のDHTを用いる場合の通常の転送回数は、4回以内に収まるのが通常である。以下の処理においては記載しないが、通常、転送されるパケットには当該パケットが何回転送されたかを示す情報が含まれて転送されることとなる。
次いで、制御部11は、ステップS59の処理に戻り、ステップS55〜S59を繰り返し、「レベル3、3列」のノードG、「レベル3、4列」のノードHにパケットを送信し、指定する領域を「レベル3、5列」に変更する。このようにして、レベル3として記憶している全てのノード装置1、及び、レベル3の記憶していない領域のノード装置1にパケットを送信することができる。
このとき、列の値「5」が全列の値「4」以下でないため、制御部11は、レベルの値が全レベルの値以下でないと判断し(ステップS55NO)、パケットのIDマスクの値を「IDマスクの値+1」に変換してパケットを再生成し(ステップS60)、ステップS53に戻る。上述の例では、マスクIDを「3」とする。
次いで、制御部11は、レベル4の各領域について、ステップS53、S54、S55〜S59、S61を繰り返し、「レベル4、4列」のノードIにパケットを送信し、指定する領域を「レベル4、5列」に変更する(ステップS60)。このようにして、レベル4として記憶している全てのノード装置1、及び、レベル4の記憶していない領域のノード装置1にパケットを送信することができる。
ステップS53に戻り、制御部11は、指定する領域を「レベル5、1列」とし、レベルの値が全レベルの値以下であるか否かを判断する(ステップS54)。上述の例では、レベルの値「5」が全レベルの値「4」以下でないため、制御部11は、レベルの値が全レベルの値以下でないと判断し(ステップS54NO)、処理を終了する。
一方、上述のステップS51において、例えば、(1)において説明したように、自己のノードIDが「3102」であり、ターゲットノードIDが「2132」、IDマスクが「4」である場合には、一致する桁数がないため「0」であり、これに1を足して、ルーティングテーブルのレベルを「1」と決定する。
次いで、制御部11は、決定したレベルがパケットのIDマスクよりも大きいか否かを判断する(ステップS52)。上述の例で言うと、決定したレベル「1」は、パケットのIDマスク「4」よりも小さいため、制御部11は、決定したレベルがパケットのIDマスクよりも大きくないと判断し(ステップS52NO)、通常のDHTメッセージ送信・転送の処理に入る。
制御部11は、決定したレベルにおけるターゲットノードIDに最も近いノード装置1であって、ルーティングテーブルに記憶しているものを決定し、当該ノード装置1にパケットを送信(転送)し、(ステップS62)、処理を終了する。なお、このステップS62の転送処理は、通常のDHTのルーティングテーブルを用いたメッセージの転送である。
[4.変形形態]
上述の各実施形態においては、送信グループ特定値(IDマスク)及び識別情報(ターゲットノードID)を用いて送信先のノード装置1を特定し、各グループの代表に主情報を送信することとしているが、この実施形態に限定されない。ノード装置1は、システムSに含まれるノード装置1を所定の規則に従って複数のグループに分けて、当該各グループに含まれる一のノード装置1を決定し、決定された全てのノード装置1に向けて主情報を送信するとともに、他のノード装置1から主情報を受信した場合に、当該主情報が自ノード装置を含むグループ宛の場合には、自ノード装置が属するグループを上記所定の規則に従ってさらに複数のグループに分けて、当該各グループに含まれる一のノード装置1を決定し、決定された全てのノード装置1に向けて受信した主情報を送信できればよい。
上述の各実施形態においては、本発明における所定の規則として、分散ハッシュテーブル(DHT)の手法を利用して、ノード装置1がグループ群(各レベル)、グループ(各列・注目桁の各数値)毎に自ノード装置のエリアと、他のノード装置のエリアを特定し、他のノード装置の各IPアドレスをルーティングテーブルに記憶している形態としている。しかしながら、本発明は、上述の形態に特定されず、ノード装置1が、所定の規則に従い、情報通信システムSに含まれるノード装置1を複数のグループに分けて、当該グループからなる一の段階のグループ群を記憶し、この段階のグループ群における自ノード装置が属するグループをさらに複数のグループに分けて、当該グループからなる次段階のグループ群を記憶し、分けられたグループに応じて所定数の段階毎にグループ群を記憶し、自ノード装置及び他のノード装置1の宛先を示す宛先情報(IPアドレス)を各グループと対応づけて記憶していればよい。ノード装置1がこのようにグループ分けして段階毎に他のノード装置1を記憶していることにより、主情報の送信、及び、主情報の転送が可能となり、システムSに含まれる全てのノード装置、又は、特定のグループに含まれる全てのノード装置に、主情報を送信することが可能となる。なお、本発明における「段階」を、実施形態においては「レベル」を用いて表しており、レベル1、レベル2等が段階に相当する。
上述の各実施形態においては、図6の各図に示すように、送信グループ特定値(IDマスク)及び識別情報(ターゲットノードID)が、パケットのヘッダ部分に含める形態としているが、この形態に限定されない。送信グループ特定値及び識別情報が主情報とともに送信される形態としていれば、どのような形態で主情報に付されていてもよい。また、送信グループ特定値の定義の仕方も、上述の各実施形態におけるものに限定されず、一定の規則により送信するグループを特定でき、また、主情報を転送する際等に一定の規則に従って送信グループ特定値を変換し、ターゲットとなるノード装置1を特定できればよい。
また、上述のノード装置1の各動作に対応するプログラムをフレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、或いはインターネット等のネットワークを介して取得して記録しておき、これをマイクロコンピュータ等により読み出して実行することにより、当該マイクロコンピュータを各実施形態に係る制御部11として機能させることも可能である。
また、上述の実施形態においては、図11にて、ある情報を情報通信システムSに属する全てのノード装置1に送信すべき旨の指示があった場合に、情報送信処理を開始(スタート)していたが、特定のグループのみにある情報を送信すべき旨の指示があった場合には、図11のS1にてIDマスクを特定のグループレベルを示す値に決定して、以降の処理を行えばよい。例えば、ノードIDが「3***」のノード装置1にある情報を送信すべき旨の指示があった場合には、図11のS1にてIDマスクを1に決定して、以降の処理を行えばよい。
1 ノード装置
8 ネットワーク
9 オーバレイネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
S 情報通信システム

Claims (9)

  1. 通信路を介して互いに接続された複数のノード装置の参加により形成された情報通信システムに含まれるノード装置であって、
    前記ノード装置を識別可能であり、桁が複数ある値により構成される識別情報が前記ノード装置に割り当てられ、
    分散ハッシュテーブルを用いて、前記複数のノード装置の中の一部のノード装置の宛先を示す宛先情報を記憶する記憶手段であり、
    前記識別情報の桁数に対応する数のレベルがあり、
    前記識別情報が取りうる値の範囲を、各桁の値として取りうる値の総数に基づいて分割してなる複数の分割エリアが、前記レベルのうち最上位のレベルである第1レベルと対応付けられ、
    上位の前記レベルに対応する複数の分割エリアのうち、前記記憶手段を備えるノード装置自身に割り当てられた前記識別情報が含まれる分割エリアをさらに前記総数に基づいて分割してなる複数の分割エリアが下位の前記レベルと対応付けられ、前記分散ハッシュテーブルとして、各前記レベルに対応する各前記分割エリアの夫々に含まれる前記識別情報が示すノード装置の前記宛先情報を用いて記憶する記憶手段と、
    前記記憶手段に記憶された宛先情報のうち少なくとも1つの宛先情報を決定し、決定された宛先情報が示すノード装置に向けて送信すべき主情報を送信する情報送信手段と、
    他のノード装置から前記主情報を受信した場合には、前記記憶手段に記憶された宛先情報のうち少なくとも1つの宛先情報を決定し、決定された宛先情報が示すノード装置に向けて受信した前記主情報を送信する情報転送手段と、
    を有することを特徴とするノード装置。
  2. 請求項1に記載のノード装置において、
    記識別情報が取りうる値の範囲を、各桁の値として取りうる値の総数に基づいて分割してなる複数の分割エリアが前記第1レベルと対応付けられ、
    上位の前記レベルに対応する複数の分割エリアのうち、前記記憶手段を備えるノード装置自身に割り当てられた前記識別情報が含まれる分割エリアをさらに前記総数に基づいて分割してなる複数の分割エリアが下位の前記レベルと対応付けられ、
    前記記憶手段は、前記分散ハッシュテーブルとして、各前記レベルに対応する各前記分割エリアの夫々に含まれる前記識別情報が示すノード装置の前記宛先情報を用いて記憶ることを特徴とするノード装置。
  3. 請求項1又は請求項2に記載のノード装置であって、
    前記情報送信手段は、前記レベルを示す送信レベル特定値と、前記記憶手段を備えるノード装置の前記識別情報とを前記主情報に付し、前記送信レベル特定値が示すレベルに対応する前記分割エリアに対応する前記宛先情報を決定し、決定された前記宛先情報が示すノード装置に向けて送信すべき主情報を送信し、
    前記情報転送手段は、他の前記ノード装置から受信した前記主情報に付された前記送信レベル特定値と前記識別情報とに示される前記識別情報の範囲が前記記憶手段を備えるノード装置を含む場合、前記送信レベル特定値を次のレベルを示す前記送信レベル特定値に変換し、変換後の前記送信レベル特定値と、前記記憶手段を備えるノード装置の前記識別情報とを前記主情報に付し、且つ、変換後の前記送信レベル特定値が示すレベルに対応する前記分割エリアに対応する前記宛先情報が示す前記ノード装置に前記主情報を送信することを特徴とするノード装置。
  4. 請求項3に記載のノード装置であって、
    前記情報送信手段又は前記情報転送手段の少なくともいずれか一は、前記主情報の転送回数の上限値を示す転送回数上限情報を前記主情報に付し、前記記憶手段が前記宛先情報を記憶していない前記分割エリアに前記識別情報が含まれる前記ノード装置である記憶外ノード装置に向けて前記主情報を送信し、
    さらに、他の前記ノード装置から受信した前記主情報に付された前記送信レベル特定値と前記識別情報とに示される前記識別情報の範囲が前記記憶手段を備えるノード装置を含む場合に、前記主情報に対する処理を行う処理手段と、
    前記転送回数上限情報が付された前記主情報を受信し、かつ、当該主情報が前記記憶手段を備えるノード装置に向けたものでない場合には、受信した前記主情報の転送された回数を認定し、認定した前記転送された回数が前記転送回数上限情報に対応する上限値以下である場合には、前記記憶外ノード装置に向けて前記主情報を送信する転送回数制限手段と、
    を有することを特徴とするノード装置。
  5. 請求項3又請求項4に記載のノード装置であって、
    前記情報転送手段は、前記変換後の送信レベル特定値が前記レベルの総数と等しくなった場合には、受信した前記主情報を他の前記ノード装置に送信しないことを特徴とするノード装置。
  6. 通信路を介して互いに接続された複数のノード装置の参加により形成された情報通信システムであって、
    前記ノード装置を識別可能であり、桁が複数ある値により構成される識別情報が前記ノード装置に割り当てられ、
    分散ハッシュテーブルを用いて、前記複数のノード装置の中の一部のノード装置の宛先を示す宛先情報を記憶する記憶手段であり、
    前記識別情報の桁数に対応する数のレベルがあり、
    前記識別情報が取りうる値の範囲を、各桁の値として取りうる値の総数に基づいて分割してなる複数の分割エリアが、前記レベルのうち最上位のレベルである第1レベルと対応付けられ、
    上位の前記レベルに対応する複数の分割エリアのうち、前記記憶手段を備えるノード装置自身に割り当てられた前記識別情報が含まれる分割エリアをさらに前記総数に基づいて分割してなる複数の分割エリアが下位の前記レベルと対応付けられ、前記分散ハッシュテーブルとして、各前記レベルに対応する各前記分割エリアの夫々に含まれる前記識別情報が示すノード装置の前記宛先情報を用いて記憶する記憶手段と、
    前記記憶手段に記憶された宛先情報のうち少なくとも1つの宛先情報を決定し、決定された宛先情報が示すノード装置に向けて送信すべき主情報を送信する情報送信手段と、
    他のノード装置から前記主情報を受信した場合には、前記記憶手段に記憶された宛先情報のうち少なくとも1つの宛先情報を決定し、決定された宛先情報が示すノード装置に向けて受信した前記主情報を送信する情報転送手段と、
    を有することを特徴とする情報通信システム。
  7. 通信路を介して互いに接続された複数のノード装置の参加により形成された情報通信システムにおける情報通信方法であって、
    前記ノード装置を識別可能であり、桁が複数ある値により構成される識別情報が前記ノード装置に割り当てられ、
    分散ハッシュテーブルを用いて、前記複数のノード装置の中の一部のノード装置の宛先を示す宛先情報を記憶する記憶手段であり、
    前記識別情報の桁数に対応する数のレベルがあり、
    前記識別情報が取りうる値の範囲を、各桁の値として取りうる値の総数に基づいて分割してなる複数の分割エリアが、前記レベルのうち最上位のレベルである第1レベルと対応付けられ、
    上位の前記レベルに対応する複数の分割エリアのうち、前記記憶手段を備えるノード装置自身に割り当てられた前記識別情報が含まれる分割エリアをさらに前記総数に基づいて分割してなる複数の分割エリアが下位の前記レベルと対応付けられ、前記分散ハッシュテーブルとして、各前記レベルに対応する各前記分割エリアの夫々に含まれる前記識別情報が示すノード装置の前記宛先情報を用いて記憶する記憶手段に記憶された宛先情報のうち少なくとも1つの宛先情報を決定し、決定された宛先情報が示すノード装置に向けて送信すべき主情報を送信する情報送信工程と、
    他のノード装置から前記主情報を受信した場合には、前記記憶手段に記憶された宛先情報のうち少なくとも1つの宛先情報を決定し、決定された宛先情報が示すノード装置に向けて受信した前記主情報を送信する情報転送工程と、
    を有することを特徴とする情報通信方法。
  8. コンピュータを、請求項1乃至5のいずれか一項に記載のノード装置として機能させることを特徴とする情報処理プログラム。
  9. 通信路を介して互いに接続された複数のノード装置の参加により形成された情報通信システムに含まれるノード装置のプログラムであって、
    前記ノード装置を識別可能であり、桁が複数ある値により構成される識別情報が前記ノード装置に割り当てられ、
    前記ノード装置に含まれるコンピュータを、
    分散ハッシュテーブルを用いて、前記複数のノード装置の中の一部のノード装置の宛先を示す宛先情報を記憶する記憶手段であり、
    前記識別情報の桁数に対応する数のレベルがあり、
    前記識別情報が取りうる値の範囲を、各桁の値として取りうる値の総数に基づいて分割してなる複数の分割エリアが、前記レベルのうち最上位のレベルである第1レベルと対応付けられ、
    上位の前記レベルに対応する複数の分割エリアのうち、前記記憶手段を備えるノード装置自身に割り当てられた前記識別情報が含まれる分割エリアをさらに前記総数に基づいて分割してなる複数の分割エリアが下位の前記レベルと対応付けられ、前記分散ハッシュテーブルとして、各前記レベルに対応する各前記分割エリアの夫々に含まれる前記識別情報が示すノード装置の前記宛先情報を用いて記憶する記憶手段に記憶された宛先情報のうち少なくとも1つの宛先情報を決定し、決定された宛先情報が示すノード装置に向けて送信すべき主情報を送信する情報送信ステップと、
    他のノード装置から前記主情報を受信した場合には、前記記憶手段に記憶された宛先情報のうち少なくとも1つの宛先情報を決定し、決定された宛先情報が示すノード装置に向けて受信した前記主情報を送信する情報転送ステップと、
    を実行させるノード装置のプログラム。
JP2009174669A 2009-07-27 2009-07-27 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム Active JP4947106B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009174669A JP4947106B2 (ja) 2009-07-27 2009-07-27 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009174669A JP4947106B2 (ja) 2009-07-27 2009-07-27 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2005238552A Division JP4375303B2 (ja) 2005-08-19 2005-08-19 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム

Publications (2)

Publication Number Publication Date
JP2009247015A JP2009247015A (ja) 2009-10-22
JP4947106B2 true JP4947106B2 (ja) 2012-06-06

Family

ID=41308351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009174669A Active JP4947106B2 (ja) 2009-07-27 2009-07-27 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム

Country Status (1)

Country Link
JP (1) JP4947106B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6369264B2 (ja) * 2014-09-26 2018-08-08 ブラザー工業株式会社 通信システム及び情報処理装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054867B2 (en) * 2001-09-18 2006-05-30 Skyris Networks, Inc. Systems, methods and programming for routing and indexing globally addressable objects and associated business models
US7613796B2 (en) * 2002-09-11 2009-11-03 Microsoft Corporation System and method for creating improved overlay network with an efficient distributed data structure
JP2004274441A (ja) * 2003-03-10 2004-09-30 Hitachi Cable Ltd レイヤ3スイッチ
JP4319486B2 (ja) * 2003-07-23 2009-08-26 サンネット株式会社 通信ネットワークシステム
JP4271620B2 (ja) * 2004-06-10 2009-06-03 日本電信電話株式会社 分散型データ処理/管理装置及びその方法
JP4670042B2 (ja) * 2005-01-13 2011-04-13 ブラザー工業株式会社 ノード装置、ノード装置情報更新方法、及びノード装置情報更新プログラム

Also Published As

Publication number Publication date
JP2009247015A (ja) 2009-10-22

Similar Documents

Publication Publication Date Title
JP4375303B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム
US7984182B2 (en) Node device, information transfer processing program, and network participation processing method and the like
JP2010028551A (ja) コンテンツ分散保存システム、ノード装置、ノード処理プログラム、及びアドレス情報変更通知方法
US8619631B2 (en) Information communication system, information communication method, node device included in information communication system and recording medium recording information processing program
WO2007023636A1 (ja) 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラムを記憶した記憶媒体
US8819295B2 (en) Information communication system, first information processing device, method for processing information, and computer readable storage medium
JP4539603B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
US8332463B2 (en) Distributed storage system, connection information notifying method, and recording medium in which distributed storage program is recorded
US8542690B2 (en) Information communication system, information collection method, node device, and recording medium
JP4622755B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
JP4947106B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム
JP4899990B2 (ja) 情報通信システムに含まれるノード装置及びその情報処理プログラム
JP4797679B2 (ja) コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム
US8514742B2 (en) Node device, information process method, and recording medium recording node device program
JP4770804B2 (ja) オーバレイネットワーク型通信システム、オーバレイネットワーク型ノード装置およびプログラム
US20080240138A1 (en) Tree type broadcast system, connection target determination method, connection management device, connection management process program, and the like
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP2008250568A (ja) 情報通信システム、失効リストの配信方法、情報通信システムに含まれるノード装置及び情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110419

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120220

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4947106

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150