福冨諭の福冨論

RSSリーダーではこちらをどうぞ→https://feeds.feedburner.com/fuktommy

P2Pの定義2008年版

P2Pじゃないとできないことって何ですか? - effyの日記」 に対して 「P2Pじゃないとできないことって、たぶんない」 を書いたんですけど、それに対する補足というか、 ここ数年の悩みでもある「P2Pの定義とは何か」の最新版として。

Re:P2Pじゃないとできないことって何ですか? - IKeJI diary(2008-06-09)」 にある2例は、 どちらもユーザ間の直接通信に注目してますが、 ユーザ間の直接通信が即P2Pの定義かというと、そうではないと思うんです。 というのはユーザAがApacheを動かして、 ユーザBがwgetで取りにいく、というのでも、おお雑把には実装可能です。 SSHサーバとSSHクライアントでもいいです。 「SSHサーバとSSHクライアント」と言っているのだから、 クライアントサーバモデルそのものじゃないですか。 (あと僕はFukutommyではなくてFuktommyです)

まあクライアントサーバモデルはP2Pとは直交する概念で、 「サーバを使わないのがP2P」と言うときの「サーバ」とは別の概念なんですけどね。

そういうことを踏まえて、P2Pをどう定義するかというと、

  • ユーザ間で直接通信をするもので
  • ユーザからは1つのパッケージとして見えるもの

なんじゃないかなあと思う次第です。 ユーザ間通信については自明だとして、パッケージの形態について説明すると、 ファイル同期ツールみたいなのを1つインストールすればいいのがP2Pで、 DNSの設定、SSHサーバのインストールと設定、SSHクライアントのインストールと、 3つやらないけばならないのはP2Pではない、となります。

この差はSkypeと電子メールでも同じで、 あれだってネットワーク図を描けばほとんど同じになるんですけど、 DNSとMTAの2つの設定が要る電子メールと、 クライアントソフト1個で済むSkypeの差です。

このあたりは通信相手の検索が、DNSによる名前解決で実装するのか、 あるいはそのネットワーク専用のアカウント検索(DHTなどによって)で実装するのかの 差が大きいのかもしれません。 裏でDynamicDNSを使っている実装があったら、どういう扱いになるのかな。

WinMX型のファイル交換・共有ソフトであれば、 DNS+Apache+Wget+検索サーバに分割して実装することも可能かと。

Winny型だと、これは難しくて、 WinnyそのものをP2P以外の方法で実装するというのは無理かなあと思います。 このあたりは「P2Pだと便利なこと」と「P2Pでないとできないこと」の境界になって、 むしろ言葉の問題という気もしますが。

この辺は、よこたんの言う たぶんP2Pの本質は仮想化です。 (6月10日 今日のTop「P2Pじゃないとできないことって何ですか?」 P2P today ダブルスラッシュ) と似ているのかもしれない (cf. [再掲]P2P再考(2) 我が手にサーバを P2P today ダブルスラッシュ)。

って、 「P2Pソフト=アップロード機能+ダウンロード機能 のまとめ」 と同じこと言ってる…

Original Article: http://blog.fuktommy.com/1213509353