Mobile Cloud Computing as Mobile offloading Solution: Frameworks, Focus and Implementation Challenges

Mobile devices have been operating under limited resource capacity including memory, processing speed, storage and battery life. Due to the advancement of technology, complex applications have been designed and implemented, and these application demand computing device with high capacity. Cloud computing emerged as solution for computing device with limited capacity. However, integrating mobile operating environment with cloud computing has been a challenge due to dynamicity of mobile device environment including unreliability of wireless communication. This paper reviews recent studies in Mobile Cloud Computing to assess its implementation as one of task offloading solution for mobile device. The study reviewed common framework that are used to implement Mobile Cloud Computing, the focus of the current studies and finally highlighted open issues that need to be addressed when implementing optimal Mobile Cloud Computing.


Introduction
Since the invention of smartphone, the mobile device technology has experienced massive adoption rate and the demand for these devices has grown rapidly. With the influence of market demand for more technological innovation has been witnessed for the aim of increasing the capacity of these device. In the survey study (Osman et al., 2011) in developing country it was observed that capacity as one of criteria on selecting mobile device. Together with technological revolution in data creation and processing which demand more powerful device that are able to process them has increased the attention on enhancing the capability of these device. On the effort of increasing the capacity of these device the price has been growing which attract the interest of finding the alternative solution to make this device more usable at reasonable price. Mobile to cloud offloading being among of the alternative solution.
Cloud Computing has emerged as a solution to many of challenges in computing devices. These challenges include memory capacity, processing capacity and storage capacity. Cloud Computing create environment for computing device with small capacity to be able to solve user's problem which could be difficult being solved by their device. Also cloud computing can be used to enhance power consumption on devices during the processing (MAUI), Cloudlets, Jade, Mirrored Server, Cockoo and Phone to Cloud. The study used seven parameters as a metrics in analyzing the identified architecture which include preparation that are done before offloading, partitioning employed, type of decision made which is either dynamic or static, the offloading mechanism, granularity, annotation and the contribution of study in MCC. Dinh et al (2013) Surveyed MCC with the aim of giving an overview of the area including the definition, framework, and their implementation. Also, the study identified the existed challenges, solution and approach in MCC. Finally, the study branded MCC open issue which are low bandwidth, Network access Management, Quality of Service, pricing, standard interface for MCC architecture and service convergence. Ahmed, Gani, Khurram Khan, Buyya, and Khan (2015) reviewed framework that could facilitate the smoothly execution of the offloading mechanism in MCC. The author used parameters derived from the taxonomy of the seamless application execution to identify the significance of framework in delivering smooth MCC. Also, the study stipulated some of the open research challenges toward achieving seamless MCC. Biswas and Whaiduzzaman (2018) reviewed MCC implementation where the author depicted the definitions of MCC and identified its benefit in this technology age. The author identified two main aim of MCC which are energy serving and facilitating fast execution of task. Also, some of offloading technique are presented which can be applied in wireless heterogeneous network and make good use of cloud environment. Together with that the author explained when and how the framework and technique can be used to archive the main goal of MCC.
The study (Mollah, Azad and Vasilakos, 2017) focused on security and privacy issues that MCC is facing on implementation. This is an important area on implementation of MCC as to void solving computing device capacity problem by creating security loophole toward user data. The study reviewed security and privacy requirement of several Mobile cloud service models including Mobile Network as a Service, Mobile Cloud Infrastructure as a Service Also, there is a study that aimed at differentiating MCC from traditional cloud computing (Noor et al., 2018). The study is significant because these categories have different implementation approach due to their operating environment. Also, the study discussed and evaluated 30 different research architecture from 2010 basing connectivity, energy sufficiency, and dynamics criteria. The study winded up with MCC future research challenge that need to be tackled to archive better result of MCC.
Another study by Qi and Gani (2012) reviewed the fundamentals and principle of MCC that are currently being discussed with aim of identifying future research trend. The author makes some analysis on features, infrastructure and challenges of MCC implementation. The study summarized some of the recently research project in MCC and identify the hopeful future in MCC implementation.
Finally the study Sanaei, Abolfazli, Gani and Buyya (2014) focused in heterogeneity in convergent computing and their networking to identify their impact on MCC. Through investigation the author depicted some of opportunity and challenges in the area and suggested heterogeneity handling technique and approaches for successful implementation of MCC. the identified approach includes virtualization, middleware, and serviceoriented architecture (SOA).

Mobile Cloud Computing Framework
Framework is a real or conceptual structure intended to serve as a support or guide for the building of something (Riehle, 2000). In implementing MCC there are several frameworks that have been suggested by researchers. This part summarizes MCC framework from different study with their main purpose. Table 1 summarize the architecture that are recently used in MCC. From the table Cloudlet framework, clone cloud and MAUI has attracted more researcher compared to other four framework as adopted from (Akherfi, Gerndt and Harroud, 2018).

Recent study on MCC Implementation
There are several studies have been done on the implementation of MCC this part summarizes them in briefly. Christensen (2009) examined architecture using RESTful Web Services. The author argued that REST cloud computing can be used to enhance MCC with the capability of smart phones which are aware of context using the enabled sensor. By combining this technology can enhance capability of mobile device and create new paradigm for mobile applications. However, RESTfull webservice can create more overhead on when used on mobile device and the study didn't address this. RESTfull web service could contribute to the effort of implementing MCC as author suggested but still demand more research.
In response to additional overhead that will be faced after implementing offloading framework Shiraz, Gani, Shamim, Khan, and Ahmad (2015) suggested Energy Efficient Computational Offloading Framework (EECOF) for the processing of intensive mobile applications in MCC. The author argued that the framework will reduce created overhead from the previous suggested framework. The suggested framework reduced size of data transmission by 84% and power consumption by 69%. However, the study didn't discuss the impact of reducing data transmission on the mechanism of offloading, as this could affect the delay of transmission of data when mobile device needs to transmit large volume of data. This study is very usefully in the progress of dealing with overhead that will be generated by migrating to MCC.
With three-tier architecture, Cardellini et al (2016) consider a scenario where, multiple mobile users can independently decide whether and where to offload their computation task, and analyzed their non-cooperative behavior in a game theoretic setting. They adopted a game theoretic approach to study the different behavior of user interactions, and modelled the offloading mechanism as a Generalized Nash. However, this study suggested a solution where local and remote cloud data center are used for offloading computation task from multiple uses. Also, the study didn't consider the capacity of mobile device on handling the load generated by the local or remote server.
Another challenge is on minimizing power consumption on transferring data in wireless media Cheng, Shi, Bai, and Chen (2016) used cloud radio access network (Cloud-RAN) computing system to tackle the challenge. The study focused in minimizing network energy consumption while satisfying the delay requirement by jointly optimizing the communication resource decision. Their algorithm achieved near optimal energy efficiency. This study contribution can be used to enhance the implementation MCC by integrating the prosed solution with other as the study focused on minimizing energy consumption on transmission in wireless media.
Mobile computing is useful to all discipline in healthcare Tawalbeh et al (2016) focused in integrating health care infrastructure, MCC and big data analytics with the aim of achieving the four V's of Big data analytics which are volume, variety, velocity and veracity. The study employed Cloudlet-based Mobile Cloud Computing infrastructure and reviewed several tools, technique and application that could benefit the MCC. Healthcare service applications require large amounts of computational and communication and generate large volume of data which it could be difficult of some of mobile device to handle. This study cements that MCC is multidiscipline issues.
Mobile Edge Computing (MEC) also has emerged as useful innovation for MCC (Tao et al., 2017). Jararweh et al (2016) proposed the framework that combine MEC and Cloudlet infrastructures with the aim of increasing the coverage area for mobile device where users can request and get services with minimal cost in terms of power and delay. The framework reduced the overhead on MEC controller, was able to make real-time decision, eliminated single point of failure, reduced the delay, reduced global network traffic and is scalable. However, the model increases the complexity of resource management to Mobile Edge Server which demand for automation in order to achieve accuracy on resource provision for individual locally or globally.
The launch of 5G also bring hope for some of limitation of MCC implementation (Maurya, 2015). In visioning this Umar, Ferzund, Sajjad and Owais (2017) discussed MCC issue and how the 5G technology can be used to address them. The study concentrated more on availability, bandwidth and heterogeneity of technology. Also, the study proposed some of 5G protocol which could be used in dealing with MCC implementation including 6LOWPAN, Bluetooth V4, ZigBee, Sixfox, and DHT. And on the side of heterogeneity and availability the study proposed tree like structure. However, none of the proposed protocol were tested to verify their effectiveness on MCC. Also, the focus of the study was limited to three limitation only. 5G can be used to eliminate MCC implementation issues hence more study needs to be conducted on using 5G in implementing MCC.
Using deep learning technique Alam, Hassan, Uddin, Almogren, and Fortino (2019) proposed code offloading framework for MCC implementation. The study used Deep Q-learning method to determine offloading decision by considering the resource demands, availability and network status. The technique showed improvement on the performance with respect to time, latency and energy consumption. However, the study was done in simulated environment which usually has some control over the dynamics of the surrounding which is different from actual environment. But this direction could be promising in attained more enhanced mechanism for offloading especially when considering the status of components.
The MCC infrastructure is a business which also need attention while suggesting its implementation framework. Li et al (2019) Investigated service selection in MCC architecture in which mobile user select cloud service from two service provider which are public service provider and edge service provider. As the result it was observed that mobile user tends to select public service provider when tasks are large and vice versa when are small. The study argued this is because Edge service provider have limited resource but attract more user because the of low transmission delay. However, the study focused in optimizing price for service provider and was silence on the impact of this optimization on mobile users this is similar to the study He et al (2019) . The study on MCC need to go parallel with its economic impact on both provider and consumer to avoid having MCC that is efficient but practically unmanageable.
On the issue of development of application that would run on MCC environment Debnath et al (2019) proposed the Avatar platform that leverages the assumption that mobile device is paired with a user-controlled copy in the cloud to support efficient distributed computing over mobile devices. The study come up with Moitree, which is the middleware of the Avatar platform, that harmonize programming and execution framework for mobile device application. As a result, the proposed framework reduces the number of lines of code to more than 50% when compared to an existing solution. This study can be useful in removing the burden of MCC consideration when developing mobile application however more study needs to be conducted to evaluate its impact on creating more overhead on optimizing MCC.

Mobile Cloud Computing Implementation Challenges
There are several factors that decelerate the implementation of MCC. This part presents the common factor that have been depicted by various studies.
The diversity of platform has been identified as one of the factors that crate the gap. According to Akherfi et al. (2018) even the framework that are used to implement MCC also were modelled with respect to platform. For example, MAUI framework was designed to work on .Net framework while Mirrored server is specific on android. Dinh et al (2013) suggested standard interface so as to achieve a seamless offloading in MCC. MCC framework with standard interface need to have standardized protocol, interface and signals. Noor et al (2018) Expand the concept of diversity as argued that hardware, software technologies, communication networks, platforms and data formats dynamicity should be tested and evaluated on the suggested framework as these diversities could favor some mobile users while others will be diverted away Cloud Computing.
Redundancy of data, and execution of data on MCC bring another challenge on security and privacy of mobile device users. Mollah et al (2017) Suggested that for effective and secured MCC the framework need to consider five aspects which are confidentiality, availability, integrity as user might not be aware of changes during execution of application, authentication and privacy. Any MCC framework or mechanism need to assure mobile user of this issue as MCC will be implemented in background without user direct involvement. However, there is concern that the implementation of some of these security threat measure may create more overhead on both mobile device and the cloud source. Hence more studies are required on the frameworks when used with security measure.
Mobile device depends on wireless communication which is affected by many factors including the position of mobile device itself. MCC need to be implemented in a such a way that it will tolerate faults that will be results of mobile network complication. While this happens, it should also be taken care to reduce the chunk of data that is broadcasted and the power consumed (Kulkarni et al., 2019). So far none of the framework explain the issue of fault tolerance or the its impacts on creating overhead.
The process of offloading cannot be left to be done manually, instead it need to be an automatic process. Offloading process include discovering cloud server, connection to the selected server and offloading of task. In order to achieve full automation of mobile offloading we need the implementation of a protocol that will be dedicated to finding and discovering services and connecting to them depending on their status and its limitations (Akherfi, Gerndt and Harroud, 2018). The automation of these tasks has different impacts on adding overhead on offloading which means more research need to be done so as to have the optimal and effective task offloading protocols, mechanism and framework.
MCC requires the infrastructure which are cost full because of their capacity and need to be maintained. Cloud service provider own the cloud computing infrastructure and sell the service to mobile user. If the mobile user consumes the service from them, he/she will be charged for the data used, the bandwidth consumed for offloading or time spent on the infrastructure. There are few study on economic issue on implementation of MCC including Li et al (2019) which focused on determining the optimal price for cloud service provider but no study found for side of consumers. The framework suggested need to address this issue equally so as to reduce the burden of service payment to mobile users.
Offloading can either be static or dynamic. For both category offloading framework need to evaluated so as to get the most optimal solution. However, during runtime, it is very challenging to determine which application components need to be offloaded and to finding the service server that would result to optimal overhead (Akherfi, Gerndt and Harroud, 2018;Kulkarni et al., 2019).
Bandwidth is among of the limitation of MCC. Dinh et al (2013) suggested the use of Cognitive radio for an efficient network access management. Cognitive radio could improve link performance including bandwidth for mobile users and optimizes its usage. This technique can be integrated with MCC achieve better and efficient use of spectrum. With other technique and suggested framework more study needs to be conducted so as to improve the bandwidth that will optimize the aim for MCC.

Conclusion
Cloud Computing is the promising solution for computing device with limited capacity. Mobile devices are the most affected computing device because of their purpose of supporting mobility. Without affecting their flexibility, the demand for mobile to be able to handle high load computation has increased due to the advancement of technology. This paper discussed MCC as a solution for mobile task offloading. With complication that are brought by unreliability of wireless communication which is the core factor for mobile communication the study has gone through several research work to determine the applicable framework and their implementation and finally summarized the main challenge that need to be addressed for effective implementation of MCC. As one of the challenges in MCC implementation being optimal algorithm or mechanism for offloading it is time now to focus on using Artificial Intelligent (AI) mechanism as Alam et al.(2019) suggested. AI approaches can be used to increase the optimization of mobile task offloading and achieve better result for successful MCC implementation.