Detecting Boundary Nodes and Coverage Holes in Wireless Sensor Networks

The emergence of coverage holes in wireless sensor networks (WSNs) means that some special events have broken out and the function of WSNs will be seriously influenced. Therefore, the issues of coverage holes have attracted considerable attention. In this paper, we focus on the identification of boundary nodes and coverage holes, which is crucially important to preventing the enlargement of coverage holes and ensuring the transmission of data. We define the problem of coverage holes and propose two novel algorithms to identify the coverage holes in WSNs. The first algorithm, Distributed Sector Cover Scanning (DSCS), can be used to identify the nodes on hole borders and the outer boundary of WSNs. The second scheme, Directional Walk (DW), can locate the coverage holes based on the boundary nodes identified with DSCS. We implement the algorithms in various scenarios and fully evaluate their performance.The simulation results show that the boundary nodes can be accurately detected by DSCS and the holes enclosed by the detected boundary nodes can be identified byDW.The comparisons confirm that the proposed algorithms outperform the existing ones.


Introduction
Wireless sensor networks are widely applied in many fields such as battlefield surveillance [1,2], target tracking [2][3][4], environment monitoring [5], and health care [6,7].Most of the above applications are mission-critical and require complete coverage of the monitored area so that the events under observation can be precisely detected.However, these requirements constantly encounter the obstacles from coverage holes.On the one hand, coverage holes degrade the performance of WSNs, such as decreasing the connectivity, unbalancing the WSNs load, and aggravating the burden of hole border nodes in data forwarding.On the other hand, the appearance of coverage holes indicates the burst of special events, such as forest fire and earthquake [8].Unfortunately, due to nonuniformity of deployment [9], failure of nodes [10], and obstacle of terrain [11], coverage holes are bound to appear and gradually increase in number and size.Thus, to alleviate the increase is stringently demanded [12].However, no matter which idea is adopted, optimizing routing protocols [13,14] or reducing energy consumption [15], to identify coverage holes comes first and foremost.
In this paper, we tackle the problem of identifying coverage holes in various scenarios by detecting the nodes located on the border of holes.Our contributions are as follows.First, we formally define the notions of boundary nodes and 2 Mobile Information Systems coverage holes.Second, we generalize our work into two questions: one is how boundary nodes are identified and the other is how coverage holes are detected.Correspondingly, we propose two algorithms, Distributed Sector Cover Scanning (DSCS) and Directional Walk (DW) algorithm.DSCS, motivated by the observation that a node can have its sensing area divided into different sectors by its neighbors, transforms the problem of identifying boundary nodes into judging whether all the sensing sectors of a node are covered by the adjacent neighbors of the node.DW, based on DSCS, is responsible for detecting coverage holes by connecting the boundary nodes that enclose the same coverage hole and clustering the nodes on the outer boundary of WSNs.Finally, we implement DSCS and DW and verify their correctness and robustness.
The remainder of this paper is organized as follows.Section 2 reviews related works.In Section 3, we present the net model and define coverage holes and boundary nodes.Section 4 presents the DSCS and DW algorithms in detail and states the related theoretical analysis to prove the correctness of the algorithms.Section 5 presents a part of the simulation results and compares the proposed algorithms with the existing ones.Finally, we conclude the paper.

Related Work
In this section, we recall the previous studies on the boundary node identification and coverage hole detection.The existing works can be classified into three categories: geometrical, statistical, and topological [25].
In general, geometry-based methods employ the geometrical tools to recognize the boundary nodes and coverage holes with the assumption that nodes are aware of their own locations.Fang et al. [16] proposed a two-step distributed approach, in which each node autonomously checks whether it is a stuck node serving the identification of coverage holes and then an alternative route is created for data transmission along the holes.Khedr et al. applied Barycentric technique to propose a decentralized algorithm in [17], in which each node can determine whether it is a boundary node by calculating the distance of the adjacent nodes.The scheme proposed by Deogun et al. identifies a boundary node by Choosing Good Neighbors (CGN) of a node and then checking whether the Good Neighbors can form a triangle enclosing the node in [18].Simek et al. proposed Boundary Recognition using Cset (BRC) in [19] based on the improved CGN.The implementation of both CGN and BRC is restricted by the communication range of nodes.Ma et al. [20] utilized the characters of the circumcircle of a triangle to propose a simple distributed algorithm for boundary node identification.Wang and Ssu described a scheme in [21] that if all the intersection points of the sensing area of a node with those of other nodes can be covered by the sensing region of any other node, then the node is not a boundary node.Li and Zhang [22] used the properties of empty circle based on Delaunay triangulation [31] to discover boundary nodes.All the above-mentioned algorithms can recognize whether a node is located on the border of coverage holes.However, few of them offered a clear scheme how coverage holes are identified.
Statistical methods usually identify boundary nodes by assuming that the nodes in WSNs abide by the probability distribution.Fekete et al. [23] proposed an algorithm to detect boundary nodes based on the fact that mostly the node degree of boundary nodes is less than that of the nonboundary nodes of WSNs.Although good results can be achieved when the node degree in WSNs is smooth, the method is prone to being invalid when the node degree fluctuates sharply.In their subsequent work, Fekete et al. [24] derived the location of boundary nodes from the restricted stress centrality of node.However, to achieve the desirable performance, both of the above methods demand such an unrealistic node density that the average node degree should be not less than 100.
Topology-based approaches, particularly applied to the location-free environment, recognize boundary nodes and coverage holes by exploiting the connectivity information of nodes.Funke et al. developed a distributed hole detection algorithm (DHD) that identifies boundary nodes by locating the broken contour in [8].DHD firstly selects each node in the max independent set of WSNs as a seed to build its different layers of contours by connecting its neighbors that share the same hop distance, and then the algorithm identifies boundary nodes by locating the end points of a broken contour.On the basis of DHD, Chu and Ssu [26] proposed to recognize boundary nodes through creating the contour of each node based on the three-hop neighboring information of the node.Huang et al. [27] extended the idea of isocontour and proposed a scheme that uses the two-hop neighbors of any node to build the isocontour of it.The node is a boundary node if its isocontour is broken.Although the scheme does not require the location of node, it marks too many boundary nodes.Kröller et al. [28] identified coverage holes and the outer boundary of WSNs by searching a complex combinatorial structure, called flower, on the assumed prerequisite that the average node degree is more than 20.After that, Saukh et al. improved the flower pattern to recognize boundary nodes in [29], but both of them fail to detect some special patterns.Different from the above, Wang et al. [25] utilized the cut pair of the shortest path tree constructed by an arbitrary node in WSNs to identify boundary nodes, which can work well even with low average node degree.However, the high communication cost produced by repeatedly using the flooding way shrinks the lifetime of WSNs.To overcome this problem, Khan et al. proposed a hop-based approach in [12].In this approach, each node determines whether it is a boundary node by checking whether the -hop neighbors of a node can form an enclosed cycle of the node.Ghrist and Muhammad put forward a scheme [30] based on algebraic homology theory.However, the centralized design does not follow the trend of actual implementation in WSNs.
In this paper, we propose two distributed algorithms based on computational geometry, which can effectively prevent the drawbacks of the aforementioned approaches.In the first algorithm, each node can autonomously determine whether it is a boundary node.In the second, boundary nodes can be clustered according to the coverage holes and the outer boundary of WSNs that they enclose.

Preliminary
3.1.Network Model and Assumption.Imagine the following scenario: a WSN is formed by  homogeneous sensor nodes V  ( = 1, . . ., ) that are randomly deployed in a 2dimensional monitored area A. The WSN is modeled as a connected graph  = (, ), where  represents the set of all nodes in the WSN and  denotes the set of edges (communication links) between the pairwise nodes.In this model, it is assumed that each node has a unique ID and knows its own location via GPS or some other localization approaches [32,33].Besides, we assume that all the nodes can communicate directly with the adjacent nodes within the communication range and collect their own one-and twohop neighbors.At the same time, this work assumes that the sensing area and communication range of node V  in WSN are regular disks with   and   as the radii, respectively, centered at V  .Here,   equals   .

Definitions
Definition 1 (neighbor set).Let   (V  ), described in formula (1), denote the -hop neighbor set of node V  ; node V  is called the -hop neighbor of node V  if V  ∈   (V  ).Let  1,2 (V  ), described as formula (2), represent the union set of one-and two-hop neighbor nodes of where  V  ,V  is the Euclidean distance between the nodes V  and V  .
Definition 2 (sensing area).The sensing area of node V  , denoted as (V  ), is described as formula (3).(V  ) is a circular disk with   as the radius and V  as the center.As shown in Figure 1, with the location of node V  as the origin of local Cartesian Coordinate System (CCS), the circular disk enclosed by dashed line is the sensing area of node V  ; the dashed line represents the boundary of sensing area, denoted as (V  ): Definition 3 (absolute angle).As shown in Figure 1, a local CCS is created with node V  ( V  ,  V  ) as the origin, and The absolute angle of V  refers to the forward angle from -axis positive direction to the ray   → where the nodes are sorted according to the ascent of absolute angles of nodes: Definition 4 (central angle).As shown in Figure 1, an angle formed by the two rays,   → Definition 5 (sensing sector).(V  ) can be divided into  ( = 1, . . ., | 1,2 (V  )|) sectors by  1,2 (V  ); each sector is called a sensing sector and the th sensing sector is denoted by S(V  , ); if the central angle corresponding to S(V  , ) is ∠(V  , V  , V  ), then S(V  , ) can also be denoted by S(V  , V  , V  ).The sectors satisfy the following formula: Definition 6 (communication range).As shown in Figure 1, the communication range of node V  is the circular disk enclosed by dashed line, with V  as its center and   as its radius;   =   in this paper.
Definition 7 (investigated node (ItN)).ItN is the node that has already collected the neighbor information and is ready to perform the boundary node detection algorithm.

Definition 8 (boundary node (BN)). A node is called a BN if it lies on the border of holes or the outer boundary of WSNs.
A set of boundary nodes is denoted by BNs.If a node is not a BN, then it is called a non-BN; the set of nonboundary nodes is denoted by non-BNs, as illustrated in Figure 2.
Definition 9 (coverage hole).In this paper, a coverage hole means a hole that is not covered by the sensing area of any node in A, as illustrated in Figure 2.
A summary of the symbols is described in Symbol.

Detecting Boundary Nodes and Coverage Holes
In this section, we focus on how BNs, coverage holes, and the outer boundary of WSNs are identified.To begin with, we present a mechanism for the recognition of BNs.Then, we offer the method of clustering BNs, namely, how coverage holes and the outer boundary are located.Finally, we prove the lemmas used in the schemes.
Before executing the algorithm of DSCS, the neighboring information of all the nodes in A should be prepared.Each node needs to collect the information of its one-and twohop neighbors, including the location and ID of the neighbor nodes.In this procedure, each node (or sender), with its unique ID and location, broadcasts a hello message to its neighbors within its communication range, and then the neighbors (or receivers) calculate the distance (  ) between each of them and the sender after receiving the hello message; if   meets formula (1) ( = 1), then the receivers set themselves as the one-hop neighbors of the sender and unicast a response message with their IDs and locations to the sender.In the subsequent step, the sender initiates a request message for exchanging one-hop neighbor list with its onehop neighbors.Finally, the sender carries out formula (6) to achieve the two-hop neighbors [12]: DSCS is carried out after the required information is collected.We exploit Figure 3 and Algorithms 1 and 2 to explain the implementation of DSCS.As shown in Figure 3 . According to row (5) of Algorithm 1, the absolute angle of every node in  1,2 (V 1 ) is calculated, with these nodes being arranged in the ascending order of their absolute angles.It is noted that nodes V 2 and V 18 have the same absolute angles; we retain node V 2 and remove V 18 (marked as red) from  1,2 (V 1 ) based on row (6) of Algorithm 1.Then, the set Next, DSCS examines the absolute angles of the nodes in  1,2 (V 1 ); if the absolute angles satisfy the condition of rows ( 9)-( 11) of Algorithm 1, V 1 is a BN.Otherwise, DSCS starts to examine whether the border of each sector of (V 1 ) is completely covered by the sensing area of the corresponding neighbor nodes.According to row (13) ) can be fully covered by (V 12 ); a similar procedure will continue until the last sector.It is apparent that V 1 has no holes around it; therefore, it is a non-BN.This procedure can be distributedly executed by any node of WSNs.

Identifying Coverage Holes.
In this section, we present DW, as described in Algorithm 3, to illustrate how the BNs that enclose the same coverage hole are clustered.It serves to fulfill our work in a more meaningful way.Here are the concrete steps.
Step 1. Initialize an empty queue  for storing the clustered nodes in the following steps.
Step 2. Select the node with the minimum coordinate from BNs as the start node (V st ), being marked as the current node of DW (denoted by V  ) and pushed into .Then V  checks, from its  1 (V  ) ⊂ BNs, whether there are any nodes whose absolute angles belong to [3/2, 2].If there exist any, V  selects the node which has the minimum absolute angle as its Sort the nodes of  1,2 (V  ) on the basis of their absolute angles in the ascending way (9) if the absolute angle of the node in  1,2 (V  ) meets any one of the following conditions: (10) (a)∠abs . then (11)  V  ← true ( 12) else (13) for ) is covered by the sensing area of the neighbor of V  then (3)  ←  (4) else (5)  ←  (6) return  Algorithm 2: Function sectorCover.inorder successor (denoted by V su ), and V su , as the new V  , is put into .Otherwise, change the scope of the absolute angle to [0, /2] and repeat the above procedure.If there does not exist V su in  1 (V  ), then repeat the same searching process in  2 (V  ).
Step 3. Repeat Step 2 until V  cannot find its V su any longer; then change the scope of the absolute angle to [/2, ] and execute the same procedure as in Step 1.Note that the first V su found in this procedure is called the first inflection node; after that, the searching procedure will be continued within the scope [0, ].
Step 4. If V su of V  cannot be found in Step 3, change the scope of absolute angle to [, 3/2] and continue the searching process as in Step 3. In this procedure, the first found node is marked as the second inflection node, and then the searching process is continued within the scope [/2, 3/2].
Step 5. When V su of V  cannot be found in Step 4, change the scope of absolute angle to [3/2, 2] and repeat the same V st ← finding the starting node from BNs according to Step 2 ( 6) V su ← searching for V su of V  from BNs according to Steps 2-5 (9)  ←  ∪ {V su } (10) examining the continuity according to Step 6 ( 11) searching procedure as in Step 4. If the first node found during the procedure is V st or the one-or two-hop neighbor of V st , then the searching procedure is done.Each time the implementation from Step 1 to Step 5 is over, a boundary cycle formed by selected nodes is identified.Of all the boundary cycles, the first identified is the outer boundary, while the rest are coverage holes.
Step 6. Check the queue ; if there is any node in  that has its two-hop neighbor as its V su , insert a relay node that is the one-hop neighbor of both the node and its V su .At the same time, the sum of the distance between the node and this relay node and the distance between the relay node and V su should be the minimum.
Note that the relay node may be a non-BN.
Step 7. Remove all the nodes in  and their one-hop neighbors from BNs.
Step 8.If BNs = ⌀, repeat the procedure from Steps 1 to 7 until the set of BNs is empty or the number of the remaining nodes in the set is  (in our practice  = 2).
We use Figure 2 to describe the whole procedure of DW.We set queue  = ⌀.The node V 41 , bearing the minimum coordinate in all BNs, is selected as V st according to Steps 1 and 2, being marked as V  and pushed into  ( = {V 41 }).Among the one-hop neighbors of V  , V 42 is the best choice to be V su of V  according to Step 2; then V 42 takes the place of V 41 to become V  and is pushed into  ( = {V 41 , V 42 }).This process is executed repetitively until the first inflection point V 24 appears.Next, DW changes the searching direction according to Step 3 and continues the same procedure.When the second inflection point V 29 appears, DW changes the searching direction again according to Step 4 and repeats the same searching process until V su of V  is V st or V st ∈  1,2 (V  ); the searching process is over.In the following, DW finds that V su of all nodes in  are the one-hop neighbors of the nodes.Hence, the nodes enclosing the outer boundary are identified.Finally, DW removes all the nodes in  ( = {V 41-44 , V 21-40 }) and their one-hop neighbors {V 4 , V 9-20 } from BNs.As a result, BNs = {V 1-3 , V 5 } are left.
If DW finds BNs ̸ = ⌀ after the outer boundary is identified, it resets  = ⌀, selects V 5 as V st , and then performs the following operation.V 5 is marked as V  and pushed into .Then, V  finds V 3 as its V su , being marked as new V  and pushed into .At the same time, DW detects that V  is the first inflection node according to Step 3; therefore, it changes the searching scope and finds V 2 as its V su as well as the second inflection node according to Step 4, with V 2 being taken as V  and pushed into .Here, DW changes the searching scope again and finds V 1 as V su of V  .Hence, DW takes V 1 as new V  and pushes it into .Next, V  finds that V 5 is both its one-hop neighbor and V st according to Step 5. Therefore, DW begins to check V su of the nodes in .As a result, DW finds that V su of V 3 and V su of V 2 are their two-hop neighbors, respectively, so V 4 is inserted between V 5 and V 3 according to Step 6.Similarly, V 8 is inserted between V 2 and V 3 .So far, all the nodes have their one-hop neighbors as their V su in .That is to say, the nodes enclosing coverage holes are identified.In the following, DW removes all the clustered nodes in the second round of identification from BNs except V 4 and V 8 (V 4 and V 8 do not exist in BNs).At this moment, BNs = ⌀, which means that the hole detection is over.

Theoretical Analysis.
To prove the correctness of the implementation, we conduct the following theoretical analysis.
Lemma 10.Consider an ItN V  , V  , and V  are any pair of adjacent neighbors (V  , V  ∈  1,2 (V  )), and S(V  , V  ) = (V  ) ∩ (V  ), which is described as formula (7) where ( V  ,  V  ) and ( V  ,  V  ) are the coordinates of V  and V  , respectively, in the local CCS with V  as the origin.Proof.Given a node V  and any pair of adjacent neighbors V  and V  , we assume that V  and V  are located within the CCS with V  as the origin.To prove the correctness of Lemma 10, we discuss it via the following three cases.
cannot be fully covered by (V  ) and (V  ); thereby, V  is a BN according to Definition 8.As shown in Figure 4, the blue shaded area represents the coverage hole.
Case 2. In another scenario, S(V  , V  ) = {}, if point  lies on S(V  , V  , V  ), S(V  , V  , V  ) can be fully covered by (V  ) and (V  ).That is to say, there does not exist a hole in S(V  , V  , V  ) and V  is a non-BN, as shown in Figure 5(a).Otherwise, no matter whether  is inside or outside (V  ), there must be a hole at least around it.Hence, V  is a BN, as shown in Figures 5(b), 5(c), and 5(d).
Case 3. In the third case, S(V  , V  ) ̸ = ⌀; whether holes exist is determined by the position of S(V  , V  ), if S(V  , V  ) ∩ S(V  , V  , V  ) = ⌀, as shown in Figures 6(a) and 6(b); there must exist a hole and V  is a BN.Otherwise, no holes exist and V  is a non-BN, as shown in Figures 6(c), 6(d), 6(e), and 6(f).

Lemma 11. Considering an ItN
Proof.According to Definition 5, (V  ) is divided into | 1,2 (V  )| sectors by the neighbors of V  .If there exists a sector whose border cannot be covered by the sensing areas of the neighbors of V  , according to Lemma 10 and Definition 8, node V  is a BN.Otherwise, it is a non-BN.Proof.We prove Case (a) and the other cases can be proved in the same way.As shown in Figure 7, nodes V  and V  are neighbors of node V  .The three disk areas enclosed by the dashed lines are (V  ), (V  ), and (V  ), respectively.For V  is the | 1,2 (V  )| neighbor of V  , its absolute angle is the largest one.According to Case (a) of Lemma 12, ∠abs(V  , V  ) ≤ .V  is the adjacent node of V  , and V  ∈  1,2 (V  ); thus, ∠abs(V  , V  ) < ∠abs(V  , V  ).The probable positions of V  and V  are shown in Figures 7(a), 7(b), and 7(c).In Figure 7(a), we assume that V  , V  , and V  do not coincide with each other and they all lie on the -axis and S(V  , V  , V  ) can be completely covered by (V  ) and (V  ); meanwhile, (V  ) ∩ (V  ) ∩ (V  ) = { 1 ,  2 }.In addition, the radii of (V  ), (V  ), and (V  ) are equal.Hence, if S(V  , V  , V  ) can be fully covered, (V  ), (V  ), and (V  ) must coincide; in other words,  V  , 2 ,  V  , 2 , and  V  , 2 are equal.However, this contradicts with the assumption.Therefore, V  is a BN when Case (a) is satisfied and all V  , V  , and V  are on the -axis.In Figures 7(b) and 7(c), we can clearly find that the blue shaded area cannot be covered by any sensors wherever V  is located.Consequently, V  is a BN when the position of  1,2 (V  ) conforms to any case shown in Figures 7(b) and 7(c).

Lemma 13. The BNs clustered by DW depict the outer boundary and coverage holes of WSNs, respectively.
Proof.Because all the BNs located on the border of coverage holes and the outer boundary are identified by DSCS, we only need to cluster the BNs into different groups that map coverage holes and the outer boundary.Without loss of generality, within each group of the BNs, there must exist a BN with the minimum coordinate.Besides, the coverage holes lie within WSNs; hence, the BN with the minimum coordinate in all the BNs must lie on the border of the outer boundary.Therefore, the first identified boundary is the outer boundary.Similarly, the other boundary cycles identified in the subsequent rounds are coverage holes.

Experiments and Performance Evaluation
Both DSCS and DW are implemented in MATLAB 2013b on the platform of Windows 7. In the simulations, the sensor nodes are randomly deployed in a monitored square, the size of which is from 100 m × 100 m to 500 m × 500 m.The number of the deployed nodes ranges from 200 to 2000 with the increment of 200.The communication radius of each node varies from 20 m to 50 m with the increment of 10 m.Besides, we compare our algorithms with the existing detection schemes, BRC and DHD, in terms of the correct detection rate, false detection rate, runtime, average energy dissipation, and algorithm complexity.
Figure 8 shows the simulation results in such a WSN that 2000 nodes are randomly deployed in a 500 m × 500 m monitored area with coverage holes different in size, shape, and number.In Figure 8(c), the green points represent the BNs detected by DSCS and the purple represent the refined Mobile Information Systems Figure 9 lists all the correct detection rates and false detection rates of algorithms DSCS, BRC, and DHD.For convenience, we apply the data set offered by Simek et al. [19] in this simulation.It can be observed that the correct detection rate of DSCS always keeps at more than 92% and the false detection rate keeps at less than 10% in the simulations with various sizes and different average node degrees.Although the correct detection rate increases and the false detection rate decreases along with the ascent of average node degree in all algorithms, it is clearly found that the fluctuation of the correct detection rate and false detection rate of BRC and DHD is significantly higher than that of DSCS, which shows that DSCS has a better robustness in all the simulation cases.
As shown in Figures 10(a) and 10(b), the number of BNs increases with the ascent of the size of the monitored area while it decreases with the ascent of the length of the communication radius.The reason is that when the same number of nodes is deployed in the monitored areas with different sizes, the node density decreases with the ascent of the size, which results in the reduction of the number of each node's neighbors and the enhancement of the BNs' occurrence probability.On the contrary, the node density increases with the ascent of the length of the communication radius, which lowers the BNs' occurrence probability.From Figure 10(c), we can clearly observe that the number of BNs detected by DSCS is neither the most nor the least, but the outer boundary and the coverage holes are identified more accurately.
As for the runtime, Figures 11(a) and 11(b) show that it decreases with the enlargement of the monitored area and the reduction of the communication radius.The reason is that, given the number of nodes, the node density increases with the size reduction of the monitored area or the length increase of the communication radius.The increase of node density results in the fact that each node has to spend more time to transmit messages and compute its relation with the neighbors.As shown in Figure 11(c), although the runtime is increasing exponentially along with the ascent of the node number, the growth of runtime of DSCS and DW is slower than that of the other two algorithms.
As a key factor to prolonging the lifetime of WSNs, the energy efficiency during the phase of identifying BNs is evaluated through figuring out the energy each node consumes.During the simulations, all the algorithms apply the energy dissipation model as depicted in [34,35].
Figure 12(a) shows the average energy dissipation of DSCS and DW in the WSNs with the size ranging from 100 m × 100 m to 500 m × 500 m.It can be observed that the energy dissipation is inversely proportional to the size of the monitored area.The main reason is that each node needs to transmit more messages in the case of high node density.As mentioned in [34,35], the dissipation of energy mainly concentrates on message transmission.Thus, the higher the node density is, the more the energy consumption is.Similarly, Figure 12(b) shows that the longer the communication radius is, the more the energy consumption is.In Figure 12(c), different algorithms show a common feature that the energy dissipation is proportional to the amount of nodes.However, the curves of DSCS and DW and BRC, especially of DSCS and DW, grow more smoothly than that of DHD.That is, DSCS is more energy-efficient than BRC and DHD.The same results are obtained from the comparison of remaining energy, as shown in Figure 12(d).The remaining energy of the nodes is the highest when DSCS and DW are employed.
To fully evaluate the performance of DSCS and DW, the computation complexity is considered and illustrated in Table 1.By the foregoing analysis, the implementation of DSCS and DW can be divided into five subprocedures,   Good Neighbors and identifying BNs; their complexities are ( + ) and (3( − 1)), respectively.For  = 21, the overall computation complexity is (60 + ).The DHD algorithm can be divided into two steps.Firstly, it needs to find a max independent set I; the complexity of the stage is ( + ).Secondly, every node of set I needs to serve as a seed to construct isocontours and the complexity of this stage is (||) and || = 85.Hence, the overall computation complexity of DHD is ( + 86).Obviously, the complexity of DSCS and DW is lower than that of the other two algorithms.

Conclusions
In this paper, DSCS and DW are proposed for identifying boundary nodes and coverage holes in a WSN where nodes are randomly distributed.Besides, we simulate various scenarios and evaluate the proposed algorithms from different aspects, including detection rate, runtime, energy efficiency, and algorithm complexity.In the performance evaluation, the effects from the size of WSN and the length of communication radius are taken into account.Simulation results show that DSCS bears the inspiring performance for detecting boundary nodes and DW works well in identifying coverage holes of different sizes and shapes.The algorithms developed in our work are effective in healing coverage holes, improving data forwarding efficiency, and prolonging the lifetime of WSN.

Symbol
A: The monitored area : The connected graph that maps the WSN : The set of nodes in the WSN : The edge set (also called communication links) of   V  ,V  : The Euclidean distance between nodes V  and V    (V  ): The -hop neighbor set of node V  and  = 1, 2, . . .,   1,2 (V  ): The union set of one-and two-hop neighbors of node V  ∠abs(V  , V  ): The absolute angle of node V  ∠(V  , V  , V  ): The central angle constructed by rays   → V  V  and   → V  V  (V  ): The sensing range of node V  (V  ): The sensing border of node V  S(V  , ): Thesectorof(V  ) and the number is  S(V  , V  , V  ): The sector of (V  ) corresponding to ∠(V  , V  , V  )   : The communication radius of node   : The sensing radius of node BN: The boundary node of WSN ItN: The investigated node of WSN.

Figure 2 :
Figure 2: Illustration of BNs and coverage holes.

Figure 9 :
Figure 9: The comparison in terms of detection rate.

Figure 10 :
Figure 10: The comparison in terms of the number of detected BNs.

Figure 11 :
Figure 11: The comparison in terms of runtime.

Figure 12 :
Figure 12: The comparison in terms of energy dissipation.

Table 1 :
The comparison in terms of algorithm complexity.