モバイルエージェントとは、コンピュータ間の移動性を持つプログラムである。JavaのAppletや MicrosoftのActiveXの様にプログラムコードだけが移動されて移動先で初期状態から実行されるものとは異なり、モバイルエージェントはひと つのコンピュータで実行している自分自身の状態を記録し、他のコンピュータにて引き続いて実行を行う。つまりモバイルエージェントの移動は、プログラム コードとともに変数などといったプログラムの実行状態を持った状態での移動となる。また、モバイルエージェントは自律的に他のコンピュータに移動し、移動 先の計算機リソースを利用可能である。これらの特質より、モバイルエージェントは以下のような利点を有することが可能となる。
-
コンピュータ間通信の削減
移動先のコンピュータで実行し、その場の計算機リソースを利用しその場のプログラムとのローカルな通信を行うことにより、ネットワークトラフィックを増加させる通信データを軽減させることができる。
-
非同期実行
移動先と移動元で同時に実行している必要はないため、たとえばモバイルエージェントを移動させた後は電源を切り、何らかの結果を持って帰ってくるときにだけ電源を入れて受け入れを行うなどという利用方法が可能である。
-
移動後の通信切断が可能
移動先のリソースを使用するため、モバイルエージェントの移動後に通信回線を切断しても不都合がない。携帯電話やダイアルアップ通信などでネットワーク接続している場合、通信費用を抑えることが可能である。
-
並列実行が可能
モバイルエージェントをコピーして複数のコンピュータ上で並列実行させることにより、大量のデータ処理を効率的に行わせることが可能となる。
-
負荷分散が可能
同様にモバイルエージェントをコピーして複数のコンピュータで実行させることで負荷分散が可能となる。また実行中のコンピュータの負荷状態を調べることで、負荷が高いコンピュータから負荷の低いコンピュータまたはより処理能力の高いコンピュータに移動をさせるということも可能になる。またクライアントサーバシステムと異なり、特定のコンピュータに負荷が集中するということもない。
-
プラットフォーム独立
モバイルエージェント実行環境を新たに構築することにより、ハードウェアやOS に依存することなく処理させることができる。
本研究では、このモバイルエージェントの特性に着目し、セキュリティ分野への応用例を探る。