Comprehensive Optimization of Energy Consumption and Delay Performance for Green Communication in Internet of Things

Energy efficiency as well as fast data transmission is vital to green communications-based applications for Internet ofThings (IoT). Wireless sensors, which constitute one of the important parts of IoT, adopt duty cycle operating mode to save energy. Although duty cycle operating mode will decrease the energy consumption of sensor nodes, it leads to a larger communication delay. In this paper, a utility-based adaptive duty cycle (UADC) routing algorithm is proposed to increase energy efficiency, reduce transmission delay, and keep long lifetime at the same time. First, UADC routing algorithm adopts a comprehensive performance evaluation function to evaluate the utility of choosing different relay nodes. Then it selects the node which maximizes the utility of the system to perform data relay. The utility function synthesizes comprehensive indexes like the reliability, energy consumption, and delay of the node. UADC routing algorithm adopts a high-duty cycle operating mode in the areas which have more remaining energy to decrease the delay. And a low-duty cycle operating mode in the energy-strained areas is adopted to ensure a long lifetime. The simulation results also prove the significant performances of our proposed algorithms.


Introduction
Internet of Things (IoT) connects physical objects such as thermostats, refrigerators, and vehicles to the Internet over the wireless medium and enables them to share information and coordinate operations [1][2][3][4].With applications in many domains that include transportation, healthcare, manufacturing, home automation, and the power grid, IoT plays a remarkable role in improving the quality of life and growing the world's economy [5][6][7][8].Wireless sensors are one of the important parts of IoT [9][10][11].According to deploy wireless sensors in the areas to be detected, by means of selforganizing network, these wireless sensors send the sensed data back to the information center to be stored and analyzed in real time [12,13], so that human beings can get ubiquitous perception.However, since wireless sensors generally use the battery for power supply, their energy is limited [14,15].Researchers have proposed various measures to prolong the lifetime of wireless sensors.Among them, one of the most effective ways is to make nodes using the periodic work and sleep operating mode [16,17].The sensor nodes can turn off the wireless antenna and data transmission device when in the sleep state.Thus the energy consumption of the node is 1/1000 of the working state, greatly saving the energy.
The events or objects the sensor nodes perceived last for seconds, minutes, or even hours; on the other hand, the sensor nodes periodically rotate their work patterns in milliseconds, so that they do not affect the observation of surrounding physical phenomena while saving a lot of energy.However, the use of duty cycle work pattern enormously impacts the communication delay.The underlying reason is that when the node is in sleep mode, no data are received or sent.Accordingly, when there are data to send, communication will only be achieved when the node is awake, thus increasing the delay.Additionally, if the duty cycle of a node is decreased, though it costs less energy when the duty cycle increases, the delay increases as well.
On the other hand, the quality of wireless communication link is not as good as that of the wired one, where its reliability is relatively low.The research shows that the reliability of some wireless link is less than 90% or even lower [16][17][18][19].When selecting the relay node, the node should go with the one of high reliability which requires less retransmission times to the energy consumption and acquire a minor delay [16,17].Thus, selecting relay with high-quality links has important significance [9].
The selection of the relay node is also associated with the energy of the node.Obviously, the node with higher residual energy should be selected for data forwarding, since selecting the nodes with less residual energy leads to an unbalanced energy consumption between nodes, resulting in the early death of some nodes.In most studies, network lifetime is defined as the first dead time of the node [20,21].Therefore, nodes with more residual energy should be chosen to balance energy consumption, which is beneficial to prolonging the service life.
In summary, when selecting the next-hop node in routing, we should consider various factors comprehensively.The problem is a multiobjective optimization problem [16,17].There have been some related studies, where utility function is a widely used research method [11,19].Its principles are as follows: one or more performance indicators are transformed into a target value by the utility function, and the node with the highest target values will be selected as the relay node when routing.Xiao et al. [11] put forward the concept of utility function.In their studies, utility function is described as the synthesis of link reliability and cost.Some other researches on the comprehensive optimization also used utility function [19].But there are some areas which have not been discussed in previous studies: (1) many studies only combine one or two performance indicators, so the results of their integrated optimization are limited.Obviously, it will be of great significance to IoT communication if energy, delay, and reliability could be all optimized at the same time.However, few studies have been done to achieve that.(2) The previous studies often only optimized the utility function.Since each node only gets the information about itself and its data forwarding set nodes, even if each node gets the optimal utility, overall, it is not necessarily optimized.Therefore, unlike previous studies, UADC not only optimizes the comprehensive performance index but also optimizes the network delay from the global perspective.This algorithm is comprehensively optimized after overall optimization, so that the algorithm gets a better performance than the aforementioned optimization algorithm.In conclusion, the main contributions of this work are listed as follows.
(1) Increasing the duty cycle of the node can effectively decrease the delay.Therefore, if the duty cycle can be effectively increased without affecting other performance, the delay can be lowered.With the energy balance seen as a whole, the node adaptive duty cycle adjustment strategy is proposed to balance the energy consumption of nodes in distinct areas of the network.Thus, the energy consumption of nodes can be extended as much as possible without exceeding that of the largest energy consumption nodes in the network, while the duty cycle of the nodes with remaining energy is greatly ensured.It has wide applicability in that it effectively reduces delay and can be applied to many additional strategies.
(2) Because the duty cycle of most of the nodes can be improved effectively in the network, a novel utilitybased adaptive duty cycle (UADC) routing algorithm is proposed to improve the energy efficiency while reducing the communication delay and keep a long lifetime.The energy consumption and reliability of the link are analyzed and considered in this paper through the utility function.Theoretically, the maximum number of retransmission times of energy consumption per unit transmission bit is obtained so that the data transmission energy efficiency is maximized.In the design of the benefit function, the forwarding nodes with small unit transmission bit energy consumption, high remaining energy, and minor delay result in a superior benefit value.Therefore, those with high energy consumption, low residual energy, and huge delay should be avoided.Consequently, the energy efficiency will be brought up, with the energy consumption being balanced and the data transmission delay being small.Meanwhile, the UADC routing algorithm can obtain optimization effect from the whole to partial synthesis by choosing the link that maximizes the system's profit function and the adaptive duty cycle.
(3) Through our extensive simulation study, we demonstrate that both delay and energy efficiency can be enhanced simultaneously using the proposed UADC routing algorithm.Comparing with the previous optimization approaches, UADC routing algorithm optimizes the network energy from the global and local levels.At the global level, UADC can take full advantage of the remaining energy of nodes to increase duty cycle to reduce delay.At the local level, by optimizing the function, UADC chooses the node with higher energy efficiency and more residual energy to make the network energy consumption less and more balanced.Theoretical and experimental results show that UADC routing algorithm can improve energy utilization rate in more than 32.3% with the delay reduces by 77%.
The rest of this paper is structured as follows.In Section 2, the related works are reviewed.The system model is presented in Section 3. A novel UADC routing algorithm is proposed in Section 4. Section 5 shows the experimental results and comparison.Finally, we conclude this paper in Section 6.

Related Work
Internet of Things (IoT) is composition by large number of sensor nodes, which plays a more and more important role in national production and life [22][23][24].Although tremendous efforts have been made in advancing IoT technologies, green IoT still faces significant challenges from many aspects [24][25][26][27][28][29].In general, the challenges mainly include the following aspects.
(1) The Energy Consumption Efficiency.The energy consumption efficiency is the most important challenge of sensor nodes all the time.Researchers have made a lot of efforts to minimize the energy consumption of nodes and carried out researches from the MAC layer to the network layer in many aspects.Firstly, optimizing the MAC layer can effectively improve the utilization of energy, because the transmission in wireless network involves many factors, such as transmit power mode, transmission distance, transmission power, and packet size [11,14,16,17,20,30,31].Therefore, the energy consumption of the nodes can be optimized if the transmission power of nodes is optimized.Similarly, the choice of the appropriate transmission range has also expressed the same meaning.The routing process for nodes to transmit data to the sink is faced with the problem of one-hop length selection.In such a problem, nodes can send packets through the expansion of the transmission power, and with fewer hops to reach sink, nodes can also adopt the opposite approach.This is an optimization problem.Chen et al. [19] have studied how to determine one-hop length and corresponding transmit power; in order to minimize the total energy consumption, they proposed a method of how to select the optimized one-hop length.However, it should be pointed out that this way is not necessarily able to improve network lifetime although it can minimize the total energy consumption.Because the network lifetime is often defined as the time when the first node dies, lifetime is determined by the energy consumption of the node with the highest energy consumption in the network.Therefore, the strategy of minimizing the total energy consumption of the network is often not necessarily to maximize the network lifetime [30].
Obviously, if the parameter optimizations of the MAC layer and the network layer are combined to conduct the socalled cross-layer optimization, the network performance can be improved better.Based on above thought, by optimizing the deployment of the number of nodes, nodes' deployment location, and nodes' transmission structure, Xiao et al. [11] and Zhang et al. [18] carried out cross-layer optimization from the MAC layer and the network layer at the same time, which resulted in a better network performance [31].
Actually, the transmission mode and the transmission power of nodes are also related to the data transmission rate.Thus it is related to the data transmission delay.Studies [20] have shown that when the node adopts a high data transmission rate, its energy consumption will increase very fast.But at this time, the rate of data transmission is improved, thus making the data transmission delay reduced.This kind of research can be found in our previous work [20].
There are many studies on the energy efficiency of the network layer [11,31].In the study of network layer, it is generally assumed that the parameters of the MAC layer are fixed, and the main researches are routing algorithm and strategy.In early research work, the research on routing layer mainly focuses on how to minimize the energy consumption of network routing.For example, Ettus proposed the socalled MTE (minimum transmission energy) routing scheme [32]; in such routing strategy, the principle of selecting relay nodes is to minimize the total energy consumption of transmitting a packet from the source to the sink.But later studies have found that the strategy of minimizing the total energy consumption of routing often makes nodes which are often selected in the routing continue to be selected in the later routing, so that the energy consumption between nodes is not balanced and some nodes die early, thus affecting network lifetime.The routing algorithm in the later not only considers the total energy consumption of the routing, but also considers choosing the node which has the maximum residual energy as relay node, so that the network energy consumption is balanced, thus improving the network lifetime.In many studies, the cost function is adopted to measure the consumption of different relay nodes, and then the least consumed nodes are chosen as relay nodes.In fact, these cost functions are equivalent to utility functions.In our previous work [30], we summarized the features of cost function used in routing.Then, we point out the principle of designing cost function in theory and give the standard of evaluating the cost function, which has good guiding significance for routing based on cost function [30].
(2) Research on Data Transmission Reliability.In most studies, the node transmitting mode is (0, 1) mode.In this mode, if the receiving node is within the sending radius of the sending node, the data can be received absolutely [14,20,26].However, the nodes outside the sending radius cannot receive the data completely.Obviously this is a simplification of the model.Thus there are many studies using the non-(0, 1) model.In the non-(0, 1) model, the probability of receiving the data is different with different distances from the sending node.The probability of receiving data in the nodes near the sending node is very high, while the probability of successful reception decreases with the increase of the distance.Therefore, the factors affecting the reliability of data transmission are also very much.First, the factor affecting the transmission reliability of the link is the transmit power of the node.In the same transmission distance, the greater the transmit power of the node is, the higher the reliability of data transmission is and the more the energy consumption is.Due to the increased reliability of data transmission, the energy consumption for successful transmission of unit bits also can be optimized in unreliable wireless links.The optimization results were given in our previous work [14,20,33].
On the other hand, the reliability of data transmission is also related to delay.Although wireless link is unreliable, many methods can be used to guarantee the reliability of routing in network layer.The main adopted methods are as follows.(a) Adopting retransmission mechanism [26]: in such studies, if a node fails when transmitting packets, it will improve its reliability by sending the packets again or repeatedly.Obviously, each transmission takes time.So if the retransmission time is more, then the data transmission delay will be larger.The retransmission mechanism is also divided into many kinds; some adopt ACK feedback mechanism, and others do not use ACK feedback mechanism and adopt automatically retransmitting repeatedly method.These studies can be found in [11].Retransmission mechanism also involves energy consumption.If the node retransmits packets multiple times, then it will consume multiple energy.Thus, the optimal relation among reliability, delay, and energy consumption is very complex.(b) Adopting encoding mode: in such studies, the sending node encodes the data before transmitting, and the receiving node decodes it to get the original data.Because of the use of redundant coding, it is possible to receive the correct data even if the receiver misses some of the data [14].(c) Cooperative communication methods [13]: cooperative communication method is developed from MIMO (Multiple-Input Multiple-Output) method.It is an effective method to combat fading of wireless network, increase transmission rate, and improve the reliability of communication systems.Thus, the real time and reliability of data transmission are improved by cooperative communication method.
(3) Delay Research on Data Transmission.Through the previous analysis we know that data transmission of delay involves multiple aspects and they are summarized as follows.(a) Delay in MAC layer: if the node adopts a larger transmission power, then the one-hop distance will be larger.Thus the number of hops required to reach sink is reduced, thereby reducing delay.Even without the increase in one-hop distance of nodes, due to the improvement of the reliability of data transmission, thus reducing the number of retransmissions, the delay will be effectively reduced [16,17].In addition, according to [20], increasing the data transmission rate of the nodes can also effectively reduce the delay.(b) Delay in network layer: because the deployment of sensor nodes is dense, therefore, when transmitting packets, the node can choose a node from several forwarding nodes to relay.At this time the node may select the nearest node from the sink to reduce the number of hops, thus reducing the delay.
The above studies assumed that nodes are in work state all the time.But in order to save energy, in many applications nodes are working in a duty cycle state [11,16,34].In such networks, the data transmission delay is greater than the delay in the previous research.The reason is that nodes are periodically in sleep and work states.Therefore, when nodes have data to transmit, its forwarding nodes may be all in sleep state, resulting in sending node which needs to wait for its forwarding nodes to be awake before data transmission.Because the node's duty cycle period is much larger than the time used for data transmission, data transmission delay in the network whose nodes are in duty cycle mode is much higher than the network whose nodes are always working.And in this way, when node has data to send, the node that wakes up first is not necessarily the node which is the nearest to the sink; it may be very far from the sending node; thus it is a dilemma that the sending nodes should continue to wait for the nodes closer to the sink to wake up or send the data to the awake node immediately.If the node sends the data immediately, the distance of each hop is less; thus the data need more hops to reach the sink.And the delay of each hop is larger, which results in a very large end-to-end delay.If the node chooses to wait for the nodes closer to the sink node to wake up, although the distance of each transmission is longer, the number of hops needed to reach the sink node is less.But maybe the sending node will find that the awake node is farther away from the sink node than before after waiting for some time.At this time, in the case of the increased delay, we did not get better results.What is more, if the sending node needs to wait for the node near to the sink for a very long time, then its delay increases much more.Altogether these lead to the problem to choose relay nodes more complex [16,17].
For such a complex problem, using the utility function is becoming an inevitable choice.There are some other utilitybased researches.The benefit function of early research is usually a single performance index.For example, Chen et al. [19] made utilization efficiency defined as network lifetime per unit deployment cost.Recent studies have combined multiple indexes as a utility function.For example, there are researches integrated the residual energy and the total energy consumption as a cost function, while in [11], in addition to the reliability of the link, the other influencing factors are represented by cost and then integrated them into the utility function to optimize.But from a global perspective, optimization of utility function is a kind of optimization in local level, and it is a kind of optimization of each node in its own local field of vision.But from the whole point of view it is not necessarily the best way.Therefore, in this paper, utility-based adaptive duty cycle (UADC) routing algorithm carried out optimization on the basis of the global level.Then the local level is optimized by using the utility function of multiple factors.Thus, the effect of comprehensive optimization can be obtained from both local and global perspective.

Network Model
(1) We consider a WSN which is made up of  sensor nodes with a sink node situated at the center.The initial duty cycle of each sensor node is  ini .As soon as the source node generates a packet, the packet will be transmitted to sink node by the UADC algorithm we proposed.(2) For the purpose of reducing the energy consumption.
There are two possible working states of each sensor: the active state and the dormant state.When the sensor is in the active state, it will turn on the whole functional modules including sensing, listening, receiving, and transmitting.In the dormant state, the sensor cannot perform any function except for a wake-up timer.(3) We divide the time into the same time slots and the network is based on synchronization.It is proved that the time slots are large enough in previous studies [1,34], so we can ignore the time synchronization error.(4) The wireless communication is unreliable, and the existence of collision is dealt with by the CSMA/CA mechanism.It is proved that the quality of the link varies very slowly as time goes by, so it is reasonable that the link reliability can be evaluated by the probability of the successful transmission derived from historical data.(5) In this paper, we adopt the retransmission-allowed setting when transmitting packets, which means that when a node transmits packets, the packets can be transmitted multiple times to improve the success rate and the utility.

Utility Model.
When the node is transmitting packets, the node will assign an initial benefit to each packet.Once a packet is generated from the source node, its benefit will decrease linearly as the time goes by until it arrives at the sink node.The packet will be discarded if its benefit reaches zero.Regardless of whether the packet delivery is successful or not, the delivery in each hop will cost energy and cause a cost.The utility can be calculated as the remaining benefit subtracts the whole cost.We define the remaining benefit in Definition 1 and define utility in Definition 2.
Definition 1. Suppose () is the remaining benefit of a packet, which is a benefit function decreasing linearly as time goes by if the packet is transmitted to the sink node successfully; otherwise, the remaining benefit is zero.We denote the initial benefit as  and denote the benefit value decreased in every time slot as .Thus the remaining benefit can be calculated as where  is the lifetime of the packet.The benefit of packet is maximum when a packet is newly generated ( = 0).The maximum live time of the packet is /; if the whole delivery time is beyond /, the packet will be discarded; thus () will be zero.

Definition 2. The total transmission cost is denoted as 𝑐;
suppose  is the utility of a packet delivery, which equals the remaining benefit subtracting the total transmission cost of the packet delivery.The utility can be calculated as In the definition, the utility is calculated using the dimensionless calculation mode.Suppose a packet delivery from the source node   to the sink node  +1 .If the packet arrives at the sink node successfully with the delay   , the utility would be (  ) − ; the utility would be (0 − ) if it fails.The utility value is determined by the path reliability, the benefit, the transmission cost, and the delivery delay.
As is shown in Figure 1, we consider a packet sent from node   to node   .The initial benefit is 50, and the benefit value decreased in each time slot is 1.The transmission delay can be calculated as   = (0.8,1).The remaining benefit   () will be 0.8 * (50 −   * 1) = 40 − 0.8  .Therefore, the utility can be calculated as   = 40 − 0.8  − 5 = 35 − 0.8  .

Energy Consumption Model.
Since sensor node's energy resource is constrained, and it is extremely difficult to replace or recharge the batteries of sensor node, energy efficiency is another vital issue.For the purpose of saving energy and the sensor nodes not working all the time, it would be better if the nodes are set to sleep-wake cycle to work periodically; that is, The original duty cycle nodes adopt Calculation specific the sensor nodes can periodically switch on and off due to a normalized duty cycle.The duty cycle (denoted as ) of a sensor node is defined as its active/working period.
where   is the duration when the sensor node is active and  off is the time duration when the sensor node is dormant.When a node is in active state, it can detect event and communicate with its neighbor nodes.And when it is in dormant state, it will close all the communication unit; therefore, it can neither detect event nor communicate with other nodes.When a node is in active state, the power consumption is mainly composed of two parts: the power used to send or receive packets and the power to perform the Low-Power Listening (LPL) operations.When a node is in dormant state, the power consumption is composed of the wake-up timer.
The main parameters of system model adopted in this paper are similar to those in [30].The device-specific values are taken from the internal data-sheet of a prototype sensor node by Thales.The values of the parameters are listed in Table 1.

Problem Statement.
Similar to the utility-based routing in the previous researches [1], our goal is to design a routing scheme which has maximum utility of each packet delivery under the premise of not reducing the life time of the system.In this paper, we consider a WSN which is made up of  sensor nodes with a sink node situated at the center and  source nodes.The initial duty cycle of each sensor node is  ini .The initial benefit is  and the benefit decay coefficient is .Then, the issue is how to adjust the duty cycle of each node and determine the next-hop node to transmit packets, on the purposing of maximizing   .Definition 3. The utility from the source node to the sink node is denoted as   .  depends on the delay and the routing selection.Let   stand for the utility from the source node   to the sink node; then the utility can be expressed as And for the convenience of readers to understand this paper, Notations section summarizes the notations used in this paper.

Main Design of UADC Scheme
In this section, we focus on the duty cycle and delay analysis.First, we calculate the energy consumption of each node according to the data load.Then we calculate the duty cycle each node can adopt and adjust each node's duty cycle according to adaptive control of duty cycle (ACDC) algorithm.After adjusting the duty cycle of each node to decrease the end-to-end delay, we propose the utility-based adaptive duty cycle routing algorithm, that is, UADC.

Energy Consumption Analysis.
In this subsection, we need to calculate the data load of each node first and then calculate the energy consumption of each node according to the data load.The value is given by theoretical analysis.
In planar networks, the network radius is denoted as , the data generation rate is , and each node generates one data packet in a collection period,  duty .According to [35], the data amount of the node whose distance to sink is  m can be calculated as : where  = ⌊( − )/⌋.
In layered networks, the data amount of a node is determined by the number of its parent nodes.Assume that the number of parent nodes of node   is   ; the data load    of node   can be calculated as The number of child nodes of node   is denoted as   ; thus load  satisfies Therefore, the node which has more parent nodes or closer to the source node usually loads more data.The nodes which load more data will cost more energy.If all the nodes adopt the same duty cycle, there will be much energy left when the network dies.Assume that the initial total energy of node   is denoted as   ; the remaining energy of node   when the network dies is denoted as   ; then the energy utilization ratio   of node   can be calculated as (  −   )/  .Through the previous analysis, we know that the energy utilization ratio can be improved by using the remaining energy.And the way to make full use of the remaining energy is to improve the duty cycle of the nodes.Thus we need to adjust the duty cycle of each node according to its remaining energy.
Theorem 4. The total energy consumption of node   in one cycle satisfies Proof.The average power used for transmitting an alert packet satisfies where     is the energy spent for transmitting a data packet and ( duty /( pr +   ) + 1/2)(    +    ak ) is the energy consumption for the preamble transmission in one period [18].We take the arithmetic mean of the best cases and the worst cases as the average of preamble transmissions.
The energy used to receive a packet is     and the energy used to receive the preamble and the transmission of the ACK message [30] is (   pr +    ak ).Thus, the power used for receiving a packet satisfies According to [30], the power used for LPL satisfies Because we have calculated the energy used for transmitting and receiving the data in ( 9) and (10) in active state, subtracting    and    from   LPL is necessary in the above formula.Obviously, the node which is closer to sink node loads more data, so the time duration for transmitting or receiving packets is more and the time duration for performing LPL operations is shorter.  LPL will decrease with the increase of    and    .According to [36],    can be calculated as According to [36],    can be calculated as

Duty Cycle Calculation.
According to the energy consumption of each node under SDC scheme, that is, when the nodes in the network are initialized with the same duty cycle, we can calculate the largest duty cycle (denoted as   ) that each node can adopt on the premise of not reducing the lifetime of network.Then, according to the largest duty cycle of each node, we can perform the adaptive control of duty cycle (ACDC) algorithm we proposed in the next subsection to adjust the duty cycle of each node.ACDC algorithm is able to decrease the transmission delay, which results in a higher utility when transmitting packets.And the duty cycle of each node will reach an equilibrium point after several adjustments, which is able to achieve a very low packet delay and guaranteed the lifetime of the network at the same time.Suppose all the nodes except for the sink node have the same energy in the beginning. max is the maximum energy consumption of the nodes in a certain flow of network and for another node,   , whose energy consumption is denoted as   in the same flow.The difference between  max and   is the remaining energy of node   : The energy that node   keeps when the network is dead can be used to prolong its active time in a period and the lifetime of the network is guaranteed.As the energy remains more, the active time of the node can prolong more.
Proof.According to Theorem 4, the largest energy consumption of flow Θ satisfies where  max LPL ,  max  , and  max  can be calculated by ( 2), (9), and (8), respectively.
Similarly, the energy consumption of node  Θ  satisfies Then the remaining energy of node  Θ  can be calculated as The node  Θ  can obtain its largest duty cycle Φ max when  max −   = 0. Put ( 9), (10), and ( 11) into (15); the largest duty cycle Φ   satisfies where In every data period, each node will store its energy consumption of the whole period.Then in the next period, when the node generates packet, the energy consumption in the last period will be included in the header of the packet.When the node receives packet from its neighbor node, it will compare its energy consumption with the energy consumption stored in the packet header, that is, the energy consumed by its neighbor node.If the node consumes more energy than its neighbor node, then its own energy consumption will replace the energy consumption in packet header.And continue this process until the packet is transmitted to sink node; thus the sink node can get the biggest energy consumption of the whole flow.And the sink will calculate the average E2E delay of every flow at every period.We denote the calculated E2E delay of flow in period   as    and the delay in the next period as   +1 .If    and   +1 satisfy where  th is the threshold delay for performing ACDC algorithm, then the algorithm should continue performing in period  +2 .The equation shows that, after the adjustment of ACDC algorithm in period  +1 , there are still a lot of nodes having enough energy left to enlarge the duty cycle.So in period  +2 , the algorithm should continue performing (when   = 0, the ACDC algorithm will be performed unconditionally).However, if (23) does not set up, which means nodes do not have enough energy remained to enlarge the duty cycle, the algorithm should stop to avoid declining the network lifetime.The network will perform the less adjustment rounds with the increase of  th , but energy unused will be more and the E2E delay will be longer, which will not be shorter than  th .The method of feedback to adjust the duty cycle is as follows: when the sink node receives the packet, it will store the largest energy consumption of the entire flow  max in an ACK packet.When the node   receives a ACK packet, it will compare its own energy consumption   with  max .If   =  max , it will not adjust its duty cycle.If   <  max , it will compute its largest duty cycle Φ   first and then enlarges its duty cycle by (24).Assume that the duty cycle adjusting rate in every round adjustment is  Δ ; then the duty cycle of the node after adjustment, denoted as Φ adj  , satisfies This strategy can control the duty cycle of node dynamically according to its energy cost.From (19) we know the energy consumption in far-sink area is smaller; thus the duty cycle of the nodes in far-sink area is smaller.So the value of (Φ  − Φ) is larger, which results in a larger increment of the duty cycle.
The ACDC algorithm for reducing transmission delay on the premise of not harming the lifetime of network is given in Algorithm 1.

Utility Analysis.
In the subsection, we first propose the way to calculate the average delay.Then, we define the meaning of cost in this paper.At last, we put forward the formula to calculate the expected utility and illustrate the formula through an example.Theorem 6.The average delay for the node   to transfer a packet to its neighbor satisfies where  is the number of the relay nodes of node   .
Proof.As shown in Figure 6, assume that the wake-up instants of the relay nodes are equally distributed over a period  duty , which are denoted as { 1 ,  2 , . . .,   }.Then the whole period is composed of  equal disjoint intervals.Thus, a node can transfer its packet to its neighbor within  duty / because there must be a neighbor in active state.When we calculate the average one-hop transmission delay, only one interval is needed to be taken into account.We suppose that there are only two states in the communication system of node, turn on and turn off.The probability that a node begins its transmission when the relay node is active is Φ, and the delay is   +  ack +  pr .On the other hand, the probability to be in off stage is (1 − Φ) for a node.We also simply calculate   as the arithmetic average between the best and worst cases.The best case is when a node starts transmitting its packet exactly at the time the relay node starts performing its LPL operations, so that the packet can be transmitted exactly after   +  ack +  pr , while, in the worst case, the transmitting node needs to wait for the whole duration of the sleeping interval.In addition, in order to start the communication, the worst case takes into account that two transmissions of the preamble may be required in order to start the communication.In this case, the delay is (1 − Φ) ⋅ ( duty /) +   +  ack +  pr .At last, we take into account the delay related to the case with the receiver on and scaled by its probability of being on; formula (25) for   can be obtained.
Considering the total energy consumption of node   in one period is denoted as   and the initial energy of node   is denoted as   , then the cost of node   can be calculated as where  is the adjustment coefficient.
In the previous work [2], the cost usually refers to the energy consumption when transmitting packets.If a node has a higher cost, it means that the node costs more energy in one period.However, in the actual situation, the same energy consumption has different effects on the nodes with different initial energy.Thus, in this paper, the cost is related to the ratio of   to   .If a node has a higher cost in the network, it means that the energy consumption ratio is higher, and the node will have a shorter lifetime.We consider a nonretransmission delivery path on linear network, which can be shown as in Figure 2.
The expected utility from sink node   to the sink node   is denoted as   .Assuming that the probability of successful transmission is known, we can get the value of delay and cost through the previous analysis.We can propose the formula by calculating the utility values in different cases.
Theorem 7. The delay between nodes   and  +1 is denoted as  ,+1 .The expected utility   for transferring the packet with an initial benefit  and a benefit coefficient  on linear network can be calculated as Proof.We can obtain (27) by calculating all the possible delivery cases and summing the utility values according to the probability of each case.
If the packet is transmitted successfully, denoted as suc, which means the packet delivery in each hop is successful, then, the whole delay is the sum of the delay in each hop, that is, ∑ −1 =0  ,+1 .In addition, the probability of the successful delivery  suc , the benefit  suc , and the total cost  suc can be calculated as If the packet transmission is failed at the hop " to +1", (0 ≤  ≤  − 1), denoted as fail-, the benefit will drop to zero, and the probability, benefit, and total cost satisfy The excepted value of the utility   satisfies Putting ( 29) and ( 30) into ( 28), ( 27) can be obtained.
Theorem 8.The excepted utility values of a node   and its relay node   can be calculated as Proof.According to (23), the utility values of node   and node   are Comparing   (  ) with   (  ), we derive the following formula: Since node   is the neighbor of node   , according to (28), the benefits of node  and node   satisfy Figure 3 gives an example of how to calculate the expected utility.We can also directly get the utility value of node   according to (27).But in reality, a node usually derives its own expected value after it receives the expected utility value of its neighbors.
Figure 3 shows an example to calculate the expected utility.First, according to (28), we can get the benefit of node   and node   .Then, according to (31), the utility of node   and node   can be calculated.Therefore, the utility of sending the packet from node   to node   is 36.4.

Relay Node Determination.
The algorithm consists of three stages: the adjusting stage, the initialization stage, and the routing stage.In the adjusting stage, each node should use the ACDC algorithm we proposed before to enlarge its duty cycle to decrease the delay.In the initialization stage, each  node will calculate its largest expected utility and determine the next-hop relay according to the utility.In the routing stage, each node will transfer packets to its next-hop relay.Therefore, we can achieve the best expected utility.The way to determine the relay nodes is presented below.First, each node will calculate the data load of each node first and then calculate the energy consumption of each node according to the data load.After computing the energy consumption of each node, each node will adjust its duty cycle to decrease the delay on the premise of not harming the lifetime of the network.
Then, each node will iteratively calculate its own utility values.From Theorem 8 we know that each node needs to know its neighbors' utility values to calculate its largest utility values.Therefore, it will send the requests to its neighbor nodes to ask for their utility values in the cycle.
After receiving the utility nodes from their neighbor nodes, each node will calculate the expected utility value of itself.The process continues until the iterative process converges.The process is beginning by the source node which will send the request   =? to its neighbor nodes.
Third, node   will record the information of the packet in a routing table, which is denoted as ⟨  ,   (  ),   (  )⟩, and   is the remaining benefit,   (  ) is the relay node determined by node   , and   (  ) is the excepted utility of node   .When node   receives a request from a neighbor node or itself, it will produce a record ⟨  ,   (  ) = −∞,   (  ) =?⟩ in its routing table.Next, it calculates its expected utility.Then, the node will determine the relay node by Theorem 8.At last, each node will choose the largest utility as its own expected utility and the corresponding neighbor node will be the next-hop relay.The excepted utility   (  ) and the next-hop relay   (  ) satisfy where   =   −  ⋅  , , and At last, the excepted utility of the sink node is the remaining benefit of the sink node, which means Another core issue we discussed in this subsection is the retransmission times.For the problem, there are two different cases.One is the time slot being large enough; thus the retransmissions will happen in a single time slot.The other is only a single time slot being not large enough and the retransmissions may happen in multiple active time slots.(40) Proof.After  times retransmissions, the probability of successful transmission becomes 1 − (1 −  , )  .What is more, the cost is  , .Therefore, the excepted utility after  times retransmissions can be calculated as According to (39), we can calculate the expected utility for the  + 1 retransmissions as If   is the optimal retransmission times, then it satisfies (1 −  , )   ,   (  ) −  , = 0; then we can get Since  is a positive integer, the retransmission times can be calculated as where  is the most retransmission times which can be included in an active time slot.48); (7) if Δ( low )Δ( mid ) < 0 then (8)  high =  mid ; (9) else (10)  low =  mid ; (11)  * =  low Algorithm 2: Determining the optimal retransmission times.
Proof.Compared to the retransmission in a single time slot, the retransmissions in multiple time slots will result in an extra delivery delay.The  times retransmission will occupy ⌊/⌋ active time slots.
Assume that node   transfers packets to its next-hop node   with  retransmission times.Then, probability of successful transmission of th (0 ≤  ≤ ) retransmission is (1− , ) −1  , .The retransmission will cause a corresponding delivery delay ⌊/⌋.Thus, the remaining benefit of node   will decrease ⌊/⌋, and the expected utility of node   becomes   (  − ⌊/⌋).What is more, the cost of  times retransmissions is   .Therefore, the expected utility with  times retransmissions can be calculated as (40).
Based on (40), we can compute the optimal retransmission times  to get the maximum utility   (  )|  .We denote the optimal retransmission times as  * .We have the following theorem about  * .Theorem 11.When node   retransmits a packet  times to its next-hop node   , the expected utility of node   will decrease with the increase of the retransmission times.What is more, the best retransmission times  * are less than or equal to the retransmission times in single time slot, which means  * ≤  Δ .
Proof.According to (39), the expected utility   (  )|  for the ( + 1) retransmission times satisfies With (39) and (47), we have In (44),   (  − ⌊/⌋) will decrease along with the increase of the retransmission times .Therefore, there is a number which satisfies What is more, if the retransmission time  <   , the value of   (  )| +1 −   (  )|  will be larger than zero; on the contrary,   (  )| +1 −   (  )|  will be smaller than zero if  >   .That is to say, along with the increasing of the number of retransmission times, the expected utility value   (  ) increases first and decreases later.The expected utility   (  )|  is best when  =   .Then, the maximum expected utility can be achieved when  * = ⌊  ⌋ or  * = ⌈  ⌉.
Moreover, comparing (39) and (44), we can get   (  − ⌊/⌋) <   (  ); that is,  * ≤  Δ .4.5.UADC Algorithm.We can get the optimal retransmission times  * according to the above analysis about retransmission.First, we calculate the optimal retransmission times  Δ in a single time slot.Then, we use binary search in the range of [1,  Δ ] to find the optimal retransmission  * .What is more, Δ() =   (  )| +1 −   (  )|  .Based on Theorem 10, the expected utility   (  )|  is a convex function.Therefore, [ low ,  high ] is always the range of the optimal retransmission times.The detailed process is given in Algorithm 2. Now, we present the utility-based adaptive duty cycle routing algorithm, that is, UADC algorithm.First, in the beginning of each round, we adjust the duty cycle of each node to decrease the end-to-end delay according to ACDC algorithm.Then, we compute the expected utility in a single time slot.At last, the nodes will calculate the expected utility and its retransmission times.Each node will determine the next-hop relay according to the expected utility.What is more, the UADC algorithm is given in Algorithm 3.

The Experimental Results and Analysis
In this section, extensive experiments were conducted to evaluate the performance of UADC algorithm.First, we analyze the energy consumption and delay to evaluate the performance of ACDC algorithm, and we compare the UADC algorithm with SDC (same duty cycle) scheme.In SDC scheme, the duty cycle of each node is 0.5.At last, the utility is evaluated under different parameters.The parameter settings refer to Table 1, and the experimental results are presented as follows.consumption is more, thus the duty cycle of the node is higher.
According to the energy consumption and (26), we get the average cost of nodes.Through Figure 8, we can find that the average cost increases due to the increase of energy consumption.What is more, comparing Figure 8 with Figure 12, we find that UADC algorithm decreases the average delay but increases cost when transmitting packages.
Figure 9 shows the energy utilization ratio; as we can see, through UADC algorithm, we can improve the energy utilization ratio of more than 32.3% at most.That is because UADC algorithm takes advantage of the energy of every node better than SDC algorithm.Thus UADC can extend the network lifetime effectively.
As is shown in Figure 10, the average energy consumption increases with the increase of the number of adjustments.Compared with Figure 13, we can conclude that the ACDC algorithm decreases the transmission delay by increasing the energy consumption of nodes.Because the duty cycle of node  9 remains unchanged, the energy consumption and delay of the node also remain unchanged.For other nodes, the duty cycle increases so the energy consumption increases; thus the transmission delay decreases.
Figure 11 shows the delay of nodes in our simulation.We can see that the delay of nodes can be decreased after the adjustment of ACDC algorithm, and the delay of node  9 remains with the same value because it loads the most data amount.The average delay is shown in Figure 12; through UADC algorithm, the average delay can be reduced by 77%, which greatly demonstrates the efficiency of UADC to improve the delay performance of network.

Utility Analysis.
After adjusting the duty cycle of nodes by ACDC algorithm, the transmission delay decreases; then the nodes will adopt UADC algorithm to determine the relay nodes to transmit packet and determine the routing.In this subsection, we evaluate the performance of UADC algorithm on utility.
Figure 13 shows the utility of several paths.The eight nodes are the initial nodes.As we can see, compared with SDC scheme, the utility of nodes increases much after adjusting the duty cycle of nodes.The average utility refers to the average value of utilities of all the packet deliveries.The results are shown in Figure 14, UADC algorithm increases the utility by 310.1 percent on average.Through the previous analysis, it is proved that the main reason that the utility increases is the decreasing of delay.Then, we evaluate the performances on average utility under different parameters.As is shown in Figure 15, the average utility increases with the increase of the initial benefit.Similarly, Figure 16 shows that the average utility decreases with the increase of the initial benefit.What is more, with the increase of benefit decay coefficient, the average utility of UADC increases more than SDC.And with the increase of benefit decay coefficient, the average utility of UADC decreases less than SDC.Altogether these prove the effectiveness and practicability of UADC.
At last, we change both the initial benefit and the benefit decay coefficient at the same time to record the change of average utility of the UADC algorithm, and we compare it with SDC scheme.As we can see from Figure 17, the utility increases with the increase of initial benefit and the decrease of benefit decay coefficient.For scheme, the   conclusion is still right, but based on Figure 18, we conclude that compared with UADC algorithm, the rising rate of utility is slower and the declining rate is faster.
Through the previous analysis, it is proved that the UADC is able to increase energy efficiency, reduce transmission delay, and keep long lifetime at the same time, which prove the validity of our proposed algorithm.

Conclusion
In this paper, we present an energy efficient adaptive duty cycle routing scheme for Internet of Things, which takes reliability, benefit, duty cycle, energy consumption, and delay into consideration at the same time.To begin with, we analyze  the energy consumption of each node according to the data amount it loads.Then, based on the energy consumption of each node, we analyze the duty cycle each node can adopt and we propose ACDC algorithm to adjust the duty cycle.Thus we can get the transmission delay between nodes according to the duty cycle.Next, we present the way to calculate the expected utility and choose the relay nodes.What is more, we analyze the retransmission times to maximize the utility.Based on the previous analysis, we present the utilitybased adaptive duty cycle routing algorithm.According to the simulation results, it is indicated that the scheme can improve the utility on the premise of not harming the lifetime of network.

Figure 3 :
Figure 3: An example to calculate the expected utility.

Figure 15 :
Figure 15: Average utility of different initial benefit.

Figure 16 :
Figure 16: Average utility of different benefit decay coefficient.

)
Theorem 10.When node   retransmits a packet  times to its next-hop node   in multiple time slots, the expected utility, denoted by   (  )|  , satisfies