<?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">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</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">18625</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2021.018625</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Centralized QoS Routing Model for Delay/Loss Sensitive Flows at the SDN-IoT Infrastructure</article-title>
<alt-title alt-title-type="left-running-head">Centralized QoS Routing Model for Delay/Loss Sensitive Flows at the SDN-IoT Infrastructure</alt-title>
<alt-title alt-title-type="right-running-head">Centralized QoS Routing Model for Delay/Loss Sensitive Flows at the SDN-IoT Infrastructure</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author">
<name name-style="western">
<surname>Beshley</surname>
<given-names>Mykola</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib id="author-2" contrib-type="author" corresp="yes">
<name name-style="western">
<surname>Kryvinska</surname>
<given-names>Natalia</given-names>
</name>
<xref ref-type="aff" rid="aff-2">2</xref>
<email>natalia.kryvinska@uniba.sk</email>
</contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western">
<surname>Beshley</surname>
<given-names>Halyna</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western">
<surname>Medvetskyi</surname>
<given-names>Mykhailo</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib id="author-5" contrib-type="author">
<name name-style="western">
<surname>Barolli</surname>
<given-names>Leonard</given-names>
</name>
<xref ref-type="aff" rid="aff-3">3</xref>
</contrib>
<aff id="aff-1"><label>1</label><institution>Department of Telecommunications, Lviv Polytechnic National University</institution>, <addr-line>Lviv, 79013</addr-line>, <country>Ukraine</country></aff>
<aff id="aff-2"><label>2</label><institution>Department of Information Systems, Faculty of Management, Comenius University in Bratislava</institution>, <addr-line>Bratislava, 82005</addr-line>, <country>Slovakia</country></aff>
<aff id="aff-3"><label>3</label><institution>Department of Information and Communication Engineering, Faculty of Information Engineering, Fukuoka Institute of Technology (FIT)</institution>, <addr-line>Higashi-Ku, 811-0295, Fukuoka</addr-line>, <country>Japan</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1">&#x002A;Corresponding Author: Natalia Kryvinska. Email: <email>natalia.kryvinska@uniba.sk</email></corresp>
</author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2021-08-23">
<day>23</day>
<month>08</month>
<year>2021</year>
</pub-date>
<volume>69</volume>
<issue>2</issue>
<fpage>3727</fpage>
<lpage>3748</lpage>
<history>
<date date-type="received">
<day>14</day>
<month>3</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>17</day>
<month>4</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2021 Beshley et al.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Beshley et al.</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_CMC_18625.pdf"></self-uri>
<abstract>
<p>The rapidly increasing number of Internet of Things (IoT) devices and Quality of Service (QoS) requirements have made the provisioning of network solutions to meet this demand a major research topic. Providing fast and reliable routing paths based on the QoS requirements of IoT devices is very important task for Industry 4.0. The software-defined network is one of the most current interesting research developments, offering an efficient and effective solution for centralized control and network intelligence. A new SDN-IoT paradigm has been proposed to improve network QoS, taking advantage of SDN architecture in IoT networks. At the present time, most publish-subscribe IoT platforms assume the same QoS requirements for all customers. However, in many real-world scenarios of IoT applications, different subscribers may have different E2E delay requirements. Providing reliable differentiated services has become a relevant problem. For this we developed a technique for classifying IoT flows with the individual subscriber recommendation on the importance of certain parameters for particular classes of traffic taken into account. To improve the QoS for mission-critical IoT applications in large-scale SDN-IoT infrastructure, we focused on optimizing routing in the SDN. For this purpose, a centralized routing model based on QoS parameters and IoT priority flow for the SDN was proposed and implemented. We have compared the proposed routing model with the state-of-art deterministic multiconstrained centralized QoS routing model (DMCQR). The developed centralized routing model in comparison with the known DMCQR flow routing achieved better balance of channel resources load due to rational choice of transmission paths for different traffic. And it was possible to reduce up to 3 times the average delay of real time flows service from end to end, for which with the existing DMCQR routing model the permissible delay rates were not met.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Internet of things</kwd>
<kwd>software defined networking</kwd>
<kwd>quality of services</kwd>
<kwd>routing</kwd>
<kwd>internet of video things</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>The trend of the Internet of Things (IoT) is becoming more and more popular now in the Industry 4.0 [<xref ref-type="bibr" rid="ref-1">1</xref>]. Briefly it can be described as follows: an increase in the number of devices that interact not only with users but also with each other [<xref ref-type="bibr" rid="ref-2">2</xref>]. The huge number of devices will enable services from a wide variety of sources such as home appliances, surveillance cameras, monitoring sensors, actuators, displays, vehicles, machines, and so on [<xref ref-type="bibr" rid="ref-3">3</xref>]. The rapid emergence of the IoT takes advantage of the promises of many important new benefits, but at the same time creates some potential problems and issues [<xref ref-type="bibr" rid="ref-4">4</xref>&#x2013;<xref ref-type="bibr" rid="ref-6">6</xref>]. To support the huge number of connected devices with heterogeneous characteristics, the IoT communication infrastructure needs new architectures and devices that can accommodate the growing IoT traffic with the guarantee of a specific QoS level [<xref ref-type="bibr" rid="ref-7">7</xref>&#x2013;<xref ref-type="bibr" rid="ref-9">9</xref>].</p>
<p>IoT will allow the development of applications in many different domains, such as home automation, industrial automation, medical aids, traffic management, and many others [<xref ref-type="bibr" rid="ref-10">10</xref>&#x2013;<xref ref-type="bibr" rid="ref-11">11</xref>]. These applications have a range of QoS requirements, which can be typically categorized as best effort (no QoS), differentiated services (soft QoS) and guaranteed services (hard QoS), especially for a mission-critical IoT applications [<xref ref-type="bibr" rid="ref-12">12</xref>]. The authors [<xref ref-type="bibr" rid="ref-13">13</xref>] considered five important mission- critical IoT applications and characterize them based on several different requirements such as factory automation, process automation, smart grids, intelligent transport systems and professional audio. For example, process automation includes applications for monitoring and diagnostics of industrial elements, and processes such as heating, cooling, mixing, stirring, pumping, etc. Therefore, End-to-End (E2E) delay requirements for such IoT services range from 50 to 100 ms with the available Packet Loss Ratio (PLR) up to 10<sup>&#x2212;3</sup>.</p>
<p>The network infrastructure is a critical component of the ecosystem for a mission-critical IoT application. In order to provide strong QoS for IoT applications, it is necessary to provide suitable mechanisms at each layer of the IoT infrastructure, as some factors, such as E2E latency, are very important [<xref ref-type="bibr" rid="ref-14">14</xref>&#x2013;<xref ref-type="bibr" rid="ref-16">16</xref>]. A delay in any layer can lead to unacceptable QoS for safety critical applications, such as automated driving systems which need constant feedback to maintain control. Such ultimate results are the main reason why strict compliance with QoS requirements is so necessary in the mission-critical IoT. This is also part of why designing for mission-critical IoT platform is so complex. Nowadays, most publish/subscribe IoT platforms suppose that there are equal QoS requirements for all clients. However, in many real-world IoT applications scenarios, different subscribers may have different E2E delay requirements. How to provide reliable differentiated services has become an relevant problem.</p>
<p>In addition, the IoT communication infrastructure has to be energy efficient, cost-effective, flexible and scalable to provide IoT services with different quality of service requirements {[<xref ref-type="bibr" rid="ref-17">17</xref>&#x2013;<xref ref-type="bibr" rid="ref-20">20</xref>]}. To develop a more flexible and scalable network, the Software Defined Networking (SDN) paradigm has been proposed in recent years [<xref ref-type="bibr" rid="ref-21">21</xref>&#x2013;<xref ref-type="bibr" rid="ref-24">24</xref>]. The SDN provides simplified network management by separating the control plane from the data plane [<xref ref-type="bibr" rid="ref-25">25</xref>&#x2013;<xref ref-type="bibr" rid="ref-27">27</xref>]. Thus, with this programmable and centralized control plane, it is possible to monitor real time network behavior and flexibly manage network traffic, which also makes SDN one of the key technologies in SDN-IoT applications. So, approaches based on the SDN in the context of IoT have recently attracted some attention [<xref ref-type="bibr" rid="ref-28">28</xref>&#x2013;<xref ref-type="bibr" rid="ref-30">30</xref>]. The SDN-IoT infrastructure is depicted in <?A3B2 "fig1",5,"anchor"?><xref ref-type="fig" rid="fig-1">Fig. 1</xref>.</p>
<p>Special attention is paid to the means of routing and distribution of flows under high load conditions to ensure the specified parameters of the quality of service within the network management. In this regard, the development and implementation of SDN solutions require improvements to existing routing protocols and load-balancing mechanisms [<xref ref-type="bibr" rid="ref-31">31</xref>&#x2013;<xref ref-type="bibr" rid="ref-33">33</xref>]. Analysis of the known routing protocols has a significant disadvantage for they provide the calculation of the shortest path by only one, however composite metrics [<xref ref-type="bibr" rid="ref-34">34</xref>]. Thus, the necessary numerical values of one of the key QoS parameters of a particular flow of a certain client are not guaranteed. On the other hand, these routing protocols generally cannot ensure a universal and satisfactory solution that meets the requirements of heterogeneous large-scale IoT networks [<xref ref-type="bibr" rid="ref-35">35</xref>]. The most common is the flow model of routing with load balancing to minimize the coefficient of maximum channel utilization [<xref ref-type="bibr" rid="ref-36">36</xref>]. The study of this model for SDN showed that load balancing by the criterion of channel utilization ratio does not allow improving the QoS level in all cases. Therefore, it is recommended to change the criterion underlying the optimization of the load balancing process in such a way as to maximize the values of the basic QoS values [<xref ref-type="bibr" rid="ref-37">37</xref>] when addressing the routing and load balancing task in the SDN [<xref ref-type="bibr" rid="ref-38">38</xref>].</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>SDN-IoT infrastructure</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18625-fig-1.png"/>
</fig>
<p>In order to address the abovementioned challenges, this paper focuses on creating a new cost-effective and low-energy customizable platform based on SDN architecture. It can adapt its configuration to meet the QoS requirements of target IoT applications. Our principal contributions in this paper are summarized as follows:
<list list-type="bullet">
<list-item>
<p>We developed a technique for classifying IoT flows with the customers recommendation on the importance of certain parameters for particular classes of traffic taken into account.</p></list-item>
<list-item>
<p>We proposed and realized a centralized routing model based on QoS parameters and IoT priority flow for SDN to enhance QoS for mission-critical IoT applications in a large-scale SDN-IoT infrastructure.</p></list-item>
<list-item>
<p>We have compared the proposed routing model with the state-of-art deterministic multiconstrained centralized QoS routing model (DMCQR)</p></list-item>
</list></p>
<p>The paper is organized as follows. Section 2 presents a brief review of the related works. Section 3 introduces the implementation details of our enhanced QoS-aware routing model in the SDN section of the IoT platform and evaluates our model with respect to state of the arts DMCQR. Finally, we conclude in Section 4.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Related Work</title>
<p>Routing in SDN based IoT infrastructure has recently become a hot topic of research and has generated so much scientific interest [<xref ref-type="bibr" rid="ref-39">39</xref>&#x2013;<xref ref-type="bibr" rid="ref-47">47</xref>]. A summary of the related work is shown in <?A3B2 "tbl1",5,"anchor"?><xref ref-type="table" rid="table-1">Tab. 1</xref>.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Related work on routing in SDN-IoT infrastructure</title>
</caption>
<table>
<colgroup>
<col/>
<col charoff="420pt"></col>
<col/>
</colgroup>
<thead>
<tr>
<th>Ref.</th>
<th>Description</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>[<xref ref-type="bibr" rid="ref-39">39</xref>]</td>
<td>Proposed a traffic aware QoS routing model in software defined internet of things (SDIoT) network; greedy approach based on Yen&#x0027;s K&#x0027;s shortest path algorithm to calculate the optimum redirection path in SDN for the QoS requirements of each packet.</td>
<td></td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-40">40</xref>]</td>
<td>Proposed the application-aware QoS routing algorithm (AQRA) for SDN based IoT networks to ensure multiple QoS requirements of high-priority IoT applications and adapt to the current state of the network for better routing path.</td>
<td></td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-41">41</xref>]</td>
<td>Developed an SDN infrastructure suitable for the IoT environment, in which the SDN controller uses network computing and genetic algorithm to optimize IoT applications.</td>
<td></td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-42">42</xref>]</td>
<td>Proposed a deterministic network model using network calculus to compute the optimal paths for each flow through the priority queues in SDN.</td>
<td></td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-43">43</xref>]</td>
<td>Developed a stochastic model for the E2E delay in SDN switches based on measurements made in Internet-scale experiments performed Mininet.</td>
<td></td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-44">44</xref>]</td>
<td>Proposed a deep reinforcement learning based QoS-aware secure routing protocol (DQSP) in the SDN-IoT infrastructure. The method can extract knowledge from the requirements of traffic history, interacting with the underlying network environment, and optimize routing policies.</td>
<td></td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-45">45</xref>]</td>
<td>Proposed the deterministic multiconstrained centralized QoS routing (DMCQR) algorithm based on network calculus in SDN. Experiment results show that the proposed DMCQR algorithm had better performance in terms of effective bandwidth utilization rate, packet loss rate, path load rate and end-to-end delay compared with the performance of the Dijsktra algorithm.</td>
<td></td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-46">46</xref>]</td>
<td>proposed a deep learning-based intelligent channel assignment algorithm. It can intelligently avoid potential congestion and quickly allocate the appropriate channel in the SDN-IoT infrastructure. </td>
<td></td>
</tr>
<tr>
<td>[<xref ref-type="bibr" rid="ref-47">47</xref>]</td>
<td>proposed an approach that can control SDN congestion by dynamically dividing traffic by analyzing the statistics collected by each switch in the network. The traffic partition is done in such a way that when a flow is redirected to another path, the SDN controller checks in advance to see if this action leads to traffic jams on the new path.</td>
<td></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>To the best of our knowledge, the studies on QoS-aware routing for mission-critical IoT applications in the SDN based IoT platform are still very limited in literature. Most of the existing scientific papers on routing in SDN-IoT still have a number of significant shortcomings, are only theoretical and difficult to implement in practices. Also, when analyzing the scientific papers, we have not found approaches to provide QoS for the mission-critical IoT applications in conditions of high network load with the presence of subscribers to the same IoT applications of topics with different QoS requirements.</p>
</sec>
<sec id="s3">
<label>3</label>
<title>Enhanced QoS-Aware Routing Model in SDN</title>
<sec id="s3_1">
<label>3.1</label>
<title>Centralized Routing Model Based on QoS Parameters and IoT Priority Flow for SDN</title>
<p>The paper proposes an advanced model of routing that allows balancing the load on the criteria of minimum/maximum network channel load and service quality for each flow in SDN. There is developed a technique for classifying IoT flows with the recommendation on the importance of certain parameters for particular classes of traffic taken into account. <?A3B2 "tbl2",5,"anchor"?><xref ref-type="table" rid="table-2">Tab. 2</xref> show the requirements for QoS of existing services operating within the Internet of Things [<xref ref-type="bibr" rid="ref-48">48</xref>] (IoT automated emergency call&#x2014;<italic>A</italic>, Real time Monitoring temperature&#x2014;<italic>B</italic>, Real time Internet of Video Things (IoVT)&#x2014;<italic>C</italic>, IoT-Alert (Photo/text/Email)&#x2014;<italic>D</italic>, Un Real time IoVT (Video on Demand)&#x2014;<italic>E</italic>, Un Real time IoVT (720p60)&#x2014;<italic>F</italic>, Un Real time IoVT (1080p60)&#x2014;<italic>G</italic>). The primary goal of QoS is to provide priority, including dedicated throughput&#x2014;<italic>C</italic>, delay&#x2014;<italic>T</italic>, jitter&#x2014;<italic>J</italic>, packet loss&#x2014;<italic>P</italic> (required by some real-time and non real-time traffic). We also introduce two additional criteria for the classification of IoT flows the first criterion is the sensitivity to the mixing of packet&#x2014;<italic>P</italic><sub><italic>m</italic></sub> and the second criterion is the priority of the IoT subscribers&#x2013;<italic>C</italic><sub><italic>p</italic></sub>.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Requirements for QoS of certain IoT applications</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th style="background:#FFFFFF;">Flow type</th>
<th style="background:#FFFFFF;" colspan="6">QoS parameters</th>
</tr>
</thead>
<tbody>
<tr>
<td style="background:#FFFFFF;"></td>
<td style="background:#FFFFFF;">P, %</td>
<td style="background:#FFFFFF;">T, ms</td>
<td style="background:#FFFFFF;">J, ms</td>
<td style="background:#FFFFFF;">C, kbit/s</td>
<td style="background:#FFFFFF;">P<sub><roman>m</roman></sub></td>
<td style="background:#FFFFFF;">C<sub><roman>p</roman></sub></td>
</tr>
<tr>
<td style="background:#FFFFFF;">A</td>
<td style="background:#FFFFFF;">&#x003C;0,01</td>
<td style="background:#FFFFFF;">150</td>
<td style="background:#FFFFFF;">10</td>
<td style="background:#FFFFFF;">64</td>
<td style="background:#FFFFFF;">10<sup>&#x2212;2</sup></td>
<td style="background:#FFFFFF;">2&#x2013;256</td>
</tr>
<tr>
<td style="background:#FFFFFF;">B</td>
<td style="background:#FFFFFF;">&#x003C;2</td>
<td style="background:#FFFFFF;">100</td>
<td style="background:#FFFFFF;">20</td>
<td style="background:#FFFFFF;">2048</td>
<td style="background:#FFFFFF;">10<sup>-2</sup></td>
<td style="background:#FFFFFF;">256&#x2013;512</td>
</tr>
<tr>
<td style="background:#FFFFFF;">C</td>
<td style="background:#FFFFFF;">&#x003C;1</td>
<td style="background:#FFFFFF;">100</td>
<td style="background:#FFFFFF;">50</td>
<td style="background:#FFFFFF;">4096</td>
<td style="background:#FFFFFF;">10<sup>&#x2212;2</sup></td>
<td style="background:#FFFFFF;">512&#x2013;768</td>
</tr>
<tr>
<td style="background:#FFFFFF;">D</td>
<td style="background:#FFFFFF;">&#x003C;0,1</td>
<td style="background:#FFFFFF;">100</td>
<td style="background:#FFFFFF;">100</td>
<td style="background:#FFFFFF;">2048</td>
<td style="background:#FFFFFF;">10<sup>&#x2212;6</sup></td>
<td style="background:#FFFFFF;">1280&#x2013;1536</td>
</tr>
<tr>
<td style="background:#FFFFFF;">E</td>
<td style="background:#FFFFFF;">&#x003C;1</td>
<td style="background:#FFFFFF;">400</td>
<td style="background:#FFFFFF;">500</td>
<td style="background:#FFFFFF;">256&#x2013;10000</td>
<td style="background:#FFFFFF;">10<sup>&#x2212;4</sup></td>
<td style="background:#FFFFFF;">768&#x2013;1024</td>
</tr>
<tr>
<td style="background:#FFFFFF;">F</td>
<td style="background:#FFFFFF;">&#x003C;0,1</td>
<td style="background:#FFFFFF;">400</td>
<td style="background:#FFFFFF;">30</td>
<td style="background:#FFFFFF;">2048</td>
<td style="background:#FFFFFF;">10<sup>&#x2212;4</sup></td>
<td style="background:#FFFFFF;">1024&#x2013;1280</td>
</tr>
<tr>
<td style="background:#FFFFFF;">G</td>
<td style="background:#FFFFFF;">0,01</td>
<td style="background:#FFFFFF;">50</td>
<td style="background:#FFFFFF;">50</td>
<td style="background:#FFFFFF;">64</td>
<td style="background:#FFFFFF;">10<sup>&#x2212;5</sup></td>
<td style="background:#FFFFFF;">1</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>To calculate the relative priority of a flow for a particular path, we defined the relative coefficients for each flow. The relative coefficients are the ratio of the minimum values of the service quality parameters to the current values obtained from the network monitoring.</p>
<p>The relative coefficient of packet loss&#x2014;<inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mi>p</mml:mi></mml:math></inline-formula>, packet delay&#x2014;<inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mi>t</mml:mi></mml:math></inline-formula>, packet jitter&#x2014;<inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mi>j</mml:mi></mml:math></inline-formula>, throughput&#x2014;<inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mi>c</mml:mi></mml:math></inline-formula>, sensitivity to the mixing of packets&#x2014;<inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and priority of the subscribers&#x2014;<inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:msub><mml:mrow><mml:mi mathvariant="normal">c</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> are defined as shown in <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref>:</p>
<p><disp-formula id="eqn-1">
<label>(1)</label>
<mml:math id="mml-eqn-1" display="block"><mml:mtable columnalign="left" rowspacing="2em 0.4em" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:msub><mml:mi>P</mml:mi></mml:mfrac><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:msub><mml:mi>T</mml:mi></mml:mfrac><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msub><mml:mi>J</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:msub><mml:mi>J</mml:mi></mml:mfrac><mml:mo>,</mml:mo></mml:mstyle></mml:mstyle></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>c</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mi>C</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msub></mml:mfrac><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>P</mml:mi><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:msub></mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mfrac><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mi>C</mml:mi><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mo>.</mml:mo></mml:mstyle></mml:mstyle></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:math>
</disp-formula></p>
<p>The results of the calculations are shown in <?A3B2 "tbl3",5,"anchor"?><xref ref-type="table" rid="table-3">Tab. 3</xref>.</p>
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>The matrix of relative coefficients</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th style="background:#FFFFFF;">Flow type</th>
<th style="background:#FFFFFF;" colspan="5">QoS parameters</th>
</tr>
</thead>
<tbody>
<tr>
<td style="background:#FFFFFF;"></td>
<td style="background:#FFFFFF;">p, %</td>
<td style="background:#FFFFFF;">t, ms</td>
<td style="background:#FFFFFF;">j, ms</td>
<td style="background:#FFFFFF;">c, kbit/s</td>
<td style="background:#FFFFFF;">p<sub><roman>m</roman></sub></td>
</tr>
<tr>
<td style="background:#FFFFFF;">A</td>
<td style="background:#FFFFFF;">0,1</td>
<td style="background:#FFFFFF;">0,67</td>
<td style="background:#FFFFFF;">1</td>
<td style="background:#FFFFFF;">0,0063</td>
<td style="background:#FFFFFF;">10<sup>-5</sup></td>
</tr>
<tr>
<td style="background:#FFFFFF;">B</td>
<td style="background:#FFFFFF;">0,012</td>
<td style="background:#FFFFFF;">1</td>
<td style="background:#FFFFFF;">0,5</td>
<td style="background:#FFFFFF;">0,2</td>
<td style="background:#FFFFFF;">10<sup>-5</sup></td>
</tr>
<tr>
<td style="background:#FFFFFF;">C</td>
<td style="background:#FFFFFF;">0,067</td>
<td style="background:#FFFFFF;">0,1</td>
<td style="background:#FFFFFF;">0,2</td>
<td style="background:#FFFFFF;">0,4</td>
<td style="background:#FFFFFF;">10<sup>-2</sup></td>
</tr>
<tr>
<td style="background:#FFFFFF;">D</td>
<td style="background:#FFFFFF;">0,1</td>
<td style="background:#FFFFFF;">0,1</td>
<td style="background:#FFFFFF;">0,01</td>
<td style="background:#FFFFFF;">0,2</td>
<td style="background:#FFFFFF;">10<sup>-2</sup></td>
</tr>
<tr>
<td style="background:#FFFFFF;">E</td>
<td style="background:#FFFFFF;">0,1</td>
<td style="background:#FFFFFF;">0,25</td>
<td style="background:#FFFFFF;">0,02</td>
<td style="background:#FFFFFF;">0,025</td>
<td style="background:#FFFFFF;">10<sup>-5</sup></td>
</tr>
<tr>
<td style="background:#FFFFFF;">F</td>
<td style="background:#FFFFFF;">0,2</td>
<td style="background:#FFFFFF;">0,2</td>
<td style="background:#FFFFFF;">0,33</td>
<td style="background:#FFFFFF;">1</td>
<td style="background:#FFFFFF;">10<sup>-5</sup></td>
</tr>
<tr>
<td style="background:#FFFFFF;">G</td>
<td style="background:#FFFFFF;">1</td>
<td style="background:#FFFFFF;">1</td>
<td style="background:#FFFFFF;">0,01</td>
<td style="background:#FFFFFF;">0,0063</td>
<td style="background:#FFFFFF;">1</td>
</tr>
</tbody>
</table>
</table-wrap>
<p><?A3B2 "tbl4",5,"anchor"?><xref ref-type="table" rid="table-4">Tab. 4</xref> is filled with numbers 1&#x2013;3, which correspond to low, medium, and high significance of the QoS parameters, respectively [<xref ref-type="bibr" rid="ref-49">49</xref>].</p>
<table-wrap id="table-4">
<label>Table 4</label>
<caption>
<title>The matrix of importance of QoS parameters</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th style="background:#FFFFFF;">Flow type</th>
<th style="background:#FFFFFF;" colspan="5">QoS parameters</th>
</tr>
</thead>
<tbody>
<tr>
<td style="background:#FFFFFF;"></td>
<td style="background:#FFFFFF;">P<sub><roman>r</roman></sub>, %</td>
<td style="background:#FFFFFF;">T<sub><roman>r</roman></sub>, ms</td>
<td style="background:#FFFFFF;">J<sub><roman>r</roman></sub>, ms</td>
<td style="background:#FFFFFF;">C<sub><roman>r</roman></sub>, kbit/s</td>
<td style="background:#FFFFFF;" colspan="1">P<sub><roman>mr</roman></sub></td>
</tr>
<tr>
<td style="background:#FFFFFF;">A</td>
<td style="background:#FFFFFF;">2</td>
<td style="background:#FFFFFF;">3</td>
<td style="background:#FFFFFF;">3</td>
<td style="background:#FFFFFF;">1</td>
<td style="background:#FFFFFF;" colspan="1">3</td>
</tr>
<tr>
<td style="background:#FFFFFF;">B</td>
<td style="background:#FFFFFF;">2</td>
<td style="background:#FFFFFF;">3</td>
<td style="background:#FFFFFF;">3</td>
<td style="background:#FFFFFF;">2</td>
<td style="background:#FFFFFF;" colspan="1">3</td>
</tr>
<tr>
<td style="background:#FFFFFF;">C</td>
<td style="background:#FFFFFF;">3</td>
<td style="background:#FFFFFF;">2</td>
<td style="background:#FFFFFF;">2</td>
<td style="background:#FFFFFF;">3</td>
<td style="background:#FFFFFF;" colspan="1">3</td>
</tr>
<tr>
<td style="background:#FFFFFF;">D</td>
<td style="background:#FFFFFF;">3</td>
<td style="background:#FFFFFF;">1</td>
<td style="background:#FFFFFF;">1</td>
<td style="background:#FFFFFF;">1</td>
<td style="background:#FFFFFF;" colspan="1">2</td>
</tr>
<tr>
<td style="background:#FFFFFF;">E</td>
<td style="background:#FFFFFF;">2</td>
<td style="background:#FFFFFF;">2</td>
<td style="background:#FFFFFF;">1</td>
<td style="background:#FFFFFF;">1</td>
<td style="background:#FFFFFF;" colspan="1">2</td>
</tr>
<tr>
<td style="background:#FFFFFF;">F</td>
<td style="background:#FFFFFF;">2</td>
<td style="background:#FFFFFF;">2</td>
<td style="background:#FFFFFF;">2</td>
<td style="background:#FFFFFF;">3</td>
<td style="background:#FFFFFF;" colspan="1">2</td>
</tr>
<tr>
<td style="background:#FFFFFF;">G</td>
<td style="background:#FFFFFF;">3</td>
<td style="background:#FFFFFF;">2</td>
<td style="background:#FFFFFF;">1</td>
<td style="background:#FFFFFF;">1</td>
<td style="background:#FFFFFF;">3</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>These parameters can be specified by the operator. Moreover, each subscriber is assigned a priority for each type of traffic. If the priority is not explicitly specified in the service agreement, then the IoT subscribers are assigned the lowest priority of all possible by default.</p>
<p>Thus, the relative priority for each category of IoT applications (services) is determined by <xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref>.</p>
<p><disp-formula id="eqn-2">
<label>(2)</label>
<mml:math id="mml-eqn-2" display="block"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:munderover><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>7</mml:mn></mml:mrow></mml:munderover><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:munderover><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:math>
</disp-formula></p>
<p>where <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>&#x2014;the relative priority of the <italic>i</italic>-th IoT service;</p>
<p><italic>k</italic>&#x2014;IoT service type number;</p>
<p><italic>m</italic>&#x2014;number service quality parameter;</p>
<p><italic>X</italic><sub><italic>km</italic></sub>&#x2014;relative priority of parameter <italic>m</italic> for IoT service <italic>k</italic>;</p>
<p><italic>Y</italic><sub><italic>km</italic></sub>&#x2014;the importance of parameter <italic>m</italic> for IoT service <italic>k</italic>.</p>
<p>The final result of this formula is a fraction within the range from zero to one. The greater value, the higher priority of an IoT flow. The formula can be applied to any number of flows and various quality requirements for the IoT service.</p>
<p>Considering above technique of prioritizing IoT flows, we divide them into three categories. The first type flows of should be delivered optimally with respect to the criterion of cost, which considers the following quality of service parameters: delay and jitter. Such flows are very sensitive to delay and jitter in the mission-critical IoT applications, so multi routing is forbidden for them, that is the whole flow can be transmitted one path only. The second type flows are less sensitive to the time parameters of the QoS, and therefore it is allowed to balance such flows. However, when balancing, there is a limit on the minimum sub-flow size. This constrain is essential because the second kind flows are usually TCP flows. They are sensitive to loss and mixing of packets, and as the number of sub-flows increases their size decreases, so the probability of loss and mixing due to multi routing increases. In this case, the delivery of the second types flows is guaranteed with QoS parameters within acceptable limits. The third type flows can be delivered by any routing with no guarantee of quality of service. Therefore, such flows are used to load low-load paths and to balance the load distribution between channels in a network.</p>
<p>When the network is operating in normal mode, without overload or bottlenecks, the monitoring system polls the network devices at a consistently long interval. In particular, the monitoring system polls network interface loads, switch flow table loads, and switch central input buffer loads that identify interface overloads. The monitoring system polls nodes with a certain interval of time and monitors the time parameters of the flows of the first category. In case of average growth in interface load, transmission delay and jitter, the system switches to the state of close monitoring of the specified interface and increases the intensity of delay measurement. In addition, when the interface load level reaches 0.9, the system starts polling the device buffer loads.</p>
<p>The developed monitoring system facilitates the implementation of this approach through adaptive monitoring of the used resources of channels and devices. The search for the optimum path is based on the mathematical theory used to solve the two well-known problems: the Multi-Commodity Flow Problem and the Constrained Shortest Path Problem. The main goal is to find the optimum set of paths in a network for all flows with a minimum total cost. The main constrain is that the total flow rate through a channel cannot exceed channel throughput.</p>
<p>Our model combines both of the abovementioned problems and allows finding the shortest path for each flow, subject to the given constraints. Suppose we have a network of nodes where each channel (link) is characterized by a delay, a loss and a channel throughput. In addition, each path is characterized by the cost calculated as a weighted sum of delays and packet losses. The model assumes that for each type of service/traffic there is a set of flows that can have completely different input and output nodes in the network. The goal is to find a set of optimum network paths for each flow with the minimum cost subjected to certain constraints, in particular such as the maximum delay, packet loss, and available link throughput.</p>
<p>Suppose a network is represented by the graph <italic>G &#x003D; (V, E)</italic>, where <italic>V</italic> is the set of nodes, and <italic>E</italic> is the set of arcs between each pair of nodes. The arcs, that is, the links, are characterized by available channel throughput, delays, packet loss, and the cost of transfer per unit flow. As a result, the cost can be calculated by following <xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref>:</p>
<p><disp-formula id="eqn-3">
<label>(3)</label>
<mml:math id="mml-eqn-3" display="block"><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>&#x03BE;</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi></mml:math>
</disp-formula></p>
<p>where <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mi>&#x03B8;</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mi>&#x03BE;</mml:mi></mml:math></inline-formula>&#x2014;the weighs for delay and loss, respectively.</p>
<p>This formula allows adjusting the cost of the path with respect to either delay or loss of packets for a particular flow. This allows adjusting these settings to meet the quality requirements for each flow. For example, multimedia traffic has restrictions on end-to-end delays, so one can set <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:mi>&#x03B8;</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mi>&#x03BE;</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> to take into account the delay only. Each individual flow k is identified by a relative priority <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, whose value lies within the range from zero to one. The set of different IoT traffic flows to be transferred over the network is denoted by <italic>K</italic>. Each flow is characterized by five parameters:</p>
<p><inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>&#x2014;the node (host) where the <italic>k</italic>-th flow enters the network;</p>
<p><inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>&#x2014;the node (host) where the <italic>k</italic>-th flow leaves the network;</p>
<p><inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>&#x2014;the rate of the <italic>k</italic>-th flow that must be delivered from the input node to the output one;</p>
<p><inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2265;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>&#x2014;the maximum allowed packet loss for the <italic>k</italic>-th flow;</p>
<p><inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2265;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>&#x2014;the maximum allowed delay for the <italic>k</italic>-th flow.</p>
<p>The goal of optimization is to path all flows in the network through the paths with the minimum cost.</p>
<p>Sets:</p>
<p>nodes: <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mi>n</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>V</mml:mi></mml:math></inline-formula>;</p>
<p>arcs: <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi></mml:math></inline-formula>;</p>
<p>channels (links): <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi><mml:mo>&#x222A;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi></mml:math></inline-formula>;</p>
<p>Variables:</p>
<p><inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>&#x2014;the data volume of the k-th flow passing through the link <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<p>Parameters:</p>
<p><inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2265;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>&#x2014;available link throughput<inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>;</p>
<p><inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>&#x03C1;</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>&#x2014;the maximum channel load (link utilization) in the network;</p>
<p><inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>r</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>&#x2014;relative cost priority over the maximum channel load <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mi>&#x03C1;</mml:mi></mml:math></inline-formula>;</p>
<p><inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msub><mml:mo>&#x2265;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>&#x2014;the maximum link throughput;</p>
<p><inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2265;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>&#x2014;channel cost <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> calculated as <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:mi>&#x03B8;</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>&#x03BE;</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>;</p>
<p><inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mi>&#x03B8;</mml:mi></mml:math></inline-formula>&#x2014;weight for delay;</p>
<p><inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mi>&#x03BE;</mml:mi></mml:math></inline-formula>&#x2014;weight for packet loss;</p>
<p><inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:mi>V</mml:mi></mml:math></inline-formula>&#x2014;source of the <italic>k</italic>-th flow;</p>
<p><inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:mi>V</mml:mi></mml:math></inline-formula>&#x2014;destination of the <italic>k</italic>-th flow;</p>
<p><inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>&#x2014;the rate of the <italic>k</italic>-th flow;</p>
<p><inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2265;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>&#x2014;actual packet loss in the link <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>;</p>
<p><inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2265;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>&#x2014;actual link delay <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>;</p>
<p><inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:msup><mml:mi>B</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo>&#x2265;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>&#x2014;the throughput required for the <italic>k</italic>-th flow.</p>
<p>The routing parameters are controlled based on the relative priority of a flow, which is calculated according to the technique presented above in this section. All values of the relative priority <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> of a flow are within the range from 0 to 1. Let us introduce the parameters <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:mi>T</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">H</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">g</mml:mi><mml:mi mathvariant="italic">h</mml:mi></mml:mrow><mml:mrow><mml:mo movablelimits="true" form="prefix">Pr</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">y</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:mi>T</mml:mi><mml:mi>C</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:mi>T</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">B</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">E</mml:mi><mml:mi mathvariant="italic">f</mml:mi><mml:mi mathvariant="italic">f</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:mi>T</mml:mi><mml:mi>C</mml:mi></mml:math></inline-formula>, with the condition <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:mi>T</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">H</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">g</mml:mi><mml:mi mathvariant="italic">h</mml:mi></mml:mrow><mml:mrow><mml:mo movablelimits="true" form="prefix">Pr</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">y</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x003C;</mml:mo><mml:mi>T</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">B</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">E</mml:mi><mml:mi mathvariant="italic">f</mml:mi><mml:mi mathvariant="italic">f</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>. The parameter <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:mi>T</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">H</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">g</mml:mi><mml:mi mathvariant="italic">h</mml:mi></mml:mrow><mml:mrow><mml:mo movablelimits="true" form="prefix">Pr</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">y</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> contains the relative priority which the relative priorities <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> of all other flows are compared with. If the relative priority of a certain flow is greater than <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:mi>T</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">H</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">g</mml:mi><mml:mi mathvariant="italic">h</mml:mi></mml:mrow><mml:mrow><mml:mo movablelimits="true" form="prefix">Pr</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">y</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, then the flow belongs to the first category and has high priority. This means it cannot be split into sub-flows for load balancing. If the relative priority of the flow is less than <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:mi>T</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">H</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">g</mml:mi><mml:mi mathvariant="italic">h</mml:mi></mml:mrow><mml:mrow><mml:mo movablelimits="true" form="prefix">Pr</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">y</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, however larger than <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:mi>T</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">B</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">E</mml:mi><mml:mi mathvariant="italic">f</mml:mi><mml:mi mathvariant="italic">f</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, then the flow belongs to the second category and has an average priority. This means the flow can be split into sub-flows and choose for them the paths with the quality of service no lower than the shortest available path. Such flows have a limitation that determines the minimum volume of a sub-flow. This allows controlling the levels of redistribution of sub-flows in the network to avoid packet mixing for the TCP flows. The quality of service is not guaranteed for all the flows with the priority lower than <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:mi>T</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">B</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">E</mml:mi><mml:mi mathvariant="italic">f</mml:mi><mml:mi mathvariant="italic">f</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>. They can be split into sub-flows of arbitrary volume. For these sub-flows, the paths with minimum channel load are selected.</p>
<p>The objective function <xref ref-type="disp-formula" rid="eqn-4">(4)</xref> minimizes cost with respect to the parameters of the quality of service in links, as well as with respect to the coefficient of the minimum/maximum load of links, which depends on the type of relative priority of a flow.</p>
<p><disp-formula id="eqn-4">
<label>(4)</label>
<mml:math id="mml-eqn-4" display="block"><mml:mi>F</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>&#x03C1;</mml:mi><mml:mo>+</mml:mo><mml:mi>r</mml:mi><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi></mml:mrow></mml:munder><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:mo>,</mml:mo></mml:math>
</disp-formula></p>
<p>Constrain in <xref ref-type="disp-formula" rid="eqn-5">Eq. (5)</xref> corresponds to the conservation of the flow</p>
<p><disp-formula id="eqn-5">
<label>(5)</label>
<mml:math id="mml-eqn-5" display="block"><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing="1.2em 1.2em 0.4em" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>V</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mi>i</mml:mi><mml:mo>&#x2260;</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:math>
</disp-formula></p>
<p>Constrain in <xref ref-type="disp-formula" rid="eqn-6">Eq. (6)</xref> takes into account the allowed level of flow distribution with respect to its relative priority:</p>
<p><disp-formula id="eqn-6">
<label>(6)</label>
<mml:math id="mml-eqn-6" display="block"><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2265;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing="1.2em 1.2em 0.4em" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x003E;</mml:mo><mml:mi>T</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">H</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">g</mml:mi><mml:mi mathvariant="italic">h</mml:mi></mml:mrow><mml:mrow><mml:mo movablelimits="true" form="prefix">Pr</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">y</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mi>T</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">B</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">E</mml:mi><mml:mi mathvariant="italic">f</mml:mi><mml:mi mathvariant="italic">f</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x003C;</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x003C;</mml:mo><mml:mi>T</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">H</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">g</mml:mi><mml:mi mathvariant="italic">h</mml:mi></mml:mrow><mml:mrow><mml:mo movablelimits="true" form="prefix">Pr</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">y</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x003C;</mml:mo><mml:mi>T</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">B</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">E</mml:mi><mml:mi mathvariant="italic">f</mml:mi><mml:mi mathvariant="italic">f</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>where <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> are the minimum link throughput of sub-flows when balancing the main flow of the second and third category, respectively.</p>
<p>The following two constraints in <xref ref-type="disp-formula" rid="eqn-7">Eqs. (7)</xref> and <xref ref-type="disp-formula" rid="eqn-8">(8)</xref> consider the maximum allowed E2E packet loss and delay, which should not exceed critical values <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, for a flow with relative priority k. In the case of routing of the third category, these parameters are given the maximum possible value:</p>
<p><disp-formula id="eqn-7">
<label>(7)</label>
<mml:math id="mml-eqn-7" display="block"><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing="1.2em 0.4em" columnspacing="1em"><mml:mtr><mml:mtd><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi><mml:mo>;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi><mml:mo>;</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-8">
<label>(8)</label>
<mml:math id="mml-eqn-8" display="block"><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msubsup><mml:mi>D</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi><mml:mo>;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo stretchy="false">[</mml:mo><mml:mn>8</mml:mn><mml:mi>p</mml:mi><mml:mi>t</mml:mi><mml:mo stretchy="false">]</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi><mml:mo>;</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>Inequality in <xref ref-type="disp-formula" rid="eqn-9">Eq. (9)</xref> imposes a constrain on the available throughput of each link, taking into account all the flows k through these links. Moreover, this constrain is lower in case of routing flows of the second and the third categories, which causes their transmission in ways with low loading efficiency and with poor quality of service:</p>
<p><disp-formula id="eqn-9">
<label>(9)</label>
<mml:math id="mml-eqn-9" display="block"><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing="1.2em 0.4em" columnspacing="1em"><mml:mtr><mml:mtd><mml:mi>&#x03C1;</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#xA0;</mml:mtext><mml:mi>k</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mi>T</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">H</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">g</mml:mi><mml:mi mathvariant="italic">h</mml:mi></mml:mrow><mml:mrow><mml:mo movablelimits="true" form="prefix">Pr</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">y</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>The last constrain in <xref ref-type="disp-formula" rid="eqn-10">Eq. (10)</xref> establishes the range of the variable and ensures that the variable acquires values within the flow rate:</p>
<p><disp-formula id="eqn-10">
<label>(10)</label>
<mml:math id="mml-eqn-10" display="block"><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mspace width="1em" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>K</mml:mi><mml:mo>,</mml:mo></mml:math>
</disp-formula></p>
<p>The proposed mathematical model allows setting the maximum allowed packet loss and delay for the first category flows. These values are essential for choosing the best path for the QoS criterion. By using weights, one can match the weight of each flow based on its requirements. On the one hand, one can set the maximum allowed loss and delay and, as a result of solving a linear programming problem, obtain a path with the minimum transfer cost that meets the requirements of the QoS parameters. On the other hand, one can change the maximum allowed packet loss and delay, then recalculate the optimum paths to find the path that ensures the required quality.</p>
<p>Let us analyze the structure of the communication network that consists of the <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:mi>N</mml:mi></mml:math></inline-formula> network devices. Numeric values of the metric <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mrow><mml:mo mathvariant="italic" stretchy="false">(</mml:mo></mml:mrow><mml:mi>i</mml:mi><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mi>j</mml:mi><mml:mrow><mml:mo mathvariant="italic" stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> can be presented as adjacency matrix <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:mi>W</mml:mi></mml:math></inline-formula>:</p>
<p><disp-formula id="eqn-11">
<label>(11)</label>
<mml:math id="mml-eqn-11" display="block"><mml:mi>W</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mtable columnalign="left left left" rowspacing="1.2em 1.2em 0.4em" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mrow><mml:mn mathvariant="italic">1</mml:mn><mml:mo mathvariant="italic">,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn mathvariant="italic">1</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x22EF;</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mrow><mml:mn mathvariant="italic">1</mml:mn></mml:mrow><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>N</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>&#x22EE;</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x22F1;</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x22EE;</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mrow><mml:mn mathvariant="italic">1</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x22EF;</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>N</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>It is worth mentioning that the matrix of parameters <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:mi>W</mml:mi></mml:math></inline-formula> is not symmetric <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:mrow><mml:mo mathvariant="italic" stretchy="false">(</mml:mo></mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mrow><mml:mo mathvariant="italic" stretchy="false">(</mml:mo></mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mrow><mml:mo mathvariant="italic" stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2260;</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mrow><mml:mo mathvariant="italic" stretchy="false">(</mml:mo></mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mrow><mml:mo mathvariant="italic" stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mo mathvariant="italic" stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>. Minimization of target function metric <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mrow><mml:mo mathvariant="italic" stretchy="false">(</mml:mo></mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mrow><mml:mo mathvariant="italic" stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> that can be under several constraints or limits is called multi criteria optimization. The main difficulty encountered in solving problems of this type is the ambiguity of the optimal solution at the point where one of the criteria reaches its maximum, while the other may be far from not only the maximum, but even from any arbitrarily admissible value. Finding a metric by the &#x201C;ideal point&#x201D; method requires that all values have the same dimensionality. To do this, let us model the channel characteristics as follows:
<list list-type="bullet">
<list-item>
<p>for the number of lost packets</p></list-item>
</list></p>
<p><disp-formula id="eqn-12">
<label>(12)</label>
<mml:math id="mml-eqn-12" display="block"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mi mathvariant="italic">m</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">n</mml:mi><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mspace width="1em" /><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn mathvariant="italic">1</mml:mn></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>where <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is a number of received packets, <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is a number of sent packets and <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003E;</mml:mo><mml:mrow><mml:mn mathvariant="italic">0</mml:mn></mml:mrow></mml:math></inline-formula>
<list list-type="bullet">
<list-item>
<p>for the flow delay</p></list-item>
</list></p>
<p><disp-formula id="eqn-13">
<label>(13)</label>
<mml:math id="mml-eqn-13" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mi mathvariant="italic">m</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">n</mml:mi><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mspace width="1em" /><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn mathvariant="italic">1</mml:mn></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>Thus, the metric based on the two parameters can be calculated as:</p>
<p><disp-formula id="eqn-14">
<label>(14)</label>
<mml:math id="mml-eqn-14" display="block"><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mroot><mml:mrow><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mo mathvariant="italic" stretchy="false">(</mml:mo></mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mo mathvariant="italic" stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mn mathvariant="italic">2</mml:mn></mml:mrow></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mi>&#x03BE;</mml:mi><mml:mrow><mml:mo mathvariant="italic" stretchy="false">(</mml:mo></mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mo mathvariant="italic" stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mn mathvariant="italic">2</mml:mn></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="italic">2</mml:mn></mml:mrow></mml:mroot><mml:mrow><mml:mo mathvariant="italic">.</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>where <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:mi>&#x03B8;</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:mi>&#x03BE;</mml:mi></mml:math></inline-formula>are the weight coefficients that change their values in the range between 0 and 1, and their sum must be equal to 1:</p>
<p>Changing the values of weight coefficients in the metric <inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mrow><mml:mo mathvariant="italic" stretchy="false">(</mml:mo></mml:mrow><mml:mi>i</mml:mi><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>j</mml:mi><mml:mrow><mml:mo mathvariant="italic" stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, we create an apparatus for controlling the value of a particular parameter when evaluating the channel characteristic from node <inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:mi>i</mml:mi></mml:math></inline-formula> to node <inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:mi>j</mml:mi></mml:math></inline-formula>.</p>
<p>In terms of mathematics, the &#x201C;ideal point&#x201D; is the one that has coordinates that correspond to <inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mo movablelimits="true" form="prefix">min</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mrow><mml:mo mathvariant="italic">,</mml:mo></mml:mrow></mml:math></inline-formula> under the fixed weight coefficients <inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:mi>&#x03B8;</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:mi>&#x03BE;</mml:mi></mml:math></inline-formula>.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Experimental Results and Analyses</title>
<p>This part describes the implementation of our novel centralized routing model based on the multiple QoS requirements and IoT priority flow approach described in Section 3.1. The mathematical routing model is implemented as an external module on top of the Floodlight Open SDN Controller. This module is implemented in Java Programming Language. To solve the problem of finding the optimum path in the SDN, we also used AMPL (A Mathematical Programming Language) and the CPLEX optimizer [<xref ref-type="bibr" rid="ref-50">50</xref>].</p>
<p>For our experimental tests, we developed a network topology in the Mininet emulator. This topology composed of 7 Open vSwitches, 1 the Floodlight SDN controller and 6 IoT traffic generators (G1&#x2013;G6). Link throughput between all nodes for all ports is set equal to 100 Mbps. The experimental SDN testbed is depicted in <?A3B2 "fig2",5,"anchor"?><xref ref-type="fig" rid="fig-2">Fig. 2</xref>.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>SDN topology considered for experiment</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18625-fig-2.png"/>
</fig>
<p>For the first time we tested the average packet delay <italic>vs.</italic> link utilization of the developed SDN switch ports (<?A3B2 "fig3",5,"anchor"?><xref ref-type="fig" rid="fig-3">Fig. 3</xref>). For this we also used a traffic generator, iperf, to generate traffic and transfer from host to client. The load was generated from 10 to 100 Mbp in 10 Mbps steps.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Average packet delay <italic>vs</italic>. link utilization in SDN</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18625-fig-3.png"/>
</fig>
<p>During the experiment, IoT traffic was generated in the network using a multi-service traffic generation system proposed in paper [<xref ref-type="bibr" rid="ref-51">51</xref>]. The matrix of requirements C<sub><roman>ij</roman></sub> for link throughput in Mbps between nodes is given below.</p>
<p><disp-formula id="eqn-42">
<label>(15)</label>
<mml:math id="mml-eqn-42" display="block"><mml:mi>C</mml:mi><mml:mi>i</mml:mi><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mtable columnalign="left left left left left left left" rowspacing="0.8em 0.8em 0.8em 0.8em 0.8em 0.8em 0.4em" columnspacing="1em"><mml:mtr><mml:mtd /><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>2</mml:mn></mml:mtd><mml:mtd><mml:mn>3</mml:mn></mml:mtd><mml:mtd><mml:mn>4</mml:mn></mml:mtd><mml:mtd><mml:mn>5</mml:mn></mml:mtd><mml:mtd><mml:mn>6</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>12</mml:mn><mml:mo>,</mml:mo><mml:mn>5</mml:mn></mml:mtd><mml:mtd><mml:mn>16</mml:mn><mml:mo>,</mml:mo><mml:mn>5</mml:mn></mml:mtd><mml:mtd><mml:mn>5</mml:mn></mml:mtd><mml:mtd><mml:mn>9</mml:mn></mml:mtd><mml:mtd><mml:mn>7</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>2</mml:mn></mml:mtd><mml:mtd><mml:mn>11</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>12</mml:mn><mml:mo>,</mml:mo><mml:mn>5</mml:mn></mml:mtd><mml:mtd><mml:mn>20</mml:mn></mml:mtd><mml:mtd><mml:mn>14</mml:mn></mml:mtd><mml:mtd><mml:mn>13</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>3</mml:mn></mml:mtd><mml:mtd><mml:mn>5</mml:mn></mml:mtd><mml:mtd><mml:mn>16</mml:mn><mml:mo>,</mml:mo><mml:mn>5</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>21</mml:mn></mml:mtd><mml:mtd><mml:mn>12</mml:mn><mml:mo>,</mml:mo><mml:mn>6</mml:mn></mml:mtd><mml:mtd><mml:mn>5</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>4</mml:mn></mml:mtd><mml:mtd><mml:mn>10</mml:mn></mml:mtd><mml:mtd><mml:mn>14</mml:mn><mml:mo>,</mml:mo><mml:mn>5</mml:mn></mml:mtd><mml:mtd><mml:mn>12</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>13</mml:mn></mml:mtd><mml:mtd><mml:mn>11</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>5</mml:mn></mml:mtd><mml:mtd><mml:mn>8</mml:mn></mml:mtd><mml:mtd><mml:mn>18</mml:mn></mml:mtd><mml:mtd><mml:mn>6</mml:mn></mml:mtd><mml:mtd><mml:mn>8</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>15</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>6</mml:mn></mml:mtd><mml:mtd><mml:mn>12</mml:mn></mml:mtd><mml:mtd><mml:mn>8</mml:mn></mml:mtd><mml:mtd><mml:mn>9</mml:mn></mml:mtd><mml:mtd><mml:mn>15</mml:mn></mml:mtd><mml:mtd><mml:mn>5</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math>
</disp-formula></p>
<p>Node No 7 is intermediate (it represents the aggregation level), so no IoT devices (servers) are connected to it. According to the matrix of requirements, the list of flows for all traffic categories was generated. A set of subscribers and the IoT services they use are generated for the channel (link) throughput of 100 Mbps. The list of flows for 9 subscribers is given in <?A3B2 "tbl5",5,"anchor"?><xref ref-type="table" rid="table-5">Tab. 5</xref> (<italic>C</italic> is the link throughput, Mbps; <italic>Cp</italic> is the priority of IoT subscribers, <inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> is the relative priority of the i-th IoT service).</p>
<p>Each subscriber uses a specific set of IoT services. In case an empty cell at the intersection of a column and a row, this service should be considered as the one with no guarantee of quality of service if a subscriber uses it. All other IoT services have throughput requirements and service parameters for a particular user secured by a service agreement between a subscriber and the network operator. As can be seen from <xref ref-type="table" rid="table-4">Tab. 4</xref>, each subscriber is assigned a priority within the appropriate priority range for a particular type of service. This generation is carried out for each pair of servers used to generate subscribers&#x2019; load.</p>
<p>The next step was to calculate the relative priorities of IoT flows, taking into account the classification of service categories proposed in Section 3.1 of the paper.</p>
<p>For the first category of services (mission-critical IoT applications), which determines real-time flows that are extremely sensitive to fluctuations of time belongs the following ones: IoT automated emergency call (A), monitoring temperature (B), real time IoVT (C).</p>
<p>The results of the calculation of the relative priorities for all the subscribers according to the technique improved in the 3.1 section of this work, are given in <xref ref-type="table" rid="table-5">Tab. 5</xref>.</p>
<table-wrap id="table-5">
<label>Table 5</label>
<caption>
<title>Relative flow priorities based on subscriber&#x2019;s priority and its IoT QoS requirements</title>
</caption>
<table>
<colgroup>
<col charoff="100pt"></col>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th rowspan="2">IoT services</th>
<th rowspan="2">Parameters</th>
<th colspan="9">Subscribers</th>
</tr>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
<th>9</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="3">IoT automated emergency call (A)</td>
<td><italic>C</italic></td>
<td>0,17</td>
<td>0,19</td>
<td>0,16</td>
<td>0,19</td>
<td>0,18</td>
<td>0,18</td>
<td>&#x2013;</td>
<td>&#x2013;</td>
<td>&#x2013;</td>
</tr>
<tr>
<td><italic>Cp</italic></td>
<td>5</td>
<td>10</td>
<td>15</td>
<td>20</td>
<td>25</td>
<td>30</td>
<td>&#x2013;</td>
<td>&#x2013;</td>
<td>&#x2013;</td>
</tr>
<tr>
<td><inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>0,25</td>
<td>0,22</td>
<td>0,22</td>
<td>0,21</td>
<td>0,21</td>
<td>0,21</td>
<td>--</td>
<td>--</td>
<td>--</td>
</tr>
<tr>
<td rowspan="3">Real time<break/>Monitoring temperature (B)<break/>(Device remote controlling)</td>
<td><italic>C</italic></td>
<td>1,25</td>
<td>1,01</td>
<td>1,17</td>
<td>1,25</td>
<td>1,17</td>
<td>1,27</td>
<td>1,11</td>
<td>1,09</td>
<td>1,44</td>
</tr>
<tr>
<td><italic>Cp</italic></td>
<td>260</td>
<td>265</td>
<td>270</td>
<td>275</td>
<td>280</td>
<td>285</td>
<td>290</td>
<td>295</td>
<td>300</td>
</tr>
<tr>
<td><inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>0,188</td>
<td>0,187</td>
<td>0,186</td>
<td>0,185</td>
<td>0,184</td>
<td>0,183</td>
<td>0,182</td>
<td>0,181</td>
<td>0,18</td>
</tr>
<tr>
<td rowspan="3">Real time IoVT (C)</td>
<td><italic>C</italic></td>
<td>1,91</td>
<td>2,09</td>
<td>2,13</td>
<td>2,21</td>
<td>2,15</td>
<td>2,17</td>
<td>1,95</td>
<td>2,33</td>
<td>2,42</td>
</tr>
<tr>
<td><italic>Cp</italic></td>
<td>515</td>
<td>520</td>
<td>525</td>
<td>530</td>
<td>535</td>
<td>540</td>
<td>545</td>
<td>550</td>
<td>555</td>
</tr>
<tr>
<td><inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>0,148</td>
<td>0,147</td>
<td>0,146</td>
<td>0,145</td>
<td>0,144</td>
<td>0,143</td>
<td>0,142</td>
<td>0,141</td>
<td>0,42</td>
</tr>
<tr>
<td rowspan="3">IoT-Alert (Photo/text/Email) (D)</td>
<td><italic>C</italic></td>
<td>1,59</td>
<td>1,60</td>
<td>1,54</td>
<td>1,80</td>
<td>1,68</td>
<td>1,53</td>
<td>1,90</td>
<td>1,46</td>
<td>1,81</td>
</tr>
<tr>
<td><italic>Cp</italic></td>
<td>770</td>
<td>775</td>
<td>780</td>
<td>785</td>
<td>790</td>
<td>795</td>
<td>800</td>
<td>805</td>
<td>810</td>
</tr>
<tr>
<td><inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>0,128</td>
<td>0,127</td>
<td>0,126</td>
<td>0,125</td>
<td>0,124</td>
<td>0,123</td>
<td>0,122</td>
<td>0,121</td>
<td>0,12</td>
</tr>
<tr>
<td rowspan="3">VoD un real time IoVT (E)</td>
<td><italic>C</italic></td>
<td>2,06</td>
<td>2,22</td>
<td>1,71</td>
<td>1,84</td>
<td>2,15</td>
<td>2,13</td>
<td>1,97</td>
<td>2,16</td>
<td>2,14</td>
</tr>
<tr>
<td><italic>P</italic></td>
<td>1025</td>
<td>1030</td>
<td>1035</td>
<td>1040</td>
<td>1045</td>
<td>1050</td>
<td>1055</td>
<td>1060</td>
<td>1065</td>
</tr>
<tr>
<td><inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>0,108</td>
<td>0,107</td>
<td>0,106</td>
<td>0,105</td>
<td>0,104</td>
<td>0,103</td>
<td>0,102</td>
<td>0,101</td>
<td>0,1</td>
</tr>
<tr>
<td rowspan="3">un real time iot video (720p60) (F)</td>
<td><italic>C</italic></td>
<td>5,56</td>
<td>5,57</td>
<td>3,99</td>
<td>5,50</td>
<td>5,72</td>
<td>5,72</td>
<td>5,50</td>
<td>&#x2013;</td>
<td>&#x2013;</td>
</tr>
<tr>
<td><italic>Cp</italic></td>
<td>1280</td>
<td>1285</td>
<td>1290</td>
<td>1295</td>
<td>1300</td>
<td>1305</td>
<td>1310</td>
<td>&#x2013;</td>
<td>&#x2013;</td>
</tr>
<tr>
<td><inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>0,088</td>
<td>0,087</td>
<td>0,086</td>
<td>0,085</td>
<td>0,084</td>
<td>0,083</td>
<td>0,082</td>
<td>--</td>
<td>--</td>
</tr>
<tr>
<td rowspan="3">Un real time iot video (1080p60) (G)</td>
<td><italic>C</italic></td>
<td>9,96</td>
<td>9,90</td>
<td>9,48</td>
<td>10,63</td>
<td>10,06</td>
<td>10,49</td>
<td>8,30</td>
<td>12,98</td>
<td>9,82</td>
</tr>
<tr>
<td><italic>Cp</italic></td>
<td>1540</td>
<td>1545</td>
<td>1550</td>
<td>1555</td>
<td>1560</td>
<td>1565</td>
<td>1570</td>
<td>1575</td>
<td>1580</td>
</tr>
<tr>
<td><inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>0,048</td>
<td>0,047</td>
<td>0,046</td>
<td>0,045</td>
<td>0,044</td>
<td>0,043</td>
<td>0,042</td>
<td>0,041</td>
<td>0,04</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>We have compared the proposed routing model with the deterministic multiconstrained centralized QoS routing model (DMCQR) presented in work [<xref ref-type="bibr" rid="ref-45">45</xref>].</p>
<p>To verify the effectiveness of the proposed solutions for mission-critical IoT applications at high network loads was used real time IoVT (Internet of Video Things) service, broadcasting video from the server G6. The network is filled with IoT traffic in accordance with the requirements given in the above matrix generated by the IoT multiservice traffic generators G1 to G6 connected to 6 OvS switch.</p>
<p>As a result of the functioning of DMCQR, the network was filled with background multiservice traffic generated by IoT devices. All paths for all requirements are given in <?A3B2 "tbl6",5,"anchor"?><xref ref-type="table" rid="table-6">Tab. 6</xref>.</p>
<table-wrap id="table-6">
<label>Table 6</label>
<caption>
<title>Paths of background IoT traffic according to the DMCQR</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Flow</th>
<th>Path</th>
<th>{ Throughput<break/>requirements, Mbps}</th>
<th>Flow</th>
<th>Path</th>
<th>{ Throughput<break/>requirements, Mbps}</th>
</tr>
</thead>
<tbody>
<tr>
<td>G1 &#x2192; G2</td>
<td>1-2</td>
<td>12,5</td>
<td>G4 &#x2192; G1</td>
<td>4-7-1</td>
<td>10</td>
</tr>
<tr>
<td>G1 &#x2192; G3</td>
<td>1-3</td>
<td>16,5</td>
<td>G4 &#x2192; G2</td>
<td>4-2</td>
<td>14,5</td>
</tr>
<tr>
<td>G1 &#x2192; G4</td>
<td>1-7-4</td>
<td>5</td>
<td>G4 &#x2192; G3</td>
<td>4-7-3</td>
<td>12</td>
</tr>
<tr>
<td>G1 &#x2192; G5</td>
<td>1-7-6-5</td>
<td>9</td>
<td><bold>G4</bold> &#x2192; <bold>G5</bold></td>
<td><bold>4-6-5</bold></td>
<td><bold>13</bold></td>
</tr>
<tr>
<td>G1 &#x2192; G6</td>
<td>1-7-6</td>
<td>7</td>
<td><bold>G4</bold> &#x2192; <bold>G6</bold></td>
<td><bold>4-6</bold></td>
<td><bold>11</bold></td>
</tr>
<tr>
<td>G2 &#x2192; G1</td>
<td>2-1</td>
<td>11</td>
<td>G5 &#x2192; G1</td>
<td>5-3-1</td>
<td>8</td>
</tr>
<tr>
<td>G2 &#x2192; G3</td>
<td>2-1-3</td>
<td>12,5</td>
<td><bold>G5</bold> &#x2192; <bold>G2</bold></td>
<td><bold>5-6-4-2</bold></td>
<td><bold>18</bold></td>
</tr>
<tr>
<td>G2 &#x2192; G4</td>
<td>2-4</td>
<td>20</td>
<td>G5 &#x2192; G3</td>
<td>5-3</td>
<td>6</td>
</tr>
<tr>
<td><bold>G2</bold> &#x2192; <bold>G5</bold></td>
<td><bold>2-4-6-5</bold></td>
<td><bold>14</bold></td>
<td><bold>G5</bold> &#x2192; <bold>G4</bold></td>
<td><bold>5-6-4</bold></td>
<td><bold>8</bold></td>
</tr>
<tr>
<td>G2 &#x2192; G6</td>
<td>2-1-7-6</td>
<td>13</td>
<td>G5 &#x2192; G6</td>
<td>5-6</td>
<td>15</td>
</tr>
<tr>
<td>G3 &#x2192; G1</td>
<td>3-1</td>
<td>5</td>
<td>G6 &#x2192; G1</td>
<td>6-7-1</td>
<td>12</td>
</tr>
<tr>
<td>G3 &#x2192; G2</td>
<td>3-1-2</td>
<td>16,5</td>
<td><bold>G6</bold> &#x2192; <bold>G2</bold></td>
<td><bold>6-4-2</bold></td>
<td><bold>12</bold></td>
</tr>
<tr>
<td>G3 &#x2192; G4</td>
<td>3-7-4</td>
<td>21</td>
<td>G6 &#x2192; G3</td>
<td>6-7-3</td>
<td>9</td>
</tr>
<tr>
<td>G3 &#x2192; G5</td>
<td>3-5</td>
<td>12,6</td>
<td><bold>G6</bold> &#x2192; <bold>G4</bold></td>
<td><bold>6-4</bold></td>
<td><bold>15</bold></td>
</tr>
<tr>
<td>G3 &#x2192; G6</td>
<td>3-7-6</td>
<td>5</td>
<td>G6 &#x2192; G5</td>
<td>6-5</td>
<td>5</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The next step was to generate load with only the real time IoVT service from the G6 IoT traffic generator. As a result of operation of the DMCQR, the paths for IoVT flows are selected as shown in <?A3B2 "tbl7",5,"anchor"?><xref ref-type="table" rid="table-7">Tab. 7</xref>.</p>
<table-wrap id="table-7">
<label>Table 7</label>
<caption>
<title>Paths of real time IoVT according to the DMCQR</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Flow</th>
<th>Throughput requirements, Mbps</th>
<th>Path</th>
</tr>
</thead>
<tbody>
<tr>
<td>G6 &#x2192; G1</td>
<td>19.36</td>
<td>6-7-1</td>
</tr>
<tr>
<td>G6 &#x2192; G2</td>
<td>17.45</td>
<td>6-7-1-2</td>
</tr>
<tr>
<td>G6 &#x2192; G3</td>
<td>9.13</td>
<td>6-5-3</td>
</tr>
<tr>
<td><bold>G6 &#x2192; G4</bold></td>
<td><bold>9.05</bold></td>
<td><bold>6-4</bold></td>
</tr>
<tr>
<td>G6 &#x2192; G5</td>
<td>1.91</td>
<td>6-5</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The network awareness module can use OpenFlow to send HTTP requests in order to obtain real-time link throughput usage. The histogram of link utilization was obtained when using the DMCQR and is depicted in <?A3B2 "fig4",5,"anchor"?><xref ref-type="fig" rid="fig-4">Fig. 4</xref>.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Links utilization in SDN testbed according to the DMCQR model</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18625-fig-4.png"/>
</fig>
<p>As a result of routing with the DMCQR model, unbalanced loading of links occurred in the network. Particular attention should be focused on link 4-6 which has significant delays and a high probability of packet loss due to insufficient link throughput. The links 5&#x2013;6 and 6&#x2013;7 are in a state near overload with a high probability of delays for the real time IoVT flow. In addition, there are no alternative transmission paths with sufficient throughput for a 9 Mbps flow from G6 to G4 hosts. Therefore, according to the DMCQR approach, the optimal path for an IoVT flows of 9.05 Mbps from G6 to G4 on the basis of QoS criterion is path 6&#x2013;4.</p>
<p>We have a detailed analysis of the IoT flows leading to overload of link 4&#x2013;6 according to the DMCQR model. The total load from the background multi-service IoT traffic according to <xref ref-type="table" rid="table-5">Tabs. 5</xref> and <xref ref-type="table" rid="table-6">6</xref> is calculated as follows.</p>
<p><disp-formula id="eqn-15">
<mml:math id="mml-eqn-15" display="block"><mml:mtable columnalign="left" rowspacing="0.8em 0.8em 0.8em 0.8em 0.8em 0.8em 0.4em" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>7</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>3.99</mml:mn><mml:mo>+</mml:mo><mml:mn>1.01</mml:mn><mml:mo>+</mml:mo><mml:mn>5.5</mml:mn><mml:mo>+</mml:mo><mml:mn>1.6</mml:mn><mml:mo>+</mml:mo><mml:mn>1.9</mml:mn><mml:mo>=</mml:mo><mml:mn>14</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>M</mml:mi><mml:mi>b</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>9</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>5.57</mml:mn><mml:mo>+</mml:mo><mml:mn>2.15</mml:mn><mml:mo>+</mml:mo><mml:mn>1.68</mml:mn><mml:mo>+</mml:mo><mml:mn>0.19</mml:mn><mml:mo>+</mml:mo><mml:mn>1.81</mml:mn><mml:mo>+</mml:mo><mml:mn>1.6</mml:mn><mml:mo>=</mml:mo><mml:mn>13</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>M</mml:mi><mml:mi>b</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>7</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>8.3</mml:mn><mml:mo>+</mml:mo><mml:mn>0.19</mml:mn><mml:mo>+</mml:mo><mml:mn>0.16</mml:mn><mml:mo>+</mml:mo><mml:mn>2.17</mml:mn><mml:mo>+</mml:mo><mml:mn>0.18</mml:mn><mml:mo>=</mml:mo><mml:mn>11</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>M</mml:mi><mml:mi>b</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>8</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>9</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mn>8</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>12.98</mml:mn><mml:mo>+</mml:mo><mml:mn>2.42</mml:mn><mml:mo>+</mml:mo><mml:mn>1.09</mml:mn><mml:mo>+</mml:mo><mml:mn>0.16</mml:mn><mml:mo>+</mml:mo><mml:mn>1.17</mml:mn><mml:mo>+</mml:mo><mml:mn>0.18</mml:mn><mml:mo>=</mml:mo><mml:mn>18</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>M</mml:mi><mml:mi>b</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mn>7</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mn>8</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>5.5</mml:mn><mml:mo>+</mml:mo><mml:mn>0.16</mml:mn><mml:mo>+</mml:mo><mml:mn>1.09</mml:mn><mml:mo>+</mml:mo><mml:mn>1.25</mml:mn><mml:mo>=</mml:mo><mml:mn>8</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>M</mml:mi><mml:mi>b</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>10.49</mml:mn><mml:mo>+</mml:mo><mml:mn>1.17</mml:mn><mml:mo>+</mml:mo><mml:mn>0.18</mml:mn><mml:mo>+</mml:mo><mml:mn>0.16</mml:mn><mml:mo>=</mml:mo><mml:mn>12</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>M</mml:mi><mml:mi>b</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>10.63</mml:mn><mml:mo>+</mml:mo><mml:mn>3.99</mml:mn><mml:mo>+</mml:mo><mml:mn>0.19</mml:mn><mml:mo>+</mml:mo><mml:mn>0.19</mml:mn><mml:mo>=</mml:mo><mml:mn>15</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>M</mml:mi><mml:mi>b</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math>
</disp-formula></p>
<p>The load in link 4-6 generated by background IoT traffic and the load in channel 4&#x2013;6 generated by background IoT traffic and additional real-time IoVT traffic are depicted in the <?A3B2 "fig5",5,"anchor"?><xref ref-type="fig" rid="fig-5">Figs. 5</xref> and <?A3B2 "fig6",5,"anchor"?><xref ref-type="fig" rid="fig-6">6</xref> respectively.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>The load in link 4&#x2013;6 generated by background IoT traffic</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18625-fig-5.png"/>
</fig>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Load in channel 4&#x2013;6 generated by background IoT traffic and additional real-time IoVT traffic</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18625-fig-6.png"/>
</fig>
<p>The total load from the real time IoVT service generated by IoT traffic generator G6 according to the <xref ref-type="table" rid="table-4">Tabs. 4</xref> and <xref ref-type="table" rid="table-6">6</xref> is calculated as follows.</p>
<p><disp-formula id="eqn-16">
<mml:math id="mml-eqn-16" display="block">
 <mml:mrow>
  <mml:mtable columnalign='left'>
   <mml:mtr columnalign='left'>
    <mml:mtd columnalign='left'>
     <mml:mrow>
      <mml:msub>
       <mml:mi>f</mml:mi>
       <mml:mrow>
        <mml:mrow><mml:mo>(</mml:mo>
         <mml:mrow>
          <mml:msub>
           <mml:mi>G</mml:mi>
           <mml:mn>6</mml:mn>
          </mml:msub>
          <mml:mo>&#x2192;</mml:mo><mml:msub>
           <mml:mi>G</mml:mi>
           <mml:mn>1</mml:mn>
          </mml:msub>
          </mml:mrow>
        <mml:mo>)</mml:mo></mml:mrow></mml:mrow>
      </mml:msub>
      <mml:mo>=</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>1</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>2</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>3</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>4</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>5</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>6</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>7</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>8</mml:mn>
      </mml:msub>
      </mml:mrow>
    </mml:mtd>
   </mml:mtr>
   <mml:mtr columnalign='left'>
    <mml:mtd columnalign='left'>
     <mml:mrow>
      <mml:mo>=</mml:mo><mml:mn>1.91</mml:mn><mml:mo>+</mml:mo><mml:mn>2.09</mml:mn><mml:mo>+</mml:mo><mml:mn>2.13</mml:mn><mml:mo>+</mml:mo><mml:mn>2.21</mml:mn><mml:mo>+</mml:mo><mml:mn>2.15</mml:mn><mml:mo>+</mml:mo><mml:mn>2.17</mml:mn><mml:mo>+</mml:mo><mml:mn>1.95</mml:mn><mml:mo>+</mml:mo><mml:mn>2.33</mml:mn><mml:mo>+</mml:mo><mml:mn>2.42</mml:mn><mml:mo>=</mml:mo><mml:mn>19.36</mml:mn><mml:mo>&#x00A0;</mml:mo><mml:mrow><mml:mo>[</mml:mo> <mml:mrow>
       <mml:mi>M</mml:mi><mml:mi>b</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi></mml:mrow> <mml:mo>]</mml:mo></mml:mrow></mml:mrow>
    </mml:mtd>
   </mml:mtr>
   <mml:mtr columnalign='left'>
    <mml:mtd columnalign='left'>
     <mml:mrow>
      <mml:msub>
       <mml:mi>f</mml:mi>
       <mml:mrow>
        <mml:mrow><mml:mo>(</mml:mo>
         <mml:mrow>
          <mml:msub>
           <mml:mi>G</mml:mi>
           <mml:mn>6</mml:mn>
          </mml:msub>
          <mml:mo>&#x2192;</mml:mo><mml:msub>
           <mml:mi>G</mml:mi>
           <mml:mn>2</mml:mn>
          </mml:msub>
          </mml:mrow>
        <mml:mo>)</mml:mo></mml:mrow></mml:mrow>
      </mml:msub>
      <mml:mo>=</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>2</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>3</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>4</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>5</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>6</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>7</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>8</mml:mn>
      </mml:msub>
      </mml:mrow>
    </mml:mtd>
   </mml:mtr>
   <mml:mtr columnalign='left'>
    <mml:mtd columnalign='left'>
     <mml:mrow>
      <mml:mo>=</mml:mo><mml:mn>2.09</mml:mn><mml:mo>+</mml:mo><mml:mn>2.13</mml:mn><mml:mo>+</mml:mo><mml:mn>2.21</mml:mn><mml:mo>+</mml:mo><mml:mn>2.15</mml:mn><mml:mo>+</mml:mo><mml:mn>2.17</mml:mn><mml:mo>+</mml:mo><mml:mn>1.95</mml:mn><mml:mo>+</mml:mo><mml:mn>2.33</mml:mn><mml:mo>+</mml:mo><mml:mn>2.42</mml:mn><mml:mo>=</mml:mo><mml:mn>17.45</mml:mn><mml:mo>&#x00A0;</mml:mo><mml:mrow><mml:mo>[</mml:mo> <mml:mrow>
       <mml:mi>M</mml:mi><mml:mi>b</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi></mml:mrow> <mml:mo>]</mml:mo></mml:mrow></mml:mrow>
    </mml:mtd>
   </mml:mtr>
   <mml:mtr columnalign='left'>
    <mml:mtd columnalign='left'>
     <mml:mrow>
      <mml:msub>
       <mml:mi>f</mml:mi>
       <mml:mrow>
        <mml:mrow><mml:mo>(</mml:mo>
         <mml:mrow>
          <mml:msub>
           <mml:mi>G</mml:mi>
           <mml:mn>6</mml:mn>
          </mml:msub>
          <mml:mo>&#x2192;</mml:mo><mml:msub>
           <mml:mi>G</mml:mi>
           <mml:mn>3</mml:mn>
          </mml:msub>
          </mml:mrow>
        <mml:mo>)</mml:mo></mml:mrow></mml:mrow>
      </mml:msub>
      <mml:mo>=</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>4</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>6</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>8</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>9</mml:mn>
      </mml:msub>
      <mml:mo>=</mml:mo><mml:mn>2.21</mml:mn><mml:mo>+</mml:mo><mml:mn>2.17</mml:mn><mml:mo>+</mml:mo><mml:mn>2.33</mml:mn><mml:mo>+</mml:mo><mml:mn>2.42</mml:mn><mml:mo>=</mml:mo><mml:mn>9.13</mml:mn><mml:mo>&#x00A0;</mml:mo><mml:mrow><mml:mo>[</mml:mo> <mml:mrow>
       <mml:mi>M</mml:mi><mml:mi>b</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi></mml:mrow> <mml:mo>]</mml:mo></mml:mrow></mml:mrow>
    </mml:mtd>
   </mml:mtr>
   <mml:mtr columnalign='left'>
    <mml:mtd columnalign='left'>
     <mml:mrow>
      <mml:msub>
       <mml:mi>f</mml:mi>
       <mml:mrow>
        <mml:mrow><mml:mo>(</mml:mo>
         <mml:mrow>
          <mml:msub>
           <mml:mi>G</mml:mi>
           <mml:mn>6</mml:mn>
          </mml:msub>
          <mml:mo>&#x2192;</mml:mo><mml:msub>
           <mml:mi>G</mml:mi>
           <mml:mn>4</mml:mn>
          </mml:msub>
          </mml:mrow>
        <mml:mo>)</mml:mo></mml:mrow></mml:mrow>
      </mml:msub>
      <mml:mo>=</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>3</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>6</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>7</mml:mn>
      </mml:msub>
      <mml:mo>+</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>8</mml:mn>
      </mml:msub>
      <mml:mo>=</mml:mo><mml:mn>2.13</mml:mn><mml:mo>+</mml:mo><mml:mn>2.17</mml:mn><mml:mo>+</mml:mo><mml:mn>2.33</mml:mn><mml:mo>+</mml:mo><mml:mn>2.42</mml:mn><mml:mo>=</mml:mo><mml:mn>9.05</mml:mn><mml:mo>&#x00A0;</mml:mo><mml:mrow><mml:mo>[</mml:mo> <mml:mrow>
       <mml:mi>M</mml:mi><mml:mi>b</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi></mml:mrow> <mml:mo>]</mml:mo></mml:mrow></mml:mrow>
    </mml:mtd>
   </mml:mtr>
   <mml:mtr columnalign='left'>
    <mml:mtd columnalign='left'>
     <mml:mrow>
      <mml:msub>
       <mml:mi>f</mml:mi>
       <mml:mrow>
        <mml:mrow><mml:mo>(</mml:mo>
         <mml:mrow>
          <mml:msub>
           <mml:mi>G</mml:mi>
           <mml:mn>6</mml:mn>
          </mml:msub>
          <mml:mo>&#x2192;</mml:mo><mml:msub>
           <mml:mi>G</mml:mi>
           <mml:mn>5</mml:mn>
          </mml:msub>
          </mml:mrow>
        <mml:mo>)</mml:mo></mml:mrow></mml:mrow>
      </mml:msub>
      <mml:mo>=</mml:mo><mml:msub>
       <mml:mi>C</mml:mi>
       <mml:mn>1</mml:mn>
      </mml:msub>
      <mml:mo>=</mml:mo><mml:mn>1.91</mml:mn><mml:mo>&#x00A0;</mml:mo><mml:mrow><mml:mo>[</mml:mo> <mml:mrow>
       <mml:mi>M</mml:mi><mml:mi>b</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi></mml:mrow> <mml:mo>]</mml:mo></mml:mrow></mml:mrow>
    </mml:mtd>
   </mml:mtr>
  </mml:mtable></mml:mrow>
</mml:math>
</disp-formula></p>
<p>According to the analysis we can see that the load in link 4&#x2013;6 is created by multi-service IoT traffic. This multiservice traffic also includes the real time IoT flows (IoT automated emergency call (A), monitoring temperature (B), real time IoVT (C)) for which it is necessary to provide the allowable E2E delay. The E2E delay of IoT flows passing through a link can be defined by <xref ref-type="disp-formula" rid="eqn-14">Eq. (14)</xref>.</p>
<p><disp-formula id="eqn-17">
<label>(16)</label>
<mml:math id="mml-eqn-17" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>.</mml:mo></mml:math>
</disp-formula></p>
<p>We estimated the E2E delay for background multi-service IoT traffic passing through overloaded link 4-6 as follows.</p>
<p><disp-formula id="eqn-18">
<mml:math id="mml-eqn-18" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>24</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>46</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>65</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>24.5</mml:mn><mml:mo>+</mml:mo><mml:mn>200</mml:mn><mml:mo>+</mml:mo><mml:mn>35.6</mml:mn><mml:mo>=</mml:mo><mml:mn>260.1</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-19">
<mml:math id="mml-eqn-19" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>46</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>65</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>200</mml:mn><mml:mo>+</mml:mo><mml:mn>35.6</mml:mn><mml:mo>=</mml:mo><mml:mn>235.6</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-20">
<mml:math id="mml-eqn-20" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>46</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>200</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-21">
<mml:math id="mml-eqn-21" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>56</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>64</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>42</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>35.6</mml:mn><mml:mo>+</mml:mo><mml:mn>200</mml:mn><mml:mo>+</mml:mo><mml:mn>24.5</mml:mn><mml:mo>=</mml:mo><mml:mn>260.1</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-22">
<mml:math id="mml-eqn-22" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>56</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>64</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>35.6</mml:mn><mml:mo>+</mml:mo><mml:mn>200</mml:mn><mml:mo>=</mml:mo><mml:mn>235.6</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-23">
<mml:math id="mml-eqn-23" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>64</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>42</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>200</mml:mn><mml:mo>+</mml:mo><mml:mn>24.5</mml:mn><mml:mo>=</mml:mo><mml:mn>224.5</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-24">
<mml:math id="mml-eqn-24" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>64</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>200</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>And we estimated the E2E delay for real time IoVT flows generate from G6 as follows.</p>
<p><disp-formula id="eqn-25">
<mml:math id="mml-eqn-25" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>67</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>71</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>34.4</mml:mn><mml:mo>+</mml:mo><mml:mn>35.6</mml:mn><mml:mo>=</mml:mo><mml:mn>70</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-26">
<mml:math id="mml-eqn-26" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>67</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>71</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>12</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>34.4</mml:mn><mml:mo>+</mml:mo><mml:mn>35.6</mml:mn><mml:mo>+</mml:mo><mml:mn>27</mml:mn><mml:mo>=</mml:mo><mml:mn>97</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-27">
<mml:math id="mml-eqn-27" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>65</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>53</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>35.6</mml:mn><mml:mo>+</mml:mo><mml:mn>11.2</mml:mn><mml:mo>=</mml:mo><mml:mn>46.8</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-28">
<mml:math id="mml-eqn-28" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>64</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>200</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-29">
<mml:math id="mml-eqn-29" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>65</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>35.6</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>According to the proposed routing model to prevent overload on channel 4-6, we proposed to use path 4-7-3-5 for non real-time IoT flows <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">l</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">m</mml:mi><mml:mi mathvariant="italic">e</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>F</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>9</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>5.57</mml:mn><mml:mo>+</mml:mo><mml:mn>1.68</mml:mn><mml:mo>+</mml:mo><mml:mn>1.81</mml:mn><mml:mo>+</mml:mo><mml:mn>1.6</mml:mn><mml:mo>=</mml:mo><mml:mn>10.66</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>M</mml:mi><mml:mi>b</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> and to use path 4-6-5 for real-time flows <inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="italic">u</mml:mi><mml:mi mathvariant="italic">n</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">l</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">m</mml:mi><mml:mi mathvariant="italic">e</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>2.15</mml:mn><mml:mo>+</mml:mo><mml:mn>0.19</mml:mn><mml:mo>=</mml:mo><mml:mn>2.34</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>M</mml:mi><mml:mi>b</mml:mi><mml:mi>p</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> generated from host G4 to G5.</p>
<p>The histogram of link utilization was obtained when using the proposed routing model and is depicted in <?A3B2 "fig7",5,"anchor"?><xref ref-type="fig" rid="fig-7">Fig. 7</xref>.</p>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Links utilization in SDN testbed according to the proposed routing model</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18625-fig-7.png"/>
</fig>
<p>We estimated the E2E delay of IoT flows passing through overloaded link 4-6 according to the proposed routing model.</p>
<p>The E2E delay for background multi-service IoT traffic is as follows.</p>
<p><disp-formula id="eqn-30">
<mml:math id="mml-eqn-30" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>24</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>46</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>65</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>24.5</mml:mn><mml:mo>+</mml:mo><mml:mn>29.5</mml:mn><mml:mo>+</mml:mo><mml:mn>26</mml:mn><mml:mo>=</mml:mo><mml:mn>80</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-31">
<mml:math id="mml-eqn-31" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>46</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>65</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>29.5</mml:mn><mml:mo>+</mml:mo><mml:mn>26</mml:mn><mml:mo>=</mml:mo><mml:mn>55.5</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-32">
<mml:math id="mml-eqn-32" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>46</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>29.5</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-33">
<mml:math id="mml-eqn-33" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>56</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>64</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>42</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>26</mml:mn><mml:mo>+</mml:mo><mml:mn>29.5</mml:mn><mml:mo>+</mml:mo><mml:mn>24.5</mml:mn><mml:mo>=</mml:mo><mml:mn>80</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-34">
<mml:math id="mml-eqn-34" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>56</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>64</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>26</mml:mn><mml:mo>+</mml:mo><mml:mn>29.5</mml:mn><mml:mo>=</mml:mo><mml:mn>55.5</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-35">
<mml:math id="mml-eqn-35" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>64</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>42</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>29.5</mml:mn><mml:mo>+</mml:mo><mml:mn>24.5</mml:mn><mml:mo>=</mml:mo><mml:mn>54</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-36">
<mml:math id="mml-eqn-36" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>64</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>29.5</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>The E2E delay for real time IoVT flows generate from G6 is as follows.</p>
<p><disp-formula id="eqn-37">
<mml:math id="mml-eqn-37" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>67</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>71</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>34.4</mml:mn><mml:mo>+</mml:mo><mml:mn>35.6</mml:mn><mml:mo>=</mml:mo><mml:mn>70</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-38">
<mml:math id="mml-eqn-38" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>67</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>71</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>12</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>34.4</mml:mn><mml:mo>+</mml:mo><mml:mn>35.6</mml:mn><mml:mo>+</mml:mo><mml:mn>27</mml:mn><mml:mo>=</mml:mo><mml:mn>97</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-39">
<mml:math id="mml-eqn-39" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>65</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>53</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>26</mml:mn><mml:mo>+</mml:mo><mml:mn>13</mml:mn><mml:mo>=</mml:mo><mml:mn>39</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-40">
<mml:math id="mml-eqn-40" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>64</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>29.5</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-41">
<mml:math id="mml-eqn-41" display="block"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>E</mml:mi><mml:mn>2</mml:mn><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>65</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>26</mml:mn><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mo>[</mml:mo><mml:mi>m</mml:mi><mml:mi>s</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>Comparison of average E2E delay of the DMCQR model with our proposed routing model is depicted in <?A3B2 "fig8",5,"anchor"?><xref ref-type="fig" rid="fig-8">Fig. 8</xref>.</p>
<fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Comparison of average end-to-end delay of the DMCQR model with our proposed routing model</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_18625-fig-8.png"/>
</fig>
<p>In general, the above results show that the routing model proposed in this paper provides an acceptable E2E QoS guarantee for all mission-critical IoT applications, in contrast to the existing DMCQR routing model that has been developed by authors in paper [<xref ref-type="bibr" rid="ref-41">41</xref>].</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Conclusions</title>
<p>A software-defined networking paradigm, with simpler hardware and flexible management and monitoring, is the true solution to allow the Internet to converge with the IoT. SDN belongs to the programmable network domain. It separates the data and control planes using simpler hardware devices and centralized software control of the entire network. Our research focuses on guaranteeing QoS applications over an SDN network in the context of the IoT.</p>
<p>To solve this problem, we proposed the centralized routing model based on QoS parameters and IoT subscriber flow priorities for SDN. It enhances QoS for mission-critical IoT applications in large-scale SDN-IoT infrastructure. Experimental results showed that in contrast to the existing DMCQR routing scheme, the proposed model can provide QoS to both delay- and loss-sensitive IoT flows.</p>
<p>The developed centralized routing model in comparison with the known DMCQR flow routing achieved better balance of channel resources load due to rational choice of transmission paths for different traffic. And it reduces up to 3 times the average delay of real time flows from end to end, for which existing DMCQR routing model with the permissible delay rates were not met.</p>
<p>A limitation of the proposed idea is that in practice it is necessary to develop a tool according to which users can report to the controller about the required quality. Such a solution in our next work is proposed to be developed in the form of a personal user account.</p>
<p>In future work, we plan to develop QoE-routing for SDN/IoT networks, which, unlike known, to select the optimal data transmission path to use the adaptive QoE-oriented route metric. This metric is automatically calculated by the centralized SDN network controller based on a mathematical model of correlation QoS/QoE. Such improvement will allow users of IoT services to order the required quality in the form of QoE scores from 1 to 5, where higher value means better quality, and the controller analyzes QoE scores to find the best path.</p>
</sec>
</body>
<back>
<fn-group>
<fn fn-type="other">
<p><bold>Funding Statement:</bold> This research was supported by the Ukrainian project No. 0120U102201 &#x201C;Development the methods and unified software-hardware means for the deployment of the energy efficient intent-based multi-purpose information and communication networks&#x201D; and Comenius University in Bratislava, Faculty of Management.</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><given-names>J.</given-names> <surname>Gubbi</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Buyya</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Marusic</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Palaniswami</surname></string-name></person-group>, &#x201C;<article-title>Internet of things (IoT): A vision, architectural elements, and future directions</article-title>,&#x201D; <source>Future Generation Computer Systems</source>, vol. <volume>29</volume>, no. <issue>7</issue>, pp. <fpage>1645</fpage>&#x2013;<lpage>1660</lpage>, <year>2013</year>.</mixed-citation></ref>
<ref id="ref-2"><label>2</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Lin</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Yu</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Zhang</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>A Survey on internet of things: Architecture, enabling technologies, security and privacy, and applications</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>4</volume>, no. <issue>5</issue>, pp. <fpage>1125</fpage>&#x2013;<lpage>1142</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-3"><label>3</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Zanella</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Bui</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Castellani</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Vangelista</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Zorzi</surname></string-name></person-group>, &#x201C;<article-title>Internet of things for smart cities</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>1</volume>, no. <issue>1</issue>, pp. <fpage>22</fpage>&#x2013;<lpage>32</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-4"><label>4</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>I.</given-names> <surname>Lee</surname></string-name> and <string-name><given-names>K.</given-names> <surname>Lee</surname></string-name></person-group>, &#x201C;<article-title>The internet of things (IoT): Applications, investments, and challenges for enterprises</article-title>,&#x201D; <source>Business Horizons</source>, vol. <volume>58</volume>, no. <issue>4</issue>, pp. <fpage>43</fpage>&#x2013;<lpage>440</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-5"><label>5</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Al-Fuqaha</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Guizani</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Mohammadi</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Aledhari</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Ayyash</surname></string-name></person-group>, &#x201C;<article-title>Internet of things: A Survey on Enabling technologies, protocols, and applications</article-title>,&#x201D; <source>IEEE Communications Surveys &#x0026; Tutorials</source>, vol. <volume>17</volume>, no. <issue>4</issue>, pp. <fpage>2347</fpage>&#x2013;<lpage>2376</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-6"><label>6</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Xu</surname></string-name> and <string-name><given-names>G.</given-names> <surname>Mcardle</surname></string-name></person-group>, &#x201C;<article-title>Internet of too many things in smart transport: The problem, the side effects and the solution</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>6</volume>, pp. <fpage>62840</fpage>&#x2013;<lpage>62848</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-7"><label>7</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>E.</given-names> <surname>Ahmad</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Alaslani</surname></string-name>, <string-name><given-names>F. R.</given-names> <surname>Dogar</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Shihada</surname></string-name></person-group>, &#x201C;<article-title>Location-aware, context-driven QoS for IoT applications</article-title>,&#x201D; <source>IEEE Systems Journal</source>, vol. <volume>14</volume>, no. <issue>1</issue>, pp. <fpage>232</fpage>&#x2013;<lpage>243</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-8"><label>8</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Klymash</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Beshley</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Stryhaluk</surname></string-name></person-group>, &#x201C;<article-title>System for increasing quality of service of multimedia data in convergent networks</article-title>,&#x201D; in <conf-name>Proc. PIC S &#x0026; T</conf-name>, <publisher-loc>Kharkov, Ukraine</publisher-loc>, pp. <fpage>63</fpage>&#x2013;<lpage>66</lpage>, <year>2014</year>. </mixed-citation></ref>
<ref id="ref-9"><label>9</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B. K. J.</given-names> <surname>Al-Shammari</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Al-Aboody</surname></string-name> and <string-name><given-names>H. S.</given-names> <surname>Al-Raweshidy</surname></string-name></person-group>, &#x201C;<article-title>IoT traffic management and integration in the QoS supported network</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>5</volume>, no. <issue>1</issue>, pp. <fpage>352</fpage>&#x2013;<lpage>370</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-10"><label>10</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Mukherjee</surname></string-name> and <string-name><given-names>G. P.</given-names> <surname>Biswas</surname></string-name></person-group>, &#x201C;<article-title>Networking for IoT and applications using existing communication technology</article-title>,&#x201D; <source>Egyptian Informatics Journal</source>, vol. <volume>19</volume>, no. <issue>2</issue>, pp. <fpage>107</fpage>&#x2013;<lpage>127</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-11"><label>11</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B.</given-names> <surname>Mohammed</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Naouel</surname></string-name></person-group>, &#x201C;<article-title>An efficient greedy traffic aware routing scheme for internet of vehicles</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>60</volume>, no. <issue>3</issue>, pp. <fpage>959</fpage>&#x2013;<lpage>972</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-12"><label>12</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Tanganelli</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Vallati</surname></string-name> and <string-name><given-names>E.</given-names> <surname>Mingozzi</surname></string-name></person-group>, &#x201C;<article-title>Ensuring quality of service in the internet of things</article-title>,&#x201D; <source>New Adv. Internet Things. Springer Cham</source>, vol. <volume>715</volume>, pp. <fpage>139</fpage>&#x2013;<lpage>163</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-13"><label>13</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Schulz</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Matthe</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Klessig</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Simsek</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Fettweis</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Latency critical IoT applications in 5G: Perspective on the design of radio interface and network architecture</article-title>,&#x201D; <source>IEEE Communications Magazine</source>, vol. <volume>55</volume>, no. <issue>2</issue>, pp. <fpage>70</fpage>&#x2013;<lpage>78</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-14"><label>14</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>I.</given-names> <surname>Gravalos</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Makris</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Christodoulopoulos</surname></string-name> and <string-name><given-names>E. A.</given-names> <surname>Varvarigos</surname></string-name></person-group>, &#x201C;<article-title>Efficient network planning for internet of things with QoS constraints</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>5</volume>, no. <issue>5</issue>, pp. <fpage>3823</fpage>&#x2013;<lpage>3836</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-15"><label>15</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Beshley</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Kryvinska</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Seliuchenko</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Beshley</surname></string-name>, <string-name><given-names>E. M.</given-names> <surname>Shakshuki</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>End-to-end QoS &#x201C;smart queue&#x201D; management algorithms and traffic prioritization mechanisms for narrow-band internet of things services in 4G/5G networks</article-title>,&#x201D; <source>Sensors</source>, vol. <volume>20</volume>, no. <issue>8</issue>, pp. <fpage>2324</fpage>&#x2013;<lpage>2354</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-16"><label>16</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>R. H.</given-names> <surname>Jhaveri</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Tan</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Easwaran</surname></string-name> and <string-name><given-names>S. V.</given-names> <surname>Ramani</surname></string-name></person-group>, &#x201C;<article-title>Managing industrial communication delays with software-defined networking</article-title>,&#x201D; in <conf-name>Proc. RTCSA</conf-name>, <publisher-loc>Hangzhou, China</publisher-loc>, pp. <fpage>1</fpage>&#x2013;<lpage>11</lpage>, <year>2019</year>. </mixed-citation></ref>
<ref id="ref-17"><label>17</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P. K. R.</given-names> <surname>Maddikunta</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Srivastava</surname></string-name>, <string-name><given-names>T. R.</given-names> <surname>Gadekallu</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Deepa</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Boopathy</surname></string-name></person-group>, &#x201C;<article-title>Predictive model for battery life in IoT networks</article-title>,&#x201D; <source>IET Intelligent Transport Systems</source>, vol. <volume>14</volume>, no. <issue>11</issue>, pp. <fpage>1388</fpage>&#x2013;<lpage>1395</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-18"><label>18</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M. J.</given-names> <surname>Piran</surname></string-name>, <string-name><given-names>N. H.</given-names> <surname>Tran</surname></string-name>, <string-name><given-names>D. Y.</given-names> <surname>Suh</surname></string-name>, <string-name><given-names>J. B.</given-names> <surname>Song</surname></string-name>, <string-name><given-names>C. S.</given-names> <surname>Hong</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>QoE-driven channel allocation and handoff management for seamless multimedia in cognitive 5G cellular networks</article-title>,&#x201D; <source>IEEE Transactions on Vehicular Technology</source>, vol. <volume>66</volume>, no. <issue>7</issue>, pp. <fpage>6569</fpage>&#x2013;<lpage>6585</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-19"><label>19</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S. R. K.</given-names> <surname>Somayaji</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Alazab</surname></string-name>, <string-name><given-names>MK.</given-names> <surname>M.</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Bucchiarone</surname></string-name>, <string-name><given-names>C. L.</given-names> <surname>Chowdhary</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>A Framework for prediction and storage of battery life in iot devices using DNN and blockchain</article-title>,&#x201D; in <conf-name>Proc. GC Wkshps (Virtual)</conf-name>, pp. <fpage>1</fpage>&#x2013;<lpage>6</lpage>, <year>2020</year>. <uri>https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&#x003D;&#x0026;arnumber&#x003D;9367520</uri>.</mixed-citation></ref>
<ref id="ref-20"><label>20</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Fathy</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Barnaghi</surname></string-name></person-group>, &#x201C;<article-title>Quality-based and energy-efficient data communication for the internet of things networks</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>6</volume>, no. <issue>6</issue>, pp. <fpage>10318</fpage>&#x2013;<lpage>10331</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-21"><label>21</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Tahaei</surname></string-name>, <string-name><given-names>R. B.</given-names> <surname>Salleh</surname></string-name>, <string-name><given-names>M. F. Ab</given-names> <surname>Razak</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Ko</surname></string-name> and <string-name><given-names>N. B.</given-names> <surname>Anuar</surname></string-name></person-group>, &#x201C;<article-title>Cost effective network flow measurement for software defined networks: A distributed controller scenario</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>6</volume>, pp. <fpage>5182</fpage>&#x2013;<lpage>5198</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-22"><label>22</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Kreutz</surname></string-name>, <string-name><given-names>F. M. V.</given-names> <surname>Ramos</surname></string-name>, <string-name><given-names>P. E.</given-names> <surname>Ver&#x00ED;ssimo</surname></string-name>, <string-name><given-names>C. E.</given-names> <surname>Rothenberg</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Azodolmolky</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Software-defined networking: A comprehensive survey</article-title>,&#x201D; <source>Proceedings of the IEEE</source>, vol. <volume>103</volume>, no. <issue>1</issue>, pp. <fpage>14</fpage>&#x2013;<lpage>76</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-23"><label>23</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Seliuchenko</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Kyryk</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Beshley</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Zhovtonoh</surname></string-name></person-group>, &#x201C;<article-title>Automated recovery of server applications for SDN-based internet of things</article-title>,&#x201D; in <conf-name>Proc. AICT</conf-name>, <publisher-loc>Lviv, Ukraine</publisher-loc>, pp. <fpage>25</fpage>&#x2013;<lpage>29</lpage>, <year>2019</year>. </mixed-citation></ref>
<ref id="ref-24"><label>24</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Andreas</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Reisslein</surname></string-name> and <string-name><given-names>W.</given-names> <surname>Kellerer</surname></string-name></person-group>, &#x201C;<article-title>Survey on network vrtualization hypervisors for software defined networking</article-title>,&#x201D; <source>IEEE Communications Surveys &#x0026; Tutorials</source>, vol. <volume>18</volume>, no. <issue>1</issue>, pp. <fpage>655</fpage>&#x2013;<lpage>685</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-25"><label>25</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Beshley</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Pryslupskyi</surname></string-name>, <string-name><given-names>O.</given-names> <surname>Panchenko</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Beshley</surname></string-name></person-group>, &#x201C;<article-title>SDN/Cloud solutions for intent-based networking</article-title>,&#x201D; in <conf-name>Proc. AICT</conf-name>, <publisher-loc>Lviv, Ukraine</publisher-loc>, pp. <fpage>95</fpage>&#x2013;<lpage>98</lpage>, <year>2019</year>. </mixed-citation></ref>
<ref id="ref-26"><label>26</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Beshley</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Seliuchenko</surname></string-name>, <string-name><given-names>O.</given-names> <surname>Panchenko</surname></string-name>, <string-name><given-names>O.</given-names> <surname>Zyuzko</surname></string-name> and <string-name><given-names>I.</given-names> <surname>Kahalo</surname></string-name></person-group>, &#x201C;<article-title>Experimental performance analysis of software-defined network switch and controller</article-title>,&#x201D; in <conf-name>Proc. TCSET</conf-name>, <publisher-loc>Lviv-Slavske, Ukraine</publisher-loc>, pp. <fpage>282</fpage>&#x2013;<lpage>286</lpage>, <year>2018</year>. </mixed-citation></ref>
<ref id="ref-27"><label>27</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Huang</surname></string-name>, <string-name><given-names>F. R.</given-names> <surname>Yu</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Zhang</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>A survey on large-scale software defined networking (SDN) testbeds: Approaches and challenges</article-title>,&#x201D; <source>IEEE Communications Surveys &#x0026; Tutorials</source>, vol. <volume>19</volume>, no. <issue>2</issue>, pp. <fpage>891</fpage>&#x2013;<lpage>917</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-28"><label>28</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Xia</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Wen</surname></string-name>, <string-name><given-names>C. H.</given-names> <surname>Foh</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Niyato</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Xie</surname></string-name></person-group>, &#x201C;<article-title>A survey on software-defined networking</article-title>,&#x201D; <source>IEEE Communications Surveys &#x0026; Tutorials</source>, vol. <volume>17</volume>, no. <issue>1</issue>, pp. <fpage>27</fpage>&#x2013;<lpage>51</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-29"><label>29</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Bera</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Misra</surname></string-name> and <string-name><given-names>V.</given-names> <surname>Vasilakos</surname></string-name></person-group>, &#x201C;<article-title>Software-defined networking for internet of things: A survey</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>4</volume>, no. <issue>6</issue>, pp. <fpage>1994</fpage>&#x2013;<lpage>2008</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-30"><label>30</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Shahzadi</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Ahmad</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Basharat</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Alruwaili</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Alanazi</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Machine learning empowered security management and quality of service provision in SDN-NFV environment</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>66</volume>, no. <issue>3</issue>, pp. <fpage>2723</fpage>&#x2013;<lpage>2749</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-31"><label>31</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J. W.</given-names> <surname>Guck</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Reisslein</surname></string-name> and <string-name><given-names>W.</given-names> <surname>Kellerer</surname></string-name></person-group>, &#x201C;<article-title>Function split between delay-constrained routing and resource allocation for centrally managed QoS in industrial networks</article-title>,&#x201D; <source>IEEE Transactions on Industrial Informatics</source>, vol. <volume>12</volume>, no. <issue>6</issue>, pp. <fpage>2050</fpage>&#x2013;<lpage>2061</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-32"><label>32</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Hu</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Lin</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Zhang</surname></string-name></person-group>, &#x201C;<article-title>Performance evaluation and optimization of hierarchical routing in SDN control plane</article-title>,&#x201D; <source>Chinese Journal of Electronics</source>, vol. <volume>27</volume>, no. <issue>2</issue>, pp. <fpage>342</fpage>&#x2013;<lpage>350</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-33"><label>33</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Shi</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Xie</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Zhang</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>An openflow-based load balancing strategy in SDN</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>62</volume>, no. <issue>1</issue>, pp. <fpage>385</fpage>&#x2013;<lpage>398</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-34"><label>34</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Gopi</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Cheng</surname></string-name> and <string-name><given-names>R.</given-names> <surname>Huck</surname></string-name></person-group>, &#x201C;<article-title>Comparative analysis of SDN and conventional networks using routing protocols</article-title>,&#x201D; in <conf-name>Proc. CITS</conf-name>, <publisher-loc>Dalian, China</publisher-loc>, pp. <fpage>108</fpage>&#x2013;<lpage>112</lpage>, <year>2017</year>. </mixed-citation></ref>
<ref id="ref-35"><label>35</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Geng</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Zhang</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name></person-group>, &#x201C;<article-title>Efficient routing protection algorithm in large-scale networks</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>66</volume>, no. <issue>2</issue>, pp. <fpage>1733</fpage>&#x2013;<lpage>1744</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-36"><label>36</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Babbar</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Rani</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Masud</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Verma</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Anand</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Load balancing algorithm for migrating switches in software-defined vehicular networks</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>67</volume>, no. <issue>1</issue>, pp. <fpage>1301</fpage>&#x2013;<lpage>1316</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-37"><label>37</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>O.</given-names> <surname>Panchenko</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Polishuk</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Seliuchenko</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Beshley</surname></string-name></person-group>, &#x201C;<article-title>Method for adaptive client-oriented management of quality of service in integrated SDN/Cloud networks</article-title>,&#x201D; in <conf-name>Proc. PIC S&#x0026;T</conf-name>, <publisher-loc>Kharkov, Ukraine</publisher-loc>, pp. <fpage>452</fpage>&#x2013;<lpage>455</lpage>, <year>2017</year>. </mixed-citation></ref>
<ref id="ref-38"><label>38</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Beshley</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Seliuchenko</surname></string-name>, <string-name><given-names>O.</given-names> <surname>Panchenko</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Polishuk</surname></string-name></person-group>, &#x201C;<article-title>Adaptive flow routing model in SDN</article-title>,&#x201D; in <conf-name>Proc. CADSM</conf-name>, <publisher-loc>Lviv, Ukraine</publisher-loc>, pp. <fpage>298</fpage>&#x2013;<lpage>302</lpage>, <year>2017</year>. </mixed-citation></ref>
<ref id="ref-39"><label>39</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Saha</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Bera</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Misra</surname></string-name></person-group>, &#x201C;<article-title>Sway: Traffic-aware QoS routing in software-defined IoT</article-title>,&#x201D; <source>IEEE Transactions on Emerging Topics in Computing</source>, vol. <volume>9</volume>, no. <issue>1</issue>, pp. <fpage>390</fpage>&#x2013;<lpage>401</lpage>, <year>2018</year>. <uri xlink:href="https://doi.org/10.1109/TETC.2018.2847296">https://doi.org/10.1109/TETC.2018.2847296</uri>.</mixed-citation></ref>
<ref id="ref-40"><label>40</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Deng</surname></string-name> and <string-name><given-names>K.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>An application-aware QoS routing algorithm for SDN-based IoT networking</article-title>,&#x201D; in <conf-name>2018 IEEE Symp. on Computers and Communications</conf-name>, <publisher-loc>Natal</publisher-loc>, pp. <fpage>186</fpage>&#x2013;<lpage>191</lpage>, <year>2018</year>. </mixed-citation></ref>
<ref id="ref-41"><label>41</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Qin</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Denker</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Giannelli</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Bellavista</surname></string-name></person-group>, &#x201C;<article-title>A Software defined networking architecture for the internet-of-things</article-title>,&#x201D; in <conf-name>Proc. NOMS</conf-name>, <publisher-loc>Krakow, Poland</publisher-loc>, pp. <fpage>1</fpage>&#x2013;<lpage>9</lpage>, <year>2014</year>. </mixed-citation></ref>
<ref id="ref-42"><label>42</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>J. W.</given-names> <surname>Guck</surname></string-name> and <string-name><given-names>W.</given-names> <surname>Kellerer</surname></string-name></person-group>, &#x201C;<article-title>Achieving end-to-end real-time quality of service with software defined networking</article-title>,&#x201D; in <conf-name>Proc. CloudNet</conf-name>, <publisher-loc>Luxembourg</publisher-loc>, pp. <fpage>70</fpage>&#x2013;<lpage>76</lpage>, <year>2014</year>. </mixed-citation></ref>
<ref id="ref-43"><label>43</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Iqbal</surname></string-name>, <string-name><given-names>U.</given-names> <surname>Javed</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Saleh</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Kim</surname></string-name>, <string-name><given-names>J. S.</given-names> <surname>Alowibdi</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Analytical modeling of end-to-end delay in openflow based networks</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>5</volume>, pp. <fpage>6859</fpage>&#x2013;<lpage>6871</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-44"><label>44</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Guo</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Lin</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Li</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Peng</surname></string-name></person-group>, &#x201C;<article-title>Deep reinforcement learning based QoS-aware secure routing for SDN-IoT</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>7</volume>, no. <issue>7</issue>, pp. <fpage>6242</fpage>&#x2013;<lpage>6251</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-45"><label>45</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Zhu</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Sun</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Lu</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Wei</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Centralized QoS routing using network calculus for SDN-based streaming media networks</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>7</volume>, pp. <fpage>146566</fpage>&#x2013;<lpage>146576</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-46"><label>46</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Fu</surname></string-name> and <string-name><given-names>F.</given-names> <surname>Wu</surname></string-name></person-group>, &#x201C;<article-title>Investigation of multipath routing algorithms in software defined networking</article-title>,&#x201D; in <conf-name>Proc. ICGI</conf-name>, <publisher-loc>Fuzhou, China</publisher-loc>, pp. <fpage>269</fpage>&#x2013;<lpage>273</lpage>, <year>2017</year>. </mixed-citation></ref>
<ref id="ref-47"><label>47</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>F.</given-names> <surname>Tang</surname></string-name>, <string-name><given-names>Z. M.</given-names> <surname>Fadlullah</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Mao</surname></string-name> and <string-name><given-names>N.</given-names> <surname>Kato</surname></string-name></person-group>, &#x201C;<article-title>An Intelligent traffic load prediction-based adaptive channel assignment algorithm in SDN-IoT: A Deep Learning Approach</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>5</volume>, no. <issue>6</issue>, pp. <fpage>5141</fpage>&#x2013;<lpage>5154</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-48"><label>48</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Porambage</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Okwuibe</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Liyanage</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Ylianttila</surname></string-name> and <string-name><given-names>T.</given-names> <surname>Taleb</surname></string-name></person-group>, &#x201C;<article-title>Survey on multi-access edge computing for internet of things realization</article-title>,&#x201D; <source>IEEE Communications Surveys &#x0026; Tutorials</source>, vol. <volume>20</volume>, no. <issue>4</issue>, pp. <fpage>2961</fpage>&#x2013;<lpage>2991</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-49"><label>49</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Klymash</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Beshley</surname></string-name> and <string-name><given-names>V.</given-names> <surname>Koval</surname></string-name></person-group>, &#x201C;<article-title>The model of prioritization of services for efficient usage of multiservice network resources</article-title>,&#x201D; in <conf-name>Proc. TSCET</conf-name>, <publisher-loc>Lviv-Slavske, Ukraine</publisher-loc>, pp. <fpage>320</fpage>&#x2013;<lpage>321</lpage>, <year>2012</year>. </mixed-citation></ref>
<ref id="ref-50"><label>50</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Pehlivan</surname></string-name></person-group>, &#x201C;<article-title>Designing and interpreting a mathematical programming language</article-title>,&#x201D; <source>Sakarya &#x00DC;niversitesi Fen Bilimleri Enstit&#x00FC;s&#x00FC; Dergisi</source>, vol. <volume>23</volume>, no. <issue>6</issue>, pp. <fpage>1027</fpage>&#x2013;<lpage>1041</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-51"><label>51</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Jun</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Przystupa</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Beshley</surname></string-name>, <string-name><given-names>O.</given-names> <surname>Kochan</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Beshley</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>A cost-efficient software based router and traffic generator for simulation and testing of IP network</article-title>,&#x201D; <source>Electronics</source>, vol. <volume>9</volume>, no. <issue>1</issue>, pp. <fpage>40</fpage>&#x2013;<lpage>64</lpage>, <year>2020</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>