イントロダクション
この原稿記事は、岩田さん@skype(http://sats.zekku.com/)がアリエル在籍時に執筆した原稿です。本人の了承を得て、アリエルエリアで掲載しています。
ファイル交換ソフトで定着したアングラなイメージを脱していよいよP2Pはビジネスでの利用が注目されると評されたり、P2Pこそインターネットと親和性が高い次世代のインターネットテクノロジーだと言われて、かれこれ何年が過ぎたでしょうか。実際筆者もP2P技術に取り組み始めてから、様々な可能性を探ってきましたし、多くの人から相談を受けてまいりました。P2P技術が何か新しいものを感じさせ、興味を引くものであったことには違いがありません。しかし、そもそもP2Pの定義が曖昧な上に、前提としているインフラもブロードバンド化が進み変化が早いため、さらに曖昧さをきわめてわかりにくくなってきている気がします。P2Pは一部の見識者によってぶち上げられたような、明確でわかりやすいメリットを今ひとつ示せていない一方で、むしろ発散的に発展してきていると感じています。
インターネットの利用はWebや電子メール、その他のFTPやTelnetなどWell-Knownなプロトコルに限定されているわけではありません。それらのプロトコルと同レベル、あるいは上位にP2P技術によって実現されるプログラマブルな層、オーバーレイ・ネットワークの概念は、自由で制限のない楽しさと可能性を相変わらず内包しています。そのためP2Pに関する研究開発は基礎的なアルゴリズムからその応用に至るまで、現在でも多くの人の注目を集め続けているのでしょう。FTTHの普及も進み一般ユーザーが利用できる回線の太さも十分になってきました。過去を振り返ってみると、実は今になってようやく現実的なレベルでP2Pの応用を議論する環境が整ってきたと言えるのかも知れません。
P2Pのメリットとして挙げられる「スケーラビリティ」「アドホック性」「耐障害性(ロバストネス)」などの特徴は本当に言えるのかどうか、またそれはクライアント・サーバー型システムでは成し得ないことなのかという点についてもここで一定の結論を示したいところです。
これを踏まえ本記事は現実的なP2Pおよびその応用を特集します。本記事によって昨今ますます発散しつつあるP2Pが「中締め」としての収束を見、P2P技術活用/応用のための更なる議論に結びつけば幸いです。
本特集のみどころ
----------------
2 回に渡る本特集ではP2Pを単に学術的に深く掘り下げるだけではなく、実際すでに展開されているトピックを様々な観点から解説します。取り上げる内容は実際のP2Pアプリケーションの解析や、P2Pネットワークが発生するトラフィックのインフラへ与える影響についての考察などを含みます。そして特集の結びとして、P2P技術を技術史の観点から眺めた場合の歴史的位置づけを試みます。
さて、特集第1回目は「P2P概論」からのスタートです。ただし概論ではP2Pの基礎的な解説は最小限にとどめ、曖昧模糊としたP2Pというものに対していったん明確な定義を与えることを目的とします。前述したようにP2Pに関しては実に様々な定義があり読者の視点も立場によって異なることでしょう。それは当然のことですが、一方で、概念の共有無くしてその先に広がる議論には至らないこともまた事実です。解説をより明確にするため、本特集で論じられるP2Pを規定して、いわば共通の土台または前提条件を概論で示します。
次にP2P技術の代表的な応用例として、リソースの探索と配信について解説します。探索技術に関しては、Gnutellaと Freenetを例にP2P探索の基礎と両者のスケーラビリティの限界を見た後、スケーラビリティと探索速度の観点から現在最も注目度の高い探索基盤の一つであるDHT(分散ハッシュテーブル)を詳しく解説します。今回はDHTの概論と代表的な実装「Pastry」を説明し、第2回でPastryの実装であるOpenDHTを実際に使ってみます。配信技術に関しては具体的なアプリケーションとしてPeercast、BitTorrent、Kontikiを紹介します。特にBitTorrentはソースコード解析からパケットキャプチャによるプロトコル解剖を行い、その内部に迫ります。どのあたりが"P2P的"なのか、生々しい実装を通して感じられるはずです。
以上ソフトウェア的なP2Pを深く見た後、視点を少し変え、ネットワークインフラとP2Pの関連に着目し考察を加えます。とかくP2Pネットワークのトラフィック負荷が下位のネットワークインフラに与える影響を懸念する話を良く聞きます。本特集では「インフラから見たP2Pとは」「国内ネットワークの現状」などを専門家の目からみた実際の状況について述べます。
続く第2回ではP2P技術詳細としてOpenDHTによるDHTの実践に加え、P2Pコンテンツ検索基盤の「PlanetP」を紹介します。またネットワークインフラとオーバーレイ・ネットワークの関係についてはさらに一歩踏み込み、両者の共存関係の理想像と未来像に言及します。
その他特別編として、実際にP2Pアプリケーションを開発している開発者本人たちによる生の声をレポートします。いわばP2Pアプリケーション開発の舞台裏とも言える現場の苦労話を通してP2Pアプリケーション開発の現実的な難しさおよび面白みについて語っていただく企画を用意しています。
そして最後に、これまでの長いコミュニケーション技術史の観点から見たP2PをにおけるP2P技術のポジション、必然性、また今後の展望について考察します。