卒論に魔がさしてやった。後悔はしていない。
というわけでここ2日ほどかけてやってみました。
実装はNicoCache_nl(http://nicolist.net/nicocache_nl/)を改造するという方法で進めています。
書いた内容は、ローカルにキャッシュがない場合、ディレクトリサーバ(XMLRPC on Rails WebServiceで自作)に持っている人を問い合せ、P2PSocket(http://d.hatena.ne.jp/kanbayashi/20060116/p1)でリモートのノードからデータをもらうという処理です。
現状としては、ひとまず動くようにはなりました。LAN内ではかなり快適に動きます。
#エラー処理とか適当なので実用には耐えないと思いますが
しかし、データをやり取りする2つのノードがそれぞれNAT内にいる(2つのNATを挟んで別個のLANに所属している)と、中継ノードが間に入らなくてはならないのでスループットがかなり落ちます。
また、通信が不安定で途中で切れたりもします。
ただ、この状況は参加ノードが増えれば解決する可能性があると考えています(JXTAの動作を完全に理解しているわけではないので推測ですが)。
#P2Pのネットワークが安定するため
そこで人柱になってくれる人を募集します!!
Java6のランタイムをインストールして、僕の書いたデーモンを走らせておくだけの簡単なお仕事です。
#残念ながら、実際にプロキシを使ってニコ動が見られるというお仕事ではないです。
やってもいいという方はryo.contact [at] gmail.comまでご連絡下さい。
テスト方法とソフトウェアの入ったパッケージのURLをお教えします。
#グローバルIPを持っていると中継ノードになれるのでよりうれしいです。
よろしくお願いします!!
#こんな事してないでそろそろ卒論に戻らねば
#追記
実験結果のまとめエントリを書きました↓
http://d.hatena.ne.jp/kanbayashi/20080101/p1