Vous êtes sur la page 1sur 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

mukul@wayne.edu, loren@wayne.edu, mbrockmeyer@wayne.edu Abstract


This paper describes a data aggregation and consensus algorithm for object location and tracking applications 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 single message indicating the detected event needs to be forwarded to the tracking application at a base station, leading to a significant savings in communication costs and prolonging the life of the network. Our adhoc 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 properties of wireless sensor networks. Our experimental results show that the algorithm exhibits low overhead despite faults and converges quickly to a single consensus even if multiple nodes initiate the consensus protocol. 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 network 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 surveillance to observe movement in a particular area. Information 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 radio 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 observes 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 increases 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 gathering protocol, which not only reduces the amount of information to be communicated for generation of consensus but also reduces the state information required for maintaining the topology of the network. Our protocol has several advantages over contemporary 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

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 combined functionality that is not possible by each node separately. Local processing to combine sensor readings 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 faults, the high cost of communication, and energy constraints pose challenges 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

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 mechanisms permits greater liveness despite the failure of some nodes in the area of interest. This paper describes an energy efficient, selfhealing wireless sensor consensus generation protocol. The protocol has been designed and tested for generating consensus in wireless sensor networks in the presence 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 probability value of the node to successfully generate consensus 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 timing 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 extensively 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, synchrony assumptions are reasonable for wireless sensor networks and permit circumvention of this result. A good summary of the consensus problem within the context of asynchronous systems can be found in [6]. Lamport [12] describes the consensus problem under the assumption of synchronous behavior and Byzantine 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. Although quorums have been shown to be effective in faulty environments, we believe we are the first to exploit them in the context of wireless sensor networks. Mirando [8] and Gehani [1] have researched consensus 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 computing global aggregates for a large network. Clouqueur, et al. [4] compare value-fusion with decision-fusion (analogous with consensus) in faulty and non-faulty environments, but their decision-fusion protocol doesnt guarantee that only one decision will be made when multiple sensors detect the same event. Other approaches [4, 9, 10] perform data aggregation 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 formation with the event at the center of the group. Blum, et al. [2] describe an entity-maintenance and connection service their entity maintenance corresponds 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 protocols 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 generation 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 environment: a) the sensing region is entirely contained in the communication region, b) the communication diameter is at least twice the sensing diameter, c) there is a minimum and known time between event occur-

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 nodes 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 message. Because of the broadcast nature of communication 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 is twice 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 communication at any time. Rather we are stating the properties 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 processes 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 correct 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 consensus 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 ith node is the same as that for which the consensus has been initiated. 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 information 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 consensus then relay back acknowledgments based on conformance of their information with that of the node initiating consensus. The node initiating consensus then maintains a count of the acknowledgments received. 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 signifies that the node has been able to generate consensus 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 threshold 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 consensus consistently. 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 participate 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 is sent to the other k-1 nodes in the neighborhood. This node then receives ACK messages from the participating 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.

EVENTS: detect e propose e ack e nack e decide e initial_wait quorum_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

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_timeout if (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 else decrease p consensus_formed = FALSE if (p < P) set sleep_wakeup awake = FALSE else set initial _wait

upon DECIDE e: upon PROPOSE e, k: if (awake) if (awake) consensus_formed = TRUE //dont respond in overlapping rounds. cancel quorum_formation_timeout if (consensus_generated) send DECIDE e upon sleep_wakeup if (event = e AND k > round) awake = TRUE send ACK event, k reset p set initial_wait Figure 1. Consensus and data aggregation protocol

Notice that the consensus is initiated by at least one node in the sensing region of a detected event. Termination can be demonstrated by observing that each node waits for a random amount of time (INITIAL_WAIT) after detecting an event before and initiating consensus by sending a PROPOSE message. The initial random wait ensures with high probability that nodes do not initiate the consensus process at the same time. A node receiving an INITIAL_WAIT timeout determines 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 period it cancels the INITIAL_WAIT. This ensures that each node keeps trying to initiate consensus in its network neighborhood until it either receives the consensus 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 consensus. Further, when any node receives a PROPOSE message, 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 protocol ensures that nodes ACK only the first message received 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 failures. If on the other hand, the earlier consensus generation 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 initiation 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 sensors are employed to detect movement, light, heat, sound, or other phenomena. Wireless sensors can employ 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 sensors: Efp 1/ D2, where Efp 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 Ni) where Ni 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 sensors, where the distance from the source cannot be determined, the random function can be defined as follows: R = rand () |T-ti |mod (k Ni), where T is the average intensity and ti 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 ti. The sensor node keeps a count c of the number of values of ti and computes the new value of T as follows: T = (T(c-1)+ ti) / c.

4.2. Maintenance of the quorum size


A wireless sensor network is an autonomous network. The network should thus monitor itself by identifying 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

and the total group size and the probability variable pi) in order to execute the protocol correctly. In this section, we describe how these values, although constant during a single execution of the protocol, are established 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 accuracy 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 Cg nodes, then the initial probability pi of the node to generate consensus is pi K/Cg, 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 protocol, 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 failures as nodes fail, the quorum will remain sufficiently 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 maintained by augmenting the consensus protocol with a background process that uses join and leave notifications, 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 occasionally be somewhat greater than optimal, a local decision can be made.

4.3. Resilience to node and communication Failure


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 during the INITIAL_WAIT period, the ability to form a consensus 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 timeout) 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 quorum 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 face of arbitrary or malicious failures, where nodes may change state arbitrarily and send arbitrary messages. Lamports 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 message 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 attempt to form consensus by a new leader. An additional consequence of a lost PROPOSE message is that two attempts to form consensus may proceed simultaneously. 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 prevent two decisions from being reached by separate leaders. Each participant will respond in only one instance of the protocol, the first one for which they receive 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 absence 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 consensus is impossible, so the failure of a NACK message is of no consequence.

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 consensus will be reached. Although the protocol is generally robust in the face of communication failures, some stability of communication 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 period of time, the protocol will not progress.

network. The consensus-generated plane is nearly parallel 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.

4.4 Imprecision in the detection function


The nodes within the sensing range of a particular sensor may have different readings from the information for which consensus is being generated. This can be attributed to various reasons such as the malfunction 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 simulator 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 the density 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 kNi in the random function (R 1/ D0 mod (k Ni)) is selected based on the required tradeoff between latency and communication 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

Figure 2: Consensus initiation with different node densities In 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 consensus for only two events. This was due to the events being 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 multiple 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 requires k+1 messages in the ideal case. The first message is the consensus initiation request, which leads to k-1 responses and the last is the leaders delivery of the consensus result to the other nodes in the neighborhood. We thus have an expected linear message complexity in our protocol.

Figure 3: Consensus initiation with an increase in the value of the random start delay The communication overhead in case of higher redundancy is thus encountered only from the reply messages 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 Ni leads to an increase in the time a node would wait before initiating 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 between the time sensitivity of the information and the energy consumption of the network. For instance, consensus should be generated quickly in case of enemy intrusion or forest fires. There can, however, be higher latency in detecting temperature variation within a particular area. The following results show the time variation in generating consensus for different values of k Ni for a node having the same set of neighbors. A close observation of Figure 4 shows a marginal increase in the latency of the network for an increase in the product of k Ni. This leads to a significant improvement in the energy required to generate consensus due to a decrease 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 consensus. 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 generated in a wireless sensor network, the nodes in the vicinity 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 multiple independent 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 increase in the value of random delay value Appropriate selection of the random delay will enable nodes nearer to the event source to have a higher

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 protocol can accommodate up to (n 1)/2 faults. Figure 5 shows the set of results for a network with omission and timing failures. The value of k has been kept at two for all the remaining tests.

number of nodes initiating consensus with an increase in the number of nodes having different areas of interest.

6. Conclusions and future work


We have described a fully distributed consensus protocol that is scalable, energy efficient, and fault tolerant. Our protocol works effectively for single as well as multiple events in a sensor network and can generate consensus for concurrent events. The protocol also ensures that consensus is generated for all events occurring in the wireless sensor network that are observed by enough sensors. This work improves on other approaches by permitting ad hoc group formation around the event of interest and by guaranteeing that only one decision is made for each detected event, enhancing the usefulness of our middleware for constructing higher-level programming 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 faultdetection 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 multihop networks.

Figure 5: Variation in consensus initiation with faults in the network

6. References
[1] Arevalo, S. and Gehani N.H. 1989. Replica Consensus in Fault Tolerant Concurrent C. Technical Report AT&T Bell Laboratories, Murray Hill, New Jersey 07974.

Figure 6: Variation in consensus initiation with different areas of interest It can be observed in Figure 5 that the increase in the number of nodes initiating consensus is small relative to the increase in the number of faults in the system. 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 consensus would thus be only 7.67. Nodes within the same radio range can have different areas of interests. Various tests were done involving 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

[2] B. M. Blum, P. Nagaraddi, A. Wood, T. F. Abdelzaher, S. Son, J. A. Stankovic. An Entity Maintenance and Connection Service for Sensor Networks, The First International 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 Decision-Fusion for Fault-tolerance in Collaborative Target Detection in Sensor Networks, Fusion 2001. [5] Michael J. Fischer, Nancy Lynch, and Michael S. Paterson. 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 Distributed Systems (A Brief Survey) Technical report, Department of Computer Science, Yale University, 2000.

[7] David K. Gifford. Weighted Voting for Replicated Data. In Proc. Seventh ACM Symposium on Operating Systems Principles, 1979, pages 150-162, 1979 [8] F. Guerra, S Arevalo, A Alvarez, and J. Mirando. A Distributed Consensus Protocol with a Coordinator. Decentralized 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 Operations 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. Ghemawat. 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 Transactions 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.

Vous aimerez peut-être aussi