jxta shell (2)

40
1 JXTA Shell (2) P2P 特特 ( 特特特特特特特特 ) 特 5 特 / 2005-05-18

Upload: onaona

Post on 09-Jan-2016

46 views

Category:

Documents


1 download

DESCRIPTION

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). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: JXTA Shell (2)

1

JXTA Shell (2)

P2P 特論 ( ソフトウェア特論 )第 5 回 / 2005-05-18

Page 2: JXTA Shell (2)

2

JXTA Shell

Page 3: JXTA Shell (2)

3

JXTA のアーキテクチャ(3 Layer Cake)

Page 4: JXTA Shell (2)

4

JXTA Shell

JXTA のプロトコル上で動くアプリケーション

Unix の Shell のように、コマンドを利用して P2P を使った情報の公開、転送などを行う。

コマンドは自分で新規作成可能 Java 言語を用いる

Page 5: JXTA Shell (2)

5

JXTA Shell の起動-- ひとつめの Peer を起動 --

Page 6: JXTA Shell (2)

6

ディレクトリの移動 (1) "jxta-shell-2.3.3" ディレクトリに移動 サブディレクトリが2つある

lib ... JXTA Shell の動作に必要な Jar ファイルがある

shell ... JXTA Shell の起動スクリプト・実行ファイルなどがある

Page 7: JXTA Shell (2)

7

ディレクトリの移動 (2) shell ディレクトリ ( およびディレク

トリ中の全ファイル ) を shell2 にコピーする lib ディレクトリ、 shell ディレクトリの

ほかに shell2 ディレクトリができた shell2 ディレクトリは、もうひとつの Pe

er の起動に使う shell ディレクトリに移動

Page 8: JXTA Shell (2)

8

JXTA Shell の起動 JXTA Shell を起動する

(Windows では ) jxta.exe あるいは run.bat を起動

(Unix 系 OS では ) run.sh を起動

Page 9: JXTA Shell (2)

9

JXTA Configurator

“JXTA Configurator” ウィンドウが表示される

Page 10: JXTA Shell (2)

10

JXTA Configurator の設定 "Peer Name" に適当な名前 ( ここでは tomoharu-peer1) "Password" には適当なパスワード "Verify Password" は、 "Password" 欄に入力したものを

再度入力 "OK" ボタンを押す

Page 11: JXTA Shell (2)

11

“Initialize JXTA Keystore”ウィンドウ

"Initialize JXTA Keystore" ウィンドウが表示される

"Identity" が "tomoharu-peer1" であることを確認

"Identity Password" では、"JXTA Configurator" で設定したパスワードを入力する

Page 12: JXTA Shell (2)

12

Peer が起動した

ひとつめの Peer が起動されて、 "JXTA Shell" が使えるようになる

Page 13: JXTA Shell (2)

13

“.jxta” ディレクトリ 設定情報・キャッシュなどは、起動

ディレクトリの ".jxta" ディレクトリに保管される

2度目に起動したときは、” .jxta” ディレクトリの情報を読み出すので、” JXTA Configurator” ウィンドウは表示されない。

Page 14: JXTA Shell (2)

14

コマンドの実行

Page 15: JXTA Shell (2)

15

プロンプトの表示 ウィンドウの “ JXTA>” というプロンプ

トにコマンドを入力する

Page 16: JXTA Shell (2)

16

whoami コマンド (1) プロンプトに対して “ whoami” と入力する

JXTA>whoami<Peer>tomoharu-peer1</Peer><Description>Platform Config Advertisement created by : net.jxta.im

pl.peergroup.DefaultConfigurator</Description><PeerId>urn:jxta:uuid-59616261646162614A787461503250331

6B8DAE33952487E95978C43004EA73E03</PeerId>............JXTA>

Page 17: JXTA Shell (2)

17

whoami コマンド (2)JXTA>whoami<Peer>tomoharu-peer1</Peer><Description>Platform Config Advertisement created by : net.jxta.impl.peer

group.DefaultConfigurator</Description><PeerId>urn:jxta:uuid-59616261646162614A7874615032503316B8DAE

33952487E95978C43004EA73E03</PeerId>............JXTA>

Peer に関する情報が出力された

( 正確には Peer の告知 (Advertisement) の一部 )

Page 18: JXTA Shell (2)

18

man コマンド whoami コマンドの使い方は、 man コマン

ドで調べることができる。

JXTA>man whoami

-g と -l という2つのオプションがあることがわかる。

Page 19: JXTA Shell (2)

19

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-59616261646162614A7874615032503316B8DAE33952487E

95978C43004EA73E03 </PID> <GID>urn:jxta:jxta-NetGroup</GID> <Name>tomoharu-peer1</Name> <Desc>

Platform Config Advertisement created by : net.jxta.impl.peergroup.DefaultConfigurator

</Desc>............

Page 20: JXTA Shell (2)

20

whoami コマンド (4)

-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-59616261646162614A78746150

32503316B8DAE33952487E95978C43004EA73E03 </PID> <GID>urn:jxta:jxta-NetGroup</GID> <Name>tomoharu-peer1</Name> <Desc>

Platform Config Advertisement created by : net.jxta.impl.peergroup.DefaultConfigurator

</Desc>............

Page 21: JXTA Shell (2)

21

Peer 告知

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-59616261646162614A787461503

2503316B8DAE33952487E95978C43004EA73E03 </PID> <GID>urn:jxta:jxta-NetGroup</GID> <Name>tomoharu-peer1</Name> <Desc>

Platform Config Advertisement created by : net.jxta.impl.peergroup.DefaultConfigurator

</Desc>............

Page 22: JXTA Shell (2)

22

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 に参加している

Page 23: JXTA Shell (2)

23

2つめの Peer を起動

Page 24: JXTA Shell (2)

24

JXTA Shell の起動 別のターミナルで "jxta-shell-2.3.3/sh

ell2" に移動 JXTA Shell を起動する

(Windows では ) jxta.exe あるいは run.bat を起動

(Unix 系 OS では ) run.sh を起動

Page 25: JXTA Shell (2)

25

JXTA Configurator

“JXTA Configurator” ウィンドウが表示される

Page 26: JXTA Shell (2)

26

JXTA Configurator の設定 "Peer Name" に適当な名前 ( ここでは

tomoharu-peer2) "Password" には適当なパスワード "Verify Password" は、 "Password" 欄

に入力したものを再度入力

Page 27: JXTA Shell (2)

27

ポート番号の設定 (1) "Advanced" タブを選択する

Page 28: JXTA Shell (2)

28

ポート番号の設定 (2) "TCP Settings" で "9701" となっている

ポート番号を "9702" に変更する 同一ホストで複数の Peer を立ち上げるとき、

ポート番号を変更する必要がある "OK" ボタンを押す

Page 29: JXTA Shell (2)

29

Peer の起動 "Initialize JXTA Keystore" ウィンドウが表示さ

れる "Identity" が "tomoharu-peer2" であることを

確認 "Identity Password" では、 "JXTA Configurator"

で設定したパスワードを入力する ひとつめの Peer が起動されて、 "JXTA Shell"

が使えるようになる

Page 30: JXTA Shell (2)

30

Peer ID の確認 whoami -l コマンドを実行して、 Adver

tisement 中の PID 要素をチェックしよう。

PID 要素は、 Peer ID を表す。 tomoharu-peer1 と tomoharu-peer2 で

Peer ID が違うことを確認しよう。

Page 31: JXTA Shell (2)

31

入力パイプの生成と公開

Page 32: JXTA Shell (2)

32

パイプ告知を用いた通信

Page 33: JXTA Shell (2)

33

newpipe コマンドJXTA>tomoharuPipeAdv = newpipe -n tomoharuPi

peJXTA>

newpipe は、新しいパイプ告知を作成するコマンド

パイプの名前は “ tomoharuPipe” “tomoharuPipeAdv” という「環境変数」をも

つパイプ告知を作成する

Page 34: JXTA Shell (2)

34

env コマンド (1)

JXTA>env......

......JXTA>

tomoharuPipeAdv = "Pipe Advertisement" [net.jxta.impl.protocol.PipeAdv]

Page 35: JXTA Shell (2)

35

env コマンド (2) 現在の環境変数を一覧できるコマンド “tomoharuPipeAdv” という環境変数は “ Pip

e Advertisement” (= パイプ告知 ) であることがわかる。

tomoharuPipeAdv = "Pipe Advertisement" [net.jxta.impl.protocol.PipeAdv]

Page 36: JXTA Shell (2)

36

cat コマンド 環境変数の値を

出力するコマンド

tomoharuPipeAdvはパイプ告知なので、告知の XML ファイルが出力される。

JXTA>cat tomoharuPipeAdv<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE jxta:PipeAdvertisement><jxta:PipeAdvertisement xmlns:jxta="http://jxta.o

rg"><Id>urn:jxta:uuid-59616261646162614E50472050325033E104B85EE4B641EEBAA8C28A49556DA204</Id><Type>JxtaUnicast</Type><Name>tomoharuPipe</Name>

</jxta:PipeAdvertisement>JXTA>

Page 37: JXTA Shell (2)

37

パイプ告知

Id 要素、 Type 要素、 Name 要素がある。

Name 要素の内容は、 newpipe コマンドで指定した名前

JXTA>cat tomoharuPipeAdv<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE jxta:PipeAdvertisement><jxta:PipeAdvertisement xmlns:jxta="http://jxta.o

rg"><Id>urn:jxta:uuid-59616261646162614E50472050325033E104B85EE4B641EEBAA8C28A49556DA204</Id><Type>JxtaUnicast</Type><Name>tomoharuPipe</Name>

</jxta:PipeAdvertisement>JXTA>

Page 38: JXTA Shell (2)

38

mkpipe コマンド

JXTA>tomoharuInputPipe = mkpipe -i tomoharuPipeAdv

-i オプションで、 tomoharuPipeAdv から入力パイプを作成する。

入力パイプには tomoharuInputPipe という名前をつける。

Page 39: JXTA Shell (2)

39

publish コマンド

JXTA>publish tomoharuPipeAdv

tomoharuPipeAdv (= パイプ告知 ) を公開する

Page 40: JXTA Shell (2)

40

出力パイプの生成とファイルの送受信