ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Overlay Weaverコミュのリリース

  • mixiチェック
  • このエントリーをはてなブックマークに追加

コメント(30)

0.3.5 リリースしました。
たいした変更はありません。

小さな race condition (スレッド関係のバグ) を修整したのと、
overlayweaver.jar 単独で最低限の動作を可能にしたくらいです。
0.3.6 リリースしました。

XML-RPC などのライブラリを更新しました。
0.4 をリリースしました。

2006年 9月 12日
 Version 0.4 リリース。

 * まともな複製機能を実装した。
  root ノード (ルーティングの到達先) に近いノード群に複製を作成する。
  複製の数はデフォルトで 3 (ow.dht.DHTConfiguration#DEFAULT_NUM_REPLICA = 3)。
0.4.1 をリリースしました。

2006年 9月 19日
 Version 0.4.1 リリース。
  * DHT シェル、Mcast シェルが Windows のコンソールに正しく出力できるようにした。

Windows から DHT/Mcast シェルに対して telnet した場合に、シェルからのメッセージがきちんと表示されるようにしました。これまでは UNIX 系の OS からはきちんと telnet できていたのですが、Windows では表示が崩れてました。
0.4.2 をリリースしました。

2006年 10月 7日
 Version 0.4.2 リリース。
  * DHT シェル、Mcast シェルを改善。より多くの種類の telnet クライアントをサポートした。

DHT シェルや Mcast シェルを使う際、ある種の telnet クライアントから接続すると、コマンドを解釈してもらえず "No such command" になってしまってました。
0.4.3 をリリースしました。

2006年 10月 11日
 Version 0.4.3 リリース。
  * XML-RPC DHT サーバ (owdhtshell コマンド) と Pastry 実装のバグを修正した。

 ChangeLog
 http://overlayweaver.cvs.sourceforge.net/overlayweaver/overlayweaver/ChangeLog?revision=1.50&view=markup


データ (key-valueペア) を自動的・継続的に再putし続ける方式を1つ追加実装しました。しかし、新たに用意した方式だと通信量がかなり増えそうです。改良の余地ありです。
自動再putはデフォルトでは無効化してあります。

src/ow/dht/DHTConfiguration.java の次の変数を true にすると、自動再putを行います:

 DEFAULT_DO_REPUBLISH_ON_TARGETS  データ保持ノードが再putする
 DEFAULT_DO_REPUBLISH_ON_PUBLISHER put元ノードが再putする
0.5 をリリース致しました。
以下、メールリストに投げた内容です:

 2006年 10月 24日
  Version 0.5 リリース。
   * エミュレーションシナリオの形式を変更した。
    ノードの制御を開始した後でもノードの停止・起動が可能になった。

0.4.3 までと 0.5 では、
エミュレータ ("owemu" コマンド) が解釈するシナリオファイルに
互換性がありません。
0.4.3 までのシナリオを使うためには、書き換え、変換、再生成が必要です。
ただ、0.4.3 のエミュレータを 0.5 に移植することで、
以前のシナリオを使うことはできます。
そのためには、src/ow/tool/emulator/* を置き換えます。

今回の変更でようやく churn (ノード群の継続的な参加・離脱) の実験が
可能になりました。
churn 耐性については、まだまだやるべきこと、できることがありそうです。
0.5.1 をリリースしました。

 2006年 11月 6日
  Version 0.5.1 リリース。
   * Pastry での経路選択アルゴリズムを改善した。
    lookup 成功率が向上。
   * RoutingAlgorithm#join() と RoutingService#join() の
    引数を変更した。
0.5.2 をリリースしました。

 2006年 11月 19日
  Version 0.5.2 リリース。
   * Visualizer (owviz) が、初期コンタクト先を与えられた場合に、
    能動的にノード情報を集めるようになった。
   * UDP hole punching 中にデッドロックを起こし得るバグを修正した。

[Visualizer について]

すでにノードが動作している状況で、後から Visualizer を起動して、動作しているノード群や、ノード間の通信を見ることができるようになりました。

[デッドロックを起こすバグについて]

もし、実ネットワーク上で DHT シェルなどの起動直後の
デッドロックを御経験でしたら、
0.5.2 に更新して頂けますと幸いです。
さっそく 0.5.3 をリリースしました。
動作確認が甘く、Visualizer (というか通信状況報告フレームワーク) に問題が残ってました:

 2006年 11月 19日
  Version 0.5.3 リリース。
   * 通信状況が Visualizer などに届かない問題を修正した。
12/4 に 0.5.5 をリリースしました。

 2006年 12月 4日
  Version 0.5.5 リリース。
   * Pastry、Koorde、Tapestry のごく小さなバグを修正。

安定版、という気持ちです。
安定…だといいなあ。
0.5.6 をリリースしました。

 2007年 1月 6日
  Version 0.5.6 リリース。
   * 処理効率を向上させた。特にスレッドについて。
   * エミュレータのバグを修正。
    高負荷時にメッセージが配送されないことがあった。

 アナウンス:
 http://groups.yahoo.co.jp/group/overlayweaver/message/54
0.5.10 をリリースしました。

 2007年 2月 12日
  Version 0.5.10 リリース。
   * DHT シェルのウェブインタフェース (owdhtshell -x) が、
    http://<ホスト名>:3998/ にて put, get, remove 要求を受け付けるようになった。

 2007年 2月 10日
  Version 0.5.9 リリース。
   * DHT シェル (owdhtshell コマンド) を `-x' オプション付きで起動すると、
    http://<ホスト名>:3998/ でノード情報を見られるようになった。
   * lookup に使うポート番号を 3999 から 3997 に変更した。
   * Koorde のバグを修正。

 2007年 2月 7日
  Version 0.5.8 リリース。
   * Mcast シェルが、マルチキャストされたメッセージを、
    ソケットだけでなく標準入力に対しても出力するようになった。

 2007年 1月 31日
  Version 0.5.7 リリース。
   * エミュレータが再び複数マシン上で動作するようになった (owemu -f ...)。

アナウンス:
http://groups.yahoo.co.jp/group/overlayweaver/message/68
0.5.11 をリリースしました。

 2007年 2月 26日
  Version 0.5.11 リリース。
   * バグを 1つ修整。このバグによって、実ネットワーク上では
    Chord と Koorde での lookup が失敗することがあった。

アナウンス:
http://groups.yahoo.co.jp/group/overlayweaver/message/69
0.6 をリリースしました。

 2007年 3月 29日
  Version 0.6 リリース。
   * -x オプション付きの DHT shell (owdhtshell -x) が持っていた
    クロスサイトスクリプティング脆弱性を解消した。
   * DHT シェル, Mcast シェル, メッセージカウンタが
    アクセス制御リスト (ACL) を受け付けるようになった。
    --acl オプションで指定する。
   * 通信のタイムアウトを TCP のように計算するようにした。
   * UDP 通信層が、受信したデータグラムが壊れていたり部分的にしか
    受信できなかった場合を想定するようになった。

アナウンス:
http://groups.yahoo.co.jp/group/overlayweaver/message/72

脆弱性対応の所感とかなんとか:
http://www.shudo.net/diary/2007mar.html#20070329
0.6.1 をリリース致しました。

 2007年 4月 23日
  Version 0.6.1 リリース。

   * RoutingAlgorithm#neighbors() メソッドを rootCandidates() と改名した。
    DHT のノードは、新たに参加したノードへ値を委譲するか否かの判断に、
    このメソッドを使う。

   * Berkeley DB Java Edition を 3.2.21 から 3.2.23 に更新した。

   * Chord のノードが、stabilization 処理の際に、
    predecessor の生存を確認するようにした。

3点目の predecessor 云々というのは PlanetLab 上での経験を反映してます。
Chord 論文に書かれているアルゴリズム・プロトコルそのままでは、
predecessor が離脱していなくなった場合でも、それを検知することができません。
それでは困るので、predecessor の生存を明に確認するようにしました。

アナウンス:
http://groups.yahoo.co.jp/group/overlayweaver/message/76
0.6.4 をリリースしました。

 2007年 6月 8日
  Version 0.6.4 リリース。

   * TCP / UDP メッセージングサービスと DHT の
    軽微なバグを修正した。

吉澤政洋さん、Peter Kersch さんから問題の御報告を頂き、
対処することができました。
ありがとうございます。

アナウンス:
http://groups.yahoo.co.jp/group/overlayweaver/message/78
0.7 をリリースしました。

 2007年 7月 28日
  Version 0.7 リリース。

   * ノードごとのスレッド数を大幅に減らした。
    例えばエミュレータ上で DHT ノードが占有するのは 2スレッドである。

   * エミュレータが、システムクロックのジャンプ (不連続かつ急激な増加) に
    適応するようになった。発生した場合、連続するスケジュールを一気に
    実行するのではなく、飛んだ時間だけスケジュールを遅らせて対処する。
    その際「[Clock jump ...]」といったメッセージを表示する。

   * OutOfMemoryError が発生した場合、JVM をただちに強制終了するようにした。
    スレッドを作成できなかった場合などに発生する。

   * Koorde (アルゴリズム) 実装のバグを修正。
    存在するノードの ID と同じ ID を目標としてルーティングを行うと、
    経路がループして TTL 切れが起きていた。

   * Jakarta Commons CLI ライブラリを 1.0 から 1.1 に更新した。

   * Jetty を 6.1.4 から 6.1.5 に更新した。

アナウンス:
http://groups.yahoo.co.jp/group/overlayweaver/message/88
0.7.1 をリリースしました。

 2007年 8月 22日
  Version 0.7.1 リリース。

   * version 0.7 の Emulator が持っていたバグを修正。
     "invoke <host ID>" コマンドの host ID 引数が無視されていた。
    このバグは churn 実験を妨げる。

   * Berkeley DB Java Edition を 3.2.23 から 3.2.42 に更新した。

アナウンス:
http://groups.yahoo.co.jp/group/overlayweaver/message/92
0.7.2 をリリースしました。

 2007年 8月 25日
  Version 0.7.2 リリース。

   * UPnP での NAT 越え (UPnP NAT Traversal) 機能を実装した。
    ノードは、NAT を発見し設定した後、
    自身が NAT 外側の IP アドレスを持つかのように振る舞う。

   * Berkeley DB Java Edition を 3.2.42 から 3.2.43 に更新した。

アナウンス:
http://groups.yahoo.co.jp/group/overlayweaver/message/93
0.7.3 をリリースしました。

 2007年 10月 6日
  Version 0.7.3 リリース。

   * 通信メッセージのサイズを小さくした。
    0.7.2 以前と混ぜて動作させることはできない点に注意。

   * Berkeley DB Java Edition を 3.2.43 から 3.2.44 に更新した。

アナウンス:
http://groups.yahoo.co.jp/group/overlayweaver/message/95
0.7.4 をリリースしました。

 2007年 11月 4日
  Version 0.7.4 リリース。

   * 0.7.3 には、DHT への put、remove 要求に secret を付けると働かない、という問題があった。
    修正した。

   * 特定の場合に、存在するはずの値を DHT#get が返さない、という問題があった。
    修正した。

   * ルーティング結果に、各ノードごとの時刻を含めるようにした。
    DHT シェルのウェブインタフェース (owdhtshell -x) もそれを表示するようにした。

   * ホスト名の逆引きは、別にスレッドを立てて行うようにした。 DNS の返答待ちを避けるため。

   * Overlay Visualizer (owviz) とメッセージカウンタ (owmsgcounter) も、
    DHT シェル (owdhtshell)、Mcast シェル (owmcastshell) と同様に
    --no-upnp オプションを受け付けるようにした。

画像は、ウェブインタフェースの画面 (一部) をキャプチャしたものです。

アナウンス:
http://groups.yahoo.co.jp/group/overlayweaver/message/98
0.7.7 をリリースしました。

 2007年 12月 1日
  Version 0.7.7 リリース。

   * ノードごとのスレッド数を大幅に減らした。各ノードはスレッドを占有しなくなった。
    この変更によって、エミュレータが扱えるノード数が大幅に増えた。

画像は、PC 1台上での 3万ノード実験の様子です。

アナウンス:
http://groups.yahoo.co.jp/group/overlayweaver/message/106
0.7.11 をリリースしました。

 2008年 1月 3日
  Version 0.7.11 リリース。

   * コマンド行ツール owlistnodes を提供。
    オーバレイ上のノードを辿って、見つけたノードを一覧表示する。

   * エミュレータの挙動を変更した。タスクがなくなるか、残りのタスクがすべて
    scheduledaemon コマンドでスケジュールされたものとなった場合に終了する。

画像は、owlistnodes コマンドで PlanetLab 上のノード一覧を表示している際の様子です。

参考:
[mixi] コミュニティ: PlanetLab
http://mixi.jp/view_community.pl?id=1848312

アナウンス:
http://groups.yahoo.co.jp/group/overlayweaver/message/112
0.8 をリリースしました。

 2008年 3月 22日
  Version 0.8 リリース。

   * RoutingAlgorithm#resume() が (Chord と Koorde にて) ノードあたり
    複数のスレッドを起動していた。修正。これによって多ノードエミュレーションが軽くなった。

   * ルーティング失敗時、ルーティングを行うメソッド (例 RoutingService#route...) が
    RoutingException を throw するようにした。

   * Jetty を 6.1.7 から 6.1.8 に更新した。

   * Berkeley DB Java Edition を 3.2.68 から 3.2.74 に更新した。

   * Iterative ルーティングが稀に NullPointerException を throw していた。修正。

PC 1台でエミュレートできたノード数はこれまで 40,000 が自己最高値だったのですが、
今回の修正で、もっといけそうです。

アナウンス:
http://groups.yahoo.co.jp/group/overlayweaver/message/114
Overlay Weaver 0.8.3 をリリース致しました。

 http://overlayweaver.sf.net/index-j.html

0.8.2 で、"collective routing" という新機能を実装しました。
これは、複数のルーティング (*) 要求を集合的に扱う機能で、
通信するメッセージ数を減らし、ルーティングにかかる時間を短縮します。
具体的には、複数のルーティングにまたがって、
送信先が同一である要求を 1つのメッセージにまとめます。

(*) 正確に言うと "forwarding"。
  "routing" は経路表のメンテナンスを指す。

 2008年 5月 3日
  Version 0.8.3 リリース。

   * DHT#put() が、事前に DHT#setTTL() と DHT#setHashedSecret() 呼び出しで
    設定された TTL と secret を使うようになった。
    DHTシェルにも "setttl" と "setsecret" コマンドを用意した。

   * DHT#put() と DHT#remove() が、 1つのキーに対して複数の値を
    受け付けるようになった。

   * DHT#put() と DHT#remove() が、複数の put/remove 要求メッセージを、
    宛先が同一ノードの場合に、まとめるようになった。
    これによってメッセージ数が減る。

 2008年 4月 28日
  Version 0.8.2 リリース。

   * collective routing を実装した。

   * DHT シェルの put, get, remove コマンドが、
    一度に複数の key-value ペアを受け付けるようにした。

   * recursive ルーティングのバグをいくつか修正した。

   * Pastry でのルーティングの成功率を向上させた。経路表や leaf set の
    どれかにノードを追加する際、他の表にも追加するようにした。
    ルーティングでのループ発生を抑えた。

   * Berkeley DB Java Edition を 3.2.74 から 3.2.76 に更新した。

 2008年 4月 2日
  Version 0.8.1 リリース。

   * Chord と Koorde でのルーティング (例: DHT への put や get) の
    成功率を向上させた。特に経路表が未成熟な状況で。

   * recursive ルーティングでメッセージが消失した場合、
    ルーティング要求に返答が戻らない、という問題に対処した。

   * Jetty を 6.1.8 から 6.1.9 に更新した。

アナウンス:
http://groups.yahoo.co.jp/group/overlayweaver/message/115
Overlay Weaver 0.9 をリリース致しました。

 http://overlayweaver.sf.net/index-j.html

目玉は、memcached 実装と OASIS 対応です。

 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/12/7
http://www.shudo.net/diary/2008dec.html#20081207
Overlay Weaver 0.9.1 をリリース致しました。

 http://overlayweaver.sf.net/index-j.html

目玉は、分散環境エミュレーション (*) の安定性・性能向上です。

(*) PC 1台で多数のノードを動作させること。bin/owemu コマンド。

 2009年 4月 18日
  Version 0.9.1 リリース。

   * エミュレータが 25万ノードを動作させられることを確認した
    (ヒープサイズ 7550 MB (java -Xmx7550m) の場合)。
    より多くのノードを試験中。

   * エミュレータの効率と安定性が向上した。

   * DHT シェル、Mcast シェル、memcached 実装の "status" コマンドが、
    最後に実行したルーティングについてより詳しい情報を出力するようになった。

   * データをメモリ上に持つディレクトリサービス
    (ow.directory.inmemory パッケージ) が
    LRU に基づくデータ管理をサポートした。

   * インストールパスが空白文字を含む場合でも
    Windows 用バッチファイル (bin/*.bat) が動作するようにした。

   * Jetty を 6.1.14 から 6.1.15 に更新した。

技術フェチ日記 2009/4/18
http://www.shudo.net/diary/2009apr.html#20090418
Overlay Weaver 0.9.2 をリリース致しました。

 http://overlayweaver.sf.net/index-j.html

分散環境エミュレータ (owemu) がマルチプロセッサを活用するようになりました。

Chord のバグを修正しました。
finger table から次ホップを選び出す際に、
最善ではないノードを選んでしまう可能性がありました。

 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/5/1
http://www.shudo.net/diary/2009may.html#20090501

ログインすると、残り1件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

Overlay Weaver 更新情報

Overlay Weaverのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。