端末およびサービス透過的な 情報閲覧支援システムの構築 慶應義塾大学 環境情報学部 4年 由良 淳一 (yurayura@ht.sfc.keio.ac.jp)
アウトライン 研究概要 tranServiceシステムの概要 まとめと今後の課題 デモンストレーション(i-mode) 背景 目的 設計・実装 評価 まとめと今後の課題 デモンストレーション(i-mode) 2000.2.24 MKG Meeting
研究背景 サービスの多様化 端末の多様化 端末やサービスの違いを 吸収する仕組みが必要 Web, Database, news ... PC/WS, PDA, WC(Wearable Computer) ... → サービスが閲覧できない → 適した情報を得られない web DB news PC PDA Phone 端末やサービスの違いを 吸収する仕組みが必要 2000.2.24 MKG Meeting
研究目的 端末やサービスの違いを吸収する情報閲覧支援システムの構築 情報閲覧支援とは… あるサービス上で提供されている情報を,ユーザや端末に適するように変換を行う 端末およびサービスのQoSプロファイルを考慮して情報の変換を行う 2000.2.24 MKG Meeting
QoSプロファイル QoS(Quality of Service)の要求内容 データプロファイル プロトコルプロファイル データの種類,形式,性質 例) image/gif(色深度: 8bit, 大きさ: 180x180) audio/au(サンプリング: 44.1KHz) プロトコルプロファイル プロトコルの形式,性質 例) HTTP(Accept: image/gif) POP3(User: yurayura) 2000.2.24 MKG Meeting
端末透過性 端末間の特性差を吸収する 端末のQoSプロファイルを考慮した変換 PC/WS PDA web Phone 2000.2.24 MKG Meeting
サービス透過性 web movie PDA news サービス間の性質差を吸収する http+{text,image...} サービスのQoSプロファイルを考慮した変換 http+{text,image...} web rtsp+{movie...} movie nntp+{text} PDA news 2000.2.24 MKG Meeting
情報閲覧支援の例 アクセシビリティの実現 クライアントに適したデータの配信 携帯小型端末の支援 非対応サービスの閲覧 2000.2.24 MKG Meeting
情報閲覧支援システムのモデル クライアント指向モデル サーバ指向モデル プロクシモデル ↓ プロクシモデルの採用 データが最適化されずに送信される サーバ指向モデル サービスごとに対応する変換機能を持つ必要がある プロクシモデル サーバやクライアントの変更が必要ない ↓ プロクシモデルの採用 2000.2.24 MKG Meeting
情報閲覧支援システムの付加的機能 端末透過性とサービス透過性を実現するのに望ましい機能 動的適応性 機能拡張性 変換連結性 端末やサービスの環境変化への動的な対応 機能拡張性 新しい端末やサービスへの対応 変換連結性 組み合わせによる新たな変換の実現 2000.2.24 MKG Meeting
tranServiceの概要 プロクシモデル 3つのサブシステムによる構成 モジュール部の構成 端末モジュール部 変換モジュール部 サービスモジュール部 モジュール部の構成 モジュールコントローラ モジュール 2000.2.24 MKG Meeting
tranServiceの構成図 サービス 端末 要求C 応答C 要求S 応答S 2000.2.24 MKG Meeting 変換モジュール部 Controller 端末モジュール部 サービスモジュール部 変換モジュール部 要求C 応答C 要求S 応答S サービス 端末 2000.2.24 MKG Meeting
データソースの設計 コンテンツ コンテンツQoSプロファイル 端末QoSプロファイル サービスQoSプロファイル 要求または応答データ 2000.2.24 MKG Meeting
動作手順 クライアントからサーバへ Controller コンテンツ コンテンツ コンテンツQoS コンテンツQoS 端末QoS 動作手順 クライアントからサーバへ コンテンツ コンテンツQoS 端末QoS コンテンツ コンテンツQoS サービスQoS Controller 端末モジュール部 サービスモジュール部 変換モジュール部 2000.2.24 MKG Meeting
動作手順 サーバからクライアントへ Controller コンテンツ コンテンツ コンテンツQoS コンテンツQoS 端末QoS 動作手順 サーバからクライアントへ コンテンツ コンテンツQoS 端末QoS コンテンツ コンテンツQoS サービスQoS Controller 端末モジュール部 サービスモジュール部 変換モジュール部 2000.2.24 MKG Meeting
QoSプロファイルの設計 木構造のデータ 構造 端末またはサービスモジュール部で作成 変換モジュール部で変換モジュール決定のときに利用 データプロファイル プロトコルプロファイル QOS + DATA | + IMAGE | | + TBMP | | + COLOR=1 | | + DEPTH=0x02 | | + WIDTH=180 | | + HEIGHT=180 | + TEXT | + DEFAULT | + CHARSET=shift-jis + PROTOCOL + HTTP + VERSION=1.1 2000.2.24 MKG Meeting
変換 変換の分類 変換連結性 プロトコル変換 → サービス透過性 データ変換 → 端末透過性 text/html to audio/au プロトコル変換 → サービス透過性 データ変換 → 端末透過性 変換連結性 text/html to audio/au = text/html to text/plain + text/plain to audio/au 2000.2.24 MKG Meeting
実装 実装環境 実装モジュール JDK1.2 / Windows 98 端末モジュール 変換モジュール サービスモジュール HTTP 端末モジュール 変換モジュール HTTP to POP3 プロトコル変換モジュール text/html to text/plain データ変換モジュール サービスモジュール HTTP サービスモジュール POP3 サービスモジュール 2000.2.24 MKG Meeting
評価 定量的評価 システム全体の処理時間 モジュール数変化による処理時間 定性的評価 機能比較 2000.2.24 MKG Meeting
定量的評価 評価目的 測定個所 本システム内部のオーバヘッドの把握 モジュール数の違いによる影響の把握 2000.2.24 Controller 端末モジュール部 サービスモジュール部 変換モジュール部 F A B C G D E 2000.2.24 MKG Meeting
測定1: 全体的な処理時間 ボトルネック A: データ読み込み,QoSプロファイル作成 D: サーバからのデータ読み込み 2000.2.24 MKG Meeting
測定2: モジュール数変化による処理時間 線形近似式 モジュール処理時間 Tsum = 2.6 Num + 54 1.2msec/個 Texec = 1.9 Num + 1 Tcalc = 0.7 Num - 1 モジュール処理時間 1.2msec/個 モジュール検索時間 0.7msec/個 50 100 150 200 10 20 30 40 全体 モジュール処理 変換経路決定 モジュール数 (個) 処理時間 (msec) 2000.2.24 MKG Meeting
定性的評価 W M T D S サービス透過性 動的適応性 × ○ 機能拡張性 変換連結性 △ プラットフォーム独立性 端末透過性 W:WBI, M:KMSF-MCAP, T:TranSend, D:DeleGate, S:tranService 2000.2.24 MKG Meeting
まとめと今後の課題 端末およびサービス透過的な情報閲覧支援システム tranService の設計,実装,評価を行った 今後の課題 サービス透過性の実現 端末透過性の実現 今後の課題 連続メディアへの対応 モジュールのネットワーク透過機能 QoSプロファイルの互換性向上 システム全体のパフォーマンス向上 2000.2.24 MKG Meeting
デモンストレーション 小型携帯端末からの家電ネットワークの利用(i-mode端末デモ) 小型携帯端末を用いて を遠隔で行う. ネットワーク上の機器制御 環境情報の取得 を遠隔で行う. 2000.2.24 MKG Meeting
デモンストレーション内容 デモ1:i-mode端末による家電制御 デモ2:i-mode端末での遠隔監視(with tranService) 2000.2.24 MKG Meeting
デモンストレーションシステム構成 Internet Web Server Sensor Light Duonus i-mode DoCoMo Proxy Server Video Data Camera Video Server 2000.2.24 MKG Meeting
デモンストレーションビデオ 320x240 16bitColor JPEG 100x80 8bitGrayScale GIF 2000.2.24 MKG Meeting
以上です 2000.2.24 MKG Meeting
QoSプロファイルの例 (木構造) QOS + DATA | + IMAGE | | + TBMP | | + COLOR=1 | | + DEPTH=0x02 | | + WIDTH=180 | | + HEIGHT=180 | + TEXT | + DEFAULT | + CHARSET=shift-jis + PROTOCOL + HTTP + VERSION=1.1 2000.2.24 MKG Meeting
関連研究 Web Intermediaries (IBM Almaden Lab.) Webに特化,QoSプロファイルを考慮せず KMSF-MCAP (Keio KMSF Project) Webに特化 TranSend (U.C.Berkeley) サービス透過性のうち動的適応性は満たさず DeleGate (電総研) 動的適応性,変換連続性はなし 2000.2.24 MKG Meeting
変換ワーカモジュールの例 2000.2.24 MKG Meeting import jp.ac.keio.sfc.ht.tranService.*; public class TextHtmltoTextPlainTranslationModule extends TranslationWorkerModule { public TextHtmltoTextPlainTranslationModule() { // 変換形式はデータ変換. setTranslationType(TranslationServerModule.TRANSLATION_TYPE_DATA); // 入力形式は"text/html" setInputType(new MimeType("text", "html").toString()); // 出力形式は"text/plain" setOutputType(new MimeType("text", "plain").toString()); } public void execute() { try { // データソース待ち受け Data data = getNextData(); // ここで変換処理を行う. ... 省略 ... // データソース送信 sendData(data); catch(InterruptedException ie) { ... 省略 ... } 2000.2.24 MKG Meeting
端末サーバモジュールの例 2000.2.24 MKG Meeting import jp.ac.keio.sfc.ht.tranService.*; import java.net.*; public class TcpDeviceServerModule extends DeviceServerModule { private ServerSocket serverSocket; public TcpDeviceServerModule() { } public void initialize() { int port = 8088; try { serverSocket = new ServerSocket(port); } catch(IOException ioe) { ... 省略 ... } // 新しいスレッドを作って,待ち受けを行う. new InnerThread(serverSocket).start(); private class InnerThread extends Thread { ServerSocket serverSocket; Thread thread; InnerThread(ServerSocket serverSocket) { this.serverSocket = serverSocket; public void run() { while(true) { Socket socket = serverSocket.accept(); // acceptしたら,ワーカモジュールを作成して実行する. TcpDeviceWorkerModule module = (TcpDeviceWorkerModule)makeWorkerModule(); module.setSocket(socket); module.start(); ... 省略 ... 2000.2.24 MKG Meeting
端末ワーカモジュールの例 2000.2.24 MKG Meeting import jp.ac.keio.sfc.ht.tranService.*; import java.io.*; import java.net.*; public class HttpDeviceWorkerModule extends DeviceWorkerModule implements TcpDeviceWorkerModule { public HttpDeviceWorkerModule() { // プロトコルは"HTTP" setProtocolType("http"); } public void setSocket(Socket socket) { this.socket = socket; public void execute() { try { // クライアントからの読み込み ... 省略 ... // 各QoSプロファイルの作成 Data data = new DataImpl(); // サーバモジュールにデータソースを送る sendData(data); // サーバモジュールからデータソースを取得する data = getNextData(); // クライアントへの書き込み catch(Exception e) { ... 省略 ... } 2000.2.24 MKG Meeting
サービスワーカモジュールの例 2000.2.24 MKG Meeting import jp.ac.keio.sfc.ht.tranService.*; import java.io.*; import java.net.*; public class HttpServiceWorkerModule extends ServiceWorkerModule { public HttpServiceWorkerModule() { // プロトコルは"HTTP" setProtocolType("http"); } public void execute() { try { // サーバモジュールからデータソースを取得する Data data = getNextData(); // サーバへの書き込み ... 省略 ... // サーバからの読み込み // サーバモジュールにデータソースを送る sendData(data); catch(Exception e) { ... 省略 ... } 2000.2.24 MKG Meeting
image/gif to image/tbmp 変換モジュールの決定 QOS + DATA | + IMAGE | | + TBMP | | + COLOR=0 | | + DEPTH=0x02 | | + WIDTH=180 | | + HEIGHT=180 | + TEXT | + DEFAULT | + CHARSET=shift-jis + PROTOCOL + HTTP + VERSION=1.1 端末QoSプロファイル QOS + DATA | + IMAGE | + GIF | + COLOR=1 | + DEPTH=0xFF | + WIDTH=180 | + HEIGHT=180 + PROTOCOL + HTTP + VERSION=1.1 コンテンツQoSプロファイル QOS + DATA | + IMAGE | + TBMP | + COLOR=0 | + DEPTH=0x02 | + WIDTH=180 | + HEIGHT=180 + PROTOCOL + HTTP + VERSION=1.1 コンテンツQoSプロファイル 変換 コンテンツ コンテンツ image/gif to image/tbmp 2000.2.24 MKG Meeting
変換の種類 プロトコル変換 データ変換 例)POPからHTTPに,NNTPからSMTPに 種類の変換 形式の変換 品質の変換 例)テキストから音声に,動画から静止画に 形式の変換 例)GIFからBMPに,WAVからAIFFに 品質の変換 例)画像のサイズや色震度,動画のフレーム数 2000.2.24 MKG Meeting
変換連続性 変換モジュールをいくつも組み合わせることで,変換の種類を増やす text/html audio/aiff text/html to text/plain audio/au to audio/aiff text/html text/plain to audio/au audio/aiff 2000.2.24 MKG Meeting