Skip to main content

Portable Support for Transparent Thread Migration in Java

  • Conference paper
Agent Systems, Mobile Agents, and Applications (ASA 2000, MA 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1882))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Google Scholar 

  2. 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)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. Mitsubishi Electric, Concordia online information, http://www.meitca.com/HSL/Projects/Concordia

  6. Lindholm, T., Yellin, F.: The Java Virtual Machine Specification. Addison-Wesley, Reading (1996)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. Dahm, M.: Byte Code Engineering. In: Cap, C. (ed.) Proceedings JIT (1999)

    Google Scholar 

  9. Robben, B.: Language Technology and Metalevel Architectures for Distributed Objects. Phd KULeuven (1999) ISBN 90-5682-194-6

    Google Scholar 

  10. 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

  11. Ranganathan, M., Acharya, A., Sharma, S.D.: Network-aware Mobile Programs. In: Proceedings of the USENIX Annual Technical Conference, Anaheim, California (1997)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics