A Simple Extension of Java Language for Controllable Transparent Migration and its Portable Implementation
A scheme has been developed that enables a Java program to be migrated across computers while preserving its execution state, such as the values of local variables and the dynamic extents of try-and-catch blocks. This scheme provides the programmer with exible control of migration, including transparent migration. It is based on source-code-level transformation. The translator takes as input code a Java program written in a Java language extended with language constructs for migration, and outputs pure Java source code that uses JavaRMI. The translated code can run on any Java interpreter and can be compiled by any just-in-time compiler.We have measured some execution performance for several application programs, and found that the translated programs are only about 20% slower than the original programs. Because migration is completely controlled by using only three language constructs added to the Java language (go, undock and migratory), the programmer can write programs to be migrated easily and succinctly. Our system is available in the public domain.
Unable to display preview. Download preview PDF.
- 1.Krishna A. Bharat and Luca Cardelli. Migratory Applications. In Proceedings of the 8th Annual ACM Symposium on User Interface Software and Technology, 1995.Google Scholar
- 4.Bjorn N. Freeman-Benson, John Maloney, and Alan Borning. An Incremental Constraint Solver. In CACM, volume 33(1), pages 54–63, 1990.Google Scholar
- 5.Stefan Fünfrocken. Transparent Migration of Java-Based Mobile Agents. In MA’98 Mobile Agents, 1477, Lecture Notes in Computer Science, pages 26–37, 1998.Google Scholar
- 6.General Magic Inc. Telescript Programming Guide. Version 1.0 alpha 2, 1996.Google Scholar
- 7.Robert S. Gray. Agent Tcl: A Transportable Agent System. In Proceedings of the CIKM Workshop on Intelligent Information Agents, 1995.Google Scholar
- 8.Guy SteeleJr. Common LISP: The Language. Digital Press, 1984.Google Scholar
- 9.Danny B. Lange and Daniel T. Chang. IBM Aglets Workbench: A White Paper, 1996. IBM Corporation.Google Scholar
- 10.Voyager core package technical overview, 1997. ObjectSpace Inc.Google Scholar
- 11.Tatsurou Sekiguchi and Akinori Yonezawa. A Calculus with Code Mobility. In Proceedings of Second IFIP International Conference on Formal Methods for Open Object-based Distributed Systems, pages 21–36. Chapman & Hall, 1997.Google Scholar
- 12.Tatsurou Sekiguchi. JavaGo, 1998. http://web.yl.is.s.u-tokyo.ac.jp/amo/.
- 13.Kazuyuki Shudo. Thread Migration on Java Environment. Master’s Thesis, University of Waseda, 1997.Google Scholar
- 15.Sun Microsystems Laboratories. Benchmarking Java with Richards and DeltaBlue. http://www.sunlabs.com/people/mario/java benchmarking/index.html.
- 16.TakuoWatanabe. Mobile Code Description using Partial Continuations: Denfiition and Operational Semantics. In Proceedings of WOOC, 1997.Google Scholar
- 17.James E. White. Telescript Technology: An Introduction to the Language, 1995. General Magic white paper.Google Scholar
- 18.James E. White. Mobile Agents. In Jeffrey Bradshaw, editor, Software Agents. The MIT Press, 1996.Google Scholar