[P2P]分散ハッシュ(DHT)によるソーシャルタギングの考察
ご存知な方も多いと思うが、現在ソーシャルタギングというサービスが非常に注目を浴びている。
ソーシャルタギング”はGoogleを超えるか (ITmedia)
ここではdel.icio.usライクなシステムをDTHで構成した場合どのような課題点があるか考察してみる。
del.icio.usについは下記を参照して欲しい。
del.icio.us でブックマークを管理
まず、自分の用のページを作成する事から始まる。自分用のページについてはユーザ名_更新日時.htmlというファイルを作れば良いだろう。このファイルはNode_ID=hash(username)となるノードで管理するので、電子署名をしておく。
更新日時が新しくて、自分の電子署名で作成した物である事が検証されたら、そのファイルを保存しているノードは上書き(というかファイルの置き換え)を認める。
ところで、del.icio.usの最大のウリは自分がブックマークしたWEBページやBlogなどを、他の人が同じようにブックマークしたかわかることだ。これをなんとかDHTで実現しよう。
今、自分用のページで、URLの部分だけ切り出す。これをNode_ID=hash(URL)となるノードに対して、{URL、username}という情報を蓄積しておく。こうすれば、同じURLをタグしているノードについてはNode_ID=hash(URL)にのsのUsernameデータが格納しているので、判別するということになる。usernameがわかれば、もちろんそのユーザのページ(つまりタグをしている全体のページ)も閲覧できるということになる。なぜなら、あるユーザusernameのタグを管理しているページはNode_ID=hash(username)に格納しているのだから。
こう考察すると簡単にソーシャルタギングがDHTでできそうに見えるが、実は問題がある。
というのは、del.icio.usの場合、自分のタグを管理しているページを閲覧すると、そのタグをしたURLに何人タグをしているか閲覧できるようになっている。ということは、URL毎に何人タグをつけているか、Node_ID=hash(URL)となるノードに全て聞かなくてはならない。これはとてもトラフィック量が多くなる可能性があるし、なによりもページを全て閲覧するのに時間がかかってしまうだろう。もっともこの問題はページの表示の仕方を変えたりすれば改善するかもしれない。
ソーシャルタギングはブックマークだけでなく、様々な情報を共有、レコメンドすることで発展することになるだろう。その際、システムの負荷が現在のソーシャルネットワークのようにとても大きくなる事が予想される。
このような事態になるとDHTで構成されたソーシャルタギングが注目を浴びる事になるだろう。
※それよりもDHTでシステムを構築することにより、メンバ間でチャットやVoIP、ファイル共有などの機能が簡単に実装することになるメリットの方が高いのかもしれない。
| 固定リンク
「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)
この記事へのコメントは終了しました。
コメント