Efficient Techniques for Energy Optimization in Mobile Cloud Computing

43 downloads 167440 Views 393KB Size Report
devices have powerful capabilities and useful applications to help us performing several ... Index Terms— Mobile Cloud Computing, Energy Saving,. Profiling ...
Efficient Techniques for Energy Optimization in Mobile Cloud Computing Khadijah S. Bahwaireth1, Lo’ai Tawalbeh1,2, Anas Basalamah1, Yaser Jararweh2, and Mohammad Tawalbeh3 1

Computer Engineering Department, Umm AlQura University, Makkah, Saudi Arabia [email protected], [email protected], [email protected] 2 Faculty of Computer and Information Technology, Jordan University of Science and Technology, Irbid, Jordan [email protected], [email protected] 3 Fourth Dimension Systems Corporation, Riyadh, Saudi Arabia [email protected] Abstract— Mobile devices including smart phones are becoming an essential component of our daily life. These devices have powerful capabilities and useful applications to help us performing several tasks in less time and effort especially within cloud services. On the other hand, mobile devices have serious limitations such as battery life time, computation power, and storage capacity. Mobile Cloud Computing (MCC) is an emerging technology that helps in avoiding such limitations in mobile devices, mainly saving energy. In this paper, we will address the energy efficiency in Mobile Cloud Computing since it is the most important design requirement for mobile devices. We will present techniques and prototypes in MCC to reduce power consumption and increase resources efficiency and utilization. Index Terms— Mobile Cloud Computing, Energy Saving, Profiling, Offloading, Cloud Clone, Green MCC.

I. INTRODUCTION In recent years, mobile devices including smart phones and tablets have become abundant and part of our daily life with their applications serving us in various categories. The mobile devices are becoming more popular every day. According to the IDC study that presents the five-year forecast for smartphone shipments worldwide by device vendors, smart phones market will reach a total of 1.5 billion units in 2015. This is up 11.9% from the 1.3 billion smartphone units that were shipped in 2014. By 2019, the total smartphone units to be shipped will reach 2.0 billion which results in a five-year CAGR of 8.5% [1]. The reason behind this popularity is that, mobile devices are providing computational facilities and useful tools to users anywhere and anytime. This ‘mobility’ is the significant feature of a computing environment where a user can continue his or her work regardless of the location. Nowadays, Cloud Computing (CC) is becoming one of the top ten technology trends in 2015 [2] (based on Gartner; a famous global analytical and consulting company). When

978-1-5090-0478-2/15/$31.00 ©2015 IEEE

comparing CC to distributed computing, the CC resources are distributed over the network which resolves the issue of massive computations being limited to one site. There is no standard definition for CC. different developers and institutions describe it in numerous ways. One simple definition is that Cloud Computing is an Internet-based model that provide an on-demand access to the network that consists of shared computing resources (e.g., networks, servers, storage, applications, and services), with minimal management effort [3]. The cloud organizes a lot of resources (compute, network, and storage) based on a particular management plan. It provides applications and hardware as services that are available everywhere and anytime depending on different payments models such as “pay-as-you-go” model. One fundamental feature of Cloud Computing is virtualization that allows different clients to run applications from different virtual machines [10]. Mobile Cloud Computing (MCC) is an emerging promising technology that integrates CC with mobile devices. MCC allows the utilization and accessing of Cloud services using mobile devices. Smart devices are built to be more advanced and capable. Developers are building increasingly complex applications to meet user requirements. These applications require increasing amounts of computational power and energy. One of the significant challenges in the evolution of mobile devices is the balancing between a resource-hungry application and a resource-constraint mobile device. The limited battery life is a very important issue for smart devices [22]. However, mobile devices are constrained by their limited storage, processing power, and battery life. Mobile cloud computing provide solutions to these problems by transferring the processing operations and storage of intensive tasks to the cloud system. Such applications that run independently on mobile platforms and can also access cloud resources if needed are called Elastic applications. Basically, elastic applications have

two features. First, the execution of these applications is divided between a mobile device and the cloud. Second, this division is done dynamically and adjusted during an application runtime. Accordingly, the existing device capacities are extended [8]. The remaining of this paper begins by Section II on existing related work, and then followed by section III that gives an overview of Mobile Cloud Computing. Section IV presents the energy saving techniques in MCC (Offloading, Green MCC, Clone Cloud, and cloudlet). Section V introduces power optimization in a cloud data centre. Section VI highlights a mathematical modelling. Section VII concludes this paper. II. EXISTING RELATED WORK In this section, two main techniques for energy consumption in MCC are reviewed: optimal region decision to execute tasks, and modeling and simulation environments. A. The decision of the optimal region to execute Mobile device tasks: Many frameworks and schemes are proposed to offload smart phone computations to be executed on the cloud. Fekete et al., (2013) [17] proposed a system called ECGM (Energy Efficient Code Generator for Mobile phones), that decides at the compilation time dynamically on which jobs of the application are to be executed in the smart device and on which jobs are to be executed on the cloud. They used an algorithm to execute a job on the mobile along with the cloud in parallel when there is no dependency between them. This model runs more efficient when using a Wi-Fi rather than the 3G to transfer large amounts of data. The energy consumption of the mobile devices is reduced by 36%-38%. An extra of 9% in energy saving can be achieved by using the classical energy-efficient scheduling theory. Similarly, the authors in [21] proposed and implemented an offloading-decision making algorithm that adds a user delay-tolerance threshold feature. The tool predicts the average execution time of an application when running on a smart device, and then compares the amount of the consumed power between running the applications on a smart device and on the cloud in order to decide where the application should be executed. To evaluate the Phone2Cloud tool performance, the authors in [21] used two sets of experiments on their system: application experiments (include sort application, shortest path finder, and word counter), and scenario experiments (many students using a face detection application on their smart

phones). Then, they examined how the following four factors (bandwidth, CPU workload, input size, and delay tolerance threshold) affect the energy consumption and the execution time of the applications. These two experiments based on an environment that consists of ZTE V880 Android smartphone with Wi-Fi interface, and a desktop computer to serve as a cloud. The results showed that the tool reduces effectively the energy consumption in smart phones, and reduces the application’s execution time by determining the execution location for each application. Authors in [22] tried to save the energy in mobile devices by finding the optimal location to execute the mobile application, either on a mobile device or a clone cloud. They proposed a theoretical framework for energy-optimal application execution under a stochastic wireless channel. They considered two application factors, input size and deadline to complete the application. The numerical results of this theoretical framework determine where the energyoptimal execution place for each mobile application is. Based on the overview of the previous related literature, we can say that the offloading mechanism can be used to reduce the energy-consumption in a mobile device, but there are many factors affecting the efficiency of this technique such as the type of the application, data size, and the network connection. B. Modeling and simulation environments for MCC: Researchers in the area of cloud computing need to conduct real experiments for their studies. However, setting up and running experiments in real cloud environments are costly. Here come the modeling and simulation for cloud computing environments as a good alternative. In this context, Buyya et al.(2009)[20], designed a famous simulation tool for cloud computing experiments called “CloudSim”. It supports the modeling and simulation of cloud computing environments and allows the simulation of multiple Data Centers. Cloudsim is capable of instantiating 100,000 machines in less than 5 min [31]. Several researches were published using Cloudsim as a simulation tool to obtain results. But there are still limitations such as: (1) It lacks GUI, Cloudsim doesn’t have the ability to produce the results in a graphical form [29]. (2) It includes only a basic network model with limited workload traffic generator [19]. (3) It does not support modelling for parallel experiments [19]. (4) It lacks of some of the cloud computing components such as BPM, SLA [19]. TeachCloud tool in [18] is an extension of CloudSim framework and is built to be convenient for teaching purposes. In this tool a GUI along with several new key features were added. iCanCloud [23] is also a simulation platform for conducting large-scale experiments in cloud computing. It can determine the costs for each user by predicting the trade-off between cost and performance for

each application that is executed on a specific hardware [31]. The authors in [19] have solved some limitations of the CloudSim tool by designing a new modelling and simulation environment called CloudExp. This efficient GUI tool that is built on top of CloudSim, is used to evaluate and analyze cloud components such as processing elements, data centres, storage, networking, and so on. It integrates most of the technologies related to cloud computing such as big data management and mobile cloud computing. III. MOBILE CLOUD COMPUTING (MCC): MCC is a recent emerging research that integrates the Cloud Computing technology and the mobile environment to create new infrastructure that is capable of performing intensive computations and storing massive amount of data. The mobile devices users are provided with an online access to an unlimited computing power and storage space. In MCC, different mobile devices access the cloud through different wireless interfaces as shown in Figure (1).

constrained amount of energy and storage capacity on their mobile devices. One example is the Amazon S3 which is a simple storage service [4]. Also, multimedia applications that need high processing capabilities are transferred to the cloud system to execute. Once they complete execution, results are returned back to the mobile device [5]. 

Improving reliability and security

Reliability is achieved when the data and the application are stored and backed up on a number of servers. This reduces the probability of data loss and avoids single point of failure. Additionally, MCC inherits some advantages of clouds such as scalability, on-demand provisioning of resources, support multi users and different security services integration such as confidentiality and integrity [6]. IV. ENERGY SAVING IN MCC: A. OFFLOADING: The offloading concept is not a new concept, it is presented since 1970s with similar ideas as load balancing in distributed systems [7]. Mobile cloud computing (MCC) provides the possibility to save energy through performing heavy computations remotely on the cloud. It is one of the basic features of MCC is to improve energy consumption of the mobile devices, and to enhance the performance of applications’ execution [4]. Figure (2) describes the concept of offloading application’s components to be executed on the cloud as parallel tasks.

Fig. (1): Mobile Cloud Computing Architecture [9].

MCC has many significant advantages. The authors in [4] listed some of these main advantages:  Extending battery lifetime In mobile devices, the battery life time is very important. There are several solutions that were proposed to manage the storage disks and enhance the CPU performance in order to reduce power consumption. In MCC, executing the time consuming tasks on the cloud rather than on the mobile device reduces power consumption and extends the battery life time. Improving data storage capacity and processing power: MCC allows users to store and access data on the cloud through wireless networks so users can save the 

Fig. (2): Offloading Concept in MCC

Offloading substantially aims to: (i) improve the performance and (ii) save energy. Before making the offloading decision, we have to identify the parts of an application that are to migrate to the cloud. This is usually achieved by partitioning the application into separate independent components. Many algorithms are used to

partition computations between a mobile system and a cloud server [11]. There have been many attempts to enable remote execution in mobile devices which can be classified into two approaches [7]: 1- Fine-Grained offloading scheme: in this scheme, the program is partitioned and only the powerhungry portions are offloaded to save energy. It depends on the programmer to modify the application source code externally which is not the optimal solution in many cases. 2- Coarse-Grained task offloading scheme: in this scheme, the full program or the entire virtual machine is migrated to the cloud. The programmers do not modify the source code of the application to take advantage of computation offloading. A drawback of this type is that the total program migration may increase the transmission overhead resulting in unnecessary energy consumption. The concept of offloading the storage and computation in cloud computing is used to address the drawbacks in mobile computing by executing mobile applications at resource providers rather than on the mobile device itself. On the other side, there are some cases where offloading is not the best effective way to save energy. For example, during a code compilation, offloading will result in more energy consumption when the size of the code is relatively small. The key issue for mobile devices is to determine the certain parts of the application’s codes that need to be offloaded to enhance energy saving [3]. Elastic applications can use external resources adaptively. They can split and offload their parts to be executed remotely. This will give the developers an illusion as if mobile devices have more powerful capabilities than their actual capacities [8]. The authors in [9] talked about the augmentation concept in smart phones through the cloud. They introduced the elastic mobile applications which are: mobile applications that are partitioned at runtime for the establishment of distributed processing platform. These elastic mobile applications can perform adaptive offloading of the intensive parts of the applications at runtime. There are different ways to implement offloading: • The static application partitioning approach: it is used to separate the intensive components of the mobile application only once. • The dynamic partitioning approach: it is a robust technique that deals with dynamic processing load in

the application. Also, this dynamic partitioning can be casual (the profiling and solving mechanism is activated in critical situations to offload intensive parts of the mobile application). Or it can be periodically in which, the runtime optimization mechanism evaluates resources utilization on smart phone periodically. Profiling evaluates both the computing resources requirements and the current resources on SMD. Once the SMD has no sufficient resources, the elastic mobile application is partitioned and the parts that need intensive computations are dynamically offloaded at runtime. Then SMDs negotiate with cloud servers for the selection of an appropriate server node to move the partitions to for processing. After finishing of executing the remote components of the application successfully, the result is returned to the main application on the mobile device [9]. To see the effect of offloading on different applications, authors in [10] provided an energy analysis for computational offloading in mobile systems. This analysis claims that the cloud computing might save energy for mobile devices and they proved this assumption by simple mathematical calculations. These calculations show that the offloading is beneficial for mobile systems when the application needs large amounts of computation in relatively short time-intervals of communications (seconds required to transmit and receive) as shown in Figure 3. The authors discussed the benefits of offloading using two sample applications. The first sample is a chess game which needs a large amount of computations and short time of communication. The second sample is an image retrieval application that retrieves images from an image collection. Most of the computations in the second application are done in advance and fewer computations are performed online. In this type, the offloading saves energy only at high bandwidths which guides us to the fact that offloading can be efficient in saving energy in certain types of applications.

Fig. (3): The effect of computation and communication in Offloading efficiency [10].

B. GREEN MCC Green Computing is related to selecting energy-efficient networking materials. It consists of techniques and algorithms to reduce the usage of resources as long as possible and enhance the energy consumption by incorporating their reuse. The studies in this field have been increased recently because the energy efficiency is one of the most important design requirements for mobile devices [12]. Benkhelifa, Elhadj et al. (2015) [13] provided a study to achieve a green MCC. The authors reviewed the energy consumption in MCC and proposed a system to generate a profile to determine the user’s power uasge based on their interaction and component’s usage. This system aims in general to predict the energy consumption for applications per user in mobile devices. The proposed platform collects data of many application usages and store it in historical database. These information produces a usage profile for each application that allows to predict the amount of energy and resource consumption of the application in the futue. The profiling uses statistical techniques to achieve the prediction. If a device needs an augmentation in resources, they will be provided by cloud service providers (CSPs). Accordingly, both the end user and CSPs (especially the cloudlets) are beneficiaries from this platform. C. CLONE CLOUD Clone Cloud is a proposed technique for Energy Saving in Mobile Cloud Computing. It is a system that automatically transforms mobile applications or part of them to be executed in the cloud [14, 15, 16]. Each mobile device is associated to a clone cloud which extends the mobile device capabilities [22]. This is done by an application’s partitioner that partitions an application-level executing on a virtual machine, and execution runtime controller that seamlessly off-load some of these partitions execution from the mobile device onto a mobile clone in the cloud [14, 15, 16]. Clone Cloud overcomes the limited computation power, memory, and energy of mobile devices [14, 15, 16]. As a result, a single-machine execution application is transformed into a distributed-execution application as shown in Figure 4 [14, 15, 16]. This distributed execution is optimized for the cloud network connection, the device and cloud processing capabilities, and the computing patterns of the application [15, 16].

Fig. (4): CloneCloud system model. CloneCloud transforms a singlemachine execution (mobile device computation) into a distributed execution (mobile device and cloud computation) automatically

[15].

The rationale behind the Clone Cloud model is stating that as long as the execution power is better, faster, cheaper, and secure on the cloud than on the mobile device, it is worth transforming the expensive parts to be executed in the cloud [14, 15, 16]. A design goal is to let the Clone Cloud decides on which and where; which portion of the code is better to be executed on the mobile device verses Clone Cloud, without modifying the application code or forcing a programmer to change the application implementation, and without having the end user to worry about how the execution distribution is done. The architecture of the Clone Cloud is provided in Figure 5. It consists of a mobile device and a clone virtual machine (VM) on the cloud [14, 15, 16].

Fig. (5): The CloneCloud prototype architecture[15].

The authors in [14] proposed a smartphone application augmentation in Clone Cloud via five augmented categories in 2009. These categories include: Primary functionality outsourcing, background augmentation, mainline augmentation, hardware augmentation, and augmentation through multiplicity. For more details about any category, the reader is directed to their paper. Furthermore, they discussed several research questions in their paper including: How does the computation transformation is done for augmented execution? How do we do synchronization of states? What if we cannot trust clone VM environments among others?

According to the high-level architecture of Clone Cloud prototype in Figure 4, Chun et al. [15, 16] further explained how the prototype works and meets all the design goals. Individual threads at automatically chosen points of the application executable are migrated from the mobile device into the clone device in the cloud, where they execute on the host cloud and benefit from its computational power. The thread eventually returns to the mobile device with any state to merge into the original execution [15, 16]. A partitioning component makes the choice of where to migrate off the mobile device onto the cloud and back to the mobile device by employing 1) static analyzer to discover possible migration point’s constraints, and 2) dynamic profiler to build execution and migration cost model [15, 16]. To optimize the execution time given the application and the cost model, a mathematical optimizer makes the final choice of migration points. This optimization formulation can be extended to include constraints on the amount of energy consumption in order to optimize the total running time or vice versa [15, 16]. Chun et al. [14, 15] further implemented different categories of the proposed Clone Cloud prototype in the literature in the application-layer VM layer, which has the relative ease of manipulating the application executables and described the implementation choices in details. Three applications were used to evaluate the implemented prototype and to measure the energy and time consumptions. Each application was running on the phone in a monolithic execution and on the Clone Cloud where it is optimally partitioned with two settings: with WiFi and with 3G, resulting in 9 experiments. In conclusion, clone could decide to off-load 6 out of 9 experiments with the Wi-Fi setting, and 5 out of 9 in the 3G setting without a programmer’s intervention using the application unmodified binaries only. The Clone Cloud implementation achieved a speed up of 20x and energy consumption decrease of 20% on the three mobile device applications [14, 15]. D. CLOUDLET Cloudlet is a set of high-performance computers connected to the Internet. The mobile devices establish a connection to the nearest cloudlet using Wi-Fi [24]. It provides a way to reduce the power consumption in mobile devices. Authors in [24] provided a scalable cloudlet-based mobile computing model to save the power consumption and reduce the communication delay. This model merges the MCC with the nearest cloud to the users’ mobile device.

The architecture of this model is a set of cloudlets which are connected to enterprise remote cloud. While a mobile device moves, it gets connected to the nearest cloudlet that performs the needed computation. If the Mobile device moves out of the current cloudlet coverage, it tries to find another nearby cloudlet in order to complete its tasks. If no cloudlet is available in the mobile device area, the mobile device accesses directly the enterprise cloud via the 3G network. The experimental results show that, using WiFi is preferable compared to 3G because accessing the enterprise cloud directly requires much more delays than accessing the enterprise cloud via a cloudlet. Authors in [5] has extended the work in [24] and proposed a MCC system based on large scale cloudlet deployment using the CloudExp simulation tool. This model provides a large coverage area for mobile devices. As a result, the issues of delay and power consumption per each mobile device are reduced by increase the number of cloudlets. In [25], the authors presented an energy optimization mathematical model for the proposed MCC cloudlet –based architecture in [24]. An architecture that uses cloudlet connected through WiFi instead of offloading to the distant cloud is introduced in [26] to increase the overall performance of mobile devices. V.

POWER OPTIMIZATION IN CLOUD DATA CENTERS

In the context of saving power consumption as mentioned above, the smart devices migrate their storage and computation to cloud data centers. The data centers expand their infrastructure dynamically to meet the increasing users’ requirements. So, cloud data centers consume huge energy due to the increasing ICT equipment. Accordingly, CO2 emissions rise [30].However, the cloud environments itself need to save their power consumption. In fact, 90% of electricity in cloud data centers is consumed by the information technology devices (server, storage, and network) and the cooling facility [26]. Recently, Cloud providers need solutions to build a Green Cloud Computing to save energy, reduce the operational costs, and reduce CO2 emissions. In [27], the authors studied the existing energy saving techniques related to each component in the cloud data center. They discussed storage, cooling system, network, and processors in more details data centers. They also proposed a set of feasible solutions for building a green cloud computing. The authors in [28] investigated an energyefficient network resources management aiming for saving power in cloud data center. In their approach, the network nodes are turned on or off depending on a heuristic decision of energy-efficient multi-level network resource

management algorithm. The selected topology in their study is the 3-tier cloud data center architecture with one core. Their architecture includes: a dynamic manager to analyse the network elements, the network analyser component to allocate resources, the power monitor to evaluate the power consumption for every working node in the topology, and the power controller which turns the nodes on or off to save power depending on the algorithm decision. This algorithm solves three problems: (1) decide which VM should be migrated from the overloaded host. (2) Determine VM migration destination. (3) Determine the overloaded working node that led to the migration decision and the under-loaded working node leading to the VM live migration from the current PM to switch it to the off mode. The algorithm was implemented in a virtual cloud data center using Snooze framework. Analysis of the results shows that their proposed approach can save up to 75% of the power consumption compared to other algorithms such as NPA, PA, and Greedy. The energy consumption in private cloud data center can be reduced by 20%. This result is obtained by applying energy optimization polices through the prediction model [30]. Authors in [30] studied the energy saving in case of private cloud environments by analyzing the resources for each ICT entity in terms of their energy consumption. The goal of the analysis is to design a prediction model for energy consumption for each entity in the ICT (Network equipment, server, and storage device). VI. CONCLUSION Mobile cloud computing (MCC) is one of the evolving mobile technology trends that combines the advantages of both mobile computing and cloud computing. Mobile cloud computing technology can reduce the energy consumption in mobile devices. The applications with heavy computation tasks are transferred to the cloud and only the results are sent back to the mobile device. This reduces the processing time and accordingly the consumed power. In this paper, we presented efficient techniques to reduce energy consumption in MCC. Among these techniques are: offloading, green MCC, Cloudlet architecture, and clone cloud. ACKNOWLEDGMENT This work is funded by grant number (11-INF2060-10) from the Long-Term National Science Technology and Innovation Plan (LT-NSTIP), the King Abdul-Aziz City for Science and Technology (KACST), Kingdom of Saudi Arabia. We thank the Science and Technology Unit at Umm A-Qura University for their continued logistics support.

REFERENCES [1] http://www.idc.com/getdoc.jsp?containerId=254912 [2] http://www.gartner.com/newsroom/id/2867917. [3] ZA. Khan, J. Siddiqui, SS. Sohail, "An Extensive Survey on Mobile Cloud Computing." Open Journal of Computer Science and Engineering Survey 3.1 (2015): 52-61. [4] D. Dev, and KL. Baishnab, "A Review and Research Towards Mobile Cloud Computing." Mobile Cloud Computing, Services, and Engineering (MobileCloud), 2014 2nd IEEE International Conference on. IEEE, 2014. [5] L. Tawalbeh, Y. Jararweh, F. Ababneh, and F. Dosari, "Large Scale Cloudlets Deployment for Efficient Mobile Cloud Computing." Journal of Networks 10.01 (2015): 70-76. [6] L. Tawalbeh, NS. Darwazeh, RS. Al-Qassas, and F. AlDosari, “A Secure Cloud Computing Model based on Data Classification”. In the 6th International Conference on Ambient Systems, Networks and Technologies (ANT 2015), UK. June, 2015. [7] X. Ma, Y. Cui, and L. Wang, "Energy optimizations for mobile terminals via computation offloading." 2012 2nd IEEE international conference on parallel distributed and grid computing (PDGC). IEEE, New York. 2012. [8] D. Kovachev, "Framework for computation offloading in mobile cloud computing." IJIMAI 1.7 (2012): 6-15. [9] M. Shiraz, A. Gani, and RH. Khokhar, "A review on distributed application processing frameworks in smart mobile devices for mobile cloud computing."Communications Surveys & Tutorials, IEEE 15.3 (2013): 1294-1313. [10] K. Kumar, and YH. Lu, "Cloud computing for mobile users: Can offloading computation save energy?" Computer 4 (2010): 51-56. [11] K. Kumar, J. Liu, YH. Lu, and B. Bhargava, "A survey of computation offloading for mobile systems."Mobile Networks and Applications 18.1 (2013): 129-140. [12] N. Chandrakant, "Green Computing and Mobile-Cloud-Computing Inspired Middleware for Next Generation." International Journal of Advanced Research in Computer Science and Electronics Engineering (IJARCSEE) 2.7 (2013): pp-542. [13] E. Benkhelifa, T. Welsh, L. Tawalbeh, and Y. Jararweh, ” User Profiling for Energy Optimization in Mobile Cloud Computing.” The 6th International Conference on Ambient Systems, Networks and Technologies, ANT (2015). [14] BG. Chun, and P. Maniatis,”Augmented Smartphone Applications Through Clone Cloud Execution." HotOS. Vol. 9. 2009, p. 8-11. [15] BG. Chun, S. Ihm, P. Maniatis, and M. Naik, “Clonecloud: boosting mobile device applications through cloud clone execution.”. arXiv preprint arXiv:1009.3088(2010). [16] BG. Chun, S. Ihm, P. Maniatis, M. Naik, and A. Patti, "Clonecloud: elastic execution between mobile device and cloud." Proceedings of the sixth conference on Computer systems. ACM, 2011, p. 301-314. [17] K. Fekete, K. Csorba, T. Vajk, B. Forstner ,"Towards an Energy efficient Code Generator for Mobile phones." Cognitive Infocommunications (CogInfoCom), 2013 [19] IEEE 4th International Conference on. IEEE, 2013. [18] Y. Jararweh, Z. Alshara, and M. Jarrah, "Teachcloud: a cloud computing educational toolkit."International Journal of Cloud Computing 1 2.2-3 (2013): 237-257. [19] Y. Jararweh, M. Jarrah, Z. Alshara, and MN. Alsaleh, "CloudExp: A comprehensive cloud computing experimental framework." Simulation Modeling Practice and Theory 49 (2014): 180-192. [20] R. Buyya, R. Ranjan, and RN. Calheiros. "Modeling and simulation of scalable Cloud computing environments and the CloudSim toolkit: Challenges and opportunities." High Performance Computing & Simulation, 2009. HPCS'09. International Conference on. IEEE, 2009. [21] F. Xia, F. Ding, J. Li, X. Kong, LT. Yang, and J. Ma, "Phone2Cloud: Exploiting computation offloading for energy saving on smart phones in mobile cloud computing." Information Systems Frontiers, 16.1 (2014): 95111. [22] W. Zhang, Y. Wen, K. Guan, D. Kilper, H. Luo, and D.O. Wu, “Energy-optimal mobile cloud computing under stochastic wireless channel." Wireless Communications, IEEE Transactions on 12.9 (2013): 4569-4581.

[23]A. Núñez, JL. Vázquez-Poletti, AC. Caminero, GG. Castañé, J. Carretero, and IM. Llorente, "iCanCloud: A flexible and scalable cloud infrastructure simulator." Journal of Grid Computing 10.1 (2012):185-209. [24] Y. Jararweh, L. Tawalbeh, F. Ababneh, A. Khreishah, and F. Dosari, "Scalable cloudlet-based mobile computing model. "Procedia Computer Science 34 (2014): 434-441. [25] M. Al-Ayyoub, Y. Jararweh, L. Tawalbeh, E. Benkhelifa, and A. Basalamah , “Power Optimization of Large Scale Mobile Cloud Computing Systems”, IEEE Fi-Cloud, 3rd International Conference on Future Internet of Things and Cloud, Rome, Italy, 24-28 Aug, (2015). [26] Dhanya, N. M., and G. Kousalya. "The Effect Of Cloudlets In Offloading Application To Cloud From Mobile Devices For Energy Efficiency." International Journal of Applied Engineering Research, Research India Publications, Volume 10, Number 4, p.10041-10054 (2015). [27] SY. Jing, S. Ali, K. She, and Y. Zhong, "State-of-the-art research study for green cloud computing." The Journal of Supercomputing 65.1 (2013): 445-468.

[28] Y. Jararweh, H. Ababneh, M. Alhammouri, and L. Tawalbeh. “Energy Efficient Multi-Level Network Resources Management in Cloud Computing Data Centers”. Journal of Networks. VOL. 10, NO. 5, MAY 2015. [29]K. Parveen, and AK. Rai. "An overview and survey of various cloud simulation tools." Journal of Global Research in Computer Science 5.1 (2014): 24-26. [30] R. Basmadjian, H.D. Meer, R. Lent, and G. Giuliani, "Cloud computing and its interest in saving energy: the use case of a private cloud." Journal of Cloud Computing 1.1 (2012): 1-25. [31] G. Sakellari, G. Loukas, “A survey of mathematical models, simulation approaches and testbeds used for research in cloud computing”, Simulat. Modell. Pract. Theory (2013): 92–103 .

Suggest Documents