アイデアメモ

広大なファイル共有P2P空間(WinMX,Winny,Freenet,Gnutella,etc…)をWebスペースにできないか?
実現方法のアイデア
1.apacheのモジュールとしてlibp2p を作成
2.*.p2p という拡張子を libp2pに処理させる
3.*.p2p は、ファイルの入手方法を記述しておく
  記述内容は、 p2pネットワークの種類、ファイルの特定手段、p2pクライアントの動いているマシン等
4.libp2pは、*.p2pの内容にしたがってファイルを入手しリクエストに対し返答

このように作っておけば、Webスペースとして公開する固定ページ用容量は
最小限に抑えられて、しかもページを見る側には特別なクライアントも要らない。
Webサーバ上で、P2Pクライアントを動かすのは負荷が高いので実際は
P2Pネット毎に別マシンを立ててやるのがいいだろう。

実現のための技術的考察
・マシンAでWebサーバ、マシンBでP2Pクライアントを動かす
・マシンAからマシンBのディレクトリを見えるようにしておく(samba,nfs,etc…)
・マシンAから見えるBのディレクトリは、P2Pクライアントのダウンロード先
・マシンBでP2Pのファイルダウンロードをリクエストするクライアントを走らせる(自作の必要あり)
 このクライアントは、リクエストされたファイルをファイル識別子名に変更する働きもする
・同時にダウンロードファイルでマシンBが溢れないように適時ファイルを消すクライアントも動かす
・マシンAでリクエストを受けたlibp2pは*.p2p内のファイル識別子を読み取りマシンBで
 ダウンロードするようリクエスト。ただし既にファイルが存在していた場合はリクエスト無
 (ファイル名はファイル識別子と一致する必要あり?)
・ダウンロードされたファイルをHTTPの返答として返す
・一定時間内に落ちてこなかった場合は、タイムアウトとして処理

無作為にP2Pネットワーク上のファイルをダウンロードできる仕組み
だと、ダウンロード済みファイルが溢れる頻度が高くなり結局リクエストが
タイムアウトになる率が高いかもしれないが、*.p2pファイル内で指定された
ファイルのみに限定すれば、よく使われるファイルのみキャッシュされる形になり
うまく回るんではないだろうか?

ということを考えてみる今日このごろ。


投稿日

カテゴリー:

投稿者:

タグ:

コメント

“アイデアメモ” への9件のフィードバック

  1. 名も無き7等星のアバター
    名も無き7等星

    さっぱりわからんのですが・・・。libp2pはどうやって目的のファイルを探すの?リクエストがあってから探すって事?p2pファイルの名前が検索クエリになるって事ですかね?そんでそのファイルがなければそれが検索キュー?に入って、検索結果が見つかればp2pファイルが作成される。一回目のp2pへのリクエストは普通はタイムアウトで、それからもう一回リクエストすると見つかってるとか?なんかp2pというよりファイル収集エージェントっぽい。ファイル識別子はファイル名よりはハッシュでしょうなぁ。検索手法が難しそうだが、ファイル名からの検索しかないか?どっちにしろサーバを立てねばならんというのは敷居高すぎるなぁ。

  2. きとらまさなお ★のアバター
    きとらまさなお ★

    3行目、p2pファイルの中に、P2Pネットワーク上であるファイルを特定する情報(ハッシュとか)を持つ。~~.p2pファイルは、マシンA上でファイルに対するポインタ情報だけを持つわけで実体はマシンB上。5行目は、まぁP2Pの反応速度ならしかたないかなぁと。7行目、ファイル識別子と書いたのはハッシュ以外の手法でファイルを識別するP2Pネットワークもあるかもと思って置き換えただけで念頭にあるのはハッシュで区別するP2P。8行目、なので検索手法はハッシュ指定かと。9行目、うーん・・・

  3. 名も無き7等星のアバター
    名も無き7等星

    ハッシュ指定は嘘だろ~任意の単語が検索できないじゃん。任意の単語で検索->単語をファイル名とするp2pファイル検索ファイルがあれば中身にしたがってファイル提供、無ければ検索キューに積み、マシンAが適宜検索し、p2pファイル内容を作成って感じなんじゃないの。

  4. 名も無き7等星のアバター
    名も無き7等星

    p2pファイルというか、サーバの中に検索用文字列(ファイル名に対応)、ハッシュ(ファイルの区別)、位置(複数可能)をもつデータベースがあるってことか。個人の共有フォルダよう検索エンジンに近いイメージかのう

  5. きとらまさなお ★のアバター
    きとらまさなお ★

    いや、単純にファイルの置き場所を Webサーバ上ではなくP2Pネットワーク上にしたいなぁという話だったんです。汎用P2Pリクエストサーバではなくて。

  6. きとらまさなお ★のアバター
    きとらまさなお ★

    あ、そうか。WinMXは、ハッシュ指定でファイルを落とせないからか!逮捕者の出たWinnyではハッシュ指定でファイルが落とせるんですよ。それを前提に考えてた。そうかー、ハッシュ指定できないといくつか落としてハッシュが正しいかチェックしなきゃダメなんですね。

  7. 名も無き7等星のアバター
    名も無き7等星

    いやWinnyもしっちょるよ。ハッシュ指定はできるならできるほうが良いし、君が言うように不可欠なのかもしれないが、普通の検索もできないと辛くない?ファイルの置き場を変えたかったよってだけって言うのは意味わかった。シンボリックリンクとかじゃダメすか。

  8. きとらまさなお ★のアバター
    きとらまさなお ★

    >普通の検索もできないと辛くない?コレは納得。で、>いくつか落としてハッシュが正しいかチェックしなきゃダメなんですね。と思った。>シンボリックリンクとかじゃダメすか。いや、だって、それじゃ面白くないー「広大なネットワークストレージにファイルを保存」というとなんか格好いいからー

  9. 名も無き7等星のアバター
    名も無き7等星

    そうだな、すまなんだ。転送も無駄になるしな

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください