[P2P]機能拡充とノードの負荷について
分散ハッシュ(DHT)を使うと色々なサービスが容易に展開できることが期待できる。ただし、データの取得はネットワーク全体に分散しているわけだから、使えば使うほどノードとネットワークの負荷がかかるわけである。
これは分散してデータを管理するというDHTの宿命かもしれない。
DHTに参加しているノードは、DHTネットワークを維持することだけでもノードとネットワークのリソースを消費する。これは簡単な例で言うとGnutellaに参加するノードがリンクを維持するためにリソースを消費していると同じ事だ。
それに今度は機能を拡充する「モジュール」が各ノードに入るわけだ。
例えば、SkypeライクなVoIPシステムを作成するとすれば
・呼制御をするためのSIPサーバ用モジュール
・SIPレポジトリを実現するためのレポジトリ(というか簡易データベースorストレージ)用モジュール
・UDP Hole punchingをするためのSTUNサーバ用モジュール
・SymmetricNAT対策用などに使うための、ノード間通信橋渡し用モジュール
・通信路を暗号化し、またクライアント間認証を行うためのSSLモジュール
....
少し考えただけでも色々なモジュールが必要となる。このときに、SIPサーバ用モジュール、STUNサーバ用モジュール、ノード間通信橋渡し用モジュール等については基本的には自分のノードのためのものではない。つまり、「他の人」のノードを機能を提供するために使われる。そういうことになると、「P2P」という機能を考えると当然かもしれないが、自分以外のユーザのためにリソースを取られることを考える事になる。
今はまだあまり問題にされていないが、ある程度機能が拡充されたり、あるいは(ネットワーク越しで)データアクセス頻度が高いサービスを実装するとなると果たしてP2Pでサービスを利用するのか、またはクライアント=サーバ型でサービスを実現するか議論が再燃するかもしれない。この議論についてはその頃のネットワークの帯域、CPU、HDD等の性能にも依存することにもなるとは思うが。
「分散」と「集中」の議論は果てしなく続くのかもしれない。
以上、タダの雑談でした。。
| 固定リンク
「P2P」カテゴリの記事
- WebRTCを実現するためにSTUNだけでなくTURNも必要な理由(2015.01.08)
- [P2P]P2Pストリーミングのサーベイ文書について(2014.11.09)
- Winnyの開発者、金子 勇氏の急逝を悼んで(2013.07.07)
- 「分散ハッシュシステムでのNAT超えの考察」に対する質問について(2012.12.16)
- [P2P]Websocketでブラウザ間P2P通信は実現できるか?(その2)(2011.11.20)
この記事へのコメントは終了しました。
コメント