Edited by: Ashish Khanna, Maharaja Agrasen Institute of Technology, India
Reviewed by: Ignazio Licata, Institute for Scientific Methodology (ISEM), Italy; Aditya Khamparia, Lovely Professional University, India
This article was submitted to Interdisciplinary Physics, a section of the journal Frontiers in Physics
This is an openaccess 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.
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 delaysensitivity 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.
With the rapid advancement of network technologies and the world'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 [
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 [
In
The Fogenabled Cloud IoT model.
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.
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.
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.
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. [
Natesha and Guddeti [
Mishra et al. [
A multiobjective particle swarm optimization (MOPSO) mechanism for cloud brokering for optimum energy consumption was proposed by Huang et al. [
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 [
Classification of optimization techniques.
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 realtime applications in Could IoT.
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.) [
Proposed optimizing energy consumption for Cloud IoT model.
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
List of symbols that are used.
Energy consumption in the CloudIoT  
Set of applications  
Total number of the tasks in the set 

Execution time of task ( 
Thus, the optimization problem to be solved is minimized to the
Subject to,
With,
The working principle of the model is presented as follows.
According to the mathematical model, the following formula is considered, as shown in Equation (1), to calculate the execution time for the task (
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).
Receiving time is calculated as:
Transmission time is calculated as:
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.
If
After ensuring the executed tasks, energy consumption strategy in cloud IoT (
Task strategy in cloud IoT.
The task is executed at the IoT nodes,
According to Equation (1), processing energy consumption (
Transmission energy consumption (
Energy consumption in the cloud leads to IoT nodes passing the tasks to the cloud using a wireless link. Firstly, calculate transmission energy consumption (
The necessary equation to execute time for the task on the cloud (
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
From Equations. (13, 14), it can be obtained idle energy consumption (
From Equations (11, 14, 15), we can get energy consumption in the cloud (
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 energyefficient. 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.
Energy Optimization in Cloud IoT by using GA.
1. 
2. 
3. 
4. 
5. 
6. 
7. 
8. 
9. 
10. 
11. 
12. 
13. 
14. 
15. 
16. 
17. 
18. 
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 (
Energy Consumption in IOT.


1. 
2. 
3. 

Procedure 2 calculates energy consumption in a cloud called by Line 12 of the Algorithm. Firstly, calculate the transmission energy consumption (
Energy Consumption in Cloud.
1. 
2.… 
3. 
4. 
5. 
6. 
7. 
8. 
9. 
10. 
11. 
12. 
The GA steps for optimization CloudIoT energy are as follows:
Mutation: Flipping mutation is used in Line 17 of the algorithm.
The last line of the algorithm used to repeat steps 2–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.
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++ programming language. The simulation parameters are listed in
Case 1: To study the effect of crossover (onepoint, twopoints) on energy consumption. In the onepoint crossover, a crossover point is randomly selected, and the bit blocks swapped between two parents. In a twopoint crossover, two bits' 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 (onepoint, twopoints) considering the number of generations equal to 8 for the different number of tasks (16, 20, 24, 28, 32). Based on the results in
Case 2: It uses two mutation techniques (deterministic and randomized) mutually onepoint and twopoint 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
Case 3: Here energy consumption of application requests in Cloud IoT is evaluated.
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 eighthgeneration is selected as the optimal solution.
Case 4: Comparison with other energy consumption algorithms. Authors Sun et al. [
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–0.8 watt.
Simulation parameters.
Data size  3–50 KB 
Data transmission rate  5–20 Kbps 
Processing speed at IoT level  2–7 KB/s 
Machine speed at cloud level  3–9 KB/s 
Power consumption when the VM is on the state  0.2–1.2 W 
Power consumption when the VM is idle state  0.2 W 
Power consumption at IoT level  0.2–0.8 W 
Effect of crossover types.
Effect of mutation types.
Effect of the generation numbers.
Comparison between ETCORA and the proposed method.
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.
Impact of power consumption at IoT level.
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++ 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.
The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.
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—review. MH, SI, RM, and MA: editing. All authors contributed to the article and approved the submitted version.
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.