An Energy Balanced
Dynamic Topology Control Algorithm
for Improved Network Lifetime
Abstract
In wireless sensor networks, a few sensor nodes end up being vulnerable to potentially rapid depletion of the battery reserves due to either their central location or just the traffic patterns generated by the application. Traditional energy management strategies, such as those which use topology control algorithms, reduce the energy consumed at each node to the minimum necessary. In this paper, we use a different approach that balances the energy consumption at each of the nodes, thus increasing the functional lifetime of the network. We propose a new distributed dynamic topology control algorithm called Energy Balanced Topology Control (EBTC) which considers the actual energy consumed for each transmission and reception to achieve the goal of an increased functional lifetime. We analyze the algorithm’s computational and communication complexity and show that it is equivalent or lower in complexity to other dynamic topology control algorithms. Using an empirical model of energy consumption, we show that the EBTC algorithm increases the lifetime of a wireless sensor network by over 40% compared to the best of previously known algorithms.
I Introduction
Wireless sensor nodes in embedded systems can sense their environment, communicate the sensed data to each other, process the aggregated data and cooperate on decisionmaking to serve a common goal. They have been deployed in a number of application areas include traffic management, surveillance in both military and civil settings, inventory management in businesses, and pollution monitoring during disasters. However, such tasks are possible only when the system as a whole continues to possess enough battery resources to accomplish its objective. Any such system typically has a few critical participating nodes that end up expending energy faster than others, thus reducing the functional lifetime of the system.
Extending the lifetime of a wireless sensor network (WSN) has often been accomplished through mechanisms that improve the battery life on each individual node (such as through reduced usage or through improved battery technologies). But if some node will invariably have more tasks than others (e.g., because of their location), then, if we can evenly distribute energy consumption rate among all the sensor nodes, the chances of system becoming nonfunctional will be reduced.
In this paper, we propose a distributed topology control algorithm that allows each node to modulate its transmission power (thus controlling the topology by controlling who can communicate with who others) with the shared goal of extending the lifetime of the system. The problem of topology control is typically constrained by each node maximizing its lifetime while maintaining some global goal such as connectivity. In our approach, each sensor node does not merely try to reduce its energy consumption, but tries to balance the energy consumption across all nodes to serve the common objective of an increased lifetime of the system, while also preserving connectivity.
Ia Related work
Traditional topology control algorithms use an energy management strategy in which each sensor node reduces its transmission power from its maximum value to a relatively small quantity while maintaining the connectivity of the network. Algorithms of this class include Directed Relative Neighborhood Graph (DRNG) [1], Directed Local Spanning Subgraph (DLSS) [1], Step Topology Control (STC) [2] and ConeBased Topology Control (CBTC) [3]. The topology of the network is determined at the very beginning of the network’s life, and remains the same throughout the network lifetime.
Even though these algorithms can improve the network lifetime they do not exploit the full potential of the network because they do not consider that, due to the geographical location of the nodes or other applicationspecific reasons, some sensor nodes may have a much larger transmission power than some other nodes or may be burdened with a large traffic load. As a result, the energy consumption rates on these nodes are much higher than on other nodes, resulting in an uneven energy dissipation among the sensor nodes. This unevenness leads to a situation where a few critical and heavily used nodes may be ‘dead’ before most others and the network nodes are no longer able to cooperate meaningfully and perform the tasks needed to meet the common objective. Meanwhile, it is possible that there are many other nodes in the system with a large energy reserve going unused. Such a situation requires more frequent intervention by human personnel in monitoring and replacing nodes in the system. If the energy consumption on the sensor nodes can be distributed more evenly, the lifetime of the network can be extended.
The energy level on each sensor node is taken into account in Weighted Dynamic Topology Control (WDTC) algorithm [4]. By assigning the edge weight based on the energy levels of the sensor nodes on both ends of the edge, the WDTC algorithm computes a local minimum spanning tree based on the data exchanged. This allows the WDTC algorithm to distribute energy consumption amongst sensor nodes more evenly and therefore, extends the lifetime of a WSN.
But the WDTC algorithm does not allow for the fact that, for any sensor node, the energy consumed for sending and receiving a packet may be different. The energy consumed in receiving a packet is usually less than that of the energy consumed for sending the same packet [5, 6, 7, 8]. In other words, if the sender and the receiver node have the same amount of energy, the sender node will very likely to be the node that runs out of energy first. Therefore, the current energy level alone does not tell us enough to estimate the remaining lifetime of a wireless sensor node.
Another body of dynamic topology control algorithms tackles a specific scenario where data packets are transmitted to a specific sink node. In the work of [9], a centralized dynamic topology control algorithm is proposed which employs the MaxFlow algorithm to help determine the network topology. Rather than adjusting the weights of edges within the network, it adjusts the capacity of each sensor node based on the node’s current energy level and transmission power.
Other approaches to increasing the lifetime of a wireless sensor network include grouping nodes into clusters to create a communication hierarchy in which nodes in a cluster communicate only with their cluster head and with only cluster heads being allowed to communicate with other cluster heads or the sink node [10, 8]. A survey of topology control algorithms can be found in [11, 12].
IB Contributions and Problem Statement
In this paper, we propose a new distributed dynamic topology control algorithm which overcomes the weaknesses discussed above of previously proposed static protocols such as DLSS[1], STC [13] or dynamic protocols such as WDTC [4]. Our algorithm adapts the topology of the network based on the energy level left on each sensor node within the network while taking into account the actual energy consumed for sending and receiving a data packet. By doing so, the energy consumption among the sensor nodes is more evenly distributed, extending the lifetime of the network. We refer to this algorithm as the Energy Balanced Topology Control (EBTC) algorithm.
Problem statement. According to IEEE 802.11, a wireless node that receives a frame from a sender at the medium access control (MAC) layer will respond back directly to the sender with an acknowledgment frame at the MAC layer. Under such a circumstance, the graph deduced from the network has to consist of only bidirectional links. In this paper, we abide by this standard and, accordingly, the EBTC algorithm generates topologies that only consist of bidirectional links.
Let the graph represent the topology of a wireless sensor network at time , where represents a node within the network with id , and represents the fact that node is within node ’s communication radius at time and can communicate with directly. Since only consists of bidirectional links, then if , we can conclude that . Let denote the energy level of node at time . Since the lifetime of the network is defined as the time when the first node within the network runs out of energy [4], we can conclude that the lifetime of the network . So now the problem becomes one that tries to maximize such that the lifetime of the WSN is maximized.
Organization. Section II analyzes the rationale behind the EBTC algorithm and presents the pseudocode. Section III compares the performance of the EBTC algorithm with some of the wellcited algorithms. Our results show that the EBTC algorithm doubles the network lifetime compared with static topology control algorithms and is able to improve the lifetime by more than 40% when compared with other existing dynamic algorithms. Section IV concludes the paper.
Ii Rationale and pseudocode
In this section, we will discuss the rationale behind the EBTC algorithm and present the pseudocode for the algorithm.
The Directed Local Spanning Subgraph (DLSS) [1] algorithm is among the well known approaches for extending the lifetime of a WSN. By exchanging information regarding each node’s neighborhood, a sensor node is able to construct a local minimum spanning tree employing the Local Minimum Spanning Tree (LMST) algorithm [1]. This allows each node to determine the localized topology of the network while maintaining the connectivity of the network. Because of the simplicity and the performance of the DLSS algorithm, in the EBTC algorithm we employ DLSS to help determine the initial local topology of the network. In the DLSS algorithm, the weight of an edge is determined by the transmission power needed in order for the two nodes on both ends of the edge to communicate directly. In the EBTC algorithm, we introduce a new edge weight assignment approach which incorporates both the energy level available on the sensor nodes and the direction of the data transmission.
Iia Edge weight assignment
A glossary of terms used here is provided in Table I.
Denote the minimum transmission power required for node to communicate with node directly as . Assume . Let denote the energy required for node to send a packet of size to node , and let denote the energy required to receive a packet of size .
If we denote the weight of edge as , then can be written as:
(1) 
where
Here, represents the size of the ACK message. Recall that denotes the energy reserves at node .
The reasoning for this weight assignment function is as follows. The energy consumed for successfully sending a data packet of size from node to node is the sum of the energy consumed for sending the packet () and for receiving the ACK for it (). The term , therefore, indicates the number of times that a packet of size can be successfully sent from node to node before node runs out of energy. On the other hand, since node has to receive the packet from node and send an ACK back to node , the energy consumed in this process is . Therefore, the term indicates the number of packets that node can receive from node before running out of energy. Both and have to have enough energy reserves in order to perform a successful data transmission. Therefore, in this case, the term indicates the maximum number of packets that can be sent through the link before one of the nodes runs out of energy. We define as the lifetime of edge .
Notation  Definition 

Sensor node with id .  
Node ’s transmission power.  
Power necessary for node to communicate with node directly.  
Energy level on node .  
The topology of the network when every node is transmitting at its maximum transmission power .  
Node ’s neighbors when transmitting at . .  
Node ’s twohop neighbors. .  
Node ’s local graph containing twohop neighbor information. . The weight of the edge is calculated by Eqn. 1.  
. The subgraph of after DLSS algorithm.  
Node ’s neighbors after DLSS algorithm. .  
The cost of link  
The lifetime of link  
The weight of edge .  
Euclidean distance between node and  
Energy necessary to transmit a packet of size from node to  
Energy necessary to receive a packet of size 
If all the edges’ lifetimes are determined in such a fashion, then the cost of a transmission through a particular edge can be represented by the percentage of lifetime that may be consumed through this transmission. In this paper, we denote this quantity as the cost of the edge. If we let represent the cost of edge , then we have .
On the other hand, if the power levels of nodes and are different and, noting the fact that the size of a data packet is usually different from the size of its ACK, the values of and may be different. Therefore, sending a packet along one direction may cost more than sending the same packet in the opposite direction. Since the EBTC algorithm aims to generate a topology which only consists of bidirectional links, this requirement leaves the algorithm two options:

Option 1: assign different weights for the edges in opposite directions.

Option 2: assign a unified weight for edges in opposite directions.
In the EBTC algorithm, we adopt the second approach (Option 2). The rationale for it is illustrated by considering the situation shown in Fig. 1.
In Fig. 1, the number beside each sensor node denotes the amount of energy available on the sensor nodes. Suppose Fig. 1(a) illustrates the topology of the network at some time instance within the network’s lifespan. The number beside each edge indicates the minimum transmission power required for the two nodes at both ends of the edge to be able to communicate with each other directly. It is the actual cost of communication between any pair of nodes. Clearly, the most amount of energy is required in order for node to be able to communicate with node directly.
In Fig. 1(b), we plot the corresponding weighted graph based on edge weight assignment Option 1, i.e., . Since edges pointing at opposite directions may have different weights according to weight assignment Option 1, we treat each bidirectional link within the graph as the union of two directed links of opposite directions. The weight of each directed edge is marked beside the specific edge. For example, transmitting through link will cost at most of node ’s and node ’s lifetime while transmitting the same amount of information through the reverse link will cost either node or node of its remaining lifetime. Note that, does not necessarily equal . In fact, unless and are the same, and will not be the same.
Given the topology illustrated in Fig. 1(b), we can run a simple MinimumSpanningTree (MST) algorithm to find the reduced topology of the network. The resulting topology of the network is illustrated in Fig. 1(c). According to the MST algorithm, first, edges and are added to the graph containing only the nodes. Then, edges and are included in the final topology. Note that, since the final topology of the network has to consist of only bidirectional links, edges and are also brought into the final topology because of the existence of edges and .
Now comes the interesting part. Note that edge has the smallest weight of all the edges left to be tested. Since there exists no path between node and node , edge will be selected into the final topology. Following exactly the same reasoning that the final topology consists of only bidirectional links, edge is brought into the graph. The resulting topology of the network is illustrated in Fig. 1(c). At this point, we should note that edge has the largest cost of all the edges within the graph, and node has to transmit at its maximum transmission power in order to stay connected with node . The final topology of the network is illustrated in Fig. 1(d) where the number on each edge indicates the actual transmission power required to communicate with the node from the other end of the edge directly. Obviously, this is the worst situation; the node with the least amount of energy is transmitting at its largest transmission power and the lifetime of the network is, therefore, greatly limited.
To avoid such a scenario, we choose edge weight assignment Option 2 such that edges in opposite directions are assigned the same weight. The value of the edge weight equals the larger of the two costs, i.e., . In Fig. 1(e), we plot the weighted graph based on the new edge weight function. Again, the number on the edge indicates the weight of the edge. For example, the weight of the edge is chosen to be the larger value of the cost of edge , which is , and the cost of edge , which is as indicated in Fig. 1(b).
By running the MST algorithm on the new weighted graph, we are able to determine the topology of the network as illustrated in Fig. 1(f). The number above each edge indicates the actual transmission power needed for the two nodes at both ends of the link to be able to communicate with each other directly. As indicated in Fig. 1(d), node is able to reduce its transmission power from to , node is able to halve its transmission power from to just while node is able to reduce its transmission power from to just .
IiB Pseudocode
The Energy Balanced Topology Control algorithm is described in pesudocode form in Algorithm 1.
Each sensor node will execute the EBTC algorithm periodically until it runs out of energy. At the beginning of the EBTC algorithm, each sensor node will broadcast its current energy level at its maximum transmission power . After collecting its neighbor information, it will calculate each edge weight based on Eqn. 1. The sensor node will then broadcast this information at maximum transmission power such that all its neighbors will be able to collect its local information and construct their own local graph. We refer to this process as the Collect Data phase, which is described in lines 13–18 in Algorithm 1. The communication complexity in this phase is , where represents the order of node ’s degree. After receiving information from all its neighbors, node will construct its local graph which consists of twohop neighbor information. This process is illustrated by the function Construct Local Graph (CLG) described in lines 19–31 in Algorithm 1. The order of computational complexity in this phase is .
After the construction of the local graph, the DLSS algorithm is called to reduce node ’s local topology based on the weighted graph . After execution of the DLSS algorithm, a subgraph is produced and node ’s local topology is determined. At this point, the computational complexity is the same as that of the DLSS algorithm, which is . Note that, at this point, the topology of the network may not necessarily consist of only bidirectional links. To ensure the bidirectionality of all the edges, some additional steps have to be taken.
Given any graph, to convert it into a graph consisting of only bidirectional links, two approaches could be taken:

Remove edges that do not have a reverse link.

Add a reverse link to the edges that do not have one.
According to the discussion in [1], both approaches will ensure the bidirectionality of all edges within the network while militarizing the connectivity of the network. Since one of the goals of a topology control algorithm is to reduce interference among transmissions, therefore, in the EBTC algorithm, we choose to remove the edges that do not have a reverse link. This process may also help reduce node ’s transmission power even further.
To facilitate such an operation, node will broadcast its new neighbor information at power (line 5). Upon receiving the newly updated neighbor information from all its neighbors in the original topology, node will examine the bidirectionality of its local topology. Any edge that does not have a reverse edge is removed from its local topology (lines 7–11) and its transmission power is determined to be the smallest transmission power necessary to maintain the connectivity of its local topology (line 12).
At this point, we can conclude that the communication complexity of the EBTC algorithm each round is the same as that of the DLSS algorithm, which is , and the computational complexity of the EBTC algorithm is also the same as that of the DLSS algorithm, which is .
Iii Simulation Results
Our simulation is conducted in a square 1000m1000m region within which 200 nodes are placed in random locations. Each node is equipped with 10J of energy and has a maximum transmission power , which translates into a transmission radius of 20% of the width of the square region. Each data point in the results reported here is the average of 200 randomly generated graphs. Using the batch means method to estimate confidence intervals, we have determined that the 95% confidence interval is within 2% for each of the data points reported in our results.
In our simulation model, we employ the TinyOS standard [14] for sensor node data transmission, including its packet format for data and acknowledgements. The energy model used in our simulation is identical to that is used in the research literature on topology control [15, 8]. This model incorporates energy consumption due to transmission, reception, and for radio electronics in both free space and over a multipath channel above a certain distance threshold. Note that since the EBTC algorithm is an algorithm that takes the actual energy cost for sending and receiving a package into consideration and constructs the link weight based on this information, it is well adapted to work with any energy model selected.
In this session, we compare the performance of the EBTC algorithm against some of the existing wellcited algorithms: DRNG [1],DLSS [1], STC [2] and the WDTC [4]. For purposes of a meaningful comparison, all the algorithms that we have selected for analysis in this section have a similar order of communication and computational complexity, are fully distributed, and only produce a topology that consists of bidirectional links. Algorithms which cannot adapt to the IEEE 802.11 standard’s requirement that all links allow bidirectional communication, such as those proposed in [16], are not included in our analysis.
The lifetime of the network is measured in ‘rounds’. Within each round, each sensor node will adjust its local topology based on the algorithm provided. Then, a designated data packet of 32 bytes will be sent out to every other node within the network, i.e, a node will send out packets each round. The lifetime of the network is therefore indicated by the number of rounds for which network will survive before one of its nodes runs out of energy.
In our experiment, data packets are routed through the minimumenergy path. The simulation results are reported in Fig. 2. Fig. 2(a) reports the network lifetime achieved by different algorithms. For each point in the graph, its xaxis value indicates the number of rounds that has passed while its yaxis value indicates the percentage of graphs that are still alive (no node has run out of energy). As can be observed from the graph, the EBTC algorithm is able to postpone the time when of the graphs tested becomes ‘dead’ by two times when compared with static topology control algorithms such as DLSS, DRNG and STC. When compared with the dynamic topology control algorithm WDTC, the EBTC algorithm is able to improve this time by about .
Figs. 2(b) and 2(c) report the changes in the average transmission power per node and the average energy consumption along the minimum energy path achieved by each algorithm as time passes. For static algorithms such as DLSS, DRNG and STC, the topology of the network is determined at the very beginning of the network’s lifetime and therefore, the network’s parameters remain the same throughout the network’s lifetime. Dynamic topology control algorithms such as WDTC and EBTC are able to adjust the topology of the network based on the energy level available on the sensor nodes, and therefore, produce different results.
To offer a fair comparison for static topology control algorithms, we have only reported the performance of these algorithms until the time when the first graph dies. This explains the limited number of rounds for which these algorithms have data points in Figs. 2(b) and 2(c). Nevertheless, we are able to observe that dynamic topology control algorithms are able to offer an extended lifetime compared with static algorithms. Since the EBTC algorithm is able to dispense energy consumption among sensor nodes more evenly, it is able to double the lifetime of the network which dies first among all the networks when compared with the performance of the WDTC algorithm.
It also can be observed that as the sensor nodes gradually exhaust their energy resources, the topology of the network changes. To extend the lifetime of the nodes with limited resources, alternative paths are generated by its neighboring nodes such that these nodes may be able to reduce their transmission powers, or be able to reduce their traffic load. These changes are made usually at the cost of some node increasing its transmission power, and since the resulting topologies are not most costeffective, the average transmission power and the average cost along the minimumenergy path gradually climb, as can be observed in Figs. 2(b) and 2(c).
An interesting phenomenon can be observed in the performance of the EBTC algorithm reported in Fig. 2(c). The energy cost along the minimum energy path drops in the first two rounds, and then gradually increases as time passes. This sudden change in the energy cost along the minimum energy path may be explained by the drastic change in the topology of the network. Since the EBTC algorithm is more sensitive to the direction of the data transmission, it is able to differentiate between the sender and the receiver at the two ends of an edge. The EBTC algorithm, therefore, is able to offer a better energy conservation topology compared with other algorithms, especially when the energy levels of sensor nodes on the two ends of an edge are different. As time passes by, more nodes are needed to increase their transmission power so as to compensate for the rapid energy lost on some of the sensor nodes, resulting in the increase in both average transmission power per node and the average energy consumption along the minimumenergy path.
Iv Conclusion
In this paper, we proposed a localized dynamic topology control algorithm (EBTC) to help extend the lifetime of a WSN. By adapting to the energy reserves left on the sensor nodes, the EBTC algorithm is able to distribute energy consumption more evenly among the nodes and therefore extends the network’s lifetime. By incorporating the actual energy consumption for sending and receiving a data packet into the decisionmaking process, the EBTC algorithm is able to more accurately estimate the lifetime of a sensor node and, therefore, greatly improves the lifetime of the network.
According to our simulation results, the EBTC algorithm is able to increase the lifetime of the network by more than compared to the best of the static algorithms and is able to extend the lifetime of a wireless sensor network by roughly when compared to other known dynamic topology control algorithms.
References
 [1] N. Li and J. C. Hou, “Localized topology control algorithms for heterogeneous wireless networks,” IEEE/ACM Trans. on Networking, vol. 13, no. 6, pp. 1313–1324, December 2005.
 [2] H. Sethu and T. Gerety, “A new distributed topology control algorithm for wireless environments with nonuniform path loss and multipath propagation,” Ad Hoc Networks, vol. 8, no. 3, pp. 280–294, May 2010.
 [3] L. Li, J. Y. Halpern, P. Bahl, Y.M. Wang, and R. Wattenhofer, “A conebased distributed topology control algorithm for wireless multihop networks,” IEEE/ACM Trans. on Networking, vol. 13, no. 1, pp. 147–159, 2005.
 [4] R. Sun, J. Yuan, I. You, X. Shan, and Y. Ren, “Energyaware weighted graph based dynamic topology control algorithm,” Simulation Modelling Practice and Theory, vol. 19, pp. 1773–1781, 2011.
 [5] W. R. Heinzelman, A. Chandrakasan, and H. Balakrishnan, “Energyefficient communication protocol for wireless microsensor networks,” in Annual Hawaii Int’l Conf. on System Sciences, vol. 2, 2000, pp. 1–10.
 [6] D. Tian and N. D. Georganas, “A node scheduling scheme for energy conservation in large wireless sensor networks,” Wireless Communications and Mobile Computing, vol. 3, no. 2, pp. 271–290, 2004.
 [7] M. J. Miller and N. H. Vaidya, “Minimizing energy consumption in sensor networks using a wakeup radio,” in Wireless Comm. and Netw. Conf., vol. 4. IEEE, March 2004, pp. 2335–2340.
 [8] G. Koltsidas and F.N. Pavlidou, “A game theoretical approach to clustering of adhoc and sensor networks,” Telecommunication Systems, vol. 47, pp. 81–93, 2011.
 [9] L. Shi, W.Z. Song, M. Xu, A. Zelikovsky, and L. Yu, “Collaborative topology control for lifetime maximization,” in Int’l Conf. on Mobile Adhoc and Sensor Networks. IEEE, 2011, pp. 182–189.
 [10] N. Ababneh, A. Viglas, H. Labiod, and N. Boukhatem, “ECTC: Energy efficient topology control algorithm for wireless sensor networks,” in IEEE Int’l Symp. on World of Wireless, Mobile and Multimedia Networks and Workshops. New York, NY, USA: IEEE, 2009, pp. 1–9.
 [11] S. Mahfoudh and P. Minet, “Survey of energy efficient strategies in wireless ad hoc and sensor networks,” in Int’l Conf. on Networks. IEEE, 2008, pp. 1–7.
 [12] P. Santi, “Topology control in wireless ad hoc and sensor networks,” ACM Computing Surveys, vol. 37, pp. 164–194, June 2005.
 [13] H. Sethu and T. Gerety, “A distributed topology control algorithm in the presence of multipath propagation,” in Proc. Int’l Workshop on Advances in Wireless Sensor Networks, 2007.
 [14] TinyOS, “TinyOS 2.0.2 documentation,” http://tinyos.net/tinyos2.x/doc/txt/tep113.txt.
 [15] W. B. Heinzelman, A. P. Chandrakasan, and H. Balakrishnan, “An applicationspecific protocol architecture for wireless microsensor networks,” IEEE Trans. on Wireless Comm., vol. 4, pp. 660–670, Oct. 2002.
 [16] X. Chu and H. Sethu, “Cooperative topology control with adaptation for improved lifetime in wireless ad hoc networks,” in Proc. IEEE INFOCOM, March 2012.