So, a transparent code offloading technique for An-
droid devices was proposed (de Oliveira et al., 2017)
to eliminate this limitation. This technique allows
the use of code offloading and does not require any
modification in the application code. Experiments
were conducted to prove the viability of this tech-
nique. However, the experiments were performed in
a local environment, using a local network to connect
the smartphone and a virtual machine, which is more
close to a mobile edge computing environment.
In this sense, this paper presents an evaluation of
this transparent code offloading technique in a real-
world cloud environment. The main objective was to
evaluate whether this technique was a feasible option
in a cloud computing environment and how efficient
it could be. So, we used the same face detection ap-
plication from (de Oliveira et al., 2017) to conducted
a set of experiments, but using virtual machine in-
stances from a public cloud provider (Google Cloud
Platform) instead of a local VM. A secondary objec-
tive was to provide an evaluation of the impact of In-
ternet latency when this code offloading technique is
adopted. So, we used a set of virtual machines with
heterogeneous capacities and from different regions
of the world.
The remainder of this paper is organized as fol-
lows: In Section 2 we present the concepts of Mo-
bile Cloud Computing and Code Offloading. In Sec-
tion 3, the architecture of the transparent code offload-
ing technique is explained. In Section 4 we present
the specifications and configurations of the experi-
ment environment. Section 5 is reserved for the ex-
planation and discussion of results. In the Section 6
we present the final considerations.
2 BACKGROUND
Cloud computing is defined as a paradigm that allows
access through the Internet to a shared set of config-
urable computational resources with unlimited capac-
ity. Such resources can be quickly provisioned and
released with minimal effort of management or inter-
action with the service provider. (Mell et al., 2011).
Mobile Cloud Computing (MCC) enabled the mobile
device to benefit from the unlimited resources pro-
vided by cloud computing (Thakur and Verma, 2015;
Shiraz et al., 2013).
Since mobile applications are becoming more
complex and supporting more and more functionali-
ties, more computational resources are required to run
those applications, which leads to greater battery con-
sumption. Therefore, the code offloading technique is
used to send parts of an application or even the en-
tire application to run in the cloud. This can improve
application performance, as well as extend the bat-
tery life of mobile devices (Thakur and Verma, 2015;
Benedetto et al., 2017; Chun et al., 2010; Qian and
Andresen, 2015; Flores et al., 2015).
There are several proposals for code offloading
techniques as an alternative to providing better per-
formance and energy consumption. Some of them re-
quire the developers to modify the application code
in order define the partitioning and migration of parts
from an application, so only the part with the great-
est demand for computational power is sent to the
cloud. Others approaches require full application mi-
gration to the cloud, but this implies communication
overhead, which can increase the execution time of
applications.
Unlike these related studies, De Oliveira et al.
(de Oliveira et al., 2017) proposed a transparent code
offloading technique for Android devices. They used
Xposed Framework to transparently modify Android
framework methods and send tasks to be executed re-
motely on a server. In this sense, the proposal does
not require any changes to the firmware source code
or Android system applications. To evaluate the pro-
posal, an Android application was developed with
the demand for computing resources using the native
methods of the Android operating system. The au-
thors emulated a local cloud using a traditional vir-
tual machine running Android-x86, which is accessed
by the mobile device over a wireless network. The
results showed that this technique can improve exe-
cution time for several application cases, as well as
minimize memory allocation.
3 ARCHITECTURE DESIGN
The environment assumed by the transparent code
offloading technique is composed of i) Android in-
stances of virtual machines running in a local work-
station or in the cloud and accessible to ii) physical
Android devices, which are connected to a network.
In this architecture, each mobile device has installed
the Xposed Framework, which can modify the behav-
ior of a set of Android Framework methods. Each
mobile device also has an Xposed Framework cus-
tom module enabled. This custom module has a set
of Android framework methods or application meth-
ods. When this module is enabled, it detects when a
specific method is requested and manipulates this re-
quest to run in the cloud.
Figure 1 illustrates an overview of the architec-
ture design, where an Android device is running two
applications: App A and App B; and computational
CLOSER 2019 - 9th International Conference on Cloud Computing and Services Science
348