Solution to Open Problems in Wireless Sensor Networks Tanzila Saba and Amjad Rehman Faculty of Computer Science and Information Systems University Technology Malaysia Contact author: rkamjad@gmail.com Abstract Wireless Sensor Network (WSN) consists of tiny autonomous devices called sensors capable of sensing, processing and transmitting information. Energy consumption and maximizing lifetime are the important challenges in the sensor network. In this paper, we propose Optimal Sensing Ranges (OSR) algorithm to address the problem of coverage, connectivity and provide an energy efficient heterogeneous network. The energy efficiency is due to the use of heterogeneous nodes of variable sensing ranges. Analytical and simulation results show that OSR performs better than other algorithms. Keywords: wireless sensor network, sensing ranges, lifetime, connectivity, sensors, Ad-hoc networks 1. Introduction The advances in wireless communication have made feasible low power, low cost, multifunctional sensors. WSN is a special type of Ad-Hoc network with randomly deployed nodes assigned with the task of monitoring the surveillance area and a base station [1]. A sensor node is embedded with unreplacable battery, a sensing unit and an antenna. Base stations are special nodes with unlimited battery power. They possess the ability to collect information from the sensor nodes. A heterogeneous network differs from a homogeneous network in having nodes with varying sensing ranges. The basic characteristic of WSN is dense node operation which facilitates reliability and longer network lifetime. The lifetime of a network is the time during which surface coverage is sustained. WSN is data-centric i.e., it is concerned with the sensed data rather than the node that senses the data (node-centric) or the path taken to transfer the data to the base station. Two approaches based on the working of WSN are event driven and data driven. In event driven, a node jumps into action when it detects an event in its sensing area and reports the same to the base station, as seen in applications like forest fire detection. In data driven approach, base station queries the sensor nodes at regular intervals to detect an event as in applications like weather forecasting. WSN applications are broadly classified into two categories: Remote Environment Monitoring and Home and Commercial applications. Remote environment monitoring include forest fire detection, assistance in military operations involving intrusion detection, identifying enemy hide-outs etc., commercial applications include detecting car thefts, vehicle tracking, weather reporting etc., WSN plays a major role in remote environment monitoring applications. The various issues related to WSN are QoS, Security, Routing, Operation and Coverage. Among them, Coverage is an important one which reflects how well an area is monitored by a sensor network. It is the measure of quality of service provided by the network. Coverage of the surveillance area is a collaborative action of various sensor nodes, whose contribution is determined by its sensing range. The random operation of sensor nodes emphasizes the need for coverage factor. The dense node operation leads to redundancy i.e., all the nodes need not be active at the same time to provide the desired coverage. However, few nodes scattering result in coverage holes. To minimize the overall energy consumption of the network due to redundancy, we schedule nodes such that some nodes are active while others are in almost zero-energy consumption state, still achieving the required coverage. Connectivity is an important coverage-related concept which involves transfer of sensed data to the base station effectively and a fully covered network without connectivity is of little use. Critical applications like forest-fire, nuclear attack detections demand every point in the target area to be monitored accurately whereas less critical applications like reporting pollutant levels, temperature and humidity conditions demand only a part of the surveillance area be monitored. An illustrative application demanding a fully covered network with connectivity is an ambulance tracking system. The system involves deploying the nodes on the traffic signal poles which senses the sound waves of the ambulance siren (i.e., coverage), the transmission of this sensed data to subsequent signals will make way for the ambulance (i.e., connectivity). Coverage Centric Active Node Selection (CCANS) algorithm that uses a token based protocol is presented in [2]. It is a distributed approach to select minimum number of active nodes called Connected Dominating Set (CDS) to achieve coverage and connectivity. However, it is observed that CCANS is limited to a homogeneous network. That is the main motivation behind this research. This paper presents improves the network lifetime. The intermediate result of the algorithm is a set of nodes that meets the coverage and connectivity requirements of the target area. Energy is saved by using heterogeneous nodes of appropriate sensing ranges thereby increasing the lifetime of the network. The paper is further organized into VII sections. Section II presents an overview of problem background. The problem of maximizing the network lifetime is elaborated in section III. Design and analysis of OSR algorithm in section IV and implementation details in section V. Analysis of algorithm and comparison of simulation results is presented in section VI. Section VII contains the conclusions. 2. Problem Background Initially, concept of design issues in WSN is explained in [1]. Next, a novel solution to determine whether a network is k-covered proposed in [3]. These results are used for discovering insufficiently covered areas, conserving energy and supporting hot spots. Yang et al., [4] address the coverage preserving selfscheduling based on co-operative sensing model considering a target beyond the sensing range will be detected by cooperative exploration of multiple sensors. It has higher communication overhead when compared to Boolean scheme. The tasks carried out by nodes that are grouped into sensing and forwarding is discussed in [5]. Coverage and Energy Efficient task is being developed which assigns less energy to carry out only the forwarding task. It uses grid based approach for coverage. Uneven distribution of sensors poses problem while scheduling the nodes. Butler et al., [6], consider the network to consist of a set of static and mobile nodes. Mobile sensors converge on more interesting portions of the environment (where event occurs), preventing coverage holes. Coverage methods are based on Voronoi diagram. Dynamic Coverage Maintenance scheme proposed in [7], take advantage of limited mobility of sensor nodes. The selection of the migrating neighbor is done by four algorithms proposed which take distance travelled and residual energy of a node into consideration. A solution to coverage optimization problem using probabilistic sensing model is presented in [8]. The surveillance area consists of obstacles between the nodes. Two algorithms have been proposed: one targeted at average coverage, another at maximizing coverage of vulnerable grid points. Use of probabilistic sensing model increases computation, fault tolerance is not handled. The problem of maintaining the desired coverage degree of a WSN at an application specific level is handled in [9]. Two distributed coverage service protocols have been proposed: Neighbor based Coverage Protocol, which introduces a novel method to evaluate coverage degree of a node by its neighbors to determine redundancy, Grid based Coverage Protocol, which divides the target area using a virtual hexagonal grid and node with highest residual energy is identified to be redundant. An idea to sustain network lifetime by reducing number of active sensors while scheduling others to sleep is proposed in [10]. Scalable Coverage Maintenance algorithm operates in two phases: decision phase and optimization phase. The algorithm considers coverage of critical points only rather than point to point coverage. It does not handle connectivity due to the assumption that communication range is always twice the sensing range. A potential approach to maintain the network in post operation scenario is presented in [11]. Coverage and Connectivity algorithm decides the mobility of the node so that loss of coverage and connectivity can be repaired. The decision and movement of nodes are completely autonomous and involve only one hop neighbors. The sensing and communication ranges are restricted to same values. Wang design and analyze protocols that can dynamically configure a network to achieve guaranteed degrees of coverage and connectivity [12]. Coverage Configuration Protocol has been proposed that can provide degrees of coverage requested by applications. Besides this, it also provides a geometric analysis of relationship between coverage and connectivity. Lindsey et al., [13] propose an improvement over the previous protocol by increasing network lifetime and decreasing bandwidth through local collaboration among nodes. Another protocol that achieves energy efficiency for WSN by introducing off-duty cycles and on-duty cycles for sensor nodes was proposed in [14]. Two adjustable sensing ranges are proposed in [15]. Coverage hole problem appearing due to intersection of the disks is efficiently solved without considering the concept of fault tolerance. Location discovery techniques using Voronoi diagram and Delaunay triangulation are described in [16]. Two types of coverage: deterministic coverage and stochastic coverage are considered. It addresses only coverage problem. It is restricted to homogeneous networks. 3. PROBLEM FORMULATION 3.1. Problem Statement Given a two dimensional area x y consisting of grid points g x g y of sensors with two different sensing ranges, the objectives are (i) To minimize the number of active nodes that enables complete coverage and connectivity. (ii) To reduce energy consumption and enhance network lifetime. 3.2. Assumptions In our formulation, we make a number of simplifying assumptions. (i) The network comprises of nodes of two different sensing ranges Rs or Rb both equipped with same amount of initial energy for carrying out the sensing tasks. (ii) The nodes are assumed to be static. (iii) Each node is aware of its location and the boundaries of the surveillance region through location services. The first objective is modeled using Integer Linear Programming. The minimum number of active nodes is expressed as a cost minimization problem as follows: Minimize c N (s K 1 Subject to k ck (1 sk )) (i){Sk {| Gk n Gkj |}} 0 j 1 (ii) {a ,b (dist ( N ka , N kb ) Rc )) * ck } 0 , Where 1≤a≤n and 1≤b≤n (iii) (X − kx) k > 0 (iv) (Y − ky) k > 0 Constraint (i) describes the coverage evaluation of the node by subtracting the set of grid points covered by k th node Gk and set of grid points covered by all its neighbors Gki . For every pair of active neighbors ( N ka , N kb ) of k th node, we find the Euclidean distance dist (a, b) to evaluate connectivity in Constraint (ii) Constraints (iii) and (iv) ensures that a node is deployed in surveillance area of x y . After the operation of nodes, every node broadcasts messages, which takes considerable amount of time. Hence, the time for evaluation of coverage and connectivity for all nodes varies exponentially with the increasing number of nodes. 0-1 integer programmi.ng or Binary Integer Programming (BIP) is the special case of integer programming where variables are required to be 0 or 1 (rather than arbitrary integers). If N is the total number of nodes and q is the average number of neighbors for each node, then the complexity to find the minimum number of active nodes depend on the messages broadcast by a node to its neighbors. Since the messages are sent at 3 stages, the complexity is N3q. This complexity makes the problem NP−Complete, Figure 2: Coverage calculation (a) Homogenous network. (b) Heterogeneous network. 3.3. Coverage with two Sensing Ranges In a homogeneous network, the ideal case of operation has non-overlapping disks of radius Rb , where nodes touch each other. The area enclosed by such nodes result in coverage holes, illustrated in Figure 1(a), where the circles centered at A, B, C will leave point O uncovered. The heterogeneous approach proposed in this paper uses nodes with two sensing ranges for coverage. In this case, the hole is covered by a disk with radius RS .Figure 1(b) shows three nodes centered at A, B, C with radius Rb with the tangential points D, E and F. The disk of radius RS used for covering the hole touches the points D, E and F. We know that BF denotes the median of the equilateral triangle ABC formed by the centers of three adjacent disks. The point O divides the median BF in the ratio 2:1. The relation between the two chosen sensing ranges Rb and RS can be obtained as follows: BF = √3 Rb (1) The radius RS of the encircle of the triangle ABC centered at O is OF. OF =1/3 (BF) (2) RS =1/√3 ( Rb ) (3) Figure 3: Intersecting sensing areas Theorem 1 In an ideal case of deployment for homogeneous and heterogeneous network as shown in Figure 2(a) and 2(b), the angle subtended by the chord in the intersection area at the center of the node is independent of its sensing range. Consider two circles centered at A and B with radii R and r represented by AC and BC respectively. ^ ^ Chord CD in the intersection area subtends 1 = C AD at center A and 2 = C B D at center B. E is the mid-point of the chord CD. From Figure 3, ^ ^ 1 = C A E + E A D ^ (4) ^ Here, C A E = E A D = 1 and hence 1 =2 1 . Considering right angled triangle CAE, cos 1 =AE/AC (5) 1 = cos−1(AE/R) (6) and AC 2 = AE 2 + EC 2 (7) implies R 2 AE 2 EC 2 (8) Considering right angled triangle BEC, BC 2 EC 2 BE 2 (9) implies r 2 EC 2 BE 2 (10) Subtracting the Equations (8) and (10), R2 r 2 AE 2 BE 2 (11) R2 r 2 ( AE BE)( AE BE) (12) Since, AE+BE=AB=d and BE=d-AE the Equation (12) becomes R2 r 2 = d(AE − (d − AE)) = d(2AE − d) (13) Simplifying for AE AE ( R2 r 2 d 2 ) / 2d (14) Substituting for AE in Equation (6) 1 cos 1 ( R2 r 2 d 2 ) 2 Rd (15) Hence, 1 is 1 = 2 cos 1 ( R2 r 2 d 2 ) 2 Rd (16) Similarly, the angle 2 subtended by the chord CD at the center B is 2 = 2 cos 1 ( r 2 R2 d 2 ) 2rd (17) Case 1: In homogeneous network, the nodes have same sensing radius Rb .Substituting R r Rb for 1 and 2 in the Equations (16) and (17) we get, 1 = 2 = = 2cos 1 ( d ) 2 Rb (18) From Appendix (i) for a homogeneous network, d=1.732 Rb = 2 cos1 ( 1.732 Rb ) =602 2 Rb (19) Case 2: In heterogeneous network, the nodes have sensing radius Rb and Rs . Substituting R Rb and r= Rs = Rb /√3 for 1 and 2 in the Equations (16) and (17) we get, 2 Rb 2 3d 2 ) 6 Rb d 1 = 2 cos 1 ( (20) From Appendix (i) for a heterogeneous network, d=1.1547 Rb Rb2 (2 3*1.1547 2 ) ) 6 *1.155Rb2 (21) Rs 2 3Rs 2 d 2 ) 2 = 2 cos ( 2 Rs d (22) 1 = 2 cos 1 ( 1 From Appendix (i) for a heterogeneous network, d=2 Rs 2 = 2 cos 1 ( Rs 2 (5 3 ) = 70.43 4 Rs 2 (23) From Equations (21) and (23), it is proved that angle is independent of the sensing range in both homogeneous and heterogeneous networks. 3.4. Energy Consumption Analysis Energy in a sensor node is consumed for two tasks: sensing and communication. In this section, we consider the energy consumed only for sensing task. According to the various energy consumption models, energy is assumed to be proportional to exponential powers of the sensing range. (i) Energy consumption model for a homogeneous (uniform sensing range) network: The energy consumed for sensing in this model can be explained by taking an ideal case of deployment as shown in Figure 2(a). From Appendix (ii) the intersection area of nodes is obtained by substituting for 1 = 2 = and R r Rb as follows: Rb 2 ( sin ) (24) The total area of intersection of three adjacent nodes is S = 3 Rb 2 ( sin ) (25) The effective area Ae f f sensed by these three nodes is obtained by subtracting the intersection area S from the area of three circles as follows: Ae f f = 3 Rb2 S (26) Thus, we get effective area Ae f f as Ae f f = 3Rb2 ( sin ) (27) The total sensing energy consumption by the sensors is proportional to Rb4 where Rb is the sensing range. So, the energy consumption E per unit area is as follows: E= 3Rb4 (3Rb2 ( sin )) (28) Substituting the value of in radians from Theorem 1, E = 0.3377 Rb 2 (29) The parameter μ corresponds to the power consumption per unit area. (ii) Energy consumption model for a heterogeneous (varying sensing radii) network: An ideal case of deployment for this model is as shown in Figure 2(b). From Appendix (ii) the intersection area of nodes is obtained by substituting for 1 , 2 and R Rb , r RS as follows: ( Rb 2 R2 (1 sin 1 ) s ( 2 sin 2 )) 2 2 (30) The total area of intersection S′ of three adjacent nodes is S′ = 3 ( Rb 2 R2 (1 sin 1 ) s ( 2 sin 2 )) 2 2 (31) The effective area Ae f f sensed by these four nodes is obtained by subtracting the intersection area S′ from the area of the four circles as follows: Ae f f = 3 Rb 2 Rs2 S By substituting Rs = Rb /√3, we get effective area (32) Ae f f sin 1 sin 2 10 3( 1 )( 2 )) 3 2 2 = Rb2 ( (33) The total sensing energy consumption by the sensors is proportional to Rb4 where Rb is the sensing range. So, the energy consumption E per unit area is as follows: E′ = (3Rb4 Rb4 ) 9 sin 1 sin 2 10 R ( 3( 1 )( 2 ) 3 2 2 (34) 2 b Substituting values for 1 and 2 in radians from Theorem 1, E′ = 0.3093 Rb2 (35) 3.5. Energy Model for Network Lifetime The lifetime of the network is measured in terms of number of queries. Each query involves spending a considerable amount of energy by some nodes in the network. The queried node spends energy for both sensing (S) and transmitting (T ), whereas other nodes in its path to the base station loses energy only for transmission. The energy spent by the queried node m is Em = T + S (36) The energy spent by each intermediate node (n) in the path between m and base station is (n m) En T (37) The energy spent by queried node and k intermediate nodes involved in jth query execution k E ( j ) Em En (38) i 1 Here, E ( j ) is the total energy spent by a network to successfully execute jth query. Let q denote the total number of queries answered by the network until any one of the active node drains out all its energy. The total energy E (1, 2....q ) spent for satisfying q number of queries can be computed as follows: q E (1, 2....q ) E (i ) (39) i 1 The value of q is of major concern, since it is directly related to the lifetime of the network. 4. Proposed Algorithm A heterogeneous sensor network comprises of sensor nodes with varying sensing ranges. Sensor nodes can be in any of the three states: unset, active or sleep. After evaluation of coverage contribution of a node, its state is set to either active or sleep. By active, we mean the sensing and communication unit to be active. Nodes in sleep state ideally consume no energy. Coverage evaluation of a node requires the knowledge of one-hop neighbors. OSR algorithm can be divided into four stages: Stage1 (Operation), Stage2 (Cover age Evaluation), Stage3 (Connectivity Checking) and Stage4 (Evaluating network lifetime). 4.1. Operation In our work, the sensor nodes are operated in random manner. The surveillance area is divided into a set of equidistant grid points and is considered as source of events. A sensor node´s coverage capacity is evaluated based on the number of grid points it covers uniquely. Operation of sensors plays a key role in performance of the sensor network. Hence, an additional concern exercised while deploying the nodes. Many constraints in reality restricts us in doing so, because there are many places to be monitored, where human intervention is not possible and points out the need for dense operation in WSN. We consider operation of nodes as a uniform distribution over the surveillance area. If D(x) and D(y) are distributions of node’s x and y position respectively, then D(x) = P(X≤x) where −∞ < x < ∞ (40) D(y) = P(Y ≤y) where −∞ < y < ∞ (41) Since our surveillance area is of two dimensions, we consider the bi-variate uniform distribution. D(x, y) = P(X≤x and Y ≤y), (42) Where, ∞ < x < ∞ and −∞ < y < ∞ In our operation, a node’s x position is not dependent on its y position or vice versa. The independent variables x and y makes the probability distribution a product of two marginal distributions for both x and y values. The independent variables x and y makes the probability distribution a product of two marginal distributions for both x and y values. D(x, y) = D(x)·D(y) The area monitored is equipped with many sensor nodes, which are randomly deployed with the distribution given in Equation (42). Considering the surveillance area of 300x300 m2, we deploy 100 to 500 nodes randomly such that the whole area is covered. The performance parameters of WSN vary to a great extent with operation. Hence, we need an optimized approach for operation resulting in best performance. But, it is really impractical to deploy a sensor node in exact position once for all. To overlook this aspect, we prefer to run the simulation many times and take the average values rather than the exact values. We deploy two types of sensor nodes: Type-1 and Type-2. Type-1 nodes have larger sensing radius as compared to Type-2. Numbers of Type- 1 nodes over Type-2 nodes are in the ratio 60:40 as compared to 100:0 in traditional CCANS algorithm. This heterogeneity in the type of a node helps us to obtain better results. The difference in sensing ranges of Type-1 and Type-2 nodes is addressed in the comparison of homogeneous and heterogeneous network. Node with smaller sensing radius is the in-circle for the triangle connecting centers of each of Type-1 nodes as shown in Figure 1(b). We evaluate Rb (sensing radius of Type-1 node) to be 1.71 times RS (sensing radius of Type-2 node). Let us consider homogeneous network as shown in Figure 2(a), the three circles drawn in solid line explains the problem of coverage hole i.e., there exists at least one grid point which is uncovered. In homogeneous network, if we make one more node active to sense the uncovered region then it will be of same sensing radius as other nodes. Since the area to be sensed is very small, it leads to inefficient use of energy. Hence, we make a node with smaller sensing radius active. Considering an ideal case, we have Type-2 node covering only the coverage hole to save some sensing energy spent unnecessarily by Type-1 node as in homogeneous network. Initially, when we deploy the nodes they communicate with their neighbors and build the neighbors table containing all the required information about the neighbors. This table is used in evaluating coverage and connectivity for a node. The neighbors table is an array of node information which is in the communication range of current node. After operation each node broadcasts hello message sending its identification, position, state and type. Nodes which receive hello message update its neighbors table. 4.2. Modified Token Passing (MTP) The MTP procedure determines the flow of token among the nodes deployed in the target area, which outperforms the token passing procedure in CCANS with additional steps for optimization. The step by step procedure for MTP is shown in Algorithm 1. The first token node after its coverage evaluation passes the token to the unset node with radius Rb (if any). This ensures the activation of the nodes with Type-1 first. When there are no more Type-1 neighbors, the token is passed to the remaining unset Type-2 neighbors. The procedure returns -1 when all the neighbors have set their state. The algorithm is run repeatedly until all Type-1 and Type-2 neighbors have made their temporary state decisions in coverage evaluation stage, after which connectivity checking is done. 4.3. Coverage Evaluation In this stage, the token node evaluates its coverage based on the local knowledge. The first node which undergoes coverage evaluation has all its neighbors in unset state, which are assumed to become active in future. A node first sets its token source and chooses itself to be active if its sensing area is not fully covered by its neighbors, otherwise it goes to sleep. The node checks if all the grid points lying in its sensing area are being detected by its neighbors. During this process, if any grid point within its sensing area is uncovered, then the node decides to be active and exits from this stage by passing the token to one of its neighbors found through MTP. This avoids the task of evaluating coverage of the remaining grid points. Otherwise, if all the grid points in its sensing area are covered by its neighbors then it switches to sleep state. This scenario can be illustrated with the help of Figure 4. Consider the node A to be evaluating its coverage. It is seen from the diagram that the neighbors of A i.e., B, C, D and E together cover the area to be sensed by an effectively leaving no area uncovered. Thus, node A decides its state to be sleep. The decision however is not final because of the fact that some of the neighbors of the token node are still unset. When token is given to such a neighboring node, its state decision may contradict that of the token node. After every node determines its state, it broadcasts the state message to its neighbors. The neighbors will update the state decision accordingly. The message consists of node id, token-src, state and node-type. Algorithm 1: Modified Token Passing (MTP) MTP (token node) begin If ( ∀ neighbors unset){ token node=token-src return -1} find the centroid ’C’ of active neighbors. if ( ∀ neighbors having Rb unset) goto NEXT else if( ∀ neighbors having Rb active){ token node=Farthest unset neighbor with Rb return token node } else { token node=Farthest unset neighbor with Rb from ’C’ return token node } NEXT: if ( ∀ neighbors active){ token node=Farthest unset neighbor return token node} else{ token node=Farthest unset neighbor from ’C’ return token node } end Figure 4: Coverage Evaluation of node A 4.4. Connectivity Checking The optimization of state decisions is done in this stage. It is carried out in two steps namely: coverage redundancy re-evaluation and connectivity checking. This stage is carried out only for sleep nodes. The state evaluated for sleep nodes after the two steps is said to be final, as none of the neighbors are in unset state, it leaves no room for erroneous state decisions due to assumptions. Coverage redundancy checking involves a sleep node rechecking if its sensing area is being covered by its active neighbors. If the newly taken state decision contradicts that of the previous stage, the state of the node is corrected and updated in its neighbor’s table. This step can be skipped for active nodes as there are no chances of positive results. In the next step, the node checks for connectivity i.e., if there exists a path through which the sensed data is sent to the base station. Since connectivity is as important as coverage, this step plays a major role in the algorithm. In CCANS, it has been proved that when communication range is twice the sensing range or more, connectivity is always guaranteed. A node with state decision sleep should become active, if all the active neighbors are not connected. In our approach, the sleep node checks if its active neighbors are connected failing which, another step of connectivity checking for all the active nodes in the network is done. If both result in a disconnected active node set, then the sleep node becomes active. Figure 5: Connectivity checking for sleep node A In Figure 5, consider node A which is checking connectivity, it has only four neighbors out of which B is in sleep state and C, D, H are in active state. It is clear from the diagram that C and D are mutual neighbors and are hence connected, whereas H is neither connected to C nor D. Therefore, it is checked if H is connected to them via other active nodes in the network. It is seen that connectivity between H and D can be achieved by the fact that node pairs D-E, E-F, F-G and G-H are mutually connected. Since, all the active neighbors of A are connected, the state of the node is not changed. The state decision taken in this stage is final. Each node should make sure that all its neighbors have received the updated state message and then enters its decided state. Token node passes the token to its token source. Connectivity checking is evaluated in an order exactly opposite to the order of previous stage. MTP ends when the node which started coverage evaluation is the last one to evaluate this stage. 4.5. Network Lifetime Lifetime of a heterogeneous network is calculated in terms of average number of queries answered. This is achieved by simulating the network in a data driven fashion. In such a scenario, a node responds to a query by sending the sensed information either directly or indirectly to the base station. This task involves energy consumption by all those nodes that are involved in the sensing and transmission of information to the base station. When any one of the active nodes fail to answer a query due to lack of residual energy, the network fails. A brief step by step description of OSR algorithm is shown in algorithm 2. Stage1 is done for all nodes at a time. Initial node begins at Stage 2, followed by Stage 2 and Stage 3 for the remaining nodes in a MTP fashion, terminated by Stage 3 for init node. After this, Stage 4 is executed to compute lifetime of the network. Algorithm 2: Optimal Sensing Ranges (OSR) begin Stage1 init node Stage2(token node) next=MTP(token node) if(next=-1) goto ADVANCE else Stage2(next) ADVANCE: next=MTP(token node) if(next=-1 and token node=init node) { Stage3(token node) goto NEXT } else if(next=-1) Stage3(token node) else Stage2(token node) NEXT: Stage4 end 5. Implementation In the OSR algorithm, we have used two types of messages: hello message and state message. “hello” message is used by a node to build its neighbors table. In this message, the information about the node’s identification, status and type is given to all the one-hop neighbors. Then the node has to wait for a limited amount of time expecting a reply. The time is the product of maximum number of times a node will send hello messages in the absence of the reply and the time taken for communication tc .Once the neighbors table is built, each node starts executing OSR algorithm according to MTP. When a node takes its temporary state decision after executing the stage for coverage evaluation, a state message is sent to all its one-hop neighbors. A node executes MTP only after ensuring that all its neighbors have received its state message, updating their neighbors table. ts is the time interval between broadcasting the state message and execution of MTP. When a sleep node changes its state decision during connectivity checking, it will broadcast its updated state message to its neighbors; wait for a time interval tup so that its state is updated in its neighbor’s table. It then passes the token to its token S rc and enters into its decided state. A spanning tree is constructed for the active node set in connectivity checking stage to know a shortest path from each node to the base station. The node queried by the base station responds to it, utilizing this shortest path. All the nodes in the path re-calculate their residual energies, which helps us in determining the network lifetime in terms of number of queries answered by the network. Figure 6: Percentage of sleep Nodes 6. PERFORMANCE ANALYSIS 6.1. Simulation setup We have simulated our work using ns-2.31 on Fedora Core 6.0. The simulation is carried over a 300m *300m area, deploying about 100 to 500 nodes randomly. The sensing ranges of the nodes take values either 50m ( Rs ) or 50√3m ( Rb ), distributed in the ratio 40:60. The communication range ( Rc ) of the node varies from 60 to 120m. The adjacent grid points in the surveillance area are separated by a distance of 10m. Each node has a fixed amount of 10,000 units reserved energy. The energy spent by a node for transmission is taken as 60 units for a communication range of 100m and 14.8 units for sensing. 6.2. Simulation results The simulation is run 30 times and an average value is taken for comparison. The performance is analyzed using parameters such as number of active nodes, network lifetime and energy consumption. Figure 6 shows the percentage of sleep nodes for communication radii varying from 60 to 120m considering 100 to 400 nodes. Initially, at lower communication ranges, there is an increase in percentage of nodes going to sleep as very less number of nodes turns themselves active for connectivity. Beyond ( Rc = 90), the percentage of sleep nodes remains constant for operation above 100 nodes. In Figure 7(a), we compare variation of the percentage of nodes active for communication with the communication radius. For lower values of Rc , a disconnected network is obtained. Thus, a considerable number of nodes have become active for connectivity and their number reduces drastically with increasing communication range. We observe that no node needs to become active for Rc beyond 100m. In this paper, the network lifetime is measured in terms of average number of queries satisfied by the network, for a Rc =100m. Figure 7 (b) shows that a homogeneous network answers less number of queries as compared to a heterogeneous network. For a heterogeneous network, the number of queries increases for 100 to 200 nodes, remaining constant thereafter. This is due to dense operation of nodes. The graphs shown in Figure 7 (c) and Figure 7 (d) compares OSR algorithm with CCANS algorithm considering the parameters, percentage of sleep nodes and energy consumption for sensing respectively, taking Rc to be 100m. Figure 7 (c) show that OSR algorithm outperforms CCANS algorithm. Figure 7(d) compares the total sensing energy consumed by CCANS and OSR algorithm for 100 to 500 nodes. The reduction in energy consumption in OSR algorithm is as a result of increase in the percentage of sleep nodes. The drastic decrease in energy consumption from 400 to 500 nodes is due to the difference in the number of active nodes obtained in the previous graph. The fact that smaller sensing range node consumes less energy for sensing also adds to this improvement in performance. (a) (c) (b) (d) Figure 7 (a) Percentage of Communication Unit Active Nodes (b) Comparison of homogeneous and heterogeneous network lifetime (c) Comparison of CCANS and OSR algorithms with respect to percentage of sleeping nodes (d) Energy Consumption comparison for CCANS and OSR algorithm 7. CONCLUSIONS In this paper, the problem of maximizing network lifetime in WSN was considered. We proposed OSR algorithm that selects an optimal set of nodes to maintain desired coverage and connectivity for a heterogeneous network. Since two sensing ranges are used, the proposed strategy is energy conserving. We demonstrate that OSR algorithm outperforms the CCANS algorithm in several factors viz. percentage of sleeping nodes, energy consumption for sensing and network lifetime. The results show that, OSR algorithm increases the lifetime of a heterogeneous sensor network. In future, we aim at optimizing the operation in terms of number and position of nodes in a target area with obstacles by modeling the sensing range as sector coverage and reducing energy B REFERENCES [1] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam and E. Cayirci. Wireless Sensor Networks: A Survey. In IEEE Communication Magazine, 40(8):102-114, August 2002. [2]. Yi Zou and Krishnendu Chakrabarty, A Distributed Coverage- and Connectivity-Centric Technique for Selecting Active Nodes in Wireless Sensor Networks. IEEE Transactions on Computers, IEEE Computer Society, 54(8):978-991, August 2005. [3]. C. Huang and Y. Tseng, The Coverage Problem in a Wireless Sensor Network Proceedings of the 2nd ACM International Conference on Wireless Sensor Networks and Applications, ACM press, 115-121, September 2003. [4]. Baiwei Yang, Hongyi Yu, Hong Li and Huifeng Hou. A Coverage-Preserving Density Control Algorithm Based-on Cooperation in Wireless Sensor Networks Proceedings of 2nd International Conference on Wireless Communications, Networking and Mobile Computing, IEEE, 1-4, September 2006. [5]. Xiangwen Liu and Huifeng Hou and Jinya Yang and Hongyi Yu and Hanying Hu. Coverage and Energy Efficient Information Gathering Protocol in Wireless Sensor Networks, PDCAT 2005: Proceedings of the Sixth International Conference on Parallel and Distributed Computing Applications and Technologies, IEEE Computer Society, 649-654, 2005. [6]. Zack Butler and Daniela Rus. Controlling Mobile Sensors for Monitoring Events with Coverage Constraints, Proceedings of the 2004 IEEE International Conference on Robotics and Automation, 2:1568-1573, April 2004. [7]. Archana Sekhar and B. S. Manoj and C. Siva Ram Murthy. Dynamic Coverage Maintenance Algorithms for Sensor Networks with Limited Mobility, PERCOM 2005: Proceedings of the Third IEEE International Conference on Pervasive Computing and Communications, IEEE Computer Society, 51-60, 2005. [8]. S. Dhillon and K. Chakrabarty. Sensor Placement for Effective Coverage and Surveillance in Distributed Sensor Networks, Proceedings of IEEE Wireless Communications and Networking Conference, 1609-1614, 2003. [9]. H. Ozgur Sanli and Hasan Cam. Energy Efficient Differentiable Coverage Service Protocols for Wireless Sensor Networks, Proceedings of the 3rd International Conference on Pervasive Computing and Communications Workshops, 406-410, March 2005. [10]. Jun Lu, Jinsu Wang and Tatsuya Suda. Scalable Coverage Maintenance for Dense Wireless Sensor Networks, 3rd Annual Sensor and Ad-Hoc Communications and Networks, SECON, IEEE Computer Society, 2:651-660, September 2006. [11] Prasan Kumar Sahoo, Jang-Ping Sheu and Wei-Shin Lin. Dynamic Coverage and Connectivity Maintenance Algorithms for Wireless Sensor Networks, 2nd International Conference on Communication Systems Software and Middleware, 1-9, January 2007. [12] Xiaorui Wang, Guoliang Xing, Yuanfang Zhang, Chenyang Lu, Robert Pless and Christopher Gill. Integrated Coverage and Connectivity Configuration in Wireless Sensor Networks, SenSys 2003: Proceedings of the 1st International Conference on Embedded Networked Sensor Systems, ACM, 28-39, November 2003. [13] Stephanie Lindsey and Cauligi S. Raghavendra. PEGASIS: Power-Efficient Gathering in Sensor Information Systems, IEEE Aerospace Conference, 3:1125-1130, 2002. [14] Benjie Chen, Kyle Jamieson, Hari Balakrishnan and Robert Morris. Span: An Energy Efficient Coordination Algorithm for Topology Maintenance in Ad Hoc Wireless Networks, Mobile Computing and Networking, 85-96, 2001. [15] Jie Wu and Shuhui Yang. Coverage Issue in Sensor Networks with Adjustable Ranges, ICPPW 2004: Proceedings of the 2004 International Conference on Parallel Processing Workshops, IEEE Computer Society, 61-68, 2004. [16] Seapahn Megerian, Farinaz Koushanfar, Miodrag Potkonjak and Mani B. Srivastava. Worst and Best-Case Coverage in Sensor Networks, IEEE Transactions on Mobile Computing, IEEE Educational Activities Department , 4(1):84-92, 2005.