Exploiting Transiently Shared Tuple Spaces for Location Transparent Code Mobility
Code mobility greatly improves the flexibility of the architecture of a distributed application. However, currently available platforms do not exploit fully the potential of mobile code. For instance, remote dynamic linking of code is often restrained to a well-known site, and applications are prevented from manipulating their own code base. In this paper, we use the notion of transiently shared tuple space, originally introduced in the Lime coordination model, to overcome these limitations. We allow tuples to contain classes, and tuple spaces become the code base associated to the loading mechanism in the mobile code runtime support. Transient sharing allows for location transparent retrieval of classes, and accommodates changes determined by the reconfiguration of the system, e.g., due to mobility. In doing this, we effectively define a new coordination approach that deals uniformly with code and data. The presentation is completed by a proof-of-concept prototype, built by extending an existing Java-based mobile code toolkit.
KeywordsMobile Agent Mobile Host Code Base Mobile Unit Code Fragment
Unable to display preview. Download preview PDF.
- 1.T. Berners-Lee, R. Fielding, and L. Masinter. Uniform Resource Identifiers (URI): Generic Syntax. IETF Network Working Group, RFC 2396, August 1998.Google Scholar
- 2.C. Bryce, M. Oriol, and J. Vitek. Secure object spaces: A coordination model for agents. In Proc. of COORDINATION’99, LNCS 1594, pages 4–20. Springer, 1999.Google Scholar
- 3.N. Busi and G. Zavattaro. Some Thoughts on Transiently Shared Tuple Spaces. In Proc. of Workshop on Software Engineering and Mobility, co-located with the 23rd Int. Conf. on Software Engineering (ICSE01), May 2001.Google Scholar
- 4.B. Carbunar, M.T. Valente, and J. Vitek. Lime Revisited—Reverse Engineering an Agent Communication Model. In Proc. of the 5th Int. Conf. on Mobile Agents (MA 2001), LNCS 2240, pages 54–69. Springer, December 2001.Google Scholar
- 6.Ad Astra Engineering. Jumping BeansWeb page. http://www.jumpingbeans.com.
- 9.C.G. Harrison, D.M. Chess, and A. Kershenbaum. Mobile Agents: Are they a good idea? In J. Vitek and C. Tschudin, editors, Mobile Object Systems: Towards the Programmable Internet, LNCS 1222, pages 25–47. Springer, April 1997.Google Scholar
- 10.IBM Research. TSpaces Web page. http://www.almaden.ibm.com/cs/TSpaces.
- 11.D.B. Lange and M. Oshima, editors. Programming and Deploying Java Mobile Agents with Aglets. Addison-Wesley, 1998.Google Scholar
- 12.M. Corson, J. Macker, and G. Cinciarone. Internet-Based Mobile Ad Hoc Networking. Internet Computing, 3(4), 1999.Google Scholar
- 13.A.L. Murphy, G.P. Picco, and G.-C. Roman. Lime: A Middleware for Physical and Logical Mobility. In Proc. of the 21st Int. Conf. on Distributed Computing Systems (ICDCS-21), pages 524–533, May 2001.Google Scholar
- 14.G.P. Picco. μCode: A Lightweight and Flexible Mobile Code Toolkit. In Proc. of Mobile Agents: 2nd Int. Workshop MA’98, LNCS 1477, pages 160–171. Springer, September 1998.Google Scholar
- 15.G.P. Picco, A.L. Murphy, and G.-C. Roman. Lime: Linda Meets Mobility. In Proc. of the 21st Int. Conf. on Software Engineering (ICSE’99), pages 368–377, May 1999.Google Scholar
- 16.M. Straßer, J. Baumann, and F. Hohl. Mole—A Java Based Mobile Agent System. In M. Mühlaüser, editor, Special Issues in Object-Oriented Programming: Workshop Reader of the 10th European Conf. on Object-Oriented Programming ECOOP’96, pages 327–334. dpunkt, July 1996.Google Scholar
- 17.Sun Microsystems. JavaSpaces Web page. http://java.sun.com/products/javaspaces.
- 18.Sun Microsystems. Jini Web page. http://www.sun.com/jini.