JXTAの概要 P2P特論 (ソフトウェア特論) 第3回 / 2005-04-27 1 JXTAとは何か 2 JXTA 「じゃくすた」と発音 P2Pに必要な機能をプロトコルとしてまとめ ている プロトコルだけでなく、参照実装も含まれて いる http://www.jxta.org/ 3 P2Pに必要な機能 Peerの集団に加入する Peerを探索する Peerどうしが通信する NATやファイアウォールを越えて通信する ↓ JXTAはこうした機能を用意する 4 JXTAとプログラミング言語 JXTAはプログラミング言語に依存しない 「参照実装」として Java版と C言語版 参照実装 = プロトコル(仕様)の実装例 いちばん発展しているのはJava ほかにも次のような言語が J2ME / Perl / Python / Ruby など 5 JXTAとオーバレイ・ネットワーク D・E・Fは、物理ネット ワークを超えて、(仮想 的に)P2Pネットワークに 参加している。 この仮想的なネットワー クを「オーバレイ・ネット ワーク」と言う。 JXTAを利用して、オーバ レイ・ネットワークを構築 できる。 6 JXTAと通信 JXTAは通信プロトコルに依存しない TCP/IP, Bluetooth など 通信のためにIPを使わなければならない、 ということはない 7 JXTAはオープンソース JXTAのライセンスは Sun Microsystems 社の独自のもの ただし、BSDライセンスとほとんど変わらな い 8 Project JXTAの歴史 (1) もともとは Bill Joy が Sun Microsystems 社ではじめた研究プロジェクト Bill Joy Sun Microsystems 創立者のひとり BSD Unix 開発者 vi 開発者 Java の仕様策定者のひとり Jini 9 JXTAの語源 Juxtapose 動詞 ・・・を並列する (ジーニアス英和辞典より) この単語を短くしたもの JXTAは「サーバ・クライアント方式」を置き 換えるのではなく、並列して相互に補完す べきである、という意味がこめられている。 10 Project JXTAの歴史 (2) 2001-04-25 www.jxta.org 開設 JXTA 1.0 リリース 2003-03-01 JXTA 2.0 リリース プロトコルが変更 (1.0と互換性なし) 2005-03-15 JXTA 2.3.3 リリース 11 JXTAの基本コンセプト 12 Peer Peer = ネットワーク 上のデバイス PC, Work station, PDA, 携帯電話など 13 Peer Group Peer は Peer Group に参加できる ひとつの Peer は複数 の Peer Group に参 加できる Peer Group が P2Pの サービスに相当する 例えばファイル共有や メッセンジャーなど 14 Pipe Peer 間でのメッセージ の送受信に使用する。 input pipe (入力パイ プ) と output pipe (出 力パイプ) がある。 Unix のパイプ (“|”) と 考え方は同じ。 15 ID JXTAで使われる資源には、IDが振られる。 資源 = Peer, Peer Group, Pipe など Peer の ID の例: urn:jxta:uuid59616261646162614A78746150325033 88D9B1D1048B4CE99A7CB17A2CB3E5F 703 16 Advertisements (告知) Peer, Peer Group, Pipe などの資源につい て記述したもの。メタデータ。 JXTAでの資源の発見 = Advertisement の発見 Advertisement は XML で書かれる。 17 Advertisements (告知) パイプ告知の例 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jxta:PipeAdvertisement> <jxta:PipeAdvertisement xmlns:jxta="http://jxta.org"> <Id> urn:jxta:uuid59616261646162614E504720503250330937A65BF6C641 0E923799B39ED9B20C04 </Id> <Type>JxtaUnicast</Type> <Name>mypipe</Name> </jxta:PipeAdvertisement> 18 パイプ告知を 用いた通信 19 Peerの種類 (1) Edge Peer (エッジ・ピア) RendezVous Peer (ランデブー・ピア) 平民。通信を行う。 Advertisement のインデックスを管理。 他のPeerからの問い合わせに対応する。 Relay Peer (リレー・ピア) ファイアウォールやNATをまたいで通信する。 20 Peerの種類 (2) Edge Peer と RendezVous Peer は固定的 な役割ではない。 Edge Peer が RendezVous Peer に。 また、RendezVous が Edge に。 ある Peer Group では RendezVous でも、 別の Peer Group では Edge の場合があ る。 21 JXTAのアーキテクチャ (3 Layer Cake) 22 JXTA Protocols 23
© Copyright 2024 ExpyDoc