ニュース
[
English
| Japanese]
last-modified: October 9, 2008
2008年 10月 9日
Version 0.8.9 リリース。
DHT 実装 (
src/ow/dht/impl/
) を整理した。 基本部分 (
BasicDHTImpl
) と 耐 churn 拡張 (
ChurnTolerantDHTImpl
) の 2つに分けた。
IP(v4) マルチキャストルータのバグを修正。
Apache XML-RPC (ライブラリ) を 3.0 から 3.1.1 に更新した。
Berkeley DB Java Edition を 3.3.62 から 3.3.69 に更新した。
2008年 6月 19日
Version 0.8.8 リリース。
ヒープ溢れによる DHT ノードの異常終了が起きにくいようにした。
Jetty を 6.1.10 から 6.1.11 に更新した。
Berkeley DB Java Edition を 3.2.76 から 3.3.62 に更新した。
2008年 5月 24日
Version 0.8.7 リリース。
エミュレータが 15万ノードを動作させられることを確認した。 (ヒープサイズ 1750 MB (
java -Xmx1750m
) の場合。)
Kademlia、Pastry、Tapestry 実装、また、DHT シェル、Mcast シェル、 Emulator 用メッセージングサービスのメモリ消費量を減らした。
Jetty を 6.1.9 から 6.1.10 に更新した。
2008年 5月 19日
Version 0.8.6 リリース。
エミュレータが 8万ノードを動作させられることを確認した。 (ヒープサイズ 1600 MB (
java -Xmx1600m
) の場合。)
Koorde を実行する DHT のノードが消費するメモリを減らした。
iterative ルーティングがタイムアウトするようにした。 (recursive ルーティングには初めから実装されていた。)
実ネットワークで起き得る問題をいくつか解決した。 例えば、無限ループ、メッセージの繰り返し送信、デッドロック。
2008年 5月 14日
Version 0.8.5 リリース。
エミュレータが 7万ノードを動作させられることを確認した。 (ヒープサイズ 1600 MB (
java -Xmx1600m
) の場合。)
メッセージングサービスのメモリ消費量を減らした。
Pastry 実装を改善して、ルーティングでのループ発生を減らした。
Kademlia 実装のメモリ消費量を減らした。 Kademlia の場合、エミュレータは9万ノードを動作させられる。
Tapestry でのノード参加処理を軽くした。
通信メッセージのサイズと数を減らした。
2008年 5月 6日
Version 0.8.4 リリース。
iterative ルーティングでの処理の順序を若干変更。 複数のルーティング要求についての (Chord と Koorde での) 最終ホップの調整処理が並行して実行される。
Emulator 用メッセージングサービスが、 通信ごとに通信遅延を加えられるようになった。
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 に更新した。
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 していた。修正。
2008年 1月 6日
DHT Access Tools 0.6 リリース。
put コマンドに、key-value ペアを複数与えられるようにした。
2008年 1月 6日
Version 0.7.12 リリース。
UPnP 関係の状態を調べるためのメソッドを
ow.messaging.util.UPnPAddressPortMapper
クラスに用意した。
通信タイムアウトの計算が働いておらず、既定値が使われていた。修正した。
2008年 1月 3日
Version 0.7.11 リリース。
コマンド行ツール
owlistnodes
を提供。 オーバレイ上のノードを辿って、見つけたノードを一覧表示する。
エミュレータの挙動を変更した。 タスクがなくなるか、残りのタスクがすべて
scheduledaemon
コマンドでスケジュールされたものとなった場合に 終了する。
2007年 12月 25日
Version 0.7.10 リリース。
TCP / UDP メッセージングサービスのバグを修正。 宛先が自ノードの場合にメッセージハンドラを 2回呼んでいた。
Jetty を 6.1.6 から 6.1.7 に更新した。
Berkeley DB Java Edition を 3.2.44 から 3.2.68 に更新した。
2007年 12月 18日
Version 0.7.9 リリース。
ソケットプールから取り出したソケットを空読みして、 リセットするようにした。
2007年 12月 18日
Version 0.7.8 リリース。
若干の変更: いくつかフラグを追加し、Chord での fix_fingers 処理の間隔を大きくした。
2007年 12月 1日
Version 0.7.7 リリース。
ノードごとのスレッド数を大幅に減らした。 各ノードはスレッドを占有しなくなった。 この変更によって、エミュレータが扱えるノード数が大幅に増えた。
2007年 11月 26日
Version 0.7.6 リリース。
(DHT が使う) ディレクトリサービス中の expire 処理を軽量化した。
Kademlia の性能を向上させた。
Jetty を 6.1.5 から 6.1.6 に更新した。
2007年 11月 6日
Version 0.7.5 リリース。
0.7.3 から、DHT#remove が機能していなかった。修正した。
自動再 put を有効にすると、指定した時間 (TTL) が経過しても DHT 上の値が消えない (expire しない) 問題を解決した。
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 オプションを受け付けるようにした。
2007年 10月 6日
Version 0.7.3 リリース。
通信メッセージのサイズを小さくした。 0.7.2 以前と混ぜて動作させることはできない点に注意。
Berkeley DB Java Edition を 3.2.43 から 3.2.44 に更新した。
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 に更新した。
2007年 8月 22日
Version 0.7.1 リリース。
version 0.7 の分散環境エミュレータが持っていたバグを修正。 "invoke <host ID>" コマンドの host ID 引数が無視されていた。 このバグは churn 実験を妨げる。
Berkeley DB Java Edition を 3.2.23 から 3.2.42 に更新した。
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 に更新した。
2007年 6月 8日
Version 0.6.4 リリース。
TCP / UDP メッセージングサービスと DHT の軽微なバグを修正した。
2007年 5月 9日
Version 0.6.3 リリース。
Chord での REQ_CONNECT メッセージの処理が二重に行われていたのを修正。
Jetty を 6.1.1 から 6.1.3 に更新した。
2007年 5月 3日
Version 0.6.2 リリース。
Chord 実装を改良し、ノードの離脱・故障によりうまく対処できるようにした。
DHT シェル (
owdhtshell
コマンド) が、 --acl オプションなしの場合にはどこからの接続でも受け付けるようにした。
DHT で、put などを要求したノードの代わりに、ルーティング結果の root ノードが複製の作成や削除を行うようにした。
DHT への put, get, remove の際、root ノードの離脱・故障に備えて、 予備の root 候補を取得しておくようにした。
2007年 4月 23日
Version 0.6.1 リリース。
RoutingAlgorithm#neighbors() メソッドを rootCandidates() と改名した。
DHT のノードは、新たに参加したノードへ値を委譲するか否かの判断に、このメソッドを使う。
Berkeley DB Java Edition を 3.2.21 から 3.2.23 に更新した。
Chord のノードが、stabilization 処理の際に、predecessor の生存を確認するようにした。
2007年 3月 29日
Version 0.6 リリース。
-x
オプション付きの DHT shell (
owdhtshell -x
) が持っていたクロスサイトスクリプティング脆弱性を解消した。 詳しくは
こちら
を御覧下さい。
DHT シェル, Mcast シェル, メッセージカウンタがアクセス制御リスト (ACL) を受け付けるようになった。
--acl
オプションで指定する。
通信のタイムアウトを TCP のように計算するようにした。
UDP 通信層が、受信したデータグラムが壊れていたり部分的にしか受信できなかった場合を想定するようになった。
2007年 2月 26日
Version 0.5.11 リリース。
バグを 1つ修整。
このバグによって、実ネットワーク上では Chord と Koorde での lookup が失敗することがあった。
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年 2月 7日
DHT Access Tools 0.5 リリース。
gateway の URL を環境変数
DHT_GATEWAY
でも指定できるようになった。
2007年 1月 31日
Version 0.5.7 リリース。
エミュレータが再び複数マシン上で動作するようになった (
owemu -f ...
)。
2007年 1月 6日
Version 0.5.6 リリース。
処理効率を向上させた。特にスレッドについて。
エミュレータのバグを修正。 高負荷時にメッセージが配送されないことがあった。
2006年 12月 6日
DHT Access Tools 0.4 リリース。
2006年 12月 4日
Version 0.5.5 リリース。
Pastry、Koorde、Tapestry のごく小さなバグを修正。
2006年 12月 2日
DHT Access Tools 0.3 リリース。
"Bamboo Client" から改名。
DHT へのアクセサ (DHTAccessor クラス) をツールから分離した。
2006年 11月 29日
Version 0.5.4 リリース。
Tapestry で、オーバレイへの参加を試みているノードがデッドロックを起こし得る問題を解決。
2006年 11月 19日
Version 0.5.3 リリース。
通信状況が Visualizer などに届かない問題を修正した。
2006年 11月 19日
Version 0.5.2 リリース。
Visualizer (
owviz
) が、初期コンタクト先を与えられた場合に、 能動的にノード情報を集めるようになった。
UDP hole punching 中にデッドロックを起こし得るバグを修正した。
2006年 11月 6日
Version 0.5.1 リリース。
Pastry での経路選択アルゴリズムを改善した。 lookup 成功率が向上。
RoutingAlgorithm#join() と RoutingService#join() の引数を変更した。
2006年 10月 24日
Version 0.5 リリース。
エミュレーションシナリオの形式を変更した。 ノードの制御を開始した後でもノードの停止・起動が可能になった。
2006年 10月 11日
Version 0.4.3 リリース。
XML-RPC DHT サーバ (owdhtshell コマンド) と Pastry 実装のバグを修正した。
2006年 10月 7日
Version 0.4.2 リリース。
DHT シェル、Mcast シェルを改善。 より多くの種類の telnet クライアントをサポートした。
2006年 9月 19日
Version 0.4.1 リリース。
DHT シェル、Mcast シェルが Windows のコンソールに正しく出力できるようにした。
2006年 9月 12日
Version 0.4 リリース。
まともな複製機能を実装した。
root ノード (ルーティングの到達先) に近いノード群に複製を作成する。
複製の数はデフォルトで 3 (ow.dht.DHTConfiguration#DEFAULT_NUM_REPLICA = 3)。
2006年 9月 2日
Version 0.3.6 リリース。
XML-RPC 等のライブラリを更新。
2006年 8月 17日
Version 0.3.5 リリース。
スレッド関係の問題をいくつか解決。
ビルド結果の JAR ファイル (overlayweaver.jar) が、最低限の動作は単独で行えるようになった。
2006年 7月 4日
Bamboo Client 0.1 リリース。
Overlay Weaver の DHT と
Bamboo DHT
に XML-RPC プロトコルでアクセスするツール。
2006年 5月 18日
Version 0.3.4 リリース。
Tapestry と recursive routing の組み合わせが (再び) 動作するようになった。
2006年 5月 15日
Version 0.3.3 リリース。
Koorde が再びきちんと動作するようになった。
2006年 5月 11日
Version 0.3.2 リリース。
DHT#get を失敗させる、Kademlia でのみ発現するバグを修正した。
2006年 5月 10日
Version 0.3.1 リリース。
DHT サービスを、実ネットワークで動作するようにした。
0.3 にはこれに関する深刻な問題があった。
DHT#remove メソッドが削除された値を正しく返すようになった。
2006年 5月 7日
Version 0.3 リリース。
DHT (ow.dht.DHT) のセマンティクスを変更した。
一度 put した key-value ペアの自動的な再 put を止めた。
put 時に TTL (保持期間) の指定を必須とした。
put を行ったノード以外のノードからも削除 (remove) を行えるようにした。
DHT への put/get/remove を XML-RPC 経由で行うことができるようにした。
2006年 5月 2日
Version 0.2.1 リリース。
Koorde でのルーティング時のホップ数を減らした。
コマンドラインオプションの解釈に
Jakarta Commons CLI
を使うようにした。
2006年 4月 27日
日本語のメーリングリストを SourceForge.net から Yahoo! Groups (
MLのページ
) に移した。
2006年 4月 26日
Version 0.2 リリース。
ルーティングアルゴリズム Koorde を実装した。
"Group Manager" (マルチキャスト) サービスを "Mcast" に改名した。
2006年 4月 10日
Version 0.1.6 リリース。
Group Manager (マルチキャストサービス) のバグを修正した。
2006年 3月 26日
Version 0.1.5 リリース。
通常使用では問題とならないバグの修正:
finger table なしの Chord (Linear Walker) を join 時経路表完成モードで動作させた場合に、きちんと successor とリンク関係を持つようにした。
2006年 3月 24日
Version 0.1.4 リリース。
Chord から finger table を分離し、finger table なしのアルゴリズム ("LinearWalker") を用意した。
2006年 2月 12日
Version 0.1.3 リリース。
AdvancedDHT のバグを修正した。
2006年 1月 31日
Version 0.1.2 リリース。
DHT, GroupManager の API を若干変更した。
Berkeley DB Java Edition を 2.0.90 から 2.1.30 に更新した。
2006年 1月 19日
Version 0.1.1 リリース。
メッセージカウンタや Visualizer への報告 (DHT Shell 等の -m オプション) と UDP hole punching が同時に働くようになった。
2006年 1月 17日
Version 0.1 リリース。
このページを用意した。
Return to Overlay Weaver main page