CWSC: Connected k-coverage working sets construction algorithm in wireless sensor networks

CWSC: Connected k-coverage working sets construction algorithm in wireless sensor networks

Int. J. Electron. Commun. (AEÜ) 67 (2013) 937–946 Contents lists available at SciVerse ScienceDirect International Journal of Electronics and Commun...

2MB Sizes 30 Downloads 67 Views

Int. J. Electron. Commun. (AEÜ) 67 (2013) 937–946

Contents lists available at SciVerse ScienceDirect

International Journal of Electronics and Communications (AEÜ) journal homepage: www.elsevier.com/locate/aeue

CWSC: Connected k-coverage working sets construction algorithm in wireless sensor networks Jiguo Yu a,b,∗ , Xiu Deng a , Dongxiao Yu c , Guanghui Wang d , Xin Gu a a

School of Computer Science, Qufu Normal University, Rizhao, Shandong 276826, China Key Laboratory for Intelligent Control Technique of Shandong Province, Rizhao, Shandong 276826, China Department of Computer Science, The University of Hong Kong, Pokfulam, Hong Kong, China d School of Mathematics and System Science, Shandong University, Jinan, Shandong 250100, China b

c

a r t i c l e

i n f o

Article history: Received 2 April 2012 Accepted 12 May 2013 Keywords: Wireless sensor networks (WSNs) k-Coverage Connectivity Energy efficient

a b s t r a c t One of the most important issues for wireless sensor networks is to get a long network lifetime without affecting either communication connectivity or sensing coverage. Many sensors that are deployed randomly in a dense sensor network in a redundant way waste a lot of energy. One effective way to save energy is to let only a subset of sensors work at any given time. In this paper, we mainly consider such a problem. Selecting the minimum number of connected sensor nodes that can provide k-coverage (k ≥ 1), i.e., selecting a subset S of working sensors, such that almost every point in the sensing region can be covered by at least k sensors and the sensors in S can form a connected communication subgraph. We propose a connected k-coverage working sets construction algorithm (CWSC) based on Euclidean distance to k-cover the sensing region while minimizing the number of working sensors. CWSC can produce different coverage degrees according to different applications, which can enhance the flexibility of the sensor network. Simulation results show that the proposed algorithm, which can conserve energy and prolong the lifetime of the sensor network, is better than the previous algorithms. © 2013 Elsevier GmbH. All rights reserved.

1. Introduction Wireless sensor networks(WSNs), integrating with advanced technologies such as microelectronic technique, embedded computing, modern network, wireless communication and distributed information processing technology, can collect various of information of the environment or the monitored targets by real-time monitoring and sensing. The information is sent to the base station after being handled, and then transmitted to user terminals in a self-organized and multi-hop manner. Although large scale business applications of the WSNs cannot be implemented in a few years with restricts of technologies, Many WSNs have been developed as the cost of computing is going down and the volume of microprocessors are becoming smaller and smaller in recent years. WSNs are always used extensively in environmental monitoring and protecting, health care, military supervising, and target tracking and so on [1,2]. In WSNs, the battery of each sensor is limited and it is not feasible to recharge for large numbers of sensors in many

∗ Corresponding author at: School of Computer Science, Qufu Normal University, Rizhao, Shandong 276826, China. Tel.: +86 6333980462. E-mail addresses: [email protected], [email protected] (J. Yu), [email protected] (X. Deng), [email protected] (D. Yu), [email protected] (G. Wang), [email protected] (X. Gu). 1434-8411/$ – see front matter © 2013 Elsevier GmbH. All rights reserved. http://dx.doi.org/10.1016/j.aeue.2013.05.004

applications. Therefore, to extend the lifetime of the network, it is critical to deploy high-density sensors in the sensing region and make a reasonable schedule for them when the battery capacities of them are fixed. In such an energy-constrained and high-density WSN, if sensors are all in the working state simultaneously, excess energy would be wasted, and the collected data would also be highly correlated and redundant. Therefore, it is unnecessary for all the sensors to be in working state at the same time. Density control, that is, to control the density of sensors in the working state, plays an important role in WSNs [3]. It ensures that only a subset of sensors are in the working state, such that (1) coverage: the subset can cover the sensing regions, and the regions covered by the subset of sensors is almost the same as the whole region; (2) connectivity: all sensors in the subset can communicate with each other in one-hop or multi-hops, and the information gathered by sensors can be sent to the base station. In many cases, sensors can be easily damaged or the sensed data is noised. Thus, it should be ensured that each point in the sensing region must be covered by at least k sensors, such that even if some sensor fails or runs out of energy, the region covered by it still can be covered by other k − 1 sensors. k-coverage increases the security and accuracy of the WSNs. The main contribution of the paper is that k-coverage and connectivity are combined together to be discussed. Due to the limited energy of sensors, we should minimize the number of sensors in

938

J. Yu et al. / Int. J. Electron. Commun. (AEÜ) 67 (2013) 937–946

working state by reducing the coverage redundancy. In the paper, we propose a connected k-coverage working sets construction approach (CWSC) to maintain k-coverage and connectivity. The first characteristic of the algorithm is that CWSC is based on the Euclidean distance between two sensor nodes and it is proved that the overlap area of sensing areas of two sensor nodes varies only with the Euclidean distance between the two nodes. It reduces the redundant areas to minimize the number of working nodes by selecting the furthest communication node to the working set S. If the distance between two sensor nodes is maximized, the overall coverage area of the two nodes will also be the largest. The second characteristic is that CWSC provides different coverage degrees requested by applications, which increases the flexibility of the network. The third characteristic is that CWSC selects k − 1 closer neighbors of each sensor node in the working state to guarantee k-coverage. Finally, we let the sensing radius of each sensor larger than its communication radius to guarantee network connectivity. The rest of the paper is organized as follows. Section 2 gives the previous related works focused on coverage and connectivity. Section 3 gives the problem statement, some assumptions and definitions. Section 4 describes the algorithm CWSC in detail. In Section 5, we analyze the performance of the algorithm. In Section 6, we provide our simulation results and prove the superiority of our algorithm. Finally, Section 7 concludes the paper.

2. Related works In recent years, many methods have been explored to schedule sensor nodes in order to minimize the energy consumption, prolong the lifetime of the network, cover as many areas as possible, and maintain network connectivity simultaneously. In addition, coverage degree is one measurement of the quality of service (QoS) of a sensor network. High QoS is essential for applications that require high accuracy. Thus, k-coverage (k ≥ 1) problem was proposed naturally. An important application is distributed data fusion, which automatically merges or aggregates data from multiple sensor nodes [4]. In [5], Tian et al. proposed a coordinated node scheduling scheme, which requires each node to advertise its location information and to receive the location information from its neighbors. The sensor node can determine whether it is eligible to go to sleep without affecting the overall network coverage after calculating the coverage degree of its own and that of their neighbors. The behaviors of other coordinated node scheduling schemes [6–8] are similar to [5], in which they all need to exchange their location information and broadcast their states. All these works can guarantee 100% coverage of the whole monitored region. Wang et al. [9] provided a Coverage Configuration Protocol (CCP), which can provide different coverage degrees. Although CCP can guarantee that almost the whole sensing region can be 100% covered, the trade-off between the energy of sensors and the network coverage is not considered. If there is only one intersection point in the sensing area of a sensor node not being k-covered, the node gets activated. There may be many such nodes, which can drastically effect the energy conservation. In addition, when the communication radius Rc is less than two times of the sensing radius Rs , CCP cannot guarantee connectivity. Thus, Wang et al. also integrate CCP with SPAN [10] to guarantee both coverage and connectivity with no restricts of Rc . In [11], Huang et al. proposed a scheme that can provide 100% k-coverage of the sensing region. The scheme includes two parts, coverage determination protocol and node selection protocol. For coverage determination protocol, each node collects how the sensing areas of its one-hop neighbors intersect with its own sensing area. Then its neighbors divide its sensing border into several arcs and calculate the coverage degree of each of

these arcs. If its coverage degree is less than the required coverage degree, it broadcasts a QUERY message to its neighbors to find out whether other nodes have overlap sensing areas with itself until the desired level of coverage is reached. For the node selection protocol, we can modify a kinit -covered and kinit -connected network to a ks -covered and kc -connected network, where kinit ≥ ks ≥ kc ≥ 1. For the second protocol, the author firstly proposed a sleeping protocol to reduce the network to a ks − LDPC(ks − LDPC implies ks -covered and ks -connected) network by putting some sensors into sleeping state, then proposed a power control protocol to reduce the network to a kc − LDPC network. The node selection protocol finally results in a ks -covered, kc -connected network because reducing the transmission power of a sensor will not affect its sensing range. In [12], Yildirim et al. described a genetic algorithm. It can find the best node deployment in feasible time to satisfy k-coverage and connectivity. It attempts to increase the coverage area but not breaks the rule that all the key sensing areas must be k-covered and all the sensors are connected. The algorithm uses an iterative method. In each iteration, if the coverage area generated by the old node deployment is less than that of the new node deployment, the new node deployment will get activated. In some cases, the network lifetime is more important than 100% covering the entire sensing region. In [13], Yen et al. proposed an uncoordinated node scheduling scheme, which cannot provide 100% k-coverage. They derived a mathematical formula for k-covering a region, with which the expected coverage percentage can be calculated. According to the coverage percentage, the number of the nodes to be deployed can be derived, and then these nodes are deployed in the sensing region randomly and uniformly. However, the connectivity among sensor nodes is not considered in [13]. PEAS is another uncoordinated node scheduling scheme [3]. Nodes in PEAS periodically alternate between sleeping state and working state. When a node wakes up from the sleeping state, it can enter sleeping state again if it receives a “probe” message from any working neighbor. PEAS cannot guarantee 100% network coverage. In [14], Misra et al. proposed an algorithm based on Euclidean distance to achieve 1-coverage. It requires some cluster head nodes with high power, high computational capacity, and large communication ranges. These cluster heads communicate with the common nodes in the same region, and then deal with the location information of them. Finally, the algorithm can generate some working sets. A new working set will be activated after one working set has worked a period of time. In this paper, we propose a furthest communication neighbor scheduling scheme CWSC based on Euclidean distance to k-cover (k ≥ 1) the sensing region. We select k-1 closer neighbor nodes for every sensor node in the backbone set, to ensure k-coverage. Meanwhile, our algorithm can ensure network connectivity with condition that the communication radius of each sensor node larger than its sensing radius.

3. Problem formulation We will give some assumptions and definitions before describing the problem. Assumption 1. (Static and Location-aware WSN) All the sensor nodes are static and aware of their locations via some localization technique [15]. Every node has only one ID to identify itself. Assumption 2. (Sensing and Communication disk model) The sensing range of each sensor node u is a disk of radius Rs , centered at the location of node u. Also, the communication range of each sensor node u is a disk of radius Rc , centered at the location of node u.

J. Yu et al. / Int. J. Electron. Commun. (AEÜ) 67 (2013) 937–946

939

connected WSN is a WSN in which each pair of sensors is connected via at least one path.

Rs r Rc

Definition 7. (Working set, intersecting working set, disjoint working set) The set including the sensors in the working state and satisfying the required coverage is called working set. If some sensors belong to different working sets, these working sets are called intersecting working sets. If each sensor belongs to only one working set, these working sets are called disjoint working sets. The size of working sets is an important measurement of the performance of one scheduling algorithm. The smaller a working set is, the less the energy consumption is, the longer the network lifetime is, and the better the performance of the scheduling algorithm is. According to the above assumptions and definitions, we can describe the problem as follows: Given a convex region A, find some connected working sets that can k-cover the region as much as possible, and minimize the number of sensor nodes in the working sets simultaneously. 4. CWSC algorithm

Fig. 1. The relation among r, Rs , and Rc .

Assumption 3. (Homogeneous sensors) All the sensors have the same sensing radius Rs and the same communication radius Rc . These sensor nodes construct a Homogeneous sensor network which can be easily understood in our algorithm. Assumption 4. (Random deployment) All the sensors are randomly deployed in a convex region A. Randomly deployment is closer to the actual environment. Assumption 5. (The relation between sensing radius and communication radius) The communication radius of each node is larger than its sensing radius. Otherwise, the selected sensor nodes cannot guarantee the network connectivity. Definition 1. (A sensor covers a point) Given a convex region A, p is one point in A. If the distance between p and a sensor node u is no more than Rs , we will say that p is covered by sensor u. Definition 2. (Sensing neighbor set SN(u)) The sensing neighbor set of a sensor u, denoted by SN(u), consists of all the sensors that are located in the sensing range of u, i.e., SN(u) = {v|dist(u, v) ≤ Rs }. Definition 3. (Communication neighbor set CN(u)) The communication neighbor set of a sensor u, denoted by CN(u), consists of all the sensors that are located in the communication range of u, i.e., CN(u) = {v|dist(u, v) ≤ Rc }. According to assumption 5, definition 2 and definition 3, it is easy to see that CN(u) contains SN(u), i.e., if a sensor node v is one of sensing neighbors of node u, it must also be a communication neighbor of u. Definition 4. (closer neighbors) If the distance between two nodes u and v is less than r, i.e., dist(u, v) ≤ r  Rs , where r is called closer radius, then u is a closer neighbor node of v. We let r = 1.0 in the simulation. The relation among r, Rs , and Rc can be described as the following Fig. 1.

In this section, we propose an algorithm CWSC (connected k-coverage working sets construction) to construct connected kcoverage working sets (k ≥ 1) such that almost every point in the sensing region can be covered by at least k different sensors and all these sensors are connected. 4.1. Overview of CWSC Many algorithms have been proposed for both coverage and connectivity problems [8,9,11,12,14,16–19]. For some algorithms, such as the algorithm in [14], it takes less energy to send messages from one node to others if the algorithm is executed in small regions. However, if the same algorithm is used in a large region, the overhead in communication among nodes cannot be ignored. In this paper, the proposed algorithm CWSC is based on Euclidean distance. Firstly, nodes are randomly deployed in a large sensing region. We divide the large region into several smaller subregions evenly, and assign a base station to each sub-region. For example, we can divide a 1000 m × 1000 m region to 100 smaller 100 m × 100 m sub-regions. Sensors in each sub-region know the location coordinates of the base station in the same sub-region and send messages to the base station. All base stations start to execute the algorithm independently. After the algorithm is completed, we can get a working set. Afterwards, the base station sends the information of the working set back to the sensor nodes. At any given time, there is only one working set in the working state in each sub-region. According to this method, each sub-region can achieve the desired coverage, thus the entire region will also achieve the desired coverage. After the base station generates a new working set, it will be activated to start sensing task. When the nodes in the working set sense some events occurring in the sub-region, they will do some simple data processing and finally transmit the processed data via intermediate connected nodes to the base station. 4.2. CWSC in detail

Fig. 2 Definition 5. (closer neighbor set CNS(u)) The closer neighbor set of a sensor u, denoted by CNS(u), consists of sensors that are the closer neighbor nodes of u. CNS(u) = {v|dist(u, v) ≤ r}. |CNS(u)| indicates the number of closer neighbor nodes of sensor node u. Definition 6. (k-Coverage, Connectivity) A region A is said to be k-covered if each point p in A is covered by at least k sensors. A

In this section, we describe our algorithm CWSC in detail. The main goal of CWSC is to minimize the overlap area of the sensing areas of two sensor nodes such that they can cover as many areas as possible with minimum number of nodes. Since the coverage area has more than one sub-region and each sub-region independently performs the same algorithm, we only need to study the algorithm executed in one sub-region.

940

J. Yu et al. / Int. J. Electron. Commun. (AEÜ) 67 (2013) 937–946

l1

w

x

l2

y

Fig. 2. dj∈S0 (w)w∈CN(v) = l2 , j = y.

4.2.1. Symbols and parameters Let A denote the whole sensing region. It is divided into several sub-regions, denoted by A1 , A2 , . . . , An , where n is the number of sub-regions. Let N denote the number of deployed nodes in the region A and k be the required coverage degree. Let CNLu denote the communication neighbor list of sensor node u. S denotes the working set. S0 denotes the connected backbone set generated by the algorithm. S1 is the set that stores the k − 1 closer neighbors of every node in S0 . when k = 1, we have S = S0 and S1 = NULL. When k > 1, S = S0 ∪ S1 . S2 indicates the set of communication neighbors generated during the execution of the algorithm. Initially, S = NULL, S0 = NULL, S1 = NULL, and S2 = NULL. The array “p ” indicates the probability of the node selected into set S0 . Initially, p[i] = 0, i = 1, . . ., N, where i is the sensor node ID. DS0 (CN(i)) represents the set including distances between nodes in CN(i) and nodes in S0 , where i is the node that is currently added to S0 , and CN(i) is a node set that contains communication neighbor nodes of node i. p[z] > 0, where z is the node in CN(i). DS0 (CN(i)) = {dj∈S0 (k)k∈CN(i) }, where dj∈S0 (l)l∈CN(i) = dist(j, l). Initially, each value in DS0 (CN(i)) is 0. DS0 (S2 ) represents the distances between nodes in S2 and nodes in S0 with condition that these distances are less than Rc and more than Rs , i.e., DS0 (S2 ) = {Rs < dist(j, l) < Rc , j ∈ S0 , l ∈ S2 }. “ flag ” indicates the working set number. flag = i represents the current working set number is i. Tflag is the working timer of the working set whose working set number is flag. We set a Pt [flag] for each working set to be constructed, where Pt [flag] is the maximum energy that is consumed for a node to work in time Tflag . 4.2.2. Description of the messages The messages used during the execution of the algorithm are given as follows:

Table 1. Hello is the message sent from a sensor node to its communication neighbors, including its own ID, location coordinate, remaining energy E (E > 0), which working set (flag) the sensor node is added to, and the probability p with which the node is selected. Ready is the message sent from all sensor nodes to the base station, including the node IDs, location coordinates and communication neighbor lists of these nodes. Once the base station receives these messages from all these sensor nodes, it will begin to execute the algorithm. Reply is the message sent from the base station to the sensor nodes in S0 . The message includes the node IDs, the working set number “ flag”, the working timer of the working set Tflag , and S1 . Nodes in S0 form a connected backbone of the working set. Once the nodes in S0 receive this message, they will go into the working state. Join is the message sent from each node (such as u) in S0 to the nodes in CNS(u). The message contains the IDs of the nodes in CNS(u), the working set number “ flag” that these nodes belong to and their working timer Tflag . The nodes that receive the Join message will enter into working state. Power is the message sent to the node (such as u) in S0 from the node in CNS(u), and also sent to the base station from nodes in S0 . The message includes IDs and remaining energy E of nodes.

Table 1 Descriptions of messages Message

Description

Hello Ready Reply Join Power

Tuple(ID, location, E, flag, p) Tuple(ID, location, CNL) Tuple(ID, flag, Tflag , S1 ) Tuple(ID, flag, Tflag ) Tuple(ID, E)

J. Yu et al. / Int. J. Electron. Commun. (AEÜ) 67 (2013) 937–946

4.2.3. Changing states of nodes Each sensor node has three states. Communication state Once all nodes are deployed, they enter into the communication state. In such a state, each node exchanges Hello messages with its neighbors. After all nodes send Ready messages to the base station, they turn into sleeping state. Sleeping state During the process of the algorithm executed by the base station, all the sensor nodes except the nodes in the current working set are in sleeping state. If one node in this state receives a Reply message from the base station or receives a Join message from its neighbors, it comes into working state. Working state The node in this state starts sensing work. After the node works for the time Tflag , it goes to sleep again. During the period, if one node receives a Reply message from the base station or a Join message from its neighbors, it continues to stay in the working state.

941

A

C E

P

O

B

Fig. 3. The overlap area of sensing areas of two nodes SACBE .

4.2.4. Process of the algorithm Since the base stations in different sub-regions execute the algorithm independently, we mainly study the case in one sub-region instead of the whole region. We consider A1 as an example. 1. Construct communication neighbor lists At the beginning, nodes are randomly deployed in the subregion A1 . Once deployed, nodes go into the communication state. Each node sends a Hello message to its communication neighbors according to its communication radius Rc . Each node u has a communication neighbor list CNLu . For each node v in CN(u), CNLu includes its ID, its location coordinate, the distances between u and v, the remaining energy of v, its “ flag”, and p[v]. Initially, p[v] = 0. Each node sends its communication neighbor list to the base station after it finishes its communication neighbor list. The base station needs to receive all the communication neighbor lists before it begins to execute the following algorithm. 2. The algorithm executed by the base station (1) Update “ p” After the base station receives all the communication neighbor lists, the “ p ” value of each node needs to be updated. When k > 1, if |CNS(u)| ≥ k − 1 and the remaining energy of each of the k − 1 nodes among CNS(u) is more than Pt [flag], p[u] is larger than ˇ (0 < ˇ < 1), where ˇ is a small value, and we let ˇ= 0.1 in the following simulation. Otherwise, p[u] = 0 and flag = 0. Afterwards, we find out the maximum distance dmax [u] from CNLu , and p[u] = ˇ +dmax /Rc . That is to say,  |v| | |v − u| ≤ r Ev ≥ Pt [flag], v ∈ CNS(u) ≥ k − 1, if then, p[u] = ˇ + dmax /Rc . Otherwise, p[u] = 0. [u] When k = 1, p[u] = dmax . Rc (2) Select an initial node u The base station selects one node, denoted by u, that has the largest “ p ” value, as an initial node. Then the base station lets “ flag”=1, and adds u into S0 . If more than one node has the same largest “ p” value, the base station randomly selects a node from these nodes as the initial node u. The following (3), (4), (5) are the iteration steps. (3) Calculate DS0 (CN(v)) and update DS0 (S2 ) After a new selected node v is selected (initially, v=u), the base station checks CNLv and adds the nodes whose “ p ” values are greater than 0 into S2 . Then the base station selects k − 1 nodes whose remaining energy E are larger than Pt [flag] from CNS(v) and puts them in S1 . Obviously, |CNS(v)| ≥ k − 1 according to the definition of p[v]. Note that, the nodes that have ever been added to S1 , S2 , or S0 will not be repeatedly added to the three sets again. Calculate DS0 (CN(v)). If we want to calculate dj∈S0 (w)w∈CN(v) , we need to scan CNLw . There must be some nodes in CNLw whose IDs are the same with those of nodes in S0 , since w is one of the communication neighbors of v and v is in the set S0 . If there is only one

node in CNLw that has the same ID with the node in S0 , the node is v, and dj∈S0 (w)w∈CN(v) = dist(v, w), here v = j. If there are two or more nodes (such as x, y) in CNLw that have the same IDs with the nodes in S0 , there is a distance between either of the two nodes and v, respectively. Thus, dj∈S0 (w)w∈CN(v) = min{dist(x, w), dist(y, w)}. If dist(x, w) > dist(y, w), then j = y and dj∈S0 (w)w∈CN(v) = dist(y, w). Otherwise, j = x and dj∈S0 (w)w∈CN(v) = dist(x, w). As shown in Fig. 3. At the beginning of the algorithm, there is only one initial node u in S0 , thus DS0 (CN(v)) = {dj=u (w)w∈CN(v) } = {dist(u, w), w ∈ CN(v)}. After calculating DS0 (CN(v)), we only retain the values that are more than Rs , and remove the values that are less than Rs . Update DS0 (S2 ) with DS0 (CN(v)). (4) Find out the maximum distance in DS0 (S2 ). Find the maximum distance value in DS0 (S2 ). For example, if dj∈S0 (b) is the maximum distance in DS0 (S2 ), the corresponding node b is the new selected furthest communication neighbor of nodes in S0 . Add b to S0 , and remove b from S2 . If there are more than one maximum distances and each maximum corresponds a node, select one node (denoted by b) that has the largest “ p” value. Afterwards, there may be some nodes lying within the sensing range of b. We must also remove all these nodes. Note that, if we remove b from S2 , we must update the dj∈S0 (b) and set it to 0. (5) Iterate (3), (4), (5) until S2 is empty. By (4), if node b is found, replace v with b and iterate (3) (4) (5). If there is no such node b, iteration is over, and S2 is empty. If the required coverage degree is k > 1, the output of the algorithm is set S0 and S1 . S0 is the connected backbone set of the working set, S0 together with S1 forms the working set S. If the required coverage degree is k = 1, then S=S0 and S1 is empty. After the algorithm is finished, the base station sends Reply messages to the nodes in S0 . Once these nodes receive the messages, they will go into the working state. Then each of these nodes sends a Join message to its k − 1 closer neighbors. The nodes in S1 are also activated into the working state. The working set works for Tflag . During the time, the nodes in S are all in working state, while other nodes are in sleeping state. The working sets generated by different sub-regions cannot guarantee 100% k-coverage of the whole region A, but it can cover the region as large as possible. If the number of nodes deployed is large enough, the working set can satisfy full coverage. If the number of nodes is small, there may be some small blind holes. In this case, to increase the security of the network, the “ p ” value of the node in S will be halved after generating a working set. Then the nodes that do not used in generating the former working sets will

942

J. Yu et al. / Int. J. Electron. Commun. (AEÜ) 67 (2013) 937–946

be selected with a high probability to construct the later working set, and these nodes can cover the blind holes left before. We will construct the next working set (we set its “ flag” to 2) before the working timer of the current working set (we set its “ dSACBE dl



= Rs



1



1

= Rs 2 Rs = Rs 2 Rs



1 − (l2 /4Rs 2 )

= Rs × Rs 2

= Rs × Rs



l2 − 4R

− cos







2 1 − (l2 /4Rs 2 ) 2 1 − (l2 /4Rs 2 )



(1/4)l2 Rs 2



Let l be the distance between the two sensor nodes O and P, where l = |OP|< 2Rs D (if l ≥ 2Rs , the overlap area is 0), and  ( ≥ 0) is the angle between OA and OB. SOACB = (1/2)Rs 2 , SOAB = (1/2)Rs 2 sin,  = 2 arccos((l/2Rs )), since cos(1/2) = (l/2Rs ). We have,



2



= Rs 2 2 arccos(

−1

4Rs 2 − l2 .

SACBE = 2SACB = 2(SOACB − S OAB )

= Rs ( − sin )

(2)



2

Proof. Assume that the sensing area of each sensor is a sensing disk with the radius Rs . The overlap part of the sensing area of the two nodes, denoted by SACBE , as described in Fig. 3. The area of SACBE is

2



−1

Theorem 1. The overlap area of sensing areas of two nodes varies only with the Euclidean distance between the two nodes, and decreases non-linearly as the distance increases.

1 2 Rs sin  2

2Rs

2Rs



1 ×2× × 2Rs 1 − (l2 /4Rs 2 )

−2

 l 



In this section, we analyze the performance of our algorithm. Our algorithm can freely adjust the coverage degree according to applications, i.e., it can provide different coverage degrees requested by applications, which can enhance the flexibility of the sensor network. The algorithm can be used for both 1-coverage and kcoverage (k > 1).

Rs 2  −

2Rs



−1

−1

 l 

cos2 arccos

5. Performance analysis of the algorithm

1

2Rs



flag ” to 1) ends. In such a case, we do not need to wait for the algorithm to construct a new working set after the current working set 1 finishes its sensing task. The algorithm sets a working timer Tflag for the working set 2 and a threshold energy Pt [flag] to be consumed by the working set 2. The nodes in S1 of working set 1 send Power messages to the nodes in S0 , and then they send these Power messages and its own remaining energy to the base station.Then the base station starts to execute the algorithm.

=2

 l 

2cos2 arccos



2 arccos

 l 

s 2 4R − l2 s

=−

SACBE



cos 2 arccos

1 − (l2 /4Rs 2 )

2

=

−1

1 2× × 2Rs 1 − (l2 /4Rs 2 )

2

As Rs is known,SACBE is only related to l, that is, the overlap area of sensing areas of two nodes varies only with the Euclidean distance between the two nodes.

(1)



l ) − sin 2 arccos 2Rs

 l  2Rs

As dSACBE /dl = − 4Rs2 − l2 ≤ 0, the overlap area decreases non-linearly as the distance increases.  Theorem 2. nected.

The working set S generated by the algorithm is con-

Proof. Initially, the algorithm selects an initial node u, and then finds a maximum distance value from DS0 (S2 ). Add the corresponding node to S0 . Since one sensor node is selected from S2 into S0 in each iteration and each value in DS0 (S2 ) is less than Rc , any two nodes in S0 are connected via one-hop or multi-hops path. When S2 is empty, the base station sends Reply messages to the nodes in S0 . Then these nodes send Join messages to their k − 1 closer neighbors. Thus, each node in S0 are connected with its k − 1 closer neighbors. The network is connected after all nodes in S0 and S1 are activated, that is, the working set S generated by the algorithm is connected.  Theorem 3. possible.

The algorithm can cover the whole region as large as

Proof. At the beginning, S0 , S1 , and S2 are all empty. Select the initial node u to S0 . Put nodes (in CN(u)) into S2 and remove the nodes whose distance value in DS0 (S2 ) are less than Rs . Choose a maximum distance value from DS0 (S2 ) and put the corresponding node b into S0 by each iteration. In the end of the execution process, there are only several nodes in S2 that have smaller distance values, and there are some small holes left uncovered in the sensing region. The case is shown in Fig. 4. In Fig. 4, consider the region C as an example, if there is only one node (denoted by u) in region C and p[u] > 0, u is selected into S. Thus region C can be covered. If there is no nodes in C or there are some nodes (say v) but p[v]=0, the region C cannot be k-covered (k > 1), and C will be a coverage hole. Whether a region can be k-covered depends on the node density deployed. If the deployed density is large enough, the whole area can be completely covered. Therefore, the algorithm can cover the entire region as large as possible.  Theorem 4. The working sets generated in the same local sub-region are intersecting sets, while the working sets generated in different subregions are disjoint working sets. Proof. The whole region is divided into several sub-regions evenly. For example, we can divide a 100 m × 100 m region to 4

J. Yu et al. / Int. J. Electron. Commun. (AEÜ) 67 (2013) 937–946

943

C

Fig. 4. The coverage hole C.

smaller 50 m × 50 m sub-regions evenly. Each sub-region works independently to produce working sets. Therefore, the working sets generated in different sub-regions are disjoint obviously. On the other hand, as long as the remaining energy of a node is greater than the energy requested by the new working set after it finishes its current task, the node can be used to construct a new working set. Thus, the working sets generated in the same local sub-region are intersecting working sets.  6. Simulation results and discussions In this section, we will verify the superiority of our proposed algorithm through simulations. In the following simulations, we only consider the case with one base station in one sub-region, and the base station will not run out of energy. 6.1. The topology generated by the algorithm Fig. 5(a) and (b) describe the environment that 300 sensor nodes are randomly deployed in a 50 m × 50 m region to achieve 1coverage and 2-coverage, respectively. The sensing radius of each sensor is Rs =10 m, the communication radius is Rc =20 m, and the closer radius is r=1.0 m. After sensor nodes are deployed, the algorithm selects some working nodes. When the coverage degree is k = 1, the working nodes only contain backbone nodes in S0 , while when the coverage degree is k = 2, the working nodes contain the backbone nodes in S0 and closer nodes in S1 . The region can be more than 99% covered after activating these nodes under such a deployment. For achieving a higher coverage degree k (k ≥ 3) for the application, the number of nodes to be deployed must be increased to ensure 99% coverage of the region.

Fig. 5. (a) Network topology with coverage degree k = 1. (b) Network topology with coverage degree k = 2.

Fig. 6 shows the number of working sets generated by the algorithm under different coverage percentages required. Here, 200 nodes are randomly deployed in a 400 m × 400 m region, Rs = 50 m, Rc = 100 m, and coverage degree k=1. When Tflag = 50 s, if the

6.2. The measurement of the algorithm performance Generally, there are three metrics to measure the property of a coverage algorithm. They are coverage percentage, the number of working nodes and energy consumption, respectively.The simulation results are the average results of many simulation runs. 6.2.1. Coverage percentage We can get the coverage percentage by dividing the sensing region into 1 m × 1 m square-shaped cells. If the center of a cell is k-covered, we say that the cell is k-covered. Coverage percentage is the ratio of cells covered by a working set to the total number of cells in the region. The higher the coverage percentage is, the better the coverage quality is.

Fig. 6. The number of working sets under different working timers and coverage percentages.

944

J. Yu et al. / Int. J. Electron. Commun. (AEÜ) 67 (2013) 937–946

Fig. 7. The coverage degrees and coverage percentages under different numbers of nodes deployed.

Fig. 8. Distributions of the coverage degrees of all cells under these three algorithms: CWSC, CCP and CPLC.

coverage percentage required by the application is greater than 0.9, the algorithm can generate 10–15 working sets and 12 on average, if the coverage percentage is greater than 0.8, the algorithm can generate 12–18 working sets and 15 on average, if the application requires the coverage percentage is greater than 0.7, the algorithm can generate 15–20 working sets and 17 on average, and if the coverage percentage required by the application is greater than 0.6, the algorithm can generate 18–24 working sets and 20 on average, as shown in Fig. 6. If the algorithm can no longer generate working sets when Tflag =50 s, we will set Tflag = 40 s, and then generate new working sets, and so on. It can be seen from Fig. 6 that the smaller the coverage percentage required is, the more the number of working sets generated is and the network lifetime will be prolonged since the network lifetime is equal to the product of the number of working sets and their working time. Fig. 7 shows the coverage percentage under different numbers of nodes and different coverage degrees. Here, the size of the region is 50 m × 50 m, the sensing radius is Rs =10 m, and the closer radius is r=1 m. When the coverage degree k is 1, the coverage percentage of the region can reach over 99% under different numbers of nodes deployed. When the coverage degree k is 2, the number of nodes deployed must be larger than 400 in order to guarantee that the coverage percentage is over 98% according to hundreds of simulation rounds. The reason is that the number of closer neighbor nodes and the number of nodes selected into the working set decrease as the number of nodes deployed decreases, which reduces the coverage percentage. The case is much more obvious when the coverage degree k is 5, as shown in Fig. 7. We can conclude From Fig. 7 that when the required coverage degree increases, we must increase the number of sensor nodes deployed if we want to achieve a higher coverage percentage. When the coverage degree required is large, the number of active sensor nodes will also be large in working sets. Besides, when the number of sensor nodes deployed is small, the number of sensor nodes selected into working sets will be less. Then the network lifetime will be shorten. Fig. 8 shows the distribution of coverage degrees implemented by the different algorithms. Here, we will compare our algorithm CWSC with CCP [9] and CPLC [14]. Here, 100 nodes are randomly deployed in a 50 m × 50 m region and the sensing radius Rs =10 m. In Fig. 8, the data column represents the proportion of the cells whose coverage degree are no less than the distributed coverage degree when the required coverage degree k is 1. In CCP, 72.3% of all the small cells can be 2-covered, and 1% of all the small cells can be 4-covered. In CPLC, 92.5% of all the small cells can be 2-covered,

and 19.4% of all the small cells can be 4-covered. While in CWSC, 48.5% of all the small cells can be 2-covered, and 0.8% of the small cells can be 4-covered. In addition, almost all the small cells can be covered by at least one node in these three schemes. From Fig. 8, we can conclude that CPLC has a higher coverage redundancy, CCP comes second, and CWSC has the least redundancy. In addition, the less the redundancy is, the smaller the number of working nodes is. 6.2.2. The numbers of working nodes The smaller the number of working nodes is, the less the overall energy consumption of the network is. Therefore, activating a small subset of nodes is an important feature of a good coverage algorithm. Fig. 9 represents the number of working nodes used to achieve required coverage degrees under different numbers of nodes deployed. Here, the sensing radius Rs = 10 m, the region size is 50 m × 50 m, the closer radius r=1 m, and the required coverage percentage is over 98%. When the coverage degree required k is 1, the number of working nodes selected by CWSC is around 17, while CCP can activate about 20 working nodes and CPLC can activate about 32 nodes. When the required coverage degree k is 2, the number

Fig. 9. The number of working nodes required to achieve different coverage degrees under different numbers of nodes.

J. Yu et al. / Int. J. Electron. Commun. (AEÜ) 67 (2013) 937–946

945

Fig. 10. when the coverage degree required k is 1, the average coverage degree derived by CWSC, CCP and CPLC, respectively.

of working nodes activated by CWSC and CCP are about 37. When the required coverage degree k is 3, the numbers of working nodes activated by CWSC and CCP are about 48. However, when Rc ≤ 2Rs , CCP cannot guarantee network connectivity, while our algorithm CWSC can guarantee network connectivity as long as Rc > Rs . Fig. 10 shows when the coverage degree required k is 1, the average coverage degree derived by CWSC, CCP and CPLC, respectively. Here, the size of the region is 50 m × 50 m, and Rs = 10 m. No matter how many nodes are deployed in the region, the average coverage degree obtained by CWSC remains at around 1.7, while the average coverage degree obtained by CCP remains at around 2, and the average coverage degree obtained by CPLC remains at about 3.3. The coverage redundancy decreases as the average coverage degree decreases, and so does the number of working nodes. 6.2.3. The lifetime of the network Since sensor nodes are battery-supplied, nodes are energylimited. Any coverage algorithm needs not only to obtain a higher coverage percentage, but also to consider the energy consumption of the network. Energy consumption affects the network lifetime directly. The lower energy the nodes in network consumes, the longer lifetime the network has. In the next simulation experiments, the region size is 400 m × 400 m, the sensing radius Rs =50 m. In this section, we mainly analyze the coverage lifetime of the network. Fig. 11(a)–(c) compare the network coverage lifetime under different ratios of communication radius to sensing radius and different numbers of nodes deployed. Here, we will compare CWSC with CCP+SPAN [9]. CWSC can guarantee network coverage and connectivity if Rc ≥ Rs , while CCP guarantees network coverage and connectivity only when Rc ≥ 2Rs . if Rc < 2Rs , CCP cannot guarantee network connectivity. In addition, SPAN [10] does not guarantee full coverage but can guarantee network connectivity. Therefore, we can combine CCP with SPAN to guarantee both coverage and connectivity without considering the value of Rc /Rs . In the following three figures, 200 nodes or 250 nodes are randomly deployed in the region. We select an initial energy for each of these nodes randomly from 200–300 J. We sampled the coverage percentage of the region every 10 s from the simulation experiment. We assume that the energy consumed per second in sensing is 0.83 J. At the beginning, we set the working timer Tflag of working sets to be 50 s. After working several rounds, the algorithm can no longer generate new working sets when Tflag = 50 s, then the working timer Tflag of the new working sets will be reduced to 40 s, and so on. Finally we can

Fig. 11. (a) The network coverage lifetime with Rc /Rs =2.5, (b) The network coverage lifetime with Rc /Rs =2.0, (c) The network coverage lifetime with Rc /Rs =1.5.

get the coverage lifetime of the network. Consider the example of Rc /Rs =2.5. In the case of 200 nodes, CCP+SPAN can ensure over 90% coverage percentage before 480 s, while the CWSC can guarantee over 90% coverage percentage before 750 s. In the other case of 250 nodes, CCP+SPAN can ensure over 90% coverage percentage before 580 s, while the CWSC can guarantee over 90% coverage percentage

946

J. Yu et al. / Int. J. Electron. Commun. (AEÜ) 67 (2013) 937–946

before 780 s. Obviously, CWSC can prolong the coverage lifetime of the network compared to CCP+SPAN. We can conclude from three figures above that the lifetime of the network is prolonged as the number of sensor nodes increases and our proposed algorithm is better than CCP+SPAN. 7. Conclusion and future work In this paper, we propose a k-coverage algorithm CWSC for WSNs to minimize the energy consumption of the network and to guarantee both k-coverage and connectivity. Simulation results show that the algorithm guarantees that the coverage percentage of k-covered region can reach over 98%. If the number of sensor nodes deployed is large enough, it can guarantee full coverage of the sensing region. From the simulations, we can conclude that the property of our algorithm is better than some previous algorithms. In the future, we can relax the assumptions in Section 3 to be closer to reality. For example, we can relax assumption 3 that all the nodes are homogeneous, to the general case that different nodes have different communication radii and sensing radii. In addition, the case that sensor nodes have irregular sensing ranges and communication ranges can also be considered. Acknowledgments This work was partially supported by the National Natural Science Foundation of China for contract (11101243), Natural Science Foundation of Shandong Province for contract(ZR2012FM023, ZR2009AM013), STPU of Shandong Province for contract (J10LG09) and TKP of Shandong Province for contract (2009GG10001014). References [1] Akyildiz IF, Su W, Sankarasubramaniam Y, Cayirci E. Wireless sensor networks: a survey. Comput Netw 2002;38(4):393–422. [2] Liu L, Hu B, Li L. Energy conservation algorithms for maintaining coverage and connectivity in wireless sensor networks. Commun IET 2010;4(7):786–800.

[3] Ye F, Zhong G, Lu S, Zhang L. PEAS: a robust energy conserving protocol for longlived sensor networks. In: The 23nd international conference on distributed computing systems (ICDCS). 2003. p. 28–37. [4] Varshney P. Distributed detection and data fusion. Secaucus, NJ, USA: SpringerVerlag New York, Inc.; 1996. [5] Tian D, Georganas ND. A coverage-preserving node scheduling scheme for large wireless sensor networks. In: Proceedings of the 1st ACM international workshop on wireless sensor networks and applications. 2002. p. 32–41. [6] Lu J, Suda T. Coverage-aware self-scheduling in sensor networks. In: Proceedings IEEE 18th annual workshop on computer communications. 2003. p. 117–23. [7] Hsin C-F, Liu M. Network coverage using low duty-cycled sensors: random & coordinated sleep algorithms. In: Proceedings of the 3rd international symposium on information processing in sensor networks. 2004. p. 433–42. [8] Zhang H, Hou JC. Maintaining sensing coverage and connectivity in large sensor networks. Ad Hoc Sensor Wireless Netw 2005;1:89–124. [9] Wang X, Xing G, Zhang Y, Lu C, Pless R, Gill C. Integrated coverage and connectivity configuration in wireless sensor networks. ACM Trans Sensor Netw 2005:36–72. [10] Chen B, Jamieson K, Balakrishnan H, Morris R. Span: an energy-efficient coordination algorithm for topology maintenance in ad hoc wireless networks. ACM Wireless Netw J 2002;8(5):481–94. [11] Huang CF, Tseng YC, Wu HL. Distributed protocols for ensuring both coverage and connectivity of a wireless sensor network. ACM Trans Sensor Netw 2007;3(1):1–24. [12] Yildirim KS, Kalayci TE. Optimizing coverage in a K-covered and connected sensor network using genetic algorithm. In: Proceedings of the 9th WSEAS international conference on evolutionary computing. 2008. [13] Yen L, Yu CW, Cheng Y. Expected k-coverage in wireless sensor networks. Ad Hoc Netw 2006;4(5):636–50. [14] Misra S, Kumar MP, Obaidat MS. Connectivity preserving localized coverage algorithm for area monitoring using wireless sensor networks. Comput Commun 2011;34(12):1484–96. [15] Ji X, Zha H. Sensor positioning in wireless ad-hoc sensor networks using multidimensional scaling. IEEE Infocom 2004;4:2652–61. [16] Zhou Z, Das S, Gupta H. Connected k-coverage problem in sensor networks. In: Proceedings of the 13th international conference on computer communications and networks (ICCCN). 2004. p. 373–8. [17] Ma C, Chin J, Yau D, Rao N, Shankar M. Matching and fairness in threat-based mobile sensor coverage. IEEE Trans Mob Comput 1649;2009:1662. [18] Mapar M, Sotoudeh AH, Negahdar M. The optimum value of alpha in the prespecified coverage control algorithm in wireless sensor networks to achieve minimum active nodes. Internet 2008. IEEE 2008:1–4. [19] Yun Z, Bai X, Xuan D, Lai TH, Jia W. Optimal deployment patterns for full coverage and k-connectivity (k < =6) Wireless Sensor Networks. IEEE/ACM Trans Netw 2010;18(3):934–47.