Overlay Weaver というソフトウェアをリリースしました。
オーバレイ構築ツールキット Overlay Weaver
http://overlayweaver.sf.net/index-j.html
Overlay Weaver はオーバレイ構築ツールキットです。アプリケーション開発
に加えて、オーバレイのアルゴリズム設計もサポートします。
アプリケーション開発者に対しては、分散ハッシュ表 (DHT) やマルチキャス
トといった高レベルサービスに対する共通 API を提供します。この API を用
いることで、特定のトランスポートプロトコル、データベース、ルーティング
アルゴリズムに依存しないアプリケーションを開発できます。
Overlay Weaver は、ルーティングアルゴリズムとして Chord、Kademlia、
Pastry、Tapestry の実装を提供しています。ルーティング層の分割によって、
これらのアルゴリズムをたかだか数百ステップで実装することが可能となりま
した。ルーティング層は高レベルサービスの下位に位置し、ルーティングドラ
イバ、ルーティングアルゴリズム、およびメッセージングサービスから構成さ
れます。この分割によって、新規アルゴリズムの実装も容易になっています。
Overlay Weaver はまた、新たに実装したアルゴリズムを試験、評価、比較す
るためのエミュレータも提供しています。このエミュレータは数千の (仮想)
ノードを扱うことができ、大規模エミュレーションによるアルゴリズム間の公
正な比較を可能にします。
特徴:
- Java 5 で実装されています。
(IPv4 マルチキャストルータの一部は C です。)
- 複数のルーティングアルゴリズムの実装を提供しています:
Chord, Kademlia, Pastry, Tapestry。
- 2種類のルーティングドライバを提供しており、
それぞれ、iterative / recursive ルーティングを行います。
どちらも、任意のルーティングアルゴリズムと組み合わせて使うことができます。
(Kademlia の recursive ルーティング、を除く。)
- 分散環境エミュレータを提供しており、1 GB メモリの 32 ビットマシンで
4000 の (仮想) ノードをエミュレートできています。
- 通信層には 3種類の実装があります:UDP, TCP, エミュレータ実装。
UDP 実装は UDP hole punching を行います。
- 可視化ツール Messaging Visualizer を提供しています。
ノードと通信を動作中に可視化します。
エミュレータと実ネットワークの双方で動作します。
ウェブサイトには、スクリーンショットやデモも用意してあります。
御覧頂けますと幸いです。
本ツールキットを使ったアプリケーション開発、アルゴリズム研究、
テストベッド構築、運用等の活動を、可能な限りサポート致します。
御連絡、もしくは、ML への御参加を検討頂けますと幸いです。