« [音楽]ポップスオーケストラ shiffon with THE NEW BREED | トップページ | [P2P]ノード数と最大ホップ数の関係~その1 »

2007.03.25

[P2P]ブラウザだけで分散ハッシュテーブル(DHT)を体感しよう!

□はじめに
P2Pで注目されている技術として分散ハッシュテーブル(DHT)が挙げられますが、仕組みが複雑なこともあって、理解するのはなかなか大変です。またOverlay WeaverのようなDHTシュミレーターをインストールするのも、ちょっと面倒。。という人も多いと思われます。

そこで、ブラウザだけでDHTを体感できる2つのサイトをご紹介したいと思います。

なお、DHTって何?と思った方は拙著のDHT入門を見て頂くことをお勧めします。

分散ハッシュテーブル入門~その1(初心者向け)
P2Pと分散ハッシュテーブル~その1(ネットワークについてある程度ご存知の方向け)

□FlashでDHT体験?

DHTの有名な方式の一つとしてChordが挙げられます。このChordにおけるルーティングの様子をFlashで動的に図示するサイトがあります。
http://ibaraki.iobb.net/misc/dht/DHT.html

使い方は以下の通りです。

1)Flashで円状に黒い円と青い円が表示されます。どちらの円もノードIDを示します。青い円はそのノードIDにノードが存在する場合を示します。逆に黒い円はそのノードIDにノードが存在していません。

2)次に青い円(この円を円Aとします。)を一つ選らんでクリックします。色が緑に変わることがわかります。つぎにもう一つ青い円(この円を円Bとします。)を選びます。すると、円Aから円Bにルーティングされている様子が図示されます。左上にはルーティングで経由するノードIDが数字で示されます。

3)右下の「Clear Node」を押すと、ノードの再配置が行われます。

このFlashでChordのルーティングイメージがざっくりとわかると思います。なおActionScriptのソース等も公開されています。このActionScriptを改良して更なる情報を表示させたり、ノードが参加、離脱する様を表示させるのも興味深いでしょう。
http://ibaraki.iobb.net/misc/dht.zip

□実際に分散環境で動いているDHTを体感する!

今度は実際に分散環境で動いているDHTをブラウザで体感してみましょう!
今回ご紹介するのはPlanetlabという世界中に広がる分散環境上でOverlay Weaverが動いている様子を表示するサイトです。DHTとしては先ほど同様Chordを使っています。
http://planetlab0.otemachi.wide.ad.jp:3998/

サイトを見ると、まず最初にノードの情報、その後にルーティング情報(Predecessor、Successor List,Finger Table)が見えます。なおルーティング情報にあるリンクを押すと、各ノードの情報を見る事ができます。

これだけだとルーティング情報を参照するだけになりますが、サイトの最後にget,put,removeというフォームがあることに注目してください。これがとても面白いのです。

putとは、あるkey(ノードIDとほぼ同一と考えてください)にvalue(ある値、任意)を格納することを意味します。removeはputの逆でkyeからvalueを削除します。getはあるkeyに対してどのようなvalueがあるか、一覧を出してもらえます。

まずはputをしてみて、それをgetしたときに、入力したvalueの値がきちんと現れるか見てください。興味のある方は様々なkeyでvalueをputをした場合、そのvalueを実際にはどのノードが持っているのか調べてみると良いでしょう。

□終わりに
今回はブラウザだけでDHTを体験できるサイトを紹介しました。DHTに本格的に興味をもあった方はOverlay Weaverを実際にPC内で動かしてみるのも良いでしょう。

|

« [音楽]ポップスオーケストラ shiffon with THE NEW BREED | トップページ | [P2P]ノード数と最大ホップ数の関係~その1 »

コメント

PlanetLab 上の Overlay Weaver ですが、
put, get, remove 時に、その際の経路も表示するようにしました。

投稿: しゅどう | 2007.03.29 02:21

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: [P2P]ブラウザだけで分散ハッシュテーブル(DHT)を体感しよう!:

« [音楽]ポップスオーケストラ shiffon with THE NEW BREED | トップページ | [P2P]ノード数と最大ホップ数の関係~その1 »