Efficient Data Aggregation Middleware for Wireless Sensor Networks

10
Efficient Data Aggregation Middleware for Wireless Sensor Networks Mukul Kumar, Loren Schwiebert, Monica Brockmeyer  Department of Computer Science Wayne State University  Detroit, MI 48202  [email protected], [email protected], [email protected] Abstract This paper describes a data aggregation and con- sensus algorithm for object location and tracking ap-  plications deployed on wireless sensor networks. This consensus algorithm permits ad-hoc, in-network, group formation in response to a dete cted event. By reaching a consensus in the network, only a single message indicating the detected event needs to be for- warded to the tracking application at a base station, leading to a significant savings in communication costs and prolonging the life of the network. Our ad- hoc approach offers superior detecting power to other approaches, which statically partition the network into detection regions. The use of a quorum mechanism to achieve consensus leads to higher availability under  failure conditions. Moreover, the algorithm exploits the broadcast communication and synchrony proper- ties of wireles s sensor networks. Our experimental re- sults show that the algorithm exhibits low overhead despite faults and converges quickly to a single con- sensus even if multiple nodes initiate the consensus  protocol. 1. Introduction Individually, each sensor node in a wireless sensor network has very limit ed capabilities . The usefulnes s of a wireless sensor network depends upon the ability of the nodes to coordinate in order to achieve com-  bined functionality that is not possible by each node separately. Local processing to combine sensor read- ings of neighboring sensors is one technique that can  be used to extend the lifetime of the sensor network. However, accurate coordination among a set of sensors is not trivial. The likelihood of faul ts, the high cost of communication, and energy constraints pose chal- lenges to coordination and decision making in wireless sensor networks. The emergence of wireless sensor networks, autonomous networks of small, low-energy, devices having sensing, computational, and communication capabilities suggests the potential for a myriad of new applications, particularly monitoring and surveillance applications. A key challenge of s uch appli cations is how to reliably and correctly detect, classify, and track objects in an environment where nodes fail and where the cost of communicati on is high. As wireless sensors may be deployed in a harsh terrain and the sensor net- work operates as an autonomous network with a longer lifetime, a data aggregation protocol should be able to handle both process omission failures as well as timing failures. Consider sensor nodes deployed for military sur- veillance to observe movement in a particular area. In- formation collected by these nodes needs to be  propagated to a base station. The events observed by the wireless sensors are generally localized. A wireless sensor can observe events only in its vicinity. The ra- dio range of the device is determined by the transmit  power, size and shape of the antenna, the amount of interference, etc. Each wireless sensor has an area of interest determined by its sensing region of and ob- serves events within its area of int erest. However, an event could be perceived by mult iple nodes. Local generation of consensus would decrease the number of nodes sending back information to the base station, which reduces energy consumption and potentially in- creases network lifetime. Our protocol is unique in that it uses  ad-hoc group  formation to reach a consensus about the object being detected. We propose a fully distri buted data gather- ing protocol, which not only reduces the amount of in- formation to be communicated for generation of consensus but also reduces the state information re- quired for maintaining the topology of the network. Our protocol has several advantages over contempo- rary data gathering algorithms in terms of simplicity of design, efficiency, fault tolerance, and absence of any  blind spots in the network. Each node forms its own group of nodes having common interests based on the sensitivity range of the sensor. A random function enables the nodes near the

Transcript of Efficient Data Aggregation Middleware for Wireless Sensor Networks

Page 1: Efficient Data Aggregation Middleware for Wireless Sensor Networks

7/30/2019 Efficient Data Aggregation Middleware for Wireless Sensor Networks

http://slidepdf.com/reader/full/efficient-data-aggregation-middleware-for-wireless-sensor-networks 1/10

Efficient Data Aggregation Middleware for Wireless Sensor Networks

Mukul Kumar, Loren Schwiebert, Monica Brockmeyer  Department of Computer Science

Wayne State University

 Detroit, MI 48202 

[email protected], [email protected], [email protected]

Abstract

This paper describes a data aggregation and con-

sensus algorithm for object location and tracking ap-

 plications deployed on wireless sensor networks. This

consensus algorithm permits ad-hoc, in-network,

group formation in response to a detected event. By

reaching a consensus in the network, only a singlemessage indicating the detected event needs to be for-

warded to the tracking application at a base station,

leading to a significant savings in communication

costs and prolonging the life of the network. Our ad-

hoc approach offers superior detecting power to other 

approaches, which statically partition the network into

detection regions. The use of a quorum mechanism to

achieve consensus leads to higher availability under 

 failure conditions. Moreover, the algorithm exploits

the broadcast communication and synchrony proper-

ties of wireless sensor networks. Our experimental re-

sults show that the algorithm exhibits low overhead 

despite faults and converges quickly to a single con-sensus even if multiple nodes initiate the consensus

 protocol.

1. Introduction

Individually, each sensor node in a wireless sensor 

network has very limited capabilities. The usefulness

of a wireless sensor network depends upon the ability

of the nodes to coordinate in order to achieve com-

 bined functionality that is not possible by each node

separately. Local processing to combine sensor read-

ings of neighboring sensors is one technique that can

 be used to extend the lifetime of the sensor network.

However, accurate coordination among a set of sensorsis not trivial. The likelihood of faults, the high cost of 

communication, and energy constraints pose chal-

lenges to coordination and decision making in wireless

sensor networks.

The emergence of wireless sensor networks,

autonomous networks of small, low-energy, devices

having sensing, computational, and communication

capabilities suggests the potential for a myriad of new

applications, particularly monitoring and surveillance

applications. A key challenge of such applications is

how to reliably and correctly detect, classify, and track 

objects in an environment where nodes fail and where

the cost of communication is high. As wireless sensors

may be deployed in a harsh terrain and the sensor net-

work operates as an autonomous network with a longer lifetime, a data aggregation protocol should be able to

handle both process omission failures as well as timing

failures.

Consider sensor nodes deployed for military sur-

veillance to observe movement in a particular area. In-

formation collected by these nodes needs to be

 propagated to a base station. The events observed by

the wireless sensors are generally localized. A wireless

sensor can observe events only in its vicinity. The ra-

dio range of the device is determined by the transmit

 power, size and shape of the antenna, the amount of 

interference, etc. Each wireless sensor has an area of 

interest determined by its sensing region of and ob-serves events within its area of interest. However, an

event could be perceived by multiple nodes. Local

generation of consensus would decrease the number of 

nodes sending back information to the base station,

which reduces energy consumption and potentially in-

creases network lifetime.

Our protocol is unique in that it uses  ad-hoc group

 formation to reach a consensus about the object being

detected. We propose a fully distributed data gather-

ing protocol, which not only reduces the amount of in-

formation to be communicated for generation of 

consensus but also reduces the state information re-

quired for maintaining the topology of the network.Our protocol has several advantages over contempo-

rary data gathering algorithms in terms of simplicity of 

design, efficiency, fault tolerance, and absence of any

 blind spots in the network.

Each node forms its own group of nodes having

common interests based on the sensitivity range of the

sensor. A random function enables the nodes near the

Page 2: Efficient Data Aggregation Middleware for Wireless Sensor Networks

7/30/2019 Efficient Data Aggregation Middleware for Wireless Sensor Networks

http://slidepdf.com/reader/full/efficient-data-aggregation-middleware-for-wireless-sensor-networks 2/10

event source to initiate a consensus, as there is a higher 

 probability of neighboring nodes having witnessed the

event, thereby improving the probability of the node to

achieve consensus for its information. The selection of 

random function parameters is also a tradeoff between

the latency and the energy required for generation of 

consensus by the network. The use of quorum mecha-nisms permits greater liveness despite the failure of 

some nodes in the area of interest.

This paper describes an energy efficient, self-

healing wireless sensor consensus generation protocol.

The protocol has been designed and tested for generat-

ing consensus in wireless sensor networks in the pres-

ence of faults. Our protocol does not require the region

to be divided into multiple grids and thereby ensures

that consensus is generated for events that would have

occurred on these grid boundaries.

Our protocol enables the network to behave as a

self-correcting network. Each node stores the probabil-

ity value of the node to successfully generate consen-sus for its information. In case the probability value

drops below a threshold value, the node goes to sleep.

This helps in removing faulty nodes from the system.

The protocol can also accommodate omission and tim-

ing failures.

The rest of this paper first discusses related work in

Section 2, and then describes our protocol in Section 3.

Section 4 discusses fault resiliency and other issues,

while Section 5 presents an experimental evaluation of 

our approach. Section 6 presents our conclusions and

describes future work.

2. Related work

The consensus problem has been studied exten-

sively by the distributed systems community in the

context of point to point communication mechanisms,

 but has not been studied much under the synchronous

assumptions, broadcast communication model, and

communication constraints that characterize wireless

sensor networks.

The classic result of Fischer, Lynch, and Patterson

[5] is that consensus is impossible in an asynchronous

environment with even one failure. Fortunately, syn-

chrony assumptions are reasonable for wireless sensor 

networks and permit circumvention of this result. A

good summary of the consensus problem within thecontext of asynchronous systems can be found in [6].

Lamport [12] describes the consensus problem un-

der the assumption of synchronous behavior and Byz-

antine failures, showing that 3f+1 nodes are necessary

to handle  f  failures. The use of quorums to achieve

consensus is demonstrated in Paxos [13] and also in

[7] to achieve replica consistency. Malkhi and Reiter 

[14] introduce the notion of Byzantine quorums. Al-

though quorums have been shown to be effective in

faulty environments, we believe we are the first to ex-

 ploit them in the context of wireless sensor networks.

Mirando [8] and Gehani [1] have researched con-

sensus for fail stop processors. However, Gehani [1]

uses one-to-one communication between different processors, and the processor generating consensus

accesses data of other processors in a sequential order.

Mirando [8] has optimized this protocol by introducing

a coordinator and broadcast messages. The protocol,

however, requires substantial state information.

Gupta and Birman [9,10] have devised a protocol

that provides scalable and fault tolerant solutions for 

calculating global aggregate functions in large process

groups communicating over unreliable networks. It

employs a hierarchical gossip protocol [11] for com-

 puting global aggregates for a large network.

Clouqueur, et al. [4] compare value-fusion with de-

cision-fusion (analogous with consensus) in faulty andnon-faulty environments, but their decision-fusion pro-

tocol doesn’t guarantee that only one decision will be

made when multiple sensors detect the same event.

Other approaches [4, 9, 10] perform data aggrega-

tion by statically partitioning the network into regions.

Such an approach may lead to a lack of accuracy in

detection when an event falls on a regional boundary.

Our work, in contrast, supports ad hoc group forma-

tion with the event at the center of the group.

Blum, et al. [2] describe an entity-maintenance and

connection service – their entity maintenance corre-

sponds to a consensus protocol and their connection

management extends the notion to permit the detected

event to serve as a communication endpoint. Although

their work is similar in spirit to our work, their proto-

cols are not formally defined.

3. Consensus protocol

A consensus is required to generate agreement

about particular information present at different servers

or nodes. We have devised a new protocol for genera-

tion of consensus in wireless sensor networks. It uses a

variant of quorum techniques for efficiently generating

consensus and tolerating faults in the system. In our 

case a quorum is a subgroup of wireless sensor nodes

whose size gives it the right to carry out operations.3.1. The model and formal problem statement

We make the following assumptions about the envi-

ronment: a) the sensing region is entirely contained in

the communication region, b) the communication di-

ameter is at least twice the sensing diameter, c) there is

a minimum and known time between event occur-

Page 3: Efficient Data Aggregation Middleware for Wireless Sensor Networks

7/30/2019 Efficient Data Aggregation Middleware for Wireless Sensor Networks

http://slidepdf.com/reader/full/efficient-data-aggregation-middleware-for-wireless-sensor-networks 3/10

rences, and d) the event can be detected with sufficient

 precision that any node can compare the readings of 

two nodes and determine whether they reflect the same

event.

A node is said to behave correctly if a) it correctly

 performs each protocol step within a bounded amount

of time, b) it correctly delivers timeout signals within a bounded error of the specified time, and c) if an event,

e, occurs within the node’s sensing region, the node

detects e within a bounded amount of time. 

Correct communication is defined such that if a

node broadcasts a message, all correct nodes within the

communication region of that node receive the mes-

sage. Because of the broadcast nature of communica-

tion in wireless sensor networks, we observe that

messages are totally ordered by correct processes.

That is, if two correct processes both receive messages

m1 and m2, then either they both receive m1 before m2 

or they both receive m2 before m1. Further, because of 

the assumption that the communication diameter istwice the sensing region, an agreement property holds

with respect to protocol messages – if one correct node

receives a message m, about an event, e, any correct

node within the sensing region of e will also receive m.

 Note that we are not requiring any node to receive any

message – any node may fail to have correct commu-

nication at any time. Rather we are stating the proper-

ties that hold under periods of correct communication.

The protocol satisfies the following properties:

Termination: Eventually each correct process that

detected an event makes a decision about that event

and eventually some process sends the decision to the

 base station.

 Agreement : The decision value of all correct proc-

esses is the same.

Validity: If the correct processes all propose the

same value, then any correct process in the decided

state has chosen that value.

The protocol works by gathering a quorum of cor-

rect nodes that agree to a particular event.

For a sensor network consisting of  n nodes, and k  

nodes having the same area of interest, the size of the

subgroup (quorum) should be at least (k + 1)/2. The

 process for consensus generation is described below.

A large concentration of nodes exists in a small

area. Each node has a certain sensing region, S .  A

node obtains a sensor reading when a user generates

interest in an event, and that request is propagated to

the sensors in that region. The sensors are activated

and collect information in their respective regions. The

sensors then initiate a consensus generation process. In

order to generate consensus on a particular sensor 

reading there should be a sufficient number of nodes

that agree on the detected event to achieve a quorum.

3.2. The protocol

Consider a network consisting of  n nodes. Each

node, ni, maintains a state variable,  pi, that measures

the estimated likelihood of that node to generate con-

sensus regarding its information. The nodes generate

consensus by obtaining a quorum from nodes having

similar interests and area of coverage. The value of  pi is increased if the information at the i

thnode is the

same as that for which the consensus has been initi-

ated. On the other hand, the value of  pi is decreased

when the information at a node differs from the result

of the consensus.

A quorum is obtained after nodes exchange infor-

mation among themselves. A consensus generation

 process is initiated by a node having information for 

which consensus has not been generated. Other nodes

that are part of the group of the node initiating a con-

sensus then relay back acknowledgments based on

conformance of their information with that of the node

initiating consensus. The node initiating consensusthen maintains a count of the acknowledgments re-

ceived. For a group of n processes or nodes, when the

total number of positive acknowledgments (including

from itself) is greater than or equal to (n+1)/2 this sig-

nifies that the node has been able to generate consen-

sus for its own information.

A detailed specification of our protocol is presented

in Figure 1; the description of the protocol follows. A

node, before initiating a consensus for its own sensor 

readings, will compare the value of  pi with the thresh-

old probability P. The process can be initiated only if 

 pi > P. When the value of  pi becomes less than P, this

implies that the node is unable to generate consensusconsistently. Another factor that could be taken into

account before consensus initiation is the energy level

at the node. The node should have sufficient power for 

transmission and reception of signals.

If the probability  pi of a node drops below P, the

node will be unable to either initiate consensus or par-

ticipate in a consensus process. It then goes to sleep for 

a period of time.

In the absence of faults in the system, all nodes will

observe correct behavior and will thus have the same

information. Assume there are k  nodes in the sensing

region of an event. Consensus is initiated by one of the

nodes in the neighborhood and a PROPOSE message issent to the other  k-1 nodes in the neighborhood. This

node then receives ACK  messages from the participat-

ing nodes and evaluates the values by using a simple

majority to obtain the correct result. The node that

generated a consensus request broadcasts a DECIDE 

message.

Page 4: Efficient Data Aggregation Middleware for Wireless Sensor Networks

7/30/2019 Efficient Data Aggregation Middleware for Wireless Sensor Networks

http://slidepdf.com/reader/full/efficient-data-aggregation-middleware-for-wireless-sensor-networks 4/10

EVENTS:

detect e

 propose e

ack e

nack e

decide e

initial_waitquorum_formation_timeout

sleep_wakeup

CONSTANTS:

real P // threshold

int GROUP_SIZE

int QUORUM_SIZE

LOCAL VARIABLES:

 boolean awake = TRUE

 boolean leader = FALSE

event_type event

real p // current boolean consensus_formed = FALSE

int round = 0

int num_acks = 0

int num_nacks = 0

PROTOCOL:

upon DETECT e:

if (awake)

event = e

set initial_wait

upon initial_wait:

if (awake)if (p > P)

if ( NOT consensus_formed)

leader = TRUE

round++

send PROPOSE event, round

set quorum_formation_timeout

else

set initial_wait

upon PROPOSE e, k:

if (awake)

//don’t respond in overlapping rounds.

if (consensus_generated)send DECIDE e

if (event = e AND k > round)

send ACK event, k 

set initial_wait

else

send  NACK event, round

round = max(round, k)

upon ACK e, k:

if (awake AND leader)

num_acks++if (num_acks > QUORUM_SIZE AND round = k)

send DECIDE e

consensus_formed = TRUE

cancel quorum_formation_timeout

upon  NACK e, k:

if (awake AND leader)

num_nacks++

if (num_nacks > GROUP_SIZE - QUORUM_SIZE

AND round = k)

decrease p

consensus_formed = FALSE 

cancel quorum_formation_timeoutif (p < P)

set sleep_wakeup

awake = FALSE

else

set initial_random_wait

upon quorum_formation_timeout:

if (awake AND leader)

if (num_acks > QUORUM_SIZE)

send DECIDE e and forward e to base station

increase p

consensus_formed = TRUE

elsedecrease p

consensus_formed = FALSE

if (p < P)

set sleep_wakeup

awake = FALSE

else

set initial _wait

upon DECIDE e:

if (awake)

consensus_formed = TRUE

cancel quorum_formation_timeout

upon sleep_wakeup

awake = TRUE

reset p

Figure 1. Consensus and data aggregation protocol

Page 5: Efficient Data Aggregation Middleware for Wireless Sensor Networks

7/30/2019 Efficient Data Aggregation Middleware for Wireless Sensor Networks

http://slidepdf.com/reader/full/efficient-data-aggregation-middleware-for-wireless-sensor-networks 5/10

 Notice that the consensus is initiated by at least one

node in the sensing region of a detected event. Termi-

nation can be demonstrated by observing that each

node waits for a random amount of time

(INITIAL _ WAIT) after detecting an event before and ini-

tiating consensus by sending a PROPOSE message. The

initial random wait ensures with high probability thatnodes do not initiate the consensus process at the same

time. A node receiving an INITIAL _ WAIT timeout de-

termines whether consensus is being generated for the

given event before initiating consensus for the event by

sending a PROPOSE message. If consensus is being

generated for the information, the node waits again,

responding to any propose messages. If the waiting

node receives a DECIDE message within the timeout pe-

riod it cancels the INITIAL _ WAIT. This ensures that

each node keeps trying to initiate consensus in its net-

work neighborhood until it either receives the consen-

sus result or initiates the consensus request itself.

Moreover, concurrent generation of consensus is prevented. While the initial random wait reduces the

number of nodes simultaneously initiating consensus,

it is still possible for multiple nodes to initiate consen-

sus. Further, when any node receives a PROPOSE mes-

sage, it also waits. The communication properties of 

the wireless network prevent concurrent use of the

wireless channel without destructive interference. If 

two processes initiate consensus, and the two round

numbers are equal, either communication collisions

will prevent both propose messages from reaching a

quorum of nodes, or any nodes that receive both

PROPOSE messages will view them in the same order,

due to the broadcast nature of the network. The proto-

col ensures that nodes ACK  only the first message re-

ceived in a given round. If the round numbers are not

equal, then it will be because the round with the lower 

round number has already failed to reach consensus.

Therefore, only one consensus will be reached for a

given event.

Each correct node gets the final result of consensus

 because the participating nodes wait for the result of 

consensus until the INITIAL _ WAIT timeout occurs.

Upon initiating consensus, they will then get the result

of consensus from neighboring nodes if the consensus

has been generated and the node has not missed the

result due to communication omission or timing fail-

ures. If on the other hand, the earlier consensus genera-

tion process had either been unsuccessful or the node

crashed due to process omission failure, the current

node initiates the process.

4. Issues

4.1. Random delay

The random delay for initiating consensus should

 be chosen carefully in order to prevent concurrent ini-

tiation of consensus for the same information along

with a minimal increase in latency. The sensitivity of a

sensor decreases with an increase in the distance of the

event from the node. A node closer to the event should

have a higher probability of initiating consensus for the

event, as there is a higher probability that neighboring

nodes would have witnessed the event. Wireless sen-

sors are employed to detect movement, light, heat,

sound, or other phenomena. Wireless sensors can em-

 ploy signal strength to determine the distance of a

source from the wireless sensor. For instance, in the

case of image sensors, the light collected by the sensor 

aperture is inversely proportional to distance from the

source squared. Carlson [3] provides a method for 

measuring the signal-to-noise ratio (SNR) and relating

it to pixel sensitivity for an image sensor. He employs

the following relation for collection of light by the sen-

sors: E  fp  ∝ 1/ D 2, where  E  fp is the light collected by

the optical system (focal plane illuminance) and  D is

the distance from the light source to the sensor.

We have chosen the random delay to be modulo k  

times the number of neighboring nodes, where k  is a

constant that can be varied to obtain a tradeoff between

latency and energy consumption in the generation of 

consensus. The random function  R would thus be  R =

(rand () /D0) mod (k × N i) where  N i is the number of 

neighboring nodes,  D0 is the distance of the object or 

event source from the node, and rand () is the random

number generated by the node.

In the case of thermal sensors and certain other sen-

sors, where the distance from the source cannot be de-

termined, the random function can be defined as

follows: R = rand () × |T-t i |mod (k × N i), where T is

the average intensity and t i is the intensity at the sensor 

node. The intensity can be either signal strength or 

temperature or light intensity. The initial value of  T  

can be chosen at the time of deployment and the value

is then changed at each node based on the values of t i.

The sensor node keeps a count c of the number of val-

ues of  t i and computes the new value of T as follows:

T = (T×(c-1)+ t i) / c.

4.2. Maintenance of the quorum size

A wireless sensor network is an autonomous net-

work. The network should thus monitor itself by iden-

tifying and correcting faults in the system. In our 

design each node is required to maintain only a small

set of constants (the number of nodes in the quorum

Page 6: Efficient Data Aggregation Middleware for Wireless Sensor Networks

7/30/2019 Efficient Data Aggregation Middleware for Wireless Sensor Networks

http://slidepdf.com/reader/full/efficient-data-aggregation-middleware-for-wireless-sensor-networks 6/10

and the total group size and the probability variable  pi)

in order to execute the protocol correctly. In this sec-

tion, we describe how these values, although constant

during a single execution of the protocol, are estab-

lished and maintained by the system.

The initial value of  pi, used to determine whether 

the node may initiate a consensus protocol, is selected based on the redundancy in the network and the accu-

racy required in the network. With an increase in the

redundancy of a group or region, the effect of a node

going to sleep on the ability of the node to generate

consensus decreases. Suppose the group g has C g 

nodes, then the initial probability pi of the node to gen-

erate consensus is  pi ∝   K/C g, where K  is a constant.

The value of  pi is increased and decreased during the

execution of the protocol. The decision to increment

or decrement is purely a local decision, based on the

ability of the node to form a consensus. Further, the

value of  pi does not affect the correctness of the proto-

col, as long as sufficiently many nodes remain awake.In order to appropriately establish the quorum size,

the nodes must have a sufficiently accurate estimate of 

the number of nodes within the region of interest. The

quorum must be at least (k+1)/2 for k nodes within the

sensing region of the event. As nodes fail and wake

up, the number of nodes in the sensing region will

vary, as will the exact quorum value. Observe that this

quorum size is conservative with respect to node fail-

ures – as nodes fail, the quorum will remain suffi-

ciently high to prevent multiple decisions to be formed

around the same event. However, there will be a cost

in the protocol in that more nodes than necessary will

need to agree on an event in order to reach consensus.More precise estimates of quorum size can be main-

tained by augmenting the consensus protocol with a

 background process that uses join and leave notifica-

tions, and periodic heartbeat messages can be used by

each process to maintain an estimate of the number of 

nodes within the sensing area. By assuming that no

new nodes are added to the sensing region above the

initial value of k , it is possible to avoid an agreement

 protocol to determine the number of nodes in the

group. Instead, by permitting the quorum value to oc-

casionally be somewhat greater than optimal, a local

decision can be made.

4.3. Resilience to node and communicationFailure 

In the case of the crash failure of the leader node

 between the PROPOSE and DECIDE messages (that is

while the leader is waiting upon

QUORUM _ FORMATION _ TIMEOUT), some other node that

has detected the event will receive an INITIAL _ WAIT 

event and wake up to initiate the consensus procedure.

If a node that is not the leader fails, before detecting an

event, during the execution of the DETECT step or dur-

ing the INITIAL _ WAIT  period, the ability to form a con-

sensus will not be compromised, as long as sufficient

nodes remain to reach a quorum. Failure of a node

while it is asleep (waiting for a SLEEP _ WAKEUP time-out) does not affect the protocol since the node is not

 participating in the consensus protocol during this

time. Under the assumption that there are at least k  

nodes that have the event in their sensing region, and

with the requirement that (k+1)/2 nodes must send ACK  

messages agreeing to the consensus, the protocol is

tolerant to (k-1)/2 node faults. In the event of a large

number of node failures, less than (k-1)/2, the protocol

will be less efficient as described above, since the quo-

rum size will be larger than necessary. This will be

adjusted eventually by the background quorum size

maintenance task.

As specified, the protocol is not robust in the faceof arbitrary or malicious failures, where nodes may

change state arbitrarily and send arbitrary messages.

Lamport’s classic result [cite] shows that 3f+1 nodes

are necessary to tolerate f arbitrary failures. Byzantine

failures can be tolerated by raising the quorum value,

as described in [cite].

Due to collisions, environmental obstructions,

 power loss, and other factors, it is likely that messages

will be lost. We consider the impact of each lost mes-

sage type. In the case of a lost PROPOSE message, it is

 possible that consensus may not be formed by that

leader. In this case, the effect is the same as a failed

leader and the protocol will continue with a new at-

tempt to form consensus by a new leader. An addi-

tional consequence of a lost PROPOSE message is that

two attempts to form consensus may proceed simulta-

neously. However, the use of round numbers, together 

with the observation that all other nodes will receive

the two PROPOSE messages in the same order, will pre-

vent two decisions from being reached by separate

leaders. Each participant will respond in only one in-

stance of the protocol, the first one for which they re-

ceive a PROPOSE message. And since the PROPOSE

messages will be totally ordered, due to the broadcast

 properties of wireless sensor networks, if one PROPOSE 

message reaches a quorum of correct participants, that

PROPOSE message will lead to consensus, in the ab-

sence of further faults.

A lost ACK message is similar, possibly causing one

round to fail, but not the protocol as a whole.  NACK 

messages merely speed up the decision that a consen-

sus is impossible, so the failure of a  NACK message is

of no consequence.

Page 7: Efficient Data Aggregation Middleware for Wireless Sensor Networks

7/30/2019 Efficient Data Aggregation Middleware for Wireless Sensor Networks

http://slidepdf.com/reader/full/efficient-data-aggregation-middleware-for-wireless-sensor-networks 7/10

The loss of a DECIDE message may cause one or 

more nodes to decide that the consensus round has

failed. If fewer than (k-1)/2 nodes miss the DECIDE 

message, they may attempt additional consensus

rounds which will eventually fail. If (k+1)/2 or more

nodes miss the DECIDE message, the result is the same

as if the leader of the current round failed and consen-sus will be reached.

Although the protocol is generally robust in the face

of communication failures, some stability of communi-

cation is required in order for liveness characteristics

to hold. In particular, if communication is so poor that

(k+1)/2 nodes miss most messages for an extended pe-

riod of time, the protocol will not progress.

4.4 Imprecision in the detection function

The nodes within the sensing range of a particular 

sensor may have different readings from the informa-

tion for which consensus is being generated. This can

 be attributed to various reasons such as the malfunc-tion of some nodes or a change in the sensing region S

of a node over a period of time. The sensor readings

obtained by a node may not therefore conform to the

sensor data generated by other nodes in the same area.

Thus we observe that though the node may not be

faulty, it could have a negative impact on the decision

 process when the sensing region of the node changes.

5. Experimental evaluation 

The simulations were done using the Tiny OS simu-

lator created at University of California-Berkeley. The

first set of results was obtained to study the variation

of consensus initiation requests with an increase in thedensity of the network. The number of neighboring

nodes in the radio range of a sensor increases with the

density of the network. The random function is chosen

in order to enable the nodes near the event source to

have a higher probability of initiating consensus for an

event. The value of the product k×N i in the random

function (R ∝ 1/ D0 mod (k × N i)) is selected based on

the required tradeoff between latency and communica-

tion costs in the network. The following series of tests

were conducted by keeping the random delay within

twice the number of neighboring nodes. For instance

the random delay is in the range of 0 to 40 for 20

neighboring nodes.It can be observed from Figure 2 that the number of 

nodes initiating consensus does not increase with the

density of the network. The protocol is thus scalable to

larger networks having higher node densities as the

energy consumption of the network does not increase

considerably with an increase in the density of the

network. The consensus-generated plane is nearly par-

allel to the consensus-initiated plane. This implies that

consensus is generated for all events except the special

case of three events occurring in a sensor network of 

ten neighboring nodes.

Figure 2: Consensus initiation with different

node densitiesIn the case of three concurrent events for a wireless

sensor network with ten neighboring nodes within the

sensing range, the nodes were able to generate consen-

sus for only two events. This was due to the events be-

ing detected by five, four, and one node, respectively.

Consensus was therefore not generated for the third

event. In all other tests, consensus was achieved.

Concurrency is another major issue in distributed

systems and wireless sensor networks. The second set

of tests was done for generating consensus with multi-

 ple events in the sensor neighborhood. A node forms a

group with other nodes having the same sensitivity or 

similar interests within the given radio range.The following results were obtained for generating

consensus for multiple events in a sensor network. The

 protocol generated consensus successfully for multiple

events as shown in Figure 2. It can also be observed

that consensus was generated for multiple events in the

sensor network without increasing the number of 

nodes initiating consensus. It can thus be observed that

the protocol is scalable when generating consensus for 

multiple events in a sensor network.

The observed message complexity of the protocol is

linear. A consensus generation process for k nodes re-

quires k+1 messages in the ideal case. The first mes-

sage is the consensus initiation request, which leads tok-1 responses and the last is the leader’s delivery of the

consensus result to the other nodes in the neighbor-

hood. We thus have an expected linear message com-

 plexity in our protocol.

Page 8: Efficient Data Aggregation Middleware for Wireless Sensor Networks

7/30/2019 Efficient Data Aggregation Middleware for Wireless Sensor Networks

http://slidepdf.com/reader/full/efficient-data-aggregation-middleware-for-wireless-sensor-networks 8/10

 

Figure 3: Consensus initiation w ith an increase in the value of the random start delay

The communication overhead in case of higher re-

dundancy is thus encountered only from the reply mes-

sages that are received from additional nodes in the

neighborhood. Thus we observe that there is only a

marginal increase in the energy consumption of the

network for generation of consensus for single and

multiple events.

An increase in the value of the product k × N i leads

to an increase in the time a node would wait before ini-

tiating consensus for its information. This decreases

the number of nodes that concurrently try to initiate

consensus as observed in Figure 3. The number of messages for generation of consensus would therefore

also decrease leading to an improvement in the energy

consumption of the network.

Latency is, however, an important factor that should

 be taken into consideration for generation of consensus

in a wireless sensor network. There is a trade off be-

tween the time sensitivity of the information and the

energy consumption of the network. For instance, con-

sensus should be generated quickly in case of enemy

intrusion or forest fires. There can, however, be higher 

latency in detecting temperature variation within a par-

ticular area.

The following results show the time variation in

generating consensus for different values of k × N i for 

a node having the same set of neighbors. A close ob-

servation of Figure 4 shows a marginal increase in the

latency of the network for an increase in the product of 

k × N i. This leads to a significant improvement in the

energy required to generate consensus due to a de-

crease in the number of nodes initiating consensus in

the network, which in turn leads to a decrease in the

number of messages required for generation of consen-

sus.

We thus observe the tradeoff between latency and

energy consumption. These parameters can be adjusted

 based on the requirements of the end user by varying

the value of k in the network. When an event is gener-

ated in a wireless sensor network, the nodes in the vi-

cinity of the event would start generating consensus for 

the event after a random amount of time. There can be

three different scenarios for initiation of consensus.

The first case has only one event in the network 

neighborhood while the second case involves multipleindependent events such that each sensor detects at

most one event. The third case involves multiple

events within the same sensitivity range as shown in

Figure 4.

Figure 4: Variation in latency with an increasein the value of random delay value

Appropriate selection of the random delay will en-

able nodes nearer to the event source to have a higher 

Page 9: Efficient Data Aggregation Middleware for Wireless Sensor Networks

7/30/2019 Efficient Data Aggregation Middleware for Wireless Sensor Networks

http://slidepdf.com/reader/full/efficient-data-aggregation-middleware-for-wireless-sensor-networks 9/10

 probability of initiating consensus compared to the

nodes distant from the source.

Another important feature of our protocol is fault

tolerance. We have performed several tests in order to

determine the fault tolerance of our protocol. Our pro-

tocol can accommodate up to (n – 1)/2 faults. Figure 5

shows the set of results for a network with omissionand timing failures. The value of  k  has been kept at

two for all the remaining tests.

Figure 5: Variation in consensus in itiation withfaults in the network

Figure 6: Variation in consensus in itiation withdifferent areas of interest

It can be observed in Figure 5 that the increase in

the number of nodes initiating consensus is small rela-

tive to the increase in the number of faults in the sys-

tem. For instance the number of nodes initiating

consensus for 10 neighbors increases by 0.77 for an

increase in the number faults from 0 to 4 nodes. The

number of additional messages for generating consen-

sus would thus be only 7.67. Nodes within the same radio range can have differ-

ent areas of interests. Various tests were done involv-

ing nodes having different areas of interests and the

same radio ranges. Figure 6 shows the variation with

an increase in the number of nodes having different

areas of interest for a given set of neighbors. It can be

observed that there is only a slight increase in the

number of nodes initiating consensus with an increase

in the number of nodes having different areas of inter-

est.

6. Conclusions and future work

We have described a fully distributed consensus protocol that is scalable, energy efficient, and fault tol-

erant. Our protocol works effectively for single as well

as multiple events in a sensor network and can gener-

ate consensus for concurrent events. The protocol also

ensures that consensus is generated for all events oc-

curring in the wireless sensor network that are ob-

served by enough sensors.

This work improves on other approaches by permit-

ting ad hoc group formation around the event of inter-

est and by guaranteeing that only one decision is made

for each detected event, enhancing the usefulness of 

our middleware for constructing higher-level pro-

gramming abstractions.In future work, we plan to extend our protocol to

consider noise or other sources of imprecision that

could prevent a node from individually ascertaining

that it had observed the same event as another node.

Further, we will explore the background fault-

detection mechanism in order to permit quorum sizes

to be set less conservatively. We also plan to extend

our work to address a Byzantine fault model and multi-

hop networks.

6. References

[1] Arevalo, S. and Gehani N.H. 1989. “Replica Consensus

in Fault Tolerant Concurrent C”. Technical Report  AT&TBell Laboratories, Murray Hill, New Jersey 07974.

[2] B. M. Blum, P. Nagaraddi, A. Wood, T. F. Abdelzaher,

S. Son, J. A. Stankovic. “An Entity Maintenance and Con-

nection Service for Sensor Networks”, The First Interna-

tional Conference on Mobile Systems, Applications, and 

Services (MOBISYS ̀ 03), California, May 2003.

[3] Bradley S. Carlson, “Comparison of Modern CCD and

CMOS Image Sensor Technologies and Systems for Low

Resolution Imaging” IEEE Sensors Conference 2002.

[4]  Thomas Clouqueur, Parameswaran Ramanathan, Kewal

K. Saluja , Kuang-Ching Wang. “Value-Fusion versus Deci-

sion-Fusion for Fault-tolerance in Collaborative Target De-

tection in Sensor Networks”, Fusion 2001.[5] Michael J. Fischer, Nancy Lynch, and Michael S. Pater-

son. “Impossibility of distributed consensus with one faulty

 process.” Journal of the ACM, 32(2): 374-382, April 1985.

[6] M. Fischer. “The Consensus Problem in Unreliable Dis-

tributed Systems (A Brief Survey)” Technical report, De-

 partment of Computer Science, Yale University, 2000.

Page 10: Efficient Data Aggregation Middleware for Wireless Sensor Networks

7/30/2019 Efficient Data Aggregation Middleware for Wireless Sensor Networks

http://slidepdf.com/reader/full/efficient-data-aggregation-middleware-for-wireless-sensor-networks 10/10

[7] David K. Gifford. “Weighted Voting for Replicated

Data.” In Proc. Seventh ACM Symposium on Operating Sys-

tems Principles, 1979, pages 150-162, 1979

[8] F. Guerra, S Arevalo, A Alvarez, and J. Mirando. “A Dis-

tributed Consensus Protocol with a Coordinator”. Decentral-

ized and Distributed Systems 1993: Palma de Mallorca,

Spain

[9] Indranil Gupta, Robbert van Renesse, and Kenneth P.

Birman. and “Scalable Fault-Tolerant Aggregation in Large

Process Groups”. Proc. Conf. on Dependable Systems and 

 Networks, 2001.

[10] Indranil Gupta and Kenneth Birman, “Holistic Opera-

tions in Large-Scale Sensor Network Systems: a Probabilistic

Peer-to-Peer Approach.”  International Workshop on Future

 Directions in Distributed Computing (FuDiCo). June 2002.

Pp. 1-4.

[11] Rivka Ladin, Barbara Lishov, L. Shrira and S. Ghe-

mawat. “Providing Availability Using Lazy Replication.”

 ACM Transactions on Computer Systems 10:4 (Nov. 1992),

360-391.

[12] L. Lamport, R. Shostak, and M. Pease, "The Byzantine

generals problem," ACM Transactions on Programming

Languages and Systems, vol. 4, pp. 382--401, July 1982.

[13] L. Lamport. The part-time parliament. ACM Transac-

tions on Computer Systems, 16(2):133--169, May 1998.

[14] Dahlia Malkhi and Michael Reiter, “Byzantine quorum

Systems”, The Journal of Distributed Computing, 11(4):

203--213, 1998.