MobileRMI: upgrading Java remote method invocation towards mobility
Code mobility is recognized as a promising design technique, able to improve flexibility, adaptability and bandwidth utilization in mobile computing applications. To promote and facilitate its use, researchers argue that code mobility should be made available to programmers in combination with, and not as an alternative to, more traditional programming models. This paper describes the design and implementation of the MobileRMI toolkit which, unlike agent-based systems, enables mobility-based programming within a widely accepted middleware platform, Java Remote Method Invocation (RMI). Our toolkit provides a set of mobility primitives that allow programmers to create, clone and move remote objects across a network. To preserve location transparency we implemented a novel, efficient scheme for automatically updating remote references by exploiting the distributed garbage collector. Programming examples are given and a case study where an adaptive application uses logical mobility to minimize communication over a mobile ad hoc network is presented. Experience from using MobileRMI confirmed the benefit of designing both static and mobile applications within the same programming framework. Copyright (c) 2005 John Wiley & Sons, Ltd.
code mobility mobile computing java rmi distributed object middleware mobile agents