With the recent developments in wireless networks (Wavelan, Bluetooth) and the sales of mobile computers of any kind (such as laptopcomputers, Personal Digital Assistants (PDAs), mobile phones etc.) soaring, we are experiencing the availability of increasinglypowerful mobile computing environments that can roam across different types of networks. We have also recently witnessed theacceptance of Logical Mobility (LM) techniques, or the ability to ship part of an application or even a complete process from onehost to another. The increasing popularity of the Java programming language and environment has largely been correlated with theacceptance of logical mobility techniques, due to the inherent code mobility infrastructure that Java provides. As such, LM techniqueshave been successfully used to enhance a user?s experience (Java Applets), to dynamically update an application (Anti-Virus softwareetc.), to utilise remote objects (RMI, Corba, etc), to distribute expensive computations (Distributed.net) etc. Whereas various mobilemiddleware systems have been developed, the use of logical mobility in those systems has been very limited. The purpose of thiswork is to investigate the use of logical mobility in mobile computing environments, our hypothesis being that it can bring tangiblebenefits to both application engineers and users which cannot be supported by the current state of the art. In particular, we wish totackle software, hardware and application heterogeneity as well as environment dynamicity (service discovery and advertising) inmobile environments, using LM techniques. The use of LM techniques would also allow for more efficient use of peer and localresources and overall would advance us further towards ubiquitous computing and self-healing applications, by allowing for a greaterdegree of adaptability, dynamicity and reaction to context.Current research into this area can be roughly split into two categories: Approaches which use LM to provide reconfigurabilityin the mobile computing middleware itself, allowing applications to interact with services provided by heterogeneous platforms andmiddleware systems and approaches that use particular paradigms of LM to provide a particular form of functionality to applications.Examples of the first category include ReMMoC and UIC. Examples of the second category include Lime, PeerWare andJini. The main problem we find with these approaches is that they are not flexible enough: Despite offering innovative solutions,their use of LM is limited to solving problems of a limited scope
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.