クソをヒリ出しながら無い知恵を絞って考えた。
Winnyだか何だか知らんが、
WinMXの後継として2chの人間が作ったソフトがあるようだ。
動作原理の大雑把な説明がここにあった。
http://members.tripod.co.jp/winny4646/page/winny_info.htm 何しろクソをしながらなので一気に端折ると、
このソフトのファイル検索部分だけ使えないかというだけの話。
ユーザーはファイルの代わりにトリップのDBを保有する。
更に、ユーザーはDBを徐々に増やしていく。
メモリー上でリストをn個生成し、DBの中にまとめて挿入する、
という作業を繰り返すのはどうだろうか。
適当にsleepし、nの値を適度にして於けばマシンの通常使用に
さしたる影響は無かろうと思う。多分。
そして、Winnyでは「このファイル持ってない?」とたらい回しに訊いてさらいてる部分を、
「このトリップ持ってない?」に置き換えて訊いて回るのだ。
検索の要求を受けたユーザーは
DBを増やす作業を一時中断し、自分のDBから目的のトリップが無いか調査する。
発見されたら、ファイルの代わりにトリップとパスを暗号化して検索者に渡す。
荒削り以前の机上の空論ではあるが、
ユーザー数とユーザーごとのDBによっては
それなりに使えない事も無いんじゃないだろうか、と、思いたい。
DBをソートしてないのは、8文字完全一致だけではなく
ある程度幅のある検索をする事を前提にしているからだ。
当然、DB保持者と検索要求者のバランスが崩れてあっさり破綻しそうなのだが……。
DBからの検索を最適化すれば、問題をほんの少しだじぇ先延ばしには出来る。
まあ、実現したとしても、多分厨がバランスを一気に崩壊させるんだろうとは思う。
さて、カレー食ってくる。