P2Pシステムのインターフェース規定共通化の提案
P2Pシステムについては各アプリケーションが最適に動くように実装されており、インターフェースやAPIが共通化、標準化されていないのが現状だ。
ただし構造化オーバーレイのAPIについては抽象化の検討を行った著名な論文がある。
Towards a Common API for Structured Peer-to-Peer Overlays
構造化オーバレイを研究する人には避けては通れない論文で、各種構造化オーバーレイをどのようなAPIで規定すると動作できるかを検討している。Overlay Weaverの設計に大きな影響を与えている。
ネットワークインターフェースというと、共通化しようとする試みや抽象化して検討するという研究を少なくとも私は知らない。ここで言うネットワークインターフェースとは構造化オーバーレイ(あるいは非構造化オーバーレイも含めることができるかもしれない。)のピア間で流通するコマンド、データ構造を規定することである。
制御信号の帯域はデータ転送用の帯域に比べて無視できるほど少ないので、インターフェースの規定には可読性の高いXMLが望ましいだろう。そうなると、分散システムでよく使われているSOAPや、あるいはRESTのようなものがうまく使えるかもしれない。
問題は構造化オーバーレイの制御信号について、どのようにすれば分類・網羅できるかということである。これは先ほど紹介したAPIの抽象化の検討が大きな参考になると思う。
まだ数分考えただけだが、以下のようなことがインターフェースとして考えられる。
・ピア操作系
-ピアの参加
-ピアの離脱
・(オーバーレイを維持するための)リンク操作系
-リンクの確認
-リンクの形成
-リンクの切断
・(オーバーレイ内に格納している)データ操作系
-データの格納(put)
-データの入手(get)
-データの削除(remove)
・ピア間で直接通信している場合のデータ操作系
-リンク確立
-データ送信/受信
-データ送受信終了
-リンク切断
・検索方法
-recursive
-iterative
・NAT越え系
-リレーノード検索
-ネットワーク(NAT)情報交換(ICEライク)
・スーパーノード系
-スーパーノード検索
・認証系
-認証
もう少し考えて見ます。
インターフェースの規定を決めることで、汎用的なシステムができ且つ開発期間が短縮できると思います。
| 固定リンク
「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)
この記事へのコメントは終了しました。
コメント
コメントありがとうございます。
PUCCはP2P関連もあって調べたことがあるのですが、これは非構造化オーバーレイを利用しています。
P2PSIPを使うとDHTのAPIを叩く様子がわかると思います。
投稿: Tomo | 2008.07.05 22:35
アドホックネットワークは学術研究の歴史もあって、P2Pアプリケーションは多々あるのに、P2Pのプラットフォームになるような仕組みはないですよね。
私は携帯電話アプリ技術者なので構造化オーバーレイにはあまり知識を持ち合わせていないのですが、こんなプロトコルがあります。
[PUCC]「PUCC活動報告」(NTTドコモ 石川憲洋氏)
http://www.pucc.jp/PUCC/Presentation/event1/event1_3.pdf
まだ商用ではないのでAPIなどは整備されていないようですが、標準化の取り組みとしては面白いと思います。
ご存知かもしれませんが参考までに。
投稿: alt-native | 2008.07.02 21:35