Challenges and Opportunities in Mobile Cloud Computing

Presently, smartphones support a large range of applications, many of which require high computing power. This presents a problem because smartphones offer limited computing power, storage, and energy. Fortunately, Cloud computing (CC) is rapidly becoming known as the state of the art technology in the computer world. CC allows users to use unlimited dynamic resources when necessary. Mobile Cloud Computing (MCC) is integration into a mobile environment of the concept of cloud computing which eliminates barriers to the performance of mobile devices. The demand for mobile cloud applications and mobile user services is strong. This gives MCC a great opportunity to do business and research. However, security problems are a major obstacle to the adaptability of mobile cloud computing. This study presents the definitions of Cloud Computing, Mobile Computing (MC) and Mobile Cloud Computing including the architecture and applications of MCC. Furthermore, it discusses the challenges and opportunities faced in MCC.


Introduction
In the past decade, mobile devices have become ubiquitous in everyone's lives. Since the use of mobile internet, these devices are becoming even more important, leading to convenient communication tools. In particular, smartphones have become the latest market trend as they are capable of performing high computational tasks that can often serve as a comfortable alternative to a full-fledged personal computer. This is a result of the device being 'mobile', this allows the user to get location independence irrespective of his/her movement.
Mobile Computing (MC) is an information management platform that is independent of location and timebased constraints. This platform's autonomy allows users to access data at any time and from anywhere in space [1]. With the growth of the mobile phone market, MCs emphasis is now increasing rapidly. As mentioned earlier, mobile computing has taken over a lot of the heavy workload that previously required a computer. Many daily tasks can now be done easily on a mobile device, for example: setting an alarm, typing an article, editing photos/videos, gaming and many more. Therefore, people choose these devices as their first preference for work and entertainment activities.
Advancements in the field of network-based computing and applications on demand have led to the development of Cloud Computing (CC). It aims to provide computational resources as services in a quick manner, on demand, and pay as per usage. Cloud Computing, in general, refers to a range [1] of services provided by an Internet-based cluster system. The structure of such a cluster system consists of a group of servers and/or personal computers (PCs), providing computer resources following a management strategy while also providing security, reliability, speed and transparent services. The services include: data storage, accessing and computing to clients. The objective behind cloud computing is to let IT departments put their undivided attention on businesses and projects rather than looking after data centers. The CC paradigm is presented in three cloud delivery models: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS) as shown in Fig. 1. Even though it is presumed that mobile devices will be dominating the future computing devices, mobile devices along with applications are still restricted by some constraints such as the battery life, processor potential, memory capacity, and bandwidth of the Smart Phone Devices (SMDS). The challenges faced in mobile computing can be solved by offloading data processing to CC.
In reference to the aforementioned problems, the Mobile Cloud Computing (MCC) paradigm has been integrated. MCC takes advantage of mobile computing, cloud computing and wireless technologies to allow the users to utilize the resources over the cloud. MCC is a subset of Cloud Computing (CC) that provides on-demand network access and storage which allows for different types of services and applications to mobile users. It gives you an extensive number of services as it includes features of both mobile networks and cloud computing. In an MCC, the mobile device does not require high specifications such as a fast CPU, powerful GPU or high memory capacity as all the data and multiple modules are managed in the cloud services.
The incorporation of MCC can be very beneficial as we have discussed, but it also creates the main threat faced by smartphone users. Firstly, there is a communication gap between the users and vendors of mobile devices. Additionally, there is a possibility of misplacing or losing the phone which leads to loss of critical information, both private and business related. There are also reports of the device malfunction, information mishandling and there is a possibility that these might spread to the devices connected in the same platform.

Background
Mobile cloud computing has been conceived as a new phrase since 2009 as a development and extension of cloud computing and mobile computing [2]. Versatility has turned into a famous word and quickly expanding part in the present figuring region. An unbelievable development has shown up in the advancement of cell phones, for example, cell phone, PDA, GPS Navigation and workstations with an assortment of portable registering, systems administration and security advancements. Moreover, with the advancement of remote innovation like WiMAX [2], Ad Hoc Network and WIFI, clients might surf the Web a lot less demanding yet not restricted by the links as previously. Hence, those cell phones have been acknowledged by more and more individuals as their first decision of working and stimulation in their day by day lives. Cloud computing is a registering style in which adaptable and adaptable IT functionalities are conveyed as support of outer clients utilizing Internet advancements. Cloud computing is certifiably not a progressive thought; instead, it is a transformative idea that coordinates different existing innovations to offer a valuable new IT provisioning device. Portable processing depends on an accumulation of three significant ideas: equipment, programming, and correspondence. The ideas of equipment can be considered as cell phones, for example, cell phone and PC, or their portable parts. Programming of versatile figuring is the various portable applications in the gadgets, for example, the portable program, hostile to infection programming and recreations. The correspondence issue incorporates the foundation of versatile systems, conventions and information conveyance in their utilization. They should be straightforward to end clients.
There are many features of cloud computing: a) Mobility: Mobile nodes in the versatile registering system can build up an association with others, even fixed nodes in wired organize through Mobile Support Station (MSS) amid their moving [3]. b) Diversity of network conditions: Ordinarily the systems utilizing by mobile nodes are not remarkable, such systems can be a wired system with high-transmission capacity, or a remote wide Area Network (WWAN) with low-data transfer capacity, or even in the status of detached [3]. c) Frequent disconnection and consistency: As the impediment of battery control, a charge of remote correspondence, organize conditions, etc., versatile nodes won't generally keep the association, yet separate and predictable with the remote system inactively or effectively [3].
inexorably unpredictable and regularly changing arrangement of centralized server PCs to process their information [7]. In the good old days, centralized computer PCs were enormous and restrictively costly. With time-sharing, a few clients could get to a centralized server PC from associated stations that conveyed no preparing intensity of their own. This sort of shared computational power is the fundamental reason for the cloud. There are so many definitions and characteristics of cloud computing given by different platforms. Among them, the definition given by the National Institute of Standards and Technology (NIST) has gained popularity. They basically said cloud computing should have five essential characteristics, three service levels, and four deployment models [7]. The five characteristics are: Security issues are a major thing in cloud computing. In cloud computing, security issues appeared to be the greatest obstruction that could subvert the wide advantages of cloud computing. The new ideas that the cloud presents, for example, multi-occupancy, makes new difficulties to the security network. Tending to these difficulties requires proposing new security strategies, models, and conventions to address the interesting cloud security challenges, notwithstanding the ability to develop and adjust the security efforts produced for different frameworks. Security has been one of the principal obstructions to the selection of the Cloud worldview, particularly by expansive associations managing clients' touchy data. The quick development of the Cloud has made it an alluring assault focus for both outer assailants and pernicious insiders. Huge numbers of the security assaults that happen in non-Cloud situations can happen in the Cloud too, yet a portion of those might be exacerbated, and some may stay unaffected in the new Cloud worldview.
The decades that pursued, from the 1970s to the 1990s, saw numerous progressions in the innovation required for genuine cloud computing. PC giant IBM, for instance, discharged a working framework in 1972 called the VM (Virtual Machine) working framework. The 1990s saw a few broadcast communications organizations offer their very own variants of virtualized private systems (VPNs). When it began to spread, cloud computing got on rapidly and simply continued developing. While there is some debate about the team's starting point, cloud computing was at that point a lively and developing resource for organizations, instructive offices, and numerous others by 1996. Cloud computing is making new changes, both for organizations and individuals keen on working in the field of PC sciences. Cloud computing enables organizations to have adaptability and proficiency to satisfy new and developing needs. It gives the framework, programming, and stages important for accomplishment in the present business scene, regardless of where they're required. Be that as it may, as the nearness of cloud computing turns out to be increasing across the board, the interest for experts who can deal with these systems appropriately is additionally ending up progressively articulated.

Cloud computing
Cloud computing refers both to applications provided as Internet services and to computer hardware and system software in the data centers. As previously mentioned, CC is commonly described as a variety of facilities which are provided by a group of low-cost servers or personal computers, generally called a cluster, via the Internet [2].
Cloud services are very useful since they include online storage of files, social networking, webmail, business apps, etc. Businesses can use software and hardware managed by third parties at remote locations through the use of these services. It is a very recent form of computing that delivers computational power, storage system/ database, applications, and other IT resources through cloud services platform via the internet having a pay-as-you-go pricing. Computing is offered as a utility much like electricity, water, gas, etc. where you only pay per use. For example, Amazon's Elastic cloud, Microsoft's Azure platform, Google's App Engine, and Salesforce are some public clouds that are available today [4]. These global organizations are trying to provide more reliable averagely priced and powerful cloud services.
CC offers three main advantages to users and businesses: (1) massive on-demand computing resources, (2) use payment as necessary and on a short -term basis, and (3) Simplified capabilities for IT management and maintenance [5].
Cloud computing system has a layered architecture as shown in Fig 1. The three layers are: a) Software as a Service (SaaS) The traditional software purchase method requires that the customer install an application locally on their computer and use licenses to authorize the use [6]. The customer pays on a subscription level for the software with SaaS and does not have to install any software on their computers. Software is provided on the cloud and it can be accessed simultaneously by many users or organizations. Any application that is delivered over the Internet and remotely hosted can be called as SaaS. Software as a Service (SaaS) includes an extensive method of using applications as required. Some other services provided by Google online office such as documents, spreadsheets, presentations are all SaaS. What Google offers with Google Docs is a user -friendly, but not directly alterable application. It's like a traditional computer program, but it's used online. What distinguishes SaaS from PaaS and IaaS is that the user will not alter the application itself, the hardware running on it, or the configuration of the network. The SaaS eliminates the need to install and run the software on the user's computers and reduces additional software maintenance, operations, and support costs [6].

b) Platform as a Service (PaaS)
It is the architecture's second layer and is considered to be the system's most important layer [1]. This service enables users to use the memory, server, platforms, and services under certain payment terms. PaaS offers the ability to create and modify applications compared to SaaS, where the application exists and usually belongs to the cloud provider. It is an outgrowth of the SaaS application delivery model. Various tools such as programming languages and application programming interfaces (API) are provided to assist developers. An example of PaaS is Google App Engine, which offers the option of creating Java, Python and Go applications on Google servers [6].

c) Infrastructure as a Service (IaaS)
It is the lowest layer and a third party hosts elements of infrastructure, such as hardware, software, servers, and storage, also providing backup, security, and maintenance [1]. This layer allows users to install the applications of the operating system and software. Thus, it is denoted as IAAS. The existing cloud server network infrastructure does not lie with the user, but rather with network options such as firewalls, storage, operating systems, etc.
The client can select the environment for the operating system, database and application development that gives the client more control over the hardware compared to PaaS. The client can set up the servers according to their requirements, which usually involves more maintenance compared to PaaS, but also more options [6].

Characteristics of Cloud Computing
Cloud computing environment has several innate features as outlined below: 1. On-demand self-service Cloud services are always accessible, independent from the platform and are frequently accessed via a web browser or a web service API without having to go through a particular service provider [6].

Broad Network Access
Cloud capability is available over the network, and standard mechanisms can be accessed by users to support various types of customer platforms. Resources can be easily obtained from a network by using a set of standard tools using heterogeneous platforms such as mobile phones, PDAs and others [8].
3. Resource Pooling Data and resources are divided into a large number of servers, which are usually geographically spread and the resources needed are directed according to the service's computational need. This resource facility provides the providers with flexibility as they are able to manipulate the use of resources and manage operating costs [6].

Rapid elasticity
The allocation of resources is elastic, i.e. it should be able to adapt to changes and demand. It means the system should be sufficiently elastic to satisfy the need for increased demand and return to its normal level when demand drops. The users consider this offer to be unlimited and can be purchased in the quantities required at any time [8].

Measured Service
The use of the services is continuously measured and monitored, enabling optimized usage support, reporting to users and using the business model ' pay as you use '. In other words, service costs are based on usage. For example, an hourly or monthly rate, traffic load or user numbers [8].

Cloud computing deployment models:
There are three different types of cloud application deployment, level of access and usage models, which cloud computing architects must consider as public, private, and hybrid clouds. Another type of cloud deployment is a community cloud [8].

Public Cloud
A public cloud is based on the standard cloud computing model, which allows a service provider to provide the Internet to the general public with resources, such as virtual machines (VMs), applications and storage. Public cloud services can be offered free of charge or on a pay -per -use model. Examples of public cloud suppliers providing services to the public are Google, Amazon, and Microsoft [6].

Private Cloud
Private cloud is a cloud computing model that provides IT services for a single organization via private IT infrastructure [10]. Usually, a private cloud is managed through internal resources. Only the members of the organization and/or the granted third parties have access to the cloud infrastructure. The purpose is not to provide the general public with cloud services, but to use them within the organization. For example, a company that wants customer data to be made available to its various stores.

Community Cloud
The community cloud is a cloud-based service model that provides a cloud computing solution that is commonly controlled, operated and safe for a small number of people or organizations. These organizations have shared concerns (e.g., mission, security requirements, policy, and compliance considerations)" [6].

Hybrid Cloud
Hybrid cloud is a cloud computing environment that uses a mixture of on-site, private cloud and thirdparty orchestrated public cloud services between the two platforms. Hybrid cloud provides businesses with greater flexibility and more data deployment options by allowing workloads to move between private and public clouds as computing needs and cost changes. For instance, a company that has its HR and CRM applications in a public cloud such as Saleforces.com but then has confidential data in its own private cloud [6].

Mobile cloud computing
Mobile Cloud Computing (MCC) is a very recent form of Cloud Computing, where mobile applications are built or powered by cloud computing technology. It is fast developing and widely used for data processing and storage in mobile devices. Mobile cloud applications move computing power and data storage from mobile phones and the cloud to a much wider range of mobile subscribers, bringing apps and mobile computing to non -smartphone users. The number of users of mobile devices has grown rapidly in considerably a short time. Almost every individual owns at least one Smartphone Device (SMD) and with the increase in the number of SMDs [8], the use of internet in SMDs has also increased. In light of the high level of internet use, MCC is expected to play a major role in the IT industry.
A mobile cloud approach allows developers to build mobile user -specific applications without being bound by the smartphone's mobile operating system and computing or memory capacity. MCC has attracted the attention of business people as a profitable and useful business solution that minimizes mobile application development and operational costs and enables mobile users to conveniently acquire the latest technology on demand.

Architecture
Mobile cloud computing can simply be broken down into cloud computing and mobile computing (as shown in Fig 2). These mobile devices can be laptops, PDAs, smartphones, etc. that is connected to a base station by 3G, WIFI or GPRS. This establishes and controls the connections between the networks and mobile devices and their functional interfaces [11]. Requests and information from mobile users (e.g. ID and location) are transmitted to central processors connected to mobile network service servers. The requests of your subscribers are sent via the Internet to a cloud. A web -browser or desktop application delivers subscriber requests to the cloud and then connects with the cloud management component, while monitoring and calculating the mobile cloud computing functions are carried out to ensure that Quality of service(QoS) is maintained until connections have been completed. Basically, the cloud controllers in the cloud will process applications for the appropriate cloud services for mobile users. These services are developed on the basis of utility calculation, virtualization, and service-oriented architecture concepts.
Mobile operators can provide services such as authentication, approval, and calculation of data from the databases of customers and home agents [13].
A cloud computing system's main function is to store cloud data and use client technology to access that data. Furthermore, mobile cloud computing is designed to support mobile users with an architecture based on reliability, safety, and validity. It's mainly based on Access, Management, Virtual and Physical models of four layers.

Access Layer
Responsible for providing interaction between the client and the cloud as a control layer called an access layer [14].

Management Layer
The architecture's management layer provides management services between server clusters and the mobile device requested services [14].

Virtual Layer
The virtual layer contains virtualization of computing, storage, and network resources. Multiple virtual CPUs can be assigned to the application for fast execution in the cluster. Mobile devices may require various storage capacities at the cluster that can be easily supplied by virtually cutting out the total capacity [14].

Physical Layer
Details of physical devices like desktop computers, mobile phones, tablets, smartphones, can be found on the physical level [14].

Opportunities in MCC
Cloud computing is known to be a promising solution for mobile cloud computing due to many reasons (e.g., mobility, communication, and portability).

Extending battery lifetime
Battery power is one of the main concerns for mobile devices [13]. The proposed solutions to this were to change the architecture of the mobile device or adding new hardware which increases the cost of the device hence these may not be feasible for all mobile devices. MCC provided a solution for preserving battery life by offloading resource-intensive applications onto cloud which is a computation offloading technique and then the entire process will be cloud-based after that the result is returned to the mobile device [15]. Thus, this prevents long runtime on mobile devices, which increases the battery life.
2. Improving data storage capacity and processing power Storage capacity for mobile devices is also a constraint. MCC provides unlimited storage on-demand basis. It is designed to allow mobile users to use wireless networks to store/access data in the cloud. In mobile devices, the computing power could be saved by processing cloud applications and the result shown in the device. Hence, without resource limitations MCC allows users to run complex resources -intensive applications. For example, the Amazon Simple Storage Service (Amazon S3) which supports file storage service. Another example is Image exchange that uses mobile users ' large cloud storage space. This mobile photo sharing service allows mobile users immediately after capture to upload images to the clouds which can be accessed by users in any device [13].

Improving reliability
To improve reliability, storing data or running applications on clouds is effectual as they are stored and backed on many computers, this reduces the risk of loss of data and apps on mobile devices [13]. MCC can improve mobile device security through centralized software maintenance and monitoring. For both service providers and users, MCC can be designed as a comprehensive data security model. Cloud renders provide security application such as virus scanning and malicious code detection being executed in a cloud. For example, the cloud can be used to prevent abuse and unauthorized distribution of copyrighted digital content (e.g., video, clip, and music). It can also become a one-stop shopping option for mobile device users as Mobile Cloud Operators can simultaneously act as virtual network operators, provide e -payment services, and provide software, data storage, etc. as a service [17].

Dynamic Provisioning
By creating virtual machines (VMs) with the appropriate configuration, mobile users can access required resources on demand, dynamic provisioning that allows users to access resources without advanced reservation [15]. In traditional models temporary resources meet highest demands, while the provision of dynamic resources is made on the CC based on current demands, ultimately leading to lower operational cost. Compared to hardware configuration improvements, self -service provisioning is better.

Scalability
Scalability is one of the key features of cloud computing [15]. MCC offers extensive storage and scalability capability, which causes the cloud from the service providers to migrate data to outsourced databases (ODBs). User assigned resources are increased or decreased on the basis of user requirements. The mobile application resource requirement is managed by the cloud service provider.
6. Multi-tenancy Service providers are able to share the necessary resources and costs to support different applications and numerous users [13]. Users can configure parts of the application, like the user interface color or business rules, but cannot adjust the code of the application. This means that while tenants use the same building blocks in their configuration, the application's appearance or workflow may differ for two tenants [16] .

Ease of Integration
In order to meet user demand, multiple services from different service providers can be easily integrated via the cloud and the Internet. Cloud architecture provides computer integrated and distributed capabilities. Advanced technologies such as Big Data and IoT can easily be built into MCC technology for improved Quality of Service (QoS) [15].

Challenges in security and privacy of MCC
Mobile cloud computing's main goal is to provide users with a convenient and fast method of accessing and receiving cloud data, such a convenient and rapid method means effective access to cloud computing resources through the use of mobile devices. The MCC uses many traditional and recent technologies such as partitioning, downloading, virtualization, outsourced storage, application based on mobile cloud, etc. It takes on a number of new security challenges and traditional challenges [9]. The major challenge of mobile cloud computing is the characteristics of mobile devices and wireless networks, alongside their limitations, making the design, programming, and deployment of applications on mobile and distributed devices more difficult than on fixed cloud devices. The challenges are discussed as follows.

Data security challenges
The big data security challenge is introduced as the result of data stored and processed by mobile users in clouds located at the ends of service providers. The challenges associated with data include data loss, data breach, data recovery, location of data, and privacy. The data loss means when a user tries to use data, the data is in error condition that skipped or damaged by any physical means during transmitting or storage and processing. In the situation of a data breach, any other unauthorized users stolen, copy or use data from users [9]. These two can occur through malicious insider or malicious applications from outside. Another concern is the data recovery problem. Another concern is the issue of data recovery. This is a process of recovering data from damaged, failed, corrupted or lost data or physical storage device from mobile users. The data locality is also a challenge. Users need to know the location or the location of their data stored. The data of the users must also be stored separately from others. If one user mixes data, combines or confuses it with data from other users, it is much more vulnerable.

Mobile cloud applications security challenges
Cloud-based mobile applications can attack and affect the integrity and confidentiality of data and applications through various strategies, including malware integration. The malware is virus-like Trojan, botnet, worm, rootkit. These viruses can create unfavorable [9], intrusive, disturbing in programmed applications. The goals of this malware are to run on mobile devices with intentions to destroy the applications or attach with applications without compliances from users. Therefore, the functionalities of mobile applications can be changed and produce the wrong result. A target application is generally identified by an attacker, malicious codes are inserted into the targeted application and finally republished.

Mobile devices security challenges
There are some physical dangers to cell phones. It is conceivable to lose, spillage, get to or unexpectedly unveil of the information or applications to unapproved clients, if the cell phones are lost, lost or theft. In spite of the fact that there are secret word or pattern based bolted highlights; numerous portable clients don't utilize these features. What's more, the character module card inside the cell phone also can be approached from the gadget and gotten to by unapproved people. The assailants can assault by using different profit capacity assault systems, for example, by sending high malevolent traffic stream, enormous messages to focusing on cell phones to make unused or reducing the ability. Be that as it may, the battery control weariness assault is another sort of accessibility assault where subsequent to assaulting, the cell phones begin to release its battery control quickly. Because of expanding the ubiquity of cell phones just as mobile applications, the malware essayists or assailants pay their considerations here. Consequently, the malware is not kidding security worries for mobile users' privacy, applications, and information. Additionally, the functionalities of present portable stages are very near PCs but with additional highlights and these stages for cell phones support many applications. There are three sorts of capacity accessible in cell phones such as on gadget stockpiling, connected capacity and personality module storage. Generally, users' personal information, applications, and others are put away in these stockpiles. However, in the event that a portable client benefits cloud benefits, its information, and applications are duplicated in the cloud stockpiles [9].

Partitioning and offloading security challenges
In the offloading process, there requires to access to the cloud through wireless systems. Since the portable clients don't have any entrance and control over their offloading forms, subsequently, there is a hazard of unauthorized access to offloaded content. There is also the possibility to violate the integrity and confidentiality of offloaded contents during the offloading process. Different difficulties incorporate accessibility assault and malicious content dangers. The sticking assault between information and cell phone amid parceling, and between versatile device and cloud amid offloading can affect the accessibility of cloud administrations. The partitioning and offloading [9] stage can impact on user data and violate privacy.

Privacy challenges
Privacy is one of the main challenges as confidential data or applications of mobile users. Because these data are processed and transferred from mobile devices to heterogeneous distributed cloud servers while various cloud services are available. These servers are located in different locations that only the service providers own and maintain. As the users cannot be physically worth the storage of their data, data protection, and privacy-related challenges are in the hands of service providers and users are not responsible for the loss of privacy. These could storage and processing in multiple locations are privacy issues. Service providers' cloud servers are located in various regions and countries. There are several mobile apps available that may be unsafe due to hideous functions [9], unconsciously collecting personal information from users such as locations, hobbies and may illegally spread. Unwanted and phishing emails of advertising or junk emails may violate the privacy of users. The context which provides information to service providers enabled by the sensor on mobile devices. Specifically, these location-aware applications and services raise concerns about mobile devices' privacy. These can be invoked either by the user or by the service provider and require the knowledge of the user location to provide location-based services. Also, many applications need users' information and location so that big companies can advertise their product by the location. Location-based services, therefore, raise privacy challenges as user information needs to be collected, stored and processed.

Statistics on MCC Fig 3. Data Protection Risks [19].
As mentioned earlier, mobile cloud applications are available in a broad range. These applications cover various areas, including image processing, natural language processing, shared GPS, shared Internet access, sensor data applications, inquiring and multimedia search. Although there are many advantages, some problems need to be handled and resolved. In Fig 3 we can see the data protection risks to regulate data [19].

Mobile Data Traffic
Cloud traffic Non-cloud traffic

Fig 5(a). Devices that people use on a regular basis
We conducted a survey regarding our study on Mobile Cloud Computing, to understand its scope in our country. Our questions have mostly been aimed at understanding how much people are aware of cloud computing, its benefits and security issues in our country. In addition, we also wanted people to know if they were willing to use MCC's pay -as -you -go services.
In Fig 5(a) we can see that most people in our country prefer to use mobile devices like Smartphones or Laptops as compared to Desktop computers. It is therefore evident that the benefits of CC would have a greater impact on these mobile device users.

Fig 5(e). How many respondents think MCC makes their life easier
According to our statistics on Fig 5(b), 38% of the respondents use Mobile Cloud Computing and most agree to it making their lives easier (Fig 5(e)). As shown in Fig 5(c) the majority of the people use MCC largely for Storing Data. In analyzing our statistics, we observed that a large number of the respondents said that they do not use MCC but in reality all students, who own a smartphone access Google Mail and/or Google Drive regularly but are unaware that this is also a form of MCC. Apart from students, every other person like Pathao or Uber drivers or even ordinary people trying to find their way uses Google Maps for navigation which is another application of MCC.
In Fig 5 (d) we can see that a larger percentage of people are not willing to spend on MCC. This means free services such as Google Cloud or any other cloud are welcomed as they are cost -free but will not spend extra on getting more.

d). Concern about information leakage or security
Around 52% of the respondents are not satisfied with their device's battery life. Also a powerbank doesn't solve this problem as we can see in Fig 6(b) that about 50% of the respondents don't even use a powerbank. Furthermore, they don't even think or feel that their device isn't powerful enough to run the latest apps which we can see in Fig 6 (c). Henceforth, we can conclude according to our research and many other reasearces that MCC could solve these issues and benefit the users in many more ways. Even though there are plenty of benefits, there are some issues that need to be addressed particularly the security issue like leakage of information or data loss is a concern to most of the people as we can see in Fig 6 (d).

Mobile Commerce
Mobile commerce (m-commerce) is a business model that uses mobile devices to trade [13]. By providing mobile commerce (m-commerce) with mobile handheld devices, MCC made life easy for commerce. Customers can buy a product whenever they want from any place via the Internet connection. M-commerce applications face different challenges (e.g. low network bandwidth, high complexity of configurations for mobile devices, and security) [17]. The MCC, however, offers the solution to these challenges by integrating m-commerce applications in the cloud environment. It proposes a 3G E-commerce platform based on cloud computing. This paradigm combines the benefits of both 3 G network and cloud computing to increase the speed and security of data processing based on PKI (public key infrastructure) [13].

Healthcare in Mobile Cloud Computing
In medical applications, mobile cloud computing reduces traditional medical treatment constraints such as medical errors, computational speed, small physical store, security, and privacy [13]. Mobile computer devices contribute to quicker and easier data access and thus improve patient care. Instead of having standalone applications on their local servers, Mobile Healthcare (m-healthcare) provides many cloud services to hospitals and health organizations. M -healthcare allows patients to be monitored through wireless technology at anytime, anywhere. It can also detect an emergency pulse rate, blood pressure [1]. In addition, m -healthcare provides access to existing and past medical data quickly for patients or for other healthcare organizations.

Mobile Gaming
Mobile gaming (m -gaming) is one of the most popular revenue generation services for cloud service providers [10]. M -game can completely offload a game engine that requires a large computing resource (e.g. graphical rendering) to the cloud server, and gamers only interact on their devices with the screen interface. This helps as computer games can be very demanding in terms of CPU and also GPU performances. An advanced user interface divides the application data in runtime, based on the costs of network communication and CPUs on the mobile device, rather than loading all data into the cloud for processing [18]. Recently big companies like Nvidia and Google are exploring gaming in the cloud and Google already announced 'Stadia' which is their version of cloud gaming.

MCC in learning
The purpose of mobile learning is to combine electronic learning (e-learning) and mobility. However, traditional applications for m -learning is limited to high device and network costs, a low level of network transmission and limited educational resources. Cloud-based M-learning uses the cloud with strong processing capabilities and a large storage capacity, which enhances process speed, data capacity, and battery life for the learners. JavaME UI framework and Jaber is a web site built using Google Apps Engine where students can communicate with their teachers [18]. Teachers can also obtain information on the level of learning of students and answer their questions promptly.

Future implementation and Research
A future research topic remains in this area: creating an optimal mechanism for deciding which application will be deployed in the cloud and which application will be deployed in local smartphones. Furthermore, in the migration process, some other issues such as privacy, security or trustworthiness must also be considered. The mobile phone market has rapidly expanded. In the first quarter of 2012, the worldwide smartphone market grew 42.5 percent year-on-year, according to IDC, the leading global market intelligence firm. Mobility growth has fundamentally changed our lives in an unprecedented way. According to Cisco IBSG, nearly 80 percent of the world's population has access to the mobile phone and new devices such as the Android smartphones, iPhone, palmtops, and tablets have brought a host of apps to the hands of people.
Cloud computing offers many opportunities. All new technology has side effects and disadvantages. There are already quite a number of mobile phone applications using cloud computing to some extent today, and there is nothing in this trend that points to a decline. Cloud computing will, therefore, become even more integrated in the future with mobile phones. With MCC mobile phone users will gain numerous benefits and help them run business applications without large amounts of investment in infrastructure and services.
Mobile cloud computing aims to empower mobile users by providing a seamless and rich functionality, irrespective of mobile device resource limitations. Mobile cloud computing, although still in its infancy, could in the future become the dominant model for mobile applications.
Mobile cloud is one of the hottest cloud trends [12] expected to play a major role in the future.
1. In past days, almost all apps were running on PC. But in the present time by the innovation of technologies, those apps are performing [12] in mobile and also in tablets. By moving the app from the PC to tablet companies, mobile cloud services are putting more effort into it. To supplement the PCs, tablets are projected in this way. 2. The mobile phone is using to access presentations, data processing, and spreadsheets. 3. Providers of telephone networks are making a lot of effort to develop mobile cloud as an [12] option to add value. 4. Consumers now buy more from mobile business and buy from their mobile wallet as well. Mobile cloud infrastructure enables this. 5. The consumer's ability is to use the applications of the provider [12] running on a cloud infrastructure. Applications are accessible via a thin client interface such as a web browser (e.g. web-based email) from different client devices. With the possible exception of limited user-specific configuration settings, the consumer does not manage or control the underlying cloud infrastructure. Most companies are and will use SaaS applications [12] directly or indirectly for their business via mobile. Mobile cloud computing will, therefore, be an integrated part of the business economy. 6. Although companies put their applications in mobile, they do not increase their robustness. People are highly likely to drop mobile compared to PC [12]. This has made it necessary to store data on the cloud rather than on the mobile.
There are numerous new mobile applications that can be enabled by a mobile cloud framework when the mobile device (via the mobile cloud facility) can access many more resources. The future could also explore the potential of local mobile clouds in shoes, clothing, watches, jewelry, furniture and other everyday objects formed from computer collections in ubiquitous devices, as such embedded computers will actually become more powerful. Thus, the infrastructure, platform or application available as services will be of new forms: the infrastructure could be a powerful massively distributed set of cameras on stationary and mobile devices formed ad hoc and measured to cover an event, or a collection of distributed computers formed to calculate a job seamlessly from the user's mobile device while the user is shopping.
One of the key reasons why cloud computing is on the rise is the flexibility required by the mobile workforce. The access that cloud-based applications provide to workers who are always on the go is ideal anytime, anywhere.

Conclusion
Mobile cloud computing has inherited mobility and scalability as a way of developing and expanding mobile computing and cloud computing. It is a future trend in mobile technology, as it combines both the MC and CC advantages, thus providing mobile users with optimum services. Mobile cloud computing aspires to encourage and support mobile users by providing seamless and rich usability, irrespective of mobile device resource limitations.
The pairing of cloud computing and virtualization offers a minimal cost for the efficient use of cloud resources. Considering the performance of wired network communications is better than that of the wireless networks, therefore, reducing wireless data delivery is an effective way of improving quality. Moreover, bandwidth upgrading is considered to be an easy way of improving performance, but costs users additional.
Despite the benefits of virtualization in MCC, the lack of perfect isolation between various instances on the same physical server means that a new security threat needs to be addressed. MCC's most demanding aspects are the privacy of users and the availability of cloud-based security for mobile applications. Henceforth, security risks need to be considered and addressed accordingly to create a secure MCC environment. So it can be concluded that three key optimization approaches in MCC focus on mobile device limitations, communications quality and application service distribution.