Mogul:位置透過型分散ツールキットライブラリ

Mogul:位置透過型分散ツール
キットライブラリ
中澤 仁
慶応大学政策・メディア研究科
研究目的

当初の研究目的
– 昨年の秋からスタート
– 情報共有システム、CSCWアプリケーション構築
へのアプリケーションモビリティの応用
• 回覧板アプリケーション
• ○○予約システム

現在の研究目的
– モバイルアプリケーションの設計・実装における
問題点を明らかにしその解決策を提示すること
設計目標

モバイルアプリケーション構築の簡略化
– 可変粒度のモビリティ
– ホスト位置透過性
– 柔軟なプログラマビリティ

他のシステムや言語と比較して
– モバイルアプリケーション構築が容易
– モビリティサポートに関するコード追加は不必要
– モビリティサポートに起因するバグを減少
機能概要

GUIのホスト間移動が可能なJavaライブラリの実現
– 全てのウィジェットはコード変更を伴わずに移動可能
– java.awt.Componentのサブクラス1個から移動可能
– Panel、Frame等を用いて大粒度の移動も可能

ウィジェットに対する以下の操作が可能
– move,copy
– create,delete
– save,restore
ネットワーク接続ホスト間での移動、複製
遠隔ホスト上でのインスタンス作成、消去
ディスクを介した永続化
詳細については...
中澤他、“Mogul:位置透過型分散共有ツールキットライブラリ”、情報
処理学会OS研究会、沖縄、1998年5月
実現手法

ソフトウエア構成
– java.awt.Componentの代替クラス
– ウィジェットのホスト間移動機構他を持つサーバプログラム
– ユーザによるウィジェット操作手段としてのコマンド群
Component
技術的課題

ホスト間での計算機環境差・性能差への適応
– CPU、メモリ、ディスク、ディスプレイなどの物理的側面
– スケジューリングポリシ、ファイルシステムなどの環境的側面
– タイムゾーン、時刻や金額の表示形式などの論理的側面

ホスト位置に依存する資源・データへの継続アクセス
– ファイルディスクリプタ、ソケットディスクリプタ

移動不可能なオブジェクトの取り扱い
– java.awt.Image、java.lang.Thread、java.io.*
スケジュール

今年度スケジュール
– モバイルコード技術に関する基礎調査と問題認
識
– 技術的課題解決へ向けたフレームワークの確定
– 基礎部分の実装

来年度スケジュール
– フレームワークに基づいた全体システムの構築
– SMAFプロジェクトとしてAgentSpaceとの共存?
現在の進捗状況

DONE
– 基礎部分の実装(JDK1.1.6ベース)
• 移動ウィジェット
• サーバ
• コマンド(move、copy、list)

GOING
– モバイルコードに関する基礎調査と問題認識
– フレームワーク
デモの内容
サンプルコードをコンパイル
 クラスパスを変更し、実行
 表示されたウィンドウを遠隔ホストに移動
 もう一度もとのホストに移動

サンプルコード
import java.awt.*;
public class Kairan extends Frame{
private TextArea ta;
public Kairan(){
Label l = new Label("\u56de\u89a7\u677f");
ta = new TextArea(5, 30);
add("North", l);
add("Center", ta);
}
public void setMessage(String msg){
ta.setText("");
ta.setText(msg);
}
public static void main(String argv[]){
Kairan k = new Kairan();
k.setMessage(“\u3053\u3093\u306b\u3061\u306f\u3002\n\u56de\u89a7\u677f....以下省略 ");
k.pack();
k.show();
}
}
まとめ

モバイルアプリケーション記述ライブラリ
Mogulを開発している
– 既存アプリケーションコードの変更が不必要
– 自由な粒度でアプリケーションを移動可能

技術的課題
– 移動に伴う計算機環境の変化
– ホスト位置依存データ

デモ