JXTA Shell (3) P2P特論 (ソフトウェア特論) 第6回 / 2005-05-25.

Slides:



Advertisements
Similar presentations
InstallShieldLecture InstallShield でインストーラを作成する方法 ( 初級編 ) ソニーエンジニアリング 設計 3 部 1 課 齋藤佑輔.
Advertisements

RitsPen 2.0 起動方法 CentOS を 例にして. CentOS を起動した状態 RitsPen がインストールしておく.デスクトップに ritspen というフォルダがあるはず.
Copyright © the University of Tokyo 文字化けの背景を知る. Copyright © the University of Tokyo 課題の概要 日本語の文字コードについて理解を深める  MacOS( テキストエディット ) で利用可能なエ ンコーディング ( コード化方式.
Copyright © the University of Tokyo 文字化けの背景を知る. Copyright © the University of Tokyo 課題の概要 日本語の文字コードについて理解を深める  MacOS( テキストエディット ) で利用可能なエ ンコーディング ( コード化方式.
WinDBG6によるRTX5.5デバッグ RTX開発環境 WinDBG6.0 debugモードで起動 232Cクロスケーブル
Jsuiteクーロンサービスtutorial
7-1.WEKOコンテンツ 一括登録 マニュアル Version2.5
実習1:コマンドシェルの使い方.
TeX で数式を書くための PowerPoint アドイン Ver (2011/06/26) Ver. 0.1 (2007/5/30)
P2P Chat Program Using JXTA
難しいことは置いといて、 取り合えず 「BlazeDS」 を使って、 Flash、AIRアプリから Javaオブジェクトのメソッドを呼び出すための 手順書(Windows版) 2008年2月 Lecce.
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
UNIX利用法 情報ネットワーク特論資料.
知能機械工学科 担当:長谷川晶一 TA:新・後藤・ナンバ
(株)アライブネット RS事業部 企画開発G 小田 誠
Unix生活 Vol.1
実習用サーバの利用開始手順 (Windowsの場合) TeraTerm Proをインストール 公開鍵をメールで送付
ISCCD7.5構築 その2 Middleware 導入
コマンドプロンプトの起動と終了 最初に覚えるコマンド ディレクトリ構造とパス 各種コマンドの練習 Cコンパイルとプログラムの実行
コンピュータリテラシー 第3回授業の復習 基本的なUNIXコマンド
第4回ネットワーク講習会 医中誌・JCRのセットアップと利用方法
Linux リテラシ 2006 第2回 基本コマンド2.
PCの情報を得る - 「システム情報」 ①「スタート」→「すべてのプログラム」→「アクセサリ」→「システム ツール」→「システム情報」とクリックする。 ②左欄の項目を選択すると、右欄に情報が表示される。
Peer Group P2P特論 (ソフトウェア特論) 第7回 /
2007 Microsoft Office system クイックガイド
情報理工学部 情報システム工学科 ラシキアゼミ3年 H 岡田 貴大
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
Al-Mailのインストールと使い方 インストール –1 (pop-authの設定、Al-Mailのインストール用ファイルをダウンロード)
2005年11月17日 Webサービス II (第6回) 年11月17日.
文字化けの背景を知る.
ビューとコントローラ.
HTTPプロトコルとJSP (1) データベース論 第3回.
情報量の推移 ほとんどの情報がインターネットで得られる時代になった。.
Microsoft Office 2010 クイックガイド ~応用編~
初年次セミナー 第2回 文字の出力.
2005年10月6日 植田龍男 Webサービス II (第2回) 年10月6日 植田龍男.
基幹理工学研究科 情報理工学専攻 後藤研究室 修士1年 魏 元
文字化けの背景を知る.
第8章 Web技術とセキュリティ   岡本 好未.
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
ネットワークプログラミング 中村 修.
九州大学キャンパスクラウド 利用法 情報ネットワーク特論 講義資料.
情報処理概論Ⅰ 2007 第4回 2018/11/30 情報処理概論Ⅰ 第4回.
オープンソフトウェア利用促進事業 第3回OSSモデルカリキュラム導入実証
コマンドプロンプトの起動と終了 最初に覚えるコマンド ディレクトリ構造とパス 各種コマンドの練習 Cコンパイルとプログラムの実行
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
Linux リテラシ 2006 第5回 SSH と SCP CIS RAT.
単語登録(1) ◎MS-IMEの「単語登録」に、単語、語句、記号など自分がよく使うものを登録しておくと、便利である。
Jakarta Struts (2) ソフトウェア特論 第11回.
Javaによる Webアプリケーション入門 第2回
JXTAの概要 P2P特論 (ソフトウェア特論) 第3回 /
ネットワークプログラミング (3回目) 05A1302 円田 優輝.
JXTA Shell (1) P2P特論 (ソフトウェア特論) 第4回 /
7-0.SWORD Client for WEKO インストールマニュアル Version 2.2
UNIX演習 情報ネットワーク特論.
ファイルのアップロード HTMLファイルをWebサーバにアップロード 名商大のWebサーバ(opinion.nucba.ac.jp)
JXTA Shell (2) P2P特論 (ソフトウェア特論) 第5回 /
UNIX演習 情報ネットワーク特論資料.
統計ソフトウエアRの基礎.
UNIX演習 情報ネットワーク特論資料.
UNIX演習 情報ネットワーク特論資料.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
情報処理概論Ⅰ 2007 第6回 2019/5/16 情報処理概論Ⅰ 第6回.
JSPの基本 J2EE I (データベース論) 第8回 /
ネットワークプロトコル.
単語登録(1) ◎MS-IMEの「単語登録」に、単語、語句、記号など自分がよく使うものを登録しておくと、便利である。
Sftp の使い方 牧之内研究室 修士1年 安部智貴 2004/04/13.
JXTA総まとめ P2P特論 最終回 /
/etc/passwd, /etc/group, /etc/hosts ファイルの意味
メモリアルボックス(回線不要)マニュアル
Presentation transcript:

JXTA Shell (3) P2P特論 (ソフトウェア特論) 第6回 / 2005-05-25

JXTA Shell

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

JXTA Shell JXTAのプロトコル上で動くアプリケーション Unix の Shell のように、コマンドを利用して P2P を使った情報の公開、転送などを行う。 コマンドは自分で新規作成可能 Java言語を用いる

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

ディレクトリの移動 (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 の設定 "Peer Name" に適当な名前 (ここでは tomoharu-peer1) "Password" には適当なパスワード "Verify Password" は、"Password" 欄に入力したものを再度入力 "OK" ボタンを押す

“Initialize JXTA Keystore” ウィンドウ "Identity" が "tomoharu-peer1" であることを確認 "Identity Password" では、"JXTA Configurator" で設定したパスワードを入力する

ひとつめの 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>

(正確には Peer の告知 (Advertisement) の一部) 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> ......

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-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) が表示される。

Peer告知 PID 要素は Peer ID を表す。 GID 要素は、このPeerが属している Peer Group 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> ...... PID 要素は Peer ID を表す。 GID 要素は、このPeerが属している Peer Group Name 要素は、JXTA Configurator で指定した Peer の名前

whoami コマンド (5) -g オプションで、所属している Peer Group の情報を出力する。 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 に参加している

2つめの Peer を起動

JXTA Shell の起動 別のターミナルで "jxta-shell-2.3.3/shell2" に移動 JXTA Shell を起動する (Windowsでは) jxta.exe あるいは run.bat を起動 (Unix系OSでは) run.sh を起動

“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

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]

cat コマンド 環境変数の値を出力するコマンド 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> 環境変数の値を出力するコマンド tomoharuPipeAdvはパイプ告知なので、告知のXMLファイルが出力される。

パイプ告知 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> Id 要素、Type 要素、Name 要素がある。 Name 要素の内容は、newpipe コマンドで指定した名前

mkpipe コマンド JXTA>tomoharuInputPipe = mkpipe -i tomoharuPipeAdv

publish コマンド JXTA>publish tomoharuPipeAdv

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

search コマンド (1) 公開された告知を探索するためのコマンド “search -r” で、ほかの Peer から新しい告知を見つけ出す JXTA>search -r JXTA>search JXTA>search -a Name -v tomoharuPipe JXTA Advertisement adv0 [jxta:PipeAdvertisement] (Search criteria: Attribute="Name" Value="tomoharuPipe")

search コマンド (2) “search” で、ローカルにキャッシュされた告知をリスト表示する。 JXTA>search -r JXTA>search JXTA>search -a Name -v tomoharuPipe JXTA Advertisement adv0 [jxta:PipeAdvertisement] (Search criteria: Attribute="Name" Value="tomoharuPipe") “search” で、ローカルにキャッシュされた告知をリスト表示する。 “search -a Name -v tomoharuPipe” タグ名が “Name” 内容が “tomoharuPipe” である告知を探索する

search コマンド (3) 目的の告知が見つかった! 告知の名前は adv0 JXTA>search -r JXTA>search -a Name -v tomoharuPipe JXTA Advertisement adv0 [jxta:PipeAdvertisement] (Search criteria: Attribute="Name" Value="tomoharuPipe") 目的の告知が見つかった! 告知の名前は adv0

adv0 の確認 ひとつめのPeerで作成した tomoharuPipeAdv と同じであることを確認しよう JXTA>env JXTA>cat adv0 <?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> ひとつめのPeerで作成した tomoharuPipeAdv と同じであることを確認しよう

mkpipe コマンド JXTA>tomoharuOutputPipe = mkpipe -o adv0

importfile コマンド JXTA>myfile = importfile hello.xml hello.xml という XML ファイルを myfile という環境変数に読み込む

myfile 環境変数の中身 JXTA>env JXTA>cat myfile <?xml version="1.0" encoding="UTF-8"?> <greeting> Hello, world ! </greeting> JXTA>

mkmsg コマンド JXTA>tomoharuMsg = mkmsg

put コマンド JXTA>put tomoharuMsg tomoharuTag myfile mkmsg で作ったメッセージに、インポートしたファイルを追加する このとき、”tomoharuTag” というタグをつける

recv コマンド JXTA>tomoharuNewMsg = recv tomoharuInputPipe ひとつめのShellに移る tomoharuInputPipe (入力パイプ) から、データを読み込む準備をする 待機モードになる

send コマンド JXTA>send tomoharuOutputPipe tomoharuMsg 2つめのShellに戻る

そのときひとつめのShellでは JXTA>tomoharuNewMsg = recv tomoharuInputPipe recv has received a message JXTA> 入力パイプがメッセージを受信した メッセージは tomoharuNewMsg に格納

tomoharuNewMsg の中身 JXTA>cat tomoharuNewMsg Message Element # 1 name : / tomoharuTag type : text/xml;charset=UTF-8 body : (78 bytes) JXTA> tomoharuTag というものがある

get コマンド JXTA>tomoharuNewFile = get tomoharuNewMsg tomoharuTag 受け取ったメッセージからデータを取り出す。 データは tomoharuNewFile に格納 タグとして “tomoharuTag” を指定

tomoharuNewFile の中身 JXTA>cat tomoharuNewFile <?xml version="1.0" encoding="UTF-8"?> <greeting> Hello, world ! </greeting> JXTA>

exportfile コマンド JXTA>exportfile received.xml tomoharuNewFile tomoharuNewFile の中身を received.xml ファイルに保存する

パイプ告知を用いた通信