Transparent migration of Java-based mobile agents: Capturing and re-establishing the state of Java programs

In this paper we describe a way to save and restore the state of a running Java program. We achieve this on the language level, without modifying the Java virtual machine, by instrumenting the programmer's original code with a preprocessor. The automatically inserted code saves the runtime information when the program requests state saving and re-establishes the program's runtime state on restart. The current preprocessor prototype is used in a mobile agent scenario to offer transparent agent migration for Java-based mobile agents, but could generally be used to save and re-establish the execution state of any Java program.

[1]  Fritz Hohl,et al.  Mole – Concepts of a mobile agent system , 1999, World Wide Web.

[2]  Fred Douglis,et al.  Transparent process migration: Design alternatives and the sprite implementation , 1991, Softw. Pract. Exp..

[3]  Holger Peine,et al.  The Architecture of the Ara Platform for Mobile Agents , 1999, Mobile Agents.

[4]  Joel H. Saltz,et al.  Network-aware mobile programs , 1997 .

[5]  Robert S. Gray,et al.  Agent Tcl: A transportable agent system , 1995, CIKM Information Agents Workshop.

[6]  S. Funfrocken,et al.  How to integrate mobile agents into Web servers , 1997, Proceedings of IEEE 6th Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises.

[7]  Jonathan M. Smith,et al.  A survey of process migration mechanisms , 1988, OPSR.

[8]  M SmithJonathan A survey of process migration mechanisms , 1988 .

[9]  Miguel Mira da Silva,et al.  Mobility and Persistence , 1996, Mobile Object Systems.