July 17, 2004
P2P再考(4) 「分散 VS 集中」論争に意味は無い。(下)
前回では「クライアント/サーバ」モデルは、必ずしも「集中」という概念では無く「ホスト」という概念があった時は、むしろ「分散」と言う点が強かった点を指摘した。
しかし、現状ではP2Pを説明するときには「分散」という言葉をが使われる事が多い。しかも「クライアント/サーバ」モテルはP2Pに対して「集中型」と説明されている。
今回は、どのようにして「P2P=分散」「クライアント/サーバ=集中」という考えが定着していったのかといった点を考えながら、P2Pについてもう少し考えていきたい。
しかし、現状ではP2Pを説明するときには「分散」という言葉をが使われる事が多い。しかも「クライアント/サーバ」モテルはP2Pに対して「集中型」と説明されている。
今回は、どのようにして「P2P=分散」「クライアント/サーバ=集中」という考えが定着していったのかといった点を考えながら、P2Pについてもう少し考えていきたい。
まずは、どうして「P2P=分散」「クライアント/サーバ=集中」という考えが定着していったのかを考えてみたいと思う。個人的に、このような考え方が定着したのは、従来まで「P2P=ファイルシェアリング」という考えがとあったからだと思う。
旧NapsterやGnutellaなどを説明する時に「ハイブリッドP2P」「ピュアP2P」「freenet型」などの言葉を使い、いくつかの「P2Pのモデル」が説明されてきたと思う。このような「P2Pのモデル」に対して「クライアント/サーバ」は、サーバに権限が集中する形式と説明されていた。
これらの「P2Pモデル」は、旧Napster等のファイルシェアリングソフトを説明するのには非常に便利だった。しかし、P2Pはファイルシェアリングだけでは無い。ファイルシェアリング以外のP2Pアプリケーションで、このような説明はかならず無理が出てくる。
例えば、SETI@Homeなどの分散コンピューティング技術はどうだろう。中央にサーバがあるという点だけを考えれば「ハイブリッドP2P」に分類されるかもしれない。しかし、分散コンピューティングがインストールされたパソコン同士が通信することはあまり無い。中央サーバがあるというだけでSETI@Homeを旧Napsterと同じカテゴリに入れてしまうのは、サービスの性質から考えて違うように思える。
また「Skype」も分類上に困るソフトウェアだ。Skypeは(初回を除き)、スーパノードと呼ばれる他者のパソコンに接続される。この点だけを見れば「ピュアP2P型」と分類されるだろう。しかし、Skype上の「スーパノード」の数はわずか1%以下だ。このような状態では「ピュアP2P」とは言い難い。
いくつか例をあげてみたが、ファイルシェアリングツールでは「クライアント/サーバ型」「ハイブリッドP2P」「ピュアP2P」という分類は非常に上手くいく分類だ。しかし、ファイルシェアリングツール以外のP2Pソフトであると、このような分類で、単純に区切ることは難しい。
同時に「P2P=分散」「サーバ=集中」と言う考えも、必ずしもそうとは言えない場合がある。前述したとおり、Skypeの「スーパノード」は1%以下であるし、ファイルシェアリンツールもトラフィックが一部のファイル提供者に集まる傾向がある。形式上は「分散」であっても、実質的には「集中」であるケースが多々ある。このように考えていくと「P2P=分散」「サーバ=集中」は、絶対的なものではないと言えるだろう。
P2Pと言えば、今まで「分散的なもの」として考えられており、それに対抗する「集中」的なアプローチとして「クライアント/サーバ」を持ってくる説明が多かったように思える。しかし「クライアント/サーバ」は、元々「ホスト・コンピュータ」に対しては「分散」的なものであったし、P2Pであっても「集中」的な動作をする場合もある。個人的に、単純に「P2P=分散」「クライアント/サーバ=集中」と図式で、モデルの善し悪しを決めるのは、あまり意味の無いように感じる。
旧NapsterやGnutellaなどを説明する時に「ハイブリッドP2P」「ピュアP2P」「freenet型」などの言葉を使い、いくつかの「P2Pのモデル」が説明されてきたと思う。このような「P2Pのモデル」に対して「クライアント/サーバ」は、サーバに権限が集中する形式と説明されていた。
これらの「P2Pモデル」は、旧Napster等のファイルシェアリングソフトを説明するのには非常に便利だった。しかし、P2Pはファイルシェアリングだけでは無い。ファイルシェアリング以外のP2Pアプリケーションで、このような説明はかならず無理が出てくる。
例えば、SETI@Homeなどの分散コンピューティング技術はどうだろう。中央にサーバがあるという点だけを考えれば「ハイブリッドP2P」に分類されるかもしれない。しかし、分散コンピューティングがインストールされたパソコン同士が通信することはあまり無い。中央サーバがあるというだけでSETI@Homeを旧Napsterと同じカテゴリに入れてしまうのは、サービスの性質から考えて違うように思える。
また「Skype」も分類上に困るソフトウェアだ。Skypeは(初回を除き)、スーパノードと呼ばれる他者のパソコンに接続される。この点だけを見れば「ピュアP2P型」と分類されるだろう。しかし、Skype上の「スーパノード」の数はわずか1%以下だ。このような状態では「ピュアP2P」とは言い難い。
いくつか例をあげてみたが、ファイルシェアリングツールでは「クライアント/サーバ型」「ハイブリッドP2P」「ピュアP2P」という分類は非常に上手くいく分類だ。しかし、ファイルシェアリングツール以外のP2Pソフトであると、このような分類で、単純に区切ることは難しい。
同時に「P2P=分散」「サーバ=集中」と言う考えも、必ずしもそうとは言えない場合がある。前述したとおり、Skypeの「スーパノード」は1%以下であるし、ファイルシェアリンツールもトラフィックが一部のファイル提供者に集まる傾向がある。形式上は「分散」であっても、実質的には「集中」であるケースが多々ある。このように考えていくと「P2P=分散」「サーバ=集中」は、絶対的なものではないと言えるだろう。
P2Pと言えば、今まで「分散的なもの」として考えられており、それに対抗する「集中」的なアプローチとして「クライアント/サーバ」を持ってくる説明が多かったように思える。しかし「クライアント/サーバ」は、元々「ホスト・コンピュータ」に対しては「分散」的なものであったし、P2Pであっても「集中」的な動作をする場合もある。個人的に、単純に「P2P=分散」「クライアント/サーバ=集中」と図式で、モデルの善し悪しを決めるのは、あまり意味の無いように感じる。

