<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Phys.</journal-id>
<journal-title>Frontiers in Physics</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Phys.</abbrev-journal-title>
<issn pub-type="epub">2296-424X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fphy.2020.00358</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Physics</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Optimizing Energy Consumption for Cloud Internet of Things</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Ahmed</surname> <given-names>Zeinab E.</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/949600/overview"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Hasan</surname> <given-names>Mohammad Kamrul</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/949254/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Saeed</surname> <given-names>Rashid A.</given-names></name>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
<xref ref-type="aff" rid="aff4"><sup>4</sup></xref>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Hassan</surname> <given-names>Rosilah</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<xref ref-type="corresp" rid="c002"><sup>&#x0002A;</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Islam</surname> <given-names>Shayla</given-names></name>
<xref ref-type="aff" rid="aff5"><sup>5</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/1094041/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Mokhtar</surname> <given-names>Rania A.</given-names></name>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
<xref ref-type="aff" rid="aff4"><sup>4</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Khan</surname> <given-names>Sheroz</given-names></name>
<xref ref-type="aff" rid="aff6"><sup>6</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/1044076/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Akhtaruzzaman</surname> <given-names>Md</given-names></name>
<xref ref-type="aff" rid="aff7"><sup>7</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/1044284/overview"/>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>Department of Computer Engineering, University of Gezira</institution>, <addr-line>Wad Madani</addr-line>, <country>Sudan</country></aff>
<aff id="aff2"><sup>2</sup><institution>Network and Communication Technology Lab, Center for Cyber Security, Faculty of Information Science and Technology, Universiti Kebangsaan Malaysia (UKM)</institution>, <addr-line>Bangi</addr-line>, <country>Malaysia</country></aff>
<aff id="aff3"><sup>3</sup><institution>Department of Computer Science, Taif University</institution>, <addr-line>Ta&#x00027;if</addr-line>, <country>Saudi Arabia</country></aff>
<aff id="aff4"><sup>4</sup><institution>Department of Electronics Engineering, Sudan University of Science and Technology</institution>, <addr-line>Khartoum</addr-line>, <country>Sudan</country></aff>
<aff id="aff5"><sup>5</sup><institution>Institute of Computer Science and Digital Innovation, UCSI University Malaysia</institution>, <addr-line>Kuala Lumpur</addr-line>, <country>Malaysia</country></aff>
<aff id="aff6"><sup>6</sup><institution>Department of Electrical Engineering, Onaizah College of Engineering &#x00026; Information Technology</institution>, <addr-line>Unayzah</addr-line>, <country>Saudi Arabia</country></aff>
<aff id="aff7"><sup>7</sup><institution>MIJST, Military Institute of Science and Technology</institution>, <addr-line>Dhaka</addr-line>, <country>Bangladesh</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Ashish Khanna, Maharaja Agrasen Institute of Technology, India</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Ignazio Licata, Institute for Scientific Methodology (ISEM), Italy; Aditya Khamparia, Lovely Professional University, India</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Mohammad Kamrul Hasan <email>mkhasan&#x00040;ukm.edu.my</email></corresp>
<corresp id="c002">Rosilah Hassan <email>rosilah&#x00040;ukm.edu.my</email></corresp>
<fn fn-type="other" id="fn001"><p>This article was submitted to Interdisciplinary Physics, a section of the journal Frontiers in Physics</p></fn></author-notes>
<pub-date pub-type="epub">
<day>23</day>
<month>10</month>
<year>2020</year>
</pub-date>
<pub-date pub-type="collection">
<year>2020</year>
</pub-date>
<volume>8</volume>
<elocation-id>358</elocation-id>
<history>
<date date-type="received">
<day>08</day>
<month>04</month>
<year>2020</year>
</date>
<date date-type="accepted">
<day>27</day>
<month>07</month>
<year>2020</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2020 Ahmed, Hasan, Saeed, Hassan, Islam, Mokhtar, Khan and Akhtaruzzaman.</copyright-statement>
<copyright-year>2020</copyright-year>
<copyright-holder>Ahmed, Hasan, Saeed, Hassan, Islam, Mokhtar, Khan and Akhtaruzzaman</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license>
</permissions>
<abstract><p>The Internet of Things (IoT) and Cloud Computing are considered to be two of the greatest technology revolutions in the last few years. New technology raised in recent years is known as Cloud IoT or the Cloud of Things (CoT), which integrates cloud computing and the Internet of things. Dynamic and heterogeneous environments, energy efficiency, and delay-sensitivity are the major issues with the CoT. Energy efficiency is one of the basic requirements of IoT applications and resources in the cloud, which is a challenging issue in the CoT. This paper proposes the optimization of energy schemes for the CoT by applying a Genetic Algorithm (GA). Extensive numerical simulation is carried out to verify the effectiveness of the proposed method compared to the ETCORA algorithm. The analytical results present better performances of the proposed optimizing energy consumption technique. Results also show that the proposed method indeed outperforms the ETCORA in reducing the energy consumption of task requests.</p></abstract>
<kwd-group>
<kwd>energy consumption</kwd>
<kwd>genetic algorithm (GA)</kwd>
<kwd>cloud internet of things</kwd>
<kwd>CloudIoT</kwd>
<kwd>fog computing</kwd>
</kwd-group>
<contract-sponsor id="cn001">Universiti Kebangsaan Malaysia<named-content content-type="fundref-id">10.13039/501100004515</named-content></contract-sponsor>
<contract-sponsor id="cn002">Qassim University<named-content content-type="fundref-id">10.13039/501100007414</named-content></contract-sponsor>
<counts>
<fig-count count="9"/>
<table-count count="5"/>
<equation-count count="20"/>
<ref-count count="26"/>
<page-count count="10"/>
<word-count count="4998"/>
</counts>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>Introduction</title>
<p>With the rapid advancement of network technologies and the world&#x00027;s movement toward a global society, modern networks like cloud computing, fog computing, and the IoT have become very popular. As a result, new types of potential problems are introduced. One of the key challenges is to effectively utilize energy at different levels, e.g., data centers hosting cloud applications [<xref ref-type="bibr" rid="B1">1</xref>]. Energy utilization imposes a new level of complexity to new generations of networks. Energy utilization means the ability to minimize energy consumption, such that the quantity of energy consumed is at an adequate level. Significant research has been devoted to providing solutions to this vital problem. The majority of the studies, however, attempted to solve the problem in terms of optimized scheduling of the resources involved in communication networks so that energy is utilized optimally.</p>
<p>Methods that make use of IoT have sustainably proved to be effective as the former is able to provide high performance across heterogeneous systems. However, the difficulties posed in IoT like the one security, privacy, and reliability are always expended. On the other hand, Cloud Computing has unlimited capabilities in terms of storage, processing power, and reliability [<xref ref-type="bibr" rid="B2">2</xref>]. In the context that it was developed, it involves several computing ideas ranging from services to the underlying structure of networks. Recently, the research combines the advantages of both IoT and cloud computing which is called Cloud IoT, while attempting to minimize their drawbacks [<xref ref-type="bibr" rid="B3">3</xref>]. Claudio is flexible enough to support different types of services and data among heterogeneous networks [<xref ref-type="bibr" rid="B4">4</xref>] and it has gained increasing popularity in recent years. This advanced technology imposes new critical problems. Examples include, but are not limited to, protocol support, energy efficiency, resource allocation, and location of data storage.</p>
<p>In <xref ref-type="fig" rid="F1">Figure 1</xref>, estimating minimum energy consumption in Cloud IoT is a relatively complex problem and many often attempt to solve the dilemma through optimization techniques. From that perspective, the problem is defined as an objective function and its feasible and optimal solution is tried to be determined. The application of GA is one of the proposed solutions for handling energy consumption and optimization problems [<xref ref-type="bibr" rid="B5">5</xref>, <xref ref-type="bibr" rid="B6">6</xref>]. The underlying assumption behind GA is to combine exceptional characteristics from different ancestors which would likely generate better and optimized offspring, which in turn could have an improved fitness compared to the original ancestors [<xref ref-type="bibr" rid="B7">7</xref>]. Therefore, if the technique is iteratively implemented, offspring would be more optimized, thus resulting in higher sustainability in the environment in which they are operating.</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>The Fog-enabled Cloud IoT model.</p></caption>
<graphic xlink:href="fphy-08-00358-g0001.tif"/>
</fig>
<p>In this paper, a new method for energy efficiency in the Cloud IoT is proposed. The method is built on the top of GA. The proposed method computes execution time and energy consumption to reduce the energy consumption of application requests.</p>
<p>The rest of the sections are organized as follows: section Related works presents related works for energy consumption for Cloud IoT; section Proposed Method discusses the proposed method, algorithms, and methodology of the evaluated scenarios; section Simulation Results and Discussions illustrates the simulation results; finally, the manuscript is concluded with recommendations in section Conclusion.</p></sec>
<sec id="s2">
<title>Related Works</title>
<p>Several studies have been conducted to find solutions to the effective utilization of energy in CloudIoT. Though significant developments are achieved, techniques are very diverse and the problems are still very challenging which always presents a hot issue for the research community.</p>
<p>Inspired by the fact that Cloud IoT is not the optimal solution to those cases that are sensitive to energy consumption and delay, Mahmoud et al. [<xref ref-type="bibr" rid="B8">8</xref>] proposed a new fog-enabled Cloud IoT model. The entire idea is based on the energy allocation technique for populating tasks into a fog device. The reported results showed that energy efficiency has been increased by 8.27% compared to the default Cloud IoT. Additionally, the technique succeeded in reducing the energy consumed by the cloud to 2.72%, whereas it has been reduced by 1.61% using Cloud IoT. In another recent research [<xref ref-type="bibr" rid="B9">9</xref>], the authors develop a new algorithm called (E2C2), the proposed algorithm creates an energy-aware structure plan that searches and integrates the least possible number of IoT services, in order to fulfill user requirements.</p>
<p>Natesha and Guddeti [<xref ref-type="bibr" rid="B10">10</xref>] proposed proposed an approach for energy-efficient computation offloading and dynamic resource scheduling (eoDS) to solve the energy consumption problem in IoT-fog-cloud system. Sun et al. [<xref ref-type="bibr" rid="B11">11</xref>] proposed an energy and time-efficient computation offloading and resource allocation (ETCORA) algorithm on the general IoT-fog-cloud architecture. The CitiSim Smart Energy monitoring and simulation platform was also introduced in [<xref ref-type="bibr" rid="B11">11</xref>] which aims to optimize resource consumption and reduce costs in energy efficiency measures.</p>
<p>Mishra et al. [<xref ref-type="bibr" rid="B12">12</xref>] presented four scenarios: standby routes selection scheme (SBRS), the desired reliability level scheme (DRLS), a reliability-based sub-channel scheme (RBS), and a reliability-based data compression scheme (RBDS) to minimize total traffic power of the cloud-based IoT network through MILP optimization model.</p>
<p>A multi-objective particle swarm optimization (MOPSO) mechanism for cloud brokering for optimum energy consumption was proposed by Huang et al. [<xref ref-type="bibr" rid="B13">13</xref>] to enhance the return of investment (ROI) for cloud brokers and reduce time response of client requests. In 2018, Moghaddam and Leon-Garcia [<xref ref-type="bibr" rid="B14">14</xref>] had derived a heuristic algorithm to solve the problem of the cloud base architecture QoS [<xref ref-type="bibr" rid="B15">15</xref>, <xref ref-type="bibr" rid="B16">16</xref>] for IoT services selection.</p>
<p>Optimization technique is an approach to find the best solution for complex problems by minimizing or maximizing one or functions that are more objective stand on one or more decision variables that give a value of the objective function [<xref ref-type="bibr" rid="B17">17</xref>]. Combinatorial Optimization, Non-linear Programming, and linear Programming are designed to solve a wide range of optimization problems [<xref ref-type="bibr" rid="B18">18</xref>&#x02013;<xref ref-type="bibr" rid="B20">20</xref>]. Optimization techniques are classified as exact methods and approximation methods (heuristics and meta-heuristics methods). Classification of optimization techniques are shown in <xref ref-type="fig" rid="F2">Figure 2</xref>.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>Classification of optimization techniques.</p></caption>
<graphic xlink:href="fphy-08-00358-g0002.tif"/>
</fig>
<p>Therefore, the main contribution of this paper is to propose a viable solution introducing the enhanced battery lifetime for IoT nodes, reducing energy consumption, and improvise the QoS requirement for real-time applications in Could IoT.</p></sec>
<sec id="s3">
<title>Proposed Method</title>
<p>As it was illustrated, energy efficiency is critical to both cloud and IoT applications. However, when it comes to Cloud IoT, the problem is even more challenging as new dimensions are introduced (i.e., Energy efficiency, resource allocation, etc.) [<xref ref-type="bibr" rid="B11">11</xref>&#x02013;<xref ref-type="bibr" rid="B16">16</xref>, <xref ref-type="bibr" rid="B19">19</xref>&#x02013;<xref ref-type="bibr" rid="B26">26</xref>]. To achieve the goal of energy-saving, which is the most important factor, the proposed approach (shown in <xref ref-type="fig" rid="F3">Figure 3</xref>) attempts to handle the problem by optimizing the selection and placement of behavior of task execution time using a genetic algorithm.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>Proposed optimizing energy consumption for Cloud IoT model.</p></caption>
<graphic xlink:href="fphy-08-00358-g0003.tif"/>
</fig>
<p>The assumption that is made first is that the process of executing a relatively large number of tasks with different sizes often results in consuming a massive quantity of energy. Therefore, the idea is to divide each application into multiple independent tasks and then map the execution of all divided tasks to the Cloud IoT. The execution of each task is either performed on IoT or on cloud computing. However, the decision of executing any architecture depends on comparing the execution time of the corresponding task into IoT to its transmission time, which is equal to the time required to send from IoT to cloud plus the time needed for transmission in the opposite direction. By following this strategy, the execution time for all tasks for IoT and cloud is computed, and the same arguments are applied for execution time in cloud IoT. Then, the energy consumption into both IoT and cloud is computed, hence, the energy consumption into cloud IoT is estimated based on the estimated consumption on the teaching part individually. The mechanism can be defined mathematically. The symbols that are used are highlighted in <xref ref-type="table" rid="T1">Table 1</xref>.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>List of symbols that are used.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>Symbols</bold></th>
<th valign="top" align="left"><bold>Definition</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left"><italic>ET</italic><sub><italic>CIoT</italic></sub></td>
<td valign="top" align="left">Energy consumption in the CloudIoT</td>
</tr>
<tr>
<td valign="top" align="left"><italic>A</italic><sub><italic>i</italic></sub></td>
<td valign="top" align="left">Set of applications</td>
</tr>
<tr>
<td valign="top" align="left"><italic>AT</italic><sub><italic>ij</italic></sub></td>
<td valign="top" align="left">Total number of the tasks in the set <italic>A</italic><sub><italic>i</italic></sub></td>
</tr>
<tr>
<td valign="top" align="left"><italic>ET</italic><sub>(<italic>A</italic><sub><italic>T</italic></sub><sub><italic>ij</italic></sub>)<italic>IoT</italic></sub></td>
<td valign="top" align="left">Execution time of task (<italic>AT</italic><sub><italic>ij</italic></sub>) in IoT</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Thus, the optimization problem to be solved is minimized to the <inline-formula><mml:math id="M50"><mml:mrow><mml:mstyle displaystyle='true'><mml:msubsup><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>T</mml:mi></mml:mstyle><mml:mo>=</mml:mo><mml:mo>&#x000A0;</mml:mo><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mn>1</mml:mn></mml:mstyle></mml:mrow><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>j</mml:mi></mml:mstyle></mml:msubsup><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>E</mml:mi></mml:mstyle><mml:mrow><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>C</mml:mi><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mrow></mml:mstyle></mml:mrow></mml:math></inline-formula></p>
<p>Subject to,</p>
<disp-formula id="E1"><mml:math id="M80"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>j</mml:mi></mml:munderover><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mtext>&#x000A0;</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mstyle><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mo>,</mml:mo><mml:mo>&#x02200;</mml:mo><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>.</mml:mo><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mn>0</mml:mn><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mi>i</mml:mi><mml:mi>f</mml:mi><mml:mtext>&#x000A0;task&#x000A0;is&#x000A0;executed&#x000A0;</mml:mtext></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x000A0;</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mn>1</mml:mn><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;otherwise&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>With,</p>
<disp-formula id="E2"><mml:math id="M81"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>E</mml:mi></mml:mstyle><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>T</mml:mi></mml:mstyle><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>A</mml:mi></mml:mstyle><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>T</mml:mi></mml:mstyle><mml:mrow><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mo>&#x0003C;</mml:mo><mml:mo>&#x0003C;</mml:mo><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>T</mml:mi><mml:mi>T</mml:mi></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mn>1</mml:mn><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;task&#x000A0;executed&#x000A0;in&#x000A0;IoT</mml:mtext></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x000A0;</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mn>0</mml:mn><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;task&#x000A0;executed&#x000A0;in&#x000A0;the&#x000A0;cloud</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>The working principle of the model is presented as follows.</p>
<p>According to the mathematical model, the following formula is considered, as shown in Equation (1), to calculate the execution time for the task (<italic>AT</italic><sub><italic>ij</italic></sub>) into IoT. Where N<sub>s</sub> represents the processing speed in IoT and the data size of the task <italic>AT</italic><sub><italic>ij</italic></sub> denoted by D<sub>ij</sub>.</p>
<disp-formula id="E3"><label>(1)</label><mml:math id="M4"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi><mml:mi>T</mml:mi></mml:mstyle><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>A</mml:mi><mml:mi>T</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mtext>&#x000A0;</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>=</mml:mo></mml:mstyle><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>D</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>N</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>s</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Transmission time: Complete transmission time is estimated with the summation of sending time from IoT to cloud and receiving time from cloud to IoT, as shown in Equations (2, 3, 4). <italic>D</italic><sub><italic>rate</italic></sub> is data transmission rate using with task data size to calculate transmission time when the task <italic>AT</italic><sub><italic>ij</italic></sub> is assigned to the cloud, then data are uploaded through the wireless channel. Sending time is calculated as:</p>
<disp-formula id="E4"><label>(2)</label><mml:math id="M5"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>s</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>=</mml:mo></mml:mstyle><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>D</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>D</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Receiving time is calculated as:</p>
<disp-formula id="E5"><label>(3)</label><mml:math id="M6"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>r</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>=</mml:mo></mml:mstyle><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>D</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>D</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Transmission time is calculated as:</p>
<disp-formula id="E6"><label>(4)</label><mml:math id="M7"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>=</mml:mo></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>s</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>&#x0002B;</mml:mo></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>r</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>A comparison between execution time calculated in Equation (1) and transmission time calculated in Equation (4) determines where to execute the task into IoT or cloud. Equation (5) represents binary matrix Z.</p>
<disp-formula id="E21"><label>(5)</label><mml:math id="M83"><mml:mrow><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>Z</mml:mi></mml:mstyle><mml:mo>=</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mn>0</mml:mn></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mn>1</mml:mn></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mn>1</mml:mn></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mn>1</mml:mn></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mn>1</mml:mn></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mn>0</mml:mn></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mn>1</mml:mn></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mn>1</mml:mn></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mn>1</mml:mn></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mn>0</mml:mn></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mn>0</mml:mn></mml:mstyle></mml:mtd><mml:mtd><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mn>1</mml:mn></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>
<p>If <italic>Z</italic> &#x0003D; 1, the task is executed at IoT device, and if <italic>Z</italic> &#x0003D; 0, the task is executed at the cloud. Consider the number of applications contains a <italic>T</italic> number of task schedules to execute in the cloud (<italic>i</italic> number of virtual machines) or IoT (<italic>i</italic> number of sensors). <xref ref-type="fig" rid="F4">Figure 4</xref> explains a task strategy executed in cloud IoT.</p>
<disp-formula id="E43"><label>(6)</label><mml:math id="M60"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi></mml:mstyle><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>A</mml:mi></mml:mstyle><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>j</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>I</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>o</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mo>&#x0003C;</mml:mo><mml:mo>&#x0003C;</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>j</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mn>1</mml:mn><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mstyle mathvariant="bold-italic"><mml:mi>t</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>a</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>s</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>k</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>s</mml:mi></mml:mstyle><mml:mtext>&#x000A0;</mml:mtext><mml:mstyle mathvariant="bold-italic"><mml:mi>e</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>e</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>c</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>u</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>t</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>e</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>d</mml:mi></mml:mstyle><mml:mtext>&#x000A0;</mml:mtext><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>n</mml:mi></mml:mstyle><mml:mtext>&#x000A0;</mml:mtext><mml:mstyle mathvariant="bold-italic"><mml:mi>t</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>h</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>e</mml:mi></mml:mstyle><mml:mtext>&#x000A0;</mml:mtext><mml:mstyle mathvariant="bold-italic"><mml:mi>I</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>o</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x000A0;</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mtext>&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mn>0</mml:mn><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mstyle mathvariant="bold-italic"><mml:mi>t</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>a</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>s</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>k</mml:mi></mml:mstyle><mml:mtext>&#x000A0;</mml:mtext><mml:mstyle mathvariant="bold-italic"><mml:mi>e</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>e</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>c</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>u</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>t</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>e</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>d</mml:mi></mml:mstyle><mml:mtext>&#x000A0;</mml:mtext><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>n</mml:mi></mml:mstyle><mml:mtext>&#x000A0;</mml:mtext><mml:mstyle mathvariant="bold-italic"><mml:mi>t</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>h</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>e</mml:mi></mml:mstyle><mml:mtext>&#x000A0;</mml:mtext><mml:mstyle mathvariant="bold-italic"><mml:mi>c</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>l</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>o</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>u</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>d</mml:mi></mml:mstyle></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>After ensuring the executed tasks, energy consumption strategy in cloud IoT (<italic>E</italic><sub><italic>CIoT</italic></sub>) has to be executed which has two parts: calculate the energy in IoT denoted by <italic>E</italic><sub><italic>IoT</italic></sub>, and calculate the energy in cloud denoted by <italic>E</italic><sub><italic>C</italic></sub> [<xref ref-type="bibr" rid="B17">17</xref>].</p>
<disp-formula id="E10"><label>(7)</label><mml:math id="M11"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>C</mml:mi><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>=</mml:mo></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>C</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>&#x0002B;</mml:mo></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>Task strategy in cloud IoT.</p></caption>
<graphic xlink:href="fphy-08-00358-g0004.tif"/>
</fig>
<sec>
<title>Energy Consumption in IoT</title>
<p>The task is executed at the IoT nodes, <italic>P</italic><sub><italic>IoT</italic></sub> represents power consumption in IoT, G is the channel gain between cloud and IoT nodes, and transmission power for the task (<italic>AT</italic><sub><italic>ij</italic></sub>) is denoted by <italic>P</italic><sub><italic>tran</italic></sub>. Energy consumption in IoT is the sum of processing energy consumption (<italic>E</italic><sub><italic>proc</italic></sub>) and transmission energy consumption (<italic>E</italic><sub><italic>tran</italic></sub>). It is described by Equation (8).</p>
<disp-formula id="E11"><label>(8)</label><mml:math id="M12"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>I</mml:mi><mml:mi>o</mml:mi><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>=</mml:mo></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>c</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>&#x0002B;</mml:mo></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>According to Equation (1), processing energy consumption (<italic>E</italic><sub><italic>proc</italic></sub>) for task (<italic>AT</italic><sub><italic>ij</italic></sub>) is shown in Equation (9).</p>
<disp-formula id="E30"><label>(9)</label><mml:math id="M45"><mml:mrow><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi></mml:mstyle><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>p</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>r</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>o</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>c</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mi>P</mml:mi></mml:mstyle><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>I</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>o</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle><mml:mtext>&#x000A0;</mml:mtext></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle><mml:mtext>&#x000A0;</mml:mtext><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle><mml:mo stretchy='false'>(</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mi>A</mml:mi></mml:mstyle><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>j</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:msub><mml:mtext>&#x000A0;</mml:mtext><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>I</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>o</mml:mi></mml:mstyle><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle><mml:mtext>&#x000A0;</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:math></disp-formula>
<p>Transmission energy consumption (<italic>E</italic><sub><italic>tran</italic></sub>) can be obtained from Equation (10) [<xref ref-type="bibr" rid="B22">22</xref>].</p>
<disp-formula id="E13"><label>(10)</label><mml:math id="M14"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>=</mml:mo></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>P</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mtext>&#x000A0;</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mtext>&#x000A0;</mml:mtext><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>D</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>G</mml:mi></mml:mstyle></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Energy consumption in the cloud leads to IoT nodes passing the tasks to the cloud using a wireless link. Firstly, calculate transmission energy consumption (<italic>E</italic><sub><italic>tran</italic>(<italic>C</italic>)</sub>) when the offloading to cloud shown in Equation (11), where transmission power for the task (<italic>AT</italic><sub><italic>ij</italic></sub>) is denoted by <italic>P</italic><sub><italic>tran</italic>(<italic>c</italic>)</sub>.</p>
<disp-formula id="E14"><label>(11)</label><mml:math id="M15"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>=</mml:mo></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>P</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mtext>&#x000A0;</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>D</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>D</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>The necessary equation to execute time for the task on the cloud (<italic>ET</italic><sub>(<italic>A</italic><sub><italic>T</italic></sub><sub><italic>ij</italic></sub>)<italic>C</italic></sub>) is shown in Equation (11), where <italic>M</italic><sub><italic>s</italic></sub> represents machine speed in the cloud [<xref ref-type="bibr" rid="B17">17</xref>].</p>
<disp-formula id="E15"><label>(12)</label><mml:math id="M16"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi><mml:mi>T</mml:mi></mml:mstyle><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>A</mml:mi><mml:mi>i</mml:mi><mml:mi>T</mml:mi><mml:mi>j</mml:mi><mml:mtext>&#x000A0;</mml:mtext></mml:mstyle></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>c</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>=</mml:mo></mml:mstyle><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>D</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>M</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>s</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>For executing tasks in the cloud, the server is distributed to the virtual machine (VM). The virtual machine has two states: idle and on. Where <italic>T</italic><sub><italic>arrival</italic></sub> presents time required to arrive the task to VM, <italic>P</italic><sub><italic>on</italic></sub> is the power consumption when the VM is on, <italic>T</italic><sub><italic>on</italic></sub> presents the time required to execute the task when VM is on. According to Equation (11), time spent in one state is calculated by Equation (12)</p>
<disp-formula id="E16"><label>(13)</label><mml:math id="M17"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>=</mml:mo></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>r</mml:mi><mml:mi>i</mml:mi><mml:mi>v</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>&#x0002B;</mml:mo></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi><mml:mi>T</mml:mi></mml:mstyle><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>A</mml:mi><mml:mi>T</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>c</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p><italic>P</italic><sub><italic>idle</italic></sub> is the power consumption when VM is idle, <italic>T</italic><sub><italic>idle</italic></sub> represents the time required to execute the task when VM is idle. VM moves from idle to on state with a rate <italic>T</italic><sub><italic>on</italic></sub>. According to Equation (10), time spent in one state is calculated by Equation (14).</p>
<disp-formula id="E17"><label>(14)</label><mml:math id="M18"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi><mml:mi>d</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>=</mml:mo></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>r</mml:mi><mml:mi>i</mml:mi><mml:mi>v</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>&#x0002B;</mml:mo></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi><mml:mi>T</mml:mi></mml:mstyle><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>A</mml:mi><mml:mi>T</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>c</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>&#x0002B;</mml:mo></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi><mml:mtext>&#x000A0;</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mtext>&#x000A0;</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>From Equations. (13, 14), it can be obtained idle energy consumption (<italic>E</italic><sub><italic>idle</italic></sub>) and on energy consumption (<italic>E</italic><sub><italic>on</italic></sub>).</p>
<disp-formula id="E18"><label>(15)</label><mml:math id="M19"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi><mml:mi>d</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>=</mml:mo></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>P</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>I</mml:mi><mml:mi>d</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi><mml:mtext>&#x000A0;</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi><mml:mtext>&#x000A0;</mml:mtext></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi><mml:mtext>&#x000A0;</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi><mml:mi>d</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi><mml:mtext>&#x000A0;</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E19"><label>(16)</label><mml:math id="M20"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>=</mml:mo></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>P</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mtext>&#x000A0;</mml:mtext></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi><mml:mtext>&#x000A0;</mml:mtext></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>T</mml:mi><mml:mtext>&#x000A0;</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mtext>&#x000A0;</mml:mtext></mml:mstyle></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>From Equations (11, 14, 15), we can get energy consumption in the cloud (<italic>E</italic><sub><italic>C</italic></sub>)</p>
<disp-formula id="E20"><label>(17)</label><mml:math id="M21"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>C</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>=</mml:mo></mml:mstyle><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>i</mml:mi><mml:mi>d</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>&#x0002B;</mml:mo><mml:mi>E</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mo>&#x0002B;</mml:mo></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>E</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mstyle></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Considering this, all tasks should be executed as a constraint in the GA algorithm. The proposed method is shown as the algorithm. The proposed algorithm is divided into two parts: Energy Consumption in IoT and energy consumption in the cloud. The algorithm 1 calculates the energy consumption value for tasks and enhances based on the GA algorithm. In GA, parameters at the input are the requested tasks, data size of task, process speed in IoT, and data transmission rate. The output is the optimal energy-efficient. The proposed scheme is utilized to calculate the suitability of execution whether in the IoT node or at the cloud side. If the task execution time is less than the transmission time, it will be executed at the IoT node, else to be assigned to the cloud.</p>
<table-wrap position="float">
<label>Algorithm 1</label>
<caption><p>Energy Optimization in Cloud IoT by using GA.</p></caption>
<table frame="hsides" rules="groups">
<tbody><tr>
<td valign="top" align="left"><italic><bold>Input:</bold> D<sub><italic>ij</italic></sub> : Data size of the task, N<sub><italic>s</italic></sub> : Process speed in IoT, D<sub><italic>rate</italic></sub>: Data transmission rate</italic>.</td>
</tr>
<tr>
<td valign="top" align="left"><italic><bold>Output:</bold> Optimal Energy Efficient</italic>.</td>
</tr>
<tr>
<td valign="top" align="left">1. <italic>Compute ET(AT<sub><italic>ij</italic></sub>)<sub><italic>IoT</italic></sub>, TT by Equations (1, 4)</italic></td>
</tr>
<tr>
<td valign="top" align="left">2. <italic>Initialize: Create a population of solutions</italic></td>
</tr>
<tr>
<td valign="top" align="left">3. <italic>For D<sub><italic>ij</italic></sub> = 1 to AT<sub><italic>ij</italic></sub> do</italic></td>
</tr>
<tr>
<td valign="top" align="left">4.&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>Decide which the task offloading to the cloud</italic></td>
</tr>
<tr>
<td valign="top" align="left">5.&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>If ET(AT<sub><italic>ij</italic></sub>)<sub><italic>IoT</italic></sub> &#x0003C; &#x0003C; TT<sub><italic>ij</italic></sub> then</italic></td>
</tr>
<tr>
<td valign="top" align="left">6.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>The task will be executed on the IoT</italic></td>
</tr>
<tr>
<td valign="top" align="left">7.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>Else</italic></td>
</tr>
<tr>
<td valign="top" align="left">8.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>Offload task to execute on the cloud</italic></td>
</tr>
<tr>
<td valign="top" align="left">9.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>End</italic></td>
</tr>
<tr>
<td valign="top" align="left">10. <italic>End</italic></td>
</tr>
<tr>
<td valign="top" align="left">11.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>Call Energy Consumption in IoT</italic></td>
</tr>
<tr>
<td valign="top" align="left">12.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>Call Energy Consumption in Cloud</italic></td>
</tr>
<tr>
<td valign="top" align="left">13.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>Get E<sub><italic>CIoT</italic></sub> by Equation (6)</italic>.</td>
</tr>
<tr>
<td valign="top" align="left">14. <italic>Create a fitness function</italic></td>
</tr>
<tr>
<td valign="top" align="left">15. <italic>The candidates with two smaller values will be selected as parents</italic></td>
</tr>
<tr>
<td valign="top" align="left">16. <italic>Uses a single-point crossover to generate the new population from selected parents</italic>.</td>
</tr>
<tr>
<td valign="top" align="left">17. <italic>Flipping mutation is used</italic>.</td>
</tr>
<tr>
<td valign="top" align="left">18. <italic>Repeat steps from 11 to 17 for a specific number of iterations of finding the best energy efficient in cloud IoT</italic>.</td>
</tr>
</tbody>
</table></table-wrap>
<p>Line 11 of the Algorithm call procedure 1 calculates energy consumption in IoT. Procedure 1 has several input parameters such as power consumption in IoT, the transmission power for the task, and channel gain. Line 2 of procedure 1 computes processing energy consumption (<italic>E</italic><sub><italic>proc</italic></sub>) and transmission energy consumption (<italic>E</italic><sub><italic>tran</italic></sub>). While Line 3 of procedure 1 finds the energy consumption in IoT for all tasks that executed local devices.</p>
<table-wrap position="float">
<label>Procedure 1</label>
<caption><p>Energy Consumption in IOT.</p></caption>
<table frame="hsides" rules="groups">
<tbody><tr>
<td valign="top" align="left"><italic>Input: P<sub><italic>IoT</italic></sub> : Power consumption in IoT</italic>,</td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>P<sub><italic>tran</italic></sub>: Transmission power for the task (AT<sub><italic>ij</italic></sub>)</italic>,</td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>G: Channel gain</italic></td>
</tr>
<tr>
<td valign="top" align="left"><italic>Output: Energy Consumption for IoT</italic></td>
</tr>
<tr>
<td valign="top" align="left">1. <italic>For D<sub><italic>ij</italic></sub> = 1 to AT<sub><italic>ij</italic></sub> do</italic></td>
</tr>
<tr>
<td valign="top" align="left">2.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>Compute E<sub><italic>tran</italic></sub>, E<sub><italic>proc</italic></sub> by by Equations (8, 9)</italic></td>
</tr>
<tr>
<td valign="top" align="left">3.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>Get E<sub><italic>IoT</italic></sub> by Equation (7)</italic></td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;&#x000A0;&#x000A0;<italic>End</italic></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Procedure 2 calculates energy consumption in a cloud called by Line 12 of the Algorithm. Firstly, calculate the transmission energy consumption (<italic>E</italic><sub><italic>tran</italic>(<italic>c</italic>)</sub>) and execute time for the task on the cloud (<italic>ET</italic>(<italic>A</italic><sub><italic>T</italic><sub><italic>ij</italic></sub>)<italic>C</italic></sub>). Line 3 of procedure 2 checks the state of VMs. VM state=1 means it is the current task executed in on state for VM. According to Line 5 of procedure 2, energy consumption (<italic>E</italic><sub><italic>on</italic></sub>) can be obtained for all tasks executed in on state for VM. If VM state=0, the state for VM is idle. The time required to execute the task when the VM is idle compute in line 8 of procedure 2, while idle energy consumption (<italic>E</italic><sub><italic>idle</italic></sub>) gets through line 9. Lastly, energy consumption on the cloud for all tasks that offloading to the cloud is calculated by line 11 of procedure 2. Line 13 of the Algorithm calculates energy consumption in CloudIoT for all tasks.</p>
<table-wrap position="float">
<label>Procedure 2</label>
<caption><p>Energy Consumption in Cloud.</p></caption>
<table frame="hsides" rules="groups">
<tbody><tr>
<td valign="top" align="left"><italic>Input: P<sub><italic>idle</italic></sub>: Power consumption in idle VM, P<sub><italic>on</italic></sub>: Power consumption in on VM, P<sub><italic>tran</italic>(<italic>c</italic>)</sub>: Transmission power for the task (AT<sub><italic>ij</italic></sub>), M<sub><italic>s</italic></sub>: Machine speed, T<sub><italic>arrival</italic></sub> : the time required to arrive the task to VM<sub>, </sub> T<sub><italic>oon</italic></sub>: when VM moves from idle to on state</italic>.</td>
</tr>
<tr>
<td valign="top" align="left"><italic>Output: Energy Consumption in cloud</italic></td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;&#x000A0;&#x000A0;1. <italic>For D<sub><italic>ij</italic></sub> = 1 to AT<sub><italic>ij</italic></sub> do</italic></td>
</tr>
<tr>
<td valign="top" align="left">&#x000A0;&#x000A0;&#x000A0;2.&#x02026; <italic>Compute E<sub><italic>tran</italic>(<italic>C</italic>)</sub>, ET(AT<sub><italic>ij</italic></sub>)<sub><italic>C</italic></sub> by Equations (10, 11)</italic></td>
</tr>
<tr>
<td valign="top" align="left">3.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>Check state of VMs</italic></td>
</tr>
<tr>
<td valign="top" align="left">4.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>If VM state= 1 then</italic></td>
</tr>
<tr>
<td valign="top" align="left">5.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>Compute T<sub><italic>on</italic></sub> by Equation (12)</italic></td>
</tr>
<tr>
<td valign="top" align="left">6.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>Get E<sub><italic>on</italic></sub> by Equation (15)</italic></td>
</tr>
<tr>
<td valign="top" align="left">7.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>else</italic></td>
</tr>
<tr>
<td valign="top" align="left">8.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>Compute T<sub><italic>idle</italic></sub> by Equation (13)</italic></td>
</tr>
<tr>
<td valign="top" align="left">9.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>Get E<sub><italic>idle</italic></sub> by Equation (14)</italic></td>
</tr>
<tr>
<td valign="top" align="left">10.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>End</italic></td>
</tr>
<tr>
<td valign="top" align="left">11.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;<italic>Get E<sub><italic>C</italic></sub> by Equation (16)</italic></td>
</tr>
<tr>
<td valign="top" align="left">12.&#x000A0;&#x000A0;&#x000A0;<italic>End</italic></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The GA steps for optimization CloudIoT energy are as follows:</p>
<list list-type="order">
<list-item><p><bold><italic>Initialization and Coding</italic></bold>: steps explained in Algorithm from line 3 to line 10, represented in binary matrix Z., will firstly generate the initial population.</p></list-item>
<list-item><p><bold><italic>Fitness:</italic> </bold>Fitness value of the candidate is equal to <italic>E</italic><sub><italic>CIoT</italic></sub> as illustrated in line 14 of the algorithm.</p></list-item>
<list-item><p><bold><italic>Selection</italic></bold>: It is used to select from the populations of the chromosome with lower fitness value at line 15.</p></list-item>
<list-item><p><bold><italic>Crossover</italic></bold>: Single point crossover is used by taking every two members as parents from all populations to initiate the next generation.</p></list-item>
<list-item><p>Mutation: Flipping mutation is used in Line 17 of the algorithm.</p></list-item>
</list>
<p>The last line of the algorithm used to repeat steps 2&#x02013;5 of GA is iterated for finding the best optimization for selection and placement of behavior of task time execution and finding the optimal approach to minimizing energy consumption.</p></sec></sec>
<sec id="s4">
<title>Simulation Results and Discussions</title>
<p>The proposed method is to evaluate performance through different cases. The GA based method is used for Cloud IoT energy consumption optimization. Results are obtained by using the method written in the C&#x0002B;&#x0002B; programming language. The simulation parameters are listed in <xref ref-type="table" rid="T2">Table 2</xref>.</p>
<list list-type="bullet">
<list-item><p>Case 1: To study the effect of crossover (one-point, two-points) on energy consumption. In the one-point crossover, a crossover point is randomly selected, and the bit blocks swapped between two parents. In a two-point crossover, two bits&#x00027; positions are randomly selected and then the bit blocks swapped between these two points. Evaluate the energy consumption of application requests based on the effect of crossover types on energy consumption. The consumed energy is determined by using deterministic mutation for various types of crossover (one-point, two-points) considering the number of generations equal to 8 for the different number of tasks (16, 20, 24, 28, 32). Based on the results in <xref ref-type="fig" rid="F5">Figure 5</xref>, two-points crossover performed much better compared to one-point.</p>
</list-item>
<list-item><p>Case 2: It uses two mutation techniques (deterministic and randomized) mutually one-point and two-point crossovers, to study the impact on energy consumption. Two strategies for mutation: (a) deterministic mutation randomly selects one gene for mutation and adds constant value for it, (b) randomize the selected gene of mutation. The energy consumption for different numbers of tasks is obtained in <xref ref-type="fig" rid="F6">Figure 6</xref>. The result demonstrates the energy consumption is decreasing when using a randomized mutation.</p>
</list-item>
<list-item><p>Case 3: Here energy consumption of application requests in Cloud IoT is evaluated. <xref ref-type="fig" rid="F7">Figure 7</xref> shows the effect of the generation number with different task numbers on energy consumption. With the progression through each generation, the value of the objective function, energy consumption decreases accordingly.</p>
<p>Results prove that the proposed approach is reducing the energy consumption in a clouded form first generation to eight generations for different task numbers. The eighth-generation is selected as the optimal solution.</p>
</list-item>
<list-item><p>Case 4: Comparison with other energy consumption algorithms. Authors Sun et al. [<xref ref-type="bibr" rid="B8">8</xref>] have proposed IoT-fog-cloud architecture with energy consumption and computation time of offloading and resource allocation (ETCORA) algorithm. <xref ref-type="fig" rid="F8">Figure 8</xref> provides comparison results between the proposed method and ETCORA to evaluate consumed energy for CloudIoT using the same parameters. From <xref ref-type="fig" rid="F8">Figure 8</xref>, the proposed method is optimal, and ETCORA is relatively poor.</p>
</list-item>
<list-item><p>Case 5: Difference between energy consumption and power consumption: energy is the total amount of work done, and power is how fast it can be done. The unit of power is in watts and a unit of energy is the joule. In this case, energy consumption depends upon the power consumption at the IoT level. Therefore, it is possible to study impact power consumption in IoT on the energy consumption for the different number of tasks. The value of power consumption in IoT is set from 0.2&#x02013;0.8 watt.</p></list-item>
</list>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>Simulation parameters.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>Parameters</bold></th>
<th valign="top" align="center"><bold>Value</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Data size</td>
<td valign="top" align="center">3&#x02013;50 KB</td>
</tr>
<tr>
<td valign="top" align="left">Data transmission rate</td>
<td valign="top" align="center">5&#x02013;20 Kbps</td>
</tr>
<tr>
<td valign="top" align="left">Processing speed at IoT level</td>
<td valign="top" align="center">2&#x02013;7 KB/s</td>
</tr>
<tr>
<td valign="top" align="left">Machine speed at cloud level</td>
<td valign="top" align="center">3&#x02013;9 KB/s</td>
</tr>
<tr>
<td valign="top" align="left">Power consumption when the VM is on the state</td>
<td valign="top" align="center">0.2&#x02013;1.2 W</td>
</tr>
<tr>
<td valign="top" align="left">Power consumption when the VM is idle state</td>
<td valign="top" align="center">0.2 W</td>
</tr>
<tr>
<td valign="top" align="left">Power consumption at IoT level</td>
<td valign="top" align="center">0.2&#x02013;0.8 W</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>Effect of crossover types.</p></caption>
<graphic xlink:href="fphy-08-00358-g0005.tif"/>
</fig>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>Effect of mutation types.</p></caption>
<graphic xlink:href="fphy-08-00358-g0006.tif"/>
</fig>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p>Effect of the generation numbers.</p></caption>
<graphic xlink:href="fphy-08-00358-g0007.tif"/>
</fig>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p>Comparison between ETCORA and the proposed method.</p></caption>
<graphic xlink:href="fphy-08-00358-g0008.tif"/>
</fig>
<p>According to Equation (8), the relationship between the energy consumption for processing tasks and power consumption in IoT is direct. When increasing the value of power consumption in IoT, the energy consumption increases. <xref ref-type="fig" rid="F9">Figure 9</xref> shows the energy consumption under the different values of power consumption in IoT.</p>
<fig id="F9" position="float">
<label>Figure 9</label>
<caption><p>Impact of power consumption at IoT level.</p></caption>
<graphic xlink:href="fphy-08-00358-g0009.tif"/>
</fig></sec>
<sec sec-type="conclusions" id="s5">
<title>Conclusion</title>
<p>Numerous scheduling and resource utilization techniques for energy consumption in communication networks have been developed in the last few decades, but still, it is a challenging task. This paper presents the Cloud IoT system based on a genetic algorithm (GA) for optimizing energy consumption. The GA is implemented using the C&#x0002B;&#x0002B; platform integrated at the simulation model. The simulation evaluates the performance of the proposed technique through different instances, such as genetic algorithm operators (crossover, mutation, and generation number). Then, a widespread simulation to validate the effectiveness of this mechanism compared with ETCORA algorithm is carried out. Simulations results are investigated to evaluate the performance of the proposed technique with optimal parameters. Results also verified that the proposed approach optimizes the energy consumption in a Cloud IoT and finds the optimal solution as 20J for 16 tasks and 87J for 32 tasks. Finally, the result shows that the proposed approach reduces energy consumption by 51.2% for 16 tasks and 22.3% for 32 tasks compared to the ETCORA algorithm.</p></sec>
<sec sec-type="data-availability-statement" id="s6">
<title>Data Availability Statement</title>
<p>The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.</p></sec>
<sec id="s7">
<title>Author Contributions</title>
<p>ZA: conceptualization. ZA and RS: data curation. ZA: formal analysis. MH and SK: funding acquisition. ZA and RS: investigation. ZA: methodology. ZA: resources. ZA: software. RH and MH: supervision. RS and MH: validation. MH, SI, SK, and RH: writing&#x02014;review. MH, SI, RM, and MA: editing. All authors contributed to the article and approved the submitted version.</p></sec>
<sec id="s8">
<title>Conflict of Interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p></sec>
</body>
<back>
<ref-list>
<title>References</title>
<ref id="B1">
<label>1.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname> <given-names>T</given-names></name> <name><surname>Luo</surname> <given-names>H</given-names></name> <name><surname>Jia</surname> <given-names>W</given-names></name> <name><surname>Liu</surname> <given-names>A</given-names></name> <name><surname>Xie</surname> <given-names>M</given-names></name></person-group>. <article-title>MTES: an intelligent trust evaluation scheme in sensor-cloud-enabled industrial internet of things</article-title>. <source>IEEE Trans Indust Inform.</source> (<year>2019</year>) <volume>16</volume>:<fpage>2054</fpage>&#x02013;<lpage>62</lpage>. <pub-id pub-id-type="doi">10.1109/TII.2019.2930286</pub-id></citation>
</ref>
<ref id="B2">
<label>2.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Barcelo</surname> <given-names>M</given-names></name> <name><surname>Correa</surname> <given-names>A</given-names></name> <name><surname>Llorca</surname> <given-names>J</given-names></name> <name><surname>Tulino</surname> <given-names>AM</given-names></name> <name><surname>Vicario</surname> <given-names>JL</given-names></name> <name><surname>Morell</surname> <given-names>A</given-names></name></person-group>. <article-title>IoT-cloud service optimization in next generation smart environments</article-title>. <source>IEEE J Sel Areas Commun.</source> (<year>2016</year>) <volume>34</volume>:<fpage>4077</fpage>&#x02013;<lpage>90</lpage>. <pub-id pub-id-type="doi">10.1109/JSAC.2016.2621398</pub-id></citation>
</ref>
<ref id="B3">
<label>3.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Ahmed</surname> <given-names>Z</given-names></name> <name><surname>Saeed</surname> <given-names>RA</given-names></name> <name><surname>Mukherjee</surname> <given-names>A</given-names></name></person-group>. <article-title>Vehicular cloud computing models, architectures, applications, challenges and opportunities</article-title>. In: J. Grover, P. VInod, editors, <source>The Book With Title Vehicular Cloud Computing for Traffic Management and Systems</source>. <publisher-loc>Jaipur</publisher-loc>: <publisher-name>IGI Global</publisher-name> (<year>2018</year>). p. <fpage>57</fpage>&#x02013;<lpage>74</lpage>.</citation>
</ref>
<ref id="B4">
<label>4.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kaur</surname> <given-names>K</given-names></name> <name><surname>Garg</surname> <given-names>S</given-names></name> <name><surname>Kaddoum</surname> <given-names>G</given-names></name> <name><surname>Bou-Harb</surname> <given-names>E</given-names></name> <name><surname>Choo</surname> <given-names>KKR</given-names></name></person-group>. <article-title>A big data-enabled consolidated framework for energy efficient software defined data centers in IoT setups</article-title>. <source>IEEE Trans Indust Inform.</source> (<year>2019</year>) <volume>16</volume>:<fpage>2687</fpage>&#x02013;<lpage>97</lpage>. <pub-id pub-id-type="doi">10.1109/TII.2019.2939573</pub-id></citation>
</ref>
<ref id="B5">
<label>5.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Al Ridhawi</surname> <given-names>I</given-names></name> <name><surname>Kotb</surname> <given-names>Y</given-names></name> <name><surname>Aloqaily</surname> <given-names>M</given-names></name> <name><surname>Jararweh</surname> <given-names>Y</given-names></name> <name><surname>Baker</surname> <given-names>T</given-names></name></person-group>. <article-title>A profitable and energy-efficient cooperative fog solution for IoT services</article-title>. <source>IEEE Trans Indust Inform.</source> (<year>2019</year>) <volume>16</volume>:<fpage>3578</fpage>&#x02013;<lpage>86</lpage>. <pub-id pub-id-type="doi">10.1109/TII.2019.2922699</pub-id></citation>
</ref>
<ref id="B6">
<label>6.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Abdelgadir</surname> <given-names>M</given-names></name> <name><surname>Saeed</surname> <given-names>RA</given-names></name> <name><surname>Babikir</surname> <given-names>AA</given-names></name></person-group>. <article-title>Mobility Routing Model for Vehicular Ad-hoc Networks (VANETs), Smart City Scenarios</article-title>. <source>Vehicular Commun.</source> (<year>2017</year>) <volume>9</volume>:<fpage>154</fpage>&#x02013;<lpage>61</lpage>. <pub-id pub-id-type="doi">10.1016/j.vehcom.2017.04.003</pub-id></citation>
</ref>
<ref id="B7">
<label>7.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>He</surname> <given-names>Q</given-names></name> <name><surname>Cui</surname> <given-names>G</given-names></name> <name><surname>Zhang</surname> <given-names>X</given-names></name> <name><surname>Chen</surname> <given-names>F</given-names></name> <name><surname>Deng</surname> <given-names>S</given-names></name> <name><surname>Jin</surname> <given-names>H</given-names></name> <etal/></person-group>. <article-title>A game-theoretical approach for user allocation in edge computing environment</article-title>. <source>IEEE Trans Parallel Distrib Syst.</source> (<year>2019</year>) <volume>31</volume>:<fpage>515</fpage>&#x02013;<lpage>29</lpage>. <pub-id pub-id-type="doi">10.1109/TPDS.2019.2938944</pub-id></citation>
</ref>
<ref id="B8">
<label>8.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mahmoud</surname> <given-names>MM</given-names></name> <name><surname>Rodrigues</surname> <given-names>JJ</given-names></name> <name><surname>Saleem</surname> <given-names>K</given-names></name> <name><surname>Al-Muhtadi</surname> <given-names>J</given-names></name> <name><surname>Kumar</surname> <given-names>N</given-names></name> <name><surname>Korotaev</surname> <given-names>V</given-names></name></person-group>. <article-title>Towards energy-aware fog-enabled cloud of things for healthcare</article-title>. <source>Comput Electr Eng.</source> (<year>2018</year>) <volume>67</volume>:<fpage>58</fpage>&#x02013;<lpage>69</lpage>. <pub-id pub-id-type="doi">10.1016/j.compeleceng.2018.02.047</pub-id></citation>
</ref>
<ref id="B9">
<label>9.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Donatiello</surname> <given-names>L</given-names></name> <name><surname>Marfia</surname> <given-names>G</given-names></name></person-group>. <article-title>Modeling the energy consumption of upload patterns on smartphones and IoT devices</article-title>. <source>IEEE Commun Lett.</source> (<year>2018</year>) <volume>22</volume>:<fpage>2258</fpage>&#x02013;<lpage>61</lpage>. <pub-id pub-id-type="doi">10.1109/LCOMM.2018.2866251</pub-id></citation>
</ref>
<ref id="B10">
<label>10.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Natesha</surname> <given-names>BV</given-names></name> <name><surname>Guddeti</surname> <given-names>RMR</given-names></name></person-group>. <article-title>Heuristic-Based IoT application modules placement in the fog-cloud computing environment</article-title>. in <source>2018 IEEE/ACM International Conference on Utility and Cloud Computing Companion (UCC Companion)</source>. <publisher-name>IEEE</publisher-name> (<year>2018</year>). p. <fpage>24</fpage>&#x02013;<lpage>5</lpage>.</citation>
</ref>
<ref id="B11">
<label>11.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sun</surname> <given-names>H</given-names></name> <name><surname>Yu</surname> <given-names>H</given-names></name> <name><surname>Fan</surname> <given-names>G</given-names></name> <name><surname>Chen</surname> <given-names>L</given-names></name></person-group>. <article-title>Energy and time efficient task offloading and resource allocation on the generic IoT-fog-cloud architecture</article-title>. <source>Peer-to-Peer Netw Appl.</source> (<year>2020</year>) <volume>13</volume>:<fpage>548</fpage>&#x02013;<lpage>63</lpage>. <pub-id pub-id-type="doi">10.1007/s12083-019-00783-7</pub-id></citation>
</ref>
<ref id="B12">
<label>12.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mishra</surname> <given-names>SK</given-names></name> <name><surname>Puthal</surname> <given-names>D</given-names></name> <name><surname>Sahoo</surname> <given-names>B</given-names></name> <name><surname>Sharma</surname> <given-names>S</given-names></name> <name><surname>Xue</surname> <given-names>Z</given-names></name> <name><surname>Zomaya</surname> <given-names>AY</given-names></name></person-group>. <article-title>Energy-efficient deployment of edge dataenters for mobile clouds in sustainable IoT</article-title>. <source>IEEE Access.</source> (<year>2018</year>) <volume>6</volume>:<fpage>56587</fpage>&#x02013;<lpage>97</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2018.2872722</pub-id></citation>
</ref>
<ref id="B13">
<label>13.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Huang</surname> <given-names>SY</given-names></name> <name><surname>Liao</surname> <given-names>CC</given-names></name> <name><surname>Chang</surname> <given-names>YC</given-names></name> <name><surname>Chao</surname> <given-names>HC</given-names></name></person-group>. <article-title>Virtual machine placement based on metaheuristic for IoT cloud</article-title>. in <source>International Conference on Cloud Computing and Security.</source> <publisher-name>Springer</publisher-name>, <publisher-loc>Cham</publisher-loc>. (<year>2017</year>) p. <fpage>472</fpage>&#x02013;<lpage>82</lpage>.</citation>
</ref>
<ref id="B14">
<label>14.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Moghaddam</surname> <given-names>MHY</given-names></name> <name><surname>Leon-Garcia</surname> <given-names>A</given-names></name></person-group>. <article-title>A fog-based internet of energy architecture for transactive energy management systems</article-title>. <source>IEEE Internet Things J.</source> (<year>2018</year>) <volume>5</volume>:<fpage>1055</fpage>&#x02013;<lpage>69</lpage>. <pub-id pub-id-type="doi">10.1109/JIOT.2018.2805899</pub-id></citation>
</ref>
<ref id="B15">
<label>15.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Islam</surname> <given-names>S</given-names></name> <name><surname>Khalifa</surname> <given-names>OO</given-names></name> <name><surname>Hashim</surname> <given-names>AHA</given-names></name> <name><surname>Hasan</surname> <given-names>MK</given-names></name> <name><surname>Razzaque</surname> <given-names>MA</given-names></name> <name><surname>Pandey</surname> <given-names>B</given-names></name></person-group>. <article-title>Design and evaluation of a multihoming-based mobility management scheme to support inter technology handoff in PNEMO</article-title>. <source>Wireless Pers Commun.</source> (<year>2020</year>) <volume>114</volume>:<fpage>1133</fpage>&#x02013;<lpage>53</lpage>. <pub-id pub-id-type="doi">10.1007/s11277-020-07412-0</pub-id></citation>
</ref>
<ref id="B16">
<label>16.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Aman</surname> <given-names>AHM</given-names></name> <name><surname>Hassan</surname> <given-names>R</given-names></name> <name><surname>Hashim</surname> <given-names>AHA</given-names></name> <name><surname>Ramli</surname> <given-names>HAM</given-names></name></person-group>. <article-title>Investigation of internet of things handover process for information centric networking and proxy mobile internet protocol</article-title>. <source>Mehran Univ Res J Eng Technol.</source> (<year>2019</year>) <volume>38</volume>:<fpage>867</fpage>&#x02013;<lpage>74</lpage>. <pub-id pub-id-type="doi">10.22581/muet1982.1904.01</pub-id></citation>
</ref>
<ref id="B17">
<label>17.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jalali</surname> <given-names>F</given-names></name> <name><surname>Hinton</surname> <given-names>K</given-names></name> <name><surname>Ayre</surname> <given-names>R</given-names></name> <name><surname>Alpcan</surname> <given-names>T</given-names></name> <name><surname>Tucker</surname> <given-names>RS</given-names></name></person-group>. <article-title>Fog computing may help to save energy in cloud computing</article-title>. <source>IEEE J Sel Areas Commun.</source> (<year>2016</year>) <volume>34</volume>:<fpage>1728</fpage>&#x02013;<lpage>39</lpage>. <pub-id pub-id-type="doi">10.1109/JSAC.2016.2545559</pub-id></citation>
</ref>
<ref id="B18">
<label>18.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Pan</surname> <given-names>J</given-names></name> <name><surname>Jain</surname> <given-names>R</given-names></name> <name><surname>Paul</surname> <given-names>S</given-names></name> <name><surname>Vu</surname> <given-names>T</given-names></name> <name><surname>Saifullah</surname> <given-names>A</given-names></name> <name><surname>Sha</surname> <given-names>M</given-names></name></person-group>. <article-title>An internet of things framework for smart energy in buildings: designs, prototype, and experiments</article-title>. <source>IEEE Internet Things J.</source> (<year>2015</year>) <volume>2</volume>:<fpage>527</fpage>&#x02013;<lpage>37</lpage>. <pub-id pub-id-type="doi">10.1109/JIOT.2015.2413397</pub-id></citation>
</ref>
<ref id="B19">
<label>19.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hasan</surname> <given-names>MK</given-names></name> <name><surname>Ismail</surname> <given-names>AF</given-names></name> <name><surname>Islam</surname> <given-names>S</given-names></name> <name><surname>Hashim</surname> <given-names>W</given-names></name> <name><surname>Ahmed</surname> <given-names>MM</given-names></name> <name><surname>Memon</surname> <given-names>I</given-names></name></person-group>. <article-title>A novel HGBBDSA-CTI approach for subcarrier allocation in heterogeneous network</article-title>. <source>Telecommun Syst.</source> (<year>2019</year>) <volume>70</volume>:<fpage>245</fpage>&#x02013;<lpage>62</lpage>. <pub-id pub-id-type="doi">10.1007/s11235-018-0473-x</pub-id></citation>
</ref>
<ref id="B20">
<label>20.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hasan</surname> <given-names>MK</given-names></name> <name><surname>Ahmed</surname> <given-names>MM</given-names></name> <name><surname>Hashim</surname> <given-names>AHA</given-names></name> <name><surname>Razzaque</surname> <given-names>A</given-names></name> <name><surname>Islam</surname> <given-names>S</given-names></name> <name><surname>Pandey</surname> <given-names>B</given-names></name></person-group>. <article-title>A novel artificial intelligence based timing synchronization scheme for smart grid applications</article-title>. <source>Wireless Pers Commun.</source> (<year>2020</year>) <volume>370</volume>:<fpage>1</fpage>&#x02013;<lpage>8</lpage>. <pub-id pub-id-type="doi">10.1007/s11277-020-07408-w</pub-id></citation>
</ref>
<ref id="B21">
<label>21.</label>
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Sun</surname> <given-names>H</given-names></name> <name><surname>Yu</surname> <given-names>H</given-names></name> <name><surname>Fan</surname> <given-names>G</given-names></name></person-group>. <article-title>Towards energy and time efficient resource allocation in IoT-fog-cloud environment</article-title>. in <source>International Conference on Service-Oriented Computing</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Cham</publisher-loc> (<year>2018</year>) p. <fpage>387</fpage>&#x02013;<lpage>93</lpage>.</citation>
</ref>
<ref id="B22">
<label>22.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Miyanabe</surname> <given-names>K</given-names></name> <name><surname>Rodrigues</surname> <given-names>TG</given-names></name> <name><surname>Lee</surname> <given-names>Y</given-names></name> <name><surname>Nishiyama</surname> <given-names>H</given-names></name> <name><surname>Kato</surname> <given-names>N</given-names></name></person-group>. <article-title>An Internet of Things traffic-based power saving scheme in cloud-radio access network</article-title>. <source>IEEE Internet Things J.</source> (<year>2018</year>) <volume>6</volume>:<fpage>3087</fpage>&#x02013;<lpage>96</lpage>. <pub-id pub-id-type="doi">10.1109/JIOT.2018.2878884</pub-id></citation>
</ref>
<ref id="B23">
<label>23.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Azzawi</surname> <given-names>MA</given-names></name> <name><surname>Hassan</surname> <given-names>R</given-names></name> <name><surname>Bakar</surname> <given-names>KAA</given-names></name></person-group>. <article-title>A review on internet of things (IoT) in healthcare</article-title>. <source>Int J Appl Eng Res.</source> (<year>2016</year>) <volume>11</volume>:<fpage>10216</fpage>&#x02013;<lpage>21</lpage>.</citation>
</ref>
<ref id="B24">
<label>24.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sallehudin</surname> <given-names>H</given-names></name> <name><surname>Razak</surname> <given-names>RC</given-names></name> <name><surname>Ismail</surname> <given-names>M</given-names></name> <name><surname>Fadzil</surname> <given-names>AFM</given-names></name> <name><surname>Boker</surname> <given-names>R</given-names></name></person-group>. <article-title>Cloud computing implementation in the public sector: factors and impact</article-title>. <source>Asia-Pacific J Inform Technol Multimedia.</source> (<year>2019</year>) <volume>7</volume>:<fpage>27</fpage>&#x02013;<lpage>42</lpage>. <pub-id pub-id-type="doi">10.17576/apjitm-2018-0702(02)-03</pub-id></citation>
</ref>
<ref id="B25">
<label>25.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Renna</surname> <given-names>F</given-names></name> <name><surname>Doyle</surname> <given-names>J</given-names></name> <name><surname>Giotsas</surname> <given-names>V</given-names></name> <name><surname>Andreopoulos</surname> <given-names>Y</given-names></name></person-group>. <article-title>Media query processing for the internet-of-Things: Coupling of device energy consumption and cloud infrastructure billing</article-title>. <source>IEEE Trans Multim.</source> (<year>2016</year>) <volume>18</volume>:<fpage>2537</fpage>&#x02013;<lpage>52</lpage>. <pub-id pub-id-type="doi">10.1109/TMM.2016.2600438</pub-id></citation>
</ref>
<ref id="B26">
<label>26.</label>
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Baker</surname> <given-names>T</given-names></name> <name><surname>Asim</surname> <given-names>M</given-names></name> <name><surname>Tawfik</surname> <given-names>H</given-names></name> <name><surname>Aldawsari</surname> <given-names>B</given-names></name> <name><surname>Buyya</surname> <given-names>R</given-names></name></person-group>. <article-title>An energy-aware service composition algorithm for multiple cloud-based IoT applications</article-title>. <source>J Netw Comput Appl.</source> (<year>2017</year>) <volume>89</volume>:<fpage>96</fpage>&#x02013;<lpage>108</lpage>. <pub-id pub-id-type="doi">10.1016/j.jnca.2017.03.008</pub-id></citation>
</ref>
</ref-list>
<fn-group>
<fn fn-type="financial-disclosure"><p><bold>Funding.</bold> This research supported by the National University of Malaysia, Under the Grant GGPM 2020-028 and DIP 2018-040.</p>
</fn>
</fn-group>
</back>
</article> 
