岩田真一

管理コスト保存の法則 (P2Pアプリ設計のポイント)

P2P は、さまざまな概念や要求に対する技術ソリューションです。グリッドなどの分散処理は典型的な例です。

P2P が解決する別のものとしては「リッチクライアントの実現」があります。AirOne もこの部類です。「サーバーがやっていることをクライアントでやりましょう」ということです。要は、「PCは性能も上がってきたし、そろそろクライアントとしてだけではなく、サーバーの役目もやりましょう」ってことで、その場合の PC のことをサーバントと呼んだりすることもあります(アリエルでは単にノードと呼んでいます)。

P2P/リッチクライアントのメリットとしては皆さんご存知の通り、ローカルで色々できるとか、できる限りサーバーとの通信なしで処理や入力ができる(=通信が少なくて済む)といったことが挙げられます。FireWall 超えなんていう、すごいおまけもついてきます。

ところで、P2P/リッチクライアントになって、処理が集中するサーバーが無くなって良かった良かったと喜んでばかりでいいのでしょうか。P2P アプリはこのあたりを意識して作らないと、かえって「処理の無駄」が増えてしまうのです。

無くなったサーバーの処理は、PC に分け与えられたという事になるわけです。当然、ちゃんと設計された P2P アプリケーションは処理の割り振りがうまくできていますから、サーバーの負荷そのものがPCに来るわけではありませんが、注意が必要です。
同じことが管理コストにも言えます。「サーバーの管理者がいらなくなった、人件費が減って良かった良かった」ではその管理部分はどこに来るのでしょうか。当然、各PC (のユーザー)に割り振られてくるのです。彼らにはシステム管理者ほどの技術スキルは望めません(まあ技術スキルといっても、単に専門用語を知っているとか、興味があるかの違いがほとんどですが)。

つまり P2P アプリ設計のポイントは

・PC はサーバーのような役目をこなすが、サーバーほど負荷をかけてはいけない。
・PC のユーザーはサーバー管理に近いことを行う必要があるが、サーバーのように難しくてはいけない。(用語も含めた UI issue ですね)

ということです。なんだか難しそうです。僕らも日々の研究調査や経験から改善し続けています。そういった意味で、手前味噌で恐縮ですが、Ariel Framework はアリエルにおけるノウハウも詰め込まれているので、単なる API 群以上の価値はあると自負しています。


posted at 033606腱 on 2004綛0317 by iwata - Category: General

TrackBack

DISALLOWED (TrackBack)

Comments

No comments yet

Add Comments

このアイテムは閉鎖されました。このアイテムへのコメントの追加、投票はできません。