Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
I.
I NTRODUCTION
clouds only. Accordingly, it only works, if an Internet connection is available. An improved version of this concept called
Hybrid Mobile Cloud Computing (HMCC) has been proposed
by Abolfazli et al. [9]. HMCC makes use of all described
types of resources and therefore gets the most out of available
computing capabilities. HMCC is also referred to as cloudbased mobile augmentation (CMA).
$
II.
+LJKODWHQF\FRQQHFWLRQ
5HVRXUFHFRQVWUDLQHG
GHYLFHV
/RZODWHQF\FRQQHFWLRQ
ZLWKDWWDFKHGFORXGOHW
RYLGHUV
&ORXGSURYLGHUV
+RPHFRPSXWHUV
/RZODWHQF\FRQQHFWLRQ
3UR[LPLW\GHYLFHV
32
5HVRXUFH
FRQVWUDLQHGGHYLFH
2IIORDGLQJHQJLQH
&ORXGEDVHG
UHVRXUFH
Application prolers analyze the application to determine performance values of application parts that can
be ofoaded. Some systems contain on-the-y prolers, which provide performance values at runtime,
others use static analysis approaches.
The decision engine keeps track of the current condition of the ofoading resource(s) and decides based
on performance values obtained from the application
proler whether or not ofoading is benecial.
The ofoading engine is in control of the whole ofoading process. If the decision engine determines to
ofoad a specic part, the ofoading engine performs
the technical processes to ofoad the task and reintegrates the results.
If a public IP-address is available, the rewall conguration needs to be adapted to open another port to
listen for incoming requests.
'HFLVLRQHQJLQH
$SSOLFDWLRQSURILOHU
7UDQVSRUWPHGLXP
**:LILRWKHUV
III.
$SSOLFDWLRQ
On the application side, we propose to extend the architecture of existing ofoading solutions with:
1 http://www.w3.org/TR/workers/
2 https://tools.ietf.org/html/rfc6455
3 https://www.khronos.org/registry/webgl/specs/latest/2.0/
4 https://www.dartlang.org/
33
B. Resource Repository
Most of currently available frameworks are limited to a
single ofoading resource. Our solution breaks up this association by introducing a repository of currently available, good
or near resources. Good or near resources are characterized
by having only a short round-trip time (RTT). Short RTTs
are important, Cuervo et al. [2] have shown that the energy
consumption of an ofoading operation almost doubles when
the RTT increases from 10ms to 25ms. The exible network
34
%DFNJURXQGUHVRXUFH
GLVFRYHU\DQGDVVHVVPHQW
5HVRXUFHFRQVWUDLQHGGHYLFH
7UDQVSRUWPHGLXP
**:LILRWKHUV
$SSOLFDWLRQ
1HWZRUN
GLVFRYHU\HDV\
FRQQHFWLRQ
HVWDEOLVKPHQW
'HFLVLRQHQJLQH
3URILOHU
7UXVWPHGLDWRU
2IIORDGLQJHQJLQH
5HSRVLWRU\RIFXUUHQWO\
DYDLODEOHDQGQHDU
RIIORDGLQJUHVRXUFHV
IV.
I MPLEMENTATION D ETAILS
a resource repository,
WebRTC enables a direct browser-to-browser communication without intermediate servers, but with the restriction that
a separate signaling channel is required. Figure 4 provides
an overview of WebRTC technology. Connection information needs to be exchanged using a separate channel prior
to establishing a direct connection. In our implementation,
connection establishment relies on the Interactive Connectivity
Establishment (ICE) protocol [15], in order to circumvent NAT
gateways. The protocol includes the discovery of a devices
public IP address using a STUN server [16]. If no direct
connection is possible, a relayed connection using TURN
servers [17] is established. The signaling channel can be
realized using e.g. a web server that serves a particular web
page, or using publicly available web-socket servers for crossdomain resource sharing.
Based on this technology, we realized a structured P2P
network with web socket based signaling servers that are used
for the initial connection to the P2P network. The P2P network
is composed of resource nodes and client nodes. Each node has
a unique ID used for addressing the peer. Even if two nodes
do not have a direct connection, they can send messages to
each other through other peers.
an enhanced decision engine being aware of the different trust requirements and resource providers with
different trust levels, and
a trust mediator,
Details on the implementation of these components are discussed in the following subsections.
35
3)
4)
5)
5 https://github.com/digitalbazaar/forge
36
V.
E VALUATION
In this section, we evaluate the extended POWER framework and show the efciency of our proposed and implemented
improvements. Furthermore, we assess the applicability of the
proposed enhanced architecture for real-world scenarios and
highlight improvements in terms of performance and energy
efciency.
Throughout this paper we made two claims: to enable
exible and secure resource sharing. The exibility comes
from not tying particular users of an application to single
resources, but opening for a large number of resource providers
also coming from other users. The proposed decentralized
model is error resistant due to the absence of a single point
of failure. Although the current implementation does not
fully get rid of the centralized structure, it contributes to a
failure resistant system by enabling decentralized signalling
for a direct connection establishment between nodes. In terms
of security, the proposed extension for POWER is the rst
solution enabling a secure and privacy preserving execution in
hybrid mobile cloud computing frameworks. As it is the case
for other data sensitive use cases on the web, security comes
from identifying remote parties based on certicates. Based on
the sensitivity of performed computations and processed data,
the framework selects a user trusted resource provider. The
sensitivity of data and computations needs to be determined
by the developer. This puts a lot of burden on the developer, but
she could use automated assistant tools for the identication.
Due to the limited resources and the goal to unburden mobile
6 http://msgpack.org/
7 https://github.com/pierrec/node-lz4
37
Local execution
Remote execution optimized
8,000
6,000
4,000
2,000
0
s
s
id
ow
ow
dro
ind
ind
An
W
W
n
on
on
5o
40
45
fox
e4
me
om
fox
Fire
r
o
e
r
r
h
i
C
F
Ch
ux
om
Chr
on
42
Lin
ux
on
40
Lin
Execution time in ms
Local execution
Remote execution optimized
A. Performance Evaluation
To evaluate performance improvements that can be
achieved with our ofoading solution, we executed the two
applications Raytracer and PBKDF2 on different Androidbased devices. Obtained results are discussed in the following.
30,000
20,000
10,000
0
s
s
x
oid
ow
ow
inu
ndr
ind
ind
nL
nA
0o
nW
nW
o
4
o
o
5
5
40
fox
e4
e4
om
fox
Fire
om
Chr
Fire
Chr
ux
2
e4
rom
Ch
on
Lin
Our next step was to slightly modify the Raytracer application, to not return a blunt list of pixels but already encode the
result as PNG image. The rst observation was that the size of
the transferred data rapidly decreased to 66.4kB. Furthermore,
the JavaScript processing of the raw PNG data was way
faster than it was when dealing with a large list of pixels.
Figure 7 shows that the average processing time for a single
frame on the mobile device decreased from nearly 8000ms
for local execution to 1140ms for this optimized solution
in the ofoading case. This is a performance gain of more
than 700%. Also for desktop environments, we again can see
a signicant gain in performance of, in average, more than
200%. To further improve our results, we parallelized our
application, rendered different parts on different resources, and
38
B. Energy Efciency
In addition to performance, we also evaluated the energy
efciency of the proposed ofoading solution, i.e. its inuence
on battery lifetime. In general, there are multiple ways of determining the energy consumption of applications. Hardwarebased approaches directly measure the consumption between
the battery and the mobile phone. This approach brings major
drawbacks in terms of mobility. Software-based approaches
are available as well. Zhang et al. [20] have proposed a
method, which generates models for specic devices. Based
on these models, the current power consumption of mobile
devices can be estimated. Unfortunately, models differ between
devices and accurate models are currently available for a
few selected devices only. In recent Android versions, the
system records battery-related events and information. Using
the Battery-Historian tool9 , this information can be analyzed
accurately. We used the Battery-Historian tool to analyze our
performance-based prole and our energy-saving prole with
regard to battery consumption. To get comparable results,
the mobile phone needs a dened power-consumption state,
which is not inuenced by background tasks. Using this
approach we also get an idea of the inuence of the introduced
components on the energy consumption. The following gures
all include the energy consumed by the framework components
as part of the application, wi and 3G. Before we started our
evaluations, we always fully charged the device, deactivated all
synchronization services, GPS, and all other background tasks.
The display remained always on with the lowest brightness
level.
Execution time in ms
105
104
103
102
me
kto
Des
o
Chr
45
fox
ire
pF
skto
De
40
o
Chr
45
me
on
oid
ndr
i)
(W
45
me
on
3G
id (
o
ndr
VI.
Chr
9 https://github.com/google/battery-historian
39
[2]
other
screen
wi
3G
application
13.63
15
13.04
9.88
10
[3]
5
[4]
0
)
Wi
te (
mo
l
oca
re
ote
)
(3G
[5]
rem
[6]
[7]
other
15
screen
wi
3G
application
13.63
[8]
10
7.45
7.01
5
0
[9]
al
loc
te
mo
i)
(W
re
ote
(3G
rem
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
R EFERENCES
[1]
D.
Bosomworth,
Mobile
Marketing
Statistics
2015,
2015. [Online]. Available: http://www.smartinsights.com/mobilemarketing/mobile-marketing-analytics/mobile-marketing-statistics/
40