<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMES</journal-id>
<journal-id journal-id-type="nlm-ta">CMES</journal-id>
<journal-id journal-id-type="publisher-id">CMES</journal-id>
<journal-title-group>
<journal-title>Computer Modeling in Engineering &#x0026; Sciences</journal-title>
</journal-title-group>
<issn pub-type="epub">1526-1506</issn>
<issn pub-type="ppub">1526-1492</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">22797</article-id>
<article-id pub-id-type="doi">10.32604/cmes.2022.022797</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Intelligent Traffic Scheduling for Mobile Edge Computing in IoT via Deep Learning</article-title>
<alt-title alt-title-type="left-running-head">Intelligent Traffic Scheduling for Mobile Edge Computing in IoT via Deep Learning</alt-title>
<alt-title alt-title-type="right-running-head">Intelligent Traffic Scheduling for Mobile Edge Computing in IoT via Deep Learning</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author">
<name name-style="western">
<surname>Yun</surname>
<given-names>Shaoxuan</given-names>
</name>
</contrib>
<contrib id="author-2" contrib-type="author" corresp="yes">
<name name-style="western">
<surname>Chen</surname>
<given-names>Ying</given-names>
</name><email>chenying@bistu.edu.cn</email>
</contrib>
<aff><institution>School of Computing Science</institution>, <addr-line>Beijing Information Science and Technology University, Beijing, 100101</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes><corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Ying Chen. Email: <email>chenying@bistu.edu.cn</email></corresp></author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2022-09-19"><day>19</day>
<month>09</month>
<year>2022</year></pub-date>
<volume>134</volume>
<issue>3</issue>
<fpage>1815</fpage>
<lpage>1835</lpage>
<history>
<date date-type="received">
<day>26</day>
<month>3</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>26</day>
<month>5</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9;2022 Shaoxuan Yun and Ying Chen</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Shaoxuan Yun and Ying Chen</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMES_22797.pdf"></self-uri>
<abstract>
<p>Nowadays, with the widespread application of the Internet of Things (IoT), mobile devices are renovating our lives. The data generated by mobile devices has reached a massive level. The traditional centralized processing is not suitable for processing the data due to limited computing power and transmission load. Mobile Edge Computing (MEC) has been proposed to solve these problems. Because of limited computation ability and battery capacity, tasks can be executed in the MEC server. However, how to schedule those tasks becomes a challenge, and is the main topic of this piece. In this paper, we design an efficient intelligent algorithm to jointly optimize energy cost and computing resource allocation in MEC. In view of the advantages of deep learning, we propose a Deep Learning-Based Traffic Scheduling Approach (DLTSA). We translate the scheduling problem into a classification problem. Evaluation demonstrates that our DLTSA approach can reduce energy cost and have better performance compared to traditional scheduling algorithms.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Mobile Edge Computing (MEC)</kwd>
<kwd>traffic scheduling</kwd>
<kwd>deep learning</kwd>
<kwd>Internet of Things (IoT)</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Since 2005, with the widespread application of cloud computing technology [<xref ref-type="bibr" rid="ref-1">1</xref>], we have changed our way of both recreational life and work. The applications have shifted from server rooms to cloud data centers of well-known IT companies, and built a global real-time sharing network through the Internet and Internet of Things (IoT) technology. IoT aims to be a device-based Internet that uses components such as RADIO frequency identification (RFID) and wireless data communication to share device information globally [<xref ref-type="bibr" rid="ref-2">2</xref>,<xref ref-type="bibr" rid="ref-3">3</xref>]. Compared with the traditional Internet, the IoT increases the interconnection between things [<xref ref-type="bibr" rid="ref-4">4</xref>]. Anything will have the function of context perception and stronger computing power. Meanwhile, the IoT integrates any information into the Internet. The IoT is based on the physical network, adding network intelligence, integration and visualization among other things, to the metaphysical world of the Internet.</p>
<p>With the rapid development and widespread application of IoT, IoT devices are renovating our lives by analyzing the information collected from our daily lives and adapting to user&#x2019;s behaviors [<xref ref-type="bibr" rid="ref-5">5</xref>]. For example, as an IoT device, smart phones contain more and more new mobile applications such as facial recognition, natural language processing, interactive gaming, and augmented reality [<xref ref-type="bibr" rid="ref-6">6</xref>&#x2013;<xref ref-type="bibr" rid="ref-8">8</xref>], etc. As a result, IoT devices are not only an important part of the network, but also a target for service providers [<xref ref-type="bibr" rid="ref-9">9</xref>,<xref ref-type="bibr" rid="ref-10">10</xref>]. However, in general, mobile devices are resource-constrained having limited computing resources and limited battery power [<xref ref-type="bibr" rid="ref-11">11</xref>]. In contrast, the intelligent applications which are deployed on mobile devices are processing computationally intensive tasks. Those tasks will bring great challenges to mobile devices with limited battery and computing power [<xref ref-type="bibr" rid="ref-12">12</xref>,<xref ref-type="bibr" rid="ref-13">13</xref>].</p>
<p>Mobile Cloud Computing (MCC) has been proposed as one of the solutions to handle such computation-intensive tasks of mobile devices [<xref ref-type="bibr" rid="ref-14">14</xref>,<xref ref-type="bibr" rid="ref-15">15</xref>]. By using MCC, resource-constrained devices offload their tasks to an abundance of virtual computing resources on the cloud computer center where tasks are executed and then returned to those devices. Some offloading frameworks have been built to support MCC, such as SAMI [<xref ref-type="bibr" rid="ref-16">16</xref>]. And it proves that MCC is better than pure local computing scheme [<xref ref-type="bibr" rid="ref-17">17</xref>]. However, MCC has a critical shortcoming. Fundamentally, the MCC is still using centralized processing, through construction of a large number of cloud computing centers to provide solutions with centralized super computing capacity. Furthermore, there are some inherent problems in the centralized processing mode: 1. The linear growth of centralized cloud computing power and the inability to match the explosive growth of vast amounts of edge data [<xref ref-type="bibr" rid="ref-18">18</xref>]. 2. The increased load of transmission bandwidth from network edge devices [<xref ref-type="bibr" rid="ref-19">19</xref>], etc. Besides, cloud servers are usually logically and spatially far from mobile devices [<xref ref-type="bibr" rid="ref-20">20</xref>], and transferring data to the remote cloud server also consumes extra communication energy at mobile devices.</p>
<p>At present, data processing has shifted from cloud computing as the center of centralized processing to IoT as the core of the edge processing [<xref ref-type="bibr" rid="ref-21">21</xref>]. This transition is due to the context of IoT, and the data generated by network edge node devices have reached a massive level [<xref ref-type="bibr" rid="ref-22">22</xref>,<xref ref-type="bibr" rid="ref-23">23</xref>]. Mobile Edge Computing (MEC) has been proposed to solve the above mentioned problems [<xref ref-type="bibr" rid="ref-24">24</xref>,<xref ref-type="bibr" rid="ref-25">25</xref>]. In MEC, services are deployed to edge nodes to provide services by providing functional interfaces for users [<xref ref-type="bibr" rid="ref-26">26</xref>&#x2013;<xref ref-type="bibr" rid="ref-28">28</xref>].</p>
<p>In this paper, we jointly design an efficient, intelligent algorithm to optimize energy cost and compute resource allocation in MEC. In view of the advantages of deep learning in classification, we build a Deep Learning-Based Traffic Scheduling system. We translate the scheduling problem into a classification problem of whether the edge server can process the request after receiving it. A fully connected neural network is constructed using the server state and some attributes of the request as input. The network acts as a classifier to determine whether the current server is capable of handling requests. In particular, the system does not consider the performance of IoT devices. IoT devices encapsulate all processing tasks into requests and send them to edge servers for processing. We conduct extensive experiments to evaluate the performance of our Scheduling system. Experiment results show that compared with Random and Roundrobin algorithm, our algorithm can effectively lower the energy cost under various environments.</p>
<p>The rest of this article is organized as follows. In <xref ref-type="sec" rid="s2">Section 2</xref> we present our work: Deep Learning-Based Traffic Scheduling for Mobile Edge Computing in the IoT and give a method for calculating the cost of a system. In <xref ref-type="sec" rid="s3">Section 3</xref>, we present an evaluation of our work by setting different parameters in our system and compare our algorithm to two traditional scheduling methods. <xref ref-type="sec" rid="s4">Section 4</xref> summarizes the related work. Finally, <xref ref-type="sec" rid="s5">Section 5</xref> concludes this article.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Deep Learning-Based Traffic Scheduling for Mobile Edge Computing in IoT</title>
<p>In this section, we first introduce the formulation of the MEC traffic scheduling problem in <xref ref-type="sec" rid="s2_1">Section 2.1</xref>. Then, we propose Deep Learning-Based Traffic Scheduling Approach (DLTSA) to deal with the challenges. Finally, we describe the implementation of DLTSA in <xref ref-type="sec" rid="s2_2">Section 2.2</xref>.</p>
<sec id="s2_1">
<label>2.1</label>
<title>System Framework</title>
<p>Generally, to avoid frequent correspondence between IoT devices and server, we consider a scheduling system. In the system, when IoT devices need to process tasks, they will encapsulate the task as a request and send it to the server and let the server process all tasks. Then we divide our system into different region. Each region has it is own server to accept and process the requests sent from IoT devices. Especially, we only allocate one server to one region. According to the characteristic of MEC, each device can only sends the request to the server which in its current region acquiescently. By collecting and analyzing the information of every request processed by each server (region), we can get the advantage of our system compared to traditional methods. Then, the connections of different regions are defined by a graph <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mi>M</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>&#x03B5;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, where <italic>N</italic> represents the set of all nodes and <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mi>&#x03B5;</mml:mi></mml:math></inline-formula> denotes the set of all edges. We use an edge without weight to represent that every two nodes are virtually connecting meaning those two nodes can send and receive the requests from each other. Then we will introduce the request and server (node) information used in this system. The notations are shown in <xref ref-type="table" rid="table-1">Table 1</xref>.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Notations</title>
</caption>
<table>
<colgroup>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th><bold>Symbol</bold></th>
<th>Definition</th>
</tr>
</thead>
<tbody>
<tr>
<td><italic>C<sub>u</sub></italic></td>
<td><p>The percentage of CPU rate that a current request may occupy in the server that may process the request</p></td>
</tr>
<tr>
<td><italic>T<sub>d</sub></italic></td>
<td><p>The number of times that a task can still be delivered</p></td>
</tr>
<tr>
<td><italic>T<sub>u</sub></italic></td>
<td><p>The number of times that a current request may consume in the server that may process the request</p></td>
</tr>
<tr>
<td><italic>C<sub>r</sub></italic></td>
<td><p>The CPU usage of the server that will process the current request</p></td>
</tr>
<tr>
<td><italic>M<sub>r</sub></italic></td>
<td><p>Memory usage of the server that will process the current request</p></td>
</tr>
<tr>
<td><italic>H<sub>i</sub></italic></td>
<td><p>A vector that keeps track of which servers forwarded or processed the request of request i</p></td>
</tr>
<tr>
<td><italic>L</italic></td>
<td><p>The number of servers in system</p></td>
</tr>
<tr>
<td><italic>Z</italic></td>
<td><p>The number of requests</p></td>
</tr>
</tbody>
</table>
</table-wrap>
<sec id="s2_1_1">
<label>2.1.1</label>
<title>Request Information</title>
<p>The request has two parts of attributes, Request itself and Server status. The first, request itself has three factors that are CPU Usage, deliver Time, using Time which stand for the percentage of CPU rate that current request may occupy in the server that may process the request, the number of times that a task can still be delivered, the times that a current request may consume in the server that may process the request, respectively. We use <italic>C<sub>u</sub></italic> to denote CPU Usage, <italic>T<sub>d</sub></italic> to denote deliver Time and <italic>T<sub>u</sub></italic> to denote using Time. The second, server status has two factors that are CPU Rate and memeory Rate which stand for the CPU usage of the server that will process the current request and memory usage of the server that will process the current request. We use <italic>C<sub>r</sub></italic> to denote CPU Rate and <italic>M<sub>r</sub></italic> to denote memeory Rate. Finally, it has a vector <italic>H<sub>i</sub></italic> to keep track of which servers forwarded or processed the request, which <italic>i</italic> represents the current request.</p>
</sec>
<sec id="s2_1_2">
<label>2.1.2</label>
<title>Server Information</title>
<p>As mentioned above, each server has a virtual connection, which means both servers can send and receive requests from each other. We assume that each delivery between two server has a constant spend. Besides, each server has a vector R to record the status of connections to other nodes and the length of R is <italic>L</italic>, the number of server in our system.</p>
<p>After we build up our server and send requests to servers, we aim to schedule those requests to the right server to process and minimize the whole system cost according to every server status. In order to achieve both goals, we propose DLTSA to accomplish it.</p>
</sec>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>DLTSA: Deep Learning-Based Traffic Scheduling Approach</title>
<p>DLTSA can deal with the problems mentioned in <xref ref-type="sec" rid="s4">Section 4</xref>, which is easily implied. Particularly, the architecture of DLTSA system is given in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>. DLTSA can be divided into three modules: prepare module, judge module and process module. As you can see in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>, DLTSA system is a flexible distributed system. You can flexibly add and remove nodes in the system to achieve flexible deployment of edge servers to better provide service to IoT devices. Initially, the IoT devices will send request <italic>i</italic> to the server <italic>j</italic> in the area where the IoT device is located, and the request contains <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>u</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi>u</mml:mi></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> mentioned above. Next, we will describe what the server will do.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>System framework</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-1.png"/>
</fig>
<sec id="s2_2_1">
<label>2.2.1</label>
<title>Implementation of Prepare Module</title>
<p>After receiving the request <italic>i</italic>, the prepare module in server <italic>j</italic> will first check whether the request has <italic>T<sub>d</sub></italic>, if not, server will give a default threshold <italic>D<sub>t</sub></italic> to the request. If yes, the prepare module will check whether <italic>T<sub>d</sub></italic> equals to zero, if yes it will send the request to the process module directly. Then the prepare module extracts <italic>H<sub>i</sub></italic> and <italic>R<sub>j</sub></italic>, and generate a relative complement <italic>F<sub>u</sub></italic> of <italic>H<sub>i</sub></italic> and <italic>R<sub>j</sub></italic>. <italic>F<sub>u</sub></italic> records the servers which the current server can send to. If <italic>F<sub>u</sub></italic> is empty, prepare module will send the request to process module. Next, the prepare module will obtain the local CPU rate and memory rate of server <italic>j</italic> and encapsulate those two factors with <italic>C<sub>u</sub></italic>, <italic>T<sub>u</sub></italic>, <italic>T<sub>d</sub></italic> into a vector <italic>I</italic>, and the representation of <italic>I</italic> is:</p>
<p><disp-formula id="eqn-1">
<label>(1)</label>
<mml:math id="mml-eqn-1" display="block"><mml:mi>I</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>u</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi>u</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>r</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>r</mml:mi></mml:msub><mml:mo>}</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math>
</disp-formula></p>
<p>Then, the server will send this vector to the scheduling module. The scheduling module will decide whether this server can process the request (call business service) or send it to another server. Finally, we give a constraint here:</p>
<p><disp-formula id="eqn-2">
<label>(2)</label>
<mml:math id="mml-eqn-2" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>&lt;=</mml:mo><mml:mi>&#x03B7;</mml:mi><mml:mo>,</mml:mo></mml:math>
</disp-formula></p>
<p>where <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mi>&#x03B7;</mml:mi></mml:math></inline-formula> denotes the number of servers in the system. We can make sure the request will eventually be processed by the system with this constrain.</p>
</sec>
<sec id="s2_2_2">
<label>2.2.2</label>
<title>Implementation of Judge Module</title>
<p>Judge module is implemented by a two-layer fully connected neural network (NN), we use vector (1) which contains <italic>C<sub>u</sub></italic>, <italic>T<sub>d</sub></italic>, <italic>T<sub>u</sub></italic>, <italic>C<sub>r</sub></italic>, <italic>M<sub>r</sub></italic> as input to the NN. In the hidden layer we have ten neurons and in the output layer we have one neuron. We use ReLu as our activation function, MSE as the loss function and SGD to update our weight. The structure of NN is shown in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>. If the result from the NN is greater than zero, the judge module will generate a boolean variable which value is true. Then the judge module will put the flag of the current server into <italic>H<sub>i</sub></italic> and send the request to other server which is in <italic>F<sub>u</sub></italic>. In reverse,the judge module will generate a boolean variable which value is false. Then it will send the request to process module. We use NN<inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> to denote the judge function, and we use Forward(I, <italic>F<sub>u</sub></italic>) to denote the forward process.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>NN structure</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-2.png"/>
</fig>
<p>At last, we summarize DLTSA in Algorithm 1. With the algorithm we can schedule each request to the right server. Besides with the output, we can know which server finally processed the request and which server forwarded the request and then we can calculate the cost of whole system.</p>
<fig id="fig-21">
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-21.png"/>
</fig>
</sec>
</sec>
<sec id="s2_3">
<label>2.3</label>
<title>Cost</title>
<p>As we describe in <xref ref-type="sec" rid="s2_2">Section 2.2</xref>, the requests will be processed in two ways, either being processed directly or forwarded before being processed. In the second case where requests need to be forwarded, we assume that the network between each node is in the same condition (if two servers have connection with each other). And the delivery speed rate is <italic>S<sub>d</sub></italic>, request size is <italic>P<sub>s</sub></italic>, energy consumption per unit time of transmission is <italic>C<sub>d</sub></italic>, so the consumption of delivering one request from one server to another per times is:</p>
<p><disp-formula id="eqn-3">
<label>(3)</label>
<mml:math id="mml-eqn-3" display="block"><mml:msub><mml:mi>C</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>&#x2217;</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:math>
</disp-formula></p>
<p>We use <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mi>&#x03BC;</mml:mi></mml:math></inline-formula> which is a 0&#x2013;1 variable to denote whether the request has been delivered before. Then we generate a 1 by L matrix <italic>M<sub>i</sub></italic> according to <italic>H<sub>i</sub></italic>. In matrix <italic>M<sub>i</sub></italic>, we label the location of the server that appears in set <italic>H<sub>i</sub></italic> as 1; the remaining are 0. Also, we generate a 1 by L matrix <italic>M<sub>o</sub></italic> of all ones, next we can get the number of requests forwarded <italic>F<sub>t</sub></italic>:</p>
<p><disp-formula id="eqn-4">
<label>(4)</label>
<mml:math id="mml-eqn-4" display="block"><mml:msub><mml:mi>F</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2217;</mml:mo><mml:msubsup><mml:mi>M</mml:mi><mml:mi>o</mml:mi><mml:mi>T</mml:mi></mml:msubsup><mml:mo>.</mml:mo></mml:math>
</disp-formula></p>
<p>Above all, we can calculate delivery cost of request <italic>i</italic>:</p>
<p><disp-formula id="eqn-5">
<label>(5)</label>
<mml:math id="mml-eqn-5" display="block"><mml:msubsup><mml:mi>C</mml:mi><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:mi>&#x03BC;</mml:mi><mml:mo>&#x2217;</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:mo>&#x2217;</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:math>
</disp-formula></p>
<p>Finally, we use <italic>Z</italic> to denote number of requests, then we get can get total transmission cost of system:</p>
<p><disp-formula id="eqn-6">
<label>(6)</label>
<mml:math id="mml-eqn-6" display="block"><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>Z</mml:mi></mml:munderover><mml:msubsup><mml:mi>C</mml:mi><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msubsup><mml:mo>.</mml:mo></mml:math>
</disp-formula></p>
<p>We assume that the servers can process multiple requests in parallel and the sever starts to process requests after receiving all parts of a request. The server has two statuses-standby and working. Once the server receives the request then it will turn standby status to working status. We assume that once server goes to working status, it will try its best to provide the service, so we use <italic>W<sub>b</sub></italic> and <italic>W<sub>u</sub></italic> to represent the consumption of server per unit time. In the context of this article, <italic>W<sub>b</sub></italic> and <italic>W<sub>u</sub></italic> equal to 10W per minute, and 1 W per minute. We use <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mi>&#x03B8;</mml:mi></mml:math></inline-formula> to denote the status of the server. The total server cost is shown below:</p>
<p><disp-formula id="eqn-7">
<label>(7)</label>
<mml:math id="mml-eqn-7" display="block"><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>L</mml:mi></mml:munderover><mml:mrow><mml:mi>T</mml:mi><mml:mo>&#x2217;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x03B8;</mml:mi><mml:mo>&#x2217;</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mi>b</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2217;</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:math>
</disp-formula></p>
<p>At last, we can get the total system cost:</p>
<p><disp-formula id="eqn-8">
<label>(8)</label>
<mml:math id="mml-eqn-8" display="block"><mml:mi>T</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mi>v</mml:mi><mml:mo>.</mml:mo></mml:math>
</disp-formula></p>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Evaluation</title>
<p>In this section, we evaluate the DLTSA algorithm. The effects of a different number of request sent to DLTSA and different number of servers in DLTSA are analyzed, and comparison experiments validate the effectiveness of the DLTSA algorithm. The servers are set at each region and there is only one server in each region, and each region has an average of fifty IoT devices. In the experiments, we consider two types of IoT devices, namely laptop, mobile phone and both of them can send requests to server according to their demands. We assume that requests come evenly, and every server can process requests parallelly. The size of each request is uniformly distributed in [0.9,1] Mb, the cost of delivery per second is 1W, and the delivery rate is 10Mb per second. Besides, the IoT devices will send 50 requests to the server per 0.1 s. As we mentioned above, the judge module is implied by an NN, and to train our NN, we use the data from Google trace [<xref ref-type="bibr" rid="ref-29">29</xref>]. We mark those tasks as requiring forwarding when the server CPU usage exceeds 70% and memory usage reaches 100%; these task data are randomly divided into training sets and verification sets to train and verify our neural network.</p>
<sec id="s3_1">
<label>3.1</label>
<title>Effect of Number of Server in System and Requests</title>
<p><xref ref-type="fig" rid="fig-3">Figs. 3</xref> and <xref ref-type="fig" rid="fig-4">4</xref> show the effect of the numbers of servers in the system and requests on delivery cost and total cost. From the vertical view, we can see a different number of servers will lead to different performance of the system. This is because different node number can lead to a different server connection situation so as to bring different node selection in the process of forwarding. We can choose different number of nodes to deployed in a production environment according to different actual situation. Then, from the horizontal view we can see as the number of request increases, the total cost and delivery cost is also increasing. The reason is that the number of requests which need to be forwarded will also increase accordingly.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Delivery cost for different number of servers</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-3.png"/>
</fig>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Total costs for different number of servers</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-4.png"/>
</fig>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Comparison Experiment</title>
<p>In order to evaluate the effective performance of the DLTSA algorithm, we compare it with the other two algorithms.</p>
<p><bold>Roundrobin algorithm:</bold> In each server, requests are assigned in polling to other servers which current server is connecting (could be it self). In the actual scenario of the random scheduling algorithm, the prepare module of DLTSA system is not change, but the judge module is removed by roundrobin algorithm.</p>
<p><bold>Random scheduling algorithm:</bold> In each server, requests are randomly assigned to other servers which current server is connecting (could be it self). In the actual scenario of the random scheduling algorithm, the prepare module of DLTSA system is not change, but the judge module is removed by random scheduling algorithm.</p>
<p>Next, we compare and analyze the three algorithms from two performances metrics: Total cost and delivery cost and with a different number of server in the system.</p>
<p>We set up 4, 5, 7, 8 servers respectively in the system and let IoT devices send requests at intervals of 0.4k from 0k to 3.2k, then we collect processing information. From <xref ref-type="fig" rid="fig-5">Figs. 5</xref> to <xref ref-type="fig" rid="fig-8">8</xref>, we can see that as the number of requests increases, the delivery cost consumed by the system is increasing. This is because when the number of requests increases, the number of requests which need to be forwarded increases accordingly, resulting in the increase in delivery energy consumption. From <xref ref-type="fig" rid="fig-5">Figs. 5</xref> to <xref ref-type="fig" rid="fig-8">8</xref>, we can see that in each number of requests and each number of servers in the system, the delivery cost consumed by DLTSA algorithm is smaller than the delivery cost required by Random scheduling algorithm and Roundrobin algorithm. That shows DLTSA algorithm outperforms in saving the delivery cost of the MEC system. This is because, in contrast to random and polling algorithms, DLTSA does not simply send requests to other servers, but processes them themselves when they are not necessary. When the number of requests exceeds the capacity of the current server, the request is forwarded and other servers try to process it. The DLTSA algorithm effectively reduces the delivery cost of the whole system.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Delivery cost of 5 servers</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-5.png"/>
</fig>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Delivery cost of 5 servers</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-6.png"/>
</fig>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Delivery cost of 7 servers</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-7.png"/>
</fig>
<fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Delivery cost of 8 servers</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-8.png"/>
</fig>
<p>From <xref ref-type="fig" rid="fig-9">Fig. 9</xref> to <xref ref-type="fig" rid="fig-12">Fig. 12</xref>, we can also see that in each number of requests and each number of servers in the system, the total cost consumed by DLTSA algorithm is smaller than the total cost required by Random scheduling algorithm and Roundrobin algorithm. This is because compared to random and roundrobin algorithms, DLTSA does not forward requests to other servers if it has enough processing power. Those servers that do not have requests are not needed to be started, they will stay in standby status. But for random algorithms, each server has a chance to receive and process a request. And for roundrobin algorithms, each server will always get a turn to receive and process a request. For those two algorithms, the servers in system will always in Startup mode. Thus, our DLTSA algorithm can effectively reduce the system cost. Besides, although it can be seen that there is a surge from 1.2k to 1.6k in 4-node system and 8-node system, and a surge from 2.0k to 2.4k in 5-node system. But on the whole, the delivery cost and total cost of DLTSA algorithm will converge as the number of requests increases.</p>
<fig id="fig-9">
<label>Figure 9</label>
<caption>
<title>Total cost of 4 servers</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-9.png"/>
</fig>
<fig id="fig-10">
<label>Figure 10</label>
<caption>
<title>Total cost of 5 servers</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-10.png"/>
</fig>
<fig id="fig-11">
<label>Figure 11</label>
<caption>
<title>Total cost of 7 servers</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-11.png"/>
</fig>
<fig id="fig-12">
<label>Figure 12</label>
<caption>
<title>Total cost of 8 servers</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-12.png"/>
</fig>
<p>Then we compare and analyze the number of tasks delivered by the three algorithms with different number of requests and different number of server in system.</p>
<p><xref ref-type="fig" rid="fig-13">Figs. 13</xref> to <xref ref-type="fig" rid="fig-16">16</xref> show that the task average delivery times of three algorithm with different number of requests and different number of servers. Taking the first column in <xref ref-type="fig" rid="fig-13">Fig. 13</xref> as an example, task average delivery times refers to the average number of tasks be delivered in the system when the number of servers in the system is 4 and the number of tasks received is 0.4k. The smaller the value is, the fewer times the task is delivered, that is, the task is more likely to be processed by the local machine. From <xref ref-type="fig" rid="fig-13">Figs. 13</xref> to <xref ref-type="fig" rid="fig-16">16</xref>, we can see that under different number of servers and different requests, the task average delivery times of our method is smaller than that of the other two methods. This is because the traditional random and the RR algorithm tend to divide all requests equally between each edge server, so that each server is allocated some request processing. But these two algorithms miss a key point: they do not use up every server&#x2019;s performance. In contrast, the task average delivery times of our algorithm in each case are smaller than those of the two algorithms, which means that our algorithm better considers the performance of each server and determines whether to forward the task according to each edge server performance.</p>
<fig id="fig-13">
<label>Figure 13</label>
<caption>
<title>Average delivery times (serverNum = 4)</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-13.png"/>
</fig>
<fig id="fig-14">
<label>Figure 14</label>
<caption>
<title>Average delivery times (serverNum = 5)</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-14.png"/>
</fig>
<fig id="fig-15">
<label>Figure 15</label>
<caption>
<title>Average delivery times (serverNum = 7)</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-15.png"/>
</fig>
<fig id="fig-16">
<label>Figure 16</label>
<caption>
<title>Average delivery times (serverNum = 8)</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-16.png"/>
</fig>
<p>From <xref ref-type="fig" rid="fig-13">Figs. 13</xref> to <xref ref-type="fig" rid="fig-16">16</xref>, we can also see that no matter how many servers there are in the system, our algorithm shows a convergence trend in the task average delivery times when the number of requests increases. In other words, the average delivery times growth rate decreases as the number of requests increases. In system of eight servers (<xref ref-type="fig" rid="fig-16">Fig. 16</xref>), there is a negative growth as the number of requests increased. This is because there is a potential adaptive adjustment in our algorithm that allows a server to expand the list of servers which can be sent when the server load is high for a while. In this way, each times the current server decides to forward a task, the task can be sent to more servers, allowing more servers to serve it. When the server load is down, we remove the redundant servers from the list of available servers. By using this way, service redundancy is avoided and the number of delivering tasks does not increase as the number of requests increases, ensuring the stability of the system. However, the traditional random and RR algorithms cannot do this. These two methods will make all servers in a hot state, resulting in an increase of the task average delivery times and an increase the energy consumption of the system.</p>
<p>Finally, we compare and analyze the total task transmission delay of the three algorithms with different request number and different number of server in system.</p>
<p><xref ref-type="fig" rid="fig-17">Figs. 17</xref> to <xref ref-type="fig" rid="fig-20">20</xref> show that the total task transmission delay of three algorithm with different request number and different number of server. The total task transmission delay is the sum of each task transmission delay. Task transmission delay represents the time it takes for each task to be forwarded in the system. The lower the transmission delay, the less time it takes for each task to be forwarded in the system. In other words, the lower the transmission delay of tasks, the earlier each task is processed by the system servers and the earlier the results are returned to the user to provide better quality of service (QoS).</p>
<fig id="fig-17">
<label>Figure 17</label>
<caption>
<title>Total transmission delay (serverNum = 4)</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-17.png"/>
</fig>
<fig id="fig-18">
<label>Figure 18</label>
<caption>
<title>Total transmission delay (serverNum = 5)</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-18.png"/>
</fig>
<fig id="fig-19">
<label>Figure 19</label>
<caption>
<title>Total transmission delay (serverNum = 7)</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-19.png"/>
</fig>
<fig id="fig-20">
<label>Figure 20</label>
<caption>
<title>Total transmission delay (serverNum = 8)</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_22797-fig-20.png"/>
</fig>
<p>As can be seen from <xref ref-type="fig" rid="fig-17">Figs. 17</xref> to <xref ref-type="fig" rid="fig-20">20</xref>, under a different number of servers and a different number of requests, the task transmission delay in our method is much lower than that of random algorithm and RR algorithm. This is because, for random algorithm and RR algorithm, their goal is to ensure the fairness of each server in the system, hoping to minimize the variance of the number of tasks per server. But they ignore that it takes time for tasks to be delivered between server nodes. The fundamental purpose of task scheduling is to make the task be processed within the expected time of the user, but the random and RR algorithms do not take this into account, resulting in the task not being processed faster, and the task processing results cannot be returned to the user in time.</p>
<p>From <xref ref-type="fig" rid="fig-17">Figs. 17</xref> to <xref ref-type="fig" rid="fig-20">20</xref>, we can also see that, in general, the growth rate of task transmission delay actually decreases as the number of requests increases regardless of the number of servers in the system. This shows that our system becomes more stable as more requests increase. Meanwhile, if we observe from <xref ref-type="fig" rid="fig-17">Figs. 17</xref> to <xref ref-type="fig" rid="fig-20">20</xref>, when our algorithm is faced with a high volume requests like 3.2k (the last column in <xref ref-type="fig" rid="fig-17">Figs. 17</xref> to <xref ref-type="fig" rid="fig-20">20</xref>), the task transmission delay tends to decrease. This means that our algorithm will not increase the transmission delay due to the increase in the number of servers in the system. On the contrary, our algorithm will fully consider the user&#x2019;s quality of service, make a more reasonable choice on task scheduling, and make full use of existing resources to process tasks while ensuring the task completion time.</p>
<p>In summary, as shown in <xref ref-type="fig" rid="fig-5">Figs. 5</xref> to <xref ref-type="fig" rid="fig-12">12</xref>, we can obtain a conclusion that DLTSA algorithm has a good performance on minimizing the total scheduling cost. From <xref ref-type="fig" rid="fig-13">Figs. 13</xref> to <xref ref-type="fig" rid="fig-16">16</xref>, we can see that DLTSA can effectively reduce the average forwarding times of tasks and achieve global optimization by separately considering the status of each server. From <xref ref-type="fig" rid="fig-17">Figs. 17</xref> to <xref ref-type="fig" rid="fig-20">20</xref>, we know that DLTSA also makes tasks to be processed more effectively and helps maintaining the stability of the MEC system.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Related Work</title>
<p>SAMI [<xref ref-type="bibr" rid="ref-16">16</xref>] leverages Service Oriented Architecture (SOA) to propose an arbitrated multi-tier infrastructure model for MCC. SAMI allocate services with suitable resources according to several metrics. Using SAMI can facilitate development and deployment of service-based platform-neutral mobile applications. You et al. [<xref ref-type="bibr" rid="ref-17">17</xref>] proposed an energy efficient computing framework. This framework translated policy optimization problem into equivalent problems of minimizing the mobile energy consumption for local computing and maximizing the mobile energy savings for offloading. And this framework demonstrated that MCC is better than local computing.</p>
<p>Some methods had been proposed to solve the scheduling problem in MEC. Wu et al. [<xref ref-type="bibr" rid="ref-18">18</xref>] proposed a task offloading method. This method uses DQN to learn offloading strategy at each user equipment. Meanwhile, this method uses optimization algorithm to allocate communication resources at each computational access point. Dinh et al. [<xref ref-type="bibr" rid="ref-20">20</xref>] proved that Mobile Users (MUs) could achieve a Nash equilibrium via a best response-based offloading mechanism. They proposed a model-free reinforcement learning offloading mechanism which helps MUs learn their long-term offloading strategies to maximize their long-term utilities.</p>
<p>Some efforts have been devoted to improving the efficiency of MEC from an energy aspect. To minimize energy cost for a multi-cell multi-user MEC system, MIMO [<xref ref-type="bibr" rid="ref-30">30</xref>] ignores offloading decision making that each of the UEs was assumed to offload its task to a specific server. But it does not take into account server capacity when requests surge in an area, it cannot send tasks from one server the others. Chen et al. [<xref ref-type="bibr" rid="ref-16">16</xref>] put forward a distributed task offloading scheme based on game theory. But it requires each user to frequently obtain information of communication resources and calculation resources from MEC server rather than send tasks to the server and let the server do the scheduling. That will cause great energy consumption burden to IoT devices. Ebrahimzadeh et al. [<xref ref-type="bibr" rid="ref-31">31</xref>] considered using distributed cooperative algorithm in multi-user scenario, combined with wireless power, MEC server resource allocation and communication resource allocation to reduce user energy consumption. However, the additional computing resource consumption by this method is also high.</p>
<p>Recently, deep learning has been applied to solve a variety of problems in classification, e.g., [<xref ref-type="bibr" rid="ref-32">32</xref>,<xref ref-type="bibr" rid="ref-33">33</xref>]. The above methods all consider the task processing attribution of IoT devices and servers and take the entire system into account. But all servers are involved in processing all the tasks rather than having a balance between IoT devices processing tasks the servers processing the tasks. And if we consider each server status in MEC [<xref ref-type="bibr" rid="ref-34">34</xref>], the scheduling problem can be formed as a classification problem for a server to process a task or forward the task to another server. By using the neural network, we take server status and request task information as input to get classification results and build a totally distributed system. It is a novel idea which aims to solve the scheduling problem and workload problem in MEC.</p>
</sec>
<sec id="s5">
<label>5</label>
<title>Conclusion</title>
<p>In this work, we first gave some previous scheduling strategies in MEC and put forward some related problems. Based on the observations, we considered a multi-server MEC network, formulated these problems to a distributed multi-server MEC system without considering IoT devices processing capacity. We proposed a deep Learning-Based algorithm embedded in a traffic scheduling system. We used server status and request information as the input to build a neural network. And we used that neural network to decide whether the server can process the request itself or let other servers do. Then we gave a method to calculate the cost. We used that method to evaluate the proposed DLTSA by setting different numbers of server and different numbers of request. Then we compare total cost and delivery cost with two traditional distributed algorithms. Experimental results showed that DLTSA significantly outperforms the baselines with cost saving in MEC.</p>
</sec>
</body>
<back>
<fn-group><fn fn-type="other"><p><bold>Funding Statement:</bold> This work was supported in part by the National Natural Science Foundation of China (61902029), R&#x0026;D Program of Beijing Municipal Education Commission (No. KM202011232015), Project for Acceleration of University Classification Development (Nos. 5112211036, 5112211037, 5112211038).</p></fn>
<fn fn-type="conflict"><p><bold>Conflicts of Interest:</bold> The authors declare that they have no conflicts of interest to report regarding the present study.</p></fn></fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Armbrust</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Fox</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Griffith</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Joseph</surname>, <given-names>A. D.</given-names></string-name>, <string-name><surname>Katz</surname>, <given-names>R.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2010</year>). <article-title>A view of cloud computing</article-title>. <source>Communications of the ACM</source><italic>,</italic> <volume>53</volume><issue>(4)</issue><italic>,</italic> <fpage>50</fpage>&#x2013;<lpage>58</lpage>. DOI <pub-id pub-id-type="doi">10.1145/1721654.1721672</pub-id>.</mixed-citation></ref>
<ref id="ref-2"><label>[2.]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Tan</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>N.</given-names></string-name></person-group> (<year>2010</year>). <article-title>Future internet: The Internet of Things</article-title>. <conf-name>3rd International Conference on Advanced Computer Theory and Engineering (ICACTE)</conf-name>, pp. <fpage>376</fpage>&#x2013;<lpage>380</lpage>. Chengdu, China.</mixed-citation></ref>
<ref id="ref-3"><label>[3.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Qi</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Yang</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Zhou</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Rafique</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Ma</surname>, <given-names>J.</given-names></string-name></person-group> (<year>2021</year>). <article-title>Fast anomaly identification based on multi-aspect data streams for intelligent intrusion detection toward secure Industry 4.0</article-title>. <source>IEEE Transactions on Industrial Informatics</source><italic>,</italic> <volume>18</volume><issue>(9)</issue><italic>,</italic> <fpage>6503</fpage>&#x2013;<lpage>6511</lpage>.</mixed-citation></ref>
<ref id="ref-4"><label>[4.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wang</surname>, <given-names>F.</given-names></string-name>, Li, J. S., Wang, Y. L., Rafique, W., Khosravi, M. R. <etal>et al.</etal></person-group> (<year>2022</year>). <article-title>Privacy-aware traffic flow prediction based on multi-party sensor data with zero trust in smart city</article-title>. <source>ACM Transactions on Internet Technology</source>.</mixed-citation></ref>
<ref id="ref-5"><label>[5.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Huang</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>J.</given-names></string-name></person-group> (<year>2020</year>). <article-title>A multi-queue approach of energy efficient task scheduling for sensor hubs</article-title>. <source>Chinese Journal of Electronics</source><italic>,</italic> <volume>29</volume><issue>(2)</issue><italic>,</italic> <fpage>242</fpage>&#x2013;<lpage>247</lpage>. DOI <pub-id pub-id-type="doi">10.1049/cje.2020.02.001</pub-id>.</mixed-citation></ref>
<ref id="ref-6"><label>[6.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chen</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Jiao</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Fu</surname>, <given-names>X.</given-names></string-name></person-group> (<year>2016</year>). <article-title>Efficient multi-user computation offloading for mobile-edge cloud computing</article-title>. <source>IEEE/ACM Transactions on Networking</source><italic>,</italic> <volume>24</volume><issue>(5)</issue><italic>,</italic> <fpage>2795</fpage>&#x2013;<lpage>2808</lpage>. DOI <pub-id pub-id-type="doi">10.1109/TNET.2015.2487344</pub-id>.</mixed-citation></ref>
<ref id="ref-7"><label>[7.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Xu</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Gu</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>Y.</given-names></string-name></person-group> (<year>2022</year>). <article-title>UAV-assisted task offloading for IoT in smart buildings and environment via deep reinforcement learning</article-title>. <source>Building and Environment</source><italic>,</italic> <volume>2022</volume><italic>,</italic> <fpage>109218</fpage>. DOI <pub-id pub-id-type="doi">10.1016/j.buildenv.2022.109218</pub-id>.</mixed-citation></ref>
<ref id="ref-8"><label>[8.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chen</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Gu</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>K.</given-names></string-name></person-group> (<year>2022</year>). <article-title>Dynamic task offloading for internet of things in mobile edge computing via deep reinforcement learning</article-title>. <source>International Journal of Communication Systems</source>. DOI <pub-id pub-id-type="doi">10.1002/dac.5154</pub-id>.</mixed-citation></ref>
<ref id="ref-9"><label>[9.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Huang</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Tong</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Feng</surname>, <given-names>Z.</given-names></string-name></person-group> (<year>2022</year>). <article-title>Geographical POI recommendation for internet of things: A federated learning approach using matrix factorization</article-title>. <source>International Journal of Communication Systems</source>. DOI <pub-id pub-id-type="doi">10.1002/dac.5161</pub-id>.</mixed-citation></ref>
<ref id="ref-10"><label>[10.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhang</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>He</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Deng</surname>, <given-names>S.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2021</year>). <article-title>Covering-based web service quality prediction via neighborhood-aware matrix factorization</article-title>. <source>IEEE Transactions on Services Computing</source><italic>,</italic> <volume>14</volume><issue>(5)</issue><italic>,</italic> <fpage>1333</fpage>&#x2013;<lpage>1344</lpage>. DOI <pub-id pub-id-type="doi">10.1109/TSC.2019.2891517</pub-id>.</mixed-citation></ref>
<ref id="ref-11"><label>[11.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chen</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Wu</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>X.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2021</year>). <article-title>Deep reinforcement Learning-Based dynamic resource management for mobile edge computing in industrial Internet of Things</article-title>. <source>IEEE Transactions on Industrial Informatics</source><italic>,</italic> <volume>17</volume><issue>(7)</issue><italic>,</italic> <fpage>4925</fpage>&#x2013;<lpage>4934</lpage>. DOI <pub-id pub-id-type="doi">10.1109/TII.2020.3028963</pub-id>.</mixed-citation></ref>
<ref id="ref-12"><label>[12.]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Cuervo</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Balasubramanian</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Cho</surname>, <given-names>D. K.</given-names></string-name>, <string-name><surname>Wolman</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Saroiu</surname>, <given-names>S.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2010</year>). <article-title>Maui: Making smartphones last longer with code offload</article-title>. <conf-name>Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services</conf-name>, New York, NY, USA.</mixed-citation></ref>
<ref id="ref-13"><label>[13.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Lu</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>Y.</given-names></string-name></person-group> (<year>2022</year>). <article-title>Cost-efficient resources scheduling for mobile edge computing in ultra-dense networks</article-title>. <source>IEEE Transactions on Network and Service Management</source>. DOI <pub-id pub-id-type="doi">10.1109/TNSM.2022.3163297</pub-id>.</mixed-citation></ref>
<ref id="ref-14"><label>[14.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Sanaei</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Abolfazli</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Gani</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Buyya</surname>, <given-names>R.</given-names></string-name></person-group> (<year>2014</year>). <article-title>Heterogeneity in mobile cloud computing: Taxonomy and open challenges</article-title>. <source>IEEE Communications Surveys Tutorials</source><italic>,</italic> <volume>16</volume><issue>(1)</issue><italic>,</italic> <fpage>369</fpage>&#x2013;<lpage>392</lpage>. DOI <pub-id pub-id-type="doi">10.1109/SURV.2013.050113.00090</pub-id>.</mixed-citation></ref>
<ref id="ref-15"><label>[15.]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Buyya</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Yeo</surname>, <given-names>C. S.</given-names></string-name>, <string-name><surname>Venugopal</surname>, <given-names>S.</given-names></string-name></person-group> (<year>2008</year>). <article-title>Market-oriented cloud computing: Vision, hype, and reality for delivering it services as computing utilities</article-title>. <conf-name>2008 10th IEEE International Conference on High Performance Computing and Communications</conf-name>, pp. <fpage>5</fpage>&#x2013;<lpage>13</lpage>. Dalian, China.</mixed-citation></ref>
<ref id="ref-16"><label>[16.]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Sanaei</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Abolfazli</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Gani</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Shiraz</surname>, <given-names>M.</given-names></string-name></person-group> (<year>2012</year>). <article-title>Sami: Service-based arbitrated multi-tier infrastructure for mobile cloud computing</article-title>. <conf-name>2012 1st IEEE International Conference on Communications in China Workshops (ICCC)</conf-name>, pp. <fpage>14</fpage>&#x2013;<lpage>19</lpage>. Beijing, China.</mixed-citation></ref>
<ref id="ref-17"><label>[17.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>You</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Chae</surname>, <given-names>H.</given-names></string-name></person-group> (<year>2016</year>). <article-title>Energy efficient mobile cloud computing powered by wireless energy transfer</article-title>. <source>IEEE Journal on Selected Areas in Communications</source><italic>,</italic> <volume>34</volume><issue>(5)</issue><italic>,</italic> <fpage>1757</fpage>&#x2013;<lpage>1771</lpage>. DOI <pub-id pub-id-type="doi">10.1109/JSAC.2016.2545382</pub-id>.</mixed-citation></ref>
<ref id="ref-18"><label>[18.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wu</surname>, <given-names>Y. C.</given-names></string-name>, <string-name><surname>Dinh</surname>, <given-names>T. Q.</given-names></string-name>, <string-name><surname>Fu</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Lin</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Quek</surname>, <given-names>T. Q. S.</given-names></string-name></person-group> (<year>2021</year>). <article-title>A hybrid DQN and optimization approach for strategy and resource allocation in MEC networks</article-title>. <source>IEEE Transactions on Wireless Communications</source><italic>,</italic> <volume>20</volume><issue>(7)</issue><italic>,</italic> <fpage>4282</fpage>&#x2013;<lpage>4295</lpage>. DOI <pub-id pub-id-type="doi">10.1109/TWC.2021.3057882</pub-id>.</mixed-citation></ref>
<ref id="ref-19"><label>[19.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Shi</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Cao</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Xu</surname>, <given-names>L.</given-names></string-name></person-group> (<year>2016</year>). <article-title>Edge computing: Vision and challenges</article-title>. <source>IEEE Internet of Things Journal</source><italic>,</italic> <volume>3</volume><issue>(5)</issue><italic>,</italic> <fpage>637</fpage>&#x2013;<lpage>646</lpage>. DOI <pub-id pub-id-type="doi">10.1109/JIOT.2016.2579198</pub-id>.</mixed-citation></ref>
<ref id="ref-20"><label>[20.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Dinh</surname>, <given-names>T. Q.</given-names></string-name>, <string-name><surname>La</surname>, <given-names>Q. D.</given-names></string-name>, <string-name><surname>Quek</surname>, <given-names>T. Q. S.</given-names></string-name>, <string-name><surname>Shin</surname>, <given-names>H.</given-names></string-name></person-group> (<year>2018</year>). <article-title>Learning for computation offloading in mobile edge computing</article-title>. <source>IEEE Transactions on Communications</source><italic>,</italic> <volume>66</volume><issue>(12)</issue><italic>,</italic> <fpage>6353</fpage>&#x2013;<lpage>6367</lpage>. DOI <pub-id pub-id-type="doi">10.1109/TCOMM.2018.2866572</pub-id>.</mixed-citation></ref>
<ref id="ref-21"><label>[21.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chen</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Xing</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Ma</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>J.</given-names></string-name></person-group> (<year>2022</year>). <article-title>Cost-efficient edge caching for noma-enabled IoT services</article-title>. <source>China Communications</source>.</mixed-citation></ref>
<ref id="ref-22"><label>[22.]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author">Global Cloud Index</person-group> (<year>2018</year>). <article-title>Forecast and methodology, 2016&#x2013;2021 white paper</article-title>.</mixed-citation></ref>
<ref id="ref-23"><label>[23.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chen</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Zhao</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Lu</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>X.</given-names></string-name></person-group> (<year>2021</year>). <article-title>Dynamic task offloading for mobile edge computing with hybrid energy supply</article-title>. <source>Tsinghua Science and Technology</source>. DOI <pub-id pub-id-type="doi">10.26599/TST.2021.9010050</pub-id>.</mixed-citation></ref>
<ref id="ref-24"><label>[24.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Huang</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Lv</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Wu</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Shen</surname>, <given-names>X.</given-names></string-name></person-group> (<year>2022</year>). <article-title>Dynamic admission control and resource allocation for mobile edge computing enabled small cell network</article-title>. <source>IEEE Transactions on Vehicular Technology</source><italic>,</italic> <volume>71</volume><issue>(2)</issue><italic>,</italic> <fpage>1964</fpage>&#x2013;<lpage>1973</lpage>. DOI <pub-id pub-id-type="doi">10.1109/TVT.2021.3133696</pub-id>.</mixed-citation></ref>
<ref id="ref-25"><label>[25.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chen</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Zhao</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Wu</surname>, <given-names>Y.</given-names></string-name></person-group> (<year>2022</year>). <article-title>Efficient multi-vehicle task offloading for mobile edge computing in 6G networks</article-title>. <source>IEEE Transactions on Vehicular Technology</source><italic>,</italic> <volume>71</volume><issue>(5)</issue><italic>,</italic> <fpage>4584</fpage>&#x2013;<lpage>4595</lpage>. DOI <pub-id pub-id-type="doi">10.1109/TVT.2021.3133586</pub-id>.</mixed-citation></ref>
<ref id="ref-26"><label>[26.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Satyanarayanan</surname>, <given-names>M.</given-names></string-name></person-group> (<year>2017</year>). <article-title>The emergence of edge computing</article-title>. <source>Computer</source><italic>,</italic> <volume>50</volume><issue>(1)</issue><italic>,</italic> <fpage>30</fpage>&#x2013;<lpage>39</lpage>. DOI <pub-id pub-id-type="doi">10.1109/MC.2017.9</pub-id>.</mixed-citation></ref>
<ref id="ref-27"><label>[27.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Xu</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Fang</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>He</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Yu</surname>, <given-names>D.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2021</year>). <article-title>Edge content caching with deep spatiotemporal residual network for iov in smart city</article-title>. <source>ACM Transactions on Sensor Networks</source><italic>,</italic> <volume>17</volume><issue>(3)</issue><italic>,</italic> <fpage>1</fpage>&#x2013;<lpage>33</lpage>. DOI <pub-id pub-id-type="doi">10.1145/3447032</pub-id>.</mixed-citation></ref>
<ref id="ref-28"><label>[28.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Qi</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Hu</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Khosravi</surname>, <given-names>M. R.</given-names></string-name>, <string-name><surname>Sharma</surname>, <given-names>S.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2020</year>). <article-title>Privacy-aware data fusion and prediction with spatial-temporal context for smart city industrial environment</article-title>. <source>IEEE Transactions on Industrial Informatics</source><italic>,</italic> <volume>17</volume><issue>(6)</issue><italic>,</italic> <fpage>4159</fpage>&#x2013;<lpage>4167</lpage>. DOI <pub-id pub-id-type="doi">10.1109/TII.9424</pub-id>.</mixed-citation></ref>
<ref id="ref-29"><label>[29.]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><surname>Cloud</surname>, <given-names>G.</given-names></string-name></person-group> (<year>2011</year>). <article-title>Google cloud trace data</article-title>.</mixed-citation></ref>
<ref id="ref-30"><label>[30.]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Sardellitti</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Scutari</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Barbarossa</surname>, <given-names>S.</given-names></string-name></person-group> (<year>2014</year>). <article-title>Joint optimization of radio and computational resources for multicell mobile cloud computing</article-title>. <conf-name>2014 IEEE 15th International Workshop on Signal Processing Advances in Wireless Communications (SPAWC)</conf-name>, Toronto, ON, Canada. DOI <pub-id pub-id-type="doi">10.1109/SPAWC.2014.6941749</pub-id>.</mixed-citation></ref>
<ref id="ref-31"><label>[31.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Ebrahimzadeh</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Maier</surname>, <given-names>M.</given-names></string-name></person-group> (<year>2019</year>). <article-title>Distributed cooperative computation offloading in multi-access edge computing fiber-wireless networks</article-title>. <source>Optics Communications</source><italic>,</italic> <volume>452</volume><italic>,</italic> <fpage>130</fpage>&#x2013;<lpage>139</lpage>. DOI 10.1016/j.optcom.2019.06.060.</mixed-citation></ref>
<ref id="ref-32"><label>[32.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhao</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Hou</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Wu</surname>, <given-names>O.</given-names></string-name></person-group> (<year>2020</year>). <article-title>Modeling sentiment dependencies with graph convolutional networks for aspect-level sentiment classification</article-title>. <source>Knowledge-Based Systems</source><italic>,</italic> <volume>193</volume><italic>,</italic> <fpage>105443</fpage>. DOI <pub-id pub-id-type="doi">10.1016/j.knosys.2019.105443</pub-id>.</mixed-citation></ref>
<ref id="ref-33"><label>[33.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Xu</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Tian</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Qi</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>He</surname>, <given-names>Q.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2022</year>). <article-title>Discov: Distributed COVID-19 detection on X-ray images with edge-cloud collaboration</article-title>. <source>IEEE Transactions on Services Computing</source><italic>,</italic> <volume>15</volume><issue>(3)</issue><italic>,</italic> <fpage>1206</fpage>&#x2013;<lpage>1219</lpage>. DOI <pub-id pub-id-type="doi">10.1109/TSC.2022.3142265</pub-id></mixed-citation></ref>
<ref id="ref-34"><label>[34.]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhang</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Pan</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Qi</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>He</surname>, <given-names>Q.</given-names></string-name></person-group> (<year>2021</year>). <article-title>Privacy-preserving quality prediction for edge-based IoT services</article-title>. <source>Future Generation Computer Systems</source><italic>,</italic> <volume>114</volume><italic>,</italic> <fpage>336</fpage>&#x2013;<lpage>348</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.future.2020.08.014</pub-id>.</mixed-citation></ref>
</ref-list>
</back>
</article>