2005/05/11
■[P2P]P2Pのキモ
最近仕事場で、ふとしたきっかけから「P2Pとクライアントサーバ(C/S)の違いは何か」、「その違いがサービス、プログラム、今のインターネットにもたらすものは何か」と聞かれることがありました。
で、その時には適切な答えが思い付かなかったんですけど、今後のために現時点の意見を簡単にまとめてみました。
---- ここから ----
P2PとC/Sの違いは何か
→エンドユーザがサービス提供者になることがある
その違いがサービス、プログラム、今のインターネットにもたらすものは何か
→サービス提供にかかる資源(ストレージ、帯域、処理能力など)を削減する
以上から、「エンドユーザにどうやって資源を提供してもらうか」がP2Pのキモになる。これに対するアプローチは以下の4通りに分かれる。
エンドユーザ1つあたりの提供する資源を増やす
- PCの高性能化、通信回線のブロードバンド化が既に影響
エンドユーザの総数を増やす
- 他のソフトウェアでは出来ないことを出来るようにする
- ユーザに好印象を与える、ブランド
サービスに必要な資源を減らす
- 各種P2Pプロトコル(DHTも含む)はこれが目標
- オーバレイネットワークの形成・維持に必要な資源を減らす、とも言える
ただ乗りするエンドユーザを減らす
- ソフトウェアの内部動作を隠す
- ソフトウェアによる評判システム(reputation system)
- ユーザ同士の信頼関係による評判システム
---- ここまで ----
そういうわけで、最近個人的にはP2Pネットワーク上での評判システムに興味を持っていて、EigenTrustの論文*1でも読んでみよう……と思っている内に連休は終わってしまいました……。でもそのうち読みます。
正直、僕自身は「P2P」という単語の厳密な定義なんてどうでもいいと思ってて今までこういう話題には触れなかったんですけど、今回は良い機会なので書いてみました。上の定義はあくまで自分が興味を持っている範囲をうまく括れるものを選んだだけで、他の人の定義を否定するものではありません。こういう目線もある、という程度に捉えてもらえると助かります。
参考:
P2Pを定義する(Fuktommyの倉庫)
http://fuktommy.s64.xrea.com/p2p/definition.html
P2P 技術:オーバーレイネットワーク(2)(Japan.internet.com)
http://japan.internet.com/column/webtech/20050325/8.html
また、この日記に無関係と判断したコメント及びトラックバックは削除する可能性があります。ご了承ください。