ureca research paper - mobile cloud computing

6
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

Upload: ace-zachary

Post on 12-Apr-2017

191 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: URECA Research Paper - Mobile Cloud Computing

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

Page 2: URECA Research Paper - Mobile Cloud Computing

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.

Page 3: URECA Research Paper - Mobile Cloud Computing

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

Page 4: URECA Research Paper - Mobile Cloud Computing

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

Page 5: URECA Research Paper - Mobile Cloud Computing

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].

Page 6: URECA Research Paper - Mobile Cloud Computing

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.