Presentation is loading. Please wait.

Presentation is loading. Please wait.

ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装

Similar presentations


Presentation on theme: "ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装"— Presentation transcript:

1 ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
東京工業大学 千葉研究室 学部4年  須永 豊

2 ユビキタスコンピューティング 背景 シームレスなデバイス環境 - プラグアンドプレイ シームレスなネットワーク環境 - ハンドオーバー機能
ユビキタスコンピューティング   背景 シームレスなデバイス環境 - プラグアンドプレイ 周囲のコンピュータが動的に作業環境を構築 シームレスなネットワーク環境 - ハンドオーバー機能 通信を継続したままネットワークを切り替え 動的に切り替え Office McDonald etc…

3 ハンドオーバー機能とは 突然の通信断に対処 現状ではそれぞれのアプリケーションに 個別に実装されている 通信再開後、支障なく処理を再開
プログラムの移動 環境A 環境B 再開 ケーブル引き抜き 現状ではそれぞれのアプリケーションに 個別に実装されている

4 HORMIの提案 ハンドオーバー機能付きRMI ミドルウェアで実現 メソッド呼び出しが完了するまでretry
サーバオブジェクトの移動 環境A RMI RMI ケーブル引き抜き 環境B retry メソッド呼び出しが完了するまでretry 通信再開後、近くのサーバへオブジェクトの移動

5 HORMIの基本プロトコル client server メソッド呼び出しのリクエスト IDを振る IDを送信 ID取得
メソッドのパラメータの送信 ローカルで メソッド実行 結果を 保存する 結果の送信

6 メソッド呼び出しの retry 機能 失敗したら再呼び出し 二重実行の防止 通信断はSocketExceptionで検出
呼び出し毎に一意なIDを振り、結果を保存 再接続時の処理 メソッド実行済みの時 → 結果のみを再送 メソッド未実行の時 → メソッド呼び出しの再実行

7 通信断時のプロトコル client server メソッド呼び出しのリクエスト IDを送信 引数等の送信 結果の送信 メソッド呼び出し
の再実行の流れ 引数等の送信 切断される タイミング 結果の送信

8 不要になった実行結果の破棄 不要になった実行結果: メソッド呼び出しが正常に終了している
そのメソッド呼び出しに対して、retryは行われない client server IDを送信 結果を消してよい メソッド呼出しのIDを 調べる パラメータと一緒に そのIDを送信 ID取得後、不要な結果を破棄 マルチスレッドを考慮して決定

9 通信再開後、指定したマシンにサーバプログラムを移動
サーバオブジェクトのマイグレーション 通信再開後、指定したマシンにサーバプログラムを移動 オブジェクトの直列化 スレッド移送は行わない オブジェクトの送信 必要なデータを    要求 切断 retry

10 HORMIの実装 Stub generator ハンドオーバーのプロトコルを埋め込んだstubコードを自動生成
skeltonはリフレクションを用い、すべてのstubに対応 Code translator 起動クラスのマスタクラスへの参照をstubクラスへと置き換え Public class Launcher { void start() { Sample s = new Sample(); .. } SampleStub s = new SampleStub();

11 引数のサイズによるメソッド呼び出しにかかる時間
実験 表1  1回あたりのメソッド呼び出しにかかる時間 (単位 msec) OS JavaRMI ハンドオーバー無しHORMI HORMI LINUX 2.19 4.67 40.4 WINDOWS 1.90 4.31 4.70 JavaRMI、ハンドオーバー機能を取り除いたHORMI、HORMIを用いて比較実験を行った 実験環境 OS : LINUX(Red Hat 7.0) PENTIUMⅢ733MHZ SDRAM 512MB OS : WINDOWS XP HomeEdition PENTIUMⅢ700MHZ SDRAM 256MB 表2    引数のサイズによるメソッド呼び出しにかかる時間 (単位 msec/回数)LINUXを使用 JavaRMI ハンドオーバー無しHORMI HORMI 0 byte 2.19 4.67 40.4 1 kbyte 2.55 4.95 40.5 0.1 Mbyte 15.34 15.92 41.8 1 Mbyte 166 141 140 サイズ

12 まとめ 課題 HORMI:ハンドオーバー機能付き RMI 性能の向上 入出力の問題 サーバの自動的な切り替え機能
メソッド呼び出しの retry 機能 突然の通信断に対処 サーバオブジェクトの移動 Stubの自動生成 課題 性能の向上 通信部の改良 入出力の問題 Javaプログラム以外のファイルも扱うプログラムに対する対処 使用しているファイルの移動も行う機能の追加 サーバの自動的な切り替え機能 ネットワークの状況を検知し、自動的にホストを選択する機能の追加


Download ppt "ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装"

Similar presentations


Ads by Google