使い方は簡単
まずは、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 シェルのマニュアル
0 件のコメント:
コメントを投稿