Abstract

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 by DW. The comparisons confirm that the proposed algorithms outperform the existing ones.

1. Introduction

Wireless sensor networks are widely applied in many fields such as battlefield surveillance [1, 2], target tracking [24], 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.

Existing works take advantage of various characteristics of nodes in terms of geometrical morphology [4, 1622], distribution [23, 24], and connectivity [8, 12, 2530] to identify coverage holes. However, most of the algorithms require relatively high average node degrees [23, 24, 29], leading to a high communication overhead [25] in the process of searching the specific patterns [28, 29]. It is noted that although all the algorithms identify coverage holes by locating the nodes on the boundary of holes, none of them provides an approach for clustering the nodes except [25]. Regrettably the tremendous communication overhead in [25] badly shrinks the life cycle of WSNs.

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 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.

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.

3. Preliminary

3.1. Network Model and Assumption

Imagine the following scenario: a WSN is formed by homogeneous sensor nodes    that are randomly deployed in a 2-dimensional monitored area . 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 two-hop neighbors. At the same time, this work assumes that the sensing area and communication range of node in WSN are regular disks with and as the radii, respectively, centered at . Here, equals .

3.2. Definitions

Definition 1 (neighbor set). Let , described in formula (1), denote the -hop neighbor set of node ; node is called the -hop neighbor of node if . Let , described as formula (2), represent the union set of one- and two-hop neighbor nodes of . Let denote the node number of :where is the Euclidean distance between the nodes and .

Definition 2 (sensing area). The sensing area of node , denoted as , is described as formula (3). is a circular disk with as the radius and as the center. As shown in Figure 1, with the location of node as the origin of local Cartesian Coordinate System (CCS), the circular disk enclosed by dashed line is the sensing area of node ; the dashed line represents the boundary of sensing area, denoted as :

Definition 3 (absolute angle). As shown in Figure 1, a local CCS is created with node as the origin, and . The coordinate of in local CCS is . The absolute angle of refers to the forward angle from -axis positive direction to the ray and it is denoted by or ; represents the position of in 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, and , is called a central angle, denoted as .

Definition 5 (sensing sector). can be divided into sectors by ; each sector is called a sensing sector and the th sensing sector is denoted by ; if the central angle corresponding to is , then can also be denoted by . The sectors satisfy the following formula:

Definition 6 (communication range). As shown in Figure 1, the communication range of node is the circular disk enclosed by dashed line, with 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 , as illustrated in Figure 2.

A summary of the symbols is described in Symbol.

4. 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.

4.1. Detecting Boundary Nodes

DSCS, proposed for identifying boundary nodes, is described in Algorithms 1 and 2.

Input: , Graph
Output:
() Set // choosing a node    randomly from set    as ItN
()
() Collect and of node
() Set
() Calculate the of nodes in
() if    then
()    
() Sort the nodes of on the basis of their absolute angles in the ascending way
() if  the absolute angle of the node in    meets any one of the following conditions:
()  (a) , (b) , (c) , ,
 (d) , . then
()  true
() else
()  for    to    do
()  if    then
()  
// and   represent the elements of    and    of  ,  respectively
()  else
()  
() return  
Input:
Output:
()
() if   is covered by the sensing area of the neighbor of   then
()  
() else
()  
() return  

Before executing the algorithm of DSCS, the neighboring information of all the nodes in should be prepared. Each node needs to collect the information of its one- and two-hop 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) , 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 one-hop 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, is an ItN; , , and . According to row (5) of Algorithm 1, the absolute angle of every node in is calculated, with these nodes being arranged in the ascending order of their absolute angles. It is noted that nodes and have the same absolute angles; we retain node and remove (marked as red) from based on row (6) of Algorithm 1. Then, the set changes into . Next, DSCS examines the absolute angles of the nodes in ; if the absolute angles satisfy the condition of rows (9)–(11) of Algorithm 1, is a BN. Otherwise, DSCS starts to examine whether the border of each sector of is completely covered by the sensing area of the corresponding neighbor nodes. According to row (13) of Algorithm 1, is selected in the first step. Obviously, can be fully covered by ; a similar procedure will continue until the last sector. It is apparent that has no holes around it; therefore, it is a non-BN. This procedure can be distributedly executed by any node of WSNs.

4.2. 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.

Input: , ,
Output: BoundCycle
()
() while BNs ≠   do
()  
()  
()   finding the starting node from BNs according to Step 2
()  
()  while  the of is not equal to or   do
()    searching for of from BNs according to Steps 25
()  
() examining the continuity according to Step 6
() 
() 

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 , being marked as the current node of DW (denoted by ) and pushed into . Then checks, from its , whether there are any nodes whose absolute angles belong to . If there exist any, selects the node which has the minimum absolute angle as its inorder successor (denoted by ), and , as the new , is put into . Otherwise, change the scope of the absolute angle to and repeat the above procedure. If there does not exist in , then repeat the same searching process in .

Step 3. Repeat Step 2 until cannot find its any longer; then change the scope of the absolute angle to and execute the same procedure as in Step 1. Note that the first found in this procedure is called the first inflection node; after that, the searching procedure will be continued within the scope .

Step 4. If of cannot be found in Step 3, change the scope of absolute angle to 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 .

Step 5. When of cannot be found in Step 4, change the scope of absolute angle to and repeat the same searching procedure as in Step 4. If the first node found during the procedure is or the one- or two-hop neighbor of , 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 , insert a relay node that is the one-hop neighbor of both the node and its . At the same time, the sum of the distance between the node and this relay node and the distance between the relay node and 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 , 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 ).

We use Figure 2 to describe the whole procedure of DW. We set queue . The node , bearing the minimum coordinate in all BNs, is selected as according to Steps 1 and 2, being marked as and pushed into . Among the one-hop neighbors of , is the best choice to be of according to Step 2; then takes the place of to become and is pushed into . This process is executed repetitively until the first inflection point appears. Next, DW changes the searching direction according to Step 3 and continues the same procedure. When the second inflection point appears, DW changes the searching direction again according to Step 4 and repeats the same searching process until of is or ; the searching process is over. In the following, DW finds that 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 and their one-hop neighbors from BNs. As a result, are left.

If DW finds after the outer boundary is identified, it resets , selects as , and then performs the following operation. is marked as and pushed into . Then, finds as its , being marked as new and pushed into . At the same time, DW detects that is the first inflection node according to Step 3; therefore, it changes the searching scope and finds as its as well as the second inflection node according to Step 4, with being taken as and pushed into . Here, DW changes the searching scope again and finds as of . Hence, DW takes as new and pushes it into . Next, finds that is both its one-hop neighbor and according to Step 5. Therefore, DW begins to check of the nodes in . As a result, DW finds that of and of are their two-hop neighbors, respectively, so is inserted between and according to Step 6. Similarly, is inserted between and . So far, all the nodes have their one-hop neighbors as their 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 and ( and do not exist in BNs). At this moment, , which means that the hole detection is over.

4.3. Theoretical Analysis

To prove the correctness of the implementation, we conduct the following theoretical analysis.

Lemma 10. Consider an ItN , , and are any pair of adjacent neighbors , and , which is described as formula (7). If is empty or is not empty, the intersection of with is empty. That is, or ; is a BN: where and are the coordinates of and , respectively, in the local CCS with as the origin.

Proof. Given a node and any pair of adjacent neighbors and , we assume that and are located within the CCS with as the origin. To prove the correctness of Lemma 10, we discuss it via the following three cases.
Case 1. If , . Hence, cannot be fully covered by and ; thereby, 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, , if point lies on , can be fully covered by and . That is to say, there does not exist a hole in and is a non-BN, as shown in Figure 5(a). Otherwise, no matter whether is inside or outside , there must be a hole at least around it. Hence, is a BN, as shown in Figures 5(b), 5(c), and 5(d).
Case 3. In the third case, ; whether holes exist is determined by the position of , if , as shown in Figures 6(a) and 6(b); there must exist a hole and is a BN. Otherwise, no holes exist and is a non-BN, as shown in Figures 6(c), 6(d), 6(e), and 6(f).

Lemma 11. Considering an ItN , is divided into by . If is not covered by the sensing areas of the neighbors of , then is a BN. Otherwise, it is a non-BN.

Proof. According to Definition 5, is divided into sectors by the neighbors of . If there exists a sector whose border cannot be covered by the sensing areas of the neighbors of , according to Lemma 10 and Definition 8, node is a BN. Otherwise, it is a non-BN.

Lemma 12. Given a sensor node , is a BN if the absolute angle of a node in meets any of the four cases: (a) , (b) , (c) , and (d) .

Proof. We prove Case (a) and the other cases can be proved in the same way. As shown in Figure 7, nodes and are neighbors of node . The three disk areas enclosed by the dashed lines are , , and , respectively. For is the neighbor of , its absolute angle is the largest one. According to Case (a) of Lemma 12, . is the adjacent node of , and ; thus, . The probable positions of and are shown in Figures 7(a), 7(b), and 7(c). In Figure 7(a), we assume that , , and do not coincide with each other and they all lie on the -axis and can be completely covered by and ; meanwhile, . In addition, the radii of , , and are equal. Hence, if can be fully covered, , , and must coincide; in other words, , , and are equal. However, this contradicts with the assumption. Therefore, is a BN when Case (a) is satisfied and all , , and 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 is located. Consequently, is a BN when the position of 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.

5. 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 to . 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 . 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 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 ones by DW from the detected BNs. Moreover, DW connects the refined BNs to form different holes and the outer boundary of the WSN. Compared with BRC and DHD, DSCS hardly has any noise points.

Let denote the correctly detected BNs and    denote the falsely detected BNs. The correct detection rate and false detection rate can be determined by the following formula:

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 and the false detection rate keeps at less than 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, namely, collecting neighbor information, computing absolute angle per node, sorting nodes, identifying BNs, and connecting them to enclose holes. Correspondingly, their complexities are , , , , and , respectively. Here, , , ( represents the average node degree of WSN), ( denotes the number of coverage holes and the outer boundary of WSN), and . Therefore, the overall complexity of DSCS and DW is , approximately equal to . The BRC is composed of choosing Good Neighbors and identifying BNs; their complexities are and , respectively. For , the overall computation complexity is . 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 . Hence, the overall computation complexity of DHD is . Obviously, the complexity of DSCS and DW is lower than that of the other two algorithms.

6. 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

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
The Euclidean distance between nodes and
The -hop neighbor set of node and
The union set of one- and two-hop neighbors of node
The absolute angle of node
The central angle constructed by rays and
The sensing range of node
The sensing border of node
The sector of and the number is
The sector of corresponding to
The communication radius of node
The sensing radius of node
BN:The boundary node of WSN
ItN:The investigated node of WSN.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgments

This work is supported by National Natural Science Foundation of China (NSFC) (51275491). The authors would like to express sincere gratitude to Simek for his source code and data set, which offered them a great help in the WSN research.