Self-adaptation of software has been used as a mechanism to address complexity and constraint in mobile and pervasive computing environments. Adaptive offloading is a software adaptation mechanism in which an application dynamically distributes portions of itself to remote devices to achieve context specific optimizations. The feasibility of using adaptive offloading in pervasive environments is determined by the computational efficiency of adaptation algorithms and the efficacy of their decisions. However, existing state-of-the-art approaches incur overheads from storing, updating and partitioning complete application graphs on each device, which limits their utility and scalability in resource constrained mobile environments. Hence, this paper presents a novel distributed approach to application representation in which each device maintains a graph consisting only of components in its memory space, while maintaining abstraction elements for components in remote devices. This approach removes the need to store and update complete application graphs on each device and reduces the cost of partitioning an application during adaptation. In addition, an extension to an existing application graph partitioning heuristic is proposed to utilize this representation approach. An evaluation involving computationally heavy open-source applications adapting in a heterogeneous collaboration showed that the new approach reduced graph update network cost by 100%, collaboration-wide memory cost by between 37% and 50%, power usage by between 63% and 93%, and adaptation time by between 19.47% and 98%, while improving efficacy of adaptation by 12% and 34% for two of the considered applications. © 2012 Elsevier Inc. All rights reserved.
Mendeley saves you time finding and organizing research
Choose a citation style from the tabs below