3.6 Issues of Mobile Cloud Computing
3.6.1 Operational Issues
Operational issues [13] include offloading methods and computation of offloading cost. It computes whether offloading will be cost effective or not. Also, mobility management and connection protocols exist.
3.6.1.1 Offloading Methods
3.6.1.1.1 Client-Server Communication Method
In this offloading process, communication is done using remote procedure call (RPC), remote method invocation (RMI), and sockets between the offloader and the surrogate device. But when the ad hoc or mobile nature of the device is considered, it becomes a disadvantage because those services need to be preinstalled in the device. Thus, it restricts the mobility of the device. Spectra [13] and Chroma [13] are kinds of systems that use offloading computation via RPC by invoking functionalities in local and remote Spectra servers. When offloading is needed from a device, Spectra client consults a database, which stores information such as current availability and the CPU load of the Spectra server, and, depending on the resource pool, decides at runtime and does offloading.
Hyrax [12] is a smartphone application based on Hadoop ported on Android platform, distributed both in terms on data and computation. It uses a cluster of mobile devices as a resource provider and mobile cloud. HyraxTube is such an application used for distributed mobile multimedia search and sharing. It allows users to search through multimedia files according to the time, quality, and locations. Hyrax has a central server that has NameCode and JobTracker instances and access to each client mobile device. The central server does not process a job, but coordinates data and jobs. Hadoop distributed file system (HDFS) stores the multimedia data, and threads run on the mobile devices.
Issues of MCC
Operational End user Service level Privacy and security Cloud security Privacy Performance Incentives Offloading method Mobility management Connection protocol Cost benefit analysis Presentation and usability
Cloud APIs Mobile security
Context awareness Data management Personal data storage on mobile cloud Data access issues Data portability and interpretability Embedded mobile database Energy awareness Resource and common goal identification Risk assessment Service provisioning FIGURE 3.7
Another Hadoop-based approach was presented [15] to use mobile devices as a resource provider. Here, the offloading manager module performs the sending and receiving jobs from and to mobile devices and creates virtual machines on the surrogates. On a surrogate device, the tasks are executed on a virtual machine acting as a protected space, thus ensur- ing the security of device data.
The “Cuckoo” [16] framework is based on java stub/proxy model. It offloads the task to any resource that runs a java virtual machine such as Amazon EC2 or local mini cloud, cluster of laptops, or mobiles. Cuckoo’s offloading objectives are to enhance performance and reduce battery usage. Here, applications have to be written in such a way that they support remote as well as local execution. There is an advantage of parallelism, as Cuckoo generates the same code for the remote version of the application and can run on multicore computers, for instance. If the remote resource or network connectivity is not available, then the application can run on the local device entirely. There are two applications, “eye- Dentify” and “PhotoShoot,” based on Cuckoo, which have gained speedup of 60% and reduce battery consumption to 40%.
3.6.1.1.2 Virtual Machine Migration
A live migration is where memory image of a virtual machine (VM) from a source server is transferred to another server without any interruption in execution.
MAUI [17] uses virtual machine migration and code partitioning, both approaches saving energy. Here, offloading is done from the device to a local or remote server. Code partitioning is done in MAUI dynamically and during runtime. MAUI decides whether an application will be offloaded or not if the resource is available in the remote server.
Clone cloud [18] is another VM migration technique where part of the application is offloaded to a resourceful server through 3G or Wi-Fi. Here, mobile applications are unmodified and there is no need of any annotating method because clone devices are used. “Clone” is a mirror image of the smartphone created on cloud and running on a vir- tual machine. Compared to the device, the clone has a better resource and computational environment. A cost analysis model is used to compare the cost between the offloading task in cloud and in monolithic execution. Clone cloud has been tested over applications such as virus scanner, image search, and privacy-preserving advertising on Android phones using clone laptops running on the Ubuntu platform. Clone cloud architecture is shown in Figure 3.8.
MobiCloud [19] is another service-oriented approach that uses cloud computing and a mobile ad hoc network (MANET). Here, each node is considered as service node used as service provider or service broker depending on its computational capabilities and avail- able resources. Every service node is incorporated onto the cloud as a virtualized compo- nent and is mirrored in the cloud. The main objective of MobiCloud is to provide a secure service architecture and a virtual trusted and provisioning domain.
3.6.1.2 Cost–Benefit analysis
A cost–benefit analysis is very important in MCC to measure the cost of offloading and determine whether offloading a task will be beneficial or not. In Kumar and Lu [20], a model has been proposed to calculate the cloud cost, which is divided into two parts as follows: 1. Total cost of ownership (TCO): TCO is a financial estimate to determine the costs associated with owning and managing an IT infrastructure. But from a cloud per- spective, it is used to estimate commercial value of cloud investment and also
to take care of service cost, network cost, software cost, cooling cost, power cost, facilities cost, maintenance cost, and real estate cost.
2. Utilization cost: Utilization cost is the actual cost of using a resource by a user. It is dynamically elastic.
Spectra [13] and Chroma [13] are two methods that employ cost versus benefit offloading to the cloud. In Spectra, there is a tradeoff between the offloading application and energy consumption, performance, and quality. Spectra continuously monitors resources such as the CPU, battery, network, cache, and so on. For best resource placement, “self-tuning” is used to maintain user demand with available resource, observe execution, and maintain profile history of surrogates for future studies. Chroma also uses a similar “tactics,” and does resource monitoring and history-based prediction for cost estimation. Chroma trades off between attributes such as power consumption and speed using a utility function.
Scavenger’s [21] framework, using a component called the scheduler, also decides whether offloading should be done. It considers various factors for cost analysis, such as the relative speed and current utilization of surrogate, network bandwidth and latency to the surro- gate, task complexity, and input/output size.
MAUI [17] does the cost–benefit analysis of an application through serialization. It does the analysis based on device’s energy consumption, application characteristics, and net- work characteristics.
Clone cloud [18] uses a “dynamic profiler” to collect data, which are then used to ana- lyze cost and benefit. These data are fed into the “optimization solver” to decide whether offloading should be done or not. Costs are analyzed in terms of execution time, energy consumption, or resource footprint.
A cost model using parametric analysis [22] compares energy usage between cloud and mobile devices. The parameters are the network bandwidth (B), the number of bytes to be transferred (D), the speed of the remote cloud (S) and the mobile device (M), the number of instructions of the computation (C) assuming that both mobile and cloud versions have the same number of instructions, and the energy consumed by the mobile device in com- puting (Pc), communicating (Ptr), and idling (Pi) states. If the cloud is T times faster than the
Execution block
Execution block Clone VM Operating system Operating system Hardware Hardware Virtual machine Virtual hardware Hardware Execution block Operating system Smartphone Smartphone image FIGURE 3.8
mobile device, then the energy saving will be (C/M){Pc− (Pi/T)} − Ptr(D/B). The ratio D/B
should be than C/M, and T should be sufficiently large. Then, the equation gives a value greater than zero, which implies that energy saving is possible.
Cost models using stochastic methods, a semi-Markov decision process (SMDP), have been described in Puterman [23]. There are three states in a mobile cloud: new service request or an inter-domain request, intra-domain transfer service request, and the ser- vice leaves domain. SMDP is based on these three states. Here, the cloud accepts a migra- tion request if there is an overall system gain, which is based on maximizing cloud profit and reducing the expenses of the mobile user. There is ongoing debate whether an intra- domain service transfer from one service node to another would usually generate more profit than a new service migration from a mobile device, or an inter-domain transfer in which the transfer happens from another cloud service provisioning domain. The overall system gain also takes care of CPU cost in the cloud server due to virtual image occupa- tion. To calculate the cost of system states and their actions, a model named “rewarded” is used.
3.6.1.3 Mobility Management
Mobility is one of the main issues of MCC, as mobile devices are present here. One par- ticular position may be suitable for a device but, due to change of location, services should not be interrupted. Mobility is one of the reasons for disconnection. In mobility man- agement, localization is very important and it can be achieved using two techniques: infrastructure-based and peer-based. Infrastructure-based techniques use GSM, Wi-Fi, ultra sound RF, GPS, and RFID, which are less suitable for the needs of mobile cloud devices. On the other hand, peer-based techniques are more suited to manage mobility, considering that relative location is adequate and can be implemented with low-range pro- tocols such as Bluetooth. Escort [24] represents a peer-based technique to localize without using GPS or Wi-Fi, which are power-consuming applications. Here, social encounters between users are monitored by audio signaling and the walking traits of individuals by phone compasses and accelerometers. Here, various routes are created by various encoun- ters. For example, if X wants to locate Y and if X had met Z recently and Z had met Y, the route is first calculated to the point where X met Z, and then to the place where Z met Y. There will be many possible paths but the optimal one is chosen. Thus a mobile device can be localized when it is in a mobile cloud.
Virtual compass [25] is another approach in which Bluetooth and Wi-Fi short-range protocols are used to construct a two-dimensional reorientation of the nearby device. Here, peer-to-peer messaging is used to measure the distance via signal strength and pass information about the device’s neighbors and their distances. In mobile cloud, it will be helpful to know about devices that are newly joined or previous nodes that have returned to the cloud. Here, the mobile cloud is constructed based on Bluetooth or Wi-Fi, so passing information is not a big burden. Because of continuous scanning, there is a possibility of energy drain. To remove this drawback, a self-adaptive scanning technique can be used based on regulating the scanning interval with the change of neighbor graph. This regulation is done by a central server where, as in context of the mobile cloud, a decentralized approach is better. One decentralized approach is “Friends Radar” [26], a peer-to-peer technique using XMPP. Only “known” contacts or friends’ locations are visible, and it uses GPS. All the participating devices are pre-known and trusted.
MoCA (mobile collaboration architecture) [27] uses component and proxy migra- tion to support mobility management. Here, user mobility is supported by monitoring
the locations of the users and switching to an application proxy more suited to the new location. Mobile clients query the service, which contains registered information on avail- able application server proxies, and discover the means to access a collaborative service at their closest proxy determined by the location of the mobile device.
3.6.1.4 Connection Protocol
MCC is incorporated with a large number of protocols and technologies. Wi-Fi (wireless Ethernet 802.11b) and Bluetooth (2.4 GHz ISM band) are used for short-range connection. For longer range, there are 2G, 3G, and 4G technologies. Different protocols such as GSM, CDMA, EDGE, GPRS, WCDMA, HSPA, HSPDA, UMTS, and so on, are used.
3.6.2 End-User Issues
End-user issues are related to the direct mobile user. There are several questions that need to be tackled by a mobile user while using cloud: In which way will the cloud service be billed? How is credit represented in collaborative mobile cloud? How will the user be moti- vated to share these resources in cloud? There are many others.
3.6.2.1 Incentive Scheme
Incentives [28] are given to mobile users to motivate them to contribute their resources as cloud or into the cloud. Here, resource may be storage, computation power, information, important result, license key, and so on. Incentives may be tangible or intangible. Tangible incentives are mainly monetary, and intangibles are the name, fame, reputation, and so on. There are many resource sharing protocols available, such as volunteer, action, trophy, posted price, spot price, reciprocation, reputation, and so on. Each protocol has its own incentive schemes for the participants.
3.6.2.2 Presentation and Usability
Presentation and usability are related to the user interface of the mobile device. The size of the mobile screen is a big factor. A small screen is less power consuming but is difficult to use, whereas a bigger screen is easy to use but consumes high power. Touch screens have better usability than non-touch screen devices. In touch screen devices, feather touch is better than captive touch. On the other hand, nontouch devices are harder in nature.