1. Proceedings of the URECA@NTU 2012-13
Mobile Cloud Computing
Zin Ye Htike
School of Computer Engineering
Assoc Prof Chong Han Joo Peter
School of Electrical and Electronic
Engineering
Abstract – Mobile devices are increasingly becoming
an essential part of our daily life. However, due to their
small sizes, their computation power as well as the
battery power is limited. This paper presents how
mobile cloud computing can be used to reduce those
problems and the various technologies which enable the
mobile cloud computing possible as well as the various
issues that can arise from mobile cloud computing. It
will also discuss about various types of applications for
the mobile devices.
Keywords – mobile devices, cloud computing,
cloud operating systems, hybrid applications, cloud
security, data offloading, cloud computing technologies
1 INTRODUCTION
During the past few years, mobile devices are
increasingly becoming an essential part of our life.
People has started to spend more time on the road and
they want to use their time as efficiently as possible.
With the recent technology advancement, mobile
devices prices have been dropped dramatically and
becomes a lot more powerful. However, due to their
nature of portability, they have very limited resources
such as screen size, computation power and battery
power compared to desktop computers.
People do not use mobile devices for only looking at
information anymore. They want to do computation
extensive works on the go also instead of sitting in front
of a computer. And with the advancements in cloud
computing technology, it is possible for the mobile
devices to have more computation power and extend the
battery life at the same time.
This paper will discuss about the cloud computing
delivery models, mobile cloud computing and its main
difference from the regular cloud computing as well as
the various issues of the mobile cloud computing.
Moreover, the paper will also present different types of
applications for mobile devices.
2 CLOUD COMPUTING
There are 3 types of delivery models for cloud
computing and 6 deployment methods. This paper will
only discuss about the 3 types of delivery models.
2.1 DELIVERY MODEL
The cloud computing can be categorized into 3 models
according to the service delivery. The 3 models are
Infrastructure as a Service (IaaS), Platform as a Service
(PaaS) and Software as a Service (SaaS) [1].
2.1.1 Infrastructure as a Service (IassS)
In the Infrastructure as a Service model, the service
providers allow the client to access the virtual servers
(infrastructures) in their data center. The clients can use
those rented virtual servers in any way they want and
they do not have to do the infrastructure maintenance
[1]. The virtual servers can been seen as raw hardware
without any operating systems or other software
supports. The IaaS provides the most flexibility out of
the 3 delivery service model. The clients can enjoy the
flexibility as well as the scalability without having to
worry about the physical servers’ maintenance or
hardware addition to the existing infrastructure.
2.1.2 Platform as a Service (PaaS)
Unlike the IaaS, in PaaS delivery model, the clients are
usually provided with operating system, database,
developer tools and other necessary software to develop
and run the software in the cloud. Similar to the IaaS,
the PaaS does not require the clients to perform any
maintenance for the hardware. However, the trade off
with the PaaS is that the service providers will lock
down the service and the clients will not be able to use
their own developer tools [1]. Moreover, it makes it
difficult for the clients to change to other service
providers and hence vendor lock-in. PaaS model has
less flexibility than the IaaS, but it offers more
flexibility than the Software as a Service.
2.1.3 Software as a Service (SaaS)
The clients access and use the application software
provided by the providers. The clients does not have to
do any maintenance for the hardware, platform or the
2. Proceedings of the URECA@NTU 2012-13
software [1]. However, it provides the least flexibility
out of the 3 delivery model since the clients can only
use the applications and software provided by the
providers.
2.1.4 Comparison
The Table 1 shows the various components that are
managed and maintained by the clients and service
providers for standalone servers, IaaS, PaaS and SaaS
models [2]. In SaaS, all the components are managed
and maintained by the providers, while in PaaS, the
clients only have to manage the applications. The
advantage of IaaS over the standalone server is that the
clients do not have to care about the networking,
storage, server and virtualization. The clients only have
to focus on the business functions and hence the clients
can save a lot of cost for infrastructure maintenance.
Table 1: Standalone server, IaaS, PaaS, and SaaS
Comparison
3 MOBILE CLOUD COMPUTING
Mobile cloud computing was introduced not long after
cloud computing so that the users can take full
advantage of the cloud computing. The main difference
between the mobile cloud computing and the cloud
computing is that in mobile cloud computing both the
data storage and processing happened outside the
mobile devices. Since mobile cloud applications take
the computation and data storage away from the mobile
devices and into the cloud, the applications can be
offered to not only smartphone users, but also to those
who do not use smart phones. Theoretically, by doing
the data processing in the cloud, the mobile devices’
battery power can be saved and mobile devices will be
able to perform computational extensive operations. In
short, mobile cloud computing can be seen as the
available of cloud computing in mobile ecosystem.
The main advantages of the mobile cloud computing
include extending battery life of the mobile devices,
improving the processing power as well as storage
capacity and lastly but not least, improve reliability.
3.1 DIFFERENCES FROM CLOUD
COMPUTING
Unlike cloud computing, mobile cloud computing
applications may be totally depend on the cloud [3].
Those applications will make use of the mobile cloud
for both the data processing and storage. Mobile cloud
computing introduces a new type of service delivery
model called Network as a Service (NaaS).
3.1.1 Network as a Service (NaaS)
The key network assets such as communication, billable
customers and information are regarded as marketable
resources and those assets can be offered to the third
parties. NaaS is basically a collaborative model where
the telecoms providers and the application service
providers collaborate together by contributing their
unique assets and capabilities to create better
applications. By doing so, NaaS allows the applications
to be able to target to smart phone users as well as non-
smart phone users. In NaaS delivery model, the
telecoms have to provide network APIs and payments
APIs to the application service providers and
enterprises so that application service providers and
enterprises will be able to make use of those APIs to
create applications which can target both the smart
phone and non-smart phone users.
3.2 ENABLING TECHNOLOGIES
3.2.1 HTML 5
The HTML 5 specification allows “Canvas” and video
features. Those features enable or allow graphics and videos
to be able to display on browsers without having to install
any plug-ins [4]. Moreover, HTML5 also added offline
support which enables the local storage. By enabling the
local storage, HTML 5 can helps to reduce the problems
concerning with connection interruptions [4]. Lastly, but not
least, HTML 5 also added geo location APIs. As a result,
mobile cloud applications can now provide location based
applications.
3.2.2 Hypervisor
Hypervisor can be said as the cross-platform
applications enabler [4]. It allows mobile cloud
application to run without having to aware of the
underlying hardware architecture. So, in short,
hypervisor allows software to run in a virtualized
environment [4]. By using hypervisor, mobile devices
can run not only the applications developed specially
for its platform, but also other platforms and hence
widening the range of applications a mobile device can
run.
3. Proceedings of the URECA@NTU 2012-13
3.2.3 Cloudlets
Cloudlets are small devices which designed to help with
the latency problem on the mobile devices [4]. The idea
of cloudlet is to equip the local wireless devices with
local processing power and storage. The local devices
will downloads the data from the server and allows the
users to access it locally. By doing so, the cloudlets can
greatly reduce the latency issues of the mobile cloud
computing. Cloudlets are totally transparent to the
users.
3.3 ADVANTAGES AND
DISADVANTAGES OF MOBILE CLOUD
APPLICATIONS
3.3.1 Advantages
With the processing power drawing from the cloud,
mobile cloud applications can have the processing
power of a server computing infrastructure and can
scale beyond the capabilities of the phones [5]. With
mobile cloud computing, complex, powerful and costly
hardware and software are no longer needed on the
client side (mobile devices) for information sharing.
Complex business computations are run in the cloud
and mobile devices does not have to perform any
computation and just fetch the result from the cloud and
show it to the users.
Another advantage is that mobile cloud computing apps
provides ease of access and development [5]. Since the
access point is not though the mobile operating system
(OS) but through a browser, apps development can be
unified. Therefore, theoretically, app developers can
develop one mobile cloud app and all the phones with a
browser can use it. Hence, eliminating the need to
develop different app for different mobile operating
system. As a result, the development cost can be
reduced dramatically and mobile cloud apps can
provide broader reach as both smart phone users and
non-smart phone users can use the app through a
browser.
Lastly but not least, mobile cloud apps can provide
better security and data safety since the data are stored
in the cloud and not on the mobile devices. With the
data stored in the cloud, even when the device is lost or
damaged, the data lost will not occur. Moreover, the
mobile cloud can have necessary backup programs
running. Even though smart phones have ability to wipe
the data on the phone when a user lost his or her phone,
the phone must be connected to internet before the user
can wipe the data. But with mobile cloud computing
apps, wiping data on the mobile device is no longer
necessary since the data are stored on the cloud and all
that required to do is change the password to log into
the mobile cloud. This will effectively prevent
unauthorized people from accessing the data from the
phone.
3.3.2 Disadvantages
Even though mobile cloud apps has a lot of advantages
over regular apps, mobile cloud apps do have some
disadvantages.
First of all, mobile cloud apps cannot use the device
specific software and hardware such as GPS, camera,
notification and etc. [6]. For location services, HTML 5
geo location APIs can be used. However, the mobile
cloud apps does not have the ability to use built in GPS.
Moreover, mobile cloud apps can only make use of the
browser notification. They cannot offer app specific
notification system as native apps do.
Even though the mobile cloud app performs the
computation and store data in the cloud, their
performance is highly dependent on the browser
performance [6]. As they have to display the
information though the browser, the apps performance
will suffer if the browser is not performing properly.
Another disadvantage is that mobile cloud apps are total
cloud dependent and hence, they may suffer from
connection problem. The mobile cloud apps have to
deal with connection bandwidth drop problems,
connection disconnected problems, etc. Lastly but not
the least, even though theoretically mobile cloud apps
can help extend the batter life of the mobile devices,
sometimes it can reduce the batter life due to data
offloading issues. This topic is discussed more detail in
the section “4 MOBILE CLOUD COMPUTING
ISSUES”.
3.4 DIFFERENT TYPES OF
APPLICAITONS
Mobile devices’ applications can be categorized into 3
types – native apps, mobile cloud apps and hybrid apps.
Firstly the differences as well as the advantages and
disadvantages of the native apps and mobile cloud apps
will be explored.
Both the native apps and mobile cloud apps have their
advantages and disadvantages. Table 2 below compare
the advantages and disadvantages of the 2 types of apps
[7]. From the table, we can see that each type of app is
good for some specific usage. For example, Native apps
can provides better user experience since they can
4. Proceedings of the URECA@NTU 2012-13
support compound UI gestures and native notification
support. However, mobile clouds apps can have much
greater processing power than the native apps.
Table 2: Native Apps vs. Mobile Cloud Apps
As a result, another type of app started to rise. This 3rd
app type is known as the hybrid app. Hybrid apps have
the advantages of both native and mobile cloud apps.
Hybrid apps can be think of as mobile cloud apps
embedded inside a native app [8]. Therefore, hybrid
apps enable mobile cloud apps to be able to make use of
the mobile devices hardware and software features.
Native app wrap around the mobile cloud app and
hence mobile cloud apps can access the on board device
functionalities which are not available via the browser
through the outer native app shell. Moreover, with
hybrid apps, some of the contents such as user interface
images are stored locally and hence reducing the
loading time. Figure 1 shows the structure of the hybrid
apps and how the system API calls are made via native
portion of the app.
Figure 1: Hybrid apps structure [8]
Therefore, hybrids apps can provide both app longevity
and rich user experience without having the cost and
complexity of the native apps.
Table 3 shows a summary comparison of the 3 types of
apps for mobile devices. From the table, we can see that
hybrid apps provide better features and richer user
experience than native apps and mobile cloud apps.
Table 3: Comparison between the 3 types of apps [9]
4 MOBILE CLOUD COMPUTING
ISSEUS
Even though mobile cloud computing has many
advantages, there are still some issues which need to be
considered when adopting mobile cloud computing.
Firstly, the security is a big concern for the mobile
cloud computing. Other concerns include data
offloading, and data integrity.
4.1 SECURITY
With the mobile devices getting data from the internet,
there is a high chance that the devices can be infected
with virus. However, it is impossible to run protection
software like antivirus in the background since the
mobile devices have very limited resources. Another
concern is that users are more likely to use easy
password on mobile devices as they keyboard on
mobile devices are not as easy to type on. And easy
password are easier to crack and hence making the
security of the data stored in the cloud weaker.
And due to the small sizes of mobile devices, they are a
lot easier to lose. Moreover, they are shared more often
and make them easier to access while the authorized
user is not around his or her phone. Hence, it is
important to grant access to data on server based on the
context. The context can includes network, location,
device serial number, and the role of the user. By using
context based access grating system, companies can
greatly reduce the risk of non-authorized users access
the sensitive data.
4.2 DATA OFFLOADING
Data offloading means sending/uploading data from
mobile devices to the cloud for processing.
Theoretically, data offloading can help extend the
battery life of the mobile devices since the
5. Proceedings of the URECA@NTU 2012-13
computational extensive processing are done on the
cloud and not on the mobile devices. However, in
reality, this may not be always true. For data offloading,
we can divide into 2 types – offloading in static
environment and offloading in dynamic environment.
For static environment data offloading, whether the
batter life will be extended or not highly depend on the
complexity as well as the size of the codes that need to
be submitted to cloud [10]. If the size of the code is big
but the processing complexity is not high, offloading
data can reduce the battery life instead of increasing it.
Hence, it is important to decide which part of the codes
will be offloaded to the cloud for processing and which
part will be processed locally on the device. Many
ongoing researches are trying to figure out ways to
decide the portion of the codes that will be offloaded.
For dynamic environment data offloading, the
offloading process could suffer from connection
problems such as connection dropped, interrupted or
disconnected [10]. Those cases can cause data integrity
problems and hence need to make sure the data on the
server is valid and not corrupted.
4.3 DATA INTEGRITY
To prevent connection problems from corrupting the
data, and to keep the data integrity, mobile devices must
have these 3 steps for data offloading – initialization,
update, and verification [10]. When there is a
connection problem, the devices must reinitialize the
connection, session, etc. After the initialization, the data
offloading (uploading to cloud) can be resumed. After
the uploading, the data on the cloud must be verified to
keep the data integrity. The issue is when the
verification for data integrity failed, the mobile devices
must resend all the data to the server again. This can
greatly reduce the battery life of the mobile devices.
5 CONCLUSION
Cloud computing and mobile cloud computing become
popular these days and they have a lot of advantages
over usual computing infrastructures and techniques.
However, they still have some disadvantages and
issues. For mobile cloud computing, even though it
could provides mobile devices with unlimited
processing power and extends battery life, the network
connectivity still plays an important role in deciding the
performance of the mobile cloud computing. Moreover,
security, data offloading and data integrity must be
considered when designing a mobile cloud in order to
make sure that non-authorized users will not be able to
access sensitive information and the data in the cloud
are reliable. However, the advantages of mobile cloud
computing can still outweigh these issues.
ACKNOWLEDGMENT
I would like to express my gratitude to my supervisor
Assoc Prof Chong Han Joo Peter for his support,
guidance and helps throughout the course of this
research project.
I also wish to acknowledge the funding support for this
project from Nanyang Technological University under
the Undergraduate Research Experience on Campus
(URECA) programme.
REFERENCES
[1] A. Monaca, "A View Inside the Cloud," 7 June
2012. [Online]. Available:
http://theinstitute.ieee.org/technology-
focus/technology-topic/a-view-inside-the-cloud.
[Accessed June 2013].
[2] W. Lau, "A Deep Look Inside Windows Azure and
Its VM," [Online]. Available:
http://www.slideshare.net/ylew15/a-deep-look-
inside-windows-azure-and-its-vm. [Accessed 2
June 2013].
[3] N. Kannan, "Mobile cloud computing vs. cloud
computing in building or hosting mobile apps,"
May 2012. [Online]. [Accessed 5 June 2013].
[4] P. A. Cox, "Mobile Cloud Computing: Devices,
trends, issues, and the enabling technologies,"
IBM, 2011.
[5] M. Tantow, "Cloud Computing and Smartphones,"
1 March 2011. [Online]. Available:
http://cloudtimes.org/2011/03/01/cloud-computing-
and-smartphones/. [Accessed 6 June 2013].
[6] B. Claybrook, "Best practices for developing
mobile cloud apps revealed," October 2012.
[Online]. Available:
http://searchcloudapplications.techtarget.com/tip/B
est-practices-for-developing-mobile-cloud-apps-
revealed. [Accessed 10 June 2013].
[7] B. Claybrook, "Mobile cloud apps vs. native apps:
The developer's perspective," November 2012.
[Online]. Available:
http://searchcloudapplications.techtarget.com/featu
re/Mobile-cloud-apps-vs-native-apps-The-
developers-perspective. [Accessed 6 June 2013].
6. Proceedings of the URECA@NTU 2012-13
[8] XRG Systems, "Hybrid Applications," [Online].
Available:
http://www.xrgsystems.com/solution.php?page=hy
brid-applications. [Accessed 11 June 2013].
[9] M. Korf and E. Oksman, "Editing Native, HTML5,
or Hybrid: Understanding Your Mobile Application
Development Options," [Online]. Available:
http://wiki.developerforce.com/page/Native,_HTM
L5,_or_Hybrid:_Understanding_Your_Mobile_Ap
plication_Development_Options. [Accessed 12
June 2013].
[10]H. T. Dinh, C. Lee, D. Niyato and P. Wang, "A
Survey of Mobile Cloud Computing: Architecture,
Applications, and Approaches," John Wiley &
Sons Ltd, 2011.