Abstract
One of the biggest challenges for Internet of Things (IoT) systems is traffic congestion in large networks. For this reason, the bandwidth should be increased in such systems. In addition, the issue of routing is raised in sending packets from the origin to the destination. Therefore, if there are many IoT devices in the network, it will increase the traffic, which makes faultless routing important in these networks. In this paper, a novel routing method based on Routing Protocol for Low-Power (RPL) is presented to minimize the energy consumption of the Internet of Things. Using the backward method based on the A* method to reduce energy consumption in a large graph, promising nodes are selected. A coordinate node is used to manage packets and transfer them. The selection of the coordinator node helps to receive packets with less energy and less delay from its neighbors, and the head node selects the best coordinator node with the shortest distance and the highest residual energy. The proposed method improves the energy consumption criteria, the delay between nodes, and the network overhead criterion by considering the estimated energy to the destination with the A* method.
Introduction
Over the past decade, the Internet of Things has emerged as a new technological revolution to connect all everyday physical objects to the Internet. The Internet of Things aims to create a huge global network of unique objects that can share information and complete planned tasks. The Internet of Things has brought significant benefits to its users. However, many factors must be considered to ensure optimal productivity. One of these factors is optimal routing with the least energy consumption. Also, one of the biggest challenges is energy consumption, which depends on the method of using limited energy in sensor nodes [1–4]. The Internet of Things can potentially improve how users interact with objects. The Internet of Things is defined as a global Internet of uniquely identifiable and addressable intelligent Internet of Things, which can interact and communicate with other intelligent objects. Each intelligent object includes a microprocessor, receiver module, sensors, and power supply [5–8]. A large number of devices with measuring capacity to monitor the environment are deployed in the Internet of Things. Each device needs to transfer the collected data to the base station, which may lead to unwanted additional overhead due to the similarity of the content. It can lead to bandwidth loss and network congestion. In addition, small smart devices or sensors are powered by a limited-source battery that is difficult to charge or replace. The sheer number of intelligent devices and the demand for ubiquitous connectivity are causing problems with energy consumption on the Internet of Things. In order to prevent disruption and increase the life of the network, the optimal use of energy has been widely considered [9, 10].
The advancement of technology and its effects are well felt in people’s lives. The IOT is also one of these technologies that can be used to send or collect data without problems and very quickly [11–15]. Fixed and mobile internet devices can easily perform very complex services very quickly. For example, storing big data in cloud environments helps a lot [16]. The IOT is a system of intelligent mechanical devices that are connected and can transmit and store data in cloud environments by digital machines and computing devices [17]. With all the advantages that IoT devices have, they have disadvantages and limitations with the increase in the number of devices in a network and traffic congestion. When traffic congestion increases, limitations include reduced security, increased energy consumption, and unbalanced loads. As mentioned, disadvantages and limitations mostly occur during traffic. Recently, high energy consumption in large networks is more attention [18–22]. IoT applications are becoming an important issue in the industry due to energy consumption [23–26].
Internet of Things systems has made low-power devices find many uses for Internet sharing. In addition, it makes data collection, storage, and exchange easily accessible to users. The deployment of such systems has led to changes in information exchange and better services. In the operation of smart devices, they are constantly sending data to the cloud; then data is analyzed in the cloud [27, 28]. As mentioned, parameters such as routing and energy are critical in smart networks and IOT devices. A smart network with proper routing and low energy consumption can cover a smart system well during data traffic.
The IOT can be considered as a global network, which enables monitoring and control of the world by sensor devices through data collection, analysis, and processing. By the end of 2020, the number of devices connected will reach 50 billion. This network supports communication between real-world sensor devices and their connections to the Internet. A standard routing protocol called Routing Protocol for Low Power [RPL] is proposed [29–31]. The importance of research is to propose a novel routing model for decisions in large networks that provide the required quality of service. Also, in terms of latency, routing counting, and power consumption, the IOT is the best possible case. Transferring large amounts of data over the Internet of Things can be problematic due to several issues. The first step does not provide the most advanced state of the art for optimal routing protocols for a large set of data generation devices, as is the case in smart cities. Some topologies may work with hundreds of thousands of devices to retrieve different data types. These devices may be stationary or movable, which makes navigation mechanisms more difficult [32, 33]. Second, IoTs implement device-to-device communications, which adds to the complexity of routing mechanisms, as more routes are possible to reach a destination. Step 3: Sensors that collect real data are usually fitted with low-life batteries. Therefore, in any navigation solution, energy efficiency should be considered a key parameter [34, 35].
In the research literature, there are a number of energy-efficient methods that deal with the issues regarding the limited resources available in the Internet of Things network and especially the energy required to transmit the collected information. In order to ensure energy efficiency and increase network lifetime during routing, most of the literature uses LRP-based clustering and routing approach.
Vasileios et al. presented an energy-saving scheme for the Internet of Things, which is called EES (Energy Efficient Scheme). This scheme effectively integrates two other schemes for energy efficiency, increasing network lifetime, reducing maintenance cost, and finding the shortest path for data transmission. This algorithm can convert the energy into electrical energy by changing the direction of harvesting energy from the surroundings or other external sources to feed the sensor nodes and increase their life [1].
In 2020, Fatemeh Safara and colleagues presented a priority-based energy-efficient routing method called PriNergy (priority-based energy-efficient routing method). This research is focused on energy consumption, in which a routing method based on priority and energy efficiency is focused. This method is based on the RPL routing protocol, which determines routing by content. This method uses timing patterns when sending data to the destination while considering video and audio data and considering network traffic in each network section. The network graph routing is controlled by a timer, based on the time and distance that are included in the packet [11].
In [18], an energy-efficient message scheduling algorithm with a common routing mechanism in the network layer in the Internet of Things is presented. The incorrect and incomplete state of Internet of Things networks is due to high battery consumption in data processing and transmission by nodes. In [36], a routing method called Fractional Gravitational Search Algorithm (FGSA) is presented for Internet of Things environments. This method is based on the algorithm inspired by the ant colony to solve complex problems.
In [37], a communication approach called Energy Efficient Communication Approach in Smart Cities (EECASC) with efficient energy in smart cities is presented, in this article, a decentralized method for mobile node mobility management in smart cities is presented. In [38], an energy-aware RPL-based routing algorithm based on an adaptive time-dropping algorithm has been presented in the Internet of Things, which is used to control the frequency of control messages. In [39], a scalable M2M routing protocol for wireless Internet of Things applications with energy saving is presented.
The primary purpose of this research is to provide a routing algorithm to reduce energy consumption in the Internet of Things. Sub-goals also include reducing packet sending delay, reducing routing overhead, and increasing node lifetime estimation time, respectively. The general structure of this article is as follows, the first part of the Internet of Things is introduced, and the subject and importance of this study are discussed. In the second part, the proposed system architecture is introduced and reviewed. In the third section, the proposed method is presented, and the solution to the problem is stated. In the fourth section, the proposed algorithm is presented. In the fifth section, the proposed method is simulated, evaluated, and compared with one known method. In the sixth section, conclusions and suggestions are presented.
System architecture
Recently, smart networks and Internet of Things devices are become very important [40]. IoT devices have become a major challenge in the industry due to their computing, consumption, and harvesting [41].
Figure 1 shows the architecture of the method [42]. Then the architecture of the proposed method is discussed. All parts of the network use timing patterns to send data considering the network traffic. Using this technique improves the routing protocol and avoids excessive traffic. Figure 1(A) uses most electronic devices in an IoT system and some sensors to collect data. One of the most important challenges is finding the most suitable routing for data transfer. Therefore, in the following RPL routing is used. The Internet is one of the important components in the IoT devices, which makes communication between devices possible and has an optimal connection to the network application. When a network has much traffic, much data such as videos and images are used. In small or low-traffic networks, video data is exchanged at specific times, as shown in Fig. 1(C). In Fig. 1(D), in RPL routing, data DODAGs send a request message to neighboring DODAGs to find their next node. Each node then identifies, creates, and maintains the DODAG.

PriNergy method architecture [11].
Time-division multiple access (TDMA) is a channel access method for shared networks that acts like a multiplex. Allows multiple users to share information at the same frequency by dividing the signal into different time segments. Data is transmitted quickly; users can send data using their time sections. It allows multiple stations to share the same transmission medium, such as a radio frequency channel while using only part of their channel capacity.
Challenges studied include energy consumption, the delay between packages, and packet overhead. The main challenge of this study [11] is to add a time package to the main package, which sends the packages in divided time intervals. Expecting too many packets leads to congestion reducing the remaining energy of the nodes, which is not considered in this study. To solve this problem, the proposed method can use the sleep technique to store the remaining energy of the node. Another advantage of the proposed method is the use of an estimated method, which calculates the estimated energy consumption of the path remaining to the target, which suggests the lowest energy consumption for the node. Figure 2 shows the proposed method architecture. First, an Internet of Things network is created. The data is then sent to the destination via coordinator nodes.

Proposed system architecture.
Energy routing and estimation are based on A*, solving the delay challenge and energy consumption. At each stage, energy consumption is monitored. Finally, the data is sent from the selected route to the final destination or users. The various sections of the proposed method are described below.
In this section, the proposed method is introduced and reviewed. The proposed method is divided into two objective functions, each of which is considered separately.
Objective function find path with low energy consumption based on A*
Using the regression method based on the A* method to reduce energy consumption in a graph, promising nodes are selected. If they look at the sub-branches of hopeless nodes, energy consumption increases. With promising nodes, they introduce routes with the least energy consumption. Through that node, there must be a route to the destination with energy below the threshold. The threshold is equal to the estimated energy from the source to the destination, calculated based on the estimation function f (n). In Equation (1), the function is based on A*, which calculates the estimated amount of energy consumed from the source node to the destination.ss
Where n represents the current node, g (n) represents the path taken from the source node to node n, and h (n) represents the function of estimating the residual energy consumption from node n to the destination node. In relation (2), the function g (n) is equal to the amount of energy consumed up to the current node, which is defined as follows.
Where CE
node
(n) is the amount of energy consumed by the current node, and CE
node
(j) is the amount of energy consumed by all nodes in the path to the current node. In the following, the Rank is calculated. The Rank of each node is equal to the lowest estimated energy consumption from the current node to the destination node, which is obtained from Equation (3).
EC
i
indicates the amount of energy consumed by node i. ET
i
, j indicates the amount of energy consumed by sending the packet. The estimated energy from node n to a destination node is calculated from Equation (4).
Rank j is the minimum estimated energy consumption between all leaf nodes to the destination node. The estimation function shows the lowest estimated amount of energy consumption from the current node to the destination node. By assigning a priority to each node, the efficiency and inefficiency of neighboring nodes are checked when transmitted and shared with neighbors. Nodes are selected as coordinators in each route, responsible for coordinating the sending and receiving of packets to prevent traffic and packet delays. The channel can be continuously inspected by clustering and selecting the header, and coordinating node. Using the degree of communication of each node, the node with the highest proximity and the lowest average distance to neighbors is selected as the coordinator in the cluster. The coordinator node monitors the channel traffic based on the packet (audio or video) sent by the neighbors and allows the packet to be sent. Creating coordination between coordinating nodes in a cluster reduces delay and channel traffic. The threaded node manages the coordinating nodes. The difference between the proposed method and other methods is in three innovation methods which include selecting coordinating nodes to send depending on the channel, selecting a rank based on the estimated energy of the current node to the destination path, and selecting efficient paths based on the rank of each node.
Nodes are selected as coordinators in each route, responsible for coordinating the sending and receiving of packets to prevent traffic and packet delays. The channel can be continuously inspected by clustering and selecting the header, and coordinating node. Using the proximity matrix, each node’s degree of communication (input-output) is calculated. The node with the highest proximity and the minimum average distance to the neighbors is selected as the coordinator in the cluster, which is calculated in Equation (5).
As avg (distance ij) represents the average distance of node i to its neighbors, input is the degree of input, and output is the degree of output to direct neighbors. The coordinator node monitors the channel traffic based on the packet (audio or video) sent by the neighbors and allows the packet to be sent. Creating coordination between coordinating nodes in a cluster reduces delay and channel traffic. The threaded node manages the coordinating nodes. The coordinator node counts all recent transfers from its neighbors. The transmitting node goes to sleep if the number of transmissions exceeds the threshold. Otherwise, it wakes up and sends a message to the neighbors to inform the neighbors of the current status of the node. Selecting the optimal threshold limits the redistribution limits, which are important in improving energy consumption. In each area, the head node is selected from the coordinating nodes, with the shortest distance to the neighbors and the highest amount of energy remaining compared to the other coordinating nodes. The selection of the cap is based on Equation (6).
The clustering and selection of cluster node and coordinate node are shown in Fig. 3.
As shown in Fig. 3, nodes N3 and N5 are the coordinating nodes in regions 1 and 2 located in cluster one. In cluster number one, the ch1 node is equal to N5 (the best parent), the best node selected among the children, and related to the ch2 and ch3 nodes. Each branch has the task of introducing the best route with the least energy consumption.

IoT network clustering.
Figure 4 shows the flowchart of the proposed algorithm. In the first step, the Internet of Things network is initialized. The amount of energy consumed by the sent and received package is calculated. Clustering is then performed, and a cluster is selected for each cluster. Direct and indirect neighbors’ energy consumption is calculated for each node. In the next step, the objective function f (n) is calculated to calculate the estimated energy consumption. After selecting the appropriate path to transfer the packet, each node announces its readiness to send it to the coordinator node. Objective 2 is then selected. If the bandwidth is free, the node wakes up and sends its ready packet based on the file type. Otherwise, the node will be dormant until the channel is released and the coordinating node prepares the current node to send the packet.

Proposed algorithm flowchart.

Energy consumption versus idle nodes time.
The following text shows the pseudo-code of the proposed algorithm. In lines 1 and 2 of this algorithm, text, audio, and video input packets are received, and the program output includes energy consumption, latency, and overhead.
In lines 3 and 4, the energy consumption sent and received by each node is calculated. Routing begins on lines 5 to 7, and for clustering, cluster nodes and coordinate nodes are selected for each region. In line 8, the neighbors’ direct and indirect transmitted energy is calculated. In rows 9 to 11, the estimated energy for each node is calculated using the A* tree. Then in rows 12 to 14, a coordinate node is selected. Then the packets are ready to be sent by target functions 1 and 2. Then, in line 15, each node announces its readiness to send the packet with the coordinator node after selecting the appropriate route to transfer the packet. Then, if the bandwidth is free, the node wakes up and sends its ready packet based on the file type. If the bandwidth exceeds the threshold, the video file is sent. Otherwise, the audio and text packets are sent, and the node is put to sleep. Until the channel is released and the coordinating node prepares the current node to send the packet.
IoT applications require excessive bandwidth usage and cause traffic congestion in the network core. Routing packets from origin to destination proves to be a challenging issue for IoT systems, especially in crowded environments. Routing with low energy consumption and low latency is an important issue in IoT. With the increase in the number of wireless IoT devices, energy consumption has become an important issue. The RPL routing protocol for a set of sensor nodes finds a path from the rest of the nodes to the root node.
In this section, the PriNergy method [11] and the results of the proposed method are simulated and evaluated in the MATLAB environment, and conclusions are drawn.
Simulation parameters
The proposed and PriNergy methods [11] are simulated in MATLAB 2019. Table 1 shows the parameters used in the Simulation.
Simulation parameters
Simulation parameters
The radio amplitude of the nodes is 250 m. The dimensions of the network are 1000 m×1000 m. The maximum number of nodes in the Internet of Things is 100 nodes. The simulation time is estimated to be 300 seconds. The size of packets sent in the network is 512 bytes. The energy consumption of each node is equal to 2 joules. The node’s speed is 25 m/s.
A comparison between the proposed algorithm and PriNergy [11] in terms of energy consumption is presented in this section. Energy consumption for data storage occurs at each node. In a smart network and Internet of Things devices, the node’s energy directly relates to the battery, which is limited energy. Figure 6 shows the amount of energy consumption according to the idle node’s time. The blue line corresponds to the amount of energy consumption in the PriNergy method. According to the figure, energy consumption decreases with a very gentle slope as the idle node’s time increases. The red line corresponds to the energy consumption in the proposed method. As can be seen, the energy consumption decreases sharply as time increases.

Energy consumption in different nodes.
According to the results of both methods, it can be concluded that in the proposed method, due to the reduction of energy consumption with a steep slope, increases the lifespan of the algorithm. As mentioned, the energy consumption reduction trend in the proposed algorithm is more than the PriNergy algorithm. The most important factor in the proposed algorithm is when the node is in sleep mode, and the node is idle, and the energy consumption is zero.
Figure 6 shows the energy consumption in different nodes. The proposed method against PriNergy is compared in terms of energy consumption for all nodes. As the number of nodes increases, the network power consumption for both algorithms decreases. As the number of nodes increases, both algorithms have a decreasing slope in network power consumption. As can be seen, the amount of energy consumption in the proposed method decreases more than in the PriNergy method. Therefore, it can be concluded that when the number of nodes and the density of the whole network increase, the proposed method consumes less energy.
The proposed algorithm’s good reduction in energy consumption is the use of the minimum energy consumption estimation method. It can be concluded that the proposed method has more optimal energy consumption in large networks.
Energy consumption according to nodes speed
Figure 7 also shows the amount of energy consumption according to the maximum speed of the nodes. As can be seen, for both algorithms, as the maximum speed of the nodes increases, the average power consumption also increases. But in the proposed method, the amount of energy consumption is lower than PriNergy method.

Energy consumption versus the nodes speed.
This better energy consumption is because when the nodes move at a higher speed, the overall network topology becomes faster. In the proposed method, according to the energy estimation based on the rank of nodes and the selection of leaf nodes with low rank, it can navigate the routes as little as possible.
Figure 8 shows the routing idle overhead of nodes. Routing overhead simulation results for the proposed and PriNergy algorithms are shown. As can be seen, the amount of routing overhead is almost the same when the nodes are idle. However, the proposed method has a lower value. The network layer’s total number of control packets is called routing overhead. These packets are sent during simulation time, including packet requests, packets responding with the requested route, and packets announcing blocked routes.

Routing idle overhead of nodes.
As shown in Fig. 8, the routing overhead decreases as the node idle time increases and the node mobility decrease. In the proposed algorithm, the packets are sent with the type of managed traffic due to eliminating routes with high energy estimation and coordinating nodes in sleep mode. The more idle the nodes are, the lower the overhead. As mentioned, for inefficient routes, fewer requests are sent to the network through it, which reduces the routing overhead. According to the results, it can be concluded that the proposed method has less overhead than the PriNergy method.
Figure 9 shows the average end-to-end delay in terms of node speed. The delay between two nodes is the time it takes for packets to reach their destination.

Average end-to-end delay according to node speeds.
For simulation, the number of nodes is 100, and the maximum speed is 25 meters per second (m/s). The idle time of a node or the sleep mode of a node is considered to be 1 s. According to Fig. 9, as the maximum nodes speed increases, the average delay between the two nodes in both algorithms also increases. This effect is obtained by changes in network topology and the number of inefficient paths. However, the average delay between nodes in the proposed method is less than PriNergy. The reason is the use of estimating and eliminating inefficient routes.
Figure 10 shows the average end-to-end delay of nodes. As node downtime increases, network changes decrease and become more stable. So, there is no need to redirect.

Average end-to-end delay of nodes.
Under these conditions, delays and inefficient routes decrease with increasing unemployment time. Due to the selection of the threshold for sending the packet in the proposed method, a further reduction in the delay is seen.
Figure 11 shows the average end-to-end delay of different nodes. When the maximum speed of the nodes is set at 25 meters per second (m/s), the energy of each node is considered to be 2 joules. The idle time is considered equal to 1 second (s). Figure 11 shows the average end-to-end delay of different nodes.

Average end-to-end delay number of different nodes.
As shown in Fig. 11, increasing the number of nodes has little effect on the delay between nodes. However, as the number of nodes increases and the network density increases, the average end-to-end delay of both algorithms decreases. By selecting the coordinator node, the amount of transmission delay is reduced, and by selecting the energy estimation function, the shortest remaining path is selected, and the delay between the two nodes is reduced.
In this paper, a new RPL-based routing method is presented to minimize the energy consumption of the Internet of Things. Using the backward method based on method A* to reduce energy consumption in a graph, nodes are selected that are promising. If they look at the non-promising sub-sectors, energy consumption will increase. With promising nodes, they introduce routes with the least energy consumption. Through that node, there must be a route to the destination with energy below the threshold. The threshold is equal to the estimated energy from the source to the destination, which is calculated based on the estimation function f (n). The proposed method improves the delay criterion between two nodes and the network overhead criterion by considering the estimated energy to the destination with method A*. The evaluation of the proposed method has been done using MATLAB software environment to compare energy consumption. The simulation results of the proposed method and PriNergy method [11] show that the proposed method consumes less energy than the PriNergy method. Also, comparing energy consumption against the idle time of nodes show that the proposed method performs better, and energy consumption against the number of different nodes in the proposed method is further improved. In the study of energy consumption against the maximum speed of nodes, the results showed that the proposed method performs more efficiently. In other results, the performance of the proposed method has a better performance in the idle time routing overhead node. The average end-to-end delay of the maximum node speed for the proposed method is lower than the PriNergy method, and the mean end-to-end delay of the nodes and the average end-to-end delay of the number of different nodes in the proposed method performs better. For future works, the proposed solution can be applied to in-vehicle networks, combining the Internet of Things and fog computing and the Internet of Things and wireless sensor network. In addition, it is possible to introduce a meta-innovative algorithm for managing transmission packets for routing in IoT nodes. In the future, to improve the efficiency of the clustering mechanism and different solutions will be concentrated.
Footnotes
Acknowledgments
This work was supported by the Key scientific research projects of colleges and universities in Henan Province (No. 21B440002).
