You are on page 1of 5

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts

for publication in the IEEE ICC 2009 proceedings

A Lightweight Skeleton Construction Algorithm for Self-Organizing Sensor Networks


Hady S. AbdelSalam Computer Science Department Old Dominion University, Norfolk, VA 23529 asalam@cs.odu.edu Stephan Olariu Computer Science Department Old Dominion University, Norfolk, VA 23529 olariu@cs.odu.edu

AbstractAlthough, current technology enables an inexpensive massive production of sensors, it raises numerous challenges on the protocols needed to interact with these sensors efciently. Several techniques have been proposed to address each of these challenges individually (i.e. localization, clustering, routing, aggregation . . . etc). Instead of solving each of these problems individually facing the same common challenges with each problem, we propose to construct what we call a network skeleton that is constructed immediately after network deployment and provides a topology that makes the network more tractable. The skeleton provides sensors with coarse localization information that enables them to associate their sensory data with the geographic location in which the data was measured. Moreover, it promotes a geographic routing scheme that simplies data communication across the network through skeleton sensors. By hypothetically tiling the deployment area using identical hexagons, the construction algorithm clusters sensors based on their locations into hexagons. Skeleton sensors are chosen to be the closest sensors to the centers of these hexagons. Simulation results show that the accuracy of the proposed protocol to establish the skeleton is sufcient to make the approach applicable for most WSN applications.

the network topology and make the basic network protocols more difcult. Different techniques [8],[3], have been proposed to make the sensor network more tractable by partially solving one of the inherent network problems (e.g. localization, data aggregation, routing, clustering . . . etc). Self organizing techniques have also been proposed to help the network adapt to changes in topology due to sensor energy depletion or deployment of new sensor batches [4],[1],[2]. Our approach is a little bit different. We propose to construct an infrastructure or a skeleton for the network immediately after deployment. The network skeleton is a group of sensors that are chosen in a way to satisfy two conditions: 1) They are well distributed across the whole network so that any sensor in the network is within the transmission range of at least one of the skeleton sensors. 2) By hopping through skeleton sensors only, there is at least one communication path between any two skeleton sensors. Having such a skeleton can simplify network management in many different ways. We can summarize some of these advantages in the following: (1) It provides sensors with coarse localization information that enables them to associate their sensory data with the approximate geographic location in which the data were taken. Many WSN applications(e.g. Border Protection and Bush Fireghting) doesnt require accurate location information, as even a few meters localization error is still acceptable. Moreover, current localization techniques still have their deciencies and there is no such technique that can provide accurate localization all the time for different environments. Hence, the existence of a network skeleton can eliminate the need to use any of the current localization techniques for such applications. (2) Skeleton sensors provide a complete set of communication paths that can be used by any geographic routing technique to simplify data communication across the network. (3) The network can be easily clustered by taking skeleton sensors as cluster heads and letting sensors join the cluster of its nearest skeleton sensor. Moreover, a skeleton sensor can control sleep and wake up cycles for sensors in its neighborhood saving their energy and prolonging the network

I. I NTRODUCTION AND R ELATED W ORK Sensors are tiny low-cost devices with usually limited sensing, computational and communicational capabilities. Through these capabilities, sensors can be networked together to form what is referred to as a Wireless Sensor Network(WSN). WSNs have a wide variety of military as well as civilian applications which include battleeld surveillance, environment and habitat monitoring, healthcare applications, home automation, trafc control and others [7], [6], [5]. Sensors are usually deployed in large numbers and in random fashion. After deployment, we rarely end up with a network that is easily managed especially when sensors do not know their locations, do not know how to aggregate their sensory data or where and how to route the aggregated data. The limited energy budget available to sensors makes things much worse. To save their energy, sensors have to sleep and wake up asynchronously. Such actions continuously change
0 This work was supported in part by NSF grant CNS-0721563 i.e. Collaborative Research-NeTS-NOSS: AutoNomouS netWorked sEnsoR systems (ANSWER).

978-1-4244-3435-0/09/$25.00 2009 IEEE

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE ICC 2009 proceedings

lifetime. The remainder of the paper is organized as follows: In section II, we briey describe our assumptions for the underlying network model. The details of the proposed skeleton construction protocol is presented in section III. In section IV, we show by examples how network skeleton can simplify many of network management tasks. Simulation results are summarized in section V. Section VI concludes the paper. II. N ETWORK M ODEL In our network model, we assume the following: (1) A sensor node refers to a tiny electronic device with limited sensing, computational and communicational capabilities. (2) A sensor is powered by a non-renewable on-board energy source. When this energy supply is exhausted, a sensor becomes in-operational; hence sensors sleep and wake up alternatively to save their energy. Sleep and wake up cycles for different sensors occur asynchronously. (3) Due to massive deployment, sensors should work unattended as it is either impractical or infeasible to develop protocols that interact with sensors individually. In other words, sensors should be treated as if they were anonymous with no fabrication-time identities. (4) The network should have an Aggregation Node(AN) or sink node that is responsible for tasking sensors and getting the aggregated results back. The AN has no energy constraints hence it can remain awake all the time. (5) The AN is equipped with two powerful transceivers with adjustable transmission range R, one of the two transceivers is unidirectional while the other is omnidirectional. (6) Sensors have a maximum transmission range, tx , assumed to be much smaller than R. (7) The reception circuitry in sensors should be able to determine the received signal strength(RSS). III. S KELETON C ONSTRUCTION P ROTOCOL In general, there are different ways we can use to choose skeleton sensors while satisfying the two conditions mentioned in section I. However, it is always recommended to distribute communication load among sensors in order to prolong their lifetime. Hence, our goal is to choose skeleton sensors in a way that maximizes the number of communication paths between any pair of them. The main idea of our protocol is to divide the deployment area into identical disjoint regions each of which has exactly one skeleton sensor that is chosen to be the closest sensor to the center of the region. Region size is determined such that transmissions of the skeleton sensor in any region can be received by other skeleton sensors in all immediate neighboring regions. Since communication is omnidirectional, using circular regions seems to be the most appropriate choice. However, circles can not be used to perfectly tile the deployment area, so we decided to use hexagons for the tiling purpose as shown in gure 1. Given, tx , the maximum transmission range of a sensor, we can determine the size of the hexagons (regions) that perfectly tile the deployment area by the radius of the circle tx ). The rst that passes through the hexagon vertices (i.e. 3 hexagon is hypothetically placed so its center coincides with

Fig. 1.

Dividing Deployment Area into Sectors

the sink node. Other hexagons, are placed side by side in the 3 5 7 9 11 following six directions (i.e. 6 , 6 , 6 , 6 , 6 , and 6 ). The geometry of the gaps between the hexagons in any two consecutive directions allows perfect coverage using sequentially increasing number of hexagons. We use a ternary coordinate system sector,row,column to uniquely identify hexagons and skeleton sensors. The deployment area is divided into six sectors. In each sector, hexagons are stacked in rows. In the rst row, there is only one hexagon(column), in the second row, there are two, in the third there are three . . . and so on. The hexagon in column c in row r in sector s is uniquely identied using the ternary tuple s, r, c . Sectors and columns are numbered as shown in gure 1. Selection of skeleton sensors starts when the sink node selects the six skeleton sensors in the rst row. After that, the process continues recursively where sensors in any row select sensors in the next row. This continues until we reach the boundaries of the deployment area where no more skeleton sensors can be added. When a skeleton sensor S s,r,c is selected, there must be rules based on which S determines the skeleton sensors it has to select. To avoid redundancy, reduce collisions and save sensor energy, we propose the following selection rules: 1) Only sensors with odd column coordinate are allowed to select such that sensor S s,r,2c1 selects sensors S s,r+1,2c1 and S s,r+1,2c . 2) There is only one exception relating the rst column in all even rows. Sensor S s,2r,1 should select sensors S s,2r+1,1 , S s,2r+1,2 and S s1,2r+1,2r+1 . 3) Selection of a single skeleton sensor takes at most one time epoch. Selection of skeleton sensors in different odd sectors (i.e. s = 1, 3, 5) but with the same row and column coordinates occur in the same time epoch. A similar rule applies for even sectors (i.e. s = 2, 4, 6). From the above rules we emphasize on the following. Skeleton sensors with even column coordinate do not select other backbone sensors. Selection in odd rows in a single sector requires

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE ICC 2009 proceedings

2 time epochs, however selection in even rows requires 3 time epochs. The total number of time epochs needed to search in all the six sectors is 4 time epochs for odd rows and 6 time epochs for even rows. Figure 1 shows search directions in sector 5 for the third and the fourth rows. As we mentioned earlier, skeleton sensors are chosen to be the closest sensors to the centers of their hexagons. The mathematical formula which a sensor uses to estimate the distance between itself and the center of a given hexagon depends on the position of the hexagon center and the angle of the line that connects the sensor to the sink node. Hence, it is appropriate to start by showing how sensors can estimate these values. Arranging hexagons as described above, sensors can geometrically calculate, (x, y ), the position of the center of hexagon s, r, c as follows, (see gure 2) x xs + r tx cos() + (c 1) tx cos( ) (s 1 2) + = xs + r tx cos 3 (s + 3 2) (c 1) tx cos 3 = ys + r tx sin() + (c 1) tx sin( ) (s 1 2) + = ys + r tx sin 3 (s + 3 2) (c 1) tx sin 3 =

(1)

(2)

Where (xs , ys ) is the position of the sink node.

Initially, the sink node uses its omnidirectional antenna to send a sequence of WAKEUP messages to wake up sleeping sensors so they can learn their angle to the sink node. Obviously, the number of WAKEUP messages should be large enough so that the time needed to send these messages is longer than the maximum sleeping time of a sensor. This guarantees that all sensors receive at least one copy of the message. In addition to waking up sensors, the last WAKEUP message should also provide a level of synchronization among sensors. The reader might argue that this kind of synchronization can not be accurate due to the different transmission, propagation and processing delays suffered at each node. Despite this inaccuracy (in the order of microseconds or even a few milliseconds), the achieved level of synchronization is enough for our purpose especially in the existence of the mechanical delay of rotating the directional antenna. Immediately, after sending the last WAKEUP message, the sink node uses its directional antenna to send angle estimation messages starting from an initial angle 0 . After sending a message, the sink node rotates its antenna either in the clockwise or in the anti-clockwise direction for a small angle , then it sends the next message. Each angle estimation message should contain the current angle of transmission and the initial transmission power p0 . When a sensor receives a recognizable angle determination message, it stores the angle along with the inverse of the difference in power between 1 the initial transmission power and the received power p0 pr . When the antenna of the sink node returns back to the initial angle 0 , it either stops or start a new another cycle using different values for the transmission power p0 and the rotation angle . Obviously, there is a trade off between the accuracy of the estimated angles and the number of cycles needed which will denitely affect the time and energy consumption. After the last angle estimation cycle terminates, a sensor can estimates its angle to the sink node as the average of the received angles weighted by the inverse of the difference between the initial transmission power and the received power 1 (i.e. p0 pr ). Mathematically, this can be written as, =
n i i=1 p0 pr i n 1 i=1 p0 pri

Fig. 2.

Evaluation of the Position of the Center of a Hexagon

(3)

A. Measuring Angles Practically As mentioned in the network model, we assume that the sink node is capable of transmitting directionally and omnidirectionally. The directional antenna at the sink node has a narrow beam-width and can be rotated in any direction. Transmission physics states that the transmission pattern of directional antenna consists of a major lobe which is oriented in the direction of the transmission and several minor back and side lobes. The received transmission power is maximum at the center of the major lobe and reduces as we go far from it. For the purpose of this paper, we simplify the antenna transmission pattern by representing it as a narrow sector of angle that is divided in half by the transmission direction beam.

1 In equation(3), received angles are weighted using p0 pr to reduce the impact of multipath, shadowing, and signal reections on the accuracy of the estimated angle. Recall that the received power of a signal decays proportionally with the inverse of the traveled distance raised to some power (path loss exponent). Reected signals travel a distance that is longer than the distance traveled by direct signals. Hence, although the transmission power p0 is the same (for the same cycle), the received power of reected signals should be smaller than the received power of direct signals. This way weighting angles based on the received power should reduce the impact of reected signals on the accuracy of the estimated angles.

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE ICC 2009 proceedings

B. Selection of Skeleton Sensors In this subsection, we show how a sensor is chosen to be the skeleton sensor representing the hexagon identied by the tuple s, r, c . Initially, the searching entity S (it could be the sink node or another skeleton sensor) computes , the angle between the sink node and the center of the hexagon identied by the given tuple using, 1 c1 s + (4) = 3 2 r After that, S broadcasts a message to all the sensors in the neighborhood around it asking for sensors with angle with the sink node to declare themselves. Sensors that receive this message for the rst time check if the absolute difference between their measured angle i and is within acceptable range (i.e. |i | threshod ). Each sensor within the range estimates ei , the distance between itself and the hexagon center and initialize an internal countdown timer to this value. Calculation of ei is presented in details in subsection III-C. When the timer of any of these sensors expires, the sensor realizes it is the closest sensor to the center of the hexagon identied by the tuple s, r, c . The sensor broadcasts a message to all his neighbors announcing itself as the skeleton sensor of the hexagon. Sensors that receive this message stop their timers and use this message among other messages they receive from other skeleton sensors to determine their hexagon. Although collisions are unlikely to happen, we are still able to break ties by allowing colliding sensors to compete in another countdown round starting from a randomly selecting value. C. Estimation of Selection Error We show how a sensor can estimate ei , the distance between itself and the center of the target hexagon identied by the tuple s, r, c . We distinguish between two different cases.

Where d is the distance between the sink and the sensor and is estimated using RSSI. Case II: this case is applicable for all skeleton sensors other than those handled by Case I. As shown in gure 3(b), we assume the existence of another skeleton sensor S0 that had been previously selected by the protocol to represent the hexagon S s0 ,r0 ,c0 . The selection error of sensor S0 is e0 and represents the distance between S0 and the center of the hexagon S s0 ,r0 ,c0 . Based on the selection rules we described earlier, it is S0 turn to select sensor S1 to represent the hexagon S s1 ,r1 ,c1 . S1 is selected such that the selection error e1 is minimum (e1 is the distance between S1 and the center of the hexagon S s1 ,r1 ,c1 ). Now, our goal is to provide an expression for e1 that can be evaluated by each sensor independently. As we mentioned in subsection III-B, the searching sensor S0 must send a message to sensors in its neighborhood asking the closest sensor to the target hexagon center to announce itself to other sensors. To avoid repeating the same calculations at each sensor, sensor S0 should evaluate all common terms and sends them within the message it sends to its neighboring sensors. These terms include the following: 2 + Y 2 , the Euclidean distance between the X0 (1) Z0 = 0 sink node and node S0 . (2) 0 , the measured angle between the line connecting the sensor S0 to the sink node and the positive x axis. (3) In addition to Z0 and 0 , S0 also evaluates and sends W1 and 1 . W1 is the distance between the center of the target hexagon s1 , r1 , c1 and the sink node. 1 is the angle surrounded by the line connecting the sink node to the center of the hexagon S s1 ,r1 ,c1 and the positive x axis. Mathematically, W1 and 1 can be evaluated using, W1 1 = = 3
2+Y2 X1 1

s1

1 c1 1 + 2 r1

Where (X1 , Y1 ) is the position of the center of the hexagon S s1 ,r1 ,c1 . X1 and Y1 are evaluated using equations 1 and 2. When a sensor receives the message containing Z0 , 0 , W1 and 1 , it uses RSSI to estimate r, the distance between itself and sensor S0 . Using the trigonometric law of sines, each sensor calculates Z1 , the distance between itself and the sink node as follows, r sin(1 0 ) Z1
Fig. 3. Estimation of Selection Error

= = =

Z0 sin( 1 + 0 ) 1 + 0 sin1

Z0 sin(1 0 ) r (6)

2 2 r Z cos( ) r2 + Z0 0

Case I: this case is applicable only for the six skeleton sensors in the rst row of each sector. Figure 3(a) shows ei when sensor S is selected to represent the hexagon si , 1, 1 . From the gure, ei can be evaluated as, ei = tx 2 + d2 2 tx d cos(i i ) (5)

Finally, each sensor can apply the trigonometric law of cosines to evaluate e1 as, e1 =
2 + Z 2 2 W Z cos( ) W1 1 1 1 1 1

(7)

It is also worthwhile to mention that sensors which evaluate e1 to be larger than some threshold value emax should not initialize their internal timers. This decision implicitly provides

This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE ICC 2009 proceedings

the stopping criterion upon which the boundaries of the deployment area are determined. IV. S KELETON BASED N ETWORK M ANAGEMENT Recall that the main goal behind constructing a skeleton is to provide an infrastructure that makes the network more manageable. In this section, we briey show how the basic network management tasks can be simplied using our proposed skeleton. Coarse Localization: The locations of backbone sensors are estimated during skeleton construction. After being localized, backbone sensors can be treated as beacons and the locations of non-backbone can be estimated using the weighed centroid approach. Geographic Routing: Given the coordinates of the source and the destination in the ternary system, we can easily nd a path from the source hexagon to the destination hexagon by hopping through sensors inside the hexagons in between. Data Aggregation: Non-backbone sensors within any hexagon can report their sensory data to the backbone sensor in their hexagon which aggregates the data before sending it the sink node. Clustering and Leader Election: The skeleton construction algorithm implicitly clusters network sensors based on their locations. Each hexagon represents a cluster. The backbone sensor around the center of each hexagon is the cluster head which can be always elected as the leader when necessary to coordinate between sensors in its hexagon for any centralized protocol. V. S IMULATION R ESULTS We built a simulator of a WSN that implements the proposed protocol to construct a skeleton for the network. We run our simulator assuming different network densities ranging from 0.01 up to 0.20 sensors/m2 . Sensor maximum transmission range was set to 15m. We assumed a square deployment area (200X 200m) that has a single sink node that is placed in its center (0, 0). Sensors were distributed randomly across the deployment area. Errors in RSSI-based angle and distance measurements were assumed to normally distributed N (0, 1). Figure 4 shows a plot of the skeleton sensors chosen by the proposed protocol and compares the actual and the estimated positions of the chosen sensors. Figure 5 shows a plot of the actual hexagons constructed out of the simulation. Although the regions do not look like hexagons, they are positioned correctly and it is easy to determine their boundaries. VI. C ONCLUSIONS In this work we proposed a simple scheme to construct a skeleton for WSN immediately after network deployment. Our technique relies on the existence of a single sink node that is capable of transmitting directional and omnidirectional. We also built a simulator of the proposed construction protocol. Simulation results showed that the proposed protocol can construct a strongly connected skeleton that is well distributed
-100

100

100

-100
Act ualPosi t i ons Est i m at ed Posi t i ons

Fig. 4.

Actual vs Estimated Positions of Skeleton Sensors.

Fig. 5.

Hexagons Constructed by Simulation

across the whole network. The constructed skeleton can simplify network management in many different ways. It provides coarse localization mechanism that enables sensors to localize themselves. Moreover, the protocol provides a clustering mechanism by which sensory data can be easily aggregated to the sink through skeleton sensors. In addition to this, the ternary coordinate system dened by the hexagons provides an implicit kind of map for geographic based routing. R EFERENCES
[1] F. Dressler. Self-organization in autonomous sensor/actuator networks. In In Proc of the 19th IEEE Int Conf on Architecture of Computing Systems, 2006. [2] H. Gupta, Z. Zhou, S. R. Das, and Q. Gu. Connected sensor cover: selforganization of sensor networks for efcient query execution. IEEE/ACM Trans. Netw., 14(1):5567, 2006. [3] S. Lederer, Y. Wang, and J. Gao. Connectivity-based localization of large scale sensor networks with complex shape. INFOCOM 2008. The 27th Conference on Computer Communications. IEEE, pages 789797, April 2008. [4] D. C. Marinescu, G. M. Marinescu, and C. Yu. Self-organizing sensor networks. Wireless Pervasive Computing, 2008. ISWPC 2008. 3rd International Symposium on, pages 288292, May 2008. [5] S. Olariu, M. Eltoweissy, and M. Younis. ANSWER: AutoNomouS netWorked sEnsoR system. Journal of Parallel and Distributed Computing, 67(1):111124, 2007. [6] P. Saffo. Sensors, the next wave of innovation. Communications of the ACM, 40(2):9397, 1997. [7] J. van Ganswijk. Chip directory. http://www.xs4all.nl/ganswijk/chipdir/ m/sensor.htm, 2007. [8] L. Yuan, W. Cheng, W. Cheng, and X. Du. An energy-efcient real-time routing protocol for sensor networks. Comput. Commun., 30(10):2274 2283, 2007.

You might also like