A Flow-Partitioned Unequal Clustering Routing Algorithm for Wireless Sensor Networks

Energy efficiency and energy balance are two important issues for wireless sensor networks. In previous clustering routing algorithms, multihop transmission, sleep scheduling, and unequal clustering are always used to improve energy efficiency and energy balance. In these algorithms, only the cluster heads share the burden of data forwarding in each round. In this paper, we propose a flow-partitioned unequal clustering routing (FPUC) algorithm to achieve better energy efficiency and energy balance. FPUC consists of two phases: clustering and routing. In the clustering phase, the competition radius is computed according to the node density and the distance from sensor nodes to the sink. The sensor nodes that have more residual energy and larger overlapping degree have higher probability to be selected as cluster heads. In the routing phase, each cluster head first finds the gateway nodes and then distributes the data flow to each of its gateway nodes depending on residual energy. After that, each gateway node forwards the data to the next hop with minimum cost. Two metrics called network lifetime and coverage lifetime are used to compare the performance of FPUC with that of the existing ones. Simulation results show that FPUC can achieve longer network lifetime and coverage lifetime than previous algorithms.


Introduction
With recent advancement in techniques such as microelectromechanical, embedded, and low-power design, wireless sensor networks (WSNs) have achieved great developments, which have been widely used in areas such as environmental monitoring, health care, and battlefield surveillance [1].WSNs are collections of some sensor nodes that have integrated wireless communication, sensing, data storage, and data processing capabilities.These sensor nodes transmit sensed data to the sink via single-hop or multihop routing to accomplish specific tasks.Generally speaking, each sensor node has limited energy because it is often powered by nonrechargeable batteries.So with time elapsing, some sensor nodes may run out of energy, thus leading to the phenomenon that other sensor nodes cannot send data to the sink, called energy hole [2][3][4].Therefore, designing energyefficient routing algorithm to prolong the lifetime is very important to wireless sensor networks.
Researchers have done a lot of related work, among which clustering, multihop transmission, and sleep scheduling are the most widely used techniques to improve energy efficiency.In clustering algorithms, each cluster consists of one cluster head (CH) and some cluster members (CM).CH aggregates the data received from CMs and then conveys the aggregated data to the sink.For the reason that data aggregation is applied, the amount of the whole network's data to be transmitted is significantly reduced, thus prolonging the lifetime [5][6][7].
Studies in [6][7][8][9][10][11] have shown that multihop transmission can effectively help reduce the energy consumed in communication and extend the lifetime.However, CHs closer to the sink would consume more energy because they are loaded with more relaying traffic than the other CHs.Therefore, the energy hole problem will arise around the sink much easier.To solve the problem, unequal clustering is proposed.In unequal clustering algorithms, the clusters closer to the sink have smaller cluster size.Actually node density around the CH will also have effects on its energy consumption, especially under the nonuniform distribution.As Figure 1 shows, areas  and  have approximately equal distance to the sink, but node density of area  is obviously larger than that of area  which will lead to those CHs in area  having heavier burden than CHs in area , and thus CHs in area  will consume more energy and then the energy hole may occur.
In [12][13][14][15], researchers have proposed some algorithms which aim to conserve energy by turning off as many as possible sensor nodes while achieving the application's coverage goal at the same time.Tao et al. first propose the flow-balanced routing protocol (FBR) [16], which is very different from traditional routing algorithms.In FBR, a graph topology is constructed instead of tree structure and each CH may have multiple parents.When CH relays data, it computes the amount of flow from itself to each of its parent according to parent's current residual energy to balance relaying node's energy consumption.However, each cluster has the same cluster size in FBR; thus sensor nodes closer to the sink will die faster.
In this paper, we propose a flow-partitioned unequal clustering routing algorithm (FPUC) aiming to achieve longer network lifetime and coverage lifetime.Network lifetime is defined as the duration from the beginning to the time when any or a given percentage of sensor nodes die.Coverage lifetime measures the period from the network setup time to the time that network coverage drops below a predefined threshold or application's demanding value [16][17][18].Compared with the existing clustering routing algorithms, FPUC mainly has the following differences.
(1) FPUC considers not only sensor node's residual energy but also sensor node's overlapping degree in the process of cluster heads selection.The sensor node which has more residual energy and larger overlapping degree has higher probability to be a cluster head.
(2) FPUC computes the competition radius according to sensor node's distance to the sink and sensor node's surrounding node density.
(3) After aggregating the data received from CMs, CH sends data to its CMs by the way of partitioning flow.When a CM receives data from its CH, it will transmit the flow to the next hop with the minimum cost.Thus the CH and CMs bear the burden of data relaying together.
The remainder of this paper is organized as follows.Section 2 introduces the related work.The network model and some definitions are described in Section 3. In Section 4, we propose the FPUC algorithm.Section 5 provides performance analysis about FPUC.In Section 6, we present the simulation results to show the validity of FPUC.The last section gives the conclusions.(LEACH) [5] is the first clustering routing protocol proposed.In LEACH, each sensor node has a certain probability to become a cluster head per round and the CHs send the aggregated data to the sink directly.Obviously, LEACH is very simple and can effectively extend the lifetime.However, LEACH does not take the residual energy of sensor node into consideration which will result in that the sensor node with little residual energy may become a cluster head.Moreover, because of transmitting data to the sink via single hop, sensor nodes closer to the sink will die faster, respectively.To solve the problems of LEACH, Younis and Fahmy proposed HEED in which the sensor node having more residual energy has higher probability of becoming cluster head [6].As a result, HEED can generate a more reasonable network topology.In HEED, it adopts multihop routing.Consequently, sensor nodes closer to the sink would deplete their energy faster.The unbalanced energy consumption among different CHs may cause the network to be partitioned.

Related Work
For solving hot spots problems in multihop WSNs, Soro and Heinzelman first proposed unequal clustering algorithm [19].In [19], the network topology is a two-level concentric circle around the sink and the inner ring has smaller cluster size than the outer ring.However, the work in the literature [19] focuses on a heterogeneous network where CHs are deployed at determined locations.In [7], Li et al. proposed an energy-efficient unequal clustering algorithm (EEUC).In EEUC, the cluster closer to the sink has smaller size so that the cluster head can have more energy to relay data.Other unequal clustering algorithms, for example, [20,21], are, respectively, based on the core idea of EEUC.These existing algorithms compute competition radius only according to sensor node's distance to the sink so that the cluster in an area where the node density is very high may have too many CMs.As a result, the cluster head may be loaded with too heavy burden and then would die faster.It is much worse in the case that the sensor nodes are deployed nonuniformly.
Research works in the literature [12][13][14][15] concentrate on how to switch off as many as possible sensor nodes for saving energy consumption while satisfying application's requirements for coverage.In [12], the authors proposed a sleep scheduling mechanism that puts sensor nodes into sleeping mode based on coverage information.In [13], the authors proposed a sleep scheduling scheme, where the probability of a sensor node's entering sleeping state is proportional to its distance to its cluster head.However, achieving the expected coverage ratio does not ensure that it can provide persistent coverage of the monitored area.Obviously, sensor nodes do not equally contribute to the whole network coverage.Comparing with the loss of a sensor node in scarcely populated regions, the death of a sensor node in a densely populated area is not so important.In other words, if some parts of a sensor node's sensing area are not covered by any other sensor nodes, the loss of this sensor node would leave the network inefficient.Such a sensor node can be called the coverage-critical node.These algorithms select cluster heads according to residual energy or previous activity of the sensor node as cluster head, ignoring sensor node's overlapping degree.So in these algorithms, the coveragecritical nodes may become cluster heads.Thus, these cluster heads would run out of energy very fast so that the coverage lifetime would be affected.This paper proposes a new cluster head selection algorithm that takes sensor node's residual energy and overlapping degree into consideration at the same time.
Existing clustering routing algorithms [2][3][4][5][6][7][8][9][10][19][20][21] perform the cluster construction operation periodically to balance the energy consumption between cluster head and cluster members.However, these approaches cannot improve energy balance of relaying nodes significantly.In FBR [16], it assigns the transferred data over multiple paths from sensor nodes to the sink in order to equalize the energy consumption of sensor nodes.But the cluster formation is performed only once in FBR, which will result in that the sensor nodes as cluster heads would deplete energy very fast.And in FBR, each cluster has the same cluster size; thus the energy hole will occur around the sink easier.In this paper, we propose a novel algorithm where flow-partitioned routing is applied.At the same time, it adopts unequal clustering mechanism that will help avoid the hot spots problem around the sink, thus prolonging network lifetime.

Network Model.
In this paper, we adopt the same network model as in [7,8,20], considering  ×  square units, denoted by , in which  homogeneous sensor nodes are randomly deployed.Then the average node density  0 is /.Each sensor node is assigned with a unique ID and has the same initial energy  init .Sensor nodes cannot get location information themselves and all of them will not move after deployment.We assume that the sink is out of the sensing field and has enough energy.The sensing range of a sensor node is .Each sensor node is able to communicate with the sink directly, having a tuned transmission radius, denoted by  =  ( = 1, 2, 3, . ..)where  is the minimum transmission range and we assume that  is larger than .
The sensor nodes in the range  of sensor node  are called the neighbor nodes of sensor node , denoted by NG().And  those sensor nodes in the range from  to 2 of sensor node  are called the close nodes of sensor node , denoted by CN().Figure 2 shows an example in which sensor node  has one neighbor node  and two close nodes,  and .
Then, NG() and CN() can be given as follows: The overlapping degree of a sensor node is the ratio of the overlapping area of the sensor node with its close nodes to its sensing area.For example, the overlapping degree of sensor node , denoted by OPD(), can be computed as follows: As Figure 3 illustrates, assuming the sensing area of sensor node  is   and the area of shadowing portion is   , then the overlapping degree of sensor node  is   /  .Obviously, the value of OPD() ranges from 0.0 to 1.0 and the International Journal of Distributed Sensor Networks smaller the OPD() is, the more important the sensor node  to the network is.If OPD() = 0, it indicates that there are no other sensor nodes in the sensing area of sensor node .That is to say, the information of the area covered by sensor node  cannot be got if sensor node  dies.To get OPD(), ∪ ∈CN()   ∩   should be calculated first.
First of all, we consider a simple case.As Figure 4 shows, sensor node  has one close node and the sensing area of , denoted by   , is  2 .The area of the shadow region part ∪ ∈CN()   ∩   can be expressed as   ∩   which can be computed according to where  is the sensing range and  − is the distance from sensor node  to sensor node  that can be got by the logshadowing model [22].So, when sensor node  has multiple close nodes, ∪ ∈CN()   ∩   can be calculated according to 3.2.Energy Model.This paper only considers the energy consumed in data transmitting and receiving as the energy model used in [2, 5-10, 20, 21].The energy consumed for data transmitting comes from transmitter electronics and amplifier, and the energy consumed for data receiving comes from receiver electronics.Then, when transmitting one -bit packet with distance , the radio expends: As well, when receiving one -bit packet, the radio expends: where  elec is the transmitting and receiving circuit loss.The free space ( 2 power loss) is adopted when the distance between transmitter and receiver is smaller than the threshold  0 , and the multipath model ( 4 power loss) is adopted when the distance between transmitter and receiver is larger than the threshold  0 .

The Proposed Algorithm
FPUC consists of two phases: clustering and flow-partitioned routing.In the clustering phase, it first selects candidate cluster heads based on sensor node's residual energy ratio.Then it calculates competition radius according to sensor node's distance to the sink and surrounding node density.
After that, CHs are generated on the basis of sensor node's residual energy and overlapping degree.In the routing phase, CH aggregates data received from CMs and then distributes the data flow to gateway nodes which will relay the received data to the next hop with minimum cost.

Cluster Formation Algorithm.
At the time of network setup, the sink broadcasts a message named "Initial ( 0 )" to all sensor nodes, where  0 is the time of cluster formation.After receiving the initial message, each sensor node computes the distance to the sink according to signal strength and returns an "Init Response" message that contains its ID and distance to the sink.At the beginning of cluster formation phase, each sensor node broadcasts a "Compete Head Msg" message that includes its ID, residual energy, and distance to the sink with max competition radius  comp max (assuming  comp max > 2 and  comp max > ).Thus, each sensor node, say , can find its neighbor nodes NG() and close nodes CN() according to all received "Compete Head Msg" messages.After that, sensor node  calculates its residual energy ratio (RER) according to where  residual  is the residual energy of sensor node  and  residual NG() is the average residual energy of sensor nodes in NG().If RER() >= 1, sensor node  becomes a candidate cluster head; otherwise, it enters sleeping mode and keeps sleeping until the cluster head selection ends.If a sensor node becomes a candidate cluster head, it needs to compute its competition radius.We set  comp  as a function of the distance to the sink of sensor node  as [7,20] where  max and  min denote the maximum and minimum distance between sensor nodes and the sink,  −sink is the distance between sensor node  and the sink, and  is a constant parameter between 0 and 1.For a candidate cluster head , assuming that there are   sensor nodes in the range of its competition radius  comp , the surrounding node density of candidate cluster head  can be given by If () −  0 > 0, the competition radius of candidate cluster head  should be recalculated.Candidate cluster head  first counts the number of sensor nodes in its increasing range  0 , 2 0 , 3 0 ⋅ ⋅ ⋅  0 ( 0 ≤  comp ;  is the maximum positive integer that ensures that  0 is not larger than  comp ), denoted by   (1),   (2), . . .  ().Then candidate cluster head  decreases competition radius from  0 by the step of  0 until the () is not larger than  0 and adopts this  0 (1 ≤  ≤ ) as the final competition radius.
Once finishing computing competition radius, all candidate cluster heads start to compete to be cluster head.In FPUC, it adopts timing broadcast mechanism.The time that a candidate cluster head declares to become a cluster head is defined as follows: where NC() is the candidate cluster heads in the range of  comp  of sensor node ,  residual  is the residual energy of candidate cluster head ,  residual NC() is the average residual energy of sensor nodes in NC(), OPD() is the overlapping degree of candidate cluster head ,  is a random decimal between 0.95 and 1.0 that could reduce the probability of broadcast conflict, and  is a regulator that ranges from 0 to 1.According to (10), the more the residual energy and the larger the overlapping degree the candidate cluster head has, the shorter the waiting time to become a cluster head is.Once a candidate cluster head becomes a cluster head, it will broadcast a message named "Final Head Msg" to inform other sensor nodes and if a candidate cluster head receives a "Final Head Msg" message, it will quit the cluster head competition.
When the cluster head selection phase ends, ordinary sensor nodes wake up.To inform the ordinary sensor nodes to join cluster, each cluster head broadcasts a message named "Construct Cluster Msg." After that, each ordinary node joins the closest cluster according to signal strength and returns a "Join Cluster Msg" to notice the corresponding cluster head.
Algorithm 1 is the pseudocode of cluster head selection algorithm.

Flow-Partitioned Routing Algorithm.
In this phase, each cluster member first sends data to its cluster head.The cluster head aggregates the data gathered from its cluster members into a single packet, which is assumed -bit, and then transmits the data to the sink by the way of flow partitioning, which can significantly balance energy consumption among sensor nodes.Figure 5 illustrates an example; to explain the advantages of flow-partitioned routing more clearly and briefly, we make the following assumptions: (1) sensor node  has a -bit data packet, denoted by , to be conveyed and the residual energy of sensor nodes , V, and  is 0.4 J; (2) the energy consumption for transmitting -bit data from sensor nodes , V, and  to the sink is 0.3 J and the energy consumption for receiving -bit of sensor nodes , V, and  from sensor node  is 0.12 J, 0.1 J, and 0.12 J.So if sensor node  sends packet  to the sink via sensor node V, sensor node  will run out of its energy.If the data packet  is partitioned into three equal packets, denoted by  1 ,  2 , and  3 , each of which is /3-bit and sensor node  sends  1 ,  2 , and  3 to sensor nodes , V, and ; thus after the sink receives the three packets from sensor nodes , V, and , the residual energy of sensor nodes , V, and  is 0.26 J, 0.27 J, and 0.26 J. Obviously, flow-partitioned routing can effectively balance energy consumption among sensor nodes, thus significantly prolonging the network lifetime.
The flow-partitioned routing algorithm is composed of two phases: data flow partitioning phase and relaying phase.In the data flow partitioning phase, the cluster head partitions data flow into several small packets and then distributes these packets to its gateway nodes.In the relaying phase, each gateway node transmits received data to the next hop with minimum cost.If a sensor node, say , receives data from a gateway node, sensor node  will send the data to its cluster head.
Figure 6 shows the entire process intuitively.In the data flow partitioning phase, each cluster head, say , first finds its gateway nodes GN() according to International Journal of Distributed Sensor Networks (0) for every node in the network (1) broadcast a Compete Head Msg (2) for every node  in the network (3) if receive a Compete Head Msg from node  then (4) compute distance between node  and node  (5) end if (6) for every node  in the network (7) find NG() and CN() (8) compute OPD() according to (2), ( 3), (4) (9) compute RER() according to (7) (10) if RER() >= 1 then (11)  ←  (12) compute  comp of node  according to ( 8), (9) ( 13) else (14) sleep (15) end if (16) for every CandidateClusterHead in the network (17) compute   according to (10) (18) for every CandidateClusterHead in the network (19) while (the timer  0 is not expired) ( 20) if receive a Final Head Msg (22) give up the competition (23) end Assuming sensor node  has -bit data to be transmitted, the amount of data to be distributed to each of its gateway nodes, say , is given as follows: When a gateway node, say , receives data sent by its cluster head, it needs to find the next hop to forward data.In order to reduce energy consumption for communication, a distributed strategy is adopted where gateway nodes choose an optimal path for transmission.At the beginning, gateway node  should decide whether to send data to the sink directly or broadcast a message which includes its ID, its cluster head ID, and its distance to the sink depending on whether its distance to the sink  −sink is larger than the threshold TD.When a sensor node, say , receives the message from gateway node , it will give gateway node  a response message that contains its ID, its residual energy  residual  , its distance to the sink  −CH , its cluster head's residual energy  residual CH , and its cluster head's distance to the sink  CH−sink if it is not in the same cluster as gateway node  and it is closer to the sink than gateway node .After receiving the response message from sensor node , gateway node  computes the distance to sensor node  − and adds the information of sensor node  into the candidate relaying nodes table CRN().At last, gateway node  will select the sensor node with minimum cost in CRN() as the next hop.The cost in this paper is defined as follows: where , , and  are parameter factors.The cost function is mainly based on the following considerations.
(1) The first term in the cost function aims to select the sensor node with more residual energy as relaying node to forward data.Because data transmission will consume energy, the residual energy of a sensor node is a very important factor.
(2) The second term in the cost function takes the residual energy of candidate relaying node's cluster head into consideration because when a relaying node receives data, it will send the data to its cluster head.
(3) The third term in the cost function aims to select the route that uses minimum energy to transmit data from sensor node  to the sink.
In the data flow partitioning phase, it may occur that some cluster heads, say , may fail to get their gateway nodes, called "Gateway Hole." As Figure 7 shows, each of the cluster members that are closer to the sink of cluster head  does not have more residual energy than the cluster's average residual energy.If the problem arises, cluster head  will broadcast a message that contains its distance to the sink with  comp  ( is the minimum positive integer that ensures that NCH() is not empty).When the cluster head that is closer to the sink than cluster head , say , receives the message, it will return a message that contains its residual energy.After receiving these messages, cluster head  will set up a neighbor cluster heads table NCH() and add the information of cluster head  into NCH().The amount of data distributed to each cluster head in NCH() is given as follows:

Performance Analysis
Lemma 1.In the cluster formation phase, the message complexity is (), where  is the total number of sensor nodes in the network.
Proof.At the beginning of the cluster selection phase, each of the sensor nodes broadcasts a "Compete Head Msg" message, so the total number of "Compete Head Msg" messages is .Assuming that in the cluster head selection phase,  cluster heads are generated.Thus these  cluster heads will broadcast  "Final Head Msg" messages.
To construct cluster, each cluster head should broadcast a "Construct Cluster Msg" message and each ordinary sensor node should send a "Join Cluster Msg" message.The number of these two types of messages is .So the total messages add up to  +  +  = 2 + .
Thus the message complexity is ().
Lemma 2. In cluster formation phase, the upper bound for the number of cluster heads is Proof.For each cluster head, there are no other cluster heads in the range of its competition radius.In [22], it has been proved that the maximum overlapping angle between three adjacent disconnected sensor nodes is /3.As Figure 8 shows, the number of cluster heads in the network reaches the maximum value.It can be computed that the area of a cluster is √ 3( comp ) 2 /2. Figure 9 shows an opposite case.The area of a cluster reaches the maximum value 3 √ 3( comp ) 2 /2, which has been proved in [23].It can be easily seen that  comp ranges from (1−) comp max to  comp max ; therefore, the upper bound for the number of cluster heads is ⌈2/ √ 3((1 − ) comp max ) 2 ⌉ and the lower bound is ⌈2/3 √ 3( comp max ) 2 ⌉.
Lemma 3. The total number of messages in the cluster formation phase is smaller than

Simulation Results
In this section, we provide simulation results to validate the effectiveness of FPUC and compare the performance with existing algorithms: LEACH [5], EEUC [7], and FBR [16].Firstly, we show two performance metrics of the four algorithms: network lifetime and coverage lifetime.Then we analyze the energy balance and overall energy consumption of each algorithm.Besides, to observe the effects of parameters on performance, we also change the network parameters to see the difference.At last, we compare the performance of the four algorithms under uniform and nonuniform deployment situations.The network environment and experimental default parameters are given in Table 1.

Comparison of Network Lifetime.
In this paper, we use two metrics: network lifetime and coverage lifetime to evaluate the performance of LEACH [5], EEUC [7], FBR [16],   coverage drops below a predefined threshold or application's requirement.
Figure 10 compares the network lifetime of FPUC with that of LEACH, EEUC, and FBR.From the results shown in the picture, we can see that FBR outperforms other approaches and FPUC yields a much longer network lifetime than FBR.
Figure 11 compares the coverage lifetime of FPUC along with LEACH, EEUC, and FBR.Respectively, FPUC can achieve better coverage lifetime than the other three protocols and when the first sensor node runs out of energy, the network coverage ratio is still kept at 100%.

Energy Consumption.
For wireless sensor networks, the algorithms that aim to improve the lifetime need to have the following two features: (1) minimum total energy usage; (2) balanced energy consumption.Figure 12 shows the energy consumption over time of the four algorithms.Figure 13 represents each sensor node's residual energy at the 100th round of LEACH, EEUC, FBR, and FPUC.
We can have the following conclusions from Figures 12  and 13.The energy consumption in each round of LEACH and EEUC is much more than that of FBR.And FPUC consumes relatively less energy than FBR.In Figure 13, we can clearly know each sensor node's residual energy at the 100th round of the four algorithms.Figure 13(a) is the distribution of each sensor node's residual energy of LEACH.It can be easily seen that the sensor nodes closer to the sink have much more energy than those sensor nodes far away from the sink.Figure 13(b) is the distribution of each sensor node's residual energy of EEUC.Obviously, the sensor nodes far away from the sink have much more energy than those sensor nodes closer to the sink.Figure 13(c) is the distribution of each sensor node's residual energy of FBR.Respectively, the energy consumption of FBR is relatively more balanced than LEACH and EEUC. Figure 13(d) is the distribution of each sensor node's residual energy of FPUC.Compared to LEACH, EEUC, and FBR, the total energy consumption among all sensor nodes of FPUC is more balanced.However, the sensor nodes closer to the sink still consume more energy.
The reasons for the above results can be summarized as follows.In LEACH, the data is transmitted to the sink directly; that is to say, the farther the sensor node is, the more energy the sensor node will consume when forwarding data.Thus, the sensor nodes far away from the sink will consume more energy.In EEUC, it adopts multihop data transmission, International Journal of Distributed Sensor Networks so the sensor nodes closer to the sink will be loaded with more data forwarding traffic, thus consuming more energy.
In FBR, because the flow-balanced routing is used, the energy consumption is balanced in a degree.However, because only the cluster heads convey data and the cluster formation is performed only once, the cluster heads will run out of energy faster.In FPUC, the cluster heads and cluster members share the burden of data traffic at the same time and unequal clustering is adopted, thus leading to more balanced energy consumption.
Figure 14 shows the distribution of dead sensor nodes when 10% sensor nodes die.We can see that the distribution of FPUC is more uniform in comparison with the other three algorithms.From Figure 15, we can draw the conclusion that the number of sensor nodes has a little effect on the performance of LEACH.When the number of sensor nodes increases, EEUC, FBR, and FPUC can achieve longer network lifetime in some degree.In EEUC, increasing the number of sensor nodes can contribute to select a more optimal relaying node when forwarding data.In FBR and FPUC, there will be more sensor nodes to share the burden of data transmission if the number of sensor nodes increases and the energy consumption will be more balanced.

6.3.2.
Varying the Value of Parameter . Figure 16 shows how the parameter  affects the network lifetime of FPUC and Figure 17 shows the effects of parameter  on the coverage lifetime.It can be seen that the performance is the best when  is 0.5.

Varying the Node Distribution.
From the results in Figure 18, we can see that the network lifetime of LEACH, EEUC, and FBR under the uniform distribution is longer than that under the nonuniform distribution.But the distribution has a little effect on the performance of FPUC because it can also generate a reasonable topology under the nonuniform distribution.

Summary
In this paper, we have proposed a new flow-partitioned unequal clustering routing algorithm.In the clustering formation phase, it first computes the competition radius according to the node density and the distance from a sensor node to the sink.Then it selects the sensor nodes with more residual energy and larger overlapping degree as cluster heads.In the data transmitting phase, flow-partitioned routing is adopted, where cluster heads and cluster members share the burden of data forwarding together.Comprehensive simulation results demonstrate that FPUC can significantly improve network lifetime and coverage lifetime comparing with LEACH, EEUC, and FBR.

Figure 2 :
Figure 2: The neighbor nodes and close nodes of sensor node .

Figure 4 :
Figure 4: Sensor node  with one close node.

Figure 6 :Figure 7 :
Figure 6: The gateway nodes of a cluster.

Figure 8 :
Figure 8: Illustration of minimum area of cluster.

Figure 9 :Figure 10 :
Figure 9: Illustration of maximum area of cluster.

Figure 13 :
Figure 13: Each sensor node's residual energy of various algorithms at the 100th round.
Parameters on Performance 6.3.1.Varying the Number of Sensor Nodes.First we evaluate how the number of sensor nodes affects the performance.

Figure 17 :
Figure 17: The effects of parameter  on network coverage (when first sensor node dies).

Figure 18 :
Figure 18: The effects of node distribution on network lifetime.

Table 1 :
Network environment and experimental default parameters.Network lifetime is defined as the duration from the beginning to the time when any or a given percentage of sensor nodes die.Coverage lifetime measures the period from the network setup time to the time that network