Personal tools
You are here: Home 原稿・資料 IPA未踏プロジェクト
Document Actions

未踏16シンポジウム@国際フォーラムのプレゼン資料と補足テキスト

http://mitou.mysite.ddo.jp/modules/eguide/event.php?eid=16 の発表資料です。

*補足テキスト
page1.
コードネームはAirVersionにするかもしれません。

page4.
口頭で補足した3点。
1. プレゼン資料にはP2Pの一般的な定義を書いていますが、個人的には次のようなP2Pの定義も持っています。
P2Pの定義: 系の中で、系全体に関する知識を持つノードや管理ノードが無くても、系の部分のみの知識を持ったノードが協調動作することで系全体が動作する(できる)分散環境。
2. スケーラビリティ、アドホック性、フォルトトレランスが「目的」であり、P2Pはそれを実現するための「手段」です。
3. あらゆることに対してスケーラビリティもアドホック性もフォルトトレランスも高いわけではありません。どこにフォーカスするかはアーキテクチャの選択に関わってきます。

page6.
+αの部分は、未来の話(夢)です。
ディレクトリ構造を持ったままファイル交換ができるのは、実用的には価値があるかもしれません。

page11.
デモは、subversionクライアントとしての基本機能があること(前日に、subversion本体のソースコードをdownload済みで、それを見せただけですが)と、1台のノートPCに2プロセスのAirFolderを起動して、ファイルを交換できる動作を見せました。
地味でした。

page14.
口頭で補足した点。
P2P自体がTCP/IP上の一種の論理ネットワークですが、AirFolderのベースP2P(アリエルフレームワーク)では、更にnetidで論理ネットワークに分割できます(=ルーティング(flooding)範囲の分割)。
netid 自体は論理ネットワーク分割のための機構で、セキュリティ機構ではありません。無線LANのSSID程度をセキュリティ用機構と呼んでいいなら、同程度のセキュリティはあるかもしれません(netidを知らないと参加できず、netidが載ったパケットは暗号化されるので)。

page15.
プレゼン後、考えたこと。
bloomフィルタベースのQRPはせっかく実装しましたが、もっと良い方法を考えたので捨てるかもしれません。
QRPの代わりに、次のRBRP(Room Based Rouring Protocol)を考えています。

RBRP(Room Based Rouring Protocol)について
前提
+ アリエルフレームワークは、ユーザIDを持ったユーザがコマンド(lookup, advertisement, etc.)を発行することが基本です。
+ コマンドには発信ユーザのユーザIDが載っています。これは、全てのコマンド伝播の通信セッションが暗号化されていることで可能になっています。
+ ユーザAは、自分が関心のあるユーザ一覧を知っています、これはルーム(=ユーザグループ)メンバーの和集合です。これらのユーザが発信元であるコマンドを受信できれば充分です。

アーキテクチャ
+ ノードaにユーザAがログインすると、ユーザAは関心のあるユーザ一覧をノードaに知らせます。
+ ノードaは近隣のスーパーノード(ノードb)にユーザ一覧を渡します。
+ ノードbは、ユーザIDベースでパケットをルーティングします。

page17.
口頭で補足した点。
交換リソースの型を3種類(types)に分割しています。
+ 各ユーザごとの所有リソース(=ファイル)一覧
+ ファイルごとのメタリソース(任意コメントがつけられる)
+ ファイル本体

P2P空間の拡散の志向を2種類(classes)に分割しています。
+ レスポンスを重視して素早く拡散させるリソース(ユーザごとの所有リソース一覧、メタリソース)
+ スループットを重視してまとめてダウンロードさせるリソース(ファイル本体)

page18.
ファイル本体のconflictは解消していません。

page19.
基本は、ユーザごとの所有リソース一覧へのlookupです。
所有リソース一覧から依存するメタリソースは、所有リソース一覧と一緒に自動ダウンロードします。
semantic filterは、メタリソースを参照して、ファイル本体も一緒に自動ダウンロードするかを決定します。

page20.
口頭で補足した点。
交換リソースとローカル表示キャッシュを同一履歴スキーマで管理しているので、ローカル表示キャッシュが壊れてもすぐに作成しなおせます。

口頭で言い忘れた点。
ユーザの所有リソース一覧の和集合をキャッシュすることで、「特定のファイルを誰が持っているか」をAirFolder上ですぐに確認可能です。

page23.
口頭で補足した点。
SSLを使わずに、ほぼ等価な通信セッション暗号化を独自実装してしまいました。プログラマ的には、良い態度ではありません。
P2Pのノード間ごとに異なるセッション鍵を持っています。セキュリティは、足し算でも掛け算でもなく、全体の一番弱いところで効いてくるので、必ずしも強固になっているとは限りませんが。


Copyright(C) 2001 - 2006 Ariel Networks, Inc. All rights reserved.