オーバレイ構築ツールキット

Overlay Weaver


Overlay Weaver はオーバレイ構築ツールキットです。 アプリケーション開発に加えて、 オーバレイのアルゴリズム設計もサポートします。

アプリケーション開発者に対しては、 分散ハッシュ表 (DHT) やマルチキャストといった高レベルサービスに対する 共通 API を提供します。 この API を用いることで、 特定のトランスポートプロトコル、データベース、ルーティングアルゴリズム に依存しないアプリケーションを開発できます。

Overlay Weaver は、 ルーティングアルゴリズムとして Chord、Kademlia、Koorde、Pastry、Tapestry の実装を提供しています。 ルーティング層の分割によって、 これらのアルゴリズムをたかだか数百ステップで実装することが可能となりました。 ルーティング層は高レベルサービスの下位に位置し、 ルーティングドライバ、ルーティングアルゴリズム、および メッセージングサービスから構成されます。 この分割によって、新規アルゴリズムの実装も容易になっています。 Overlay Weaver はまた、新たに実装したアルゴリズムを試験、評価、比較するための エミュレータも提供しています。 このエミュレータは数十万の (仮想) ノードを扱うことができ、 大規模エミュレーションによるアルゴリズム間の公正な比較を可能にします。

キーワード: オーバレイネットワーク, Peer-to-Peer (P2P), Distributed Hash Table (DHT), 大規模エミュレーション

ニュース

2009年 5月 17日
Version 0.9.4 リリース。
  • DHT シェルのウェブインタフェースが、ルーティング結果の経路を地図 (Google Maps) 上に表示できるようになった。 スクリーンショットとデモのページ にスクリーンショットを用意した。 PlanetLab 上のノードが地図を表示する: http://oweaver.nyuld.net:3998/
  • Pastry 実装のバグを修正した。 実ネットワーク上での動作に問題が出ることがあった。
  • Berkeley DB Java Edition を 3.3.75 から 3.3.82 に更新した。
2009年 5月 1日
Version 0.9.2 リリース。
  • エミュレータがスレッドプールを使うようになった。 これによって "control" コマンド間の並列性を活かせる。
  • 何種類かの有用なスレッドプール実装 (ow.util.concurrent.*) を用意した。
  • 過負荷 / 時計のジャンプについての検出・適応機構を改善した。
  • Chord が (Chord 論文の通りに) finger table からより良い次ホップを選び出せるようになった。
  • Pastry と Koorde でのバックグラウンド処理の、処理間隔のとり方を変更した。
  • Apache XML-RPC (ライブラリ) を 3.1.1 から 3.1.2 に更新した。
  • Jetty を 6.1.16 から 6.1.17 に更新した。
2009年 3月 31日
スクリーンショット・動画・デモのページ にデモ動画を用意した。
  • 「Overlay Visualizer」
  • 「PlanetLab 上 500 ノード以上での DNS エミュレーション」
2008年 12月 7日
Version 0.9 リリース。
  • Overlay Weaver ベースの memcached 実装 (bin/owmemcached) を提供。 本日時点では実用品というよりは技術デモ。
  • A DHT shell を OASIS (ウェブサイト) 対応サービスとして実行できるようにした。 --oasis オプション。 PlanetLab 上のノードに http://oweaver.nyuld.net:3998/ で到達できるようになった。
  • Jetty を 6.1.11 から 6.1.14 に更新した。
  • Berkeley DB Java Edition を 3.3.69 から 3.3.75 に更新した。
2008年 1月 6日
DHT Access Tools 0.6 リリース。
  • put コマンドに、key-value ペアを複数与えられるようにした。
[More ...]