gnutella の図

6
Gnutella のの query hit のののののののの query ののののの ID のののののののの query のののHit の query のののののののののののののののののの のののの Loop のの のののののの

Upload: anastasia-sutton

Post on 02-Jan-2016

23 views

Category:

Documents


2 download

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 Presentation

TRANSCRIPT

Page 1: Gnutella の図

Gnutellaの図

query

hit

ノードは転送した queryのコマンド IDを記憶。ループした queryは破棄。Hitは queryの経路を逆向きに伝播。

ファイルを探す人

ファイル

Loop検出

ファイル取得

Page 2: Gnutella の図

Freenetの図

ファイルを探す人

query

hit

1

Fail

2

3

Loop検出

4

5

67

8

9

ファイル10

11

12

Page 3: Gnutella の図

DHTの概念図ハッシュ値の数値を円状に配置した場合の概念図同じ数値空間上にノードとファイルが、それぞれ一様に分布ノードは円上で近いファイルの位置を管理(注 )実際には、広大な空間 (128bitや 160bit)に対して、数千から数百万のノードやファイルの数で、非常に疎に分布します

Page 4: Gnutella の図

このノードの視野近傍の様子は知っているが、遠くはよく知らない青枠の探索空間に関しては、そこにいるノードに探索を転送

探索要求の転送ホップごとに探索空間が 1/nずつ収束した場合、探索は O(logN)で終了 (Nはノード数 )

Page 5: Gnutella の図

カラム 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の探索

Page 6: Gnutella の図

ノード 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ノード参加 (経路表の構築 )