Abstract
Pervasive and mobile computing environments have been proven to differ from the usual workstation internet-enabled environment. A major challenge of pervasive computing is to dynamically distribute computational demanding applications, from a wireless mobile device to local compute servers that act as mediators and are willing to execute incoming applications, for the benefits of the user ("cyber foraging"). However, this approach has to address the issues of generated data traffic and availability of such local compute servers. Regarding data traffic, the current approach is that the requester of an interaction moves to the provider of a service. This thesis shows that such an approach is not suitable for all interactions. Regarding availability, system users and administrators may introduce mobility constraints to enforce mobility policies that conform to their application requirements. Thus, the probability of servers able to host an interaction decreases. A Mobility Decision System (MoDeS) has been designed which combines three novel algorithms and protocols to address the aforementioned issues. The system introduces a novel approach to mobility by using different mobility patterns. These patterns are chosen dynamically, depending on the characteristics and requirements of each interaction, in order to minimise the data-traffic. Also, by decoupling interaction from mobility and taking into account server and agent constraints, MoDeS finds all the ways that each interaction can be implemented thus increasing availability. The proposed expression of mobility constraints provides a single but powerful method for modelling the heterogeneity of pervasive computing infrastructures. Simulations of MoDeS with varying number of agents, agent servers and constraints revealed that dynamically deciding the best pattern according to each case can significantly reduce the total data traffic, and that by considering mobility constraints prior to an interaction the availability is also increased. Finally, potential applications of MoDeS have been considered and the requirements of its implementation and deployment in a real-world environment have been identified.