自律構成型P2P通信基盤の実装研究
はじめに
近年、ファイル共有アプリケーションに代表されるP2P(Peer to Peer; ピアツーピア)型のシステム形態が注目されて来たが、期待された程には実システムでの活用は進んでいない。この原因は、これまでの取り組みがP2Pのアプリケーション機能面での特徴(ノード同士が対等に機能する)に着目して行われて来たことにあると考えた。
そこで、我々は、P2Pの通信形態に着目し、アプリケーションレベルでの仮想ネットワーク(オーバーレイネットワーク)の構築を可能とする「P2P論理ネットワークの自律構成手法」を考案した。この論理ネットワーク上では、効率的なマルチキャスト通信を可能としている。また、本手法がシンプルでコンパクトな通信ライブラリとして実装可能であることを検証した。尚、本手法については特許出願中である。
自律構成手法
我々が考案した「P2P論理ネットワークの自律構成手法」では、TCPリンクのみを用いてアプリケーション層で論理ネットワーク(仮想的なネットワーク)を構築する。この論理ネットワークは、ツリー構造となっており、参加ノードによって自律的に構成される。また、ノード障害時にも自律的に再構成される。論理ネットワーク上では汎用的なパケット型通信が可能であり、ユニキャスト、マルチキャスト、ブロードキャスト通信をサポートする。
これにより、アプリケーション開発者は、物理的なネットワーク構成やファイアーウオールの有無を考慮することなく、単一の論理ネットワークを対象に通信機能の設計を行うことができる。また、従来のP2Pアプリケーションではアドホックな方法でノード間を接続するため冗長なネットワーク構成となることが多かったが、本手法では帯域等を考慮してツリー構造のネットワークを構成するためリアルタイム通信にも適用可能である。
実装
本手法に基づき、Java言語上の通信ライブラリ(P2P通信ライブラリ)のプロトタイプを実装した。P2P通信ライブラリは、常駐プロセスを必要とせず、アプリケーションへの組み込みのみで動作する。これにより、本手法がシンプルでコンパクトな通信ライブラリとして実装可能であることを確認できた。
また、P2P通信ライブラリ上に作成したIM(インスタントメッセージ)アプリケーションを社内に展開し、実ネットワーク環境での性能検証を行った。
応用例
本手法が従来のシステム上の課題解決に有効に活用できることを、応用例を使って説明する。
メッセージ通知
- メッセージ配信はすべてのノードで分散して行われるため、通知サーバに処理が集中しない
- 通知サーバ側のネットワーク帯域を圧迫しない。
- マルチキャスト通信を利用して、柔軟なメッセージ通知が可能(特定職種のユーザのみへの通知など)
ファイル配布
- 中継サーバが不要となることで、中継サーバの導入コスト・運用コストが不要。
- 構成情報(中継サーバとクライアントPCとの紐付け)の保守管理が不要
- 中継ノードの障害時にも、自律構成により継続してファイル配布が可能
分散DB統合
- マルチキャスト通信機能を使って、一度に複数のデータベースに対して問合せ可能
- マルチキャストグループへの参加・離脱は動的に行われるため、データベースの増減に柔軟に対応可能



