ネットワーク上の多様な動作環境において自律的に移動できるMobile Agent の研究

河原 正文 (9651201)


Mobile Agentは、ネットワーク経由でホスト間を移動して、データ収集/登録などを行ない、帰還することができるオブジェクトプログラムである。Mobile Agentは、プログラムコード、データなどを移動可能なオブジェクトとしてカプセル化した構造を持つ。

モーバイルコンピュータの利用が増加するにつれて、断続的なネットワーク接続によって情報の収集や登録を行なうことが増えてきた。その場合、電話回線を利用することが多いため、通信接続の信頼性に問題が生じることがある。また、インターネットの利用者が増加しているので、必要以上にトラフィックを増やさないで利用することも必要である。これらの課題解決のための手段として研究されているのが、Mobile Agentである。

Mobile Agentは、各々の研究ごとにAgent Platformの仕様が異なるため、専用のAgent Platformが実装されているホスト同士の間だけで、移動が可能という課題をもつ。従来の研究において、この課題を解決したものはなく、また、解決にむけて行なわれた研究もなかった。

本研究では、課題解決のために以下の研究目的を設定した。
(1)Mobile Agentの移動のために、同一仕様のAgent Platformをインターネット上の任意のホストに実装する手法を整備する。
(2)自律的な移動のために、Agent Platformのある任意の移動先を選択判断できるように、移動先のリストをインターネット上に構築して利用するシステムを設計する。

(1)の目的を実現するために、Javaで新規に開発したAgent Platformを、JDKの実装や更新と同時にホストに実装する手法を考案した。Java環境とAgent Platformから構成されたディレクトリ構造をもつ新規のJDKファイルを用いて、JVM、Agent Platformなどの環境をホスト内に実装させた後、Mobile Agent環境のブートプログラムによって、Javaのrmiregistry機能、および、Agent Platformをバックグラウンドで動作を開始させた。この手法によって、インターネットに接続されているホストを、JDKの実装と同時に、共通仕様のAgent Platformが動作する状態に置くことができるため、従来研究における、専用Platformの制約を取り払うことができた。

次に、(2)の目的を実現するために、実装先のホスト名をJavaのInetAddressクラスを用いて取得し、移動先情報(url)を構成して、インターネット上で協同利用する「特定ホスト」に対して、RMI(遠隔メソッド呼出)を使って送信する機能をもつ「Resident(常駐型)Agent」を考案した。Resident Agentもバックグラウンド動作を行ない、Mobile Agentの移動先リストを、この特定ホスト内に、Hashtableクラス構造を用いて生成する。他のローカルホストのMobile Agentは、この移動先リストをRMIで入手し、内部にカプセル化して移動する。Mobile Agentは、移動先のホストにおいても、最新の移動先リストをこの特定ホストから入手できるので、自分のもつ移動経路の情報を動的に更新することができる。これにより、インターネット上を自律的に移動できるMobile Agentシステムの開発環境を提示することができた。

今後の応用研究として、電子透かし情報をもつデータ探索の技術との融合によって、個人データの不正使用を発見するMobile Agentの開発が有効であると考える。