« [P2P]分散ハッシュ(DHT)入門プレゼン資料 | Main | [P2P]機能拡充とノードの負荷について »

2005.02.15

[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]分散ハッシュ(DHT)入門プレゼン資料 | Main | [P2P]機能拡充とノードの負荷について »

「パソコン・インターネット」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/18781/2945745

Listed below are links to weblogs that reference [P2P]分散ハッシュ(DHT)によるソーシャルタギングの考察:

« [P2P]分散ハッシュ(DHT)入門プレゼン資料 | Main | [P2P]機能拡充とノードの負荷について »