 Research
 Open Access
 Published:
SecurityAware computation offloading for Mobile edge computingEnabled smart city
Journal of Cloud Computing volume 10, Article number: 47 (2021)
Abstract
Smart city has obtained increasing attention from both academic and industry which has the potential to improve human living standards. A smart city consists of a great number of smart devices which are generating large amounts of data and emerging applications all the time. However, the computing capacity of smart devices are limited. Fortunately, the emergence of MEC can solve the above problem. However, the resources of edge servers in MEC are limited and the capabilities of edge servers are heterogeneous. It is important to improve the average resource utilization of all edge servers and keep load balancing of edge server cluster simultaneously. On the other hand, quite a few numbers of applications are delaysensitive, it is necessary to ensure the security of these applications. In this paper, we consider joint optimization of mobile device and edge server in MECenabled smart city, improving the overall performance of the system. Technically, a new multiobjective computation offloading method is implemented to reduce time consumption, energy consumption, and keep load balancing of edge servers, as well as increase average resource utilization of edge servers while meeting the deadline constraint of delaysensitive applications. Sufficient experiments have been conducted to prove the effectiveness and superiority of our proposed method in different scenarios.
Introduction
The Internet of Things (IoT) is envisioned to greatly influenced our daily lives and improve socioeconomic efficiency and effectiveness through a variety of applications. One of the most promising applications is smart city which utilizes IoT devices to manage cities without any manual intervention [1–4]. Smart cities have greatly changed people’s lifestyles and improved people’s quality of life with the help of innovative ideas and new technologies [5, 6].
The concept of smart city is originated from the vision of smart earth, which is defined formally in numerous ways [7–9]. The definition of smart city given by IBM is to use information and communication technology to analyze and integrate various critical information of the whole city, so as to make intelligent response of people’s various needs which include people’s livelihood, environmental protection, public safety, as well as industrial and commercial activities. Sensing devices and intelligent cameras, as well as computing processing units scattered in every corner of the city have facilitated many attractive applications (e.g., autonomous driving, invehicle virtual reality (VR), realtime positioning, machine learning, service recommendation) [10][17]. Additionally, these applications bring people a lot of convenience while also consuming a lot of computing resources. Meanwhile, they usually generate large amounts of data, which brings huge challenges to insufficient bandwidth [18, 19].
Nevertheless, mobile devices (MDs) in smart city have finite computing capacity, while the mobile users (MUs)’ demand for services is usually unlimited [20]. Fortunately, mobile edge computing (MEC)enabled smart city is regarded as a promising paradigm to solve the above issue, aiming to deploy a myriad of infrastructures (e.g., access points) and edge servers (ESs) in close proximity to mobile devices for the provision of elastic computing resources and lowlatency services [21–23]. Among them, computation offloading is an efficient technology to augment capacity of MDs [24–27]. Meanwhile, quite a few numbers of applications are delaysensitive, it is necessary to ensure the security of these applications [28, 29].
On the other hand, the computing resources in ES are also limited, and thus it is essential to improve the average resource utilization of all ESs [30]. Additionally, the ESs are heterogeneous, namely, they have different amounts of computing resources, which inevitably increases the difficulty of computation offloading [31]. It is unreasonable to offload application to an ES randomly. From the perspective of ES, it is necessary to consider the load balancing of each ES. In view of this, we consider the joint computation offloading in MECenabled smart city to improve the overall performance of MECenabled smart city [32]. The main contributions are summarized as follows.

Both MD and ES have been taken into consideration in this study. More specifically, the time consumption and energy consumption of MDs, as well as resource utilization and load balancing of ES cluster are regarded as the optimization objectives.

A multiobjective optimization model is built to represent the optimization problem, deadline constraint is considered to ensure the safety of delaysensitive applications.

We implement a new optimization method on the basis of manyobjective metaheuristic based on the R2 Indicator to obtain the reasonable candidate strategies. And then simple additive weighting (SAW) and multicriteria decisionmaking (MCDM) are utilized to obtain the optimal computation offloading strategy.

We conduct a large number of experimental evaluations to verify the effectiveness and superiority of our proposed method in comparison with other methods in different scenarios.
The related work is introduced firstly. And then, the system model is described. Followed by is our proposed optimization method. Next, the experiments and result analysis are discussed. Finally, we present the conclusion and our future work.
Related work
Computation offloading for MEC Computation offloading is an effective technology to augment the computing capability of MDs in MEC. Liu et al. [33] investigate the multiobjective optimization problem concerning average price cost, average execution time, and average energy consumption in MEC environment. The objective of them is to maximize the revenue of each MU. Due to the limited capacity of MDs, it is hard to compute tasks with large amounts of data effectively. Therefore, a system model consisting of the execution time and energy consumption is established in [34]. Chen et al. [35] focus on the computation offloading for multiple MUs and multiple tasks. Correspondingly, two different kinds of greedy maximal scheduling algorithms are proposed to solve such an issue. Wu et al. focus on the tradeoff between limited computing capacity and high delay, as well as ensuring the data integrity during the computation offloading. Correspondingly, blockchain technology is used to implement secure computing offloading [36]. In addition, Feng et al. [37] propose a collaborative computation offloading and resource allocation strategy in blockchainenabled MEC.
Computation offloading for Smart City Aiming at improving the overall edge computing system execution performance while preventing privacy leakage of the IoT devices during the process of service placement. A trustoriented IoT service placement approach is proposed [38]. Taking into account of the heterogeneity of ES and remote cloud servers, Wu et al. [39] consider to jointly optimize the system utility and the bandwidth resource allocation in hybrid environment composed of ES and remote cloud. A distributed deep learning computation offloading method is developed to obtain optimized offloading solutions. With the aims of preventing the privacy leakage, improving offloading efficiency, as well as promoting utility of ESs, an intelligent computation offloading approach for smart city is proposed in [40].
Different from the above research, we investigate computation offloading in MECenabled smart city. Considering the resources of ESs are limited and the ESs are heterogeneous, the overall performance of the system needs to taken into consideration. In view of this, both the MD and the ES have been considered. In particular, we focus on latencysensitive applications which have a critical impact on the performance of the system. Furthermore, the energy consumption, time consumption of MD, as well as the average resource utilization of ESs and load balancing of ES cluster are considered to optimize jointly.
System model and problem formulation
In this section, MECEnabled smart city system model and the multiobjective problem formulation are introduced.
System model
The architecture of MECenabled smart city is shown in Fig. 1. Remote cloud is often deployed in suburban areas located geographically away from MDs with mighty computing power and storage capacity, providing powerful computing resources for MUs. Besides, ESs are deployed in urban areas, providing a certain amount of computing resources for MDs. MDs can communicate with the nearest ES via local area network (LAN). Meanwhile, MDs can also communicate with the remote cloud center through wide area network (WAN) directly.
Let ST be the set of computation offloading strategies, denoted as ST= {st_{n,i}0≤i≤ST_{n},1≤n≤N}, where st_{n,i} represents offloading strategy of the ith application in n−th MD, which is measured as
where 0 represents the computation task tk_{n,i} is executed locally, 1 represents the task is offloaded to 1−th ES. Accordingly, s represents the task is offloaded to sth ES. And s+1 represents the task is offloaded to cloud center. In addition, tk_{n,i} represents the ith application of nth MD.
Time consumption model
In this subsection, the time consumption model is introduced. The total time consisting four parts, namely, the execution time consumption which is represented as T^{E}(), the waiting time consumption which is represented as T^{W}(), and the propagation time which is represented as T^{P}(), as well as the transmission time consumption which is represented as T^{T}().
Executing time
The executing time refers to the time cost of performing tasks, which is calculated as
where wk_{n,i} represents the task workload. The computation frequency of MD is represented as f_{end} and the computation frequency of ES is represented as f_{edge}, and f_{cloud} represents the computation frequency of the cloud center.
Waiting time
Due to the resources of ES are limited, the computing resources of ESs are represented by a set of virtual machines(VMs). When the tasks which have been offloaded to the ES exceed the number of VMs, some of the tasks need to queue up wait for the ES to calculate the previous tasks, which causes time consumption in the waiting queue. Firstly, we use a doubletuple \(v_{b}^{s}=(work,tn)\) to represent bth VM in sth ES, where work represents a set of total tasks of the kth VM and the tn represents the number of tasks in VM. Secondly, according to the computation offloading strategy st_{n,i},tk_{n,i} is offloaded to the minimum occupancy VM in eth ES. Then, the work is updated by work=work+wk_{n,i} and the tn=tn+1. Repeat this until the remaining applications are scheduled to the corresponding VM. Finally, T^{W}(st_{n,i}) is calculated as
where ℘_{n,i,w} is to estimate whether tk_{n,i} is scheduled to the waiting queue in the q_{w}, and the T^{e}(pre(st_{n,i})) represents the execution time of previous task.
Propagation time
The propagation time consumption depends on strategy st_{n,i}, represented by
where L_{edge} represents the propagation latency between MUs and ESs, which represents LAN. L_{cloud} represented propagation latency between MUs and cloud center, which represents WAN.
Transmission time
Let T^{T}(st_{n,i}) be the transmission latency which can be calculated by
If a task is executed locally by MD, there is no time consumption of transmission. Correspondingly, B_{edge} and B_{cloud} represent bandwidth of ES and cloud, respectively. B_{edge} is the bandwidth of a LAN, and B_{cloud} equals to the bandwidth of WAN. The corresponding bandwidth can be expressed as
Total time consumption
The total time consumption T(st) is obtained by the offloading strategy of ith application in nth MD, calculated as
Energy consumption model
There are four kinds of energy consumption, namely, the execution energy consumption E^{E}(), the waiting energy consumption E^{W}(), the propagation energy consumption E^{P}(), and the transmission energy consumption E^{T}().
Executing energy consumption
Executing energy consumption represents the energy consumption of task executing which can be obtained by multiplying the power by the execution time. And it can be calculated as
where the execution time can be calculated by Eq. (2), p^{a} represents active energy, and p^{i} represents idle energy.
Waiting energy consumption
The waiting energy consumption refers to the energy consumption generated by tasks of MD in a waiting queue. When the waiting time is calculated, it is easier to obtain the waiting energy consumption. In addition, the waiting time consumption is calculated by Eq. (3), and the waiting energy consumption is equal to waiting time multiplying ideal energy consumption.
Propagation energy consumption
In this part, the propagation energy consumption calculated by
Transmission energy consumption
Energy consumption of transmission is represented by E^{T}(). The transmission energy consumption of MDs is related to the transmission time and can be calculated as
where p^{t} is represented the energy consumption of transmission.
Total energy consumption
Based on the above analysis, the total energy consumption E(st) can be calculated as
Resource utilization model
The computing resources of ESs are limited. Visualization technology [41] is used to represent the resources of ES. Thus, Resource utilization can be calculated by the usage of VMs. The VMs in the ESs are instantiated as multiple VM instances with heterogeneous computing capacity. The resource utilization can be measured by the number of the active VM instances in the VM pool. It is assumed that vm_{m} is the number of VM instances of the mth ES e_{m}. The resource utilization could be expressed as
where r_{i,j} is the VM instances occupied by st_{n,i} and \(O_{i,j}^{m}\) is a binary flag to determine whether the task st_{n,i} is performed by the ES s_{m}, which is calculated by
A binary flag F_{m} is utilized to represent the status of the ES e_{m} which is calculated by
hereafter, the number of the employed ESs can be calculated by
Above all, the average resource utilization can be calculated by
Load balancing model
Different from the average resource utilization, load balancing is a negative indicator. When its value is lower, the state of the ES cluster is much better. Additionally, based on the average resource utilization illustrated in Eq. (17), the average load balancing value can be obtained by
Problem formulation
The aim of this paper is to minimize the time consumption and energy consumption of MDs and load balancing of ESs, and maximize the resource utilization of ES. The multiobjective optimization issue can be formulated as
where T(st) represents the timeconstraint which means that the total time consumption should not overstepping the given deadline.
Algorithm design
In this section, we describe our proposed method, namely, a multiobjective collaborative optimization for smart city (MOCOSC)based on the multiobjective optimization genetic algorithm MOMBI [42]. Different from the traditional multiobjective optimization algorithm, the MOMBI uses the R2 indicator instead of a nondominated sort. R2 indicator focuses on the Pareto front rather than the edge, which can achieve an elite solution set. By correcting the inherent deviation of the R2 indicator, MOCOSC achieves different sets of Pareto approximate solutions as computation offloading strategies.
The main steps of MOCOSC are shown as follows. Firstly, some initialization work needs to be completed. Secondly, new populations are created by crossover and mutation operations. Then, solutions are ranked by R2 ranking and selected to the next population using tournament selection. Finally, the optimal solution is selected by using SAW [43] and MCDM [44] in the set of the solution in the Pareto front.
Initialization
Firstly, some parameters are initialized, such as the size of population N_{p}, the size of archive set N_{arc}, the probability of crossover P_{c}, the probability of mutation P_{m}, the number of iterations G_{max}, and current iteration index G_{cur}.
After setting the above parameters, the algorithm is ready to run. The first population should be generated randomly, represented by pop_{1}, and create an empty archive arc_{1} to keep archive set of population.
Crossover and mutation
The aim of crossover operation is to retain the characteristics of the parent population. In the crossover operation, through the crossover operation at the cross point, a new offspring population is generated while maintaining the characteristics of the parent population. In crossover points, the crossover operation is to exchange the corresponding value of two offloading strategies. An example of crossover operation is shown in Fig. 2. It can be seen that the crossover operation occurs between 1 and 5, as well as between 7 and 3.
The aim of mutation operation is to maintain the diversity of the population. An example of mutation operation is shown in Fig. 3. The offloading strategy is mutated from 1 to 3 which means the 3−th ES is selected to provide services rather than 1−th ES. Similarly, the 3 on the right side of the figure is mutated to 6 indicating that the 6−th ES will replace 3−th to provide services.
After these two operators, the new offspring \(N_{p}^{n}ew\) is generated and served as the population for the next iteration.
R2 ranking and reference points
In this section, we introduce R2 ranking of MOMBI. R2 ranking is based on R2 indicator. R2 indicator divides the nondominated layer by measuring the utility function. The utility function represents the value of each objective which is obtained by the weighted Tchebycheff method. The weighted Tchebychef is defined as
where W represents the weight of each fitness function, A is the set of Pareto approximation and μ represents the utility functions.
In Eq. (23), the utility functions μ need to be updated in each ranking. The utility function is updated by the reference point and the objective function. The updating method of the reference point can be obtained by
where \(z_{t}^{max}\) and \(z_{t}^{min}\) are the maximum and minimum objective function value in pop_{t}.
Combing with Eqs. (23) and (24), the R2 ranking of MOMBI can be defined as
Selection
In this section, the selection operation of MOMBI is described. The goal of selection operation is to select the solution with optimal characteristics as the parent population for the next generation population. MOMBI uses the tournament selection to select solutions. Firstly, two solutions with the same probability are selected. Then, the better one is selected as the next generation parent population by comparing their objective function values. To repeat the above steps until enough nextgeneration populations are generated.
Optimal selection
After the maximum iteration, a set of Pareto solutions is generated, and SAW [43] and MCDM [44] are exploited to select the optimal solution as the computation offloading strategy. According to the core idea of these two methods, the normalized form of the four goals can be expressed as follows.
Time consumption of ith application in nth MD can be normalized as
Similarly, the energy consumption can be normalized as
The resource utilization can be normalized as
The load balancing can be normalized as
In order to select the optimal solution, we need to consider four objectives together. Correspondingly, we use α_{t},α_{e},α_{u} and α_{l} to represent weight of each objective, respectively. And the constraint of four vectors is defined as α_{t} + α_{e} + α_{u} + α_{l}=1. And then, we define the maximum utility value of chromosome in the optimal population V_{max} which is expressed as
Method overview
Algorithm 6 illustrates the procedure of MOCOSC, the goal of MOCOSC is to reduce the time and energy consumption of MDs, and the load balancing while increasing the resource utilization of ESs. Firstly, the first generation population of offloading strategies is initialised as POP_{1} (Line 1). Secondly, evaluate four objectives of population by Algorithm 14. Algorithm 1 and Algorithm 2 calculate the time and energy consumption of MDs, and Algorithm 3 and Algorithm 4 calculate the resource utilization and load balancing of ESs (Lines 25). Then, calculate reference points of objective functions (Line 6). Afterwards, R2 ranking is executed to divide nondominated solution set by Algorithm 5. After performing these steps, a set of reference points and a population are generated, and the reference points and populations are iterated. Then, the tournament selection is executed to find best solution (Line 9), and the mutation and crossover are performed to generate next generation (Lines 78). Repeat the following steps until the maximum number of iterations is reached. Namely, evaluate population and update the reference point and execute the R2 ranking by Algorithm 5 (Lines 1013). Finally, the population size is reduced to N_{pop} (Line 14). After that, MOCOSC adopt SAW and MCDM method to select an optimal offloading strategy (Line 17).
Comparison and analysis of experimental results
In this section, we conduct experiments to prove the effectiveness and superiority of MOCOSC. Firstly, the experimental setting is described. Followed by is the experimental evaluation and discussions.
Experimental setting
In our experiment, by default, it is supposed there are 5 ESs providing service, each of which has heterogeneous computing capacity. We design three sets of experiments. The first one is an experiment with different numbers of MUs, which is set from 2 to 20 and each MU has 10 applications. A second one is an experiment with different application scales, which is set from 10 to 50, and the number of MUs is fixed at 2. The last one is conducted to test the situation of large number of applications, the number of MUs is set from 100 to 300. Under this situation, the number of ESs has also increased to 20 accordingly. Each experiment is performed 10 times, and the results of the experiment are the average value of the 10 experiments. More detailed experimental parameters are shown in Table 1.
Two comparison methods named FCFS and Benchmark are introduced, the details of which are shown as follows.

Benchmark All applications are executed locally, or are offloaded to ES cluster, or cloud randomly. Especially, the first task and last task of each MU are executed locally by MD.

First Come First Service (FCFS) All applications are executed sequentially, namely, the first one is executed locally, the second one is executed in ES1, and so on, the N+1−th one is executed in cloud. Similarly to Benchmark, the last task of each MU are executed locally.
The experiments are processed in Eclipse based on JAVA language on a PC with 8 Intel Core i710850H 2.7GHz processors with 16GB RAM and the operating system is Win10 64bit.
Experimental evaluation and discussion
In this subsection, numerous and rigorous comparison experiments are conducted to analyze the performance of the total time consumption, the energy consumption, as well as the ESs’ average resource utilization and load balancing of the above three methods. The relevant results are shown in Figs. 4, 5, 6, 7.
Comparison of time consumption
The total time consumption can be obtained by Eq. (7). Figure 4 illustrates the comparison results of the total time consumption of the above three methods under different number of MDs and different number of applications. Time consumption comparison results of these three methods under different numbers of applications are shown in Fig. 4a. The result of the impact of different applications performed by each MU on the total time consumption is shown in Fig. 4b and Fig. 4c. It can be seen that MOCOSC outperforms other two approaches from the perspective of different situations. More specifically, MOCOSC can widely used for different application scales. The main reason is that MOCOSC can comprehensively consider various factors to allocate application more reasonably to reduce the total time consumption in comparison to Benchmark and FCFS. In sum, we can conclude that MOCOSC is more stable and effective.
Comparison of energy consumption
The total energy consumption can be obtained by Eq. (12). Figure (5) illustrates the comparison results of the total energy consumption of the above three methods under different number of MDs and under different number of applications. Energy consumption comparison results of these three methods under different application scale are shown in Fig. 5a. The result of the impact of different tasks performed by each MU on the total energy consumption is shown in Fig. 5b and Fig. 5c. It can be seen that MOCOSC outperforms the other two approaches in terms of different situations. More specifically, MOCOSC can widely used for different application scales. The main reason is that MOCOSC can comprehensively consider various factors to allocate application more reasonably to reduce the total energy consumption in comparison to Benchmark and FCFS. In conclusion, MOCOSC is the most energyefficient method among those methods.
Comparison of average resource utilization
The average resource utilization is an essential standard to measure the performance of the ESs. The resource utilization is measured by the quantity of active VM instances in the VM pool of each ES. When all the computing applications have been offloaded to ESs via the offloading method, the occupation of the VM instances is achieved. Higher resource utilization means fewer idle VM instances in the VM pool. The resource utilization can be obtained by Eq. (17).
Figure 6 illustrates the comparison results of the average resource utilization of the above three methods under different number of MDs and under different number of applications. The average resource utilization comparison results of these three methods under different application scale are shown in Fig. 6a. The result of the impact of different applications performed by each MU on the average resource utilization is shown in Fig. 6b and Fig. 6c. It can be seen that MOCOSC outperforms other two approaches in terms of different situations. More specifically, MOCOSC can widely used for different application scales. The main reason is that MOCOSC can comprehensively consider various factors to allocate application more reasonably to improve the average resource utilization in comparison to Benchmark and FCFS. Above all, MOCOSC can be widely used for the different situations.
Comparison of load balancing
Similar to the average resource utilization, load balancing is also an essential standard to measure the performance of the ESs. Different from the former one, load balancing is a negative criteria. When its value is lower, the state of the ES cluster is much better. According to the previous mode, Load balancing can be obtained by Eq. (18).
Figure (7) illustrates the comparison results of load balancing of the above three methods under different number of MDs and under different number of applications. The load balancing comparison results of these three methods under different application scale are shown in Fig. 7a. The result of the impact of different applications performed by each MU on load balancing is shown in Fig. 7b and Fig. 7c. It can be seen that MOCOSC outperforms the other two approaches in terms of different situations. Moreover, as the number of user applications increases or the number of users increases, the final load balancing values of the three methods are basically the same. That is because the resources of all ESs are occupied, each ES is in a balanced state. Above all, MOCOSC can be widely used for the different situations.
Conclusion
The combination of smart city and MEC is a promising way to improve our daily life. In this study, we have studied computation offloading for MECenabled smart city. Aiming at improve the overall performance of the smart city system, both the MU and ES have been taken into consideration. More specifically, we not only augment the performance of MDs, but also make full use of the resources of ES cluster. For ES, we not only improve the average resource utilization of ES, but also keep the load of the ES cluster in a balanced state. Corresponding, a multiobjective optimization mode is established and a new optimization method is proposed to address this mode. Sufficient experiments and analysis have validated that our proposed method is effective and superior in comparison to the other methods in different situations. In future work, we will focus on privacyaware computation offloading for scientific workflow application and transmission control in MECenabled vehicular networks [45–47].
Availability of data and materials
The details of experimental parameters are given in Table 1.
References
 1
AlFuqaha A, Guizani M, Mohammadi M, Aledhari M, Ayyash M (2015) Internet of things: A survey on enabling technologies, protocols, and applications. IEEE Commu Surv Tutor 17(4):2347–2376.
 2
Li R, Song T, Mei B, Li H, Cheng X, Sun L (2018) Blockchain for largescale internet of things data storage and protection. IEEE Trans Serv Comput 12(5):762–771.
 3
Gheisari M, Pham QV, Alazab M, Zhang X, FernandezCampusano C, Srivastava G (1557) ECA: an edge computing architecture for privacypreserving in IoTbased smart city. IEEE Access 7:155779–86.
 4
Qian B, Su J, Wen Z, Jha DN, Li Y, Guan Y, et al. (2020) Orchestrating the development lifecycle of machine learningbased iot applications: A taxonomy and survey. ACM Comput Surv (CSUR) 53(4):1–47.
 5
Ahmed E, Yaqoob I, Gani A, Imran M, Guizani M (2016) Internetofthingsbased smart environments: state of the art, taxonomy, and open research challenges. IEEE Wirel Commun 23(5):10–16.
 6
Xie J, Tang H, Huang T, Yu FR, Xie R, Liu J, Liu Y (2019) A survey of blockchain technology applied to smart cities: Research issues and challenges. IEEE Commun Surv Tutorials 21(3):2794–2830.
 7
Eckhoff D, Wagner I (2018) Privacy in the smart cityapplications, technologies, challenges, and solutions. IEEE Commu Surv Tutor 20(1):489–516.
 8
Rostirolla G, Righi R. d. R, Barbosa JLV, da Costa CA (2018) Elcity: An elastic multilevel energy saving model for smart cities. IEEE Trans Sustain Comput 3(1):30–43.
 9
Ramaprasad A, SanchezOrtiz A, Syn T (2017) A unified definition of a smart city. In: Janssen M et al. (eds)Electronic Government. EGOV 2017. Lecture Notes in Computer Science, vol 10428, 13–24.. Springer, Cham. https://doi.org/10.1007/9783319646770_2.
 10
Qi L, Wang X, Xu X, Dou W, Li S (2020) Privacyaware crossplatform service recommendation based on enhanced localitysensitive hashing. IEEE Trans Netw Sci Eng. https://doi.org/10.1109/TNSE.2020.2969489.
 11
Liu Y, Pei A, Wang F, Yang Y, Zhang X, Wang H, Ma R (2021) An attentionbased categoryaware GRU model for the next POI recommendation. Int J Intell Syst. https://doi.org/10.1002/int.22412.
 12
Calero C, Mancebo J, García F, Moraga MÁ, Berná JAG, FernándezAlemán JL, Toval A (2019) 5Ws of green and sustainable software. Tsinghua Sci Technol 25(3):401–414.
 13
Wang F, Zhu H, Srivastava G, Li S, Khosravi MR, Qi L (2021) Robust Collaborative Filtering Recommendation With UserItemTrust Records. IEEE Trans Comput Soc Syst:064213. https://doi.org/10.1109/TCSS.2021.3.
 14
Sánchez MC, de Gea JMC, FernándezAlemán JL, Garcerán J, Toval A (2019) Software vulnerabilities overview: A descriptive study. Tsinghua Sci Technol 25(2):270–280.
 15
Pedreira O, Garciía F, Piattini M, Cortiñas A, CerdeiraPena A (2020) An architecture for software engineering gamification. Tsinghua Sci Technol 25(6):776–797.
 16
Maimaiti M, Liu Y, Luan H, Sun M (2020) Enriching the Transfer Learning with PreTrained Lexicon Embedding for LowResource Neural Machine Translation. Tsinghua Sci Technol. https://doi.org/10.26599/TST.2020.9010029.
 17
Tekouabou SCK, Hartini S, Rustam Z, Silkan H, Agoujil S (2021) Improvement in automated diagnosis of soft tissues tumors using machine learning. Big Data Min Analytics 4(1):33–46.
 18
Guezzaz A, Asimi Y, Azrour M, Asimi A (2021) Mathematical validation of proposed machine learning classifier for heterogeneous traffic and anomaly detection. Big Data Min Analytics 4(1):18–24.
 19
Mahmud MS, Huang JZ, Salloum S, Emara TZ, Sadatdiynov K (2020) A survey of data partitioning and sampling methods to support big data analysis. Big Data Min Analytics 3(2):85–101.
 20
Zhang Y, Lan X, Li Y, Cai L, Pan J (2018) Efficient computation resource management in mobile edgecloud computing. IEEE Int Things J 6(2):3455–3466.
 21
Khan WZ, Ahmed E, Hakak S, Yaqoob I, Ahmed A (2019) Edge computing: A survey. Futur Gener Comput Syst 97:219–235.
 22
Shi W, Cao J, Zhang Q, Li Y, Xu L (2016) Edge computing: Vision and challenges. IEEE Int Things J 3(5):637–646.
 23
Mao Y, You C, Zhang J, Huang K, Letaief KB (2017) A survey on mobile edge computing: The communication perspective. IEEE Commun Surv Tutor 19(4):2322–2358.
 24
Shakarami A, Shahidinejad A, GhobaeiArani M (2020) A review on the computation offloading approaches in mobile edge computing: A gametheoretic perspective. Softw: Pract Experience 50(9):1719–1759.
 25
Xu X, Li Y, Huang T, Xue Y, Peng K, Qi L, Dou W (2019) An energyaware computation offloading method for smart edge computing in wireless metropolitan area networks. J Netw Comput Appl 133:75–85.
 26
Huang L, Bi S, Zhang YJA (2019) Deep reinforcement learning for online computation offloading in wireless powered mobileedge computing networks. IEEE Trans Mob Comput 19(11):2581–2593.
 27
Cheng N, Lyu F, Quan W, Zhou C, He H, Shi W, Shen X (2019) Space/aerialassisted computing offloading for IoT applications: A learningbased approach. IEEE J Sel Areas Commun 37(5):1117–1129.
 28
Xu X, Huang Q, Zhu H, Sharma S, Zhang X, Qi L, Bhuiyan MZA (2020) Secure service offloading for Internet of vehicles in SDNenabled mobile edge computing. IEEE Trans Intell Transp Syst 22(6):3720–3729.
 29
Qi L, Hu C, Zhang X, Khosravi MR, Sharma S, Pang S, Wang T (2020) Privacyaware data fusion and prediction with spatialtemporal context for smart city industrial environment. IEEE Trans Ind Inform. https://doi.org/10.1109/TII.2020.3012157.
 30
Peng K, Huang H, Wan S, et al. (2020) Endedgecloud collaborative computation offloading for multiple mobile users in heterogeneous edgeserver environment. Wirel Netw. https://doi.org/10.1007/s11276020023851.
 31
Peng K, Huang H, Pan W, Wang J (2020) Joint optimisation for time consumption and energy consumption of multiapplication and load balancing of cloudlets in mobile edge computing. IET CyberPhys Syst: Theory Appl 5(2):196–206.
 32
Khan LU, Yaqoob I, Tran NH, Kazmi SA, Dang TN, Hong CS (1020) Edgecomputingenabled smart cities: A comprehensive survey. IEEE Internet Things J 7(10):10200–32.
 33
Liu L, Chang Z, Guo X, Mao S, Ristaniemi T (2017) Multiobjective optimization for computation offloading in fog computing. IEEE Int Things J 5(1):283–294.
 34
Xu X, Liu Q, Luo Y, Peng K, Zhang X, Meng S, Qi L (2019) A computation offloading method over big data for IoTenabled cloudedge computing. Futur Gener Comput Syst 95:522–533.
 35
Chen W, Wang D, Li K (2018) Multiuser multitask computation offloading in green mobile edge cloud computing. IEEE Trans Serv Comput 12(5):726–738.
 36
Wu H, Wolter K, Jiao P, Deng Y, Zhao Y, Xu M (2020) EEDTO: an energyefficient dynamic task offloading algorithm for blockchainenabled IoTedgecloud orchestrated computing. IEEE Internet Things J 8(4):2163–2176.
 37
Feng J, Yu FR, Pei Q, Chu X, Du J, Zhu L (2019) Cooperative computation offloading and resource allocation for blockchainenabled mobileedge computing: A deep reinforcement learning approach. IEEE Int Things J 7(7):6214–6228.
 38
Xu X, Huang Q, Yin X, Abbasi M, Khosravi MR, Qi L (2020) Intelligent offloading for collaborative smart city services in edge computing. IEEE Int Things J 7(9):7919–7927.
 39
Wu H, Zhang Z, Guan C, Wolter K, Xu M (2020) Collaborate edge and cloud computing with distributed deep learning for smart city internet of things. IEEE Int Things J 7(9):8099–8110.
 40
Xu X, Liu X, Xu Z, Dai F, Zhang X, Qi L (2019) Trustoriented IoT service placement for smart cities in edge computing. IEEE Int Things J 7(5):4084–4091.
 41
Hsieh HC, Lee CS, Chen JL (2018) Mobile edge computing platform with containerbased virtualization technology for IoT applications. Wirel Pers Commun 102(1):527–542.
 42
Hernandez Gomez R, Coello Coello C (2013) MOMBI:A New Metaheuristic for Manyobjective Optimization based on the R2indicator In: Proc. 2013 IEEE Congress on Evolutionary Computation, 2488–2495.. IEEE, Cancun.
 43
Afshari A, Mojahed M (2010) Simple additive weighting approach to personnel selection problem. Int J Innov, Manag Technol 1(5):511.
 44
Aruldoss M, Lakshmi TM, Venkatesan VP (2013) A survey on multi criteria decision making methods and its applications. Am J Inf Syst 1(1):31–43.
 45
Quan W, Liu Y, Zhang H, Yu S (2017) Enhancing crowd collaborations for software defined vehicular networks. IEEE Commun Mag 55(8):80–86.
 46
Zhang Y, Pan J, Qi L, He Q (2021) Privacypreserving quality prediction for edgebased IoT services. Futur Gener Comput Syst 114:336–348.
 47
Quan W, Cheng N, Qin M, Zhang H, Chan HA, Shen X (2018) Adaptive transmission control for software defined vehicular networks. IEEE Wirel Commun Lett 8(3):653–656.
Acknowledgment
The authors would like to thank all peer reviewers for their good comments.
Funding
This work is supported by the Fundamental Research Funds for the Central Universities(ZQN817), the National Science Foundation of China (Grant No.61902133), the Natural Science Foundation of Fujian Province (Grant No.2018J05106), Quanzhou Science and Technology Project(No.2020C050R).
Author information
Affiliations
Contributions
Kai Peng conceived and designed this study. Peichen Liu conducted simulation experiments. Kai Peng wrote this paper. All authors reviewed and edited the manuscript. All authors read and approve the final manuscript.
Corresponding author
Ethics declarations
Competing interests
The authors declare that they have no competing interests.
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Peng, K., Liu, P., Tao, P. et al. SecurityAware computation offloading for Mobile edge computingEnabled smart city. J Cloud Comp 10, 47 (2021). https://doi.org/10.1186/s13677021002626
Received:
Accepted:
Published:
Keywords
 Smart city
 MEC
 Computation offloading
 MOMBI