Comments
Transcript
Pure 型 P2P ネットワークにおけるヒントと Gossip の有効性 126032
平成 16 年度卒業研究発表会(日本大学工学部情報工学科) G-8 Pure 型 P2P ネットワークにおけるヒントと Gossip の有効性 Effectiveness of Hint and Gossip in Unstructured P2P Network 126032 大瀬裕司 [竹中研究室] ノードは、このリクエスターにコンテンツを要求するこ とになる。このため、検索メッセージを大量に減少させ ることができる。しかし、リクエストが成功しない場合、 このヒントは無効になり、別途検索を開始する必要が生 じる。 1 はじめに 現在のインターネットは、サーバーにアクセスして情 報を受信するサーバー・クライアント方式が主流である。 しかし、最近はインターネットの普及とブロードバンド 化に伴い人気のあるサイトにアクセスが集中することに よりサーバーに大きな負担がかかってしまう、といった 問題点が挙げられている。 上記の問題を解決するために、ノード同士で通信を行 い必要な処理を行う P2P(Peer to Peer)ネットワーク が注目されるようになった。しかし、Pure 型 P2P ネッ トワークにおいては、コンテンツを検索する際に大量の データが発生するため、ネットワークに負荷がかかると いった問題点が指摘されている。 本稿では、コンテンツ検索時のネットワーク負荷軽減 手法として提案されているヒントと gossip について述べ るとともに、これらの手法の有効性について、シミュレ ーションにより評価し、Pure 型 P2P である Gnutella[1] と比較する。 3.2 gossip gossip とは主にある確率 P によってノードから転送さ れる query を次のノードに転送し、確率 1−P で query の転送を制限する負荷軽減手法である。これにより送信 される query 数を確率的に抑え、ネットワークにかかる 負担を軽減する。 確率Pでqueryを送信 リクエスター ノード 2 Gnutella ノード Gnutella に代表される Pure 型 P2P は、Hybrid 型の P2P とは異なり、コンテンツ検索にサーバーを用いない 方式である。Gnutella を例にとって Pure 型 P2P の手順 を説明する。 ① リクエスターは、query、TTL を設定して、隣接ノ ードにブロードキャストする。 ② 隣接ノードは、コンテンツを所有しない場合は、TTL が切れない場合、さらに隣接ノードにブロードキャ ストする。 ③ コンテンツを所有しているノードは、query の送信 元のノードに対して queryhit を送信する。 ④ 送信元のノードとコンテンツを所有しているノード が直接通信することで、コンテンツの送受信を行う。 図2 4.1 ヒントを使用した検索の手順を図3により説明する。 リクエスターから query を受け取ったノード A はコ ンテンツ α に関するヒントを自分が所有しているか を確認する。 ② ヒントが見つかった場合は、ヒントの示すコンテン ツ α を所有しているノード B に query を送信する。 見つからなかった場合は query をブロードキャスト して検索する。 ③ リクエスターはノード B からの queryhit を受け取っ た後、直接通信してコンテンツを取得する。 ④ ノード A の情報とは異なりノード B がコンテンツ を所持していなかった場合は、ヒントの情報による 検索は終了する。 ここでは、ヒントが指すノード B がコンテンツαを所 持していなかった時、そこで検索が終了してしまう。そ のため[2]では、更に検索成功率を向上させるために gossip による再検索が提案されていた。 キ ャ ッ シ ュ され る情 報 リク エ ス タ ー リク エ ス ト情報 query ヒントを使用した検索 ① ヒント ノー ド gossip 4 検索手順 3 ヒントと gossip 3.1 ノード リク エ ス ト情報 ノー ド リク エ ス タ ー 図 1 ヒント ヒントは、 「リクエスターA がコンテンツ B を検索して いる」というリクエスト情報である。図1は、リクエス ターの出した query が通ったノードにキャッシュされて いく様子を示している。この時、キャッシュされたリク エスト情報がヒントの情報となる。このリクエストが成 功すると、リクエスターが要求コンテンツを保持するこ とになるため、このヒントが有効になり、ヒントを持つ ノー ドA ノー ドB ヒント(ノードB:コンテンツα) query queryhit 図3 17 コンテンツの送受信 ヒントを使用した検索 コ ン テ ンツ α 平成 16 年度卒業研究発表会 G-8 4.2 gossip を使用した検索 message数 gossip を使用した検索では、ヒント情報にあるノード がコンテンツを所持していなかった場合に使用する。 検索の流れを図4により説明する。 ① ノード A の所有しているヒントの情報より、ノード B はノード A から query を受け取る。 ② ノード B がコンテンツを所持している場合、4.1 の手順でコンテンツをリクエスターが取得する。 ③ ノード B がコンテンツを所持していなかった場合、 ノード B は gossip により、隣接するノードに確率 P で query を送信するか否かを判断する。 ⑤ 送信する場合は、ヒントを使用した検索を開始する。 送信しない場合は検索終了となる。 50000000 45000000 40000000 35000000 30000000 25000000 20000000 15000000 10000000 5000000 0 gnutella hint hint+gossip 0 0.5 1 zipfのkの値 1.5 2 図5 message 数の比較 1.2 1 成功率 0.8 gnutella hint hint+gossip 0.6 0.4 0.2 コンテンツαを所持していなかった場合,ノードBは 0 0 確率Pで隣接ノードにqueryを送信 図6 ノー ド 1 zipfのkの値 1.5 2 検索成功率の比較 4.5 ノー ドB ノー ドA 0.5 4 3.5 平均hop数 ノー ド ヒント(ノードB:コンテンツα) 3 gnutella hint hint+gossip 2.5 2 1.5 1 0.5 0 図4 5 gossip を使用した検索 0 シミュレーション 0.5 図7 1 zipfのkの値 1.5 2 平均 hop 数の比較 5.1 シミュレーション条件 5.3 今回のシミュレーションでは、message 数、検索成功 率、平均 hop 数を Gnutella とヒント、ヒント+gossip に よるコンテンツ検索により比較し検証した。 シミュレーション条件は、シミュレーション回数 50,000 回、コンテンツ 1,000 種類、ノード数 10,000 台、 ヒント数の上限 100、平均 degree 数 4、TTL 5、gossip のPの値を 1/3 に固定し、zipf[3]のkの値を 0~2 に変化 させ、シミュレーションした。zipf の k の値はコンテン ツのリクエスト頻度の偏り定数であり、k の値が大きく なるほど、人気のあるコンテンツにアクセスが集中しや すくなる特徴がある。 シミュレーションによりヒントを使用すると、検索成 功率を約 85%を維持したまま、message 数を 80%程削 減できた。しかし、検索成功率では、ヒントに gossip を 追加して検索を続行することの有効性は見られなかった。 その理由として、gossip を使用して検索を続行した場合 のヒントの使用法にあると考えられる。ヒント情報によ る検索を再び行うため、ヒントが有効でない場合、検索 範囲が広がらないためと考えられる。そのため、再検索 をブロードキャストで行うことにより、検索成功率が向 上すると考えられる。 結果の考察 6 むすび 5.2 シミュレーション結果 本研究では、ヒントと gossip の手法の有効性を、シミ ュレーションにより検証した。その結果、ヒントにより、 検索成功率を維持しながら message 数を削減できること を示した。今後は、gossip により検索を続行する場合、 ヒントを使用せず、ブロードキャストして検索する場合 のシミュレーションを行い、その有効性を確認するとと もに、queryhit の通過したノードにヒット情報をキャッ シュし、ヒントとして利用する手法の有効性を確認する。 図5では message 数を示している。この図から、ヒン トおよびヒント+gossip については、Gnutella と比べて 最大約 80%の message 数を削減できていた。 図6では検索成功率を示している。Gnutella について は k の値が上がるほど Owner Replication の効果が上が るため、成功率も上昇している。これに対し、ヒントに よる検索ではkの値に依存せずに、約 85%の成功率を維 持した。また、ヒント+gossip による検索が、ヒントに よる検索とほぼ同様の結果を示し、gossip により検索を 続行することの有効性は見られなかった。 図7では検索遅延を示す。ここでの検索遅延は、コン テンツに到達するまでの最短 hop 数の平均により示す。 Gnutella と比較した場合、ヒントによる検索では、kが 小さい領域で約 24%短くなっている。また、ヒント+ gossip による検索ではヒントによる検索とほぼ同様の結 果を示した。 参考文献 [1] http://www.gnutella.com. [2] Havad D.Johansen and Dog Johansen, “Improving Object Search using Hints, Gossip, and Supernodes.” Department of Computer Science, SRDS2002, page 336~340, Japan, Osaka, 2002. [3] ”zipf ’s law” http://linkage.rockefeller.edu/wli/zipf. 18