プレゼンテーションのダウンロード

Keio Media Space Board
for KMSF-CODE の
設計,実装,評価
慶應義塾大学環境情報学部
大越 匡
[email protected]
岩本健嗣 中澤仁
永田智大 望月祐洋 徳田英幸
情報処理学会コンピュータシステムシンポジウム‘96 @鎌倉 1996/11/6
Outline







KMSF環境
KMSB for KSMF-CODE の構造・機能
KMSF-CODEにおける通信機構
KMSF-CODEにおけるオブジェクトの構造化
実装
性能評価・考察
今後の課題
KMSFでの協調作業

KMSF環境
– 複数の主体からなるグループの情報共有・知的
協調作業を支援する環境

Keio Media Space Board (KMSB)
–
–
–
–
–
–
サーバプログラム.ネットワーク上の仮想的な掲示板
情報の蓄積・提供・管理を行う
Keio Media Space Navigator (KMSN)
クライアントプログラム
KMSB上の情報を参照,編集する
KMSB上に情報を掲示する
既存の実装と問題点

受動オブジェクトモデル
– クライアント・サーバモデルに基づくKMSF実装
– テキストデータのメッセージング環境であり,マルチ
メディアデータは未対応
– KMSN側にすべての機能を用意するため,動的な
機能の拡張が困難

自立分散オブジェクトモデル
– 計算機ごとに実装されるコネクションマネジャの協調
によるKMSF環境
– 多人数による使用ではネットワークに過負荷
KMSF-CODEアーキテクチャ

特徴
– Collaborative Object on Distributed Environment (CODE)
– 情報オブジェクト - Collaborative Object (CO)
» メディアデータ - Media-CO
» ソフトウェア部品 - Component-CO
– COの任意の組み合わせによるHyperObject (HO)
– KMSF環境の機能をオブジェクトとしてKMSBに配置

利点
– 多様なメディアによる情報の構成
– KMSF環境の動的な拡張性
– 多人数の使用に耐えうる
KMSB for KMSF-CODEの構造
Connection Manager
HO Storage
Media-CO
Storage
Component-CO
Storage
Object Storage
Session Manager
..........
KMSB
WAN / LAN / WirelessLAN
KMSN1
KMSN2
KMSN3 ..........
KMSNn
KMSB for KMSF-CODEの機能(1)

KMSNとの通信処理機能
– SessionManager -KMSN 間の通信
» SGMLファイルとして構造化されたオブジェクト
» COデータファイル,Javaクラスファイル

オブジェクトの保存/管理機能
– HO Storage, Media-CO Storage, Component-CO Storage
» 各オブジェクトをMIME-Types別に保存
– Date Storage
» POST順に保存(リンク)
KMSB for KMSF-CODEの機能(2)
- Object Storage date
19960812060012.HO-Sample1.ho
19960812060145.Sample1.mco
Link
/
hyperobject
component-co
media-co
Root
19960812062039.AIFFPlay.cco
Storage
HO-Sample1.ho.19960812060012
HO-Sample1.ho
SampleHyper.ho.19960920122043
SampleHyper.ho
SampleHyper.ho.19960921101054
SampleHyper.ho
audio
ai f f
Sample1.mco.19960812060145
Sample1.mco
text
au
aiff1.mco.19960920122043
AIFFData.aiff
......
......
aiff2.mco.19960921101054
audio
ai f f
AIFFPlay.cco.19960812062039
AIFFPlay.cco
text
au
DefaultComponent
AIFFPlay.class
......
......
aiff2.cco.19960921101055
MIME-Types
Directory
Object
KMSF-CODEにおける通信機構(1)



クライアント・サーバモデルに基づく通信
TCP/IPプロトコルによるコネクション指向の通信
KMSNからKMSBへの4つのメソッド
–
–
–
–
post-it
fetch-it
info-it
list-it
オブジェクトをKMSB上に掲示する動作
オブジェクトをKMSBから取り出す動作
オブジェクトの属性情報を取り出す動作
Object Storage中のオブジェクトのリスト情報
を取り出す動作
KMSF-CODEにおける通信機構(2)
- Hyper Object Transfer Protocol 




HOTp…KMSF-CODE上でオブジェクトやそれに
付随する情報を転送するためのプロトコル
アプリケーションレイヤプロトコル
4メソッド実現のための6メッセージ
WWW・HTTPとの互換性
単一コネクションによる転送の効率化
KMSN
KMSB
HOTp
SocketAPI
TCP / IP
Kernel
HOTp
SocketAPI
TCP / IP
Kernel
Network
KMSF-CODEにおける通信機構(3)
- HOTp 6メッセージ -
KMSF-CODEにおける通信機構(3)
- WWW・HTTPとの互換性 
メソッド方式
– HTTP ex. GET /index.html
– HOTp ex. FETCH /date/19960927181114.SampleGif.mco/

World Wide Webとの透過性
KMSB
httpd
KMSN
WWW Client
KMSF-CODEにおける
オブジェクトの構造化(1)

全てのオブジェクトをSGMLファイルとして構造化
– HO
SGMLファイル
– Media-CO
SGMLファイル, COデータファイル
– Component-CO SGMLファイル, Javaクラスファイル

SGMLファイル
–
–
–
–
–
タイトル
識別子(MIME-Types)
参照URL
著作権表示
コメント
など
KMSF-CODEにおけるオブジェクトの構造化(2)
- HO-SGMLの記述構造 <HO>
<TITLE>
<AUTHOR>
<COPYRIGHT>
<COMMENT>
<MCO>
<CCO>
<REF>
HO-SGML 全体
HOタイトル
作者
著作権表示
コメント
Media-CO
Component-CO
CO-SGML の URL
KMSF-CODEにおけるオブジェクトの構造化(3)
- CO-SGMLの記述構造 <MCO>
<CCO>
<TITLE>
<TYPE>
<AUTHOR>
<COPYRIGHT>
<COMMENT>
<REF>
Media-CO 全体
Component-CO 全体
CO タイトル
MIME-Types
作者
著作権表示
コメント
CO データファイル・Java
クラスファイルの URL
<MESSAGE>
送信メッセージ(*)
<MESSAGETO> メッセージ送信先(*)
(*)Component-CO のみ
HyperObject SGML Sample
<HO>
<TITLE>test</TITLE>
<AUTHOR>Tadashi Okoshi ([email protected])</AUTHOR>
<COPYRIGHT>Tadashi Okoshi 1996</COPYRIGHT>
<MCO>
<NAME>gif1</NAME>
<REF>
hotp://shonan.sfc.wide.ad.jp/date/19960812110154/Eri.mco/
</REF>
</MCO>
<CCO>
<NAME>Btn1</NAME>
<REF>hotp://axe.sfc.wide.ad.jp/date/component-co/
application/component/KillerB.cco/KillerB.class
</REF>
<MESSAGETO>gif1</MESSAGETO>
<MESSAGE>HIDE</MESSAGE>
</CCO>
</HO>
Media-CO SGML Sample
<MCO>
<TITLE>LovelyEri</TITLE>
<TYPE>image/gif</TYPE>
<AUTHOR>Tadashi Okoshi ([email protected])</AUTHOR>
<COPYRIGHT>Tadashi Okoshi 1996</COPYRIGHT>
<COMMENT>
This picture is my girl friend, Eri.
Now, she is so far from me.
</COMMENT>
<REF>
hotp://shonan.sfc.wide.ad.jp/date/19960812110154.Eri.mco/Eri.gif
</REF>
</MCO>
Component-CO SGML Sample
<CCO>
<TITLE>KillerButton</TITLE>
<TYPE>application/component</TYPE>
<AUTHOR>Tadashi Okoshi ([email protected])</AUTHOR>
<COPYRIGHT>Tadashi Okoshi 1996</COPYRIGHT>
<COMMENT>
This component is KillerButton.
</COMMENT>
<REF>
hotp://axe.sfc.wide.ad.jp/date/component-co/
application/component/KillerB.cco/KillerB.class
</REF>
</CCO>
実装

動的マルチプロセスモデル
– KMSNからの接続要求毎にスレーブプロセス
(SessionManager)を生成
– RMK95 + 4.4BSDLites (C言語:約1800行)

動的マルチスレッドモデル
– KMSNからの接続要求毎にスレーブスレッド
(SessionManager)を生成
– RMK95 + 4.4BSDLites (C言語:約1800行)
» cthreadパッケージ
– Solaris2.5.1 + JDK1.0.2
(Java言語:約1000行)
性能評価(1) 評価環境

KMSB: Pentium
166MHz,
32MB
– RMK95 + 4.4BSDLites
– C言語の実装による測定
– Pentium Processorクロックによる1us単位までの測定

KMSN: UltraSPARC x 2
168MHz,
– Solaris2.5.1 + JDK1.0.2
– Java言語による実装を使用



Network: Ethernet (10Mbps)
100bytesのファイルによる測定
1000回の測定の加重平均
256MB
性能評価(2) post-it
multi-process
Disk
Memory
Network
SlaveCreation
multi-thread
0
200
400
600
Time (ms)
800
1000
性能評価(3) fetch-it
multi-process
Disk
Memory
Network
SlaveCreation
multi-thread
0
20
40
Time (ms)
60
80
評価結果の考察

マルチスレッド化の効果
– スレーブ(Session Manager)生成の向上
» cthread_fork() ←→ fork()
– ネットワークアクセス速度の若干の低下
» スケジューリングによるクラスタリング
– ディスクアクセスの性能向上

最適化の余地
– ネットワーク部門サブシステム
– メモリアクセス部門サブシステム
今後の課題



実時間マイクロカーネル (RMK95) アーキテクチャ
に適したサーバへの再設計・再実装
KMSB間通信の設計・実装
連続メディア処理の設計・実装
– “Continuous post-it”, “Continuous fetch-it”

連続メディア処理に適した通信機構への改良
– 連続メディア・非連続メディアの共存
– 連続メディア転送時におけるマルチキャスト通信
まとめ

やったこと
– KMSF-CODEアーキテクチャ上での通信機構・オブジェ
クトの構造化の設計
– KMSB for KMSF-CODEの設計,実装及び,評価考察

ポイント
– HOTp / TCP / IPプロトコルによる既存のWWW環境と
の互換性の高い通信機構
– SGMLファイルによる全てのオブジェクトの構造化
– モデル別実装の評価と比較