Transparent Migration of Mobile Agents Using the Java Platform Debugger Architecture

In this paper we describe a transparent migration of mobile agents in Java using the Java Platform Debugger Architecture (JPDA). The JPDA allows debuggers to access and modify runtime information of running Java applications. In the context of mobile agents, the JPDA can be used to capture and restore the state of a running program. Since JPDA does not support to set the program counter, we introduce two different solutions to solve this. We either slightly modify the virtual machine or instrument some byte code instructions. Finally we measure the produced overhead in code and time compared to normal execution and other approaches addressing this problem. Altogether, we show that developing Java-based mobile agents with a transparent migration can be performed nearly without changing the source code, the byte code or the interpreter.