gnutella の図
DESCRIPTION
Gnutella の図. ファイルを探す人. query. hit. Loop 検出. ファイル取得. ファイル. ノードは転送した query のコマンド ID を記憶。 ル ープした query は破棄。 Hit は query の経路を逆向きに伝播。. query. Freenet の図. hit. Fail. ファイルを探す人. Loop 検出. 1. 2. 12. 3. 7. 6. 4. 11. 9. 5. 10. ファイル. 8. ハッシュ値の数値を円状に配置した場合の概念図 同じ数値空間上にノードとファイルが、 - PowerPoint PPT PresentationTRANSCRIPT
Gnutellaの図
query
hit
ノードは転送した queryのコマンド IDを記憶。ループした queryは破棄。Hitは queryの経路を逆向きに伝播。
ファイルを探す人
ファイル
Loop検出
ファイル取得
Freenetの図
ファイルを探す人
query
hit
1
Fail
2
3
Loop検出
4
5
67
8
9
ファイル10
11
12
DHTの概念図ハッシュ値の数値を円状に配置した場合の概念図同じ数値空間上にノードとファイルが、それぞれ一様に分布ノードは円上で近いファイルの位置を管理(注 )実際には、広大な空間 (128bitや 160bit)に対して、数千から数百万のノードやファイルの数で、非常に疎に分布します
このノードの視野近傍の様子は知っているが、遠くはよく知らない青枠の探索空間に関しては、そこにいるノードに探索を転送
探索要求の転送ホップごとに探索空間が 1/nずつ収束した場合、探索は O(logN)で終了 (Nはノード数 )
カラム a
0 a613ノードへの経路
1
2
3
nodeid:0d64
探索要求ファイルのキー :a6e5
経路表
0d64と a6e5の prefix一致長は 00行目のカラム aに経路があれば、探索要求を転送する経路表に a613があったので、転送
nodeid:a613
カラム e
0
1
2 a6e9ノードへの経路
3a613と a6e5の prefix一致長は 22行目のカラム eに経路があれば、探索要求を転送する経路表に a6e9があったので、転送
探索要求ファイルのキー :a6e5
ファイルのキー :a6e9
探索要求ファイルのキー :a6e5
カラム 5
0
1
2
3 a6e5ノードへの経路
nodeid:a6e5
nodeid:a6e9
位置情報a6e9と a6e5の prefix一致長は 33行目のカラム 5に経路があれば、探索要求を転送する経路表に a6e5があったので、転送
探索要求ファイルのキー :a6e5
ファイルの位置情報
ファイルの位置情報
ファイルの位置情報
Pastryの探索
ノード Z
ノード C
ノード B
ノード A
ノード X: nodeid=x
join要求 : key=x
join要求 : key=x
join要求 : key=x
join要求 : key=x
ノード B
ノード C
ノード Z
node
neighborhood set
node
leaf set
下位層 (IP)で、近いノードへの経路を保持ノード Xは IP的に近いノードに、最初の join要求を出したと仮定。ノード Aの neighborhood setを初期値としてもらう
ハッシュ値空間上で近いノードへの経路を保持ノード Zとノード Xはハッシュ値空間上で近いので、ノード Xの leaf setの初期値としてもらう
経路表
経路表の交換n-digitの prefix長が一致している場合*ノード Xは相手ノードの経路表の n行目をもらい、経路表の n行目に使う*相手ノードは、経路表の n行目にノード Xを挿入 (or 無視 )
Pastryノード参加 (経路表の構築 )