Optimal Node Scheduling for Desired Percentage of Coverage in Wireless Sensor Networks

Recent developments in wireless communication and embedded computing technologies have led to the advent of wireless sensor network technology. Hundreds of thousands of these micro sensors can be deployed in many areas including health, environment and battlefield in order to monitor the domain with desired level of accuracy. When wireless sensors are deployed in an area, the lifetime of the network should last as long as possible according to the original amount of energy. Therefore, reducing energy consumption in WSNs is of primary concern. We have proposed a node scheduling solution that solves the coverage and connectivity problem in sensor networks in an integrated manner. In this way we will divide network life time to finite number of rounds and in each round we will generate a coverage bitmap of sensors of the domain and based on this bitmap it will decided which sensors remain active or go to sleep. We will check the connection of the sensor network by using Laplacian of adjancy graph of active nodes in each round. Also the network will be capable of producing desired percentage of coverage by using coverage bitmap. We will define the connected coverage problem as an optimization problem and we will seek a solution for the problem by using Genetic Algorithm optimization method.


Introduction
Recent advancements in wireless technology have paved the way for wireless sensor network technology.Monitoring accuracy, which was hardly achievable by other technology, is now more easily available by wireless sensor networks, even monitoring of some hazardous area, which was, previously impossible or hard to achieve are now possible [1][2][3].
In many environment when network nodes are deployed it is hard to get physical access to them for maintenance or adjusting their physical location, therefore, usually we should deploy more sensors than necessary to account for misplaced or faulty nodes.In the other hand deploying some ten times sensors as needed in specific area is more easy than ten times deployment, therefore, we prefer to deploy all sensors at once and keep unnecessary ones off until the appropriate time comes.Thus, when a wireless sensor network was deployed, its lifetime must last as long as possible.In the other word, reducing energy consumption is the main concern of wireless sensor networks.
One of the approach to prolong network lifetime is topology control [4][5][6] which is referred to using node redundancy for sensing or communication subsystem, when we have more nodes than sufficient, to achieve desired level of connectivity or coverage in the network.Power management category is another approach [2,7], which is referred to switching off the radio of active nodes when there is no data to transfer.
In this work, we have used topology control to prolong network lifetime.In the same time we have devised a mechanism to provide specified percentage of coverage and we will use this concept to further extend the network lifetime when appropriate.We will review some important related work in next section.The problem definition and solution will be presented in Section 3 and the simulation and results will be provided in Section 4. In Section 5, we will conclude this paper.

Related Works
Many sensor network applications require high number of nodes to be deployed in monitoring area, in such application it is often undesirable to have all nodes active, and in order to increase network lifetime often sleep scheduling mechanism are used.Both random and synchronized or even deterministic mechanism are presented in literature, the main point here is to provide sufficient coverage and connectivity while keeping off as many node as possible.There have been some researchers who try to trade some coverage percentage or latency for increase in lifetime of the network.
In [8] authors presented a method for self sleep scheduling to prolong network life time, the main feature of presented algorithm is its distributed nature, when each node decide for itself make the protocol robust and scalable, another main future of this protocol is that it can provide desirable degree of coverage.In this paper the authors proof that when R c ≥ 2R s (where R c is communication radius and R s is sensing radius), the K s -coverage (K s -coverage means an area is covered at least K s times) guaranty K c -Connectivity (K c -Connectivity means there is K c node disjoint path between each to node of the network).However, they do not provide any guarantee for the case which R c < 2R s rather they suggest using modified version of SPAN [9] simultaneously to guarantee connectivity.The basic idea of SPAN and CCP is somehow similar.In SPAN each node send periodic HELLO messages providing its current state (regarding connection with other nodes and if it is participating in forwarding other nodes packets or not) and the state of its neighbors, and each node will decide to participate in packet forwarding when it detect that some of its neighbors do not have sufficient access.In CCP [10] the similar way is used for coverage, each node periodically send a hello message providing its position and current state, and also position and states of its neighbors.Base on this information a node will decide to go to sleep for a specified period if it detect that other nodes already cover its coverage area.In [11] author try to relax the ratio between sensing and communication radius and provide solution when these radius are not the same for all nodes of the network.Huang et al. proved a sufficient and necessary condition for k-coverage in a two-dimensional area.This paper is the first paper which has considered the problem of K s -Coverage and K c -Connectivity in integrated manner and has provided the algorithm to ensure (K s -K c )-CC in the network.[12] is a well-known paper regarding optimality of selected nodes.
Given a set of nodes, the minimum connected sensor cover (MCSC) problem is to find a minimum number of nodes that need to be turned on at any given point in time, such that they completely cover the region while also guaranteeing a connected-network [13].
They have also presented the distributed self-organized version of the algorithm and propose several optimization to reduce communication overhead of the algorithm.In any case, as the energy efficiency of topology control protocols is tightly related to the nodes density, also the achievable gain in terms of network lifetime depends on the actual density.
It has been shown that topology control protocol can typically increase the network lifetime by a factor of 2 -3 with respect to a network with nodes always on [7].This value may be not acceptable for many practical applications.To this end, topology control protocols should be coupled with other kinds of energy conservation techniques, such as power management techniques.However, the simultaneous application of multiple energy conservation schemes may lead to unforeseen consequences.
In fact, although the combination of protocols should be transparent to the applications, actually the obtained results may be very different from what one would expect [7].Therefore this area of research require further explored yet.

Problem Definition
In this section we are going to formulate coverage and connectivity problem as an optimization problem so that we can solve it by means of general optimization algorithms like Genetic Algorithm.
We assume a set of sensor S = {s 1 , s 2 , •••, s n } in a 2D area A, and further assume each sensor s i is located at location (x i , y i ), and has sensing radious R s .Therefore s i can detect events located at maximum distance R s .(we have assumed a binary disk model for sensing), we make no assumption regarding the ratio of sensing radious R s to Communication radous R c .
A point p in A is said to be covered by s i if it's within s i sensing range a i .Given an integer K s , a point p is said to be K s -covered if it covered at least by K s sensors.The sensor network is said to be K s -covered if all point in area A are K s -covered.If for each sensor s i we define a membership function For the set of sensors S we define communication graph G c = (V, E c ), where V is set of sensors participating in routing V and E i is the set of edge such that edge exist between any two node of V if they can communicate with each other (we have assumed a general case where only a subset nodes V participate in routing).The degree of node is defined as the number of its one-hop neighbors.The graph G c is said to be K c -node connected if for any pair of nodes in V there exist at least K c mutually node-disjoint path connecting them.For set of sensors S in area A, where each sensor s i has coverage area a i , the sensing field is said The network life time can be divided to some specified number of round where in each round a subset of sensors remain active and all other sensors goes to sleep mode to save their power.To simplify the problem at hand we assume that all active nodes participate in routing.Therefore for subset at each round of network life time the network will be (K c -K s ) -CC if following conditions is met.
For each sensor s i at round k of network lifetime, we define x ik such that x ik = 1 if i s S  and x ik = 0 otherwise.Now we can define the Connected Sensor Cover problem as follow: For sensor network S over monitoring area A, given a collection of (K c -K s ) -CC subsets such as S' from S, Which are not necessarily disjoint, with time weight t k , for each round k of the network lifetime.The problem is to maximize following equation: where e is energy consumption of node in watts, E i is total energy of node i, and γ is ratio of energy consumption of a node in sleep mode to energy consumption of node in active mode.
In this paper we will develop a centralized heuristic to solve the problem.We can consider both number of rounds r and duration of each round t k as independent variable but for simplicity we will assume a constant number of round and let t k choose any appropriate value.We can now maximize network lifetime subjected to following constraints where the constraint number one is coverage constraint, the constraint number two is connectivity constraint and the third one is energy constraint.

Coverage Constraint
In this section we will introduce a modified version of our previous method which we have used to check the coverage of the sensor network [14].This method can guarantee One-Cover of the network with desired percentage of coverage.We have developed an improved version of this method which is able to check K s -covered network with desired percentage of coverage but to keep this paper short this improved version as long as the results will be introduced in our next paper.
In this work we have generated a bitmap of the domain, and by using this bitmap we have calculated coverage percentage.Each sensor s i is located at location (x i , y i ), and has sensing radious R s we have considerd monitoring area A as a rectangle area of length Lx and Ly.We have divided this area to cells with dimension dx*dy where each cell represented by A ij (see Figure 1).This has lead to n*m cells in the domain so that Lx = ndx and Ly = mdy.We have created an n*m bit matrix C such that each bit of the matrix C ij is associated to cell A ij in real domain (see Figure 2).
In this way, each cell represent a small area in monitoring domain therefore by increase or decrease of these virtual cells dimensions we can get desirable accuracy for calculation of coverage.Next we will calculate the distance between each cell center and each of the nodes, if distance from center of a cell to any active sensor was lower than sensor coverage radius, this cell will be marked covered and the bit associated to it in C Matrix will become one.Now we define the coverage as follow; for each active sensor k at position (x k , y k ) cell A ij will be covered by this sensor if the distance between each point of the cell A ij and sensor k be little than or equal to sensor sensing radius R s .For any bit of matrix C if its associated cell is  covered by sensor k we set it equal to one otherwise the value of this bit will be zero, we can represent this statement as follow: In which (x Aij , y Aij ) is the position of the center of cell A ij .This process will be repeated for each active sensor and finally all cells that their associated bit is not set to one are considered uncovered the coverage is calculated as follow; Now we represent coverage constraint as follow

Coverage >= Desired Coverage
In which minimum desired coverage of the domain should be defined at the beginning.In this way we will have one constraint for each round of network life time.

Connectivity Constraint
In related works section we reviewed some previous work which where able to guarantee integrated coverage and connectivity in this work we will present a novel idea based on graph theory to check the connectivity of the network.By using this method we are able to guarantee one-connect of the network.Currently we are working to improve this method so that we can check K c -node connected network.
For communication graph G c = (V, E c ) of the network to be connected the Laplacian of this graph should have just one zero eigenvalue, therefore in each round we will construct the laplacian of active nodes of the network and check to see if communication graph is a connected graph or not.
By definition the laplacian of graph is formed as follow where d i is degree of node i, If we sort eigenvalues of matrix L as follow We know that l 1 is always zero, therefore we check for l 2 .If l 2 was not equal to zero we have a connected graph.In this way we will have one constraint for each round of network life time.

Energy Constraint
As we know when a node is in active state it will consume a power for sensing and communication, and when it goes to sleep it will consume small amount of energy, but total amount of energy that each node consume during network life time could not exceed its initial energy.We have written this constrain previously as follow Therefore for each node of the network we will have one such constraint.In the next section we will present the simulation result and conclude the work.

Simulation and Results
We have developed a C++ code to solve this optimization problem Genetic Algorithm is used internally for optimization and Armadillo package (which itself internally uses LAPACK and BLAS) is used for eigenvalue computations.

Medium Size Network
We will consider three networks of 16, 25 and 50 nodes uniformly distributed over the area of 100 × 100 m 2 .Further we will assume sensing radius of network nodes R s = 50 m and communication radius of each node R c = 2R s , Initial energy of each node is considered as 30 J and ratio of sleep power consumption to active power consumption gamma = 0.1.
In Figure 3 we have plotted the network life time versus desired percentage of coverage for all these networks in one graph it is obvious that the same pattern is repeated in all networks.As can be seen in figure network life time increases when percentage coverage slightly decreases from 100 percent, but there is not linear relationship between desired percentage of coverage and network life time.The rate of increasing network life decreases with the decreases of desired percentage of coverage.Therefore the network designer should choose between the more life time and percentage of coverage based on specific application of the sensor network.In Figure 4 we have plotted the network life time versus number of deployed nodes when desired percentage of coverage has been 80%.It has shown when number of deployed nodes increases the network life time also increases but the relationship is not linear.

Large Size Network
Next we will consider three dense networks of 100, 150 and 200 nodes uniformly distributed over an area of 100 × 100 m 2 .Further we will assume sensing radius of network nodes R s = 50 m and communication radius of each node R c = 2R s , Initial energy of each node is considered as 30 J and ratio of sleep power consumption to active power consumption gamma = 0.1.
In Figure 5 all percentage coverage curves are plotted in the same figure for comparison.As it can be seen in Figure 5 slight decrease in percentage of coverage from 100 percent to 90 percent, will nearly double the network life time.It is shown that in all cases decreasing the percentage of coverage will increase the network life time, and for all network this relationship is not linear.The rate of increasing network life time will be decreased with decreasing percentage of coverage.In Figure 6 the network life time is plotted vs. number of deployed nodes.It's shown that the network life time will be increased with increasing number of deployed nodes and although this relationship is not linear it is close to linear one.

Conclusions
In this paper we have simulated six network of medium and large size and we have tried to find optimum node scheduling pattern to optimize network life time.We believe that these results are theoretical band to this optimization problem and it can be used as performance measure for distributed node scheduling protocols.Also we have shown that small decrease in domain coverage percentage will result in large increase of network life time which may be very beneficiary in some sensor network applications that coverage of all points of monitoring area is not critical.Also we have shown that increas-ing number of deployed nodes in monitoring area will increase the network life time and although this relationship is not linear it's very close to linear one.
It should be noted that we have tried to find maximum life time extension which is possible as a result of slight decrease in coverage percentage of monitored area by selecting disjoint sets of sensors at each round of network life time.But in actual implementation of distributed protocol this level of optimization may not be possible and thus we expect that in real situation network life time will be less than result we obtained in these simulations.But still these results help us in evaluating the performance of any distributed protocol which may be implemented for this purpose.

Figure 1 .
Figure 1.Area A divided to small cells.

Figure 2 .
Figure 2. Matrix C represents covered area in Domain A.

Figure 3 .
Figure 3. Network life time vs. desired percentage of coverage for three medium sized networks.

Figure 4 .
Figure 4. Network life time vs. number of deployed nodes.

Figure 5 .
Figure 5. Network life time vs. desired coverage percentage for 100, 150 and 200 nodes networks.

Figure 6 .
Figure 6.Network life time vs. Number of deployed nodes.