Simultaneous power control and power management algorithm with sector-shaped topology for wireless sensor networks

In this paper, we propose a topology control technique to reduce the energy consumption of wireless sensor networks (WSNs). The technique makes use of both power control and power management methods. The algorithm uses the power management technique to put as many idle nodes as possible into the sleep mode while invoking the power control method to adjust the transmission range of the active nodes. On the contrary to earlier works in which both of these methods were used separately, in this algorithm, they are utilized simultaneously to decide about the sleep nodes and the ranges of active nodes. It is an approximation algorithm which is called simultaneous power control and power management algorithm (SPCPM). The performance bound of this centralized algorithm is determined analytically. Then, to make the proposed method practical for WSNs, a distributed algorithm based on SPCPM is introduced. To assess the efficiency of the proposed algorithm, we compare its average energy consumption with those of three existing topology control algorithms for a sector-based WSN. The simulation results which were obtained for different numbers of transmitting sensor nodes reveal less average energy consumptions for SPCPM compared to other algorithms.


Introduction
Recent advances in wireless and electronic technologies have led to the emergence of wireless sensor networks (WSNs) with large-scale nodes.They are used in a wide spectrum of applications from industrial and military applications to health and environmental monitoring.In these kinds of networks, different small-size sensor types are deployed in the area to monitor, e.g., temperature, motion, noise, and seismic activities.A good survey of WSNs is presented in [1] and [2].The sensors are wireless nodes that transmit the collected data (hop by hop) to a central station called base station or SINK node.Due to critical limitations of the node energy resources (e.g., battery), the nodes should minimize the energy consumption during their computation and communication.Therefore, low-power algorithms for WSNs are of prime interest.Among different WSN types, sector-shaped networks, where all the nodes send their data to a single base station, are the most common.They have various applications such as health monitoring, data gathering, and surveillance [3][4][5].There have been several research efforts on reducing the overall transmission power of sector-shaped networks [5][6][7][8][9][10].The efforts may be divided into two categories of power control and power management techniques.The key idea of the power control techniques is that instead of transmitting using the maximum power, the nodes in a WSN collaboratively reduce their transmission power by adjusting their transmission range while preserving some required properties (e.g., connectivity) [6][7][8][9][10][11][12][13][14][15][16].The power control algorithms focus on reducing the power consumption when the nodes transmit or receive data in transmit and receive modes, respectively.Additionally, WSN nodes have a listen mode in which, while they are idle, they consume energy.The energy is comparable to the energy consumed in the other two modes.To reduce the energy consumption, the radio of the nodes in this mode may be turned off when they are not in use [17][18][19][20].Turning off the radios when they are not in use is the basic idea of power management algorithms.Both of these techniques reside in the general category of the topology control algorithms.
It is expected that if these two types of techniques are invoked in coherence with each other in an algorithm, higher energy preservation will be achieved.This may be justified by noting that in this algorithm, the reduction of the energy consumptions of all the transmission, receive, and idle states are considered simultaneously.The energy conservation of wireless sensor networks may be considered as an optimization problem where the energy consumptions of different sources should be minimized.For this problem, each of the power control and power management algorithms may be used.Depending on the network load, one of these algorithms is used for the energy optimization.When the network load is low, the energy consumption of the network is dominated by the energy consumed by nodes in the idle state.For these loads, it is expected that fewer active (awake) nodes with long communication ranges lead to more energy conservation.In these cases, the power management algorithm should have a more determining role.In the cases where the network load is high, more active nodes with short communication ranges provide a better energy efficiency, and hence, the power control algorithm should play a major role in the optimization process.In this work, we propose an algorithm which integrates both of these techniques into one efficient algorithm.

Our contributions
In this paper, we make the following contributions.First, we present an analysis which shows that both the power control and power management techniques should be invoked in coherence to enhance the energy preservation of WSNs.Then, we introduce an approximation algorithm provable performance bound which is analytically shown.Finally, based on this centralized algorithm, we propose a practical distributed algorithm whose key advantages are given in the following: -Its power management technique considers both time and space dimensions.-It makes use of both power management and power control approaches simultaneously without giving any priority to any of them.
The rest of the paper is organized as follows.In Section 2, we briefly review the related works while Section 3 describes the network topology along with the energy model which is used in our study.In Section 4, we use an example to show the dependency of the minimum energy consumption to the network data traffic.In Section 5, we describe the proposed centralized Simultaneous Power Control and Power Management (SPCPM) algorithm in detail and compare its efficiency with similar techniques reported in the literature.Section 6 is devoted to the distributed SPCPM, and its performance is compared to those of existing techniques.Finally, the paper is concluded in Section 7.

Related works
In this section, we briefly review some of the previous works in the area of energy preservation of WSNs.These may be classified into two categories of power control and power management algorithms.The features of the algorithms are discussed while the main difference of our approach compared to these works is described at the end of the section.

Power control
Power control algorithms adjust the transmission power without adversely affecting desirable properties of the network (e.g., connectivity).Several empirical studies show that existing topology control solutions, which use static transmission power, transmission range, and link quality, might not be effective in the physical world (see, e.g., [21,22]).The authors in [22] propose a selective single-relay cooperative scheme, combining selectiverelaycooperative communication with physical layer power control.Based on the medium access control (MAC) layer RTS-CTS signaling, a set of potential relays compute individually the required transmission power to participate in the cooperative communication.Based on the theory of stochastic fictitious play (SFP), a reinforcement learning algorithm to schedule each node's power level is proposed in [23].Also, a transmission power self optimization (TPSO) technique is presented in [24].It basically consists of an algorithm able to guarantee the connectivity as well as an equally high Quality of Service (QoS) concentrating on the efficiency of WSNs, while optimizing the necessary transmission for data communication in each node.
In the scheme proposed in [11], a node chooses its next node for relaying the information based on minimizing the total energy consumption for the whole transmission.It was shown that the network was strongly connected when every node had links only to those nodes that were within its enclosure defined by a relay region.In [12], the authors suggested two centralized algorithms to minimize the maximal power used per node while maintaining the connectivity of the network.Narayanaswamy et al. [14] and Kumar and Kawadia [15] propose algorithms to maintain network connectivity using a minimal transmission power.The authors in [16] proposed a minimum spanning tree (MST)-based topology control scheme which keeps the network connectivity and has bounded node degrees [16].For detailed surveys on the power control techniques in WSNs, one may see, e.g., [25][26][27].

Power management
Power management algorithms focus on turning off the radios of the nodes which are not in use.There are two basic approaches, namely, scheduling-based [17], [18] and backbone-based sleep management [13,20].In [28], a systematic and comprehensive survey of the power management schemes is presented.In the schedulingbased approaches, nodes turn on their radios only in scheduled slots.Backbone-based sleep management can improve network performance by maintaining a backbone composed of a small number of active nodes, while scheduling the other nodes to be active for small periods of time to conserve energy.From another aspect, the techniques may be divided based on the dimension that they use for the power management.The dimensions include node (e.g., [29]) or time (e.g., [13,20]).The approaches based on the node dimension, such as geographical adaptive fidelity (GAF) [29], mainly focus on detecting redundant nodes which can be turned off.In this algorithm, the network is divided into small square grids whose sizes are equal and fixed.All the nodes in a grid have the same routing role where at any time only one node is active and all the other nodes are in the sleep mode.The sleeping nodes periodically switch to the listen mode to guarantee that in each grid at least one node stays on.The algorithms based on the time dimension concentrate only on detecting the time when the nodes are idle and can be turned off [13,20].In SPAN [13], a subset of nodes is adaptively selected to form a multi-hop forwarding backbone.The subset nodes, called coordinators, carry all the traffic of the network causing the energies of the other nodes which are in the sleep mode to be conserved.A technique, which is called STEM, defines two 'transfer' and 'monitoring' states for the nodes [20].The approach is based on the fact that most of the time the sensor network is only monitoring its environment, waiting for an event to happen.In this state, the nodes can be asleep and the radio can be off.When an event is detected, the node becomes awake, changing its state to the transfer state.

Unified power control and power management algorithm
None of the power control or power management approaches optimizes the energy consumption of all the radio states.The power control techniques reduce the transmission energy of wireless nodes and do not consider the energy consumed during the idle state.The power management algorithms reduce the energy dissipation in the idle state while not considering the energy consumptions of the transmit and receive states.It has been shown that for an ad hoc network, when the network traffic is high, power control algorithms are effective while when the traffic is low, the use of power management algorithms provide us with more energy conservation [30,31].In this work, we show that these findings hold true for a sector-shaped WSN too.Based on these facts, in this paper, we suggest a unified algorithm which makes a coherent use of both power control and power management algorithms to minimize the energy consumption both in the idle and transmit/receive states.In our algorithm, we use a cell-based approach similar to GAF.In our method, in addition to different forms of the cells, the transmission ranges of the nodes are adjusted dynamically.To the best of our knowledge, authors in [19] present the only similar approach.This approach is based on a joint duty-cycle optimization and transmission power control.By simultaneously adapting both parameters, the node can maximize the number of transmitted packets while respecting the limited and time-varying amount of available energy.Table 1 summarizes and makes a comparison between the related works and proposed algorithm in this work.
3 Network topology and energy model

Network topology
In a typical wireless sensor network, data flows toward the base station, and hence, the network area may be assumed as a sector-shaped area [8,10].Similar to [9], in this work, the whole area is divided into some cells with the same area.We model the network area denoted by ψ(α,R,N,K) using a sector with the angle of α and radius R which is divided into N cells and K annuluses.Figure 1 shows ψ(π/6,R,16,4) which contains 4 annuluses and 16 cells with the angle of π/6.A sector area is divided into ring slices with the same ring width which are called network annulus.The areas of these network annuluses are not equal.Each network annulus may be divided into network cells with equal areas.Each annulus i may be divided into 2i-1 cells with the same area [9]. Figure 1 shows the network ψ(π/6,R, 16,4) where each network annulus has been divided into network cells with equal areas.

Energy model
For the energy model, we adopt the first-order radio model described using [32,33].Imagine u transmit data to node v.The energies consumed in the transmit state (E tx (d)) and receive state (E rx (d)) (transmit and receive energies, respectively) for a linear communication as a function of the distance (d) are, respectively, given by: where d(u,v) is the distance between transmitter u and receiver v, E tx e and E rx e are the is the energy consumed by the corresponding electronic circuits, Er is the energy consumed by the power amplifier, and α is the path loss factor.In this work, we assume that E tx e ¼ E rx e ¼ E e .

Illustrating example
In this section, we illustrate the basic idea of our approach using a simple example.For the network shown in Figure 1, consider that the node A has some reports for the SINK node.The energy consumption used to transmit the data of the node includes the energies dissipated in each of the transmit, receive, idle, and sleep states.The average energy consumptions are denoted by E tx (d), E rx , E id , and E s , respectively.As Figure 1 shows, the nodes A, B, C, and D are located in annuluses 4 to 1, respectively.Figure 1 shows three scenarios to transmit information to the SINK node.In one scenario (black arrows), first, the node A communicates with the node B, then the node B communicates with the node C, and after that, the node C transmit the data to the node D, and finally, the node D delivers the data to the SINK node all using a transmission range of R/4.In another scenario (blue arrows), the node A communicates with the node C and then the node C delivers the data to the SINK node both using a transmission range of R/2.The nodes B and D remain in the sleep state in this scheme.In the third scenario (red arrow), the node A directly delivers the reports to the SINK node using a transmission range of R. In this scenario the nodes B, C, and D remain in the sleep state.We denote the average energy consumptions of these three scenarios as E 1 , E 2 , and E 3 , respectively.E i denotes the sum of average energy consumption of all network nodes in scenario i.These energies may be obtained from: Figure 1 Network ψ(π/6,R,16,4) which contains 4 annuluses and 16 cells with the angle of π/6.
Each term on the right hand side of the equations is the product of the energy consumption in a state and the time fraction that the nodes operate in that state.For example, the first term of E2 is the transmit energy of the nodes A and C with a transmission range of R/2 and L/L MAX is the time fraction that these nodes operate in the transmission state.Note that we have assumed that transmit and receive times are linearly proportional to the packet length, L MAX is the maximum packet length that a node can transmit during one period, and L is the length of the packet being transmitted.Since we have two nodes which take part in the packet transmission, a coefficient of two has been used.The second term corresponds to the receive energies of the node C and the SINK node.The third term is associated with the energy consumed when the nodes A and C as well as the SINK node are in the idle state.The coefficient (3-4 × L/L MAX ) is the fraction of time that these nodes are in the idle state (e.g., for the node C, the fraction is (1-2 × L/L MAX ).The forth term is the energy consumed by the nodes in the sleep state.For this term, since the nodes B and D are in the sleep states, the coefficient is two.Figure 2 part b depicts the terms of E 2 in details.
In Figure 2 part a, we have plotted E 1 , E 2 , and E 3 versus different packet sizes of the source node.The results have been obtained assuming L MAX , R, E r , E id , E e , E s , and α to be 500 bytes, 400 m, 0.01 nj/bit/m 2 , 50 nj/bit, 50 nj/bit, 12.5 pj/bit, and 2, respectively [34].As the figure shows, when the network load is low, e.g., the packet size is 25 bytes, the minimum energy consumption will be achieved if the third scenario is used.In this scenario, the node A transmits data directly to the SINK node with the maximum transmission range while the other nodes are in the sleep state.When the network load is high, e.g., the packet size is more than 150 bytes, the first scenario will preserve energy more.For the medium range of traffic, e.g., the packet size of 80 bytes, the second scenario will lead to the minimum energy consumption.
As this example shows, when the network load is low, the energy consumption of the network is dominated by the idle energy.Therefore, scheduling more nodes to be in the sleep mode (power management task) with a long transmission range for the active nodes (power control task) will preserve more energy.When the load is high, the transmit energy dominates the energy consumption of the network.For this case, scheduling more nodes in the active mode with short transmission ranges will preserve more energy.Since the nodes B, C, and D first should receive the data and then relay it, they can have, at most, one half of the active period for receiving the packet and the other half of the period for transmitting the packet.Therefore, L ≤ L MAX /2 or L/L MAX ≤ 1/2.For this reason, in the case of the example discussed in Figure 2, we assumed L MAX = 500 bytes × 8 bits = 4,000 bits and hence we plotted the energy consumptions versus L in the range of 50 to 2,000 bits.
We use the ratio L/L MAX to denote the proportion of the network cycle time that is used by a node to transmit its data.This notation is only valid when the transmission rate is constant for all the nodes.Otherwise, L/L MAX should be replaced by node transmission time divided by the network cycle period.

Problem definition
In this section, we state the problem which is minimizing the energy consumption of the sector-shaped wireless sensor networks.We define our problem like [20].Let us assume that we have a set of traffic demands denoted by f(s i ) where s i is the i th sensor source node which has some data to report to the SINK node.t(s i ) shows the set of the edges used for transmitting data from the source s i to the SINK node.Our problem is to find a subnet from our network nodes satisfying the traffic demands with the minimum energy consumption.Obviously, minimizing the total energy consumption may be achieved through minimizing the average energy consumption.The average energy consumption of node u may be computed as: Here, the first summation in the first line is performed on all the nodes (v) that the node u transmit packet to them, and the second summation is performed on all the nodes (v') which they transmit to the node u.The average energy consumption of the node u is the weighted average of the transmit, receive, and idle energy consumptions.Also, since the energy dissipation of the node in the sleep state is very small, it has been ignored in the calculations [30].
Problem definition: Given a sector-shaped network which is represented by graph G(V,E) (with vertices V and edges E) and a set of traffic demands denoted by t(s i ), find a subgraph G'(V',E') such that the total average energy consumption E(G ' ) is minimal.This energy is given by: where: From the above formulation, we can see that each node has a fixed cost of W c .Also, for each edge (u,v), the cost is W v (u,v) which is independent from the packet size.The packet size (proportional to the traffic load) has been entered in the calculation using a data fraction factor denoted by f i .

Centralized SPCPM
In this section, we introduce an approximation algorithm called SPCPM to maximize the energy preservation of a sector-shaped wireless sensor network.In this algorithm, based on a combined cost function, the algorithm decides about the state of nodes and the transmission range of the active nodes simultaneously.

A. Algorithm description
Let us describe the algorithm whose pseudo code is given in Algorithm 1.The input of the algorithm is the network ψ(α,R,N,k), and its output is the subnet graph G'(V' ,E') where V' is the set of active nodes and E' is the set of the links between the active nodes.In step (1), we describe the network using the graph G(V,E).To generate the graph G, for each node u, we should consider all possible routes that connect u to the SINK node.In SPCPM, we only consider transmission scenarios where the hops with about equal distances (in terms of the number of hops) are included.Figure 1 shows all the routes which may be used by SPCPM to transmit data from the node A to the SINK node.In scenario 1, 2, and 3, the node A transmits data by a 4-hop, 2-hop, and 1hop transmission while communication scenarios like A → B → SINK and A → D → SINK are excluded.For some nodes (nodes with an odd annulus numbers), using equal hop distances may not be possible which in these cases, one of the hop distances will become one hop smaller than the others.For example, the node B in Figure 1, may take the route B → C → SINK in a twohop scenario.As will be discussed in Section 6, the assumption of equal hop distances does not considerably affect the efficacy of the algorithm.
The number of different scenarios (inter-hop distances) for the node in the annulus i may be determined from: Assume that the node u in the annulus i has j different scenarios which we denote them by sce(1) to sce(j).The number of hops for each sce(m) (symbolized by |sce(m)|) is calculated from: Also, the annulus number for the next hop of sce(j) is calculated from: As an example, consider the network of ψ(α,R,64,8).For this network, the number of transmission scenarios for a node in annulus 7 is 4 where the numbers of hops for these four scenarios will be 7, 4, 2, and 1. Considering sce(2), the sequence of hops identified by the annulus number are 7 (the source node), 5,3, 1, and 0 (the SINK node) (|sce(2)| = 4).
Having found G, in the next step, we assume that all the nodes are in the sleep state.Let us use a set denoted by W for the remaining source nodes which we should find a route for connecting them to the base station.This set is initialized to the set of all the source nodes (S).The routes are determined by finding the shortest path from each source to the SINK node such that the energy is minimized.From G, we have all the possible routes to the base station.In the iteration i, SPCPM selects the shortest path from G for connecting the source i to the SINK node using a weight function g i .Each weight function g i (u,v) defines the cost of using the edge (u,v) for transferring the data of the source s i to the base station.Obviously, the cost should depend on the data fraction (f i ) of the source and W v based on Equation (7).On the other hand, based on Equation (7), in the expression for the energy, there is a constant (independent from f i ) energy cost for each node.Based on this observation, we should add this cost once for any node whose state is changed from sleep to active.Therefore, the weight function for each edge (u,v) is defined as: After finding the shortest path for the iteration i, we set the state of all the nodes on this path to active.The output of SPCPM is the set of all the shortest paths found for all the iterations and the set of all the active nodes (G'(V' ,E')).It is apparent that the nodes which are not selected as active remain in the sleep state.
In Figure 3, we demonstrate how the centralized SPCPM works.For this example, we have a network with two annuluses and four cells (Figure 3a). Figure 3b shows G(V,E) which is obtained in part 1 of the algorithm.There are two sources which are S(1) and S(2) with data fractions of 0.1 and 0.2, respectively.The numbers shown next to the edges in Figure 3b correspond to the values of W v for the corresponding edges.Also, we have assumed W c = 1.The results of the two iterations of the algorithm (corresponding to the two source nodes) are plotted in Figure 3c,d, where the numbers next to the edges are the weight functions of the source node.Note that, in each iteration, the weight of each edge is updated based on the data fraction as well as the change in the set of active nodes.Using Equation (7), we obtain the total average energy consumption for this example as 4.2.

B. SPCPM algorithm analysis
In this section, we study the complexity of SPCPM and also obtain the approximation ratio of the algorithm.The proposed problem in this work was defined in Equation (7).The problem is finding the minimumweight Steiner tree in the graph G(V, E) with the weight g i given by Equation (12).Here, E and V are the sets of edges and nodes in G, respectively.Finding the minimum-weight Steiner tree is an NP-hard problem (see, e.g.,) [35].We used the SPCPM algorithm to solve the problem.Assuming equal hop distances, the complexity of SPCPM becomes O(|S|.log|E|.log|V|)where |S|, |E|, and |V| are the numbers of sources, edges, and nodes in G, respectively.In the case of considering all possible routes, the complexity increases to O(|S|.log|E|.log|V|)(see Equations ( 8)-( 9)).
To calculate the approximation ratio of the algorithm, we follow the same approach as the one given in [30].Let us define a set of weight function c i and h i as: where c i (u,v) represents the cost of the edge (u,v) when the data of the source s i travels from the node u to the node v.The proposed algorithm finds the shortest path from each source to the SINK node.The cost (average energy) for the path from the source s i to the SINK node (SN) is denoted by E x G s i ; SN ð Þ under the weight function x.Based on these notations, Equation ( 7) maybe expressed as: Theorem: The approximation ratio of the algorithm SPCPM is not greater than: S found by SPCPM using the weight function g i (u,v) and the optimal solution given by Equation ( 13), respectively.
To obtain the approximation ratio, let us first start with the SPCPM algorithm when the weight function h i (u,v) is used.Since g i ≤ h i , the total cost of the shortest paths from all the sources to the SINK node in G' with the weight g i is greater than the one with the weight h i .Therefore, one may write: When we use the weight h i , W c is always present in the weight function (regardless of the current state of the node being active or sleep), and hence, may be counted several times for each node in G'.Note that the maximum number of W c which should be added to the total cost is |S|.|K|.The reason is that there are |S| sources where, in the worst case, there should be one node from each annulus on the path from each source to the SINK node.The cell configuration in our algorithm is such that each route uses at most one node from each annulus.Thus, one may write: Since |V ' | ≤ |S|.|K|, we have S j jÂ K j j V 0 j j ≥1.Using this inequality and based on Equations ( 7) and ( 13), one may write: Then, from Equations ( 14) and ( 17), we have: Therefore, the approximation ratio of SPCPM, in the worst case, is S j jÂ K j j V 0 j j .

Performance evaluation
To evaluate the effectiveness of the proposed algorithm, we have compared it with three other algorithms.They included the algorithms Transmission Power Minimum Spanning Tree (TMST) [10], power Shortest Path Tree (TSPT) [36], and Minimum Power Configuration (MPC) [30].All the algorithms were implemented in MATLAB.The first two algorithms are basic topology control methods while the last algorithm is similar to the SPCPM technique considering the minimization of both idle and transmit/receive energies.The TMST algorithm finds the minimum spanning tree of the network where each edge is weighed by the transmission power of the transmitting node.The TSPT technique finds the shortest path tree of the network when each edge is weighted by the transmission power.In the MPC algorithm which is more efficient compared to the two previous ones, each edge is weighted by a combination of the transmission and idle powers of the node.The parameters L MAX , R, E r , E id , E e , and E s in our simulation were assumed to be 500 bytes, 400 m, 0.01 nj/bit/m 2 , 50 nj/bit, 50 nj/bit, and 12.5 pj/bit, respectively [34].We assumed that 100 nodes were randomly distributed in the sector-shaped area with R = 800 m and α = π/4.
The total energy consumption of the network when the number of sources (|S|) varies from 1 to 50 is shown in Figure 4.The data fraction was assumed to be 0.1.The results shown in this figure reveal that MPC and SPCPM provide considerably higher energy preservations compared to TSPT and TMST.This may be justified by noting that these two techniques consider both the transmission and idle powers while TSPT and TMST ignore the idle power.The better performance of SPCPM compared to MPC could be attributed to two facts.First, the approximation for MPC (|S|) is higher than that for SPCPM (|S|.|K|/|V '|).As Figure 4 shows, when the number of sources increases, the performance of the SPCPM algorithm becomes better compared to that of the MPC technique.Second, SPCPM uses power management techniques in both the node and time dimensions while MPC considers only the time dimension.Note that even when the number of sources is very low, SPCPM outperforms MPC.For these cases, this outperformance was not initially expected due to the fact that the approximation ratios were about the same.This happens because the performance bound of SPCPM was derived for the worst-case scenarios.Our algorithm, however, worked better than the worst-case scenarios in these cases.This was achieved by taking advantage of employing the node dimension in the power management method.

Distributed SPCPM
In this section, the design and implementation of the distributed form of SPCPM are discussed.This distributed algorithm is based on destination-sequenced distancevector (DSDV) method [37] which is a shortest path algorithm widely used in the literature.DSDV is based on a distributed implementation of the Bellman-Ford shortest path algorithm [38].A node in DSDV advertises its current routing cost to the SINK (distance to the SINK node) by broadcasting update messages (control packets).Having received the messages, each node sets the neighbor with the minimum cost as its parent.The routing table for this node also is formed based on the broadcasted update messages where the table is periodically broadcasted to other nodes.In our work, we used an improved DSDV technique where the modifications (compared to the conventional one [37]) were described in [39][40][41].Examples of these improvements include avoiding DSDV extra traffic using incremental updates and implementing multi-path routing.
In our algorithm, the routing cost of a node is calculated based on its annulus number (which determines the number of annuluses to the SINK node).When the network powers up, each node determines its position and sends it to the SINK node.Then, the SINK node makes use of the reported positions of the nodes to determine the sectors and annuluses of the network.The information is used to specify the cell and annulus numbers of the nodes.The nodes are informed about their numbers using broadcast messages.Each node in SPCPM operates in either the active or sleep state.Initially, all the nodes operate in the sleep mode.For the sleep mode management, a scheduled-based algorithm like sensor medium access control (SMAC) may be used.A node in the sleep mode remains in this mode for a long time and wakes up periodically.When a source node starts transmitting data to the SINK node, a power-efficient route from the source to the SINK node is found.Similar to the centralized algorithm, all the nodes in the route which satisfies the distributed shortest path requirements become active while the other nodes remain in the sleep state.To find the distributed shortest path, periodic broadcasting of the routing table is required.Since in the algorithm the next hop is selected based on the data fraction, compared to the table of the DSDV, we need an extra entry for f i in the routing table.Table 2 shows an example of a routing table in SPCPM for a given node, e.g., u.If the data fraction of u is less than 0.1, between 0.1 and 0.3, and more than 0.3, the packet should be sent to a node in the third cell of annulus 2, first cell of annulus 4, and first cell of annulus 7, respectively.The cost value indicates the cost of transmitting data from the node to the SINK, and the sequence number is for the sequence number originated by the SINK node.This number is used by the DSDV algorithm to prevent formation of routing loops [37].
It should be noted that when a new source node with a new data flow appears in the network, the data fraction (f i ) for some nodes may change.This change may cause the next hop for some nodes to alter too (see Table 2).In addition, the appearance of a new flow may activate a node previously running in the sleep mode.This reduces the cost of transmitting data for the neighboring nodes of the newly activated node.Therefore, the routing tables should be updated.The transmission costs are calculated from Equation (12).In addition to the appearance of a new data flow, the disappearance of an existing flow may also require a route update.In such a case, the active nodes on the routing path for this flow may switch to the sleep mode after some timeout.Another case where the routing tables should be updated is when a source node changes its data rate (significantly).This again changes the data fraction of some nodes and hence the routing tables should be updates.When the workload of the network is dynamic, multiple rounds of route updates may be initiated at the same time, resulting in high network contention.In the DSDV technique, to reduce the overhead of route updates in such a case, the SINK can include several default data rates in its initial route updates, based on the estimation of source rates.
In our distributed algorithm, we have assumed that either a GPS or GPS-less mechanism may be used as a localization technique to obtain the location information of the nodes.In our algorithm, we supposed that each node knew its current location relative to the SINK node.The information is used to configure the network.Due to its importance, the localization (which is not the focus of this paper) is an active area of research (see, e.g., [42][43][44][45][46]).For example, the techniques presented in [44][45][46] determine the node location based on the information of the angle of arrival between neighbor nodes.These techniques which are accurate, decentralized, and GPS-less may be the better option for being used in conjunction with SPCPM.

Performance of distributed SPCPM
In order to evaluate the performance of the distributed SPCPM algorithm, we compare it with minimum transmission routing (MTR) [12], distributed minimum power configuration protocol (MPCP) [30], and the original DSDV [37].A node in MTR chooses the next hop node based on minimizing the expected number of transmissions while considering the same transmission range for all the nodes.The MPCP algorithm is similar to the distributed SPCPM except for the fact that it does not have a cell-based configuration.To generate the results presented in this section, the simulator Prowler was used.Prowler is a Matlab-based network simulator that uses an eventdriven structure.For the physical and MAC layer parameters, we used network parameters described in [47,48].These parameters are used for the models concerning all levels of the communication channel and application.The nondeterministic nature of the radio propagation is characterized by a probabilistic radio channel model.The radio propagation model determines the strength of a transmitted signal at a particular point of the space.The deterministic part of the propagation function can be any user-supplied function where, in this work, we used the model explained in Subsection 3.2.The fading effect is also modeled by random disturbances.In our simulations, the required transmission power/energy for each node in an active period is estimated based on the distance to the next hop considering the radio environment (including fading).The simulator assumed a continuous adjustment of the transmission power.The same assumption has been considered for implementing all other algorithms in this paper.
For the MAC layer, we have employed a simple CSMA/CA scheme without RTS/CTS, which is based on SMAC.Like [30], as an automatic repeat request (ARQ) mechanism, we retransmit a packet if an acknowledgement is not received after timer preset.The maximum number of retransmissions before dropping a packet is 4. The results were obtained for two sectorshaped configurations.In the first one, a sector-shaped area with R = 400 m which was divided into 4 annuluses and 16 cells where 50 nodes were deployed.In the second configuration, the sector-shaped area had a radius of 800, 8 annuluses, 64 cells, and 200 nodes.The number of sources for these configurations changed from 5 to 25 and 10 to 100, respectively.The data packet size was 120 bytes, and the routing update packets were 40 bytes.For the energy parameters, we assumed the same values as those mentioned in section 4. The simulations were performed for one period of sending report by the WSN sources.It should be noted that in all simulations, to report the energy consumption like in Section 4, we got the sum of the average energy consumption of all network nodes.All the simulation results were obtained by averaging the results of ten simulation runs.We have also shown the corresponding 90% confidence interval for the results.
The energy consumptions of the protocols versus the number of sources are shown in Figure 5 which reveals that SPCPM consumes a considerably lower energy compared to those of the DSDV and MTR algorithms.This was expected because the idle power in DSDV and MTR was ignored.Note that both the SPCPM and MPCP algorithms attempt to optimize the transmission range and the idle power.Among the two, the SPCPM method performs better.This is may be attributed to the use of the cell-based topology which provides us with the ability to use the power management technique in the node dimension.Comparing the two network configurations indicate that as the numbers of nodes and the sources increase the efficiency of the SPCPM algorithm compared to that of MPCP improves.Also, note that the energy consumption of SPCPM slightly increases when the number of sources becomes larger than the number of cells (16 and 64, respectively).This is justified by considering that in our proposed algorithm, the number of active nodes is limited by the number of cells thanks to the use of node dimension power management technique (one active node in each cell).In the case of other algorithms, the energy consumptions increases more as the number of sources enlarges.
Figure 6 shows the data delivery rate of the distributed algorithms at the SINK node for different algorithms.As the results indicate, the delivery rate of all the algorithms decreases when the number of sources increases.The SPCPM algorithm outperforms other methods due to the use of a cell-based structure which decreases the contentions during the workload increase.A comparison between the two configurations demonstrates that for DSDV, MTR, and MPCP, the increase in the number of nodes and workload lowers the delivery rate considerably.In the case of SPCPM, however, the decrease is lower.The average end-to-end delay of data packets are plotted in Figure 7, which indicates that the SPCPM algorithm leads to a higher latency compared to those of the other approaches.The reason is that SPCPM reduces the idle power by taking some nodes to the sleep state, increasing the nodes which are shared among the routes between the sources and the SINK node.It should be mentioned that when the distributed algorithm is performed, the state of some nodes are changed.These changes are broadcasted in the network by the corresponding nodes via some small control messages.For this algorithm, we used the same message configuration as that of the MPCP algorithm.We have compared the message overheads of the algorithms in Figure 8.The results specify that the overhead of the SPCPM technique is higher.Note that the volume of the control messages is considerably smaller compared to the volume of the report data, and hence, the higher overhead for the proposed algorithm should not be a major concern.Also, we should mention that the overheads of SPCPM and MPCP increase as the number of sources enlarges.In the case of the other two approaches, the overhead almost remain unchanged with the number of sources.This may be explained by noting that for the case of SPCPM and MPCP, before a new source starts transmitting data, its state should be changed and its routing table along with those of the neighbors should be updated.These changes should be broadcasted for all the neighbors in the area via the control messages resulting in increase in the message overhead for the addition of each new source.

Impact of limiting transmission power on SPCPM
The SPCPM algorithm does not assume any transmission range limit (TRL).In practical cases, however, the nodes of WSN have limited transmission ranges.In this part, we study the impact of the limitation on the efficiency of the algorithm.It should be noted that decreasing the TRL of nodes lowers the efficiency of these types of algorithms.To study the effect of the TRL variation on the efficiency of the proposed algorithm, we have plotted the energy consumption of network versus the number of sources for the TRL values of 200, 400, and 800 m in the case of R = 800 m.The decrease in the efficiency may be attributed to the fact that, in our algorithm, to lower the energy consumption, we use longer transmission ranges for small data sizes.Reducing TRL  limits the transmission ranges, which may be used for these data sizes, lowering the algorithm efficiency.For example, in Figure 9a, when the TRL value is decreased from 800 to 400 m, the transmission ranges longer than 400 m are excluded.For example, in this case, the nodes in annulus 8 cannot transmit their reports directly to the SINK node.To compare the impact of the TRL changes on the efficiencies of the algorithms, we have plotted the energy consumption of network versus the number of sources for the TRL values of 200, 400, and 800 m in the case of, for example, ψ(π/6,800 m,64,8) for both the SPCPM and MPCP algorithms.The results reveal that, on average, the amount of the energy increase with the number of sources is lower in the case of SPCPM.

Impact of assumption of equal distance hops on SPCPM
As mentioned in Subsection 5.2 A, to simplify the algorithm, we only considered the routes with equal distance hops to reduce the complexity (increase the speed) of the algorithm.Since some of the transmission scenarios are excluded, one may expect that the energy preservation of the algorithm is lowered.To study this, we compared the energy consumptions for ψ(π/6,800 m,64,8) in the cases of including all the scenarios (complete SPCPM) and the scenarios with only (about) equal distance hops.The results, which include both the TRL values of 400 and 800 m, are shown in Figure 10.As is evident from the figure, the energy preservations in these cases are not considerably different.Specifically, in the maximum case, the energy consumptions for the complete SPCPM are 4, 5, and 9% lower than those of the SPCPM in the cases of TRL = 200 m, TRL = 400 m, and TRL = 800 m, respectively.The small differences between the efficiencies of the two algorithms may be justified by noting that the transmission energy constitutes a major part of the total energy consumption (the energy consumption given in Equation ( 7) includes both the idle as well as the transmission energies).As we have shown in [9], the maximum transmission energy preservation is achieved when we consider only the scenarios which have the hops with the same distance.Also, note that changing the TRL value does not change the difference much.

Impact of SPCPM on energy hole problem
The proposed algorithm, which is suggested for sectorbased WSNs, suffers from the energy hole problem mentioned in [7][8][9][10].We should mention that even though SPCPM did not directly deal with balancing the energy consumption, it is expected that the algorithm alleviate the energy hole problem.In conventional methods, e.g., [7][8][9][10], data are transmitted hop by hop (similar to the scenario 1 in Figure 1) toward the sink node.In the SPCPM algorithm, we replace some of these hop by hop transmissions with other transmissions which skip some of the hops including the hops close to the sink node (similar to scenarios 2 and 3 in Figure 1).The expectation may be validated by the results presented in Figure 11.First, in Figure 11a, we compare the lifetimes of the network normalized to that of the basic power control (BPC) algorithm [9] for the SPCPM, MPCP, and MTR techniques.The results were presented for ψ(π/ 6,800 m,64,8) assuming a transmission range limit of 200 m.The BPC algorithm was used as a conventional hop by hop power control algorithm for a sector-shaped network.The results were extracted based on definitions and assumptions discussed in [9].These results indicate that SPCPM leads to a longer lifetime for the network compared to those of BPC, MPCP, and MTR.Next, in Figure 11b, we have compared the normalized lifetimes of the networks with the sizes of 400, 800, and 1100 m when the SPCPM algorithm is invoked.The results suggest that the efficiency of the SPCPM even becomes better when the network size increases.Finally, to study the impact of the transmission range limit on the efficiency of the algorithm in prolonging network lifetime, we have plotted the lifetimes for the TRL values of 200, 400, and 800 m in Figure 11c.Obviously, as TRL increases, there are more opportunities for skipping the nodes closer to the sink node, and hence, the longer lifetimes may be achieved.In conclusion, the SPCPM not only decreases the average energy consumption but also increases the  network lifetime.Also, it should be mentioned that there are quite a number of works devoted to the energy hole problem (see, e.g.,) [9] which may be used with the SPCPM algorithm simultaneously.

Conclusion
In this paper, we proposed a topology control technique to reduce the energy consumption of wireless sensor networks (WSNs) based on simultaneous use of both power control and power management methods.The technique which was called SPCPM minimized the total energy consumption of WSNs.We discussed that none of the power control and power management approaches could optimize the energy consumptions of all the radio states.Also, it was analyzed that in a sector-shaped network, the power control algorithms were effective when the traffic of the network was high while the power management algorithms were effective when traffic was low.We presented an approximation algorithm with a provable performance bound and extended it to a distributed and practical algorithm.The algorithm dynamically updated the routes from the sources to the SINK node based on the data rates in each report period such that the energy preservation was maximized.The efficacy of the proposed algorithm was assessed by comparing its energy consumption, packet delivery rate, end-to-end delay, and control message overhead with those of the three other algorithms.The comparisons showed that the SPCPM technique conserved the energy considerably in both centralized and distributed forms.In addition, the packet delivery rate was higher while the end-to-end delay and control message overhead were slightly lower in the case of SPCPM.

Figure 2 E
Figure 2 E 1 , E 2 , and E 3 versus packet size and E 2 in details.(a) E1, E2, and E3 versus packet size (network load) of the source node A. Packet size (bits) (b) depicts the terms of E 2 in details.

Figure 4
Figure 4 Energy consumption versus number of sources.The data fraction is 0.1.

Figure 7
Figure 7 Average delay of a communication from source to SINK node versus number of sources.

Figure 8
Figure 8 Message overhead of distributed protocols versus number of sources.

Figure 9
Figure 9 Plotted energy consumption of network versus the number of sources for the TRL values.(a) Energy consumption of network for the distributed SPCPM protocol versus the number of sources for ψ(π/6,800 m,64,8) with TRL as the running parameter.Also, comparison of energy consumptions of network for SPCPM and MPCP algorithms versus the number of sources for ψ(π/6,800 m,64,8) in the cases of (b) TRL = 200 m, (c) TRL = 400 m, and (d) TRL = 800 m.

Table 1
Comparison between the previous works and proposed algorithm in this work

Table 2
An example of a routing table for a node in distributed SPCPM Nickray et al.EURASIP Journal on Wireless Communications and Networking (2015) 2015:118