JP5078034B2 - 通信装置、p2pネットワーク構築方法、プログラムおよび記録媒体 - Google Patents

通信装置、p2pネットワーク構築方法、プログラムおよび記録媒体 Download PDF

Info

Publication number
JP5078034B2
JP5078034B2 JP2008311522A JP2008311522A JP5078034B2 JP 5078034 B2 JP5078034 B2 JP 5078034B2 JP 2008311522 A JP2008311522 A JP 2008311522A JP 2008311522 A JP2008311522 A JP 2008311522A JP 5078034 B2 JP5078034 B2 JP 5078034B2
Authority
JP
Japan
Prior art keywords
node
virtual network
gate
nodes
subnetwork
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.)
Expired - Fee Related
Application number
JP2008311522A
Other languages
English (en)
Other versions
JP2009213122A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008311522A priority Critical patent/JP5078034B2/ja
Publication of JP2009213122A publication Critical patent/JP2009213122A/ja
Application granted granted Critical
Publication of JP5078034B2 publication Critical patent/JP5078034B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、物理的なIPネットワーク上にデータ配置に依存しない非構造なトポロジで論理的な仮想ネットワークを構成し、各ノードが隣接ノードへ転送することで、全てのノードへ検索クエリを配信するようなフラッディング検索を行う通信装置、P2Pネットワーク構築方法、プログラムおよび記録媒体に関する。
近年、サーバやクライアントといった区別が明確になっていない端末同士が対等に接続し、サービスを提供及び利用するP2P(Peer to Peer /Personal to Personal)ネットワークが注目されている。このP2Pネットワークモデルは、データや負荷が分散されることからスケーラビリティや対障害性に強いといわれている。そして、P2Pネットワークモデルを利用した様々なアプリケーションが開発されている。代表的なアプリケーションには、ファイルを多数の端末で公開・共有するグヌーテラソフトがある。
このグヌーテラソフトは、物理的なIPネットワーク上に、データ配置に依存しない非構造なトポロジで仮想ネットワークを論理的に構成し、各ノードが隣接ノードへ検索クエリを転送し全てのノードへ検索クエリを配信することで、全てのノードが保有するファイルを検索するといったフラッディング検索を行う。そのため、グヌーテラソフトでは、検索に大量のメッセージがやり取りされ、それによるトラフィックの増加が問題となっている。またグヌーテラソフトは、IPネットワークの物理的経路を考慮しないで仮想ネットワークを構成する。そのため、仮想ネットワーク上の近隣ノードが、物理的には遠方に位置することが多く、これもトラフィック増加の要因となっている。
そこで、物理ネットワークの通信トラフィックを低減し、効率の良い仮想ネットワークのトポロジを決定する方法がいくつか提案されている。特許文献1には、ピア間接続動作の応答時間を測定し、測定時間が相対的に短いものを物理的近傍ピアとして優先的に接続する技術が開示されている。しかし、この技術には、ピア間接続動作の応答時間がピアや通信回線の負荷状態により大きく変化するため、精度の良い判定ができないといった問題がある。
特許文献2には、物理ネットワーク上で多数の計算機間の距離を測定すると測定のための通信量が膨大になることを指摘し、分割仮想空間内で距離測定を行い、物理的に最適化したトポロジを持つ分割仮想空間を並べることで仮想空間全体の効率を上げる技術が開示されている。この技術は、距離測定を代表計算機に限定することで測定のための通信量を削減することを提案している。しかし、この方法で高い効果を得るためには、計算機の仮想空間座標を物理的に隣接する計算機が多い分割仮想空間にマッピングする必要があるが、特許文献2にその方法は開示も示唆もなされていない。さらに、計算機の距離を距離測定要求メッセージの送信から返信メッセージが届くまでの経過時間、つまりラウンド・トリップ・タイム、が特許文献1と同じであるという問題を持つ。また、特許文献2では、現在の空き帯域幅やホップ数を用いる方法も提示しているが、この方法は通信量と効果の面で特に優れている方法ではない。
特開2005−252596号公報 特開2006−33384号公報
従来のP2Pネットワーク構築法にはさらに以下のような問題点がある。仮想ネットワーク構成を物理ネットワーク構成に近い形で構成すると、無駄なメッセージの転送が抑制され通信トラフィックを低減することができる。しかし従来の方法は、ノード間の物理距離を測定するための通信量が多い割には、高精度な測定が困難で、しかも運用が複雑なことから有効な効果を上げられないといった問題がある。
仮想ネットワークに参加するとき最初に接続するノードの決定は、既知のノードアドレスを手動で入力するかサーバに問い合わせる方法が一般的である。しかし、サーバに問い合わせる方法をとったとしてもサーバのアドレスを入力する作業が必要である。したがって、仮想ネットワークに参加するには、ユーザが常に仮想ネットワークの存在を意識しなければならなかった。物理ネットワークのIPブロードキャストは、同一サブネットワーク内の装置を探索する手段としてよく利用されるが、サブネットワーク内のノードに優先的にリンクして仮想ネットワークを構成する本件に利用することで探索範囲の限定と探索の自動化を同時に行うことができる。
ゲートノードが少ないと、通信のボトルネックとなりパフォーマンスが低下する。また、ゲートノードが多いと、ゲートノード間の通信で通信負荷が増加する。全体の通信量はノード数で大きく変化するため、効率のよい仮想ネットワークを構成するためにはゲートノード数を動的に変化させるとよい。
IPネットワークは複数のネットワークをルータで接続しており、仮想ネットワーク構成を物理ネットワーク構成に近づけるということは複数の仮想ネットワークノードグループを少数の回線で接続することになる。そしてP2Pネットワークなどの仮想ネットワークは端末で構成されることが多く、ノードの参加・離脱が激しい。そのため、複数の仮想ネットワークノードグループを接続するゲートノードが離脱すると、仮想ネットワークの分断が簡単に起きるといった問題がある。
ノードの参加・離脱に対して仮想ネットワークを安定的に保つためにはゲートノードが多いほうが良い。しかし比例して外部リンク数も多くなると通信パフォーマンスが低下する問題がある。
以上の問題点を鑑みて、本発明は、ノード探索に物理ネットワークを考慮した探索を行い、物理的に距離が近いサブネットワーク内のノードへ優先的にリンクを行うことで、物理ネットワークの通信トラフィックを低減する効率の良い仮想ネットワークを簡単に構成し安定的に運用することのできる通信装置、P2Pネットワーク構築方法、プログラムおよび記録媒体の提供を目的とする。
本発明による通信装置は、物理的なIPネットワーク上に論理的な仮想ネットワークを構成する通信装置であって、自ノードが属するIPサブネットワーク内にある内部仮想ネットワークノードを探索する第1の探索手段と、少なくとも1つの内部仮想ネットワークノードに適宜リンクして仮想ネットワークを構成する第1の構成手段と、IPサブネットワーク外のノードとリンクする権利の有る仮想ネットワークゲートノードを探索する第2の探索手段と、少なくとも1つの内部仮想ネットワークゲートノードに適宜リンクして仮想ネットワークを構成する第2の構成手段と、自ノードが属するIPサブネットワーク内にある内部仮想ネットワークゲートノードを検出してカウントし、IPサブネットワーク内に実在するゲートノード数を検出する実在ゲートノード数検知手段と、実在ゲートノード数検知手段により検出された実在ゲートノード数に基づいて、自ノードが属するIPサブネットワーク外にある外部仮想ネットワークゲートノードにリンクするか否かを決定する決定手段と、を有し、実在ゲートノード数検知手段により検出された実在ゲートノード数が、目標ゲートノード数未満の場合に外部仮想ネットワークゲートノードにリンクし、目標ゲートノード数以上の場合に外部仮想ネットワークゲートノードにリンクしないで仮想ネットワークに参加することを特徴とする。
また、本発明による通信装置は、内部仮想ネットワークノードをIPネットワークのブロードキャストで探索し発見する第3の探索手段と、仮想ネットワークゲートノードを仮想ネットワークのメッセージ配信で検索し発見する第4の探索手段と、を有することを特徴とすることができる。
また、本発明による通信装置は、内部仮想ネットワークノード数に対する所定の割合を目標ゲートノード数とする目標ゲートノード数決定手段を有することを特徴とすることができる。
また、本発明による通信装置は、不定期間隔で自ノードが属するIPサブネットワーク内のゲートノードを探索する第5の探索手段と、他ノードがゲートノードの探索を行った際、自ノードがゲートノードの探索を行うまでの時間を更新する更新手段と、を有し、実在ゲートノード数が目標ゲートノード数未満なら外部仮想ネットワークゲートノードにリンクしゲートノードとなることでIPサブネットワーク内のゲートノード数を維持するような仮想ネットワークを構成することを特徴とすることができる。
また、本発明による通信装置は、自ノードが属するIPサブネットワーク内の内部仮想ネットワークゲートノード数をIPサブネットワーク内の内部仮想ネットワークゲートノードに通知する通知手段と、内部仮想ネットワークゲートノード数に応じて外部仮想ネットワークゲートノードへの最大リンク数を調節する調整手段と、を有し、内部仮想ネットワークゲートノードが増加した場合にも外部仮想ネットワークとのリンク数が比例して増加しない仮想ネットワークを構成することを特徴とすることができる。
また、本発明によるP2Pネットワーク構築方法は、自ノードが属するIPサブネットワーク内にある内部仮想ネットワークノードを探索する第1の探索工程と、少なくとも1つの内部仮想ネットワークノードに適宜リンクして仮想ネットワークを構成する第1の構成工程と、IPサブネットワーク外のノードとリンクする権利の有る仮想ネットワークゲートノードを探索する第2の探索工程と、少なくとも1つの内部仮想ネットワークゲートノードに適宜リンクして仮想ネットワークを構成する第2の構成工程と、自ノードが属するIPサブネットワーク内にある内部仮想ネットワークゲートノードを検出してカウントし、IPサブネットワーク内に実在するゲートノード数を検出する実在ゲートノード数検知工程と、実在ゲートノード数に基づいて、自ノードが属するIPサブネットワーク外にある外部仮想ネットワークゲートノードにリンクするか否かを決定する決定工程と、を有し、実在ゲートノード数が、目標ゲートノード数未満の場合に外部仮想ネットワークゲートノードにリンクし、目標ゲートノード数以上の場合に外部仮想ネットワークゲートノードにリンクしないで仮想ネットワークに参加することを特徴とする。
また、本発明によるプログラムは、自ノードが属するIPサブネットワーク内にある内部仮想ネットワークノードを探索する処理と、少なくとも1つの内部仮想ネットワークノードに適宜リンクして仮想ネットワークを構成する処理と、IPサブネットワーク外のノードとリンクする権利の有る仮想ネットワークゲートノードを探索する処理と、少なくとも1つの内部仮想ネットワークゲートノードに適宜リンクして仮想ネットワークを構成する処理と、自ノードが属するIPサブネットワーク内にある内部仮想ネットワークゲートノードを検出してカウントし、IPサブネットワーク内に実在するゲートノード数を検出する処理と、実在ゲートノード数に基づいて、自ノードが属するIPサブネットワーク外にある外部仮想ネットワークゲートノードにリンクするか否かを決定する処理と、をコンピュータに実行させ、実在ゲートノード数が目標ゲートノード数未満の場合に外部仮想ネットワークゲートノードにリンクし、目標ゲートノード数以上の場合に外部仮想ネットワークゲートノードにリンクしないで仮想ネットワークに参加させることを特徴とする。
また、本発明による記録媒体は、上記プログラムを記録したコンピュータ読み取り可能な記録媒体である。
本発明によれば、従来よりも通信負荷が小さい仮想ネットワークを構成できる。
本発明の実施形態における仮想ネットワークは、従来と同様に、サーバやクライアントといった区別が明確となっていないサーバントと呼ばれる端末が、複数のサーバントにリンクしメッシュ状のトポロジを構成する。ここではサーバントに分散されたファイルを共有するアプリケーションを想定しており、ファイルの検索と入手は「検索要求メッセージの送信」、「検索結果の受信」、「ファイルを受信」の3ステップで行われる。検索要求元のサーバントは目的ファイルを検索するためのキーワードを含んだ検索要求メッセージを送信する。
検索要求メッセージはバケツリレー方式で全てのサーバントにそれが届けられる。検索要求メッセージを受け取ったサーバントは、自分が公開しているファイルのファイル名やエイリアス名やメタファイル情報などを検索し、ヒットしたファイルのファイル名やアドレス情報を返す。この検索結果は、検索要求メッセージが辿った逆の順路で検索要求元に届く。そして、検索要求元のサーバントは各サーバントからの検索結果を受け取り、目的ファイルを選択し、そのファイルを保有するサーバントへ直接接続し、ファイルを受信する。
トポロジは検索のためのデータ配置を考慮しない非構造なものなので、ファイルはどのサーバントにも自由に配置できる。また、非構造なメッシュ状トポロジはあるサーバントが仮想ネットワークから離脱しても通信路が分断される可能性が低く、そして見つけたサーバントに適宜リンクすれば仮想ネットワークへ参加できるためサーバントの参加・離脱に強い。しかしその反面フラッディング通信によるトラフィックの増加が問題視される。
ネットワークの接続点に位置する装置を一般的にノードと呼ぶが、以後の説明ではサーバントに替えてノードという言葉を使用する。
図1は、物理的なIPネットワークとこの物理ネットワークにオーバーレイされた従来の仮想ネットワークと本実施形態の仮想ネットワークでトポロジがどう異なるかを表現した一例である。図1の下段は、サブネットワーク1にあるA、B、C、D、E、Fの6台のPCと、サブネットワーク2にあるK、Lの2台のPCと、サブネットワーク3にあるG、H、I、Jの4台のPCと、サブネットワーク3を接続するルータ4と、で構成されたIPネットワークである。同じサブネットワーク内のPC同士は1ホップの通信が可能であるが、他のサブネットワークにあるPCへは2ホップの通信となる。
このAからLの12台のPCで、従来の手法を用いて仮想ネットワークを構成したときの一例を図1の上段、本実施形態の手法を用いて仮想ネットワークを構成したときの一例を図1の中段に示す。従来の仮想ネットワークは密なメッシュ状トポロジを構成しているのに対し、本実施形態の仮想ネットワークは少し疎なメッシュ状トポロジを構成している。従来の仮想ネットワークノードはノードの位置や距離に関係なくリンクするが、本実施形態の仮想ネットワークノードは同じサブネットワーク内のノードへ優先的に接続し、数の制限されたゲートノードだけが他のサブネットワークのノードへ接続するためである。なお、本実施形態では他のサブネットワークのノードへ接続するノードをゲートノードと呼ぶ。従来と本実施形態の仮想ネットワークで黒丸のノードは他のサブネットワークのノードにリンクしているノードである。
つまり、従来の一例においてはA、C、D、F、G、H、I、K、Lの9つのノードがゲートノードになっていることに対し、本実施形態ではC、F、K、Gの4つのノードがゲートノードになっている。図1中の従来の仮想ネットワークに比べ本実施形態の仮想ネットワークは黒丸のノードが少なく黒丸のノード同士のリンク数が少ないことが分かる。前述の通りサブネットワーク内の通信はルータ4を経由しないため、本実施形態の手法でゲートノードが少なくなることにより、ルータ4を通過するパケット量が抑えられ、物理ネットワークのホップ数が少ない効率のよい仮想ネットワーク通信が可能となる。
図2に、本実施形態のソフトウェア構造の一例を示す。図2中、一番下の層がTCP/IP(Transmission Control Protocol/Internet Protocol)、UDP/IP(User Datagram Protocol/Internet Protocol)通信を行うための物理ネットワーク制御層7で、OSI参照モデルでの物理層、データリンク層、ネットワーク層、トランスポート層が含まれる。図2中、真中の層が仮想ネットワークの構築と維持、及びメッセージ処理を行う仮想ネットワーク制御層6、図2中、一番上の層がユーザインターフェース及びファイルの公開、検索、取得を行うP2Pアプリケーション層5である。本実施形態では、主に仮想ネットワーク層6に関して説明を行う。
図3は、本実施形態でPC、ノードと表現される通信装置の概略構成例を示すブロック図である。制御部12は、CPU、RAM、ROMなどの演算器とメモリで構成され、ソフトウェアを実行する中心部分である。記憶部8は、HDDなどの補助記憶装置でありプログラムやデータが記憶される。入力部9は、マウスやキーボードやタッチパネル等で構成され、ユーザからのファイル検索指示やキーワード入力を受け付ける。表示部10は、ランプや液晶ディスプレイで構成され、検索結果やファイルの内容を表示する。通信部11は、イーサネット(登録商標)等の有線LAN装置やIEEE802.11a/b/g等の無線LAN装置で構成され、TCP/IP、UDP/IP通信を行う。
制御部12の中には仮想ネットワーク制御層6のモジュールが示されている。仮想ネットワーク制御層6は、仮想ネットワーク管理部13、メッセージ処理部14、ノードリンク処理部15から構成されている。ノードリンク処理部15は、「内部ノードリンク」、「外部ノードリンク」、「リンク受付」といった機能を有する。ノードリンク処理部15の「内部ノードリンク」と「外部ノードリンク」は、サブネットワーク内外のノードを探索・発見し、所定の数のノードに対してTCP/IP通信コネクション(リンク)を確立する機能である。また、「内部ノードリンク」と「外部ノードリンク」は、リンク先のノードがリンク拒否のメッセージを送ってきた場合には、コネクションを切断して他のノードに対してリンクを試行する機能を有する。「リンク受付」は、他のノードからのリンク要求に対してTCP/IP通信コネクションを確立する機能である。また、「リンク受付」は、リンク要求を受容できない場合には、リンク拒否のメッセージを送る機能を有する。
メッセージ処理部14は、「要求メッセージ」、「返答メッセージ」、「メッセージ転送」といった機能を有する。「要求メッセージ」は、要求メッセージの生成や送受信を行う機能である。「返答メッセージ」は、返答メッセージの生成や送受信を行う機能である。「メッセージ転送」は、他のノードから受け取ったメッセージを他のノードに転送する機能である。要求メッセージのフラッディングは、要求メッセージを受け取ったノードが、要求メッセージを受け取ったノードにリンクしている、要求メッセージを送ってきたノードを除く、全てのノードに、受け取った要求メッセージをコピーして転送することで実現される。要求メッセージにはユニークなメッセージIDが振られており、要求メッセージを複数受け取った場合に、要求メッセージが同じか否かを判別できるようになっている。同じ要求メッセージを受け取ったノードは、受け取った要求メッセージを転送せずにその要求メッセージを破棄する。また、要求メッセージには生存カウンタがあり、ノードは要求メッセージをコピーして転送するときに、生存カウンタをディクリメントする。生存カウンタが0になった要求メッセージは、転送されずに、破棄される。そして、要求メッセージを転送したノードは、要求メッセージを送ってきたノードとメッセージIDとを関連付けた要求メッセージ管理情報を、記憶部8の要求メッセージ管理テーブルの1レコードとして記憶する。なお、要求メッセージを転送せずに破棄した場合であっても、要求メッセージを送ってきたノードが異なれば、要求メッセージを送ってきたノードとメッセージIDとを関連付けた要求メッセージ管理情報を、記憶部8の要求メッセージ管理テーブルの1レコードとして記憶する。
要求メッセージに対する返答メッセージも、ノードのメッセージ転送により要求メッセージ発行元に届く。要求メッセージに対して返答メッセージを生成したノードは、当該ノードの記憶部8の要求メッセージ管理テーブルを参照して要求メッセージを送ってきたノードを特定し、特定されたノードに対して返答メッセージを送信する。返答メッセージには、要求メッセージのメッセージIDが含まれている。返答メッセージを受け取ったノードは、当該ノードの記憶部8の要求メッセージ管理テーブルを参照し、同じメッセージIDの要求メッセージのレコードがある場合には、要求メッセージを送ってきたノードに受け取った返答メッセージを転送する。また、返答メッセージを送信するノードは、当該ノードの記憶部8の要求メッセージ管理テーブル内の同じメッセージIDを有するレコードに、返答メッセージを送信または転送したことを示す転送済みフラグを立てる。同じメッセージIDの要求メッセージのレコードがノードの記憶部8の要求メッセージ管理テーブル内にない場合には、受け取った返答メッセージを破棄する。
仮想ネットワーク管理部13は、「ノードリンク監視」、「ゲートノード監視」、「サブネットワーク判定」、「ゲートノード数検出」、「内部ノード数検出」といった機能を有する。「ノードリンク監視」は、あるノードとそのノードにリンクされている他のノードとの通信コネクション(リンク)が正常に保たれているかを定期的に確認し、相手ノード(他のノード)の離脱や障害により通信コネクションが切れている場合には、新たなノードへリンクする指示を「ノードリンク処理」に対して出す機能である。「ゲートノード監視」は、ノードと同じサブネットワーク内に、ゲートノードが何台存在するかを不定期に調べ、所定の数のゲートノードが存在しない場合には自ノードがゲートノードになる処理を行う機能である。「サブネットワーク判定」は、あるIPアドレスを持つノードがサブネットワーク内にあるノードか否かを、サブネットワークマスクを用いて判定する機能である。「ゲートノード数検出」、「内部ノード数検出」は、今現在存在するゲートノード、内部ノードの台数とアドレスを調べる機能である。調べ方には、仮想ネットワークで要求メッセージを使って探索する方法と、IPネットワークのブロードキャストを使って探索する方法とがある。
図10は、本実施形態において、仮想ネットワーク上を流れるメッセージの一例を示す。メッセージの種類は、要求メッセージと返答メッセージとに分けられる。そして、返答メッセージは、要求メッセージに対するアクション結果である。以下、各メッセージを説明する。
NODE_SERCH_INNER_ALL(内部全ノードIP要求メッセージ)は、サブネットワーク内にある、全ノードのIPアドレスを収集するための要求メッセージである。NODE_SERCH_INNER_GATE(内部ゲートノードIP要求)は、サブネットワーク内にある、ゲートノードのIPアドレスを収集するための要求メッセージである。NODE_SERCH_OUTER_GATE(外部ゲートノードIP要求)は、サブネットワーク外にある、ゲートノードのIPアドレスを収集するための要求メッセージである。NODE_RESULT_ADDRESS(アドレス返答)は、NODE_SERCH要求メッセージに対してノードアドレス情報を返信するための返答メッセージである。APPLI_SERCH_FILE(ファイル検索要求)は、P2Pアプリケーションプログラムからのファイル検索要求メッセージである。ファイル検索要求を受け取ったノードは、そのメッセージに付属する検索条件に合致するファイルを、対象とする記憶装置から検索し、ファイル名やファイルサイズ等のリストを作成する。APPLI_RESULT_FILE(ファイル検索結果返答メッセージ)は、P2Pアプリケーションプログラムからのファイル検索結果返答メッセージである。ファイル検索要求を受け取ったノードが、ファイル検索要求への返答として、ファイル検索要求と共に作成したリストを、ファイル検索要求の送信元に送る。実際のメッセージにはいろいろな内容が含まれるがここでは説明を割愛する。
図4を参照して、ノードが新規に仮想ネットワークへ参加するときの動作を説明する。仮想ネットワークへ新規に参加しようとするノードは、最初に内部ノードを探索し(ステップS101)、内部ノードのアドレス情報を収集する(ステップS102)。これにより、新規に参加しようとするノードは、リンクを試みるノードのIPアドレスを入手することができる。この入手の方法には、2通りの方法がある。1つ目は仮想ネットワークのメッセージを利用する方法で、既知の内部ノードへリンクした後、内部全ノードIP要求メッセージで内部ノードのアドレス情報を収集する。2つ目はIPネットワークのブロードキャストにより内部ノードのアドレス情報を収集する方法である。
図8を参照して、IPアドレスの入手方法のそれぞれについて説明する。図1の中段にある仮想ネットワークのサブネットワークN3にノードMが参加するとして説明する。最初に、仮想ネットワークのメッセージを利用する方法の場合について説明する。ノードMは、ユーザによって設定されたIPアドレスに従ってノードHに仮リンクする。仮リンクしたら内部全ノードIP要求メッセージを送信し、アドレス返答メッセージを一定時間待つ。ノードHは、ノードMから受け取った内部全ノードIP要求メッセージをノードIとノードJに転送し、アドレス返答メッセージをノードMに返す。
ノードIは、ノードHから受け取った内部全ノードIP要求メッセージをノードGに転送し、かつ、アドレス返答メッセージをノードHに返す。そして、ノードJから受け取った内部全ノードIP要求メッセージを破棄する。ノードJは、ノードHから受け取った内部全ノードIP要求メッセージをノードGに転送し、かつ、アドレス返答メッセージをノードHに返す。ノードIは、ノードGから受け取ったアドレス返答メッセージをノードHに転送する。ノードHは、ノードI、Jから受け取ったアドレス返答メッセージをノードMに転送する。内部ノードのアドレス情報を収集したノードMは、ノードHへの仮リンクを切断する。
次に、IPネットワークのブロードキャストを利用して内部ノードのアドレス情報を収集する方法の場合について説明する。ノードMは、アドレス情報の返信を要求するUDPパケットをブロードキャストアドレスに発信してアドレス情報の返信を一定時間待つ。前記UDPパケットは、サブネットワーク3内のノードG、H、I、Jに届けられる。UDPパケットを受け取った各ノードは、アドレス情報の入ったUDPパケットをユニキャストでノードMに送信する。ノードMは、ノードG、H、I、Jのそれぞれからアドレス情報の入ったUDPパケットを受信することで、ノードG、H、I、Jのアドレス情報を取得し、内部ノードのアドレス情報を収集する。
図9を参照して、ノードGがノードMに返信するアドレス情報の例を示す。図9のアドレス情報は、ノードGにアドレス情報テーブルとして格納されている。ここでは、ノードGの送信するアドレス情報を例に説明を行うが、仮想ネットワークノードとして機能している各ノードはアドレス情報テーブルを格納しており、アドレス情報をノードMに送信する。表の1列目は、ノードGが仮想ネットワークノードとして把握しているノードのIPアドレスである。2列目はリンクフラグである。リンクフラグは、ノードGがそのノードに対してリンクしていなければ0、リンクしていれば1、リンクされていれば2となる。3列目はゲートノードフラグである。ゲートノードフラグは、ノードがゲートノードであれば1、ゲートノードでなければ0となる。4列目は仮リンクフラグである。リンクが仮リンクであれば1、仮リンクでなければ0となる。図9の例では、ノード「192.168.300.4」とのリンクが仮リンクであることを示している。表の1行目が自己のノードの情報、つまりノードGの情報である。
図4に戻り、内部ノードのアドレス情報を収集した後の処理について説明する。収集した内部ノードのアドレス情報のゲートノード数をカウントして、サブネットワーク内に存在するゲートノードの数である、存在ゲートノード数を求める(ステップS103)。続いて、存在ゲートノード数と所定の目標ゲートノード数とを比較する(ステップS104)。存在ゲートノード数が所定の目標ゲートノード数より多い場合(ステップS104、NO)、ステップS111へ進む。存在ゲートノード数が所定の目標ゲートノード数よりも少ない場合(ステップS104、YES)、ステップS105に進む。続いて、存在ゲートノード数が0であるか判定する(ステップS105)。内部ゲートノードが存在する場合(ステップS105、NO)は、内部ゲートノードに仮リンクを行う(ステップS107)。内部ゲートノードが存在しない場合(ステップS105、YES)は、外部ノードに仮リンク(ステップS106)する。仮リンクする外部ノードは、ユーザが手動で入力したIPアドレスのノードや、ディレクトリサーバから入手したIPアドレスのノードである。ゲートノードに仮リンクしたら外部ゲートノードIP要求メッセージで外部ゲートノードのアドレス情報を収集する(ステップS108)。
図8を用いて、外部ゲートノードIP要求メッセージのシーケンス例を内部全ノードIP要求メッセージと同じ様に説明する。ノードGに仮リンクしたノードMは、外部ゲートノードIP要求メッセージを送信してアドレス返答メッセージを一定時間待つ(ステップS109)。ノードGは、ノードMから受け取った外部ゲートノードIP要求メッセージをノードCとノードKに転送するとともに、アドレス返答メッセージをノードMに返す。ノードCは、ノードGから受け取った外部ゲートノードIP要求メッセージをノードFに転送するとともに、アドレス返答メッセージをノードGに返す。
そしてノードCは、ノードKから受け取った外部ゲートノードIP要求メッセージを破棄する。ノードFは、ノードCから外部ゲートノードIP要求メッセージを受け取るとアドレス返答メッセージをノードCに返す。ノードKは、ノードGから外部ゲートノードIP要求メッセージを受け取るとアドレス返答メッセージをノードGに返す。ノードCは、ノードFから受け取ったアドレス返答メッセージをノードGに転送する。ノードGは、ノードC、Kから受け取ったアドレス返答メッセージをノードMに転送する。
再び図4に戻り、外部ゲートノードのアドレス情報を収集した後の処理について説明する。外部ゲートノードのアドレス情報を収集すると、所定の数のゲートノードにリンクし、仮リンクを切断する(ステップS110)。外部ゲートノードへのリンクが終わると、先に収集した内部ノードのアドレス情報を用いて、所定の数の内部ノードにリンクする(ステップS111)。また、存在ゲートノード数が目標ゲートノード数に達している場合には、外部ゲートノードへのリンクは行わずに所定の数の内部ノードにリンクする。
図5を参照して、ノードが新規に仮想ネットワークへ参加するときの処理を説明する。図5の点線で囲った部分、即ち、内部ノードをカウントし、内部ノード総数を求める工程(ステップS204)と、内部ノード総数に所定の割合を乗算し、目標ゲートノード数を求める工程(ステップS205)以外は、図4で説明した処理と同じため、点線内の処理のみを説明する。存在ゲートノード数を求めた(ステップS203)後、内部ノードアドレス情報から内部ノードをカウントし、内部ノードの総数を求める(ステップS204)。この作業は存在ゲートノード数を求める工程(ステップS203)と同時に行うと効率がよい。そして内部ノード総数に所定の割合を乗算し目標ゲートノード数を求める(ステップS205)。目標ゲートノード数は、内部ノード総数の4%程度とし最低2ノードといった下限ノード数を設けると良い。
図6を参照して、ゲートノード以外のノードであるノーマルノードがゲートノードの存在を確認し、不足があればゲートノードとして機能するときの処理を説明する。図6において点線で囲った部分は図4の処理と同じであるため、それ以外の部分を説明する。なお、本処理は、タイマ値のタイムベース間隔、例えば1秒間隔で実行されることを前提にしている。まず、他ノードがゲートノードを探索したかどうかをチェックする(ステップS301)。メッセージ処理のところで内部全ノードIP要求メッセージ、内部ゲートノードIP要求メッセージを受け取った時にフラグをたてるようにしておくことでチェックすることができる。このフラグが立っている場合(S301、YES)、ゲートノード探索開始タイマ値に所定の値を加算し(ステップS303)、フラグをクリアして終了する。フラグが立っていない場合(ステップS301、NO)、ゲートノード探索開始タイマ値をディクリメントする(ステップS302)。続いて、上記ステップS302でディクリメンとした後のゲートノード探索開始タイマ値が0になったかをチェックする(ステップS304)。ゲートノード探索開始タイマ値が0にならない場合(ステップS304、NO)、何もしないで終了する。ゲートノード探索開始タイマ値が0になった場合(ステップS304、YES)、内部ゲートノードの探索と存在ゲートノード数の検知を行う(ステップS305)。
続いて、内部ゲートノードの探索と存在ゲートノード数の探知の手法について、説明する。まず、内部ゲートノードIP要求メッセージで内部ゲートノードのアドレス情報を収集する。内部ゲートノードIP要求メッセージのシーケンス例を、ノードHを探索元ノードとして図8で説明する。ノードHは、内部ゲートノードIP要求メッセージを送信してアドレス返答メッセージを一定時間待つ。ノードIは、ノードHから受け取った内部ゲートノードIP要求メッセージをノードGに転送する。ノードIは、ゲートノードでないのでアドレス返答メッセージをノードMに返さない。ノードJは、ノードHから受け取った内部ゲートノードIP要求メッセージをノードGに転送する。ノードJは、ゲートノードでないのでアドレス返答メッセージをノードMに返さない。ノードGは、ノードIから内部ゲートノードIP要求メッセージを受け取る。ノードGは、ゲートノードなのでアドレス返答メッセージをノードIに返す。ノードGは、内部ゲートノードIP要求メッセージを外部ノードに転送せず、ノードJから受け取った内部ゲートノードIP要求メッセージを破棄する。ノードIは、ノードGから受け取ったアドレス返答メッセージをノードHに転送する。
内部ゲートノードのアドレス情報を収集すると、ゲートノード数をカウントして存在ゲートノード数を求める。そして、存在ゲートノード数が所定の目標ゲートノード数より小さければ自分がゲートノードとして外部ノードにリンクするステップに進む。最後は次回ゲートノード探索の間隔であるゲートノード探索開始タイマ値を他のノードによる探索とタイミングが重なることを避け、探索密度に偏りが発生しないようランダムに決定する(ステップS313)。
図7を参照して、ゲートノードが他の内部ゲートノードの数に応じてリンク数を動的に変更するときの処理を説明する。図7のノーマルノードのフロー図は、図6の続きであり、内部ゲートノードの探索を行ったノーマルノードは、最後に存在ゲートノード数をそれぞれの内部ゲートノードに送信する(ステップS401)。存在ゲートノード数を配信する仮想ネットワークメッセージを作っても良いが、内部ゲートノードの数は多くないので、ここではIPネットワークでゲートノードに直接接続し、ユニキャストで存在ゲートノード数を送る。
ゲートノードは、存在ゲートノード数を受け取り(ステップS501)、存在ゲートノード数から外部仮想ネットワークゲートノードへの最大リンク数を決める(ステップS502)。現在の外部リンク数と最大リンク数とを比較する(ステップS503)。現在の外部リンク数が前記最大リンク数より多ければ(ステップS503、YES)、外部仮想ネットワークゲートノードへのリンクを最大リンク数以下に減らす(ステップS504)。また、現在の外部リンク数が前記最大リンク数以下である場合(ステップS503、NO)、外部リンク数と所定の最小リンク数とを比較する(ステップS505)。現在の外部リンク数が所定の最小リンク数より少なければ(ステップS505、YES)、外部仮想ネットワークゲートノードへのリンクを最小リンク数以上に増やす(ステップS506)。現在の外部リンク数が所定の最小リンク数以上(ステップS505、NO)であれば何もしない。
上記の説明では、リンクの種類として、リンク、仮リンクを用いて説明されているが、リンクまたは仮リンクによるノードリンク処理部6の動作について、図11を用いて説明する。図11では、リンク要求を送信するノードをリンク元ノード、リンク要求を受け取るノードをリンク先ノードとして説明する。
リンク元ノードのノードリンク処理部15のノードリンク機能(内部、外部を含む)は、リンク先ノードのIPアドレスと所定のポート番号に対して、物理ネットワーク制御層7の各層を介して、リンク要求または仮リンク要求を送信する(ステップS1101)。
続いて、リンク先ノードのノードリンク処理部15のリンク受付機能は、リンク元ノードから送信されたリンク要求または仮リンク要求を受信する(ステップS1102)。リンク先ノードのリンク受付機能は、リンク元ノードから送信された要求が、リンク要求か仮リンク要求かを判断する(ステップS1103)。判断の結果、仮リンク要求であれば(ステップS1103、YES)、アドレス情報テーブルの仮リンクフラグを真にして、リンク元ノードを登録し(ステップS1105)、ステップS1106に進む。リンク元ノードから送信された要求がリンク要求であれば(ステップS1103、NO)、アドレス情報テーブルを参照して、仮リンクフラグの立っているノードを除く、既にリンクしているノードの数を取得し、所定の数(リンク数上限)と比較する(ステップS1104)。
上記ステップS1104における比較の結果、既にリンクしているノードの数がリンク数上限よりも少なければ(ステップS1104、NO)、アドレス情報テーブルの仮リンクフラグを偽にして、リンク元ノードを登録し(ステップS1105)、ステップS1106に進む。その後、リンク受付機能は、リンク要求を許可する旨のリンク要求結果を物理ネットワーク制御層7の各層を介して、リンク元ノードに送信する(ステップS1106)。
一方、上記ステップS1104における比較の結果、既にリンクしているノードの数がリンク数上限よりも多ければ(ステップS1104、YES)、リンク受付機能は、リンク要求を拒否する旨のリンク要求結果を物理ネットワーク制御層7の各層を介して、リンク元ノードに送信する(ステップS1107)。
リンク元ノードのノードリンク機能(内部、外部を含む)は、リンク先ノードから送信されたリンク要求結果を受信する(ステップS1108)。リンク元ノードのノードリンク機能(内部、外部を含む)は、受信したリンク要求結果が、リンク許可を示すものか、リンク拒否を示すものか、を確認する(ステップS1109)。
上記ステップS1109における確認の結果、リンク要求結果がリンク許可を示す場合(ステップS1109、YES)は、リンク元ノードのノードリンク機能(内部、外部を含む)は、リンク先ノードをアドレス情報テーブルに登録して(ステップS1110)、リンク要求のプロセスを終了する。このとき、リンク要求が仮リンク要求であった場合には、仮想ネットワークテーブルの仮リンクフラグを真とする。
一方、上記ステップS1109における確認の結果、リンク要求結果がリンク拒否を示す場合(ステップS1109、NO)には、リンク先ノードへのリンク要求のプロセスを終了し、ノードリンク処理機能は、異なるリンク先ノードへのリンク要求のプロセスを開始する。
アドレス情報テーブルにリンク先ノードが登録されると、図2の仮想ネットワーク制御層6のメッセージ処理機能により仮想ネットワークメッセージをやり取りできるようになる。ただ、仮リンク状態では相対的に負荷の小さいNODE_SERCH、NODE_RESULT系のメッセージだけをやり取りできるように設計されている。すなわち、仮リンク状態ではファイルの検索はできないが、リンク先ノードに接続を拒否されることが無いので、確実にノードアドレスを収集できるメリットがある。
以上の実施形態により、従来よりも通信負荷が小さい仮想ネットワークを構成することができる。また、IPブロードキャストを、サブネットワーク内のノードに優先的にリンクして仮想ネットワークを構成する本実施形態に利用していることで、探索範囲の限定と探索の自動化を同時に行うことができ、参加や離脱が容易な仮想ネットワークを構成するこができる。また、全体の通信量はノード数で大きく変化するため、ゲートノード数を動的に変化させることによって、仮想ネットワークのパフォーマンス低下を防止することができる。また、仮想ネットワークの分断を防止することができる。さらに、サブネットワーク内のノード数に応じてゲートノード数と外部へのリンク数が適切に設定されることによって、仮想ネットワークのパフォーマンスを最適に保つことができる。
下段に示されるIPネットワークを、従来の仮想ネットワーク構築法と、本実施形態におけるネットワーク構築法例で構築した場合の対比を示す図である。 本実施形態における、ソフトウェアの構造の例を示す図である。 本実施形態における、通信装置の概略構成例を示すブロック図である。 本実施形態における、ノードが新規に仮想ネットワークへ参加するときの例を示すフロー図である。 本実施形態における、ノードが新規に仮想ネットワークへ参加するときに、ゲートノード数を求める工程を追加した場合の例を示すフロー図である。 本実施形態における、ノーマルノードがゲートノードの存在を確認し、不足があればゲートノードとして機能するときの例を示すフロー図である。 本実施形態における、ゲートノードが他の内部ゲートの数に応じてリンク数を動的に更新するときの例を示すフロー図である。 本実施形態における、ノードが新規に仮想ネットワークへ参加するときに、ゲートノード数を求める工程を追加した場合の例を示すフロー図である。 本実施形態における、ノードGが返すアドレス情報例を示す図である。 本実施形態における、仮想ネットワークメッセージの種類と内容の例を示す図である。 本実施形態における、ノードリンク処理部の動作例を示すフロー図である。
符号の説明
1、2、3 サブネットワーク
4 ルータ
5 P2Pアプリケーション層
6 仮想ネットワーク制御層
7 物理ネットワーク制御層
8 記憶部
9 入力部
10 表示部
11 通信部
12 制御部
13 仮想ネットワーク管理部
14 メッセージ処理部
15 ノードリンク処理部

Claims (8)

  1. 物理的なIPネットワーク上に論理的な仮想ネットワークを構成する通信装置であって、
    自ノードが属するIPサブネットワーク内にある内部仮想ネットワークノードを探索する第1の探索手段と、
    少なくとも1つの前記内部仮想ネットワークノードに適宜リンクして仮想ネットワークを構成する第1の構成手段と、
    IPサブネットワーク外のノードとリンクする権利の有る仮想ネットワークゲートノードを探索する第2の探索手段と、
    少なくとも1つの前記内部仮想ネットワークゲートノードに適宜リンクして仮想ネットワークを構成する第2の構成手段と、
    前記自ノードが属するIPサブネットワーク内にある内部仮想ネットワークゲートノードを検出してカウントし、前記IPサブネットワーク内に実在するゲートノード数を検出する実在ゲートノード数検知手段と、
    前記実在ゲートノード数検知手段により検出された実在ゲートノード数に基づいて、前記自ノードが属するIPサブネットワーク外にある外部仮想ネットワークゲートノードにリンクするか否かを決定する決定手段と、を有し、
    前記実在ゲートノード数検知手段により検出された実在ゲートノード数が、目標ゲートノード数未満の場合に前記外部仮想ネットワークゲートノードにリンクし、目標ゲートノード数以上の場合に前記外部仮想ネットワークゲートノードにリンクしないで仮想ネットワークに参加することを特徴とする通信装置。
  2. 内部仮想ネットワークノードをIPネットワークのブロードキャストで探索し発見する第3の探索手段と、
    仮想ネットワークゲートノードを仮想ネットワークのメッセージ配信で検索し発見する第4の探索手段と、を有することを特徴とする請求項1に記載の通信装置。
  3. 内部仮想ネットワークノード数に対する所定の割合を目標ゲートノード数とする目標ゲートノード数決定手段を有することを特徴とする請求項1又は2に記載の通信装置。
  4. 不定期間隔で前記自ノードが属するIPサブネットワーク内のゲートノードを探索する第5の探索手段と、
    他ノードがゲートノードの探索を行った際、前記自ノードがゲートノードの探索を行うまでの時間を更新する更新手段と、を有し、
    前記実在ゲートノード数が目標ゲートノード数未満なら外部仮想ネットワークゲートノードにリンクしゲートノードとなることでIPサブネットワーク内のゲートノード数を維持するような仮想ネットワークを構成することを特徴とする請求項1から3の何れか1項に記載の通信装置。
  5. 前記自ノードが属するIPサブネットワーク内の内部仮想ネットワークゲートノード数を前記IPサブネットワーク内の内部仮想ネットワークゲートノードに通知する通知手段と、
    前記内部仮想ネットワークゲートノード数に応じて外部仮想ネットワークゲートノードへの最大リンク数を調節する調整手段と、を有し、
    前記内部仮想ネットワークゲートノードが増加した場合にも外部仮想ネットワークとのリンク数が比例して増加しない仮想ネットワークを構成することを特徴とする請求項1から4の何れか1項に記載の通信装置。
  6. 自ノードが属するIPサブネットワーク内にある内部仮想ネットワークノードを探索する第1の探索工程と、
    少なくとも1つの前記内部仮想ネットワークノードに適宜リンクして仮想ネットワークを構成する第1の構成工程と、
    IPサブネットワーク外のノードとリンクする権利の有る仮想ネットワークゲートノードを探索する第2の探索工程と、
    少なくとも1つの前記内部仮想ネットワークゲートノードに適宜リンクして仮想ネットワークを構成する第2の構成工程と、
    前記自ノードが属するIPサブネットワーク内にある内部仮想ネットワークゲートノードを検出してカウントし、前記IPサブネットワーク内に実在するゲートノード数を検出する実在ゲートノード数検知工程と、
    前記実在ゲートノード数に基づいて、前記自ノードが属するIPサブネットワーク外にある外部仮想ネットワークゲートノードにリンクするか否かを決定する決定工程と、を有し、
    前記実在ゲートノード数が、目標ゲートノード数未満の場合に前記外部仮想ネットワークゲートノードにリンクし、目標ゲートノード数以上の場合に前記外部仮想ネットワークゲートノードにリンクしないで仮想ネットワークに参加することを特徴とするP2Pネットワーク構築方法。
  7. 自ノードが属するIPサブネットワーク内にある内部仮想ネットワークノードを探索する処理と、
    少なくとも1つの前記内部仮想ネットワークノードに適宜リンクして仮想ネットワークを構成する処理と、
    IPサブネットワーク外のノードとリンクする権利の有る仮想ネットワークゲートノードを探索する処理と、
    少なくとも1つの前記内部仮想ネットワークゲートノードに適宜リンクして仮想ネットワークを構成する処理と、
    前記自ノードが属するIPサブネットワーク内にある内部仮想ネットワークゲートノードを検出してカウントし、前記IPサブネットワーク内に実在するゲートノード数を検出する処理と、
    前記実在ゲートノード数に基づいて、前記自ノードが属するIPサブネットワーク外にある外部仮想ネットワークゲートノードにリンクするか否かを決定する処理と、をコンピュータに実行させ、
    前記実在ゲートノード数が目標ゲートノード数未満の場合に前記外部仮想ネットワークゲートノードにリンクし、目標ゲートノード数以上の場合に前記外部仮想ネットワークゲートノードにリンクしないで仮想ネットワークに参加させることを特徴とするプログラム。
  8. 請求項7に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2008311522A 2008-02-08 2008-12-05 通信装置、p2pネットワーク構築方法、プログラムおよび記録媒体 Expired - Fee Related JP5078034B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008311522A JP5078034B2 (ja) 2008-02-08 2008-12-05 通信装置、p2pネットワーク構築方法、プログラムおよび記録媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008029696 2008-02-08
JP2008029696 2008-02-08
JP2008311522A JP5078034B2 (ja) 2008-02-08 2008-12-05 通信装置、p2pネットワーク構築方法、プログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2009213122A JP2009213122A (ja) 2009-09-17
JP5078034B2 true JP5078034B2 (ja) 2012-11-21

Family

ID=41185779

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008311522A Expired - Fee Related JP5078034B2 (ja) 2008-02-08 2008-12-05 通信装置、p2pネットワーク構築方法、プログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP5078034B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101612475B1 (ko) 2010-04-19 2016-04-27 삼성전자주식회사 가십 기반의 p2p 서비스의 파트너쉽 형성 방법 및 장치
WO2012042658A1 (ja) * 2010-10-01 2012-04-05 株式会社日立製作所 分散処理システム及び分散処理システムにおけるノードの配置方法
JP6926737B2 (ja) 2017-07-03 2021-08-25 株式会社リコー 通信システム、ホッピングノード、通信制御方法、及びプログラム
SE1850454A1 (en) 2018-04-19 2019-10-20 Hive Streaming Ab Segmenting a corporate communications network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3872051B2 (ja) * 2003-09-26 2007-01-24 Necソフト株式会社 コンテンツの検索と配信を行うシステムと方法、及びプログラム
JP4893533B2 (ja) * 2007-08-24 2012-03-07 コニカミノルタホールディングス株式会社 ネットワーク接続管理方法、および情報処理装置

Also Published As

Publication number Publication date
JP2009213122A (ja) 2009-09-17

Similar Documents

Publication Publication Date Title
US7609672B2 (en) Method and apparatus for automatic sub-division of areas that flood routing information
JP6047229B2 (ja) 情報中心ネットワークにおける名前ベースの近隣探索及びマルチホップサービス探索
US7660320B2 (en) Communication network, a method of routing data packets in such communication network and a method of locating and securing data of a desired resource in such communication network
KR101604970B1 (ko) 서비스 지향 아키텍쳐 네트워크 내 서비스들의 검색 방법
US8732338B2 (en) Mesh network bridge routing
TW200803303A (en) Inter-proximity communication within a rendezvous federation
TWI599201B (zh) 網路系統及建立資料連線的方法
Tariq et al. Efficient content-based routing with network topology inference
Cugola et al. Content-Based Publish–Subscribe in a Mobile Environment
JP5078034B2 (ja) 通信装置、p2pネットワーク構築方法、プログラムおよび記録媒体
US7848339B2 (en) Data communication apparatus, method for its network configuration, and computer readable recording medium storing its program
Pant et al. DTN overlay on OLSR network
Li et al. An efficient superpeer overlay construction and broadcasting scheme based on perfect difference graph
JP2006171917A (ja) 無線マルチホップアドホックネットワークのためのプロトコル
KR100696206B1 (ko) 피어-투-피어 응용을 위한 자원 검색 방법
Li et al. Analyzing and optimizing Skype peer-to-peer system
Li et al. Topology mismatch avoidable cross-layer protocol for P2P file discovery in MANETs
Silas et al. Evaluating chord over a hierarchical MANET
KR20110003210A (ko) 센서 네트워크의 자율 구성 방법
Jin et al. TCMM: hybrid overlay strategy for P2P live streaming services
Schildt et al. NASDI–Naming and Service Discovery for DTNs in Internet Backbones
Li et al. Community-Oriented Networking Technology
Cheng et al. Utilizing the broadcast medium while maintaining per-link information: A practical approach
Leclerc Contributions for advanced service discovery in ad hoc networks
Bo Optimizing the network topology in gnutella p2p networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111014

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120807

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: 20120814

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: 20120823

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

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5078034

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees