主な機能追加/削除のみです。
全ての履歴はWinny変更履歴
(Winny Tips)
あるいは47氏語録を参照してください。
port0以外は中継しない。(キーの書換をしない)
Badport0
accept した側が相手に転送リンクを空接続して5secでタイムアウトしたらBadport0として切断。
転送復活。8.4のport0 checkが10secに。
リンク数限界が4に。
たまに検索出してみる
プロトコル変更
socket周りを作りなおし。プロトコル変更。
受可キャッシュが転送対象に。
自動再試行実装。10回まで。キー数限界10000→5000。
キー上昇率低下。転送率低下。
転送回数ができるかぎり1回以下になるように修正。プロトコル変更。自動再試行保留、タイムアウトが30secに戻る。
またーりとしたダウン試行実装
port0がUP可、上流可に。
port0は転送確率が倍、但し転送は子供が2人以上の条件下。
プロトコル変更
自動ダウン実装
これは検索クエリはまったく出さないで、
下流から上がってきた転送キーだけ見て動作しますので、
上流ノードで使わないと意味がないです。
ダウンロードのタイムアウト30sec→60sec、 キー寿命x2.5、上昇頻度1/2.5。
自動ダウンの開始数=転送リンクUP数に制限
プロトコル変更
帯域制限実装
まず、UP側は検索リンクも制限かかりますが、DOWN側は転送リンクだけ制限かかります。 UP側はsend時に送信パケットの長さを調節して制限していますが、 DOWN側はファイル転送要求のタイミングを引き伸ばすことによる間接的な制限です。
帯域制限がon/offできるようになった。
帯域制限無し時に10ブロック毎に転送指示することで転送速度向上
・ 自動ダウンの制限を緩くした(UP無しでもダウンがかかります)
自動ダウンにファイルサイズ制限追加
帯域制限無し時に10ブロック毎に転送指示することで転送速度向上
自動ダウンの制限を緩くした(UP無しでもダウンがかかります)
参照数が変なキーやハッシュが0なキーを無視するようにした
同じキーに対する分割ダウンロードが同じノードに複数掛けられなくなった
ダウン中のファイルは今ダウンしているノード以外にキャッシュを持つノードがないと受可きゃっしゅにならない。
手動検索の表示数が100→200。
転送完了時、キャッシュ送信時にキャッシュ整合性チェック
自動分割ダウン実装
自動ダウンワードを用いたクラスタリング実装
検索ハッシュがファイル全体から求めるようになった。
キャッシュのファイル名がハッシュ値に依存。
ハッシュ値による自動ダウン指定。
自動再試行削除、自動分割ダウン削除。
キー寿命低下
キャッシュ・ プロトコル変更
自動ダウン単語の相関チェックが相互チェックに。
手動再試行削除
自動ダウンで上流にクエリ発行、60秒に一回。(以前は200秒ごと)
自動ダウンでヒットしない場合のみ検索。
上流クエリ発行を中止
開発環境がVisualC++.NETに変更
下流仮想キーが10000個に制限
一度に処理するクエリ個数を20に制限
自動ダウン拒否指定実装
自動ダウンのキーワード指定が4文字(無視は2文字)以上
削除指定実装(この時点では無視=削除)
無視ノード実装
検索クエリの帰り以外でも下流にキーが流れるようになった
・下流から上流へのキーは連鎖的に最上流まで流れる
・上流から下流へは一つ下にしか流れない(最下流までは時間がかかる)
・検索パケットは上流にのみ飛ぶ
・基本的に転送は検索リンク上流で起こる
自動ダウンによるクエリ発行をやめた
キー転送で連鎖的に遡るのをやめて上下とも隣接ノードにのみ転送する方式にした
キー転送率の上昇、キー寿命の延長
上下流あわせてキー制限が20000に。(以前は下流から10000のみ)
プロトコル変更
キー転送率が回線速度依存に
検索リンクの上方制限が4に。
検索リンクの上方制限が3に
クエリが溢れている場合はキー転送を中止
クエリ発行率低下、キー寿命延長
接続優先度が負方向に非常に大きくなったらノード削除
キー検索が最上流で上下にさかのぼるスイッチバック方式実装
上流へのキー転送がβ15同様に最上流まで行くようになった
15.3の自動ダウンからの検索クエリ発行が復活
UP転送リンクによる自動ダウン制限復活
ダウン条件が2文字以上(4文字以上だった)
転送リンクできたノードは優先度増加
検索クエリの到達距離を短くした
仮想キー限界を上下20000→10000に。
β15のキー強制上昇からβ16の拡散方式に変更
キー寿命やキーの伝達率などをβ16.3と同じにした
現在のWinnyのキー配布モデルと同様になった。
自ノードより高速なPort0は一定時間で(転送リンクも)強制切断
優先度が負の切断動作復活
自動ダウン開始条件が UP+2 → UP+1 に
多重起動禁止
転送リンク限界最低値が3 → 2に
上流へのキー転送率を下流の2倍に
BBS実装
キャッシュフォーマットがVer0.3
(ハッシュ値が暗号キーにも依存するようになった)
UPファイル限界が2000に。
転送リンク接続が1秒1回→2秒1回に。
同一IPアドレスのノードからの転送リンクを1つに制限
18.0でBBS以外のファイルがBBSで流れるバグのためプロトコル変更
BBSファイルにヘッダが付いた。
長文書き込み制限がバグっていたので修正(3000文字に制限)
β17のスイッチバック配布復活
クエリパケットはどこまでも上流にではなく、主に自分のノードと同じレイヤと
その一つ上を中心に往復してスイッチバックしながら広まっていくことになります。
BBSキーは3段階の新鮮度に応じて転送率上昇
切断規則をリンク時間の短いものからホストの優先度の低いもの優先にするようにした
切断試行を4秒に1回まで落とした
転送リンク不良切断時に接続優先度を落とすようにした
三日以上未来のBBSキーは無視→1時間以上未来のBBSキーは無視に変更
クエリ検索をβ18.6方式に戻した(スイッチバック廃止)
一度だけダウンが復活
BBSでURLによる検索条件
検索と自動ダウンで AND 検索実装
無視条件と削除指定が分離した
キー寿命延長、自動ダウンのクエリ発行率低下、クエリへのパック数低下
転送リンク数限界をUP帯域に依存
BBS書き込みが必ず検索リンクの隣接ノード経由に
キャッシュ/ダウンフォルダの空き容量が256MB以下になったら警告で新規Down中止
書き込み中継時に多重するバグ修正
優先度実装
キャッシュ変換保留実装
DOWN MAX を +1 した (自動ダウンで -1 になるので結局 DOWN = UP)
自動ダウンでの検索クエリ発行頻度を大幅に向上
UP=DOWNにもどした(ただしUP側が+1になる可能性が高い)
ダウンリスト先頭の3条件でもクエリ発行するようにした(ただし先頭三つのクエリ発行率は低め)
ポート0ノードでは負のクラスタ化のためのリンク切断を行わないようにした
帯域速度の計算を1ライン30KB/sから40KB/sに変更
検索リンクと転送リンクの下流でport0の占める割合をリンク数の半分までに制限
負のクラスタ化のための検索リンク切断でport0が不利だったのをやめた
ノードリストを他ノードへ転送する際に、クラスタ化ワードも転送するようにした
低速切断が働くのをDOWN接続数がMAX時のみにした
ポート警告による停止制限限界数を増やした(10→20)
下方検索リンク限界数を5にした
白Winny(w
黒に戻った。
キーの上昇頻度をノード速度にそれほど依存しないようにした
検索時に内部でクエリを繰り返し発行するようにした
ダウン優先度の係数が可変に
仮想キー保持個数を可変に(5000〜50000)
キーでの名前探索の内部処理がテーブルに。GCが必要になった。
UPファイルハッシュチェック時に時間と初期参照量にばらつきがでるようにした
多重ダウンがONだと、ダウン中のキャッシュが転送可能でも 読可キャッシュ→部分キャッシュになって転送対象にならないのを修正
暗号キー廃止、トリップ実装
プロトコル変更
キャッシュ変更(ver0.4)
ファイルアップ個数が無制限に
リストの表示限界が1000に増加
ログメッセージが日本語に
自動ダウン処理と無視処理が分離
否定条件(先頭を'-')実装
(この時点では無視=削除)
削除動作も一度だけオプション有効にした
WindowsNT4対応
キー拡散時にキャッシュの広まり具合にあわせて密度を動的に変えるようにした
キー流通量カウンタを一定間隔で初期化するようにした
メジャーキーの場合の送信率低下を止めた
検索クエリを発行する条件を緩やかにした(検索ヒット数が10を切ったらクエリ発行)
中継転送発生率がキーのメジャー度に応じて動的に変わるようにした
標準で検索リンク自動切断がかかるようになった(自動切断ボタン押されてなければ1時間、入っていると10分)
ダウン成功時の優先度上昇率を上げた
キャッシュによる優先度評価をしなくなった。
→ ダウン成功可否による評価に移行
ノード優先度と接続試行カウンタを分離
キーワードに重複があったら省いて評価するようにした
部分キーと仮想キーの転送発生率を別にした
待ちうけポートの初期値を乱数で決定させるようにした
キーを一定時間毎に送りつけるのではなく、一定時間毎に隣に要求を出す方式に変更
クラック対策を一部強化、プロトコル変更
ノード情報を他ノードに伝える際のノード個数を減らした
他ノードへ送信するノードを相手から見た優先度順でソートして選別するようにした
ノードの優先度を常に再計算するようにした(前は優先度0でしかチェックしてなかった)
アップリンク数がアップ限界-1になったらキー送信を止めるようになった。
(これまではアップリンク数=アップ限界で止めていた)
接続失敗時の優先度低下率を増加
検索リンク接続の再試行待ち時間の延長
多重ダウン時に同じ箇所をダウンしに行きにくくした
多重ダウン時のスキップ幅を大きくした
UP転送リンク過多の時に低速ノード優先で切るようにした
高速ノードでのPort0へのアップ受付数を減らした
起動時に読み込むノード情報数を100個までに制限
リストコントロールのフォント周り修正
表示のフォント変えられるようになった
UP過多時に切断する転送リンクを切断を回線速度と接続時間で決めるようにした
クエリバッファ限界を5にした
キャッシュがある場合、ファイルの先頭部をダンプ表示できるようにした
多重ダウン時に出来るだけキャッシュギャップが出来ないように先頭優先でダウンするようにした
正式版
(但しβ22系統と互換有り)
βとは接続しなくなった。
タスクトレイアイコンのTipsに転送速度を表示
転送によるダウン時にもダウン/無視条件をチェック
UP転送リンク限界でも低確率でキーを流すようにした
UP要求が集中した場合に、UPしているファイルの被参照量、
リンク接続時間、回線速度を考慮して動的に切断対象を選ぶようにした
(被参照量が少ないファイルほど上流への転送が発生)
UPリンク限界時の転送リンク切断発生を減らした
(UPファイルの参照量に比べて、UP先の回線速度に比べて接続時間を重視。β21に近い動作。)
UPリンク限界時のUPキーと完全キャッシュキー送信率を上げた
転送発生率を落とした
[BBS} スレッドの完全キャッシュを持っているノードが自IPでキーを流すようにした。
[BBS] 多重投稿チェック追加
[BBS] BBSキャッシュが自動では消えなくなった。代わりにキャッシュ消去ボタンを実装。
[UI] 無視条件を検索結果に反映できるようにした。
[UI] 自動タブ切り替えをon/offできるようにした。
[Link] アップリンク集中切断時のノード速度の評価値を小さくし、接続時間をより優先するようにした。
[BBS] BBSキーの削除/切断指定でIPが同じキーをまとめて処理するようにした。
ただし人気があってよく参照されているBBSキーはこの処理対象外。
[BBS] BBS一覧表示にも無視リストを評価するようにした。
[UI] BBSタブでのコンテキストメニュー実装
[UI] UPフォルダ指定時のトリップ初期値を空にした。
[Protocol] プロトコル変更。相手バージョンによって動的変更するので
1.03以降とは接続可能。
[Key] 名前とトリップの上書き抑制 (トリップが空の場合は名前を上書きしない)
[Key] ハッシュ直接指定で無視指定されているキーにマークして周辺ノードに通知するようにした。
(周辺ノードで無視条件に入れられているキーが黄色く表示)
[Key] 警告通知の条件を「ハッシュ指定+無視条件+ノード切断指定」にした。
[UI] 捏造警報を参照量の方に表示するようにした
[UI] ダウンリストタブの右メニューにも先頭ブロック表示機能追加
[Key] ハッシュ指定のダウンリストで捏造警報をクリアするようにした
[UI] ダウンリストタブの先頭ブロック表示で対応タスクが無くても表示できるようにした
[UI] ダウンリストやタスク状況からキーを無視条件追加できるようにした
[Down] コネクション限界が出る条件をUPコネクション限界切断-1にした
[Key] キーの捏造警告で、警告無しキーが送られてきたら警告を切るようにした
[UI] ダウン試行の統計情報をシステム情報に表示するようにした
[Down] アップ転送リンク切断の遊びを一つ大きくした
(ダウン限界を通知される前にリンク切断され、キーロストと表示していたのを修正)
[Soft] プログラム本体を実行時に動的に展開するようにした
[Down] ダウンロード・アップロードタスクで無駄な処理待ちが生じるのを修正
[Down] 同じノードの同じキーに連続でダウン要求を出さないようにした
[Key] ダウンリストでヒット対象が多い場合処理を省略するようにした
[UI] ダウンリスト自動削除でリスト削除時に再読み込みをかけるようにした
[UI] 履歴クリアボタンを検索履歴再読み込みにしてダイアログでクリアするか選ぶようにした
[UI] ダウン統計からBBSキーを除くようにした
[Key] キー保持ブロック情報を省略することでメモリ使用量を減らした
(ブロック状態保持を最後のブロックより後ろはメモリを確保しないようにした)
[Down] ダウンタスクID生成を必ずユニークになるようにした
[Down] ダウンタスク失敗時にダウン中のキャッシュの一部分を壊すバグを修正 (多重ダウン時にほぼ確実にキャッシュ破損していたのを修正
[Down] データ受信直後にもブロックのハッシュチェックするようにした
(今までは送信側のみブロックごとにチェックし受信側は変換時のみだった。)
[UI] ノード情報でbusyと出さないようにした
[配布] Winny上配布になった。
[Soft] 起動時の日時チェックによる使用制限を無くした
セキュリティホールmemoで指摘されたクロスサイトスクリプティング脆弱性と思われる部分を修正
[BBS] BBSをフレーム形式に変更
[BBS] BBSリスト出力形式を変更(外部からキャッシュ状況をわからなくした)
[BBS] 他ノードのBBSポート探索機能実装
[BBS] BBSダウンタスクを非表示にした
[BBS] 保持しているBBSキャッシュ数が500を超えたら自動的にBBSキャッシュ削除するようにした
[BBS] BBSポート情報を各ノード間で情報交換するようにした
[BBS] 長いBBS名を制限するようにした
[Link] 長いクラスタワードを制限するようにした
{BBS] 自ノードのBBSへのアクセスIPを127.0.0.1に固定
[UI] タスク状況タブのタブソート機能を実装
[UI] BBSの更新スレ表示色を赤から緑に変更
[UI] 変換済みタスクダブルクリックでダウンフォルダ内のファイル関連付けを実行するようにした
[UI] アップフォルダ、ダウンフォルダを開く機能をフォルダタブボタンや右メニューに追加
[UI] 各タブにダブルクリック処理追加
[UI] 通信速度算出方式を変更(サンプリングが少ないと精度が悪くなる方式にした)
[UI] 表示スレッドのロック間隔を短く、待ち時間を長くして処理負荷を低減
v4キャッシュの脆弱性に対応するため、 公式サイト暫定復活。
[Protocol] 接続先を v1.07以降に制限。
[Cache] キャッシュフォーマットをver4からver5(MD5ハッシュ方式)に変更
[Cache] キャッシュ暗号方式の変更(ヘッダ部変更を含む)
[Soft] 初期ノード情報暗号方式の変更(1.08以前のものは読める)
[Protocol] 検索・転送リンクにおける通信暗号方式を変更
[Protocol] Ver1.08以降に対しては新Ver警告をだす。(接続そのものは不可)
[UI] ファイル名などをToolTipとして表示するようにした(設定でOFFにするのも可能)
[Down] キャッシュにあるキーやダウン開始されたキーの名前とトリップがロックされるようにした
[UI] 設定で変換保留となっているダウン済みタスクでダブルクリックor強制変換で変換タスク起動できるようにした
[UI] ダウンリストタブの右メニューからでも強制変換タスクを起動できるようにした
[UI] システム情報の保持キャッシュサイズ換算の際に、保持キャッシュブロック数からではなく、
終端ブロック位置からサイズを算出するようにした(実際のキャッシュサイズに近くなる)
[UI] トータル通信速度算出で突発的に変化するのを少し抑えた
[UI] ダウン条件・無視条件個数をシステム情報に出力するようにした
[UI] ダウン条件・無視条件のサイズ指定で実数(小数点以下)が使えるように変更
[Link] バージョン警告で誤報が出ることがあるのを修正(チェックを強化した)
[UI] アイコン状態でのTipでの並び順を変更
[UI] ダウン条件ダイアログでクラスタ化関連の説明追加
[Link] Port0接続制限規則を変更
これまでの制限1: Port0への転送リンク数をアップ側接続限界の1/3に制限
これまでの制限1: 申請速度が自分より高いPort0へのアップは切断
変更後: 全ノードで、Port0への転送アップリンクを5以下
備考: Port0への下流検索リンクは2本までで変化無し。
[Search] コネクション限界時のファイル参照量による優先度変化(参照量の小さいもの優先)をやめた
[UI] Port0の場合、警告表示を出すようにした(ノード情報表示の場合)
[Down] Port0の場合、ダウン側の帯域制限を強制ONにした
[Link] 1.12.01以前のPort0ノードと繋がらないようにした(検索・転送共)
[Down] UPがあればPort0におけるDownの強制帯域制限を外すようにした
[Key] 検索クエリ時のキープッシュ率を変更
[Key] クエリ部の高速化
[Cache] サイズの大きなファイルにおけるキャッシュ消費を減らした
[Link] 転送リンク接続が多い場合の処理負荷低減
[Key] アップリンクが少ない場合の転送発生率を上げた
[Key] 中継転送発生率を少し落した
[Key] 検索クエリ時のキープッシュ率をv1.12.02時点に戻した
[Link] 接続停止時に待ちうけポートを閉じないで接続無視するようにした
[Down] タスク処理頻度を上げた(高速ダウン試行ボタンON時)
今後は、致命的な問題が無ければ開発停止の可能性がある、とのこと。
とりあえずファイル共有関連はもうやることが無くなって来ましたし、何か別のものに
取り掛かろうかと思っても特に新しいネタも無いですし、暇つぶしに
現WinnyBBSとは別の大規模向け分散BBSへのチャレンジやってみます。