Expert answer:Write a report about this paper, Just summarize the topic, describe the major contents, and conclude with your opinion about this research. Please write 3 to 5 pages. Please follow attachment to find the paper.
paper.pdf
Unformatted Attachment Preview
Science and Information Conference 2014
August 27-29, 2014 | London, UK
MCACC: New Approach for Augmenting the
Computing Capabilities of Mobile Devices with
Cloud Computing
Mostafa A. Elgendy
Ahmed Shawish
Mahmoud I. Moussa
Computer Science
Faculty of Computer and Informatics
Benha, Egypt
Mostafa.elgendy@fci.bu.edu.eg
Scientific Computing
Ain Shams University
Cairo, Egypt
Ahmed.gawish@fcis.asu.edu.eg
Computer Science
Faculty of Computer and Informatics
Benha, Egypt
Mahmoud.mossa@fci.bu.edu.eg
Abstract— Smartphones are becoming increasingly popular
with a wide range of capabilities for the purpose of handling
heavy applications like gaming, video editing, and face
recognition etc. These kinds of applications continuously require
intensive computational power, memory, and battery. Many of
the early techniques solve this problem by offloading these
applications to run on the Cloud due to its famous resources
availability. Later, enhanced techniques choosed to offload part
of the applications while leaving the rest to be processed on the
smartphone based on one or two metrics like power and CPU
consumption without any consideration to the communication
and network overhead. With the notable development of the
smartphone’s hardware, it becomes crucial to develop a smarter
offloading framework that is able to efficiently utilize the
available smartphone’s resources and only offload when
necessary based on real-time decision metrics. This paper
proposed such framework, which we called Mobile Capabilities
Augmentation using Cloud Computing (MCACC). In this
framework, any mobile application is divided into a group of
services, and then each of them is either executed locally on the
mobile or remotely on the Cloud based a novel dynamic
offloading decision model. Here, the decision is based on five realtime metrics: total execution time, energy consumption,
remaining battery, memory and security. The extensive
simulation studies show that both heavy and light applications
can benefit from our proposed model while saving energy and
improving performance compare to previous techniques. The
proposed MCACC turns the smartphones to be more smarter as
the offloading decision is taken without any user interaction.
Keywords—smartphones; android; offloading; mobile Cloud
computing; battery; security
I.
INTRODUCTION
In recent years, mobile devices such as smartphones are
becoming popular. There are already more than 56% of users
in the world use smartphone. 89% of smartphone users use
their smart phones along the day [5]. More than 53% percent
of smartphone owners used the Android OS [6].Mobile
devices have a wide range of capabilities like, Wi-Fi, cameras,
storage, GPS and speed processors. More than 53% of
smartphones users use all mobile capabilities. As a result,
developers are building more complex mobile applications
such as video editing, gaming, navigation, image search, face
recognition and augmented reality etc. Users can download
and install applications very easily from any application store
and use all of its capabilities.
As applications become more complex with intensive
computation, it consumes most of the mobile devices
resources such as battery, memory, and computational power.
To overcome these limitations, a new trend based on the
Cloud has been introduced to save resources and extend the
battery life time of such vital device [1]. Recently Cloud
computing can provides mobile users with an online access to
unlimited computing power and storage space. It also abstracts
the complexities of provisioning computation and storage
infrastructure and this are called mobile Cloud computing [2]
and [3]. Mobile applications can augment their capabilities
with external resources by offloading parts to run on the
Cloud; as result saving computation, memory and battery.
A mobile Cloud computing survey show a lot of work
done in this field [3] and [19]. Some of the related work tried
to reduce energy cost on the Cloud [4]. These are useful but
energy on mobile also must be reduced too, so service
executed on mobile if this consumed less energy than Cloud.
Another solution considered an application as a single unit that
cannot be decomposed into multiple methods and must be run
either on the Cloud or locally [9]. But in some cases services
have features that must remain at the mobile device, as those
accessing the camera or GPS. Some solutions always offload
services to execute on the Cloud all the time without taking
any decisions as in [7]. However in some cases it’s better to
offload some methods to execute on the Cloud and run the
others on mobile. Some others work use a simple offloading
model which take some parameters and leave other in decision
as in [1], [8], [9] and [10]. With the notable development of
the smartphone’s hardware, it becomes crucial to develop a
smarter offloading framework that is able to handle heavy
applications by efficiently utilize the available smartphone
resources and offload only when necessary based on realistic
decision metrics.
In this paper, we propose such framework, which we
called Mobile Capabilities Augmentation using Cloud
Computing (MCACC). This framework uses the Android IPC
(Inter Process Communication) to redirect invocations from an
79 | P a g e
www.conference.thesai.org
Science and Information Conference 2014
August 27-29, 2014 | London, UK
activity to an identical service that could be run on the Cloud,
and hence any mobile application can be easily divided into a
group of services without modifying application source code
or Android OS. In this framework, we also introduce a novel
dynamic offloading model that decide at runtime whether it’s
efficient to offload such services to run remotely on the Cloud
or it’s better to execute them locally on the mobile device.
Here, the decision is based on five real-time metrics: total
execution time, energy consumption, remaining battery,
memory and security. Extensive simulation studies show that
both heavy and light applications like the face detection
application can benefit from our proposed model while saving
energy and improving performance compare to previous
techniques. The MCACC enable the mobile to be more
smarter, first by dividing any application into some services,
and then by dynamically offloading those of them that should
be offloaded based on a group of real-time mobile metrics
without any user interaction. Now, Android developers can
use our proposed MCACC very easily by adding the MCACC
library into their projects and by adding the MCACC builders
to the project building process.
The rest of this paper organized as follows. Section II
introduces the background and shows related work. Section III
describes the proposed framework. Section IV covers all the
implementation details of the framework. Section V discusses
the results of the extensive simulation studies. The paper is
finally concluded and future work is presented in Section VI.
II.
BACKGROUND
This section provides a comprehensive background on the
mobile environment and application development process. In
addition, it provides to a complete review on the related work
done in the offloading context.
A. Mobile environment and Application Development
1) Android Architecture: Android is a mobile operating
system that is based on a modified version of Linux. The
Android OS is roughly divided into five sections: i) Linux
kernel– which is the base of Android OS – ii) Libraries– which
contain the code that provides the main features of an Android
OS, – iii) Android runtime – this provides the set of core
libraries which enable developers to write Android
applications using the Java programming language. It also
includes the DALVIK virtual machine, which enables the
application to run in its own process – iv) Application
framework, – this exposes the various capabilities of the
Android OS for application developers so that they can use
these capabilities in their applications and – v) Applications – at
this layer, there are applications shipped with the Android
device as well as others downloaded and installed from the
Android Market [11].
2) Android Application Components: The main Android
applications components are Activities, Services, Content
Providers, and Broadcast Receivers, which have their own
specific lifecycle within the system [11]. This study focused
on activities and services as the separation between the them
form a natural basis for MCACC framework.
3) Android IPC: Launching an application on any device
running the Android operating system starts an activity. This
activity presents a graphical user interface to the user, which
able to bind to services. Once the activity is bound to the
running service, it communicates with the service through
IPC, using a predefined interface by the programmer called
AIDL file and a stub/proxy pair generated by the Android precompiler based on this interface [12]. When the Activity tries
to call service methods, it uses the proxy object. The proxy
object communicates with the stub which has the actual
implementation of the service as shown in Fig. 1.
4) Android Application Development: Any android
applications have to be written in the Java. When developer
writes android applications and try to build it, the build
process will invoke the following builders in order:
• Android Resource Manager: This generates a Java
file to ease the access of resources, such as images,
sounds and layout definitions in code.
• Android Pre Compiler: which generates Java files
from AIDL files.
• Java Builder: This compiles the Java source code and
the generated Java code.
• Package Builder: which bundles all resources, the
compiled code into a single file.
After building successfully, an APK file is created, which
can be installed on any Android device [7].
B. Related Work
There are a lot of researches that work on remote execution
of mobile applications services on the Cloud to increase
performance and save mobile power and memory resources
[18] and [19]. These researches are divided into two paths.
1) Process and VM Migration: In this approach a full
process or full VM is migrated into the Cloud for processing.
There are some researches done in this approach as follows:
Fig. 1. An overview of the Android IPC mechanism.
CloneCloud enables unmodified mobile applications
running in an application level virtual machine to seamlessly
offload part of their execution from mobile devices on device
clones operating in a computational Cloud. CloneCloud used a
combination of static analysis and dynamic profiling to
partition applications to optimize execution time and energy
[13]. When running a complete clone of the smartphone at the
remote Cloud resource, there is cost of keeping the
smartphone synchronized with an application clone in the
80 | P a g e
www.conference.thesai.org
Science and
d Information Conference 2014
Aug
gust 27-29, 2014 | London, UK
Cloud; so it’s better to offload only the needeed services to run
on the Cloud.
ThinkAir exploits the concept of smartphoone virtualization
in the Cloud and provides method-levvel computation
offloading [14]. ThinkAir creates virtual machhines (VMs) of a
complete smartphone system on the Cloud, and provides an
online method-level offloading however it lacks flexibility and
control over offloaded components. Developeers organize their
application using Android service design patteerns.
2) Method Offloading: Another commoon approach for
remote execution is to partition mobile application into some
services that executes locally on mobile or remotely on the
There are a lot of
Cloud and this is called method offloading. T
researches which have done in this approach aand these will be
described and their drawbacks will be ddiscussed in the
following section.
Cuckoo implements a framework thaat automatically
offloads heavy back-end tasks to execute on the Cloud.
Cuckoo use the very simple model whichh always prefers
remote execution [7]. In some case executting services on
mobile are better than offloading to execute onn the Cloud. This
happened when the execution time on mobilee is less than the
time for communicating and transmit data on network and
Cuckoo misses this. Another thing, data sent tto Cloud must be
protected, so any security technique shouldd be applied for
protection.
Eric Chen implements a framework thhat automatically
offloads heavy back-end tasks to execute onn the Cloud. Eric
Chen deployed in the application layer without modifying the
underlying Android platform like our fram
mework [8]. Eric
Chen featured three offloading metrics whichh considered total
response time, energy consumption and remaaining battery life
in deciding whether a task should be offloadeed or not without
adding any memory usage consideration andd security to the
offloading model.
it, and measure the energy consumed by Cloud and compared
ding reduced energy or not
for deciding whether a task offload
[10]. Kiran missed some mettrics when making this
investigation like memory usage. Another
A
thing, data sent to
Cloud must be protected, so any seecurity technique should be
applied for protection.
III.
MEWORK DESIGN
PROPOSED FRAM
MCACC framework made some contributions in
developing mobile applications: i) allowing
a
mobile application
to use Cloud resources by allowin
ng some services of mobile
application to run on the Cloud so mobile
m
application were not
limited by mobile device constraaints- ii) using a dynamic
offloading model in deciding whether to offload services or
not, so Mobile applications beccame smarter- iii) adding
memory resources constraint in th
he offloading decision, so
offloading model become more powerful- iv) protecting
service data on the Cloud using seecurity, so minimizing any
outside risks and finally – v) automating a large part of the
development process and integratiing easily in development
tools; so developers write android application
a
easily.
A. MCACC Architecture
CC consists of four main
As shown in Fig. 2. MCAC
components i) Decision Manager – ii) Offloading Manager iii) profile – and iv) Cloud Manager.
M
The first three
components are deployed on the mobile and the Cloud
manager component is deployed on
n the Cloud. In order to use
MCACC, the application should be
b structured using android
services pattern. Communication
n between activities and
services done through stub/proxy generated
g
by Android precompiler.
nager component to service
MCACC added Offloading Man
stub during compile time so, the
t
application takes the
advantages of the framework. Offloading
O
Manager uses
Decision Manager which decidess at runtime whether the
service will be executed on the Clou
ud or locally on the mobile.
Vinod Namboodiri proposed a model for ddeciding whether
to offloads heavy back-end tasks to execute oon the Cloud [9].
This model leaved some considerations likee memory usage
consideration and security to the offloadinng model. Vinod
considered an application as a single unit that cannot be
decomposed into multiple methods and must be run either on
the Cloud or locally. However in some casses it’s better to
offload some methods to execute on the Clloud and run the
others on mobile.
Karthik Kumar provide simple analyssis for deciding
whether to offload computation to a servver or not. This
analysis tries to measure the power of sendingg computations to
the Cloud and the power of executing compuutation on mobile
device [1]. However this analysis solved the problem, it lack
any memory usage consideration and batteery consideration
when making analysis.
Kiran I. Koshy made an investigation into the energy
benefits of offloading tasks from mobile end devices to
powerful remote servers. Kiran measurred the energy
consumed by mobile and added network enerrgy consumed to
Fig. 2. MCACC Architecture – services lik
ke S2 can be offloaded to run on
the Cloud using Offloading Manager and Clo
oud Manager.
81 | P a g e
www.conference.thesai.org
Science and Information Conference 2014
August 27-29, 2014 | London, UK
If the decision is to execute the service locally, then
Offloading Manager calls the local service implementation on
the mobile. However if the execution will be carried out on the
Cloud, the Offloading Manager call the Cloud Manager to
execute the service on the Cloud. Also Offloading Manager is
responsible for returning results from Cloud manager and
delivering it to the application.
The Decision Manager uses a dynamic offloading model
to take offloading decision. This dynamic Offloading model
take decision using five metrics based on execution time,
energy consumption, remaining battery life, memory usage
and security. Also this offloading model needs some data
about processing time, network bandwidth and memory usage
to take this decision. All these data were stored in services
profile.
At first run Decision Manager created one profile for each
service and stored the needed data about service processing
time, network bandwidth and service memory usage in it. In
subsequent runs Decision Manager took these data and some
other constrained given by the user related to memory, battery
threshold and security to decide whether to offload the service
to execute on the Cloud or executing it locally on mobile.
Cloud Manager receives all data needed to execute the
service on the Cloud from Offloading Manager. Then,
executing the service remotely and return the result to
Offloading Manager. Finally Offloading Manager passes
results through stub to activity.
The energy consumption metric, dealt with energy
consumption. Let PMobile watt the energy consumed by mobile
for computing per second, PIdle watt for being idle and PNet
watt for sending and receiving data; then the energy consumed
is
watt. If the Cloud performs the computation,
watt for
the total energy consumed was the sum of
the communication overhead and
watt for being
idle. Using these MCACC derived the relationship between
execution speed and communication overhead. In formal
notions, offloading a task is beneficial if the following is true.
Ignoring the energy consumption on the Cloud lead to this:
2
The remaining battery metric, dealt with mobile
remaining battery life in decision-making. Let L be the mobile
remaining battery life in watt. If a task couldn’t be completed
with the remaining battery of the mobile or if the remaining
battery is sufficient to upload the input data required to
perform the task on the Cloud, the Cloud can do the task while
the mobile’s battery drains out. The Cloud can later return the
results to mobile. This condition expressed by the following
metric:
3
B. Offloading Model
When an activity invokes a method of a service, the
Android IPC mechanism directs this call through the proxy
and the kernel to the stub. In normal android application the
stub invokes the local implementation of the method and then
returns the result to the proxy. When using the MCACC, the
android application becomes smarter. MCACC uses dynamic
offloading model to evaluate whether it is beneficial to offload
the method to run on the Cloud or executing it locally on
mobile. MCACC uses five metrics in taking decision. These
metrics are i) execution time- ii) energy consumption- iii)
remaining battery life – iv) memory usage and v) security.
The execution time metric, dealt with total time required
to perform a task. Let I be the number of instructions involved
in a method invocation, SMobile and SCloud be the processor
speed (instructions per second) of the mobile and the Cloud
respectively. If the amount of data transferred between mobile
and Cloud is D and the network bandwidth is B, the time it
takes to transfer data is D/B. Using these, MCACC derived the
relationship between execution speed and communication
overhead. Offloading of a task is beneficial if the following is
true.
Ignoring the processing time on the Cloud as Cloud execute
at very high speed leads to …
Purchase answer to see full
attachment
You will get a plagiarism-free paper and you can get an originality report upon request.
All the personal information is confidential and we have 100% safe payment methods. We also guarantee good grades
Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.
Read moreEach paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.
Read moreThanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.
Read moreYour email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.
Read moreBy sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.
Read more