japan.internet.comに最新のコラムが掲載されました。
P2P システムは、データの探索方法の違いによって、「ハイブリッド P2P」「ピュア P2P」「スーパーノード型ハイブリッド P2P」に分類できることを前回説明しました。
P2P システムにおいてデータ探索技術はシステムの根幹をなす部分で、その出来不出来が全体のレスポンスに影響してきます。どのシステムも一長一短があり、その用途に応じて使い分ける必要があることを理解できたかと思います。
今回は P2P 分類の第二弾として、 P2P
システムの通信が「同期」か「非同期」かで分類を行います。この分類によって、「Skype」や「プロジェクトA」が同じ P2P
という言葉でくくられていることに対する微妙な違和感が解消されることを目的としています。あまり一般的な分類ではありませんが、「P2P
アプリケーション」と呼ばれている集合を体系的に把握するための、ひとつの目安が示されることを期待しています。
■同期と非同期
P2P システムは、通信者間で同期的に通信を行う「同期通信 P2P」と非同期で通信を行う「非同期通信 P2P」の2つに大別できます。そして非同期 P2P システムはさらにデータの性質とその用途によって、「広範囲流通型」と「限定範囲共有型」に分けられます。
[P2P システム]
├ 同期通信P2Pシステム ←今回説明します
└ 非同期通信P2Pシステム ←次回取り上げます
├ 広範囲流通型
└ 限定範囲共有型
それぞれの特色、注意点を2回に分けて見ていきましょう。今回は同期通信 P2P です。
■同期通信 P2P
本コラムで扱う「同期通信」は、電話などに代表されるような、発信したデータが直ちに相手に伝わる通信のことです。同期通信では「通信するユーザー同士が同じ時間を共有」します。つまり両者が同時にオンラインでいる必要があります。同期通信 P2P アプリケーションの代表例はもちろん Skype です。
■スピード優先
同期通信では、発信されたデータが直ちに相手に伝わる必要があるため、スピードが最優先されます。そのため高度なデータ圧縮技術もひとつのポイントとなります。データのサイズを小さくすることは通信の速度向上につながるからです。
特にコミュニケーションにおける同期通信では、スピードは確実性、完全性よりも優先されます。もちろん完全なものが相手に届くことがベストであり、各レイヤでの帯域保証するという努力が行われていますが、コミュニケーションにおける同期通信では、ある程度のパケットロスが許容されているのも事実です(エンドユーザーの実用に影響がないというレベル)。
同期的なコミュニケーションの究極の目的は、「意味を伝える」ことです。つまり意味が伝われば、必ずしも送信元のデータが受信先で完全に復元される必要がないということになります。たとえば、音声通話や TV 電話などは、最悪のケース「聞いて分かればよい、見て分かればよい」というのが保証の最低ラインです。いわばアナログ的に伝わればいいのです。もちろん「より良く意味が伝わる」ために、ジッター(ゆらぎ)制御やバッファリングによる遅延防止の実装も求められます。
■中断防止
同期通信は、一度開始された通信が途中で切れると、非常にクリティカルです。ライブでコミュニケーションを行っているので、やり直しがきかないからです。そのため成立した通信を維持するための冗長化も必須です。具体的には、いくつものバックアップパスを用意するといった実装が考えられます。
■P2P と同期通信の相性
同期通信によるコミュニケーションは 1:1 で行われることが多いため、間にサーバーを挟まず、ピア同士が直接通信を行う P2P とは相性がいいと言えるでしょう。
また同期通信では、音声や動画といった、比較的リッチなデータを素早く転送することが必要です。そのため、ユーザーが増えた場合でも付加集中によるサービス品質低下が起きにくい P2P のスケーラビリティも魅力的です。これらのメリットを考えると、同期通信コミュニケーションの分野に P2P が採用されているのは自然な気がします。
このように、同期通信にはデータ伝達の「即時性、高速性」が求められますし、またセッションの「中断」も許されません。しかも P2P システムではピア同士でダイナミックにトポロジーを形成してこれらの処理を行う必要があるため、非常に緊張感のあるシステムだと言うことができます。一方その緊張感の裏返しとして、利用したユーザーにとっては使って楽しく、便利さを実感しやすいのも、同期通信 P2P の特徴でしょう。
次回はファイル交換 P2P や CDN、グループウェアに代表される、非同期通信 P2P について説明します。(執筆:岩田真一)