« [P2P]P2P WEB ~P2Pとサーバ=クライアントモデルの狭間で | トップページ | [クラシック]アンサンブル・プラネタ インストアライブ »

2004.06.18

[P2P]P2P WEBその2~アプリケーションの流通

先日P2P WEBについて自分の定義を書いたのだが、IKeJI様からコメントをもらい振り返ってみると、自分の定義がややシステム寄りの考え方になってしまったと思っている。ただ、このとき述べたかったのはP2P WEBだと通常のクライアント=サーバモデルにおけるWEBサーバとは違ったシステムモデルができるかもしれないことを強調したかった事が挙げられる。

何を言いたいのかと言うと、静的なWEBページを表示させる技術はクライアント=サーバモデル(以下CSと略)のWEBでもP2P WEBでも同じ事だ。P2P WEBではHTMLなどをオーバレイネットワークで流通すればよい。

ところが、動的なページはそうはいかない。CS WEBではCGIなどのモジュールを追加すればよい。しかしP2P WEBではそもそもCGIなどのモジュールを流通させるという発想が今までなかったのだ。

そこで、先日言いたかったのはCGIなどのモジュールをオーバレイネットワークで流通させると面白い事ができるかもしれない、ということである。つまりHTMLファイルでなく、モジュールを流通してしまおうと言う事だ。

モジュールが流通される方法の一つを書いておこう。

1.モジュール開発者は作成したモジュールにおいて電子署名をつけておく。そして、自分のノードにモジュールを埋め込む。電子署名はPKI的でなくPGP的な方が良いだろう。
(※モジュールに電子署名をつけることは、マイクロソフトがパッチや関連メーカのデバイスことでも知られている。ようは、変なモジュールを流通させてノードが不安定になることを避ける事を意味している。また、ソースコードを電子署名する研究も進んでいる。)

2.オーバレイネットワークで(仮想的に)隣接しているノードはそのモジュールの情報を交換する。そして他のノードに新たなモジュールがある場合にはそれをインストールする。その際にはモジュールの電子署名を確認し、正当性をチェックする。(ただし、モジュールをインストールするかどうかはユーザが決定できる。)または、ノードAがあって、Node_ID=hash(name_A)というノードBがあれば、ノードAのモジュールをノードBとノードBが落ちた場合のためにその付近のハッシュ空間のノードに流通させると言うモデルもある。

3.基本的にはモジュールはオーバレイネットワークで拡散し、一定時間後は全てのノードがそのモジュールを搭載し、新たな機能を提供する。(※開発者がモジュールの拡散範囲を限定しない場合)

このような方式は特にP2Pアプリあるいはミドルウェアが機能追加あるいはバグフィックスをするためにパッチを宛てる時に有効だ。また、自分で作ったモジュールはもちろん自ノードにインストールできるが、開発者用の秘密鍵がない限り、流通しない。そのため、自分欲しい機能に特化したノードを自ノードに限り作ることができる。

これまではP2Pとファイルの流通に注目が集まっていたが、このような「機能」すなわちアプリケーションの流通を考えると今まで想定してなかった面白い世界が広がってくると思えてならない。


|

« [P2P]P2P WEB ~P2Pとサーバ=クライアントモデルの狭間で | トップページ | [クラシック]アンサンブル・プラネタ インストアライブ »

パソコン・インターネット」カテゴリの記事

コメント

Fuktommyさん、コメントありがとうございました。

>書き換えられたファイルがCGIによって正しく書き換えら
>れたのか、何か不正な行いがあったのかを判断する方法は
>ありますか?

これは難しいですね。私の場合、少なくとも流通するモジュールは電子認証を使い、開発者が認定するモジュールということにしてこの問題をクリヤしようと思っていました。ただ、自己責任でCGIを入れた場合、ファイルが改ざんして流通したらどうするの?(特に分散ハッシュはファイルを複製する)というところまでは考えが及びませんでした。

しかしながら、モジュール間あるいはモジュール、ミドルウェア間の通信を認証する事はできなくはなさそうです。。。(例えばSOAPの通信における電子認証なんかが応用できるかもしれません。もっとも処理スピードは落ちますが。)

ファイル管理はP2Pミドルウェアに全て任せ、その上位のアプリケーションは自分たちで作れるとか。(認証しながら。)

モジュールの機能をどこまで持たせるかと言うのはなかなか難しい議論かもしれません。
(例えば開発者なら全ての機能、開発協力者ならコア以外の範囲、通常のユーザはさらに小さな範囲など)

投稿: Tomo | 2004.06.20 10:49

CGIのようなものがファイルを書き換える機能を持っていたとします。
書き換えられたファイルがCGIによって正しく書き換えられたのか、
何か不正な行いがあったのかを判断する方法はありますか?
前提として、CGIはオープンソースとし、
認証サーバは利用しないものとします。

投稿: Fuktommy | 2004.06.19 01:02

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/18781/795102

この記事へのトラックバック一覧です: [P2P]P2P WEBその2~アプリケーションの流通:

» 酔記/2004-06-20/P2P-Web2 [PukiWiki/TrackBack 0.1]
P2P-Web2 continue form: [P2P-Web] 先日、TomoさんのBlogを見てレスを書いたが、 今はP2P-We... [続きを読む]

受信: 2004.06.20 13:56

« [P2P]P2P WEB ~P2Pとサーバ=クライアントモデルの狭間で | トップページ | [クラシック]アンサンブル・プラネタ インストアライブ »