ラベル P2P の投稿を表示しています。 すべての投稿を表示
ラベル P2P の投稿を表示しています。 すべての投稿を表示

2010年7月10日土曜日

分散環境エミュレータを使ってみよう - overlayweaver

DHTシェルを何度も何個も起動させるのってめんどくさいなーって時に使える。

使い方は簡単

まずは、SimpleScenario.txtというファイルを作ります。
そこに、次の内容を書き込んで、拡張子(.txt)を消しておく
timeoffset 2000 # invokes the first node class ow.tool.dhtshell.Main arg -p 10000 schedule 0 invoke # invokes 3 nodes, which contacts the first node (emu0) to join an overlay arg emu0 schedule 1000,1000,3 invoke

次にコマンドプロンプトを起動して、SimpleScenarioのあるディレクトリまで移動。
そして、
owemu SimpleScenario
と、実行すると以下のようにノードが四つできあがります。

C:\workspace\overlayweaver>owemu SimpleScenario
DHT configuration:
hostname:port: emu0:3997
transport type: UDP
routing algorithm: Chord
routing style: Iterative
directory type: VolatileMap
working directory: .
A DHT started.
A shell server is waiting on the port tcp/10000
[Clock jump or overload detected: class ow.tool.
1ba34f2, 2312 msec behind]
DHT configuration:
hostname:port: emu1:3997
transport type: UDP
routing algorithm: Chord
routing style: Iterative
directory type: VolatileMap
working directory: .
initial contact: emu0:3997
A DHT started.
DHT configuration:
hostname:port: emu2:3997
transport type: UDP
routing algorithm: Chord
routing style: Iterative
directory type: VolatileMap
working directory: .
initial contact: emu0:3997
A DHT started.
DHT configuration:
hostname:port: emu3:3997
transport type: UDP
routing algorithm: Chord
routing style: Iterative
directory type: VolatileMap
working directory: .
initial contact: emu0:3997
A DHT started.



ちなみに、シナリオファイルを和訳すると、以下のようになります。

遊戯
「俺のターン!
 初期ノードを0ミリ秒後に発動!!
 クラスは、ow.tool.dhtshell.Mainで、引数は-p 10000だ!(10000番ポートで接続を待つ)

 さらにー!1000ミリ秒待ってから~
 三つのノードを1000ミリ秒ごとに一つ発動するぜー!!
 そして、こいつらを初期ノードに接続してオバーレイに参加だー!!!」

海馬
「なにー!?
 たった1ターンでノードを四体だとー!」




ちなみに、ow.tool.dhtshell.Mainの、引数を以下のようにすると
arg -p 10000 -r Recursive -t TCP -a Kademlia

ルーティングスタイル:Recursive(再帰方式)、通信タイプ:TCP、アルゴリズム:Kademlia
こんな感じで、DHTの設定を変えることもできます。



参考文献
OWの使い方
分散環境エミュレータのマニュアル
DHT シェルのマニュアル

2010年7月8日木曜日

overlayweaverの使い方(eclipse) - overlayweaver

1.環境準備

まずは、Java SE Development Kit のJDK、JREをダウンロード、インストールしてください。

次にeclipseをダウンロードして、 適当な場所に展開してください。
eclipseを起動したら、workspaceを決めます。ちなみに私は、c\workspace にしてます。あと、パスに日本語(例えば デスクトップ\workspace)とかは避けてねw

とりあえず、準備終了


2.overlayweaverのビルド(コンパイル)

まず、overlayweaverをzipでダウンロードして、これをworkspaceに解凍します。
そして、eclipseで「ファイル→;新規→プロジェクト→その他→既存のAntビルドファイルからのJavaプロジェクト→C:\workspace\overlayweaver\build.xmlを参照」とし、完了。このとき、javac宣言を選択という項目があり、compile.mainの方を選択しておく。

その後、overlayweaverのbuild.xmlを右クリックし、実行→Antビルドを実行し、コンソールに「BUILD SUCCESSFUL」と表示されれば成功です。

これで、サンプルプログラム(dhtshellとか)が使えるようになります。


3.dhtshellを使ってみよう

(1)PATHの設定
マイコンピュータを右クリックしてプロパティの設定画面へ
詳細設定の環境変数へ
PATH変数を編集して(私の場合) C:\workspace\overlayweaver\bin; を追加します。

(2)dhtshellの実行
コマンドプロンプトを開き、owdhtshellコマンドを実行するとdhtshellが起動します。

後は公式に丸投げします。

いや、別にめんどくさくなったからじゃなんだからね。あとは公式にのってるから省略しただけなんだよ。


ちなみに、eclipseを使わない場合のビルドの仕方は公式の方に全部載ってるのでそっちを参照してください。


参考文献
OverlayWeaver文書
p2p設計入門(4)---順調に分からないまま進む。