JP2007235243A - 情報通信システム、情報収集方法、ノード装置、及びノード処理プログラム - Google Patents
情報通信システム、情報収集方法、ノード装置、及びノード処理プログラム Download PDFInfo
- Publication number
- JP2007235243A JP2007235243A JP2006051159A JP2006051159A JP2007235243A JP 2007235243 A JP2007235243 A JP 2007235243A JP 2006051159 A JP2006051159 A JP 2006051159A JP 2006051159 A JP2006051159 A JP 2006051159A JP 2007235243 A JP2007235243 A JP 2007235243A
- Authority
- JP
- Japan
- Prior art keywords
- node
- information
- message
- information collection
- node device
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1059—Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Abstract
【課題】管理サーバ等を用いずに複数のノード装置に対してより効率良く情報を送信し、且つ、当該複数のノード装置からの返答をより効率良く収集することを可能にする。
【解決手段】複数のノード装置が所定の規則に従って複数のグループに分けられた情報通信システムに含まれる前記ノード装置であって、情報収集メッセージ受信手段と、さらに複数のグループに分けられている場合には、一の前記ノード装置を決定し、当該決定された全ての前記ノード装置に前記受信された情報収集メッセージを送信する情報収集メッセージ送信手段と、前記決定された前記ノード装置の全部又は一部から返信されてきた、返信メッセージを受信する返信メッセージ受信手段と、返答情報と、自己の返答情報と、に基づいて新たな返答情報を生成する返答情報生成手段と、前記他のノード装置に返信する返信メッセージ返信手段と、を備えることを特徴とする。
【選択図】図12
【解決手段】複数のノード装置が所定の規則に従って複数のグループに分けられた情報通信システムに含まれる前記ノード装置であって、情報収集メッセージ受信手段と、さらに複数のグループに分けられている場合には、一の前記ノード装置を決定し、当該決定された全ての前記ノード装置に前記受信された情報収集メッセージを送信する情報収集メッセージ送信手段と、前記決定された前記ノード装置の全部又は一部から返信されてきた、返信メッセージを受信する返信メッセージ受信手段と、返答情報と、自己の返答情報と、に基づいて新たな返答情報を生成する返答情報生成手段と、前記他のノード装置に返信する返信メッセージ返信手段と、を備えることを特徴とする。
【選択図】図12
Description
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、当該複数のノード装置が所定の規則に従って複数のグループに分けられたピアツーピア(Peer to Peer(P2P))型情報通信システム等の技術分野に関する。
インターネット等のネットワークに接続された複数の端末装置(クライアント)に同じ情報を送信する方法として、情報送信元の装置(例えば、サーバ)が、情報送信先の端末装置の台数分だけ当該情報を複製し、該複製された情報を夫々の端末装置に送信する方法が一般的である。
一方、例えば特許文献1に開示されるIP(Internet Protocol)マルチキャスト技術では、情報送信元の装置(例えば、サーバ)から送出された一つの情報が、情報送信先の複数の端末装置に対応する夫々のルータ(宛先の分岐点)で複製され、夫々の端末装置に送信されるようになっており、これによって、情報送信元の装置の負担軽減が図られている。
また、特許文献2に開示されるように、複数の端末装置をグループ分けし、各グループにグループ管理サーバを設け、各グループに一つずつ情報を送信することにより、当該各グループに属する全ての端末装置に当該情報が送信される技術も知られている。
特開2000−49822号公報
特開2002−344477号公報
ところで、近年、ピアツーピアという技術が注目されてきている。ピアツーピア型の情報通信システムにおいて、例えば、分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して論理的に構築されたオーバーレイネットワークでは、各ノード装置が、当該オーバーレイネットワークに参加している全てのノード装置へのリンク情報(例えば、IPアドレス)を認識しているわけではなく、参加の際などに得られる一部のノード装置へのリンク情報だけを保持しており、かかるリンク情報に基づき、情報の問い合わせ等を行うようになっている。
このため、例えばあるノード装置において情報を複製し、当該複製された情報をオーバーレイネットワークに参加している全てのノード装置に送信することは困難である。
また、上記IPマルチキャスト技術を用いてオーバーレイネットワークに参加している全てのノード装置へ情報を送信することは可能であるが、情報が送信される経路上の全てのルータがIPマルチキャスト機能に対応していなければならないという問題がある。
更に、オーバーレイネットワークに参加している複数のノード装置をグループ分けし、各グループに管理サーバを設け、各グループの管理サーバが自己の管理するグループに属するノード装置に情報を送信することも可能であるが、コスト面、管理面において問題がある。
一方、従来の技術では、オーバーレイネットワークに参加している全てのノード装置に情報が送信されたとしても、ネットワークに負荷をかけずに、夫々のノード装置から返答をより効率良く収集することは困難である。
本発明は、以上の点に鑑みてなされたものであり、管理サーバ等を用いずに複数のノード装置に対してより効率良く情報を送信し、且つ、ネットワークに与える負荷を抑えつつ当該複数のノード装置からの返答をより効率良く収集することが可能な情報通信システム、情報収集方法、ノード装置、及びノード処理プログラムを提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、前記複数のノード装置が所定の規則に従って複数のグループに分けられた情報通信システムに含まれる前記ノード装置であって、他のノード装置から送信されてきた、自己が属する前記グループに対する情報収集メッセージを受信する情報収集メッセージ受信手段と、自己が属する前記グループが前記所定の規則に従ってさらに複数のグループに分けられている場合には、当該さらに分けられている各前記グループに属する一の前記ノード装置を決定し、当該決定された全ての前記ノード装置に前記受信された情報収集メッセージを送信する情報収集メッセージ送信手段と、前記決定された前記ノード装置の全部又は一部から返信されてきた、前記受信された情報収集メッセージに対する返答情報を含む返信メッセージを受信する返信メッセージ受信手段と、前記受信された返信メッセージに含まれる返答情報と、前記受信された情報収集メッセージに対する自己の返答情報と、に基づいて新たな返答情報を生成する返答情報生成手段と、前記生成された新たな返答情報を含む返信メッセージを前記他のノード装置に返信する返信メッセージ返信手段と、を備えることを特徴とする。
請求項1に記載の発明によれば、1のノード装置は、他のノード装置から送信されてきた、自己が属する前記グループに対する情報収集メッセージを受信し、自己が属する前記グループが所定の規則に従ってさらに複数のグループに分けられている場合には、当該さらに分けられている各前記グループに属する一の前記ノード装置を決定し、当該決定された全ての前記ノード装置に前記受信された情報収集メッセージを送信する。そして、当該1のノード装置は、上記決定された前記ノード装置の全部又は一部から返信されてきた、前記受信された情報収集メッセージに対する返答情報を含む返信メッセージを受信し、前記受信された返信メッセージに含まれる返答情報と、前記受信された情報収集メッセージに対する自己の返答情報と、に基づいて新たな返答情報を生成し、前記生成された新たな返答情報を含む返信メッセージを前記他のノード装置に返信するように構成したので、管理サーバ等を用いずに複数のノード装置に対してより効率良く情報収集メッセージを送信し、且つ、ネットワークに与える負荷を抑えつつ当該複数のノード装置からの返答をより効率良く収集することができる。
請求項2に記載の発明は、請求項1に記載のノード装置において、前記返答情報生成手段は、前記受信された返信メッセージに含まれる返答情報にて示される値と、前記自己の返答情報にて示される値と、を集計して前記返答情報を生成することを特徴とする。
請求項2に記載の発明によれば、情報収集メッセージが送信された複数のノード装置からの返答をより効率良く集計することができる。
請求項3に記載の発明は、請求項1又は2に記載のノード装置において、前記返答情報生成手段は、前記決定された前記ノード装置から所定時間内に返信された前記返信メッセージに含まれる返答情報と、前記自己の返答情報と、に基づいて新たな返答情報を生成することを特徴とする。
請求項3に記載の発明によれば、所定時間後に返ってきた返信メッセージに含まれる返答情報を無視することができるので、上流のノード装置に対して迅速に返答を返すことができる。
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載のノード装置において、 前記情報収集メッセージには、当該メッセージを識別するための識別情報が含まれており、前記返信メッセージ返信手段は、前記情報収集メッセージに含まれる識別情報を、これに対応する返信メッセージに含ませて、当該返信メッセージを返信することを特徴とする。
請求項4に記載の発明によれば、他のメッセージの返答情報と区別することができる。
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載のノード装置において、複数に分けられた各前記グループに属する一のノード装置の宛先情報を、夫々の前記グループに対応付けて一の段階として規定し、さらに自己が属する前記グループが複数のグループに分けられ、当該分けられた各前記グループに属する一のノード装置の宛先情報を、夫々の前記グループに対応付けて次の段階として少なくとも規定するテーブルを記憶する記憶手段をさらに備え、前記情報収集メッセージ受信手段は、前記一の段階に対応する前記各グループに対する情報収集メッセージを受信し、前記情報収集メッセージ送信手段は、前記次の段階に対応する前記各グループに属する前記一のノード装置を前記テーブルから決定し、当該決定された全ての前記ノード装置の前記記憶された宛先情報にしたがって前記情報収集メッセージを送信することを特徴とする。
請求項5に記載の発明によれば、管理サーバ等を用いずに複数のノード装置に対してより効率良く情報収集メッセージを送信することができる。
請求項6に記載の発明は、請求項5に記載のノード装置において、前記情報収集メッセージ受信手段は、前記一の段階を示す一グループ特定値が含まれた情報収集メッセージを受信し、前記情報収集メッセージ送信手段は、前記情報収集メッセージに含まれる前記一グループ特定値を、前記次の段階を示す次グループ特定値に変えて当該情報収集メッセージを送信することを特徴とする。
請求項7に記載の情報処理プログラムは、コンピュータを、請求項1乃至6の何れか一項に記載のノード装置として機能させることを特徴とする。
請求項8に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、前記複数のノード装置が所定の規則に従って複数のグループに分けられた情報通信システムであって、前記情報通信システムに含まれる第1の前記ノード装置は、各前記グループに属する一の前記ノード装置を決定し、当該決定された全ての前記ノード装置に情報収集メッセージを送信する情報収集メッセージ送信手段を備え、前記送信された前記情報収集メッセージを受信した第2のノード装置は、自己が属する前記グループが前記所定の規則に従ってさらに複数のグループに分けられている場合には、当該さらに分けられている各前記グループに属する一の前記ノード装置を決定し、当該決定された全ての前記ノード装置に前記受信された情報収集メッセージを送信する情報収集メッセージ送信手段と、前記決定された前記ノード装置の全部又は一部から返信されてきた、前記受信された情報収集メッセージに対する返答情報を含む返信メッセージを受信する返信メッセージ受信手段と、前記受信された返信メッセージに含まれる返答情報と、前記受信された情報収集メッセージに対する自己の返答情報と、に基づいて新たな返答情報を生成する返答情報生成手段と、前記生成された新たな返信情報を含む返信メッセージを前記第1のノード装置に返信する返信メッセージ返信手段と、を備えることを特徴とする。
請求項9に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、前記複数のノード装置が所定の規則に従って複数のグループに分けられた情報通信システムにおける情報収集方法であって、前記情報通信システムに含まれる第1の前記ノード装置は、各前記グループに属する一の前記ノード装置を決定し、当該決定された全ての前記ノード装置に情報収集メッセージを送信する工程を備え、前記送信された前記情報収集メッセージを受信した第2のノード装置は、自己が属する前記グループが前記所定の規則に従ってさらに複数のグループに分けられている場合には、当該さらに分けられている各前記グループに属する一の前記ノード装置を決定し、当該決定された全ての前記ノード装置に前記受信された情報収集メッセージを送信する工程と、前記決定された前記ノード装置の全部又は一部から返信されてきた、前記受信された情報収集メッセージに対する返答情報を含む返信メッセージを受信する工程と、前記受信された返信メッセージに含まれる返答情報と、前記受信された情報収集メッセージに対する自己の返答情報と、に基づいて新たな返答情報を生成する工程と、前記生成された新たな返信情報を含む返信メッセージを前記第1のノード装置に返信する工程と、を備えることを特徴とする。
本発明によれば、1のノード装置は、他のノード装置から送信されてきた、自己が属する前記グループに対する情報収集メッセージを受信し、自己が属する前記グループが所定の規則に従ってさらに複数のグループに分けられている場合には、当該さらに分けられている各前記グループに属する一の前記ノード装置を決定し、当該決定された全ての前記ノード装置に前記受信された情報収集メッセージを送信する。そして、当該1のノード装置は、上記決定された前記ノード装置の全部又は一部から返信されてきた、前記受信された情報収集メッセージに対する返答情報を含む返信メッセージを受信し、前記受信された返信メッセージに含まれる返答情報と、前記受信された情報収集メッセージに対する自己の返答情報と、に基づいて新たな返答情報を生成し、前記生成された新たな返答情報を含む返信メッセージを前記他のノード装置に返信するように構成したので、管理サーバ等を用いずに複数のノード装置に対してより効率良く情報収集メッセージを送信し、且つ、ネットワークに与える負荷を抑えつつ当該複数のノード装置からの返答をより効率良く収集することができる。
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、DHT(Distributed Hash Table)を利用して各種情報をノード装置に送信する情報通信システムに本発明を適用した場合の実施形態である。
[1.情報通信システムの構成等]
始めに、図1を参照して、情報通信システムの概要構成等について説明する。
[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が構築されている。なお、図1の例におけるネットワーク(通信ネットワーク)8には、メッセージ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。
情報通信システムSは、このようなネットワーク8を介して相互に接続された複数のノード装置(以下、「ノード」という)A,B,C・・・X,Y,Z・・・を備えて構成されることになり、ピアツーピア方式のネットワークシステムとなっている。各ノードA,B,C・・・X,Y,Z・・・には、固有の製造番号および宛先情報としてのIP(Internet Protocol)アドレスが割り当てられている。このような製造番号およびIPアドレスは、複数のノード間で重複しないものである。
次に、本実施形態に係る分散ハッシュテーブル(以下、「DHT」という)を利用したアルゴリズムについて説明する。
上述した情報通信システムSにおいて、当該ノード同士が、互いに情報をやり取りする際には、お互いのIPアドレス等を知っていなければならない。
例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク8に参加している各ノードが互いにネットワーク8に参加している全てのノードのIPアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全てのノードのIPアドレスを覚えておくのは現実的ではない。また、任意のノードの電源がON或いはOFFとすると、各ノードにて記憶している当該任意のノードのIPアドレスの更新が頻繁になり、運用上困難となる。
そこで、1台のノードでは、ネットワーク8に参加している全てのノードのうち、必要最低限のノードのIPアドレスだけを覚えて(記憶して)おいて、IPアドレスを知らない(記憶していない)ノードについては、各ノード間で互いに情報を転送し合って届けてもらうというシステムが考案されている。
このようなシステムの一例として、DHTを利用したアルゴリズムによって、図1の上部枠100内に示すような、オーバーレイネットワーク9が構築されることになる。つまり、このオーバーレイネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワークを意味する。
本実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提としており、このオーバーレイネットワーク9上に配置されたノードを、オーバーレイネットワーク9に参加しているノードという。なお、オーバーレイネットワーク9への参加は、未だ参加していないノードが、既に参加している任意のノードに対して参加要求を送ることによって行われる。
また、各ノードは、固有の識別情報としてのノードIDを有しており、当該ノードIDは、例えば、IPアドレスあるいは製造番号を共通のハッシュ関数(例えば、SHA−1等)によりハッシュ化して得たハッシュ値であり、一つのID空間に偏りなく分散して配置されることになる。このノードIDは、ノードの最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2^128=340×10^36台のノードを運用できる。
このように共通のハッシュ関数により求められたノードIDは、当該IPアドレスあるいは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。
次に、図2及び図3を参照して、DHTの内容であるルーティングテーブルの作成手法の一例について説明する。
図2は、ルーティングテーブルが作成される様子の一例を示す図であり、図3は、ルーティングテーブルの一例を示す図である。
各ノードに付与されたノードIDは、共通のハッシュ関数によって生成したため、図2(A)乃至図2(C)に示す如く、同一のリング状のID空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は8bitでノードIDを付与し、図示したものである。図中黒点はノードIDを示し、反時計回りでIDが増加するものとする。
先ず、図2(A)に示す如く、ID空間が、所定の規則に従って幾つかのグループとしてのエリアに分割される(分けられる)。実際には、16分割程度が良く用いられるが、説明を簡単にするためここでは4分割とし、IDをビット長8Bitの4進数で表すこととした。そして、ノードNのノードIDを「1023」とし、このノードNのルーティングテーブルを作る例について説明する。
(レベル1のルーティング)
ID空間を4分割とすると、それぞれのエリアは4進数で表すと最大桁が異なる4つのエリア「0XXX」、「1XXX」、「2XXX」、「3XXX」(Xは0から3の整数、以下同様。)で分けられる。ノードNは、当該ノードN自身のノードIDが「1023」であるため、図中左下「1XXX」のエリアに存在することになる。そして、ノードNは、自分の存在するエリア(すなわち、「1XXX」のエリア)以外のエリアに存在する各ノードを適当に選択し、当該ノードIDのIPアドレス等(実際には、ポート番号も含まれる、以下同様)をレベル1のテーブルにおける各欄(テーブルエントリー)に登録(記憶)する。図3(A)がレベル1のテーブルの一例である。なお、レベル1のテーブルにおける2列目の欄は、ノードN自身を示しているため、IPアドレス等を登録する必要は無い。
(レベル2のルーティング)
次に、図2(B)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリアを更に4分割し、更に4つのエリア「10XX」、「11XX」、「12XX」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在する各ノードを適当に選択し、当該ノードIDのIPアドレス等をレベル2のテーブルにおける各欄(テーブルエントリー)に登録する。図3(B)がレベル2のテーブルの一例である。なお、レベル2のテーブルにおける1列目の欄は、ノードN自身を示しているため、IPアドレス等を登録する必要は無い。
(レベル3のルーティング)
更に、図2(C)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリアを更に4分割し、更に4つのエリア「100X」、「101X」、「102X」、「103X」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在する各ノードを適当に選択し、当該ノードIDのIPアドレス等をレベル3のテーブルにおける各欄(テーブルエントリー)に登録する。図3(C)がレベル3のテーブルの一例である。なお、レベル3のテーブルにおける3列目の欄は、ノードN自身を示しているため、IPアドレス等を登録する必要は無く、2列目及び4列目の欄はそのエリアにノードが存在しないため空白となる。
(レベル1のルーティング)
ID空間を4分割とすると、それぞれのエリアは4進数で表すと最大桁が異なる4つのエリア「0XXX」、「1XXX」、「2XXX」、「3XXX」(Xは0から3の整数、以下同様。)で分けられる。ノードNは、当該ノードN自身のノードIDが「1023」であるため、図中左下「1XXX」のエリアに存在することになる。そして、ノードNは、自分の存在するエリア(すなわち、「1XXX」のエリア)以外のエリアに存在する各ノードを適当に選択し、当該ノードIDのIPアドレス等(実際には、ポート番号も含まれる、以下同様)をレベル1のテーブルにおける各欄(テーブルエントリー)に登録(記憶)する。図3(A)がレベル1のテーブルの一例である。なお、レベル1のテーブルにおける2列目の欄は、ノードN自身を示しているため、IPアドレス等を登録する必要は無い。
(レベル2のルーティング)
次に、図2(B)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリアを更に4分割し、更に4つのエリア「10XX」、「11XX」、「12XX」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在する各ノードを適当に選択し、当該ノードIDのIPアドレス等をレベル2のテーブルにおける各欄(テーブルエントリー)に登録する。図3(B)がレベル2のテーブルの一例である。なお、レベル2のテーブルにおける1列目の欄は、ノードN自身を示しているため、IPアドレス等を登録する必要は無い。
(レベル3のルーティング)
更に、図2(C)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリアを更に4分割し、更に4つのエリア「100X」、「101X」、「102X」、「103X」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在する各ノードを適当に選択し、当該ノードIDのIPアドレス等をレベル3のテーブルにおける各欄(テーブルエントリー)に登録する。図3(C)がレベル3のテーブルの一例である。なお、レベル3のテーブルにおける3列目の欄は、ノードN自身を示しているため、IPアドレス等を登録する必要は無く、2列目及び4列目の欄はそのエリアにノードが存在しないため空白となる。
このようにして、レベル4まで同様にルーティングテーブルが図3(D)に示す如く作成されることにより、8bitのID全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
以上説明した手法(規則)に従って作成したルーティングテーブルを、全てのノードが夫々作成して所有することになる。このように、各ノードは、他のノードの宛先情報としてのIPアドレス等と、グループとしての、ノードID空間のエリア、すなわちDHTの各レベル及び各列と、を対応付けて記憶している。つまり、各ノードは、複数に分けられた各エリアに属する一のノードのIPアドレス等を、夫々のエリアに対応付けて一の段階(レベル)として規定し、さらに自己が属するエリアが複数のエリアに分けられ、当該分けられた各エリアに属する一のノードのIPアドレス等を、夫々のエリアに対応付けて次の段階(レベル)として規定するルーティングテーブルを記憶している。
なお、ノードIDの桁数に応じてレベルの数が決まり、進数の数に応じて図3(D)における各レベルの注目桁の数が決まる。具体的に、16桁16進数である場合には、64bitのIDとなり、レベル16で注目桁の(英)数字は0〜fとなる。後述するルーティングテーブルの説明においては、各レベルの注目桁の数を示す部分を単に「列」ともいう。
[2.ノードの構成等]
次に、図4を参照して、ノードの構成および機能について説明する。なお、各ノード、それぞれが行う処理によって初めに情報(メッセージ)を送信するノード、受信した情報(メッセージ)を転送するノード等として作用するが、その構成は同じである。
[2.ノードの構成等]
次に、図4を参照して、ノードの構成および機能について説明する。なお、各ノード、それぞれが行う処理によって初めに情報(メッセージ)を送信するノード、受信した情報(メッセージ)を転送するノード等として作用するが、その構成は同じである。
図4は、ノードの概要構成例を示す図である。
各ノードは、図4に示すように、演算機能を有するCPU,作業用RAM,各種データおよびプログラムを記憶するROM等から構成されたコンピュータとしての制御部11と、コンテンツデータ、上記ルーティングテーブル及び各種プログラム等を記憶保存(格納)するためのHD等から構成されたとしての記憶手段としての記憶部12と、受信されたコンテンツデータ等を一時蓄積するバッファメモリ13と、コンテンツデータに含まれるエンコードされたビデオデータ(映像情報)およびオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワーク8を通じて他のノードとの間の情報の通信制御を行うための通信部20と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル等)21と、を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14および通信部20はバス22を介して相互に接続されている。
そして、制御部11は、CPUが記憶部12等に記憶された各種プログラム(ノード処理プログラムを含む)を実行することにより、ノード全体を統括制御するようになっており、また、情報収集メッセージ送信手段、情報収集メッセージ受信手段、返信メッセージ受信手段、返答情報生成手段、返信メッセージ返信手段等として機能し、後述する処理を行うようになっている。
なお、上記ノード処理プログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
[3.情報通信システムの動作]
次に、以上のような情報通信システムSの構成において、上記DHTを利用したマルチキャスト(以下、「DHTマルチキャスト」という)により、オーバーレイネットワーク9に参加している一のノードXから送出された情報収集メッセージが他の全てのノードに配信され、上記ノードXが当該情報収集メッセージに対する返答情報(返信メッセージにより)を収集する場合の動作例を説明する。
[3.情報通信システムの動作]
次に、以上のような情報通信システムSの構成において、上記DHTを利用したマルチキャスト(以下、「DHTマルチキャスト」という)により、オーバーレイネットワーク9に参加している一のノードXから送出された情報収集メッセージが他の全てのノードに配信され、上記ノードXが当該情報収集メッセージに対する返答情報(返信メッセージにより)を収集する場合の動作例を説明する。
(3.1.情報収集メッセージのマルチキャスト)
先ず、図5乃至図10を参照して、情報収集メッセージのDHTマルチキャストについて説明する。
先ず、図5乃至図10を参照して、情報収集メッセージのDHTマルチキャストについて説明する。
図5は、ノードXが保持するルーティングテーブルの一例であり、図6は、情報収集メッセージを模式的に表した図であり、図7乃至図10は、DHTマルチキャストが行われる様子を示す図である。
なお、ノードXは、図5に示すようなルーティングテーブルを保持しているものとし、当該ルーティングテーブルのレベル1〜4の各エリアに対応する欄には、ノードA〜ノードIの何れかのノードのノードID(4桁4進数)及びIPアドレス等が記憶されているものとする。
また、情報収集メッセージは、図6(A)に示すように、ヘッダ部とペイロード部から構成されるパケットからなり、ヘッダ部には、ターゲットノードID、レベルを示すグループ特定値としてのIDマスク、及びターゲットノードIDに対応するノードのIPアドレス等(図示せず)が含まれており、ペイロード部には、メッセージを識別するための識別情報としてのユニークID(情報収集メッセージと返信メッセージの組毎に固有のID)、収集内容等を含む主情報が含まれている。なお、収集内容としては、例えば、オーバーレイネットワーク9への参加ノード数の集計、コンテンツの視聴者数の集計、特定のコンテンツの瞬間視聴率の集計、所定のアンケートの集計等が挙げられ、かかる集計を行うための条件や各ノードに実行させる命令等も、当該収集内容に含まれる。
ここで、ターゲットノードIDとIDマスクとの関係について詳しく説明する。
ターゲットノードIDは、ノードIDと同等の桁数であり(図5の例では、4桁4進数)、送信先ターゲットとなるノードを設定するものであり、IDマスクの値に応じて、例えば、情報収集メッセージを送信又は転送するノードのノードIDとしたり、送信先のノードのノードIDとする。
また、IDマスクは、ターゲットノードIDの有効桁数を指定するものであり、有効桁数により、ターゲットノードIDにおける上位から有効桁数分が共通するノードIDが示される。具体的には、IDマスク(IDマスクの値)は、0以上ノードIDの最大桁数以下の整数となり、例えば、ノードIDが4桁4進数の場合、0〜4までの整数となる。
例えば、図6(B)に示すように、ターゲットノードIDが「2132」であり、IDマスクの値が「4」の場合には、ターゲットノードIDの「4」桁全てが有効であり、ノードIDが「2132」であるノードのみが情報収集メッセージの送信先ターゲットとなる。
また、図6(C)に示すように、ターゲットノードIDが「3301」であり、IDマスクの値が「2」の場合には、ターゲットノードIDの上位「2」が有効であり(ノードIDが「33**」)上位二桁が「33」である(下位2桁はどのような値でも良い)ルーティングテーブル上の全てのノードが情報収集メッセージの送信先ターゲットとなる。
更に、図6(D)に示すように、ターゲットノードIDが「1220」であり、IDマスクの値が「0」の場合には、ターゲットノードIDの上位「0」桁が有効、すなわち、いずれの桁もどのような値であっても良く(そのため、このときのターゲットノードIDは、どのような値であってもよいことになる。)、ルーティングテーブル上の全てのノードが情報収集メッセージの送信先ターゲットとなる。
そして、ノードIDを4桁4進数とした場合、ノードXから送出される情報収集メッセージのDHTマルチキャストは、図7乃至図10に示すように、第1段階から第4段階までのステップで行われる。
(第1段階)
先ず、ノードXは、ヘッダ部におけるターゲットノードIDを自己(自ノード)のノードID「3102」とし、IDマスクを「0」として、当該ヘッダ部及びペイロード部を含む情報収集メッセージを生成する。そして、図7(A)、(B)に示すように、ノードXは、図5に示すルーティングテーブルを参照し、IDマスク「0」に1を加算した(足した)レベル「1」のテーブルにおける各欄に登録された(つまり、各グループとしての各エリアに属する)各ノード(ノードA,B,C)に対して情報収集メッセージを送信する。
先ず、ノードXは、ヘッダ部におけるターゲットノードIDを自己(自ノード)のノードID「3102」とし、IDマスクを「0」として、当該ヘッダ部及びペイロード部を含む情報収集メッセージを生成する。そして、図7(A)、(B)に示すように、ノードXは、図5に示すルーティングテーブルを参照し、IDマスク「0」に1を加算した(足した)レベル「1」のテーブルにおける各欄に登録された(つまり、各グループとしての各エリアに属する)各ノード(ノードA,B,C)に対して情報収集メッセージを送信する。
(第2段階)
次に、ノードXは、上記情報収集メッセージのヘッダ部におけるIDマスク「0」を「1」に変換した情報収集メッセージを生成する。なお、ターゲットノードIDは自己のノードIDであるため、変更されない。そして、ノードXは、図5に示すルーティングテーブルを参照し、図8(A)のノードID空間の右上のエリア及び図8(B)に示すように、IDマスク「1」に1を加算したレベル「2」のテーブルにおける各欄に登録された各ノード(ノードD,E,F)に対して当該情報収集メッセージを送信する。
次に、ノードXは、上記情報収集メッセージのヘッダ部におけるIDマスク「0」を「1」に変換した情報収集メッセージを生成する。なお、ターゲットノードIDは自己のノードIDであるため、変更されない。そして、ノードXは、図5に示すルーティングテーブルを参照し、図8(A)のノードID空間の右上のエリア及び図8(B)に示すように、IDマスク「1」に1を加算したレベル「2」のテーブルにおける各欄に登録された各ノード(ノードD,E,F)に対して当該情報収集メッセージを送信する。
一方、第1段階において、ノードXから情報収集メッセージ(自己が属するエリアに対する情報収集メッセージ)を受信したノードAは、当該情報収集メッセージのヘッダ部におけるIDマスク「0」を「1」に変換し、且つ、ターゲットノードID「3102」を自己のノードID「0132」に変換した情報収集メッセージを生成する。そして、ノードAは、図示しない自己のルーティングテーブルを参照し、図8(A)のノードID空間の左上のエリア及び図8(B)に示すように、IDマスク「1」に1を加算したレベル「2」のテーブルにおける各欄に登録された各ノード(ノードA1,A2,A3)に対して当該情報収集メッセージを送信する。つまり、ノードAは、自己が属するエリア「0XXX」がさらに複数のエリア(「00XX」、「01XX」、「02XX」、「03XX」)に分けられている場合には、当該さらに分けられている各エリアに属する一のノード(ノードA1,A2,A3)を決定し、当該決定された全てのノード(ノードA1,A2,A3)に受信された情報収集メッセージを送信する(以下、同様)。
同様にして、図8(A)のノードID空間の左下及び右下のエリア及び図8(B)に示すように、第1段階において、ノードXから情報収集メッセージを受信したノードB及びノードCも、夫々、自己のルーティングテーブルを参照し、レベル2のテーブルにおける各欄に登録された各ノード(ノードB1,B2,B3,C1,C2,C3)に対して、IDマスクを「1」とし、且つ、自己のノードIDをターゲットノードIDとした情報収集メッセージを生成し、これを送信する。
(第3段階)
次に、ノードXは、上記情報収集メッセージのヘッダ部におけるIDマスク「1」を「2」に変換した情報収集メッセージを生成する。なお、上記と同様、ターゲットノードIDは変更されない。そして、ノードXは、図5に示すルーティングテーブルを参照し、図9(A)のノードID空間の右上のエリア及び図9(B)に示すように、IDマスク「2」に1を加算したレベル「3」のテーブルにおける各欄に登録された各ノード(ノードG,H)に対して当該情報収集メッセージを送信する。
次に、ノードXは、上記情報収集メッセージのヘッダ部におけるIDマスク「1」を「2」に変換した情報収集メッセージを生成する。なお、上記と同様、ターゲットノードIDは変更されない。そして、ノードXは、図5に示すルーティングテーブルを参照し、図9(A)のノードID空間の右上のエリア及び図9(B)に示すように、IDマスク「2」に1を加算したレベル「3」のテーブルにおける各欄に登録された各ノード(ノードG,H)に対して当該情報収集メッセージを送信する。
一方、第2段階において、ノードXから情報収集メッセージを受信したノードDは、当該情報収集メッセージのヘッダ部におけるIDマスク「1」を「2」に変換し、且つ、ターゲットノードID「3102」を自己のノードID「3001」に変換した情報収集メッセージを生成する。そして、ノードDは、自己のルーティングテーブルを参照し、図9(B)に示すように、IDマスク「2」に1を加算したレベル「3」のテーブルにおける各欄に登録された各ノード(ノードD1,D2,D3)に対して当該情報収集メッセージを送信する。
同様にして、図示しないが、第2段階において、情報収集メッセージを受信したノードE,F,A1,A2,A3,B1,B2,B3,C1,C2,C3も、夫々、自己のルーティングテーブルを参照し、レベル3のテーブルにおける各欄に登録された各ノード(図示せず)に対して、IDマスクを「2」とし、且つ、自己のノードIDをターゲットノードIDとした情報収集メッセージを生成し、これを送信する。
(第4段階)
次に、ノードXは、上記情報収集メッセージのヘッダ部におけるIDマスク「2」を「3」に変換した情報収集メッセージを生成する。なお、上記と同様、ターゲットノードIDは変更されない。そして、ノードXは、図5に示すルーティングテーブルを参照し、図10(A)のノードID空間の右上のエリア及び図10(B)に示すように、IDマスク「3」に1を加算したレベル「4」のテーブルにおける各欄に登録されたノードIに対して当該情報収集メッセージを送信する。
次に、ノードXは、上記情報収集メッセージのヘッダ部におけるIDマスク「2」を「3」に変換した情報収集メッセージを生成する。なお、上記と同様、ターゲットノードIDは変更されない。そして、ノードXは、図5に示すルーティングテーブルを参照し、図10(A)のノードID空間の右上のエリア及び図10(B)に示すように、IDマスク「3」に1を加算したレベル「4」のテーブルにおける各欄に登録されたノードIに対して当該情報収集メッセージを送信する。
一方、第3段階において、ノードXから情報収集メッセージを受信したノードGは、当該情報収集メッセージのヘッダ部におけるIDマスク「2」を「3」に変換し、且つ、ターゲットノードID「3102」を自己のノードID「3123」に変換した情報収集メッセージを生成する。そして、ノードGは、自己のルーティングテーブルを参照し、図10(B)に示すように、IDマスク「3」に1を加算したレベル「4」のテーブルにおける各欄に登録されたノードG1に対して当該情報収集メッセージを送信する。
同様にして、図示しないが、第3段階において、情報収集メッセージを受信した各ノードも、自己のルーティングテーブルを参照し、レベル4のテーブルにおける各欄に登録された各ノードに対して、IDマスクを「3」とし、且つ、自己のノードIDをターゲットノードIDとした情報収集メッセージを生成し、これを送信する。
(最終段階)
最後に、ノードXは、上記情報収集メッセージのヘッダ部におけるIDマスク「3」を「4」に変換した情報収集メッセージを生成する。そうすると、ターゲットノードIDとIDマスクから、当該情報収集メッセージが自己(自ノード)宛であることを認識し、送信処理を終了する。
最後に、ノードXは、上記情報収集メッセージのヘッダ部におけるIDマスク「3」を「4」に変換した情報収集メッセージを生成する。そうすると、ターゲットノードIDとIDマスクから、当該情報収集メッセージが自己(自ノード)宛であることを認識し、送信処理を終了する。
一方、第4段階において、情報収集メッセージを受信した各ノード1も、当該情報収集メッセージのヘッダ部におけるIDマスク「3」を「4」に変換した情報収集メッセージを生成する。そうすると、ターゲットノードIDとIDマスクから、当該情報収集メッセージが自己(自ノード)宛であることを認識し、送信処理を終了する。
なお、情報収集メッセージのペイロード部に含まれるユニークIDは、各情報収集メッセージ毎に固有に付与されるIDであり、例えばノードXから送出された一のメッセージが転送され最後のノードに至るまで、当該IDは変わらない。また、情報収集メッセージに応じて、各ノードから返信される返信メッセージにも、元となった情報収集メッセージと同一のユニークIDが付与される。
(3.2.情報収集メッセージに対する返答情報の収集)
次に、図11を参照して、返信メッセージの収集について説明する。
次に、図11を参照して、返信メッセージの収集について説明する。
図11は、返信メッセージが、下流のノードから上流のノードに順次返信されていく様子を示す図である。
上記情報収集メッセージを受信した全てのノードは、当該情報収集メッセージに対する返答情報を生成し、当該返答情報を含む返信メッセージを、上流のノード、つまり、当該情報収集メッセージを送信したノード(情報収集メッセージのターゲットノードIDに対応するノード)に対して返信する。このとき、下流のノード、つまり、自己が情報収集メッセージを送信した相手のノードから返信された返信メッセージを受信していた場合には、受信された返信メッセージに含まれる返答情報と、自己の返答情報と、に基づいて新たな返答情報を生成(例えば、受信された返信メッセージに含まれる返答情報にて示される値(例えば集計結果)と、自己の返答情報にて示される値(例えば集計結果)と、を集計して返答情報を生成)し、当該生成された新たな返答情報を含む返信メッセージを、上流のノードに対して返信することになる。
図11の例では、下流のノードから上流のノードに返信されていく経路上における各ノードにおいて、何らかの情報(例えば、オーバーレイネットワーク9への参加ノード数)が集計(この場合、オーバーレイネットワーク9に参加しているノードは、下流からの集計結果Rに「1」を加算)され、その集計結果Rが返答情報となっている。
また、各ノードは、受信した情報収集メッセージに含まれるユニークIDを、これに対応する返信メッセージに含ませて、当該返信メッセージを返信することになる。これにより、他の収集結果(集計結果)と区別することができる。
こうして、情報収集メッセージの送信元であるノードXは、オーバーレイネットワーク9に参加している全てのノードから情報収集メッセージに対する返答情報を収集するのである。
(3.3.各ノードにおける処理)
次に、図12乃至図16を参照して、上述した情報通信システムSの動作において、各ノードの制御部11より実行される処理について詳しく説明する。
次に、図12乃至図16を参照して、上述した情報通信システムSの動作において、各ノードの制御部11より実行される処理について詳しく説明する。
図12は、情報収集メッセージの送信元のノードにおける処理を示すフローチャートであり、図13は、図12におけるDHTマルチキャスト処理の詳細を示すフローチャートである。また、図14は、情報収集メッセージを受信したノードにおける処理を示すフローチャートであり、図15は、図14における返信メッセージ送信処理の詳細を示すフローチャートであり、図16は、図12又は図15における返答集計処理の詳細を示すフローチャートである。
なお、オーバーレイネットワーク9に参加している各ノードは、稼働(すなわち、電源が入れられ、各種設定を初期化している)し、ユーザからの入力部21を介した指示待機、及び他のノードからのネットワーク8を介したメッセージの受信待機状態にあるものとする。
例えば、図12に示す処理は、任意のノードXにおいて、ユーザからの入力部21を介した情報収集メッセージ送信指示の入力により開始され、先ず、ノードXの制御部11は、固有のユニークIDと、収集内容とを取得し、当該取得したユニークID及び収集内容をペイロード部に含む情報収集メッセージを生成する(ステップS1)。
ここで、ユニークIDは、オーバーレイネットワーク9全体として過去に使用されていない番号を使用する必要があるので、例えば、自己の製造番号に所定値を加えた値を上述した共通のハッシュ関数によりハッシュ化して得たハッシュ値をユニークIDとする。或いは、メッセージのユニークIDを管理する管理サーバを用意しておき、各ノードは、当該管理サーバに接続して、重複しないユニークID(この場合、当該ユニークIDは、ハッシュ値ではく、所定値(例えば、1)ずつ増していくシリアル番号であっても良い)を取得するようにしても良い。
また、収集内容は、予めユーザにより任意に選択又は設定され、記憶部12に記憶されるようにしておく。
次いで、ノードXの制御部11は、DHTマルチキャスト処理を開始する(ステップS2)。
当該DHTマルチキャスト処理においては、図13に示すように、ノードXの制御部11は、上記生成した情報収集メッセージのヘッダ部におけるターゲットノードIDとして自己のノードID「3102」を設定し、IDマスクとして「0」を設定し、IPアドレスとして自己のIPアドレスを設定する(ステップS11)。
次いで、当該制御部11は、上記設定したIDマスクの値が、自己のルーティングテーブルの全レベル数(図5の例では、「4」)よりも小さいか否かを判断する(ステップS12)。
このとき、IDマスクに「0」が設定されているので、ルーティングテーブルの全レベル数よりも小さいため、当該制御部11は、IDマスクがルーティングテーブルの全レベル数よりも小さいと判断し(ステップS12:YES)、自己のルーティングテーブルにおける「上記設定したIDマスク+1」のレベルに登録されている全てのノードを決定し(つまり、ノードXが属するエリアがさらに複数のエリアに分けられているので、当該さらに分けられている各エリアに属する一のノードが決定される)、当該決定したノードに対して上記生成した情報収集メッセージを送信する(ステップS13)。
例えば、図5の例では、「IDマスク「0」+1」であるレベル1に登録されたノードA、ノードB、及びノードCに対して情報収集メッセージが送信されることになる。
次いで、当該制御部11は、上記情報収集メッセージのヘッダ部において設定されたIDマスクの値に「1」を加算して当該IDマスクを再設定し(ステップS14)、ステップS12に戻る。
その後、当該制御部11は、IDマスク「1」,「2」,「3」について同様にステップS12〜S14の処理を繰り返す。これにより、上記情報収集メッセージは、自己のルーティングテーブルに登録されている全てのノードに送信されることになる。
一方、ステップS12において、IDマスクの値が、自己のルーティングテーブルの全レベル数よりも小さくないと判断された場合(図5の例では、IDマスクの値が「4」の場合)には、上記図12に示す処理に戻る。
次に、上記のように送信された情報収集メッセージを受信した各ノードは、当該情報収集メッセージを記憶し、図14に示す処理を開始する。ここでは、ノードAを例にとって説明する。
図14に示す処理が開始されると、ノードAの制御部11は、自己のノードIDが、受信した情報収集メッセージのヘッダ部におけるターゲットノードID及びIDマスクにより特定されるターゲットに含まれるか否かを判断する(ステップS21)。
ここで、ターゲットとは、ターゲットノードIDにおいて、IDマスクの値に該当する上位桁が共通するノードIDを示し、例えば、IDマスクが「0」であれば、全てのノードIDがターゲットに含まれ、IDマスクが「2」でターゲットノードIDが「3102」であれば、上位「2」桁が「31」となる「31**」(**はどのような値でも良い)のノードIDがターゲットに含まれることとなる。
ノードAが受信した情報収集メッセージのヘッダ部におけるIDマスクは「0」であり、有効桁数が指定されていないので、ノードAの制御部11は、自己のノードID「0132」がターゲットに含まれると判断し(ステップS21:YES)、当該情報収集メッセージのヘッダ部におけるターゲットノードIDを、自己のノードID「0132」に変換設定する(ステップS22)。
次いで、当該制御部11は、上記情報収集メッセージのヘッダ部におけるIDマスクの値に「1」を加算して当該IDマスクを再設定(ここでは、「0」から「1」に変換(一のレベルを示すIDマスクを次のレベルを示すIDマスクに変えて))する(ステップS23)。
次いで、当該制御部11は、上記再設定したIDマスクの値が、自己のルーティングテーブルの全レベル数よりも小さいか否かを判断する(ステップS24)。
このとき、IDマスクに「1」が設定されているので、ルーティングテーブルの全レベル数よりも小さいため、当該制御部11は、IDマスクがルーティングテーブルの全レベル数よりも小さいと判断し(ステップS24:YES)、自己のルーティングテーブルにおける「上記再設定したIDマスク+1」のレベルに登録されている全てのノードを決定し(つまり、ノードAが属するエリアがさらに複数のエリアに分けられているので、当該さらに分けられている各エリアに属する一のノードが決定される)、当該決定したノードに対して上記生成した情報収集メッセージを送信し(ステップS25)、ステップS23に戻る。
例えば、「IDマスク「1」+1」であるレベル2に登録されたノードA1、ノードA2、及びノードA3に対して情報収集メッセージが送信されることになる。
その後、当該制御部11は、IDマスク「2」,「3」について同様にステップS24及びS25の処理を繰り返す。これにより、上記情報収集メッセージは、自己のルーティングテーブルに登録されている全てのノードに送信されることになる。
一方、上記ステップS21において、当該制御部11は、自己のノードIDが、受信した情報収集メッセージのヘッダ部におけるターゲットノードID及びIDマスクにより特定されるターゲットに含まれないと判断した場合には(ステップS21:NO)、ルーティングテーブル中で、当該ターゲットノードIDと上位桁から一致する桁数が最も多いノードに対して上記受信した情報収集メッセージを送信(転送)し(ステップS27)、当該処理を終了する。
例えば、IDマスクが「2」でターゲットノードIDが「3102」であったとすると、ノードAのノードID「0132」は、ターゲット「31**」に含まれないと判断される。なお、ステップS27の転送処理は、通常のDHTのルーティングテーブルを用いたメッセージの転送である。
一方、上記ステップS24において、当該制御部11は、IDマスクの値が、自己のルーティングテーブルの全レベル数よりも小さくないと判断した場合には(ステップS24:NO)、返信メッセージ送信処理を開始する(ステップS26)。
当該返信メッセージ送信処理においては、図15に示すように、ノードAの制御部11は、返答情報を生成するための返答集計処理を行う(ステップS31)。
当該返答集計処理においては、図16に示すように、ノードAの制御部11は、集計結果R(変数)を「0」に初期化し(ステップS41)、上記受信した情報収集メッセージのペイロード部における収集内容に含まれる条件を満たしているか否かを判断する(ステップS42)。
ここで、当該収集内容が、オーバーレイネットワーク9への参加ノード数の集計である場合、その条件は「情報収集メッセージを受信すること」となっており、すなわち、当該情報収集メッセージを受信した全てのノードが当該条件を満たすことになる。
また、当該収集内容が、コンテンツの視聴者数の集計である場合、その条件は「コンテンツデータを再生していること」となっており、何らかのコンテンツの再生中であるノードが当該条件を満たすことになる。
また、当該収集内容が、特定のコンテンツの瞬間視聴率の集計である場合、その条件は「特定のコンテンツデータ(例えば、コンテンツ名やコンテンツIDで示される)を再生していること」となっており、当該特定のコンテンツの再生中であるノードが当該条件を満たすことになる。
また、当該収集内容が、「はい」又は「いいえ」を答える所定のアンケート(当該アンケートは表示部16に表示される)の集計である場合には、その条件は「ユーザからの入力部21を介した選択が「はい」(又は「いいえ」)であること」となっており、ユーザが入力部21を操作して例えば「はい」を選択したノードが当該条件を満たすことになる。
そして、当該制御部11は、かかる収集内容に含まれる条件を満たしていると判断した場合には(ステップS42:YES)、上記集計結果Rを「1」とする(ステップS43)。一方、かかる収集内容に含まれる条件が満たされていない場合(ステップS42:NO)、集計結果Rは「0」のままとなる。
次いで、当該制御部11は、他のノードから、集計結果Rが含まれる返信メッセージ(自己が上記情報収集メッセージを送信した相手先となる下流のノードからの返信メッセージ)を受信したか否かを判別し(ステップS44)、受信した場合には(ステップS44:Y)、当該受信した返信メッセージに含まれるユニークIDが、現在行っている処理の対象となっている上記受信した情報収集メッセージに含まれるユニークIDと一致するか否かを判断する(ステップS45)。
そして、当該制御部11は、上記ユニークIDが一致すると判断した場合には(ステップS45:YES)、上記ステップS43における自己の集計結果R「1」に、当該受信した返信メッセージに含まれる集計結果Rを加算する(足し合わせる)(ステップS46)。
次いで、当該制御部11は、受信タイムアウトになったか否か(つまり、設定された受信タイムアウト値を超えたか否か)を判断し(ステップS47)、受信タイムアウトになっていない場合には(ステップS47:NO)、ステップS44に戻り、ステップS44〜S46の処理を、受信タイムアウトになるまで繰り返す。
そして、受信タイムアウトになった場合には(ステップS47:YES)、最終的に得られた集計結果Rを返答情報とし、図15に示す処理に戻る。つまり、所定時間としての受信タイムアウト内に返信された返信メッセージに含まれる返答情報と、自己の返答情報と、に基づいて新たな返答情報が生成されることになる。従って、所定時間後に返ってきた返信メッセージに含まれる返答情報を無視することができるので、上流のノードに対して迅速に返答を返すことができる。
ここで、受信タイムアウト値は、転送経路の上流ほど長く(上流のノードにいくに従って次第に長く)設定されることが望ましい。例えば、最下流のノードの受信タイムアウト値をT1、その1つ上流のノードの受信タイムアウト値をT2、その2つ上流のノードの受信タイムアウト値をT3とすると、T1<T2(例えば、2×T1)<T3(例えば、3×T1)と設定されると良い。転送経路中のどの位置にあるかは、例えば情報収集メッセージにおけるIDマスクから判断され、このIDマスクの値が大きい場合(例えば、「3」)には、自己のノードは下流に位置することになるので、受信タイムアウト値を小さく(例えば、1×T1)設定され、このIDマスクの値が小さい場合(例えば、「0」)には、自己のノードは上流に位置することになるので、受信タイムアウト値が大きく(例えば、3×T1)設定される(なお、当該設定は、例えば上記ステップS41において行われる)。このように構成することで、上流のノードでは、下流のノードからの返信メッセージの待機時間を十分に確保し、且つ、下流のノードでは、無駄な当該待機時間を削減することができる。
こうして当該返答集計処理が終了し、図15に示す処理に戻ると、当該制御部11は、上記生成された返答情報としての集計結果R及び上記情報収集メッセージに含まれているユニークIDを含む返信メッセージを生成する(ステップS32)。
次いで、当該制御部11は、当該生成した返信メッセージを、上記情報収集メッセージに含まれるIPアドレス等にしたがって、上流のノード(当該情報収集メッセージを送信したノード)に対して送信(返信)し(ステップS33)、当該処理を終了する。こうして返信された返信メッセージは、上流のノードにおいて行われている上記ステップS44で受信判断されることになる。
一方、情報収集メッセージの送信元でありノードXにおいても、図12に示すDHTマルチキャスト処理の終了後、図16に示す返答集計処理が実行され(ステップS3)、かかる返答集計処理において最終的に得られた集計結果Rは、各返信メッセージに含まれる集計結果Rが反映されたものとなる。
そして、当該ノードXの制御部11は、当該最終的に得られた集計結果Rを記憶部12にログとして記憶保存し、例えば表示部16に表示、或いはスピーカ18から音声出力することによって、当該ノードXのユーザに通知し(ステップS4)、当該処理を終了する。こうして、当該ノードXのユーザ(管理者等)は、集計結果Rを閲覧することができる。また、当該集計結果Rは、例えば視聴率や、様々な分析等に使用されることとなる。
以上説明したように、上記実施形態によれば、オーバーレイネットワーク9に参加している1のノードが他の全てのノードに対して上述したDHTマルチキャスト処理により情報収集メッセージを送信するようにしたので、管理サーバ等を用いずに、基本的にはオーバーレイネットワーク9に参加している他の全てのノードに対して、より効率良く情報収集メッセージを送信でき、さらに、情報収集メッセージを受信した各ノードが、上流のノードに対して返答情報を含む返信メッセージを返信(DHTマルチキャストとは逆方向に返信メッセージを送信)するようにしたので、情報収集メッセージの送信元のノードは、ネットワーク8に与える負荷を抑えつつ、他の全てのノードからの返答をより効率良く収集することができる。
なお、上記オーバーレイネットワーク9に参加していない例えば管理用の特殊端末は、DHTマルチキャスト処理を行うことができないが、この場合、オーバーレイネットワーク9に参加している何れかのノードに上記処理を行わせて、その集計結果Rを送信(通知)してもらえば良い。
また、上記実施形態においては、各ノードにおける2択(条件を満たす、又は満たさない)の集計結果Rを返答情報としたが、3択以上の集計結果を返答情報としても良い。この場合、例えば、アンケートの1番目を選択する場合は集計結果R1に「1」を加算し、アンケートの2番目を選択する場合は集計結果R2に「1」を加算し、アンケートの3番目を選択する場合は集計結果R3に「1」を加算して、集計結果R1、R2及びR3を含む返答情報を返信するように構成する。このように構成すれば、情報収集するノードは、詳細な返答を得ることができる。
また、上記実施形態においては、集計結果を返答情報としたが、特に集計を行わずに、例えば、各ノードが何らかの情報を返答情報に含めるように構成しても良い。
(変形形態)
次に、上記実施形態においては、各ノードが、自己のルーティングテーブルにIPアドレスが記憶されているノードのみに対して情報収集メッセージを送信するように構成したが、ルーティングテーブルにIPアドレスが登録(記憶)されていないノードに向けても情報収集メッセージを送信する変形形態について、図17乃至図19を参照して説明する。
次に、上記実施形態においては、各ノードが、自己のルーティングテーブルにIPアドレスが記憶されているノードのみに対して情報収集メッセージを送信するように構成したが、ルーティングテーブルにIPアドレスが登録(記憶)されていないノードに向けても情報収集メッセージを送信する変形形態について、図17乃至図19を参照して説明する。
オーバーレイネットワーク9へのノードの参加、脱退が行われたとき、それがあるノードにおけるルーティグテーブルには、未だ反映されていないことも考えられる。この場合、上述したDHTマルチキャストによっても、全てのノードに情報収集メッセージが行き渡らない事態が生じる可能性がある。この変形形態では、このような事態が生じても、オーバーレイネットワーク9に参加している全てのノードに情報収集メッセージを送信することが可能となる。
なお、この変形形態において、上述した実施形態と同様の部分については、重複する説明を省略する。
上述した図12、図15、及び図16に示す処理は、当該変形形態においても適用され、上述した実施形態と同様に実行される。
一方、上述した図13に示す処理は、当該変形形態においては適用されず、その代わりに図17及び図18に示す処理が実行される。また、上述した図14に示す処理も、当該変形形態においては適用されず、その代わりに図19に示す処理が実行される。
また、当該変形形態において送信される情報収集メッセージにおけるヘッダ部には、転送回数積算値(ノードを転送される度に1カウントアップする値)及び転送回数上限値が含まれる。これは、ルーティングテーブルにIPアドレスが登録されていないノードに向かって情報収集メッセージが送信される場合、当該メッセージが転送され続けてしまう可能性があり、これを防止するためである。
図17に示すDHTマルチキャスト処理においては、ノードXの制御部11は、上記実施形態におけるステップS11と同様、図12に示すステップS1で生成された情報収集メッセージのヘッダ部におけるターゲットノードIDとして自己のノードID「3102」を設定し、IDマスクとして「0」を設定し、IPアドレスとして自己のIPアドレスを設定する(ステップS51)。
次いで、当該制御部11は、情報収集メッセージ送信処理を開始する(ステップS52)。
当該情報収集メッセージ送信処理においては、図18に示すように、ノードXの制御部11は、自己のルーティングテーブルの指定するレベルを、自己のノードIDと上記生成した情報収集メッセージにおけるターゲットノードIDの上位桁から一致する桁数+1の値に決定する(ステップS61)。
例えば、自己のノードIDが「3102」であり、ターゲットノードIDが「3102」である場合には全て一致するため、一致する桁数が「4」であり、これに1が加算されて、ルーティングテーブルのレベルが「5」と決定される。
次いで、当該制御部11は、上記決定したレベルが、上記生成した情報収集メッセージにおけるIDマスクよりも大きいか否かを判断する(ステップS62)。
上述の例で言うと、決定したレベル「5」は、情報収集メッセージにおけるIDマスク「0」よりも大きいため、当該制御部11は、決定したレベルがIDマスクよりも大きいと判断し(ステップS62:YES)、ステップS63に移行する。
ステップS63では、当該制御部11は、自己のルーティングテーブルの指定する欄(つまり、レベルと列)を決定する。具体的には、当該制御部11は、指定するレベルを「上記情報収集メッセージにおけるIDマスクの値+1」に、指定する列を当該レベルの左端から1列に、夫々決定する。
なお、ルーティングテーブルがA桁B進数からなる場合、レベルの値は1〜Aまでであり、列の値は1〜Bまでとなる。上述のように4桁4進数であれば、レベルは1〜4(全レベル数が4)であり、列は1〜4(全列数が4)である。上述の例では、情報収集メッセージにおけるIDマスクが「0」であるため、ルーティングテーブルにおける「レベル1、1列」の欄が指定される。
次いで、当該制御部11は、決定したレベルの値が全レベル数以下であるか否かを判断する(ステップS64)。上述の例では、決定したレベルの値「1」が、全レベル数「4」以下であるため、当該制御部11は、決定したレベルの値が全レベル数以下であると判断し(ステップS64:YES)、次いで、決定した列の値が全列数以下であるか判断する(ステップS65)。上述の例では、決定した列の値「1」が、全列数「4」以下であるため、当該制御部11は、決定したレベルの値が全レベル数以下であると判断し(ステップS65:YES)、続いて、決定した欄が自己(自己のノードID)を示すか否かを判断する(ステップS66)。上述の例では、決定した「レベル1、1列」の欄には自己のノードIDは登録されていないため、当該制御部11は、決定した欄が自己を示さないと判断し(ステップS66:NO)、ステップS67に移行する。
ステップS67では、当該制御部11は、決定した欄にノードのIPアドレス等が登録されているか否かを判断する。上述の例では、決定した「レベル1、1列」の欄にノードAのIPアドレスが登録されているため、当該制御部11は、決定した欄にノードのIPアドレス等が登録されている判断し(ステップS67:YES)、当該登録されているノードに対して(当該IPアドレスにしたがって)情報収集メッセージを送信する(ステップS68)。
次いで、当該制御部11は、決定した列の値に「1」を加算し(ステップS69)、ステップS65に戻る。
そして、ステップS65〜S69の処理は繰り返し行われ、例えば図5において「レベル1、2列」の欄に登録されたノードB、「レベル1、3列」の欄に登録されたノードCにも情報収集メッセージが送信され、決定した欄が「レベル1、4列」に変更され、ステップS65に戻る。
次いで、ステップS65の処理を経て、ステップS66の処理において、決定した「レベル1、4列」の欄は自己を示しているため、当該制御部11は、決定した欄が自己を示すと判断し(ステップS66:YES)、ステップS69に移行する。このようにして、ルーティングテーブルのレベル1に登録されている全てのノード1に情報収集メッセージを送信することができる。
一方、上記ステップS65の処理において決定した列の値が全列数以下でないと判断した場合(ステップS65:NO)、当該制御部11は、上記情報収集メッセージのヘッダ部において設定されたIDマスクの値に1を加算して当該IDマスクを再設定し(ステップS70)、ステップS63に戻り、同様の処理が繰り返される。
一方、上記ステップS67の処理において、上記決定した欄にノードのIPアドレス等が登録されていない場合には(ステップS67:NO)、当該制御部11は、決定した欄(例えば、「レベル3、2列」)の最も近くに記憶されているノードに対して、情報収集メッセージを送信する(ステップS71)。上述の例では、IDマスクの値を「3」とし、ターゲットノードIDを「レベル3、2列」の欄に該当する「3110」とする。
このようにターゲットを特定することにより、この欄に対応するノードが参加した場合に、情報収集メッセージを送信できることとなる。なお、上述の例においては、ノードGに当該情報収集メッセージを送信して転送させればよい。
ここで、情報収集メッセージのヘッダ部における転送回数上限値は、転送回数の上限を決める値であり、ターゲットとなるノードが存在しない場合に、当該メッセージが転送され続けることを防止するために設けられる。転送回数上限値は、通常の転送では絶対に超えない程度のやや大きめの値とする。例えば、レベル数が4であるルーティングテーブルを用いる場合には、転送回数は、4回以内に収まるのが通常であり、この場合、転送回数上限値は、例えば8回、16回等にする。
一方、上記ステップS64の処理において、決定したレベルの値が全レベル数以下でないと判断された(ステップS64:NO)、当該処理が終了する。
一方、上述のステップS61の処理において、例えば自己のノードIDが「3102」であり、ターゲットノードIDが「2132」であり、IDマスクが「4」である場合には、一致する桁数は「0」となり、これに1が加算され、指定するルーティングテーブルのレベルが「1」と決定される。この場合、ステップS62では、決定したレベルが情報収集メッセージにおけるIDマスク「4」よりも小さいため、ステップS72に移行され、通常のDHTメッセージ送信(転送)処理が行われる。具体的には、制御部11は、決定したレベルにおけるターゲットノードIDに最も近いノードであって、ルーティングテーブルに登録されているものを決定し、当該ノードに情報収集メッセージを送信(転送)し、当該理を終了する。
次に、上記のように送信された情報収集メッセージを受信した各ノードは、当該情報収集メッセージを記憶し、図19に示す処理を開始する。
図19に示す処理が開始されると、当該ノードの制御部11は、情報収集メッセージの転送回数が転送回数上限値を超えたか否かを判断し(ステップS81)、転送回数上限値を超えていない場合には(ステップS81:NO)、自己のノードIDが、受信した情報収集メッセージのターゲットに含まれるか否かを判断する(ステップS82)。このとき、情報収集メッセージにおけるIDマスクが「0」である場合、上述したように、全てのノードIDを含むため、当該制御部11は、自己のノードIDが、上記ターゲットに含まれると判断し(ステップS82:YES)、受信した情報収集メッセージのヘッダ部におけるターゲットノードIDを自己のノードIDに変換設定し、IDマスクを「上記情報収集メッセージにおけるIDマスクの値+1」に変換設定して(ステップS83)、その情報収集メッセージについて図18に示す情報収集メッセージ送信処理を実行する(ステップS84)。そして、当該情報収集メッセージ送信処理が終了すると、当該制御部11は、上述した実施形態と同様、図15に示す返信メッセージ送信処理を実行し(ステップS85)、当該処理を終了する。
一方、上記ステップS82の処理において、自己のノードIDが、上記ターゲットに含まれないと判断された場合には(ステップS82:NO)、受信した情報収集メッセージについて図18に示す情報収集メッセージ送信処理を実行し(ステップS86)、当該処理を終了する。
また、一方、ステップS81の処理において、受信された情報収集メッセージの転送回数が転送回数上限値を超えたと判断された場合には(ステップS81:YES)、転送が行われずに当該処理が終了する。
以上説明したように、上記変形形態によれば、オーバーレイネットワーク9へのノードの参加、脱退が行われたとき、それがあるノードにおけるルーティグテーブルには、未だ反映されていないような場合であっても、オーバーレイネットワーク9に参加している全てのノードに情報収集メッセージを送信することができる。
また、上記実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提として説明したが、本発明はこれに限定されるものではない。
A〜Z ノード
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
S 情報通信システム
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
S 情報通信システム
Claims (9)
- ネットワークを介して互いに通信可能な複数のノード装置を備え、前記複数のノード装置が所定の規則に従って複数のグループに分けられた情報通信システムに含まれる前記ノード装置であって、
他のノード装置から送信されてきた、自己が属する前記グループに対する情報収集メッセージを受信する情報収集メッセージ受信手段と、
自己が属する前記グループが前記所定の規則に従ってさらに複数のグループに分けられている場合には、当該さらに分けられている各前記グループに属する一の前記ノード装置を決定し、当該決定された全ての前記ノード装置に前記受信された情報収集メッセージを送信する情報収集メッセージ送信手段と、
前記決定された前記ノード装置の全部又は一部から返信されてきた、前記受信された情報収集メッセージに対する返答情報を含む返信メッセージを受信する返信メッセージ受信手段と、
前記受信された返信メッセージに含まれる返答情報と、前記受信された情報収集メッセージに対する自己の返答情報と、に基づいて新たな返答情報を生成する返答情報生成手段と、
前記生成された新たな返答情報を含む返信メッセージを前記他のノード装置に返信する返信メッセージ返信手段と、
を備えることを特徴とするノード装置。 - 請求項1に記載のノード装置において、
前記返答情報生成手段は、前記受信された返信メッセージに含まれる返答情報にて示される値と、前記自己の返答情報にて示される値と、を集計して前記返答情報を生成することを特徴とするノード装置。 - 請求項1又は2に記載のノード装置において、
前記返答情報生成手段は、前記決定された前記ノード装置から所定時間内に返信された前記返信メッセージに含まれる返答情報と、前記自己の返答情報と、に基づいて新たな返答情報を生成することを特徴とするノード装置。 - 請求項1乃至3の何れか一項に記載のノード装置において、
前記情報収集メッセージには、当該メッセージを識別するための識別情報が含まれており、
前記返信メッセージ返信手段は、前記情報収集メッセージに含まれる識別情報を、これに対応する返信メッセージに含ませて、当該返信メッセージを返信することを特徴とするノード装置。 - 請求項1乃至4の何れか一項に記載のノード装置において、
複数に分けられた各前記グループに属する一のノード装置の宛先情報を、夫々の前記グループに対応付けて一の段階として規定し、さらに自己が属する前記グループが複数のグループに分けられ、当該分けられた各前記グループに属する一のノード装置の宛先情報を、夫々の前記グループに対応付けて次の段階として少なくとも規定するテーブルを記憶する記憶手段をさらに備え、
前記情報収集メッセージ受信手段は、前記一の段階に対応する前記各グループに対する情報収集メッセージを受信し、
前記情報収集メッセージ送信手段は、前記次の段階に対応する前記各グループに属する前記一のノード装置を前記テーブルから決定し、当該決定された全ての前記ノード装置の前記記憶された宛先情報にしたがって前記情報収集メッセージを送信することを特徴とするノード装置。 - 請求項5に記載のノード装置において、
前記情報収集メッセージ受信手段は、前記一の段階を示す一グループ特定値が含まれた情報収集メッセージを受信し、
前記情報収集メッセージ送信手段は、前記情報収集メッセージに含まれる前記一グループ特定値を、前記次の段階を示す次グループ特定値に変えて当該情報収集メッセージを送信することを特徴とするノード装置。 - コンピュータを、請求項1乃至6の何れか一項に記載のノード装置として機能させることを特徴とする情報処理プログラム。
- ネットワークを介して互いに通信可能な複数のノード装置を備え、前記複数のノード装置が所定の規則に従って複数のグループに分けられた情報通信システムであって、
前記情報通信システムに含まれる第1の前記ノード装置は、各前記グループに属する一の前記ノード装置を決定し、当該決定された全ての前記ノード装置に情報収集メッセージを送信する情報収集メッセージ送信手段を備え、
前記送信された前記情報収集メッセージを受信した第2のノード装置は、
自己が属する前記グループが前記所定の規則に従ってさらに複数のグループに分けられている場合には、当該さらに分けられている各前記グループに属する一の前記ノード装置を決定し、当該決定された全ての前記ノード装置に前記受信された情報収集メッセージを送信する情報収集メッセージ送信手段と、
前記決定された前記ノード装置の全部又は一部から返信されてきた、前記受信された情報収集メッセージに対する返答情報を含む返信メッセージを受信する返信メッセージ受信手段と、
前記受信された返信メッセージに含まれる返答情報と、前記受信された情報収集メッセージに対する自己の返答情報と、に基づいて新たな返答情報を生成する返答情報生成手段と、
前記生成された新たな返信情報を含む返信メッセージを前記第1のノード装置に返信する返信メッセージ返信手段と、
を備えることを特徴とする情報通信システム。 - ネットワークを介して互いに通信可能な複数のノード装置を備え、前記複数のノード装置が所定の規則に従って複数のグループに分けられた情報通信システムにおける情報収集方法であって、
前記情報通信システムに含まれる第1の前記ノード装置は、各前記グループに属する一の前記ノード装置を決定し、当該決定された全ての前記ノード装置に情報収集メッセージを送信する工程を備え、
前記送信された前記情報収集メッセージを受信した第2のノード装置は、
自己が属する前記グループが前記所定の規則に従ってさらに複数のグループに分けられている場合には、当該さらに分けられている各前記グループに属する一の前記ノード装置を決定し、当該決定された全ての前記ノード装置に前記受信された情報収集メッセージを送信する工程と、
前記決定された前記ノード装置の全部又は一部から返信されてきた、前記受信された情報収集メッセージに対する返答情報を含む返信メッセージを受信する工程と、
前記受信された返信メッセージに含まれる返答情報と、前記受信された情報収集メッセージに対する自己の返答情報と、に基づいて新たな返答情報を生成する工程と、
前記生成された新たな返信情報を含む返信メッセージを前記第1のノード装置に返信する工程と、
を備えることを特徴とする情報収集方法。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006051159A JP2007235243A (ja) | 2006-02-27 | 2006-02-27 | 情報通信システム、情報収集方法、ノード装置、及びノード処理プログラム |
| EP20070706443 EP1990957A1 (en) | 2006-02-27 | 2007-01-09 | Information communication system, information collecting method, node device, and recording medium |
| CN2007800063206A CN101390345B (zh) | 2006-02-27 | 2007-01-09 | 信息通信系统、信息收集方法、节点设备和记录介质 |
| PCT/JP2007/050096 WO2007097130A1 (ja) | 2006-02-27 | 2007-01-09 | 情報通信システム、情報収集方法、ノード装置、及び記録媒体 |
| US12/230,150 US8542690B2 (en) | 2006-02-27 | 2008-08-25 | Information communication system, information collection method, node device, and recording medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006051159A JP2007235243A (ja) | 2006-02-27 | 2006-02-27 | 情報通信システム、情報収集方法、ノード装置、及びノード処理プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2007235243A true JP2007235243A (ja) | 2007-09-13 |
Family
ID=38437173
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006051159A Pending JP2007235243A (ja) | 2006-02-27 | 2006-02-27 | 情報通信システム、情報収集方法、ノード装置、及びノード処理プログラム |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8542690B2 (ja) |
| EP (1) | EP1990957A1 (ja) |
| JP (1) | JP2007235243A (ja) |
| CN (1) | CN101390345B (ja) |
| WO (1) | WO2007097130A1 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010097570A (ja) * | 2008-10-20 | 2010-04-30 | Nippon Hoso Kyokai <Nhk> | ノード装置及びコンピュータプログラム |
| JP2010521093A (ja) * | 2007-03-09 | 2010-06-17 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 分散型通信ネットワークにおけるネットワーク管理タスクの分散配置 |
| JP2012512617A (ja) * | 2008-12-22 | 2012-05-31 | クアルコム,インコーポレイテッド | ピアツーピア・ネットワークのための分散ハッシュテーブルにおけるセキュリティで保護されたノード識別子割当て |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20120054902A (ko) * | 2010-11-22 | 2012-05-31 | 한국전자통신연구원 | 연결성이 결여된 네트워크 환경 기반 멀티캐스트 통신방법, 장치 및 그 시스템 |
| JP6417727B2 (ja) * | 2014-06-09 | 2018-11-07 | 富士通株式会社 | 情報集約システム、プログラム、および方法 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005353039A (ja) * | 2004-04-16 | 2005-12-22 | Microsoft Corp | データオーバーレイ、自己編成メタデータオーバーレイおよびアプリケーションレベルマルチキャスティング |
| JP2006033115A (ja) * | 2004-07-13 | 2006-02-02 | Brother Ind Ltd | 配信装置、受信装置、ツリー型配信システム及び情報処理方法等 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3088384B2 (ja) | 1998-07-31 | 2000-09-18 | 日本電気株式会社 | Atmスイッチ及びatmスイッチの論理同報通信方法 |
| JP2002344477A (ja) | 2001-05-16 | 2002-11-29 | Mitsubishi Electric Corp | マルチキャスト配信システム及びその端末用装置 |
| JP3842661B2 (ja) * | 2002-02-06 | 2006-11-08 | 株式会社エヌ・ティ・ティ・ドコモ | 通信システム、通信制御方法、通信ノード、通信媒介ノード、通信媒介プログラム、セッション移動方法及びセッション移動プログラム |
| US7613796B2 (en) | 2002-09-11 | 2009-11-03 | Microsoft Corporation | System and method for creating improved overlay network with an efficient distributed data structure |
| CN100459534C (zh) * | 2002-10-07 | 2009-02-04 | 日本电信电话株式会社 | 分层网络节点及通过该节点构成的网络、节点和分层网络 |
| US7532622B2 (en) * | 2003-06-16 | 2009-05-12 | National University Of Singapore | Methods, devices and software for merging multicast groups in a packet switched network |
| US20050129017A1 (en) * | 2003-12-11 | 2005-06-16 | Alcatel | Multicast flow accounting |
| JP4494853B2 (ja) * | 2004-04-20 | 2010-06-30 | 株式会社エヌ・ティ・ティ・ドコモ | 移動ノード、移動制御ノード、パケット通信システム、及び移動検出方法 |
| EP1768324A4 (en) | 2004-07-13 | 2010-01-20 | Brother Ind Ltd | DISTRIBUTION DEVICE, RECEIVER DEVICE, THREE-TYPE DISTRIBUTION SYSTEM, INFORMATION PROCESSING METHOD, ETC. |
-
2006
- 2006-02-27 JP JP2006051159A patent/JP2007235243A/ja active Pending
-
2007
- 2007-01-09 WO PCT/JP2007/050096 patent/WO2007097130A1/ja active Application Filing
- 2007-01-09 EP EP20070706443 patent/EP1990957A1/en not_active Withdrawn
- 2007-01-09 CN CN2007800063206A patent/CN101390345B/zh not_active Expired - Fee Related
-
2008
- 2008-08-25 US US12/230,150 patent/US8542690B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005353039A (ja) * | 2004-04-16 | 2005-12-22 | Microsoft Corp | データオーバーレイ、自己編成メタデータオーバーレイおよびアプリケーションレベルマルチキャスティング |
| JP2006033115A (ja) * | 2004-07-13 | 2006-02-02 | Brother Ind Ltd | 配信装置、受信装置、ツリー型配信システム及び情報処理方法等 |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010521093A (ja) * | 2007-03-09 | 2010-06-17 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 分散型通信ネットワークにおけるネットワーク管理タスクの分散配置 |
| JP4886045B2 (ja) * | 2007-03-09 | 2012-02-29 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 分散型通信ネットワークにおけるネットワーク管理タスクの分散配置 |
| JP2010097570A (ja) * | 2008-10-20 | 2010-04-30 | Nippon Hoso Kyokai <Nhk> | ノード装置及びコンピュータプログラム |
| JP2012512617A (ja) * | 2008-12-22 | 2012-05-31 | クアルコム,インコーポレイテッド | ピアツーピア・ネットワークのための分散ハッシュテーブルにおけるセキュリティで保護されたノード識別子割当て |
| US9344438B2 (en) | 2008-12-22 | 2016-05-17 | Qualcomm Incorporated | Secure node identifier assignment in a distributed hash table for peer-to-peer networks |
Also Published As
| Publication number | Publication date |
|---|---|
| EP1990957A1 (en) | 2008-11-12 |
| US8542690B2 (en) | 2013-09-24 |
| WO2007097130A1 (ja) | 2007-08-30 |
| CN101390345B (zh) | 2011-05-04 |
| US20090003357A1 (en) | 2009-01-01 |
| CN101390345A (zh) | 2009-03-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8059561B2 (en) | Information communication system, information communication method, node device included in information communication system, and recording medium having information processing program recorded on it | |
| JP2010028551A (ja) | コンテンツ分散保存システム、ノード装置、ノード処理プログラム、及びアドレス情報変更通知方法 | |
| US8619631B2 (en) | Information communication system, information communication method, node device included in information communication system and recording medium recording information processing program | |
| WO2006075424A1 (ja) | 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等 | |
| WO2007119418A1 (ja) | 情報通信システム、コンテンツカタログ情報検索方法、及びノード装置等 | |
| JP2007235243A (ja) | 情報通信システム、情報収集方法、ノード装置、及びノード処理プログラム | |
| JP4539603B2 (ja) | 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム | |
| US8819295B2 (en) | Information communication system, first information processing device, method for processing information, and computer readable storage medium | |
| WO2006073046A1 (ja) | ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等 | |
| JP4877107B2 (ja) | 情報配信システムにおける端末装置及び情報処理プログラム、並びに端末装置の情報処理方法 | |
| JP2008092236A (ja) | コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム | |
| JP4622755B2 (ja) | 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム | |
| JP2008294648A (ja) | 情報配信システム、同システムに用いる端末装置及びプログラム、並びに情報処理方法 | |
| JP5212292B2 (ja) | 情報通信システム、ノード装置、ノード装置確認方法及びプログラム | |
| JP4797679B2 (ja) | コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム | |
| JP4770804B2 (ja) | オーバレイネットワーク型通信システム、オーバレイネットワーク型ノード装置およびプログラム | |
| JP4947106B2 (ja) | 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム | |
| JP2009232272A (ja) | コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム | |
| JP5157770B2 (ja) | ノード装置、プログラム及び保存指示方法 | |
| JP2008181408A (ja) | 通信システム、稼動制御方法、ノード装置及びノード処理プログラム | |
| JP2008250568A (ja) | 情報通信システム、失効リストの配信方法、情報通信システムに含まれるノード装置及び情報処理プログラム | |
| JP2009129161A (ja) | コンテンツ分散保存システム、コンテンツ評価値決定方法、配信装置、及び配信処理プログラム | |
| JP2005267061A (ja) | 通信システム及びアドレスリスト取得方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080421 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100622 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101019 |