400 likes | 514 Views
JXTA Shell (2). P2P 特論 ( ソフトウェア特論 ) 第 5 回 / 2005-05-18. JXTA Shell. JXTA のアーキテクチャ (3 Layer Cake). JXTA Shell. JXTA のプロトコル上で動くアプリケーション Unix の Shell のように、コマンドを利用して P2P を使った情報の公開、転送などを行う。 コマンドは自分で新規作成可能 Java 言語を用いる. JXTA Shell の起動 -- ひとつめの Peer を起動 --. ディレクトリの移動 (1).
E N D
JXTA Shell (2) P2P特論 (ソフトウェア特論) 第5回 / 2005-05-18
JXTA Shell • JXTAのプロトコル上で動くアプリケーション • Unix の Shell のように、コマンドを利用して P2P を使った情報の公開、転送などを行う。 • コマンドは自分で新規作成可能 • Java言語を用いる
ディレクトリの移動 (1) • "jxta-shell-2.3.3" ディレクトリに移動 • サブディレクトリが2つある • lib ... JXTA Shell の動作に必要な Jar ファイルがある • shell ... JXTA Shell の起動スクリプト・実行ファイルなどがある
ディレクトリの移動 (2) • shell ディレクトリ (およびディレクトリ中の全ファイル) を shell2 にコピーする • lib ディレクトリ、shell ディレクトリのほかに shell2 ディレクトリができた • shell2 ディレクトリは、もうひとつの Peer の起動に使う • shell ディレクトリに移動
JXTA Shell の起動 • JXTA Shell を起動する • (Windowsでは) jxta.exe あるいは run.bat を起動 • (Unix系OSでは) run.sh を起動
JXTA Configurator • “JXTA Configurator”ウィンドウが表示される
JXTA Configurator の設定 • "Peer Name" に適当な名前 (ここでは tomoharu-peer1) • "Password" には適当なパスワード • "Verify Password" は、"Password" 欄に入力したものを再度入力 • "OK" ボタンを押す
“Initialize JXTA Keystore”ウィンドウ • "Initialize JXTA Keystore" ウィンドウが表示される • "Identity" が "tomoharu-peer1" であることを確認 • "Identity Password" では、"JXTA Configurator" で設定したパスワードを入力する
Peer が起動した • ひとつめの Peer が起動されて、"JXTA Shell" が使えるようになる
“.jxta”ディレクトリ • 設定情報・キャッシュなどは、起動ディレクトリの ".jxta" ディレクトリに保管される • 2度目に起動したときは、”.jxta”ディレクトリの情報を読み出すので、”JXTA Configurator”ウィンドウは表示されない。
プロンプトの表示 • ウィンドウの “JXTA>”というプロンプトにコマンドを入力する
whoami コマンド (1) • プロンプトに対して “whoami”と入力する JXTA>whoami <Peer>tomoharu-peer1</Peer> <Description>Platform Config Advertisement created by : net.jxta.impl.peergroup.DefaultConfigurator</Description> <PeerId>urn:jxta:uuid-59616261646162614A7874615032503316B8DAE33952487E95978C43004EA73E03</PeerId> ...... ...... JXTA>
whoami コマンド (2) JXTA>whoami <Peer>tomoharu-peer1</Peer> <Description>Platform Config Advertisement created by : net.jxta.impl.peergroup.DefaultConfigurator</Description> <PeerId>urn:jxta:uuid-59616261646162614A7874615032503316B8DAE33952487E95978C43004EA73E03</PeerId> ...... ...... JXTA> Peer に関する情報が出力された (正確には Peer の告知 (Advertisement) の一部)
man コマンド • whoami コマンドの使い方は、man コマンドで調べることができる。 JXTA>man whoami • -g と -l という2つのオプションがあることがわかる。
whoami コマンド (3) JXTA>whoami -l <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jxta:PA> <jxta:PA xmlns:jxta="http://jxta.org"> <PID>urn:jxta:uuid-59616261646162614A7874615032503316B8DAE33952487E95978C43004EA73E03 </PID> <GID>urn:jxta:jxta-NetGroup</GID> <Name>tomoharu-peer1</Name> <Desc> Platform Config Advertisement created by : net.jxta.impl.peergroup.DefaultConfigurator </Desc> ...... ......
-l オプションを使った。 このPeerに関する告知 (Advertisement) が表示される。 JXTA>whoami -l <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jxta:PA> <jxta:PA xmlns:jxta="http://jxta.org"> <PID>urn:jxta:uuid-59616261646162614A7874615032503316B8DAE33952487E95978C43004EA73E03 </PID> <GID>urn:jxta:jxta-NetGroup</GID> <Name>tomoharu-peer1</Name> <Desc> Platform Config Advertisement created by : net.jxta.impl.peergroup.DefaultConfigurator </Desc> ...... ...... whoami コマンド (4)
PID 要素は Peer ID を表す。 GID 要素は、このPeerが属している Peer Group Name 要素は、JXTA Configurator で指定した Peer の名前 JXTA>whoami -l <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jxta:PA> <jxta:PA xmlns:jxta="http://jxta.org"> <PID>urn:jxta:uuid-59616261646162614A7874615032503316B8DAE33952487E95978C43004EA73E03 </PID> <GID>urn:jxta:jxta-NetGroup</GID> <Name>tomoharu-peer1</Name> <Desc> Platform Config Advertisement created by : net.jxta.impl.peergroup.DefaultConfigurator </Desc> ...... ...... Peer告知
whoami コマンド (5) JXTA>whoami -g <PeerGroup>NetPeerGroup</PeerGroup> <Description>default Net Peer Group</Description> <PeerGroupId>urn:jxta:jxta-NetGroup</PeerGroupId> JXTA> • -g オプションで、所属している Peer Group の情報を出力する。 • JXTA では、デフォルトで NetPeerGroup という Peer Group に参加している
JXTA Shell の起動 • 別のターミナルで "jxta-shell-2.3.3/shell2" に移動 • JXTA Shell を起動する • (Windowsでは) jxta.exe あるいは run.bat を起動 • (Unix系OSでは) run.sh を起動
JXTA Configurator • “JXTA Configurator”ウィンドウが表示される
JXTA Configurator の設定 • "Peer Name" に適当な名前 (ここでは tomoharu-peer2) • "Password" には適当なパスワード • "Verify Password" は、"Password" 欄に入力したものを再度入力
ポート番号の設定 (1) • "Advanced" タブを選択する
ポート番号の設定 (2) • "TCP Settings" で "9701" となっているポート番号を "9702" に変更する • 同一ホストで複数の Peer を立ち上げるとき、ポート番号を変更する必要がある • "OK" ボタンを押す
Peerの起動 • "Initialize JXTA Keystore" ウィンドウが表示される • "Identity" が "tomoharu-peer2" であることを確認 • "Identity Password" では、"JXTA Configurator" で設定したパスワードを入力する • ひとつめの Peer が起動されて、"JXTA Shell" が使えるようになる
Peer ID の確認 • whoami -l コマンドを実行して、Advertisement 中の PID 要素をチェックしよう。 • PID 要素は、Peer ID を表す。 • tomoharu-peer1 と tomoharu-peer2 で Peer ID が違うことを確認しよう。
newpipe コマンド JXTA>tomoharuPipeAdv = newpipe -n tomoharuPipe JXTA> • newpipe は、新しいパイプ告知を作成するコマンド • パイプの名前は “tomoharuPipe” • “tomoharuPipeAdv”という「環境変数」をもつパイプ告知を作成する
env コマンド (1) JXTA>env ...... tomoharuPipeAdv = "Pipe Advertisement" [net.jxta.impl.protocol.PipeAdv] ...... JXTA>
env コマンド (2) • 現在の環境変数を一覧できるコマンド • “tomoharuPipeAdv”という環境変数は “Pipe Advertisement” (=パイプ告知) であることがわかる。 tomoharuPipeAdv = "Pipe Advertisement" [net.jxta.impl.protocol.PipeAdv]
環境変数の値を出力するコマンド tomoharuPipeAdvはパイプ告知なので、告知のXMLファイルが出力される。 JXTA>cat tomoharuPipeAdv <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jxta:PipeAdvertisement> <jxta:PipeAdvertisement xmlns:jxta="http://jxta.org"> <Id> urn:jxta:uuid-59616261646162614E50472050325033E104B85EE4B641EEBAA8C28A49556DA204 </Id> <Type>JxtaUnicast</Type> <Name>tomoharuPipe</Name> </jxta:PipeAdvertisement> JXTA> cat コマンド
Id 要素、Type 要素、Name 要素がある。 Name 要素の内容は、newpipe コマンドで指定した名前 JXTA>cat tomoharuPipeAdv <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jxta:PipeAdvertisement> <jxta:PipeAdvertisement xmlns:jxta="http://jxta.org"> <Id> urn:jxta:uuid-59616261646162614E50472050325033E104B85EE4B641EEBAA8C28A49556DA204 </Id> <Type>JxtaUnicast</Type> <Name>tomoharuPipe</Name> </jxta:PipeAdvertisement> JXTA> パイプ告知
mkpipe コマンド JXTA>tomoharuInputPipe = mkpipe -i tomoharuPipeAdv • -i オプションで、tomoharuPipeAdv から入力パイプを作成する。 • 入力パイプには tomoharuInputPipe という名前をつける。
publish コマンド JXTA>publish tomoharuPipeAdv • tomoharuPipeAdv (=パイプ告知) を公開する