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ファイルによる全てのオブジェクトの構造化 – モデル別実装の評価と比較
© Copyright 2025 ExpyDoc