# An Efficient Computing Offloading Scheme Based on Privacy-Preserving in Mobile Edge Computing Networks

Authors: Shanchen Pang; Huanhuan Sun; Min Wang; Shuyu Wang; Sibo Qiao; Neal N. Xiong
Journal: Wireless Communications and Mobile Computing
 (2022)

---

## Abstract

Computation offloading is an important technology to achieve lower delay communication and improve the experience of service (EoS) in mobile edge computing (MEC). Due to the openness of wireless links and the limitation of computing resources in mobile computing process, the privacy of users is easy to leak, and the completion time of tasks is difficult to guarantee. In this paper, we propose an efficient computing offloading algorithm based on privacy-preserving (ECOAP), which solves the privacy problem of offloading users through the encryption technology. To avoid the algorithm falling into local optimum and reduce the offloading user energy consumption and task completion delay in the case of encryption, we use the improved fast nondominated sorting genetic algorithm (INSGA-II) to obtain the optimal offloading strategy set. We obtain the optimal offloading strategy by using the methods of min-max normalization and simple additive weighting based on the optimal offloading strategy set. The ECOAP algorithm can preserve user privacy and reduce task completion time and user energy consumption effectively by comparing with other algorithms.


---

## Body

## 1. Introduction

The rapid development of the Internet of things leads to the increasing number of mobile devices and the explosive growth of various new mobile applications. These new types of applications (such as driverless cars, virtual reality, and face recognition) usually require intensive computing with high energy consumption [1–3]. However, the limited computing resources of mobile user equipment (UE) have brought challenges to the operation of new types of applications.In order to solve the above challenges, mobile edge computing [4, 5] provides cloud computing capabilities for UEs on the network edge. Edge cloud is a cloud computing platform built on edge infrastructure. Edge cloud, central cloud, and IoT terminal form an end-to-end technical framework of cloud edge end three-body cooperation. Because edge cloud computing provides computing and network coverage nearby, the generation, processing, and use of data occur within a very close range from the data source, so receiving and responding to terminal requests have a low delay. For example, edge cloud computing applications in interactive live broadcasting. The media stream of the anchor is pushed to the nearest edge node, transcoded directly at the edge node, and then the transcoded media stream is distributed to the CDN edge node. When there is user access, the content is returned nearby. The services based on edge nodes, the upstream and downstream content push of live streams, and transcoding processing do not need to return to the cloud center, which greatly reduces the service delay and improves the interactive experience. At the same time, the edge processing architecture also saves the bandwidth cost. Resource-constrained UEs can offload tasks to edge servers, so MEC can achieve low latency and high bandwidth to improve the quality of service and user experience [6].However, computing tasks need to be offloaded to edge server (ES) through wireless link, which causes additional delay and energy consumption. In addition, ESs have limited resources different from traditional cloud computing centers [7]. Therefore, the offloading decision of computing tasks has become a key issue to achieve efficient offloading [8]. Chen et al. [9] studied the multiuser MEC system under in wireless interference environment, and a distributed efficient computing offloading algorithm has been proposed to achieve the Nash equilibrium. In [10], a new method of user collaborative computing offloading has been proposed to minimize energy consumption under the constraint on computing delay. Compared with [9, 10], the offloading problem was formalized as a multiobjective optimization problem in [11], and they try to find a compromise between delay and energy consumption. However, when UEs offload too many tasks to the same edge server, Chen et al. [9–11] neglected that the edge server may be overloaded, while other servers are in a light load state.To solve the problem of load imbalance, Wei et al. [12] configured a data buffer for the MEC server to store data that cannot be executed immediately. Similar to [12], the problem of MEC server overload in [13] was solved by setting buffer queues on the mobile device side and the edge server side, respectively. In addition to queuing mobile user requests, we can also choose to reject and postpone user requests to decrease the load of MEC [14]. However, service interruption increases task waiting time and execution time, which reduce the quality of service for users. Therefore, it is critical to maximize system performance for task offloading in ultradense networks and balance the load of MEC servers.On the other hand, due to the openness of wireless links, the task is prone to be exposed to external threats in the offloading process, which leads to the problem of privacy disclosure. For example, malicious eavesdroppers can eavesdrop on computing data offloaded by IoT devices. Therefore, the confidentiality of privacy is another key issue we need to consider [15]. There are currently two technologies: (1) one is physical layer security technology, which uses the status information about the wireless channel to effectively distinguish between legitimate users and eavesdroppers, to achieve information encryption; (2) the other is data encryption technology, which uses encryption algorithms, and the encryption key turns the plaintext into ciphertext. In this article, considering that the eavesdropper’s eavesdropping ability and instantaneous channel state information are difficult to obtain, we use data encryption technology. In [16], a broadcast encryption based on anonymous attributes has been proposed to achieve an efficient and secure data sharing system. In [17], in order to ensure the security requirements of workflow intermediate data, the encryption algorithm and the hash function were sequentially applied to the output data of the task, which enables the implementation of the confidentiality service and integrity service. Xiong et al. and Chen et al. [16, 17] both researched on the security of cloud computing. In [18], the security of mobile edge computing has been considered, and the transmitted data were encrypted to prevent data from being threatened by the external world, but the impact of data size on encryption and decryption time was not considered. For the single server scenario, Wu et al. [19] proposed a joint optimization scheme of data confidentiality and computing offload to minimize the total delay of completing user computing requirements. Different from the above scenario, for the multiuser multicell MEC scenario in this paper, we need to use security services to protect the privacy of users.To solve the above problems, we propose an efficient offloading method based on privacy-preserving. The main contributions of this paper can be summarized as follows.(i)
We introduce hybrid encryption technology to encrypt the offloaded data to protect user privacy and ensure the confidentiality of transmitted data. This encryption technology combines the encryption advantages of AES and RSA to improve the security and the speed of encryption(ii)
The load mean variance is proposed to evaluate the current load situation of edge servers and avoid overload or light load of some servers(iii)
We propose an improved NSGA-II algorithm (INSGA-II) to reduce the UE energy consumption and task completion delay and improve the system performance by introducing logistic chaotic sequenceThe rest of the paper is organized as follows. Firstly, we review the relevant researches in the Section2. In Section 3, we present the system model and the formation of the problem. In Section 4, we propose an efficient computing offloading method based on privacy-preserving. In Section 5, we present the simulation results. Finally, Section 6 summarizes the paper.


## 2. Related Work

In recent years, MEC as an emerging technology has attracted more and more attention [20–22], especially the problem of computing offloading of MEC. Most of the existing researches take the delay, energy consumption, weighted sum of energy consumption, and delay as the performance index of computing offloading. For delay-based computational offloading, to obtain the optimal task scheduling strategy, Liu et al. [23] proposed an efficient one-dimensional search algorithm to solve the problem of power constrained delay minimization. Considering the collaborative of MEC and cloud computing, Ning et al. [24] proposed an iterative heuristic resource allocation algorithm for dynamic offloading decisions. To minimize the total completing time of all mobile terminal tasks, Wu et al. [25] designed a computing offloading scheme based on nonorthogonal multiple access (NOMA) technology. Zhang et al. [26] integrated computing offloading, content caching, and resource allocation into one model and designed an asymmetric search tree to minimize the total delay consumption of computing tasks.Under the constraint on computational delay, there are some researches on the problem of minimizing the total mobile energy consumption. Chen et al. [27] designed a new communication and computing resource allocation method by clarifying the inherent characteristics of AR mobile applications. Al-Shuwaili and Simeone [28] proposed a joint optimization problem to optimize the total energy consumption of the entire system under delay constraint. Combined with the multiaccess characteristics of 5G, Yang et al. [29] considered the small-cell network architecture for task offloading and modeled the energy consumption of offloading from two aspects of task computing and communication. Wang et al. [30] designed an innovative framework to improve the performance of MEC, based on this framework, an optimal resource allocation scheme has been proposed to optimize total energy consumption of wireless access points.Computation offloading based on delay and energy consumption is another important research problem [31–33]. To meet the task processing delay and energy consumption constraints on mobile devices, Mashhadi et al. [31] proposed an auction in which edge servers were assigned to mobile devices executed by a pair of neural networks. In [32], to minimize the total overhead of MEC system, an improved genetic algorithm was used to solve the joint optimization problem of computing offload decision and channel resource allocation. Guo et al. [33] solved the problem of MEC offloading in ultradense networks and designed a two-layer game greedy offloading scheme to minimize the total computational overhead of processing time and energy consumption.It is important to balance the system load to improve system performance. Fakhri et al. [34] proposed a discrete particle swarm optimization algorithm to solve the load balancing optimization problem. In order to balance the load of virtual machines, Tong et al. [35] proposed a new dynamic load balancing task scheduling algorithm based on reinforcement learning and service protocol. In [36], a load balancing algorithm based on autonomous agent has been designed, which presaves the information of candidate virtual machines to improve dynamic load balancing and reduce service time for the cloud environment.Privacy-preserving is an important issue to be considered for wireless transmission. Aiming at the privacy problem when processing max/min queries in two-layer sensor networks, Yao et al. [37] proposed a privacy protection scheme for max/min queries. The scheme adopts the prefix member authentication method to ensure the privacy of sensitive data stored in nodes. To reduce the risk of user privacy material exposure, Wan et al. [38] proposed an optimized cloud computing security deployment structure and a security mechanism for material protection. In [39], an encrypted data processing and retrieval security solutions were designed to resolve the data security problem in cloud computing.However, the aforementioned privacy protection and system load issues were designed for cloud computing or mobile cloud computing environments. This limitation has prompted our research to solve the problem of efficient offloading based on privacy protection. In this paper, we consider the privacy protection of data transmission and system load in edge computing environment, which can realize the confidentiality of user privacy, effectively reduce task completion time, and UE energy consumption.


## 3. System Model and Problem Formation

In this section, we introduce the system model and expounds on the researched problems. Table1 summarizes the key symbols used in this article.Table 1
Key symbol definition.
NotationDescriptionNSet ofN usersMSet ofM MEC serversQmSet of virtual machines in servermTnComputation task of usernβnWorkload for computation tasksTnαnData size for computation tasksTnfs,mComputing power of virtual machine in servermfl,nLocal computing capability of usernpnupTransmission power of usernpl,nLocal computing power of userngn,mChannel gain from user n to edge servermBUplink bandwidthtl,nDelay of taskTn execution locallytn,mupDelay for taskTn uploaded to edge server mtn,mcomDelay of taskTn execution on edge server mtnenEncryption time of taskTntn,mdeDecryption time of taskTn at the server mon,mTask offloading strategy,∀n∈N,m∈Mrn,mRate of from taskTn uploaded to edge server mrurmResource utilization rate of servemVARLoad balance mean variance rateqmNumber of virtual machines in serverm


### 3.1. System Model

As shown in Figure1, we consider a MEC system with multicells and servers. N=1,2,3,⋯,N and M=1,2,3,⋯,M are used to represent UEs (such as iPad and smart phones) and ESs set in the system, respectively. Each UE has a computing task to complete, and each task is atomic and indivisible. And the capacity of each ES is equal to the number of virtual machines in the ES, and Qm=1,2,3,⋯,qm represents a collection of virtual machines in ES m. Each virtual machine performs only one task at a time, and the computing capability of virtual machines on the same server is the same. The system model is established from four aspects of local computation, MEC offloading computation, system load, and security transmission mode.Figure 1
A cellular system with multiple MEC servers.


#### 3.1.1. The Model of Local Computation

The two-tupleαn,βn is used to represent the task Tn of the user n, where αn (bits) represents the data size required to complete task Tn (including input parameters and program codes), and βn represents the number of cycles required to complete task Tn. The values of αn and βn can be obtained by the program analyzer. The binary variable on,m∈0,1, ∀n∈N,m∈M, is defined to represent the offloading decision of the task. on,m=1 indicates that the task Tn is offloaded to the edge server m for execution; otherwise, the task Tn is executed locally. Each computing task can be offloaded to ES execution or executed locally. Therefore, a reasonable offloading strategy needs to meet the limitation:
(1)∑m=1Mon,m≤1,∀n∈N.Ifon,m=0, we perform task Tn locally. fl,n represents the local computing capability of user n. The total time to perform task Tn can be calculated as
(2)tl,n=βnfl,n.In order to calculate the energy consumption when the taskTn is executed locally, the energy consumption model ςfl,n2 in [40] is used, which represents the energy consumption of a calculation cycle, where ς is energy coefficient that depends on the chip structure. Therefore, the energy consumption when the task is executed locally can be calculated as
(3)el,n=βnςfl,n2.


#### 3.1.2. The Model of MEC Offloading Computation

Whenon,m=1, the task Tn,∀n∈N is offloaded to the ES m,∀m∈M to execute. The task Tn offloading calculation includes three steps: (1) task Tn is uploaded to ES m, (2) ES m executes task Tn, and (3) the calculation results is returned to user n. We consider that the downlink transmission rate is much larger than the uplink transmission rate [41], and the amount of data for the calculation result is much smaller than that of the input task, so we ignore the delay of transmitting the calculation results from ES to UE n. Next, the two steps of task upload and task execution will be introduced in detail.(1) Task Upload. In this paper, we use OFDMA as a multiaccess scheme for uplink. When a subband is occupied by multiple users, it will cause additional interference. Therefore, the signal-to-noise ratio (SNR) from UE n to ES m can be calculated as
(4)χn,m=pnupgn,m∑i=1,i≠nN∑j=1,j≠mMoi,jpiupgi,m+σ2,where gn,m represents the uplink channel gain between UE n and ES m, pnup represents the upload power of user n. The first term of the denominator represents the interference generated by other users on the same subband. The second term σ2 of the denominator represents the background noise power. Therefore, the upload rate of user n to server m can be calculated as
(5)rn,m=Blog21+χn,m,∀n∈N,m∈M,where B represents the bandwidth of the uplink. According to (5), the time to upload to ES m can be calculated as follows
(6)tn,mup=αnrn,m.The energy consumption for usern to upload task Tn to ES m can be calculated as follows
(7)en,mup=pnuptn,mup=pnupαnrn,m.(2) Task Execution. The time to perform task is calculated as follows
(8)tn,mcom=βnfs,m,where fs,m represents the computing capability of virtual machine in ES m.


#### 3.1.3. Load Model

In this paper, we propose the load mean variance to evaluate the current system load state. According to the occupancy of virtual machines in ES, the resource utilization rate of each ES is calculated as(9)rurm=1qm∑n=1N∑k=1qmon,mQk,nm,∀m∈M,where Qk,nm represents the occupancy of virtual machine in ES m and Qk,nm=1 represents that the kth virtual machine of ES m is occupied by user n; otherwise, Qk,nm=0. According to (9), the average load of all ESs is calculated as
(10)AVGrur=1M∑m=1Mrurm.Thus, the load mean variance of the system is calculated as(11)VAR=1M∑j=1Mrurj−AVGrur2.


#### 3.1.4. The Security Transmission Mode

When UE offloads the task to be executed, it is easy to cause privacy leakage in the transmission process. In order to prevent the privacy leakage of the transmitted data, as shown in Figure2, a hybrid encryption technology based on AES and RSA is used to protect the transmitted data. AES needs to transmit the key from the user to the server, if the key is not encrypted, it will lead to the problem of key leakage. Therefore, RSA is used to encrypt AES key to improve the security of encryption. Since the encryption speed of AES is faster than RSA, we use RSA to encrypt the key with a small amount of data, and AES encrypts the offloading data with a large amount of data, thereby improving the encryption speed.Figure 2
Flow chart of hybrid encrypted data transmission.Each offloading user determines whether to encrypt the transmitted data according to their own security requirements. We usecn,n∈N to represents UE n’s security decision; if cn=1, it means that UE n encrypts the transmitted data; otherwise, cn=0. According to [42], the time for encrypting data is calculated as
(12)tnen=cnk×αnfl,n×vaes,where vaes is the speed of AES encryption and fl,n is the computing capability of user n. The time to decrypt the offloaded data of MEC server is calculated as
(13)tn,mde=cnfl,n×tnenfs,m,∀n∈N,m∈M.Then the total time of encryption and decryption can be expressed as(14)tn,menc=tnen+tn,mde,∀n∈N,∀m∈M.The energy consumed by UE to encrypt the offloaded data can be calculated as(15)enenc=tnen×pl,n=cnk×αnfl,n×vaes×pl,n.


### 3.2. Problem Formation

In this section, we will formulate the problem of computing offloading and task completion delay and maximize system performance.According to (2), (6), (8), and (14), the total delay required to complete all tasks can be calculated as
(16)fTo1,o2,⋯,oN=∑n=1N1−∑m=1Mon,mtl,n+∑m=1Mon,mtn,mup+tn,mcom+tn,menc.According to (3), (7), and (15), the total energy consumption of UEs to complete all tasks can be calculated as
(17)fEo1,o2,⋯,oN=∑n=1N1−∑m=1Mon,mel,n+∑m=1Mon,men,mup+en,menc.According to (11), the load mean variance of the system can be calculated as
(18)fVo1,o2,⋯,oN=1M∑m=1Mrurm−AVGrur2.Therefore, the efficient computing offload problem based on privacy protection is described as a multiobjective optimization problem.(19)minOfTO,fEO,fVO,(20)s.t.on,m∈0,1,∀n∈N,m∈M,(21)∑m=1Mon,m≤1,∀n∈N,(22)∑n=1Non,m≤qj,∀m∈M.The constraints on the above problem can be interpreted as follows: constraint (20) implies that each computing task can be offloaded to ES or local to execute; constraint (21) states that each task only can be offloaded to one ES; and constraint (22) that the number of tasks performed on each ES cannot exceed the total number of virtual machines on the ES.


## 3.1. System Model

As shown in Figure1, we consider a MEC system with multicells and servers. N=1,2,3,⋯,N and M=1,2,3,⋯,M are used to represent UEs (such as iPad and smart phones) and ESs set in the system, respectively. Each UE has a computing task to complete, and each task is atomic and indivisible. And the capacity of each ES is equal to the number of virtual machines in the ES, and Qm=1,2,3,⋯,qm represents a collection of virtual machines in ES m. Each virtual machine performs only one task at a time, and the computing capability of virtual machines on the same server is the same. The system model is established from four aspects of local computation, MEC offloading computation, system load, and security transmission mode.Figure 1
A cellular system with multiple MEC servers.


### 3.1.1. The Model of Local Computation

The two-tupleαn,βn is used to represent the task Tn of the user n, where αn (bits) represents the data size required to complete task Tn (including input parameters and program codes), and βn represents the number of cycles required to complete task Tn. The values of αn and βn can be obtained by the program analyzer. The binary variable on,m∈0,1, ∀n∈N,m∈M, is defined to represent the offloading decision of the task. on,m=1 indicates that the task Tn is offloaded to the edge server m for execution; otherwise, the task Tn is executed locally. Each computing task can be offloaded to ES execution or executed locally. Therefore, a reasonable offloading strategy needs to meet the limitation:
(1)∑m=1Mon,m≤1,∀n∈N.Ifon,m=0, we perform task Tn locally. fl,n represents the local computing capability of user n. The total time to perform task Tn can be calculated as
(2)tl,n=βnfl,n.In order to calculate the energy consumption when the taskTn is executed locally, the energy consumption model ςfl,n2 in [40] is used, which represents the energy consumption of a calculation cycle, where ς is energy coefficient that depends on the chip structure. Therefore, the energy consumption when the task is executed locally can be calculated as
(3)el,n=βnςfl,n2.


### 3.1.2. The Model of MEC Offloading Computation

Whenon,m=1, the task Tn,∀n∈N is offloaded to the ES m,∀m∈M to execute. The task Tn offloading calculation includes three steps: (1) task Tn is uploaded to ES m, (2) ES m executes task Tn, and (3) the calculation results is returned to user n. We consider that the downlink transmission rate is much larger than the uplink transmission rate [41], and the amount of data for the calculation result is much smaller than that of the input task, so we ignore the delay of transmitting the calculation results from ES to UE n. Next, the two steps of task upload and task execution will be introduced in detail.(1) Task Upload. In this paper, we use OFDMA as a multiaccess scheme for uplink. When a subband is occupied by multiple users, it will cause additional interference. Therefore, the signal-to-noise ratio (SNR) from UE n to ES m can be calculated as
(4)χn,m=pnupgn,m∑i=1,i≠nN∑j=1,j≠mMoi,jpiupgi,m+σ2,where gn,m represents the uplink channel gain between UE n and ES m, pnup represents the upload power of user n. The first term of the denominator represents the interference generated by other users on the same subband. The second term σ2 of the denominator represents the background noise power. Therefore, the upload rate of user n to server m can be calculated as
(5)rn,m=Blog21+χn,m,∀n∈N,m∈M,where B represents the bandwidth of the uplink. According to (5), the time to upload to ES m can be calculated as follows
(6)tn,mup=αnrn,m.The energy consumption for usern to upload task Tn to ES m can be calculated as follows
(7)en,mup=pnuptn,mup=pnupαnrn,m.(2) Task Execution. The time to perform task is calculated as follows
(8)tn,mcom=βnfs,m,where fs,m represents the computing capability of virtual machine in ES m.


### 3.1.3. Load Model

In this paper, we propose the load mean variance to evaluate the current system load state. According to the occupancy of virtual machines in ES, the resource utilization rate of each ES is calculated as(9)rurm=1qm∑n=1N∑k=1qmon,mQk,nm,∀m∈M,where Qk,nm represents the occupancy of virtual machine in ES m and Qk,nm=1 represents that the kth virtual machine of ES m is occupied by user n; otherwise, Qk,nm=0. According to (9), the average load of all ESs is calculated as
(10)AVGrur=1M∑m=1Mrurm.Thus, the load mean variance of the system is calculated as(11)VAR=1M∑j=1Mrurj−AVGrur2.


### 3.1.4. The Security Transmission Mode

When UE offloads the task to be executed, it is easy to cause privacy leakage in the transmission process. In order to prevent the privacy leakage of the transmitted data, as shown in Figure2, a hybrid encryption technology based on AES and RSA is used to protect the transmitted data. AES needs to transmit the key from the user to the server, if the key is not encrypted, it will lead to the problem of key leakage. Therefore, RSA is used to encrypt AES key to improve the security of encryption. Since the encryption speed of AES is faster than RSA, we use RSA to encrypt the key with a small amount of data, and AES encrypts the offloading data with a large amount of data, thereby improving the encryption speed.Figure 2
Flow chart of hybrid encrypted data transmission.Each offloading user determines whether to encrypt the transmitted data according to their own security requirements. We usecn,n∈N to represents UE n’s security decision; if cn=1, it means that UE n encrypts the transmitted data; otherwise, cn=0. According to [42], the time for encrypting data is calculated as
(12)tnen=cnk×αnfl,n×vaes,where vaes is the speed of AES encryption and fl,n is the computing capability of user n. The time to decrypt the offloaded data of MEC server is calculated as
(13)tn,mde=cnfl,n×tnenfs,m,∀n∈N,m∈M.Then the total time of encryption and decryption can be expressed as(14)tn,menc=tnen+tn,mde,∀n∈N,∀m∈M.The energy consumed by UE to encrypt the offloaded data can be calculated as(15)enenc=tnen×pl,n=cnk×αnfl,n×vaes×pl,n.


## 3.1.1. The Model of Local Computation

The two-tupleαn,βn is used to represent the task Tn of the user n, where αn (bits) represents the data size required to complete task Tn (including input parameters and program codes), and βn represents the number of cycles required to complete task Tn. The values of αn and βn can be obtained by the program analyzer. The binary variable on,m∈0,1, ∀n∈N,m∈M, is defined to represent the offloading decision of the task. on,m=1 indicates that the task Tn is offloaded to the edge server m for execution; otherwise, the task Tn is executed locally. Each computing task can be offloaded to ES execution or executed locally. Therefore, a reasonable offloading strategy needs to meet the limitation:
(1)∑m=1Mon,m≤1,∀n∈N.Ifon,m=0, we perform task Tn locally. fl,n represents the local computing capability of user n. The total time to perform task Tn can be calculated as
(2)tl,n=βnfl,n.In order to calculate the energy consumption when the taskTn is executed locally, the energy consumption model ςfl,n2 in [40] is used, which represents the energy consumption of a calculation cycle, where ς is energy coefficient that depends on the chip structure. Therefore, the energy consumption when the task is executed locally can be calculated as
(3)el,n=βnςfl,n2.


## 3.1.2. The Model of MEC Offloading Computation

Whenon,m=1, the task Tn,∀n∈N is offloaded to the ES m,∀m∈M to execute. The task Tn offloading calculation includes three steps: (1) task Tn is uploaded to ES m, (2) ES m executes task Tn, and (3) the calculation results is returned to user n. We consider that the downlink transmission rate is much larger than the uplink transmission rate [41], and the amount of data for the calculation result is much smaller than that of the input task, so we ignore the delay of transmitting the calculation results from ES to UE n. Next, the two steps of task upload and task execution will be introduced in detail.(1) Task Upload. In this paper, we use OFDMA as a multiaccess scheme for uplink. When a subband is occupied by multiple users, it will cause additional interference. Therefore, the signal-to-noise ratio (SNR) from UE n to ES m can be calculated as
(4)χn,m=pnupgn,m∑i=1,i≠nN∑j=1,j≠mMoi,jpiupgi,m+σ2,where gn,m represents the uplink channel gain between UE n and ES m, pnup represents the upload power of user n. The first term of the denominator represents the interference generated by other users on the same subband. The second term σ2 of the denominator represents the background noise power. Therefore, the upload rate of user n to server m can be calculated as
(5)rn,m=Blog21+χn,m,∀n∈N,m∈M,where B represents the bandwidth of the uplink. According to (5), the time to upload to ES m can be calculated as follows
(6)tn,mup=αnrn,m.The energy consumption for usern to upload task Tn to ES m can be calculated as follows
(7)en,mup=pnuptn,mup=pnupαnrn,m.(2) Task Execution. The time to perform task is calculated as follows
(8)tn,mcom=βnfs,m,where fs,m represents the computing capability of virtual machine in ES m.


## 3.1.3. Load Model

In this paper, we propose the load mean variance to evaluate the current system load state. According to the occupancy of virtual machines in ES, the resource utilization rate of each ES is calculated as(9)rurm=1qm∑n=1N∑k=1qmon,mQk,nm,∀m∈M,where Qk,nm represents the occupancy of virtual machine in ES m and Qk,nm=1 represents that the kth virtual machine of ES m is occupied by user n; otherwise, Qk,nm=0. According to (9), the average load of all ESs is calculated as
(10)AVGrur=1M∑m=1Mrurm.Thus, the load mean variance of the system is calculated as(11)VAR=1M∑j=1Mrurj−AVGrur2.


## 3.1.4. The Security Transmission Mode

When UE offloads the task to be executed, it is easy to cause privacy leakage in the transmission process. In order to prevent the privacy leakage of the transmitted data, as shown in Figure2, a hybrid encryption technology based on AES and RSA is used to protect the transmitted data. AES needs to transmit the key from the user to the server, if the key is not encrypted, it will lead to the problem of key leakage. Therefore, RSA is used to encrypt AES key to improve the security of encryption. Since the encryption speed of AES is faster than RSA, we use RSA to encrypt the key with a small amount of data, and AES encrypts the offloading data with a large amount of data, thereby improving the encryption speed.Figure 2
Flow chart of hybrid encrypted data transmission.Each offloading user determines whether to encrypt the transmitted data according to their own security requirements. We usecn,n∈N to represents UE n’s security decision; if cn=1, it means that UE n encrypts the transmitted data; otherwise, cn=0. According to [42], the time for encrypting data is calculated as
(12)tnen=cnk×αnfl,n×vaes,where vaes is the speed of AES encryption and fl,n is the computing capability of user n. The time to decrypt the offloaded data of MEC server is calculated as
(13)tn,mde=cnfl,n×tnenfs,m,∀n∈N,m∈M.Then the total time of encryption and decryption can be expressed as(14)tn,menc=tnen+tn,mde,∀n∈N,∀m∈M.The energy consumed by UE to encrypt the offloaded data can be calculated as(15)enenc=tnen×pl,n=cnk×αnfl,n×vaes×pl,n.


## 3.2. Problem Formation

In this section, we will formulate the problem of computing offloading and task completion delay and maximize system performance.According to (2), (6), (8), and (14), the total delay required to complete all tasks can be calculated as
(16)fTo1,o2,⋯,oN=∑n=1N1−∑m=1Mon,mtl,n+∑m=1Mon,mtn,mup+tn,mcom+tn,menc.According to (3), (7), and (15), the total energy consumption of UEs to complete all tasks can be calculated as
(17)fEo1,o2,⋯,oN=∑n=1N1−∑m=1Mon,mel,n+∑m=1Mon,men,mup+en,menc.According to (11), the load mean variance of the system can be calculated as
(18)fVo1,o2,⋯,oN=1M∑m=1Mrurm−AVGrur2.Therefore, the efficient computing offload problem based on privacy protection is described as a multiobjective optimization problem.(19)minOfTO,fEO,fVO,(20)s.t.on,m∈0,1,∀n∈N,m∈M,(21)∑m=1Mon,m≤1,∀n∈N,(22)∑n=1Non,m≤qj,∀m∈M.The constraints on the above problem can be interpreted as follows: constraint (20) implies that each computing task can be offloaded to ES or local to execute; constraint (21) states that each task only can be offloaded to one ES; and constraint (22) that the number of tasks performed on each ES cannot exceed the total number of virtual machines on the ES.


## 4. Our Proposed Efficient Computing Offloading Scheme Based on Privacy-Preserving

In this section, the improved NSGA-II algorithm (INSGA-II) is used to solve the efficient computing offloading problem based on privacy protection, and the optimal offloading strategy set is obtained. Finally, the optimal offloading strategy is obtained by min-max normalization and weighted accumulation.


### 4.1. Optimize the Efficient Computing Offloading Model Based on Privacy Protection by INSGA-II

In this section, we mainly solve the multiobjective optimization problem (19). We can solve the problem by transforming the multiobjective optimization problem into a single objective problem and set weights for different objectives according to user needs. However, when the user’s demands changes, we need to reset the weights and rerun the algorithm. Therefore, we can use the multiobjective optimization algorithm NSGA-II to solve the problem (19). Even if the user’s demands changes, there is no need to rerun the algorithm. First, we encode the strategy of task offloading and give the fitness function. Then, we propose an improved NSGA-II algorithm to solve the problem (19). As shown in Figure 3, the basic idea of NSGA-II can be described as follows:
(1)
First, initialize a population of sizeP. And the first-generation population is obtained by selection, cross-over, and mutation of the initial population(2)
Then, from the second generation,2P individuals are obtained by combining the parent population with the offspring population. P individuals are selected from the combined population to form a new parent population by crowding degree calculation and fast nondominated sorting(3)
Finally, a new offspring population is generated through selection, cross-over, and mutation of genetic algorithm(4)
Iteration will stop until the maximum number of iterations are reached, so as to obtain the optimal populationFigure 3
The INSGA-II algorithm flow chart (Algorithm1 improves the initialization population operation. Algorithm 2 improves the cross-over operation).Next, the preparation work and implementation steps of INSGA-II are introduced in detail.


#### 4.1.1. Encoding

Encoding is the first problem solved by NSGA-II algorithm. To solve problem (19), we transform the solution into chromosome embodied in the code. As shown in Figure 4, a solution is designed as a two-tuple, which includes execution Location=1,0,1,1,0 and Server=4,0,7,2,0, where the task is offloaded. For Location, if task is executed in ES, the value is 1; otherwise, the value is 0. For Server, its value represents the server number to which task is offloaded, and the value is 0 if task is executed locally.Figure 4
Encoding scheme.


#### 4.1.2. Fitness Function

In the process of finding the best individual, the fitness function is used to evaluate the quality of the individual. We use Equations (16)–(18) as fitness functions to express task completion time, total energy consumption, and load mean variance, respectively. Our goal is to find an offloading strategy to make the values of the three fitness functions relatively good.


#### 4.1.3. Initialize the Population

Under the constraint of decision space, the initial population with sizeP is randomly generated. Based on the ergodic characteristics of chaotic sequences [43], we introduce the chaotic sequences to initialize the population to improve the global optimization ability and avoid the search process falling into local optimization. Algorithm 1 gives the specific steps of population initialization. Iterate for P individuals in the population (lines 1-2). Firstly, for each individual, the logistic chaotic map xn+1=4xn1−xn is iterated N times to generate chaotic sequence Yi (lines 3-6). Then, the initial value of the current individual i is obtained according to Yi (lines 7-14). Incorporate the initialized individuals into the initial population set (lines 15-17). Finally, the above process is iterated P times to generate an initial population PA0 with a size of P individuals.Algorithm 1: Population initialization.
Input: Initial values of logistic chaotic map y1; Number of iterations N; Population size P.Output: first-generation population PA0.1:fori=1 to Pdo2:Yi⟵y1∪Yi3:forj=2 to Ndo4:yj=4×yj−1×1−yj−15:Yi⟵yj∪Yi6:end for7:forj=1 to Ndo8:ifYij≥0.5then9:Tj is offloaded to MEC server, oj=110:else11:Tj is executed locally, oj=012:end if13:Oi⟵oj∪Oi14:end for15:y1=YiN16:PA0⟵Oi∪PA017:end for


#### 4.1.4. Fast Nondominated Sorting and Crowding Calculation

In order to retain the best offloading strategy, we merge the offspring and the parent with population size ofP and select the best P individuals as the new parent population by fast nondominated sorting and crowding calculation. The specific steps are described as follows: (1) Firstly, a new population PCi with population size of 2P is obtained by combining parent PAi with offspring CHi, where i∈0,Gen, and Gen is the total number of evolutions. (2) According to the fitness functions (16)–(18), the individuals in population PCi is arranged in fast nondominated sorting. (3) To ensure the diversity of individuals, we calculate the crowding degree of individuals in same dominant layer according to formula (23), where fj is the j-th fitness function and id is crowding degree. (4) P individuals are selected to form a new parent population PAi+1 by crowding degree calculation and fast nondominated sorting.
(23)id=∑j=1Ffji+1−fji−1/fjmax−fjmin.


#### 4.1.5. Selection

The tournament selection algorithm is used for selection operation. Firstly,k (k<p) individuals are randomly selected from the P individuals in parent population. Then, the individuals with best fitness value are selected to enter next generation population. The above process is repeated until new P individuals are obtained.


#### 4.1.6. Cross-Over and Mutation

Cross-over operation refers to the operation of replacing and reorganizing some structures of two parent individuals according to the cross-over probability to generate new individuals. Cross-over operation is the main operator to generate new individuals. As an auxiliary operator, mutation operation is to generate new patterns. Assuming that there is only cross-operation, the new solution generated in the iterative process can always only be the combination of existing patterns in the initial population. If the key modes of constructing the optimal solution are missing in the initial population, the optimal solution cannot be obtained only through cross-operation, and we also need to use the local random search ability of mutation operator to accelerate the convergence to the optimal solution. Therefore, both cross-over and mutation operations are indispensable. Next, we will describe these two operations, respectively.(1) Cross-Over. Cross-over can retain the excellent genes left by each evolution. However, if the two crossed individuals are very similar, it will be difficult to produce new individuals, thus reducing the diversity of the population.In order to solve this problem, the individual similarity judgment is introduced. In Algorithm2, we give the specific process of cross-over operation based on similarity judgment. First, traverse P individuals in the population (lines 1). Generate a random number Pcri (lines 2) for individual i in the current iteration. If Pcri is less than the cross-over probability Pcr, add the current individual to the cross-over individual set (lines 3-7). Then, traverse the cross individual set (lines 8) and calculate the similarity between the two crossed individuals according to Equation (24) (lines 9). If the similarity is less than the similarity threshold Pθ, perform the cross-over operation (lines 10-13). The new population is obtained by the above cross-over operation. An example of cross-over operation is given in Figure 5, which performs a single-point cross-over on two individuals.
(24)SimYi,Ζi=N‐∑i=1NYi⊕ΖiN.Algorithm 2: Cross-overs based on similarity.
Input: cross-over probability pcr=0.8; similarity threshold pθ.Output: Individuals after crossing newCR.1:fori=1 to Pdo2:Pcri= Math. random3:ifPcri<Pcrthen4:CR=CR∪Oi5:count++6:end if7:end for8:forj=1;j≤count;j+=2do9: CalculateSimCRj,CRj+1using (24)10:ifSimCRj,CRj+1<Pθthen11:newCR=cross-over CRj,CRj+112:end if13:end forFigure 5
Cross-over operation.


#### 4.1.7. Mutation

Mutation breaks through the limitations of the current search and is more conducive to the algorithm to find global optimal solution. Individuals whose mutation probability is less thanpmu=0.1 will randomly select a gene for mutation operation. An example of a mutation operation is shown in Figure 6.Figure 6
Mutation operation.We get the offspringCHg of evolution. Combine offspring CHg with parent PAg to form a new parent PAg+1, and continue the evolution of next generation until the maximum evolutionary generation is reached. Solutions with good fitness will spread in the solution set, and solutions with poor performance will be slowly eliminated. Finally, an optimal set OPT of offloading strategies is obtained.


### 4.2. Get the Optimal Offloading Strategy

In this section, we select an optimal individual from the solution setOPT. Min-max normalization is used to normalize the fitness values to ensure the reliability of results. The total time delay T=tl+ts+tenc of individual opti to complete all tasks is normalized as
(25)Topti′=Topti−TminTmax−Tmin,where Tmax, Tmin, and Topti represent the maximum task completion time, the minimum task completion time, and the delay for i-th individual to complete task, respectively. The total energy consumption E=el+es+eenc of UEs is normalized as
(26)Eopti′=Eopti−EminEmax−Emin,where Emax, Emin, and Eopti represent the maximum energy consumption of UEs, the minimum energy consumption of UEs, and the UE energy consumption of i-th individual, respectively. Finally, the load mean variance of system is normalized as
(27)VARopti′=VARopti−VARminVARmax−VARmin,where VARmax, VARmin, and VARopti represent the maximum load mean variance, the minimum load mean variance, and the load mean variance of i-th individual, respectively.Next, we use simple additive weighting for normalizing fitness values to measure the quality of individuals in populationOPT.
(28)Fopti=ϕ1Topti′+ϕ2Eopti′+ϕ3VARopti′.where ϕ1, ϕ2, and ϕ3 represent the weight of delay, energy consumption, and load mean variance, respectively. And ϕ1, ϕ2, and ϕ3 satisfies ϕ1+ϕ2+ϕ3=1.In Algorithm3, the main process of obtaining offloading strategy based on INSGA-II is introduced. Firstly, the initial population PA1 is generated by Algorithm 1 (line 1). Then, the optimal offloading policy set OPT is obtained by the INSGA-II algorithm (lines 2-10). Finally, the optimal offloading strategy is obtained by the min-max normalization and weighted accumulation (lines 11-18).Algorithm 3: Obtain offloading strategy based on INSGA-II.
Input: Evolutionary algebra gen; population size P; cross-over and mutation probability.pcr=0.8, pmu=0.1.Output: Optimal offloading strategy opt.1: initial populationPA1 by Algorithm 12: g =13:whileg<gendo4:PCg=CHg+PAg5:PAg+1= fast nondominated sort (PCg) and crowding calculation(PCg)6:  select(PAg+1) by tournament selection strategy7:CHg+1= cross-over (PAg+1) by Algorithm 2 and mutation (PAg+1).8:g=g+19:end while10: getOopt by INSGA-II11: calculateTopt, Eopt, VARopt by gTopt, gEopt, fVopt12: getTmax, Emax, VARmax from Topt, Eopt, VARopt13: getTmin, Emin, VARmin from Topt, Eopt, VARopt14:forj=1:Pdo15:  calculateTopt, Eopt, VARopt by min-max standardization16:  calculateFoptj=ϕ1Toptj′+ϕ2Eoptj′+ϕ3VARoptj′17:end for18:opt=FminOPT


## 4.1. Optimize the Efficient Computing Offloading Model Based on Privacy Protection by INSGA-II

In this section, we mainly solve the multiobjective optimization problem (19). We can solve the problem by transforming the multiobjective optimization problem into a single objective problem and set weights for different objectives according to user needs. However, when the user’s demands changes, we need to reset the weights and rerun the algorithm. Therefore, we can use the multiobjective optimization algorithm NSGA-II to solve the problem (19). Even if the user’s demands changes, there is no need to rerun the algorithm. First, we encode the strategy of task offloading and give the fitness function. Then, we propose an improved NSGA-II algorithm to solve the problem (19). As shown in Figure 3, the basic idea of NSGA-II can be described as follows:
(1)
First, initialize a population of sizeP. And the first-generation population is obtained by selection, cross-over, and mutation of the initial population(2)
Then, from the second generation,2P individuals are obtained by combining the parent population with the offspring population. P individuals are selected from the combined population to form a new parent population by crowding degree calculation and fast nondominated sorting(3)
Finally, a new offspring population is generated through selection, cross-over, and mutation of genetic algorithm(4)
Iteration will stop until the maximum number of iterations are reached, so as to obtain the optimal populationFigure 3
The INSGA-II algorithm flow chart (Algorithm1 improves the initialization population operation. Algorithm 2 improves the cross-over operation).Next, the preparation work and implementation steps of INSGA-II are introduced in detail.


### 4.1.1. Encoding

Encoding is the first problem solved by NSGA-II algorithm. To solve problem (19), we transform the solution into chromosome embodied in the code. As shown in Figure 4, a solution is designed as a two-tuple, which includes execution Location=1,0,1,1,0 and Server=4,0,7,2,0, where the task is offloaded. For Location, if task is executed in ES, the value is 1; otherwise, the value is 0. For Server, its value represents the server number to which task is offloaded, and the value is 0 if task is executed locally.Figure 4
Encoding scheme.


### 4.1.2. Fitness Function

In the process of finding the best individual, the fitness function is used to evaluate the quality of the individual. We use Equations (16)–(18) as fitness functions to express task completion time, total energy consumption, and load mean variance, respectively. Our goal is to find an offloading strategy to make the values of the three fitness functions relatively good.


### 4.1.3. Initialize the Population

Under the constraint of decision space, the initial population with sizeP is randomly generated. Based on the ergodic characteristics of chaotic sequences [43], we introduce the chaotic sequences to initialize the population to improve the global optimization ability and avoid the search process falling into local optimization. Algorithm 1 gives the specific steps of population initialization. Iterate for P individuals in the population (lines 1-2). Firstly, for each individual, the logistic chaotic map xn+1=4xn1−xn is iterated N times to generate chaotic sequence Yi (lines 3-6). Then, the initial value of the current individual i is obtained according to Yi (lines 7-14). Incorporate the initialized individuals into the initial population set (lines 15-17). Finally, the above process is iterated P times to generate an initial population PA0 with a size of P individuals.Algorithm 1: Population initialization.
Input: Initial values of logistic chaotic map y1; Number of iterations N; Population size P.Output: first-generation population PA0.1:fori=1 to Pdo2:Yi⟵y1∪Yi3:forj=2 to Ndo4:yj=4×yj−1×1−yj−15:Yi⟵yj∪Yi6:end for7:forj=1 to Ndo8:ifYij≥0.5then9:Tj is offloaded to MEC server, oj=110:else11:Tj is executed locally, oj=012:end if13:Oi⟵oj∪Oi14:end for15:y1=YiN16:PA0⟵Oi∪PA017:end for


### 4.1.4. Fast Nondominated Sorting and Crowding Calculation

In order to retain the best offloading strategy, we merge the offspring and the parent with population size ofP and select the best P individuals as the new parent population by fast nondominated sorting and crowding calculation. The specific steps are described as follows: (1) Firstly, a new population PCi with population size of 2P is obtained by combining parent PAi with offspring CHi, where i∈0,Gen, and Gen is the total number of evolutions. (2) According to the fitness functions (16)–(18), the individuals in population PCi is arranged in fast nondominated sorting. (3) To ensure the diversity of individuals, we calculate the crowding degree of individuals in same dominant layer according to formula (23), where fj is the j-th fitness function and id is crowding degree. (4) P individuals are selected to form a new parent population PAi+1 by crowding degree calculation and fast nondominated sorting.
(23)id=∑j=1Ffji+1−fji−1/fjmax−fjmin.


### 4.1.5. Selection

The tournament selection algorithm is used for selection operation. Firstly,k (k<p) individuals are randomly selected from the P individuals in parent population. Then, the individuals with best fitness value are selected to enter next generation population. The above process is repeated until new P individuals are obtained.


### 4.1.6. Cross-Over and Mutation

Cross-over operation refers to the operation of replacing and reorganizing some structures of two parent individuals according to the cross-over probability to generate new individuals. Cross-over operation is the main operator to generate new individuals. As an auxiliary operator, mutation operation is to generate new patterns. Assuming that there is only cross-operation, the new solution generated in the iterative process can always only be the combination of existing patterns in the initial population. If the key modes of constructing the optimal solution are missing in the initial population, the optimal solution cannot be obtained only through cross-operation, and we also need to use the local random search ability of mutation operator to accelerate the convergence to the optimal solution. Therefore, both cross-over and mutation operations are indispensable. Next, we will describe these two operations, respectively.(1) Cross-Over. Cross-over can retain the excellent genes left by each evolution. However, if the two crossed individuals are very similar, it will be difficult to produce new individuals, thus reducing the diversity of the population.In order to solve this problem, the individual similarity judgment is introduced. In Algorithm2, we give the specific process of cross-over operation based on similarity judgment. First, traverse P individuals in the population (lines 1). Generate a random number Pcri (lines 2) for individual i in the current iteration. If Pcri is less than the cross-over probability Pcr, add the current individual to the cross-over individual set (lines 3-7). Then, traverse the cross individual set (lines 8) and calculate the similarity between the two crossed individuals according to Equation (24) (lines 9). If the similarity is less than the similarity threshold Pθ, perform the cross-over operation (lines 10-13). The new population is obtained by the above cross-over operation. An example of cross-over operation is given in Figure 5, which performs a single-point cross-over on two individuals.
(24)SimYi,Ζi=N‐∑i=1NYi⊕ΖiN.Algorithm 2: Cross-overs based on similarity.
Input: cross-over probability pcr=0.8; similarity threshold pθ.Output: Individuals after crossing newCR.1:fori=1 to Pdo2:Pcri= Math. random3:ifPcri<Pcrthen4:CR=CR∪Oi5:count++6:end if7:end for8:forj=1;j≤count;j+=2do9: CalculateSimCRj,CRj+1using (24)10:ifSimCRj,CRj+1<Pθthen11:newCR=cross-over CRj,CRj+112:end if13:end forFigure 5
Cross-over operation.


### 4.1.7. Mutation

Mutation breaks through the limitations of the current search and is more conducive to the algorithm to find global optimal solution. Individuals whose mutation probability is less thanpmu=0.1 will randomly select a gene for mutation operation. An example of a mutation operation is shown in Figure 6.Figure 6
Mutation operation.We get the offspringCHg of evolution. Combine offspring CHg with parent PAg to form a new parent PAg+1, and continue the evolution of next generation until the maximum evolutionary generation is reached. Solutions with good fitness will spread in the solution set, and solutions with poor performance will be slowly eliminated. Finally, an optimal set OPT of offloading strategies is obtained.


## 4.1.1. Encoding

Encoding is the first problem solved by NSGA-II algorithm. To solve problem (19), we transform the solution into chromosome embodied in the code. As shown in Figure 4, a solution is designed as a two-tuple, which includes execution Location=1,0,1,1,0 and Server=4,0,7,2,0, where the task is offloaded. For Location, if task is executed in ES, the value is 1; otherwise, the value is 0. For Server, its value represents the server number to which task is offloaded, and the value is 0 if task is executed locally.Figure 4
Encoding scheme.


## 4.1.2. Fitness Function

In the process of finding the best individual, the fitness function is used to evaluate the quality of the individual. We use Equations (16)–(18) as fitness functions to express task completion time, total energy consumption, and load mean variance, respectively. Our goal is to find an offloading strategy to make the values of the three fitness functions relatively good.


## 4.1.3. Initialize the Population

Under the constraint of decision space, the initial population with sizeP is randomly generated. Based on the ergodic characteristics of chaotic sequences [43], we introduce the chaotic sequences to initialize the population to improve the global optimization ability and avoid the search process falling into local optimization. Algorithm 1 gives the specific steps of population initialization. Iterate for P individuals in the population (lines 1-2). Firstly, for each individual, the logistic chaotic map xn+1=4xn1−xn is iterated N times to generate chaotic sequence Yi (lines 3-6). Then, the initial value of the current individual i is obtained according to Yi (lines 7-14). Incorporate the initialized individuals into the initial population set (lines 15-17). Finally, the above process is iterated P times to generate an initial population PA0 with a size of P individuals.Algorithm 1: Population initialization.
Input: Initial values of logistic chaotic map y1; Number of iterations N; Population size P.Output: first-generation population PA0.1:fori=1 to Pdo2:Yi⟵y1∪Yi3:forj=2 to Ndo4:yj=4×yj−1×1−yj−15:Yi⟵yj∪Yi6:end for7:forj=1 to Ndo8:ifYij≥0.5then9:Tj is offloaded to MEC server, oj=110:else11:Tj is executed locally, oj=012:end if13:Oi⟵oj∪Oi14:end for15:y1=YiN16:PA0⟵Oi∪PA017:end for


## 4.1.4. Fast Nondominated Sorting and Crowding Calculation

In order to retain the best offloading strategy, we merge the offspring and the parent with population size ofP and select the best P individuals as the new parent population by fast nondominated sorting and crowding calculation. The specific steps are described as follows: (1) Firstly, a new population PCi with population size of 2P is obtained by combining parent PAi with offspring CHi, where i∈0,Gen, and Gen is the total number of evolutions. (2) According to the fitness functions (16)–(18), the individuals in population PCi is arranged in fast nondominated sorting. (3) To ensure the diversity of individuals, we calculate the crowding degree of individuals in same dominant layer according to formula (23), where fj is the j-th fitness function and id is crowding degree. (4) P individuals are selected to form a new parent population PAi+1 by crowding degree calculation and fast nondominated sorting.
(23)id=∑j=1Ffji+1−fji−1/fjmax−fjmin.


## 4.1.5. Selection

The tournament selection algorithm is used for selection operation. Firstly,k (k<p) individuals are randomly selected from the P individuals in parent population. Then, the individuals with best fitness value are selected to enter next generation population. The above process is repeated until new P individuals are obtained.


## 4.1.6. Cross-Over and Mutation

Cross-over operation refers to the operation of replacing and reorganizing some structures of two parent individuals according to the cross-over probability to generate new individuals. Cross-over operation is the main operator to generate new individuals. As an auxiliary operator, mutation operation is to generate new patterns. Assuming that there is only cross-operation, the new solution generated in the iterative process can always only be the combination of existing patterns in the initial population. If the key modes of constructing the optimal solution are missing in the initial population, the optimal solution cannot be obtained only through cross-operation, and we also need to use the local random search ability of mutation operator to accelerate the convergence to the optimal solution. Therefore, both cross-over and mutation operations are indispensable. Next, we will describe these two operations, respectively.(1) Cross-Over. Cross-over can retain the excellent genes left by each evolution. However, if the two crossed individuals are very similar, it will be difficult to produce new individuals, thus reducing the diversity of the population.In order to solve this problem, the individual similarity judgment is introduced. In Algorithm2, we give the specific process of cross-over operation based on similarity judgment. First, traverse P individuals in the population (lines 1). Generate a random number Pcri (lines 2) for individual i in the current iteration. If Pcri is less than the cross-over probability Pcr, add the current individual to the cross-over individual set (lines 3-7). Then, traverse the cross individual set (lines 8) and calculate the similarity between the two crossed individuals according to Equation (24) (lines 9). If the similarity is less than the similarity threshold Pθ, perform the cross-over operation (lines 10-13). The new population is obtained by the above cross-over operation. An example of cross-over operation is given in Figure 5, which performs a single-point cross-over on two individuals.
(24)SimYi,Ζi=N‐∑i=1NYi⊕ΖiN.Algorithm 2: Cross-overs based on similarity.
Input: cross-over probability pcr=0.8; similarity threshold pθ.Output: Individuals after crossing newCR.1:fori=1 to Pdo2:Pcri= Math. random3:ifPcri<Pcrthen4:CR=CR∪Oi5:count++6:end if7:end for8:forj=1;j≤count;j+=2do9: CalculateSimCRj,CRj+1using (24)10:ifSimCRj,CRj+1<Pθthen11:newCR=cross-over CRj,CRj+112:end if13:end forFigure 5
Cross-over operation.


## 4.1.7. Mutation

Mutation breaks through the limitations of the current search and is more conducive to the algorithm to find global optimal solution. Individuals whose mutation probability is less thanpmu=0.1 will randomly select a gene for mutation operation. An example of a mutation operation is shown in Figure 6.Figure 6
Mutation operation.We get the offspringCHg of evolution. Combine offspring CHg with parent PAg to form a new parent PAg+1, and continue the evolution of next generation until the maximum evolutionary generation is reached. Solutions with good fitness will spread in the solution set, and solutions with poor performance will be slowly eliminated. Finally, an optimal set OPT of offloading strategies is obtained.


## 4.2. Get the Optimal Offloading Strategy

In this section, we select an optimal individual from the solution setOPT. Min-max normalization is used to normalize the fitness values to ensure the reliability of results. The total time delay T=tl+ts+tenc of individual opti to complete all tasks is normalized as
(25)Topti′=Topti−TminTmax−Tmin,where Tmax, Tmin, and Topti represent the maximum task completion time, the minimum task completion time, and the delay for i-th individual to complete task, respectively. The total energy consumption E=el+es+eenc of UEs is normalized as
(26)Eopti′=Eopti−EminEmax−Emin,where Emax, Emin, and Eopti represent the maximum energy consumption of UEs, the minimum energy consumption of UEs, and the UE energy consumption of i-th individual, respectively. Finally, the load mean variance of system is normalized as
(27)VARopti′=VARopti−VARminVARmax−VARmin,where VARmax, VARmin, and VARopti represent the maximum load mean variance, the minimum load mean variance, and the load mean variance of i-th individual, respectively.Next, we use simple additive weighting for normalizing fitness values to measure the quality of individuals in populationOPT.
(28)Fopti=ϕ1Topti′+ϕ2Eopti′+ϕ3VARopti′.where ϕ1, ϕ2, and ϕ3 represent the weight of delay, energy consumption, and load mean variance, respectively. And ϕ1, ϕ2, and ϕ3 satisfies ϕ1+ϕ2+ϕ3=1.In Algorithm3, the main process of obtaining offloading strategy based on INSGA-II is introduced. Firstly, the initial population PA1 is generated by Algorithm 1 (line 1). Then, the optimal offloading policy set OPT is obtained by the INSGA-II algorithm (lines 2-10). Finally, the optimal offloading strategy is obtained by the min-max normalization and weighted accumulation (lines 11-18).Algorithm 3: Obtain offloading strategy based on INSGA-II.
Input: Evolutionary algebra gen; population size P; cross-over and mutation probability.pcr=0.8, pmu=0.1.Output: Optimal offloading strategy opt.1: initial populationPA1 by Algorithm 12: g =13:whileg<gendo4:PCg=CHg+PAg5:PAg+1= fast nondominated sort (PCg) and crowding calculation(PCg)6:  select(PAg+1) by tournament selection strategy7:CHg+1= cross-over (PAg+1) by Algorithm 2 and mutation (PAg+1).8:g=g+19:end while10: getOopt by INSGA-II11: calculateTopt, Eopt, VARopt by gTopt, gEopt, fVopt12: getTmax, Emax, VARmax from Topt, Eopt, VARopt13: getTmin, Emin, VARmin from Topt, Eopt, VARopt14:forj=1:Pdo15:  calculateTopt, Eopt, VARopt by min-max standardization16:  calculateFoptj=ϕ1Toptj′+ϕ2Eoptj′+ϕ3VARoptj′17:end for18:opt=FminOPT


## 5. Performance Analysis

In this section, we evaluate the performance of our proposed ECOAP algorithm through simulation results. The simulation is performed on MATLAB based on simulator 2018. We consider a multiuser multicell scenario, and each cell has a base station. We assume that a single antenna is used for communication between the user and the base station. The parameters used in the simulation are given in Table2.Table 2
Summary of key notations.
Parameters descriptionValueNumber of mobile usersN[5,60]Number of serversM7System total bandwidth10MHZSize of computation taskTn[300, 600]kbUplink channel gainsg127+30log10dkmCPU frequency of serversfs,m[10, 15]GHZCPU frequency of usersfl,n[0.4, 1]GHZTransmission power of userspnup[0.4, 1]WTo evaluate the performance of our proposed algorithm, we compare it with the following five basic offloading methods.(i)
Offloading based on NSGA-II (NSGA-II): based on the current environment, the NSGA-II algorithm is used to obtain the offloading strategy(ii)
Unsecured offloading (UO): regardless of the privacy-preserving of offloading data, the offloading decision is made in the current setting environment(iii)
Offloading without considering system load (OWSL): the load problem of ES is not considered, and offloading decision is made based on the current environment(iv)
Local execution (LE): all UE’s tasks are executed locally without offloading(v)
All offloading (AO): all UE’s tasks are offloaded to ES for execution(vi)
Offloading based on genetic algorithm (GA): based on the current environment, improved GA algorithm is used to solve the optimization problem of offloading decision [35]


### 5.1. Comparison between the INSGA-II Algorithm and NSGA-II Algorithm

Figures7–9 show the comparison of average delay, average energy consumption, and average load mean variance between INSGA-II and NSGA-II algorithms. Figure 7 shows that the average delay of the INSGA-II algorithm decreases with the increase in iterations and tends to stabilize when the iteration reaches the 15th generation. However, the NSGA-II algorithm tends to stable until 45 generations, and the average delay of NSGA-II algorithm is higher than that of the INSGA-II algorithm. Similarly, the average energy consumption of the INSGA-II algorithm is lower than that of the NSGA-II algorithm in Figure 8. Figure 9 shows the comparison of the average load mean variance between the two algorithms. When the INSGA-II algorithm and NSGA-II algorithm are iterated to 45 generations, the load mean variance of the INSGA-II algorithm is better than that of the NSGA-II algorithm. Compared with the NSGA-II algorithm, the INSGA-II algorithm has better global optimization ability, reduces the number of iterations, and requires less time delay and energy consumption.Figure 7
Influence of different evolutionary generations on average delay.Figure 8
Influence of different evolutionary generations on average energy consumption.Figure 9
Influence of different evolutionary generations on average load balance variance.


### 5.2. Comparison of UEs’ Energy Consumption

As shown in Figure10, the influence of different number of UEs on average energy consumption is described. We compared energy consumption in five different scenarios. It can be seen that with the increase in the number of UEs, the average energy consumption of all schemes are growing. Because ECOAP optimizes the energy consumptions of users, the average energy consumption of ECOAP is relatively small. When the number of users is less than 20, the energy consumptions of UO, ECOAP, GA, and AO are less than that of LE, and the energy consumption of UO and ECOAP is basically the same. However, the growth of users leads to additional energy consumption of data transmission, and the energy consumption of AO exceeds the energy consumption of local execution (LE). At the same time, the increase in offloading users leads to the increase of energy consumption for encryption and decryption, and the energy consumption of ECOAP exceeds that of UO.Figure 10
Influence of different numbers of UEs on average energy consumption.


### 5.3. Comparison of Tasks’ Completion Delay

As shown in Figure11, the comparison of average delay against different number of UEs is described. We can see that with the growth of UEs, the delays of all schemes are increasing. Because ECOAP optimizes the delay of completing tasks, the average delay of ECOAP is relatively small. When the number of users is less than 20, the delays of UO, ECOAP, GA, and AO is less than that of LE, and the delays of UO and ECOAP are basically the same. When the number of users exceeds 20, the offloading users will compete for limited wireless resources, which results in the delay of AO exceeding the latency of LE. In addition, with the growth of users, the possibility of encrypting offloading data becomes greater, so that the delay of ECOAP exceeds that of UO, but ECOAP increases the confidentiality of offloaded data.Figure 11
Influence of different number of UEs on average delay.


### 5.4. Comparison of Load Mean Variance

As shown in Figure12, the comparison of load mean variance against different number of UEs is described. We can see that ECOAP always performs best and load mean variance is the lowest. By optimizing the mean variance of system load, ECOAP can improve the system load to a certain extent and has a good performance in load balancing. However, OWSL does not consider the system load, so some ES may be overloaded or lightly loaded with the growth of users, which will reduce the performance of system.Figure 12
Influence of different numbers of UEs on average load mean variance.


### 5.5. Influence of UEs’ Preferences

Figures13–15 show the changes of delay, energy consumption, and load mean variance when user preferences vary from 0.1 to 0.9, where w1, w2, and w3 represent user preferences for delay, energy consumption, and system load, respectively. It can be seen from Figure 13 that under the premise that other parameters remain constant, the average delay of task completion decreases with the increase of w1. Similarly, we can observe from Figure 14 that the average energy consumption of UEs is decreasing as the weight w2 increases. Figure 15 shows that when the user’s preference w3 for the load average variance increases, the load mean variance is reduced. In addition, the average delay to complete tasks and the average energy consumption of users will increase with the growth of users. This is because the growth of users leads to competition for limited resources, which leads to the increase in time and energy consumption.Figure 13
The influence of time preference on delay.Figure 14
The influence of energy preference on energy consumption.Figure 15
The influence of load preference on load mean variance.


### 5.6. Engineering Applications

With the continuous evolution of modern industry towards intelligent direction, the number of industrial field equipment is increasing rapidly, and the demand for computing resources is increasing. As shown in Figure16, edge computing is widely used in industrial Internet of things (IIoT) environment to provide localized computing resources with low latency and high reliability for factory equipment. Edge computing distributes computing nodes in the factory production environment, bringing the computing resources closer to factory equipment.Figure 16
Industrial Internet of things (IIoT) based on edge computing.However, in some industrial processes, the requirements for computing delay, energy consumption, and data privacy are particularly high. For example, IIoT may face problems of privacy leakage and risk warning needs real-time response. Therefore, as shown in Figure17, we use the hybrid encryption method to encrypt the data offloaded from factory equipment to ensure the privacy of the offloaded data. Then, the INSGA-II algorithm is proposed to efficiently offload and obtain the optimal policy set. Finally, the Pareto optimal offloading strategy is selected, so as to improve the localized computing services with low delay, low energy consumption, and high reliability for the field equipment of factory.Figure 17
Application diagram of ECOAP algorithm in IIoT.


## 5.1. Comparison between the INSGA-II Algorithm and NSGA-II Algorithm

Figures7–9 show the comparison of average delay, average energy consumption, and average load mean variance between INSGA-II and NSGA-II algorithms. Figure 7 shows that the average delay of the INSGA-II algorithm decreases with the increase in iterations and tends to stabilize when the iteration reaches the 15th generation. However, the NSGA-II algorithm tends to stable until 45 generations, and the average delay of NSGA-II algorithm is higher than that of the INSGA-II algorithm. Similarly, the average energy consumption of the INSGA-II algorithm is lower than that of the NSGA-II algorithm in Figure 8. Figure 9 shows the comparison of the average load mean variance between the two algorithms. When the INSGA-II algorithm and NSGA-II algorithm are iterated to 45 generations, the load mean variance of the INSGA-II algorithm is better than that of the NSGA-II algorithm. Compared with the NSGA-II algorithm, the INSGA-II algorithm has better global optimization ability, reduces the number of iterations, and requires less time delay and energy consumption.Figure 7
Influence of different evolutionary generations on average delay.Figure 8
Influence of different evolutionary generations on average energy consumption.Figure 9
Influence of different evolutionary generations on average load balance variance.


## 5.2. Comparison of UEs’ Energy Consumption

As shown in Figure10, the influence of different number of UEs on average energy consumption is described. We compared energy consumption in five different scenarios. It can be seen that with the increase in the number of UEs, the average energy consumption of all schemes are growing. Because ECOAP optimizes the energy consumptions of users, the average energy consumption of ECOAP is relatively small. When the number of users is less than 20, the energy consumptions of UO, ECOAP, GA, and AO are less than that of LE, and the energy consumption of UO and ECOAP is basically the same. However, the growth of users leads to additional energy consumption of data transmission, and the energy consumption of AO exceeds the energy consumption of local execution (LE). At the same time, the increase in offloading users leads to the increase of energy consumption for encryption and decryption, and the energy consumption of ECOAP exceeds that of UO.Figure 10
Influence of different numbers of UEs on average energy consumption.


## 5.3. Comparison of Tasks’ Completion Delay

As shown in Figure11, the comparison of average delay against different number of UEs is described. We can see that with the growth of UEs, the delays of all schemes are increasing. Because ECOAP optimizes the delay of completing tasks, the average delay of ECOAP is relatively small. When the number of users is less than 20, the delays of UO, ECOAP, GA, and AO is less than that of LE, and the delays of UO and ECOAP are basically the same. When the number of users exceeds 20, the offloading users will compete for limited wireless resources, which results in the delay of AO exceeding the latency of LE. In addition, with the growth of users, the possibility of encrypting offloading data becomes greater, so that the delay of ECOAP exceeds that of UO, but ECOAP increases the confidentiality of offloaded data.Figure 11
Influence of different number of UEs on average delay.


## 5.4. Comparison of Load Mean Variance

As shown in Figure12, the comparison of load mean variance against different number of UEs is described. We can see that ECOAP always performs best and load mean variance is the lowest. By optimizing the mean variance of system load, ECOAP can improve the system load to a certain extent and has a good performance in load balancing. However, OWSL does not consider the system load, so some ES may be overloaded or lightly loaded with the growth of users, which will reduce the performance of system.Figure 12
Influence of different numbers of UEs on average load mean variance.


## 5.5. Influence of UEs’ Preferences

Figures13–15 show the changes of delay, energy consumption, and load mean variance when user preferences vary from 0.1 to 0.9, where w1, w2, and w3 represent user preferences for delay, energy consumption, and system load, respectively. It can be seen from Figure 13 that under the premise that other parameters remain constant, the average delay of task completion decreases with the increase of w1. Similarly, we can observe from Figure 14 that the average energy consumption of UEs is decreasing as the weight w2 increases. Figure 15 shows that when the user’s preference w3 for the load average variance increases, the load mean variance is reduced. In addition, the average delay to complete tasks and the average energy consumption of users will increase with the growth of users. This is because the growth of users leads to competition for limited resources, which leads to the increase in time and energy consumption.Figure 13
The influence of time preference on delay.Figure 14
The influence of energy preference on energy consumption.Figure 15
The influence of load preference on load mean variance.


## 5.6. Engineering Applications

With the continuous evolution of modern industry towards intelligent direction, the number of industrial field equipment is increasing rapidly, and the demand for computing resources is increasing. As shown in Figure16, edge computing is widely used in industrial Internet of things (IIoT) environment to provide localized computing resources with low latency and high reliability for factory equipment. Edge computing distributes computing nodes in the factory production environment, bringing the computing resources closer to factory equipment.Figure 16
Industrial Internet of things (IIoT) based on edge computing.However, in some industrial processes, the requirements for computing delay, energy consumption, and data privacy are particularly high. For example, IIoT may face problems of privacy leakage and risk warning needs real-time response. Therefore, as shown in Figure17, we use the hybrid encryption method to encrypt the data offloaded from factory equipment to ensure the privacy of the offloaded data. Then, the INSGA-II algorithm is proposed to efficiently offload and obtain the optimal policy set. Finally, the Pareto optimal offloading strategy is selected, so as to improve the localized computing services with low delay, low energy consumption, and high reliability for the field equipment of factory.Figure 17
Application diagram of ECOAP algorithm in IIoT.


## 6. Conclusions and Future Work

In this paper, we propose an efficient computing offloading algorithm based on privacy protection for investigating the privacy protection and task offloading in the multicell MEC network. A hybrid encryption technology is introduced to protect the privacy of offloaded users. The encryption technology combines the advantages of AES and RSA encryption technology to improve the security and speed of encryption. To reduce the UEs’ energy consumption and task completion delay in the case of encryption, we propose an improved NSGA-II algorithm (INSGA-II). Simulation results show that the ECOAP algorithm can realize the confidentiality of user privacy and effectively reduce the task completion time and the UEs’ energy consumption. In future work, to further reduce energy consumption and improve spectrum efficiency, we will consider using NOMA as multiaccess scheme for uplink. In addition, we will take the mobility of users into consideration to be more in line with actual scenario.



---

*Source: 5152598-2022-06-14.xml*