Abstract
In this paper, we present a mechanism to capture and reestablish the state of Java threads. We achieve this by extracting a thread’s execution state from the application code that is executing in this thread. This thread serialization mechanism is implemented by instrumenting the original application code at the byte code level, without modifying the Java Virtual Machine. We describe this thread serialization technique in the context of middleware support for mobile agent technology. We present a simple execution model for agents that guarantees correct thread migration semantics when moving an agent to another location. Our thread serialization mechanism is however generally applicable in other domains as well, such as load balancing and checkpointing.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Liang, S., Bracha, G.: Dynamic Class Loading in the Java Virtual Machine. In: Proceedings of the Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 1998), pp. 36–44 (1998)
Straßer, M., Baumann, J., Hohl, F.: Mole - A Java based Mobile Agent System. In: Mühlhäuser, M. (ed.) Special Issues in Object Oriented Programming, pp. 301–308 (1997)
Berbers, Y., De Decker, B., Joosen, W.: Infrastructure for mobile agents. In: Proceedings of the Seventh ACM SIGOPS European Workshop: System Support for Worldwide Applications, pp. 173–180 (1996)
Fünfrocken, S.: Integrating Java-based Mobile Agents into Web Servers under Security Concerns. In: Proceeding of the IEEE Hawai’i International Conference on System Sciences (1998)
Mitsubishi Electric, Concordia online information, http://www.meitca.com/HSL/Projects/Concordia
Lindholm, T., Yellin, F.: The Java Virtual Machine Specification. Addison-Wesley, Reading (1996)
Fünfrocken, S.: Transparent Migration of Java-based Mobile Agents (Capturing and Reestablishing the State of Java Programs). In: Rothermel, K., Hohl, F. (eds.) Proceedings of the Second International Workshop on Mobile Agents (MA 1998), pp. 26–37 (1998)
Dahm, M.: Byte Code Engineering. In: Cap, C. (ed.) Proceedings JIT (1999)
Robben, B.: Language Technology and Metalevel Architectures for Distributed Objects. Phd KULeuven (1999) ISBN 90-5682-194-6
Truyen, E., Matthijs, F., Joosen, W., Vanhaute, B., Robben, B., Slootmaekers, R., Verbaeten, P.: Supporting Object Mobility - from Thread Migration to Dynamic Load Balancing. Demonstration at OOPSLA’99 (Correlate v3.3, Java prototype), http://www.cs.kuleuven.ac.be/~eddy/PUBLICATIONS/OOPSLADemoProceed.ps
Ranganathan, M., Acharya, A., Sharma, S.D.: Network-aware Mobile Programs. In: Proceedings of the USENIX Annual Technical Conference, Anaheim, California (1997)
Peine, H., Stolpmann, T.: The architecture of the ara platform for mobile agents. In: Proceedings of the Second International Workshop on Mobile Agents, MA 1997 (1997)
Bouchenak, S.: Pickling threads state in the Java system. In: Proceedings of the third European Research Seminar on Advances in Distributed Systems, ERSADS 1999 (1999)
Sekiguchi, T., Masuhara, H., Yonezawa, A.: A Simple Extension of Java Language for Controllable Transparent Migration and its Portable Implementation. In: Ciancarini, P., Wolf, A.L. (eds.) COORDINATION 1999. LNCS, vol. 1594, pp. 211–226. Springer, Heidelberg (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Truyen, E., Robben, B., Vanhaute, B., Coninx, T., Joosen, W., Verbaeten, P. (2000). Portable Support for Transparent Thread Migration in Java. In: Kotz, D., Mattern, F. (eds) Agent Systems, Mobile Agents, and Applications. ASA MA 2000 2000. Lecture Notes in Computer Science, vol 1882. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45347-5_4
Download citation
DOI: https://doi.org/10.1007/978-3-540-45347-5_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41052-2
Online ISBN: 978-3-540-45347-5
eBook Packages: Springer Book Archive