[P2P]分散ハッシュによる匿名P2P掲示板
さて、近日中に分散ハッシュの一つであるChordついて解説するので、これを使ったアプリケーションを説明しよう。Chordについては先日のBlogを見て下さい。
P2P掲示板を作ろうということは既に積極的に行われている。特に、RinGochの皆様、リンクありがとうございます!P2P掲示板については、以前HPで議論したのだが、レスの順番等の合致性など結構厄介な問題が起こる。ところが、分散ハッシュを使うとこれを簡単に解決できる。
まず、スレッドについてGUIDをつける。レスはNode_ID=GUIDまたはhash(GUID)となるようなノードに蓄積する。(今後はNode_ID=GUIDとなるノードとしよう。)ノードには{GUID,タイトル,スレッド全体}が格納されている。これによってP2P全ネットワークから全く同じ内容のレス(それも一意的な)が参照できることに注意。つまり、今まで分散ネットワークでは解決が難しかったスレッド内のレスの順番や、欠落等の問題はもはや起こらない。
問題はNode_ID=GUIDとなるノードがネットワークから離脱した場合である。しかし、これもChordであれば簡単に解決できる。Chordはノードが欠落してデータがなくなることを防止するため、右回り(つまりノードが存在しているNode_IDで大きくなる方)でr個分のノードだけ自ノードにデータをレプリカすれば、そのr個全てがネットワークから同時に離脱しない限り、データは保持できることが提案されている。これを使えば、まずスレッドが半永久的になくなることはできない。
またスレッドを完全になくすには、Node_ID=GUIDとそれから右回りr個のノードが協力すればできる。といっても匿名空間ではなかなか難しそうですが。先日提案したP2P型IMやメールなどを使えばできないこともない。
P2Pアプリに興味がある方は分散ハッシュの導入を一度ご検討をお願いしたい。
| 固定リンク
「P2P」カテゴリの記事
- WebRTCを実現するためにSTUNだけでなくTURNも必要な理由(2015.01.08)
- [P2P]P2Pストリーミングのサーベイ文書について(2014.11.09)
- Winnyの開発者、金子 勇氏の急逝を悼んで(2013.07.07)
- 「分散ハッシュシステムでのNAT超えの考察」に対する質問について(2012.12.16)
- [P2P]Websocketでブラウザ間P2P通信は実現できるか?(その2)(2011.11.20)
この記事へのコメントは終了しました。
コメント