Resilience Mobile Cloud Computing: Features ... - IEEE Xplore

3 downloads 0 Views 273KB Size Report
1Computer Engineering Department,. 2Physics Department, Faculty of Science. Umm Al-Qura University,. Al-Balqa' Applied University,. Makkah, Saudi Arabia ... nowadays. It merges the cloud computing technologies with mobile devices to ...
2015 Fifth International Conference on e-Learning

Resilience Mobile Cloud Computing: Features, Applications and Challenges Lo’ai Tawalbeh1, Norah Alassaf1, Waseem Bakheder1,

Alaa Tawalbeh2 2

1

Computer Engineering Department, Umm Al-Qura University, Makkah, Saudi Arabia [email protected], [email protected], [email protected]

Physics Department, Faculty of Science Al-Balqa’ Applied University, Jordan [email protected]

an example, multimedia applications that require high processing capabilities are executed on the cloud systems and the final results are returned back to the mobile device. Additionally, MCC inherits some advantages of clouds such as scalability and support multi users and the integration of security services such as confidentiality and integrity [3].

Abstract- Mobile Cloud Computing is a very important trend nowadays. It merges the cloud computing technologies with mobile devices to overcome the limitations of these devices such as limited battery life time, limited processing and storage capabilities. The tasks that need massive computations can be performed on the cloud efficiently and the results will be sent back to the mobile device, this way, the mobile battery and resources will be saved. This Paper presents overview of Mobile Cloud Computing and efficient architectures and applications. Also, we will present several important features and challenges for mobile cloud computing systems including resilience, security, scalability and availability.

There are three basic components in Mobile Cloud Computing: mobile device, wireless communication channel and cloud as illustrated in figure1. [4]. The mobile device is a resource constrained and have many different hardware manufacturers, storage devices, and operating systems which might create compatibility issues at integration that might cause system unavailability. Achieving availability by storing and backing up the users data on the cloud servers. This will reduce the data loss chances and avoids a single point of failure [5]. Wireless communication channel has several radio access technologies such as 3G, WLAN, GPRS and WiMax, and each one has its network configurations. In this paper we are going to discuss the Mobile Cloud Computing architectures and deployments, challenges and limitations, applications of Mobile Cloud Computing, and features including resilience, security and scalability.

Keywords— Mobile systems applications; cloud computing; cloudlet; efficiency; security; resilience.

I. INTRODUCTION The mobile devices plays major role in our daily life. We continuously use our smart phone and tablets during the day and night. A survey showed that a normal person checks his mobile around 110 times a day [1]. We use them to create and share documents, store and play movies, for social media, and internet shopping. In addition to that, the original use of these devices for voice/ video calls and messaging. With the growing demand on mobile devices and the increase of useful applications installed on them with sophisticated computations, there is a growing challenge and related efficiency requirements that need to be addressed [2]. For example, there is a need on speeding up complex tasks such as image processing and computer vision to avoid long delays to meet the high expectations of the mobile device users. Cloud computing involves distributing the load on the computer resources connected to each other over the internet. Also, it is based on virtualization of modern data centers which involve thousands of interconnected servers with capability of including a large number of applications. These resources are available to the user as on- demand services with many benefits such as scalability, mobility and availability [3]. The concept of Mobile Cloud Computing (MCC) provides the mobile devices users with data storage and processing services from the cloud. MCC is an integration of cloud computing and mobile environment offering the smart phones user’s new facilities and services on their devices that was difficult to be achieved without the existence of the cloud. As 978-1-4673-9431-4/15 $31.00 © 2015 IEEE DOI 10.1109/ECONF.2015.59

Fig. 1. Mobile Cloud Computing components.

The rest of this paper is organized as follows: Section II provides an overview of Mobile Cloud Computing architecture and efficient deployments. Section III presents

272 280

III. MOBILE CLOUD COMPUTING FEATURES

MCC features and challenges with their solutions. Section IV presents cloud testing, and finally section V concludes this paper.

This section presents main features and benefits of MCC.

II. MOBILE CLOUD COMPUTING ARCHETUCTRE AND DEPLOYMENT

1) Improving reliability using Mobile Cloud Computing By storing data or running applications on clouds we achieve a high reliability since data and applications are stored and backed up on several computer, this will reduce the chance of data loss. 2) Reducing Energy Consumption and Extending battery life time Energy efficiency is a major issue in Cloud computing infrastructure, and the battery life time is one of the main concerns for mobile users. By using mobile cloud computing the complex computations that need intensive processing will move from source limited devices to resourceful servers in the cloud system. As a result, the execution time will be shortened and power consumption will be reduced. Extending battery lifetime is very important feature in mobile devices [7]. Users prefer to use real-time and interactive applications. But such applications require high computing resources and consumes huge amount of power. The cloud service providers and developers focus on energy issues and challenges. There are many techniques used to save power in mobile cloud computing systems [8], [9].[10], [11]. One approach to reduce the power consumption of the mobile devices is through user profiling [8]. Another approach to reduce power consumption at large scale, is by optimizing consumption at the data centers [9]. The large power consumption is mainly attributed to the large number of modern data centres operating within. Developing these data centres includes dynamically expanding their infrastructures to meet the ever-increasing demand for huge computation, large storage, and massive communication. Energy conservation through optimization of resources and management policies in the Cloud are a viable solution. Using virtualization to save power and employing such practices as using Virtual Machines (VMs), Server Consolidation, and VM Live Migration [9].

In the typical MCC model, the mobile devices are directly connected to the Enterprise Cloud (EC) through known technologies such as 3G/4G/LTE. This connection consumes the mobile device battery, and in most cases there is a network latency encountered. Taking in consideration that not all of these mobile devices do need to use the EC all the time to perform complex tasks, there should be another MCC model to save the energy and reduce the latency. The Mobile Cloud Computing Model based on the cloudlet is proposed to solve the energy/latency problems [6]. Cloudlet is a trusted computer or a group of computers-cluster have a high capabilities and connected to the internet. It allows the user to get the services from the cloudlet instead of the cloud itself. Consequently there will be low latency, one hop wireless access point, high bandwidth and real time response. Figure 2 shows two types of architectures in mobile cloud computing: Cloudlet and Non-Cloudlet Architectures. In NonCloudlet Architecture, there are three components: mobile device, communication channel and cloud. The mobile device sends a request to the Enterprise Cloud (EC) and the cloud provides the service. In this scenario, there is a noticeable high latency due to the fact that the EC services thousand of requests at a time. The proposed solution is to use the cloudlet architecture where the mobile device communicates first with the local cloudlet requesting for the service. If not found, or the cloudlet don’t have the processing capability to provide it, then the mobile user will be forwarded to the EC. It is worth mentioning that the connection between the mobile and the user is through available cheap technologies such as WiFi not 3G/LTE. More details about the Cloudlet-based mobile cloud computing model and deployment at large scale are presented in [4].

Furthermore, the mobile cloud systems based on the cloudlets was originally proposed to reduce the power consumption and latency [6]. This task will be more difficult when large scale cloudlet systems are deployed. It will force different cloudlets to cooperate in order to meet the users demands for different types of services. This cooperation will require routing of user requests from the local cloudlet to a remote cloudlet. As a result, the total power consumption per request which will be the summation of the user to the local cloudlet power consumption and the power consumption for routing the request to a remote cloudlet. The work in [11] address the problem of optimizing the power consumption for large scale cooperative cloudlets deployments and propose efficient mathematical model for power consumption under different realistic scenarios.

Fig. 2. Types oTf Architectures in MCC.

281 273

TABLE I. Management Methods

On the other side, the designers aim to design powerefficient operating system and applications. And since the programs on our smart phones are either OS-related or applications, we should ask the question: who will be responsible for energy management? There are three management approaches, application will do the management but the problem is there is no main entity responsible for monitoring and supervising resource consumption. The other approach is that the OS monitors and manage energy resources but this approach has the scalability problem. The last approach is hybrid in which the OS and the application will be aware of the resource utilization and supervision and that will help us to improve performance.

Centralized

De-Centralized

Where the Enterprise cloud responsible for tracking and managing mobile device movement and this can be done by storing tracking information for mobile device.

Mobile device is responsible for managing its movement by storing a movement history and the currently running services and the current cloudlet, because the new cloud need to know the old one if there is a task that wasn’t completed.

As an example, lets assume that we have one enterprise cloud and 6 cloudlets that will serve a number of mobile devices. To reduce the overhead on the enterprise cloud we can say one of the six cloudlet will elect itself to be a master –aggregate the cloudlet requests then send a one request to the enterprise cloud. The master cloudlet must change periodically to distribute the overhead just like that the cloudlet that has not been a master cloudlet for a long time is more likely to elect itself than a cloudlet serving just recently. Furthermore, if there are only few cloudlets, then the expected distance between the mobile device and the cloudlet becomes longer and therefore the mobile have to spend more energy to reach its cloudlet. On the other hand, if there are many cloudlets, there will be more energy expensive transmissions from cloudlet to the enterprise cloud and less aggregation.

3) Security and privacy Protecting the data users information from adversaries is essential to guarantee customer trust in the mobile cloud computing environment. Mobile cloud computing security issues can be classified into two categories. The first one is Mobile users security: Mobile devices are exposed to various security threats like malicious codes and other applicationsrelated vulnerabilities. For example, GPS applications can cause some privacy issues. It is recommended that mobile users should install and run security software to detect threats. The second category is securing data on the cloud servers. it is the case when the users have no control on data and they don’t know anything about its location even. Maybe the data will be lost due to physical damage or a malicious insider.

6) Fault tolerance

Example of Mobile cloud computing risks might be internal were a customer can put a virus into cloud server which may compromise data of other customers and unfortunately cloud will not be able to track him/her due to privacy policy.

Most existing research and implementations put the light on architecture specific solutions to introduce fault tolerance [14]. Users who are using cloud computing they are more concerned about it’s reliability. The fault tolerance is a very important feature that should be incorporated in cloud computing systems to avoid significant commercial and reputation loss. As an example, when Amazon faced a failure in Elastic Block Storage (EBS) drivers and network configuration [15], the problem shot down thousands of hosted applications and websites and this cost the company a lot of money. In result, the applications need fault tolerance abilities so they can be such robust to overcome the impact of a single point of failure and execute the functions correctly [16]. Nowadays, the application developer of cloud delivery models must build reliable software that can handle environmentspecific features. Even though, there are some limitations such that the user needs to know about configuration, selection and integration of applications with available fault tolerance framework. Also, another limitation facing fault tolerance implementation is having an abstraction layers in cloud architecture results in non-transparent and non-flexible environments that requires too much effort by developers since there is no details about the infrastructure.

Other security risks might be due to a technical error. For example in IaaS a security threat might happen because of lack isolation of virtualization in case of having several virtual machines hosted on a single server [12]. 4) Scalability Mobile applications can be scaled up and scaled down to meet unpredictable user demands. In contrast the service provider can easily scale and expand services. The work in [13] presents scalable mobile cloud computing model. 5) Management Mobility allows users to move from place to another and accordingly, there coverage area will change too. In MCC, the mobile device must keep track of the previous, and current clod systems dealing with. This is important because the current cloud needs the data from the previous cloud to continue working on it. There are two main management methods in MCC cloudlet based model as shown in Table 1.

7) Seamless connection handover When we are moving from one access point to another access point or from WiFi to 3G, our applications will

282 274

terminate or return errors. As illustrated in figure 3, the AP represents a cell, and when we are moving from one AP to another the service and connection quality might vary. We can observe the neediness of using variety of access networks to make services available to users. The key technique here is how we can accomplish a seamless heterogeneous handover. Obviously the performance of vertical handover will immediately impact the assurance of quality of service. Handover faces a lot of challenges, and the available handover algorithms don’t have a high efficiency and feasibility[17].

2- Compliance: Standard in terms of data handling. 3- Latency: Due to communication problems, databases, input/output. 4- Endurance: Should be one hindered availability [20]. Performance testing: The major types of performance test are: loads, stress, reliability, scalability, volume and interoperability. In traditional performance testing scenario there is the application to be tested located at the lab with a load controller and then the load generators located at various remote locations. Many testing technology tools available like load storm, load impact, push to test and platform lab. There are many challenges facing testing in the cloud environment such as: lack of standards, security and privacy concerns, lack of control and Internet dependency [21]. Mobile applications became a part of our daily life, and hence we are looking for best quality applications, the need for testing rises to ensure that. Testing a mobile application differs than a traditional application due to device diversity since every mobile device have different screen size, screen orientation, the available memory, chipset, OS, and architecture [22]. Mobile applications testing challenges illustrated in figure 5. There is a different type of cloud testing: stress, compatibility, load, performance, browser performance, latency and functionality. There is a different automated testing tools that that can be used [22]

Fig. 3. Handover in Cloudlet-based Mobile Cloud Computing

8) Resilience and Bandwidth: Cloud business rely on infrastructure and services delivered through the internet. But there are many risks facing this business such as they are vulnerable to network outages. Internet can be considered high resilient, but the difficulties came from a physical damage or form a local providers with servers gone down. It doesn’t matter if we are using private cloud or public cloud, the important thing is that the cloud infrastructure must be right resilient. The bandwidth is not unlimited so in public cloud computing users may suffer some latency especially in peak demand [18].

IV. CLOUD AND MOBILE APPLICATIONS TESTING

Fig. 5. Challenges in cloud testing

On the other hand, people spent most of their time checking their mobile applications and moving from one application to another [23]. There is a wide range of useful mobile cloud computing applications such as: Mobile Commerce and banking which is estimated to be about $ 23 billion by 2016. Mobile Learning, is also a useful application to facilitate access to the education systems. Also, mobile healthcare, image processing, social networking, and gamming [23].

Testing-as-a-service (TaaS) is a new model to provide testing capabilities to the end users, developers and businesses. Users can reduce the cost of complicated maintenance and updated effort. Service providers can update their services without effecting the end-users. With the testing services users can compare product reliability. The ease of detecting and solving bugs will also minimize the time between detection and the final bug fix [19]. There are many types of testing. Figure 2 shows some of them: Functional testing: that include control tasks: 1- load/performance: to check response time, max load.

283 275

V. CONCLUSION

conference on Hot topics in cloud computing (pp. 4-4). USENIX Association, June 2011. [11] 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). [12] S. Malik, and M. Chaturvedi. “Privacy and Security in Mobile Cloud Computing: Review. International Journal of Computer Applications”. 80(11), 20-26, 2013

Mobile cloud computing is a highly promising trend and it became one of the top research topics nowadays. Mobile cloud computing integrates the advantages of both cloud computing and mobile devices (mobility). In this paper, we viewed MCC efficient architecture that was proposed based on cloudlet to save energy and reduce network latency. Also, we presented main challenges and issues related to MCC such as security, resilience, fault tolerance, and reliability. Also, we addressed cloud and mobile applications testing. We conclude that MCC will continue spreading and at the same time more challenges and requirements will continue to appear. Some of these issues and challenges have solutions and but others need more effort and research to solve them.

[13] Y. Jararwah, L. A. Tawalbeh, F. Ababneh, Abdallah Khreishah and F. Dosari. ” Scalable Cloudlet-based Mobile Computing Model”. In The 11th International Conference on Mobile Systems and Pervasive Computing-Mobi-SPC 2014, ELSEVIER, Procedia Computer Science 34, pp.434 – 441, Niagara Falls, Canada, , August 17-20, 2014. [14] R. Jhawar,V. Piuri, and M Santambrogio.”A comprehensive conceptual system-level approach to fault tolerance in cloud computing”. InSystems IEEE Conference (SysCon), March, 2012. [15] Amazon EBS. http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEB S.html [16] R. Jhawar, and V. Piuri. “Fault tolerance and resilience in cloud computing environments”. Computer and Information Security Handbook,125-141, 2013. [17] Q. Xiaona, and L. Qing. “A Vertical Handoff Decision Algorithm Based on the Movement-Aware of Mobile Nodes”. In P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC) Ninth IEEE International Conference on (pp. 54-61), Nov. 2014. [18] Understand the challenges and benefits to moving to a resilient cloud architecture online available at: http://www.sungardas.com/Documents/cloud-computing-resilienceis-the-key-to-success-CLD-WPS-039.pdf [19] J. Gao, X. Bai, W.Tsai, and T.Uehara. “ Testing as a service (TaaS) on clouds. In Service Oriented System Engineering (SOSE)”, IEEE 7th International Symposium on (pp. 212-223), March 2013. [20] A. Kaur , N. Singh, and G. Singh “An overview of cloud testing as a service”.International Journal of Computers and Technology, Volume 2 No.2 April 2012. [21] G. Candea, S. Bucur, and C. Zamfir. “Automated software testing as a service”. In Proceedings of the 1st ACM symposium on Cloud computing(pp. 155-160), June, 2010. [22] L. Murugesan, and P. Balasubramanian. “Cloud based mobile application testing”. In Computer and Information Science (ICIS), 2014 IEEE/ACIS 13th International Conference on (pp. 287-289), June, 2014. [23] Overcoming mobile cloud computing challenges with distributed apps. online available at: http://www.computerweekly.com/news/2240037496/Overcomingmobile-cloud-computing-challenges-with-distributed-apps

ACKNOWLEDGMENT This work is funded by grant number (13-ELE2527-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 Al-Qura University for their continuous logistics support. REFERENCES [1] How often do you check your phone? The average person does it 110 times a day. available online at: http://www.dailymail.co.uk/sciencetech/article-2449632/How-checkphone-The-average-person-does-110-times-DAY-6-secondsevening.html [2] N. Fernando, S. Loke, S. W., and W. Rahayu. “Mobile cloud computing: A survey”. Future Generation Computer Systems, 29(1), 84-106, 2013. [3] W. Jansen, and T. Granc. “Guidelines on security and privacy in public cloud computing”. NIST SP 800-144, 2013. [4] 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. [5] L. Tawalbeh, N. Darwazeh, R. 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 [6] Y. Jararwah, L. A. Tawalbeh, F. Ababneh and F. Dosari, “Resource Efficient Mobile Computing using Cloudlet Infrastructures”. In the Proc. of the IEEE 9thInternational Conference on Mobile Ad-hoc and Sensor Networks (MSN), IEEE Xplore digital library, pp.373-377, China, December 11- 13, 2013. [7] M. Ali, J. Zain, J. Zolkipli, and G Badshah. “Mobile cloud computing and mobile battery augmentation techniques: A survey. In Research and Development (SCOReD), 2014 IEEE Student Conference on (pp. 1-6), Dec.2014. [8] 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). [9] Y. Jararweha, H. Ababneha, M. Alhammourib, and L. Tawalbeh. “Energy Efficient Multi-Level Network Resources Management in Cloud Computing Data Centers”. Journal of Networks. VOL. 10, NO. 5, MAY 2015 [10] A. Miettinen, and J. Nurminen. “Energy efficiency of mobile clients in cloud computing”. In Proceedings of the 2nd USENIX

284 276