=Paper=
{{Paper
|id=Vol-3052/paper20
|storemode=property
|title=A Privacy-aware Computation Offloading Method for Virtual Reality Application
|pdfUrl=https://ceur-ws.org/Vol-3052/paper20.pdf
|volume=Vol-3052
|authors=Kai Peng,,Peichen Liu,,Tao Huang
|dblpUrl=https://dblp.org/rec/conf/cikm/PengLH21
}}
==A Privacy-aware Computation Offloading Method for Virtual Reality Application==
A Privacy-aware Computation Offloading Method for
Virtual Reality Application
Kai Peng1 , Peichen Liu2 and Tao Huang3
1
College of Engineering, Huaqiao University, Quanzhou, China
1
College of Engineering, Huaqiao University, Quanzhou, China
2
School of Computer Science and Technology, Silicon Lake College, Suzhou, China
Abstract
As a new technology, virtual reality (VR) is constantly enriching people’s experience. VR application has high requirements
for the performance VR devices, but the computing resources of VR devices are limited. Mobile edge computing provides an
effective solution to solve the above issue by offloading VR application to edge servers (ESs) for processing. Nevertheless, the
resources of ESs are limited and heterogeneous. And thus, it is necessary to consider the load balancing of ESs. In addition,
user privacy protection in the process of computation offloading is another issue that needs to take into consideration. In
view of this, in this paper, we investigate the computation offloading for VR applications with privacy protection. Technically,
we propose a privacy-aware computation offloading method based on multi-objective optimization genetic algorithm to
obtain the optimal strategy for VR application. Finally, it is shown that the proposed method is effective through extensive
experiments.
Keywords
LATEX Mobile Edge Computing, Virtual Reality, Privacy Protection, Computation Offloading
1. Introduction promising distributed computing paradigm ([7],[8]).
Computation offloading of MEC has been well studied in
With the development of communication and net- ([9]-[10]). Inspired by this, offloading the VR application
working, the number of mobile users is increasing in a to edge servers (ESs), the time and energy consumption
staggering speed. According to Oracle, there are more of VD can be significantly reduced. However, computing
than 10 billion mobile devices connected to the Internet, resources of the ES are limited, it will increase the waiting
and that number will grow to 22 billion by 2025 [1]. The time and energy consumption of VDs when the number
explosive growth of mobile devices leads to a large re- of tasks performed exceeds computing capacity of the ES
quest and the promising application prospect [2]. New [11]. Meanwhile, the resources of ESs are heterogeneous,
technologies are beginning to be applied to mobile de- the tasks should be reasonably distributed on ES cluster
vices, such as virtual reality (VR), artificial intelligence to avoid some of the ESs are overload [12]. Meanwhile,
(AI) and the Internet of Vehicles (IoV) [3]. Among these, when the VU interacts with the VD, the application will
as a prospective technology, VR is constantly enriching collect the VU’s private information, such as location,
people’s experience ([4],[5]). In practice, the VR applica- posture [13]. If placing data with privacy conflicts on the
tions are usually run over a wearable VR devices (VDs), same ES, it is easy to cause the leakage of VU privacy in-
which can record information about the movement and formation [14]. Therefore, it is necessary to consider the
activity of VR users (VUs). Equipment manufacturers load balancing and the privacy constraints of placement
of VD usually need to consider physical size constraint, of computation offloading for VR application.
which equips with a small CPU and GPU with low-power To address above issues, the computation offloading
consumption and low-capacity battery [6]. However, due considering privacy protection for VR applications are
to VR application requires real-time processing, it will investigated in this work. The contributions of this paper
consume a lot of computing resources. This poses a big can be summarized as follows.
challenge to VDs. 1) We model the computation offloading problem as
Fortunately, mobile edge computing (MEC) is a a multi-objective optimization issue, where the motion-
to-photons latency and energy consumption of VD, as
Woodstock’21: Symposium on the irreproducible science, June 07–11,
2021, Woodstock, NY
well as load balancing of ES are considered as the opti-
pkbupt@gmail.com (K. Peng); 18734166683@163.com (P. Liu); mization objectives, and privacy protection is considered
nuisthuangtao@163.com (T. Huang) as a constraint.
https://yamadharma.github.io/ (K. Peng) 2) A computation offloading method for VR appli-
0000-0002-0877-7063 (K. Peng); 0000-0001-7116-9338 (P. Liu); cations based on multi-objective optimization genetic
0000-0002-9421-8566 (T. Huang)
© 2021 Copyright for this paper by its authors. Use permitted under Creative algorithm, named MCOVR, is proposed to address the
Commons License Attribution 4.0 International (CC BY 4.0).
CEUR
Wor
Pr
ks
hop
oceedi
ngs
ht
I
tp:
//
ceur
-
SSN1613-
ws
.or
0073
g
CEUR Workshop Proceedings (CEUR-WS.org) above issue.
Figure 1: MEC-Enabled VR application architecture.
3) We conduct a large number of comparative ex- the offloading strategies of v-th application from y-th
periments to prove that MCOVR can obtain the optimal VU. jy,v = 0 represents that the application is run
computation offloading strategy for VR application. by VD, jy,v ∈ (1, 2, ..., x) indicates the application is
The remaining of the paper is describe as follows. offloaded to ES, jy,v = x + 1 represents the application
Firstly, section 2 describes the system model and defines is offloaded to cloud for processing.
the problem formulation. Secondly, section 3 introduces
our proposed multi-objective computation offloading of
VR application method. Then, section 4 demonstrates 2.1. Virtual Reality Application Model
the experiment results. Finally, section 5 introduces the
related work and section 6 describes the conclusion and In general, Augmented reality (AR) application can
the future work. be represented as a directed acyclic graph(DAG) [15].
Similarly, VR can also be represented by a DAG. As
shown in Figure 2, the VR model can be represented as
2. System Model and Problem follows. The VR application contains three independent
Formulation operations, namely, rendering, calibration and process-
ing. Thus, we use a layer containing three operations to
In this section, the architecture of MEC-enabled VR represent each video frame, namely node. In addition,
application is firstly introduced. Then, the model of VR there are k video frames in a VR application, the nodek
application is established. Finally, the system model and represents the k−th node in application.
problem formulation are described.
The MEC-enabled VR application architecture is 2.2. Motion-to-Photons Latency Model
shown in Figure 1. We assume that the cloud has infinite
computing resources, and resources of ESs are finite 2.2.1. Executing latency
and heterogeneous. These VR applications are executed Execution latency is the time cost of processing VR
by VDs or offloaded to the ES or to the cloud. VUs applications on the three platforms, namely, VD, ESs, and
communicate with ESs via local area network (LAN) and cloud center. In this part, the executing time of v-th VR
with the cloud via wide area network (WAN). application of y-th user is represented as
Y is a set of VU, which is defined as
Y = {1, 2, ..., y}. There are vn applications in ⎧ ry,v
⎪
⎨ fl jy,v = 0
V , which is defined as V = {v 1 , v 2 , ..., v vn }. The task
S e (jy,v ) = rfy,v jy,v = 1 or 2, or . . . or x (1)
length requested by the v-th application of y-th user is ⎪
⎩ ry,v
e
denoted as ly,v , and the task workload is denoted as ry,v . fc
jy,v = x + 1.
Let X be the set of ES, denoted as X = {1, 2, ..., x}.
In each ES, the computing resources of ES are rep- 2.2.2. Transmission latency
resented as a number of i virtual machine(VM) xn,
represented as xn = {xn1 , xn2 , ..., xni }. J is a set of The transmission latency is related to the compu-
computation offloading strategies, which is defined as tation offloading strategy of the two tasks. Let P c (c ∈
J = {j1,1 , ..., j1,v , j2,1 , ..., jy,v }. And jy,v represents
Figure 2: VR Application Model.
{1, 2, 3}) be the flag between two strategies, which are 2.2.4. Total latency
defined as
The total time S(jy,v ) is represented as the sum of
⎧
⎪ T wo applications are executed all time, including the executing latency S e (jy,v ), the
⎪
⎪
⎪
⎪ transmission latency S t (jy,v ) , and the waiting latency
⎪
⎪ by same platf orm c = 1,
⎪
⎨V D and ES S w (jy,v ). The total latency is represented as
Pc = S(jy,v ) = S e (jy,v ) + S t (jy,v ) + S w (jy,v ). (6)
⎪
⎪ of f loading c = 2,
⎪
⎪
⎪
⎪Cloud and
⎪
⎪
⎩ 2.3. Energy Consumption Model
other platf orms of f loading c = 3.
(2) 2.3.1. Executing energy consumption
According to transmission strategy P c , the transmission
time S t (jy,v ) of the v-th application of the y-th VU is The executing energy of MDs is related to the exe-
shown as cuting time, the executing time of v-th VR application of
ly,v y-th user is represented as
S t (jy,v ) = , (3) ⎧ ry,v
B
⎨ fl · ℘
⎪ active
jy,v = 0
where B represents the transmission bandwidth. The e ry,v
S (jy,v ) = · ℘ idle
jy,v = 1 or 2, or . . . or x
transmission bandwidth is divided into three cases which ⎪ fe
⎩ ry,v
is denoted as fc
·℘ idle
jy,v = x + 1.
⎧ (7)
⎪
⎨∞ P = 1,
c
where ℘active represents active state of VD energy con-
B = B P c = 2,
e
(4) sumption and ℘idle represents idle state of VD energy
⎪
⎩ c consumption.
B P c = 3.
2.2.3. Waiting latency 2.3.2. Transmission energy consumption
When the number of applications offloaded to the ES N t () represents transmission energy consumption,
exceeds the number of VM xn, the newly coming tasks which can be obtained by multiplying the transmission
need to wait for the previous task to complete execution. power by the transmission time. N t () can be calculated
The i-th VM in x-th ES is represented as a double-tuple by
xnxi = (vmwk, tnum), where vmwk represents the i- N t (jy,v ) = S t (jy,v ) · ℘trans , (8)
th VM collection and the tnum represents the number of where ℘trans represents the energy consumption of
applications in VM. When the offloading strategy jy,v = transmission.
x, ry,v is offloaded to VM of x-th ES. Then, the vmwk
is updated by vmwk = vmwk + ly,v and the tnum =
tnum + 1. Finally, the S w (jy,v ) of v-th application from 2.3.3. Waiting energy consumption
y-th VU is calculated as
Waiting energy consumption is the energy consump-
S w (jy,v ) = S e (pre(jy,v )) · ψy,v,q , (5) tion of VD when the task waits for the execution of the
previous task. Waiting energy consumption is related to
where ψy,v,q is to determine whether ry,v needs to waiting time which can be obtained as
wait for the previous task, and the execution latency of
N W (jy,v ) = S W (jy,v ) · ℘idle . (9)
previous task is represented as S e (pre(jy,v )).
2.3.4. Total energy consumption 2.5. Privacy Model
The total energy consumption N (jy,v ) is repre- As VR applications need to collect user information,
sented as the sum of all energy consumptions which VR privacy conflicts need to be considered. In this pa-
includes the executing energy consumption N e (jy,v ), per, we address privacy conflicts by placing applications
the transmission energy consumption N t (jy,v ), and the on different ESs to avoid privacy leakage [14]. A graph
waiting energy consumption N w (jy,v ). The total energy = (RW, CT ) is used to describe the privacy conflicts,
consumption can be calculated by where RW represents the a set of computing services and
CT denotes a set of privacy conflicting relation. A pair
N (jy,v ) = N e (jy,v ) + N t (jy,v ) + N w (jy,v ). (10) of conflict relations (rwy , rwy∗ )(rwy , rwy∗ ∈ RW ) are
used to indicate that VU information with privacy con-
2.4. Load Balancing Model flicts cannot be placed in the same ES. The conflict appli-
cation of rwv are represented as
The ESs are heterogeneous means that the com-
puting resources of ESs are not equal. Therefore, the rwv |(rwy , rwy∗ ) ∈ CT, y∗ = {1, 2, ..., Y }. (17)
workload of ESs needs to be balanced. And, ζv is a
binary number to calculate the occupation of ES, which HS = hs1 , hs2 , ..., hsy (hs ∈ Y ) represents the place-
is calculated by ment location ES for executing the applications. After-
wards, based on the acquired conflicting service set, the
1, if ex is occupied placed destination hsy has a conflicting ES set, which is
ζv = (11)
0, Otherwise. calculated by
And, ηv is a flag to represent whether the ES is
hy |(esx esx ) ∈ rwq , x = {1, 2, ..., |rwv |}. (18)
occupied, which is represented as
1, if v existed in ex 2.6. Problem Formulation
ηv = (12)
0, Otherwise.
The main objectives of this study are to decrease the
Firstly, the number of ES that are utilized is defined motion-to-photons latency and energy consumption of
as U E(j), which is represented as VDs, as well as the load balancing of ESs while preserving
the VU’s privacy. The problem formulations are defined
V
as follows.
U E(j) = ζv . (13)
v=1
Y
V
τ represent the amount of occupied ESs which is M in S(jy,v ); ∀j ∈ {1, 2, 3, . . . , x}. (19)
y=1 v=1
calculated by
1 V Y
Y
V
τ = oi v=1 y=1 gy,v · ηv , ζv = 1
M in N (jy,v ); ∀j ∈ {1, 2, 3, . . . , x}. (20)
0, Otherwise. y=1 v=1
(14)
According to the resource utilization of each ES,
Y
V
the average resource utilization α(j) can be obtained by M in F (jy,v ); ∀j ∈ {1, 2, 3, . . . , x}. (21)
y=1 v=1
1
V
s.t.jy,v ∈ {0, 1, 2, ..., x + 1}. (22)
α(j) = · τ. (15)
μ v=1 hsy ∈
/ hy . (23)
Finally, the load balancing of each ES is calculated
Y
V
by the squared difference between the resource utiliza- S(jy,v ) ≤ S QoS . (24)
tion of each ES and the average resource utilization. The y=1 v=1
loading balancing F (J) is calculated by
3. Method Design
1
V
F (j) = · [α(jy,v ) − τ (jy,v )]2 ). (16)
μ v=1 In this section, we describe the details of our pro-
posed multi-objective computation offloading of VR ap-
plication (MCOVR). MCOVR is based on MOMBI [16].
3.1. Initialization 3.4. Tournament Selection
The initialization of the algorithm includes the defi- The two populations Zd and Zd∗ generated by the
nition of key parameters and the generation of the initial algorithm need to select the number of tz as the next-
population. Firstly, the first-generation population Z0 of generation population Zd+1 , where d