P2Pじゃないとできないこと。

ひさびさP2Pネタ。*1


前いた会社がP2Pみたいな会社だった、っというのはちょっと分かりにくいな。P2P技術が得意な会社というか、より正確に分かりやすく言えば、単に社長がP2Pマニアな会社だった。いや、P2Pマニアと言っても、SkypeとかWinnyとかが好き、ってワケじゃなく*2、純粋にネットワーク技術的な要素として、P2P技術フェチだったのであるが。ので、アングラな感じ*3では全然ない(念の為)。
で、その会社では、当時、受託開発をいっぱいしてたのだけど。まだ発注内容の詳細が決まってない案件を、社長は「P2Pでやろうゼ〜」って言うのだけど。ワシはバッサリとクラサバで設計するのだった。(ぉぃ
っというか、別に嫌がらせでそんなことをしてたのではなく、意外と世の中、クライアントサーバで設計した方が効率が良い案件が多い、っと言うことなのだった。


で、「P2Pじゃないとできないことって何?」かと言えば、簡単に言えば「サーバを使わずに○○する」ってことだと、ワシは思う。なんでも良いのだけど。サーバを使わずにチャットをする、とか。サーバを使わずに掲示板を共有する、とか。「サーバを使わずに」っと言ったとたんに、Webを含めて、既存のクライアントサーバ技術は全て禁じ手になるし。「サーバを使わずに」何かを実現する、ネットワークサービスって意外と(?)存在しないのだった。そんなわけで、その会社では「サーバを使わずに○○する」ことが出来る、ミドルウェアを販売してたのだけど。これが悲しいほど売れないのだった。つまり、世の中で「サーバを使わずに○○したい」という需要がいかに少ないか、という現れだったとも言えよう。「サーバがあるからいいじゃん?」今の世の中は全てがコレである(遠い目)。


では、「サーバを使わずに○○する」ではなく、クライアントサーバでは出来ないこと、かつ、P2Pであれば出来ること、は何? かと言えば。一つは、アドホックにインフラのスケーラビリティ(あるいは耐障害性)を確保すること、だったりする。例えば、Skypeの場合、ノードが増えれば増えるほど、クライアントサーバ型の技術では、サーバ側を増強する必要があるけど、そこにP2P技術を盛り込めば、ノード同士が直接通信をするように出来るため、サーバ側を増強する必要がない。よって、コストの増加を抑えることが出来る。Winnyだってそうだ。とりあえず、著作権うんぬんの話は置いておいて、Winnyを純粋なファイル共有サービスと見れば、ノードが増えれば増えるほど、クラサバ型の技術ではサーバを増強する必要があるが、Winnyはノードそのものがいわばサーバでもあるので*4、勝手にインフラ(ネットワーク的な意味ではなく、ハードウェア的な)が増強されていく。*5もしかすると、P2Pのメリットってそれが全てなのかも知れない。

*1:って、さすがに3年ぶりってどうよ? >ワシ

*2:あ。Skypeは普通に好きだったのかも知れないけど。

*3:昔、話題になった、日本MMOとかとも違う。

*4:サーバントなんて用語もありましたな。Gnutella用語?

*5:ただし、Winnyの場合、デメリットはネットワークに必要以上に負荷をかけてしまう、ってことだろうか。