250 likes | 354 Views
自己組織化型 P2P 検索システム : TellaGate 小島 一浩 独立行政法人 産業技術総合研究所. 背景 Community Net の提案 TellaGate の概要と詳細 今後の課題 デモ. Background. 既存の P2P に対する不満点: 1. P2P の検索機能を強化するには? 2. ネットワーク負荷を減らしたい. 3. 回線速度を重視しすぎなのでは? 4. 匿名性を重視しすぎでは? 5. そもそもファイル交換以外の使い方はないのか? 新たな方向性の提案: 1. 回線速度ではなく,コンテンツ,人主体にすべきでは?
E N D
自己組織化型P2P検索システム : TellaGate小島 一浩独立行政法人 産業技術総合研究所 • 背景 • Community Netの提案 • TellaGateの概要と詳細 • 今後の課題 • デモ
Background 既存のP2Pに対する不満点: 1. P2Pの検索機能を強化するには? 2. ネットワーク負荷を減らしたい. 3. 回線速度を重視しすぎなのでは? 4. 匿名性を重視しすぎでは? 5. そもそもファイル交換以外の使い方はないのか? 新たな方向性の提案: 1. 回線速度ではなく,コンテンツ,人主体にすべきでは? 2. 人のつながり,コミュニティー 3. 魅力あるコンテンツ生成能力のある人は,中心へ.
Community Net 発見! TellaGate Net TellaGate Net TellaGate Net TellaScope エントリーへアクセス 情報共有 ・ 情報検索 ・ 情報配信 コミュニティーに参加= コミュニティーの自己組織化 問題発生!
Application Image コミュニティー構造が期待できる対象 • 分散論文検索 • 分散掲示板
Hint B Cの友人 A C • そもそも現実世界では? • AはBと友人である • BはCと友人である • AはBの友人にCがいることを知っている • BはCの友人にD,E,Fがいることを知っている • AはBにCを紹介してもらう. • AはCと友人になる • 紹介の連鎖 = 「人つて」による検索 • 連鎖を繰り返し,その関係を維持すると • コミュニティーが形成される
Proposed Method: TellaGate Protocol 1.PeerDigest => Preference 2.Pong Proxy => Exchange PeerDigest 3.QRP with Firework => Query Routing Protocol 4.Backward Learning => Update Query Routing Table 5.Community Self-Organization Algorithm
Performance a) Success rate b) Network load
TellaGateの概要 D C E B A • Downloadによる嗜好状態の変化 • 2. Query/QueryHit 転送による学習 • 3. Networkの再構成 • 1.2. が3.に影響を与える QueryHit QueryErr Bは,自身が持つC,Eの内部モデルを変化 Bは,C,Eの内部モデルをAに伝える Query
TellaGateの構成 SearchEngine module - Search Engine HTTP module - HTTP Server - HTTP Client 接続要求 TellaGate Octopus module - P2P Routing 登録・経路問合せ 生成・管理 TCP:6699 TellaPeer (QThread) 検索 PeerDigest作成 - Indexer ChaSen(形態素解析器) TCP:8080
PeerDigest 0 1 … 1 … 0 1 text ward hash function M-bits array Bloom filter Index Table Definition of similarity
Octopus : P2P Routing Module C A B D E B’s Octopus : 1st Neighbors 2nd Neighbors Message Cache Table
Ex. Ping-Pong and Pong Proxy : step 1 C A B D ExPing ExPing E B’s Octopus : 1st Neighbors 2nd Neighbors Message Cache Table
Ex. Ping-Pong and Pong Proxy : step 2 C A B D ExPong(C) ExPong(D) E B’s Octopus : 1st Neighbors 2nd Neighbors Message Cache Table
Ex. Ping-Pong and Pong Proxy : step 3 C A B D ExPong(E) E B’s Octopus : 1st Neighbors 2nd Neighbors Message Cache Table
Query Routing (QRPwF) : step 0 C A B D network = {0, 101, 1858, 25007} Query E B’s Octopus : 1st Neighbors 2nd Neighbors Message Cache Table
Query Routing (QRPwF) : step 1 C A B D network = {0, 101, 1858, 25007} Query E B’s Octopus : 1st Neighbors 2nd Neighbors Message Cache Table
Query Routing (QRPwF) : step 2 C A B D QueryErr network = {0, 101, 1858, 25007} E B’s Octopus : 1st Neighbors 2nd Neighbors Message Cache Table
Query Routing (QRPwF) : step 3 C A B D network = {0, 101, 1858, 25007} Query E B’s Octopus : 1st Neighbors 2nd Neighbors Message Cache Table
Query Routing (QRPwF) : step 4 C A B D network = {0, 101, 1858, 25007} QueryHit E B’s Octopus : 1st Neighbors 2nd Neighbors Message Cache Table
Query Routing (QRPwF) : step 5 C A B D network = {0, 101, 1858, 25007} QueryHit E B’s Octopus : 1st Neighbors 2nd Neighbors Message Cache Table
Community Self-Organization Algorithm (CSOA) C A B D E A’s Octopus : 1st Neighbors 2nd Neighbors Message Cache Table
CSOA : step 1 C A B D E A’s Octopus : 1st Neighbors 2nd Neighbors Handshake Message Cache Table
CSOA : step 2 C A B D E A’s Octopus : 1st Neighbors 2nd Neighbors ExPing-ExPong Message Cache Table
Small World ? Handshake Networkの特徴: 1. Diameter 2. Clustering係数(WS-model)
Conclusions and Future Works □htmlへの対応 -> Apache + Namazu + Squid + Browser? □最近は,海外でもSocial Network(出会い系)がWebサービス として流行っている -> Friendstar, Googleの新サービス Friend Rank P2Pで,主観的Rankを計算できないか? □数理解析 ->簡単なモデルを作成 □ユーザは使えれば,P2Pでなくてもいい... ->ユーザにアピールできるのは?