Article Preview
Top1. Introduction
Mobile cloud computing is an emerging concept, whose aim is to provide better services to mobile users without draining the resources of their devices and burdening them with an extra cost of data and energy. One of the biggest contributions of Mobile Cloud Computing was to resolve the problem pertaining to resource limitations of mobile devices. This was achieved through the concept of Mobile Computational Offloading (MCO), which involved the enhancement of computational capabilities of resource-constrained devices by leveraging from the functionalities of cloud computing. Presently most applications fall under the offline category, where resources are local and data is downloaded from backend systems. In case of online applications data is mostly at user’s perusal and web technologies serve as powerful alternatives to in-house applications. In both these cases to get optimum output system has to be adaptive to respond as per the changes in the mobile ecosystem. To achieve the desired outcome mobile devices can offload to any of the computational infrastructures be it the virtual machines or cloudlets depending upon the particular demand of an application (Khanna, 2016). Here the main concern is to maximize the performance of a smartphone application and conserve energy at the same time (Baker, 2015). However, mobile cloud computation works in a heterogeneous environment with each client having special demands while using different mobile devices. This requires dynamic partitioning and remote execution, for which some use Alfredo framework (Rellermeyer, 2008) to distribute application modules between a mobile device and the server. Same way R-OSGi (Rellermeyer, 2007) is utilized for interaction between virtual machines in some systems. Otherwise, weblets (Zhang, 2011) can be used for dividing an application into elastic components for dynamic execution. The weblets are not constrained to one programming language thus allowed to be used for a wider range of applications. Process migration is also an important aspect of allowing seamless transition of individual processes without affecting the performance.
In this paper, we have targeted mobile data stream applications and have tried to accommodate such applications on resource-constrained mobile devices by augmenting the execution of such applications and leveraging the cloud resources. We propose an adaptive computation offloading model for data stream applications. The model which we propose is based on the principles of dynamic code partitioning and works on thread level migration granularity. In our work, we have tried to maximize the performance of data stream applications by reducing the makespan and energy consumption (Baker, 2017) at the same time. Existing models assume the fact that the mobile user has access to an infinite number cloud resources whereas our proposed model makes offloading decisions by checking the availability of resources at the cloud-end.
Our remaining paper is organized into following sections: Section 4 presents our proposed model that talks through the System Architecture and Mathematical Model. Section 5 talks about the Algorithm for dynamic code partitioning and code offloading. Simulation and Results of the experiments carried out are presented in Section 7. Finally, Section 8 concludes the paper and suggests future work.