Abstract
In this paper we present a mechanism for serializing the execution-state of a distributed Java application that is implemented on a conventional Object Request Broker (ORB)architecture such as Java Remote Method Invocation (RMI).To support capturing and reestablishment of distributed execution-state,we developed a byte code transformer that adds this functionality to a Java application by extracting execution-state from the application code.An important benefit of the serialization mechanism is its portability.It can transparently be integrated into any legacy Java application.Furthermore,it does require no modifications to the Java Virtual Machine (JVM)or to the underlying ORB.The serialization mechanism can serve many purposes such as migrating execution-state over the network or storing it on disk.In particular,we describe the implementation of a prototype for repartitioning distributed Java applications at runtime.Proper partitioning of distributed objects over the different machines is critical to the global performance of the distributed application.Methods for partitioning exist, and employ a graph-based model of the application being partitioned. Our serialization mechanism enables then applying these methods at any point in an ongoing distributed computation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abu, M., Ben-Shaul, I.:A Multi-Threading model for Distributed Mobile Objects and its Realization in FarGo.In:Proceedings of ICDCS 2001,The 21st International Conference on Distributed Computing Systems,April 16–19,2001,Mesa, AZ,pp.313–321.
Bouchenak, B.:Pickling threads state in the Java system.In:Proceedings of ER-SADS 1999,Third European Research Seminar on Advances in Distributed Systems,April 1999,Madeira Island,Portugal.
Clark, R., Jensen, D.E., Reynolds, F.D.:An Architectural Overview of the Alpha Real-time Distributed Kernel.In:Proceedings of the USENIX Workshop,In 1993 Winter USENIX Conf.,April 1993,pp.127–146.
Dahm, M.:Byte Code Engineering.In:Proceedings of JIT’ 99,Clemens Cap ed.,Java-Informations-Tage 1999,September 20–21,1999,Düsseldorf,Germany, pp.267–277.
Dahm, M.:The Doorastha system.Technical Report B-I-2000,Freie Universitat Berlin,Germany (2001).
Funfrocken, S.:Transparent Migration of Java-based Mobile Agents.In:Proceedings of the 2e International Workshop on Mobile Agents 1998,Lecture Notes in Computer Science,No.1477,Springer-Verlag, Stuttgart, Germany,September 1998,pp.26–37.
Nwosu, K.C.:On Complex Object Distribution Techniques for Distributed Systems.In:Proceedings of the 6th International Conference on Computing and Information,ICCI’ 94,Peterborough, Ontario, Canada,May 1994,(CD-ROM).
ObjectSpace,Inc.:VOYAGER,Core Technology 2.0. http://www.objectspace.com/products/voyager/(1998).
Robben, B.:Language Technology and Metalevel Architectures for Distributed Objects.Ph.D thesis,Deartement of Computer Science, K.U.Leuven,Belgium, ISBN 90-5682-194-6,1999.
Sakamoto, T., Sekiguchi, T., Yonezawa, A.:Bytecode Transformation for Portable Thread Migration in Java.In:Proceedings of the Joint Symposium on Agent Systems and Applications /Mobile Agents (ASA/MA),Lecture Notes in Computer Science 1882,Springer-Verlag, ETH Zürich,Switzerland,September 13–15, 2000, pages 16–28.
Shu, W., Wu, M.:An Incremental Parallel Scheduling Approach to Solving Dynamic and Irregular Problems.In:Proceedings of the 24th International Conference on Parrallel Processing,Oconomowoc,WI,1995,pages II:143–150.
Tatsubori, M., Sasaki, T., Chiba, S., Itano, K.:A Bytecode Translator for Distributed Execution of Legacy Java Software.In:Proceedings of the 15th European Conference on Object Oriented Programming (ECOOP 2001),Lecture Notes in Computer Science 2072,Springer-Verlag, Budapest,Hungary,June 18–22,2001, pp.236–255.
Truyen, E., Robben, B., Vanhaute, B., Coninx, T., Joosen W., Verbaeten, P.: Portable Support for Transparent Thread Migration in Java.In:Proceedings of the Joint Symposium on Agent Systems and Applications /Mobile Agents (ASA/MA), Lecture Notes in Computer Science 1882,Springer-Verlag, ETH Zürich, Switzerland, September 13–15, 2000,pages 29–43.
Truyen, E., Vanhaute, B., Robben, B., Matthijs, F., Van Hoeymissen, E., Joosen, W., Verbaeten, P.:Supporting Object Mobility-from thread migration to dynamic load balancing.OOPSLA’ 99 Demonstration, November’ 99,Denver,USA,1999.
Tao, W.:A Portable Mechanism for Thread Persistence and Migration.PhD thesis, University of Utah,http://www.cs.utah.edu/tao/research/index.html,2001.
Weyns, D., Truyen, E., Verbaeten, P.:Distributed Threads in Java.In:Proceedings of the International Symposium on Distributed and Parallel Computing,ISDPC’ 02,Iasi,Romania July, 2002,pp.94–104.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Weyns, D., Truyen, E., Verbaeten, P. (2003). Serialization of Distributed Execution-State in Java. In: Aksit, M., Mezini, M., Unland, R. (eds) Objects, Components, Architectures, Services, and Applications for a Networked World. NODe 2002. Lecture Notes in Computer Science, vol 2591. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36557-5_6
Download citation
DOI: https://doi.org/10.1007/3-540-36557-5_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00737-1
Online ISBN: 978-3-540-36557-0
eBook Packages: Springer Book Archive