Robcast: A singlehop reliable broadcast protocol for WSNs Murat Demirbas Srivats Balachandran University at Buffalo, SUNY Singlehop reliable(?) broadcast • Reliable broadcast is important Safety (consistency) reasons: Sensor/actuator devices coordinating regulator valves should take consistent decisions to prevent a malfunction Performance (goodput) reasons: Unreliable broadcast wastes the bandwidth • Hidden terminal problem may account for loss of 50% of traffic Hidden terminal problem occurs when two senders are not in range of each other (carrier sensing fails), but are in range of a common receiver 2 RTS-CTS achieves reliable unicast • Sender transmits a Request to Send (RTS) • Destination node replies with a Clear To Send (CTS) • Any other node receiving the CTS frame should refrain from sending data for a given time (solves hidden terminal) RTS/CTS provides virtual carrier sensing 3 RTS-CTS fails for broadcast • Direct application sacrifices reliability CTSs collide at the initiator making it impossible to know if all neighbors are ready to receive CTS from any neighbor is used as sufficient for data transmission (BSMA) • Reliable application sacrifices efficiency Individual RTS-CTS handshake is performed with each neighbor before data is transmitted (BMMM) 4 Our contribution: Robcast • Robcast addresses the singlehop broadcast problem both efficiently and reliably • Robcast uses bandwidth efficiently Bandwidth is not statically allocated among nodes as in TDMA Robcast is an on-demand access protocol, nodes contend for the channel • Robcast is useful for standardization efforts in WSNs SP focuses on singlehop broadcast as narrow-waist for standardization • Two main ideas are: Collision detection at the receiver-side is employed for feedback collection Although positive feedback do not compose, negative feedback compose 5 Receiver-side collision detection (RCD) • Carrier sensing at the transmitter-side is impossible • Carrier sensing at the receiver-side is feasible and is widely used for CSMA • RCD is achievable using the same basic techniques as CSMA Channel activity can be differentiated from noise 6 RCD using CC2420 radio • Received Signal Strength Indicator (RSSI) based collision detection requires additional processing on the processor, unreliable • Cyclic Redundancy Check (CRC) based collision detection reliable, but only works when preamble and packet frame are received • Clear Channel Assessment (CCA) based collision detection can detect collisions even when the preambles are not detected CCA signal is generated only after a transmission is scheduled to the radio, so we manipulate the radio to perform CCA also in the idle state 7 Robcast protocol • Nodes are synchronized to maintain rounds with 3 phases This structure facilitates RCD-based feedback collection by providing context A collision at the RTS phase means multiple initiators are trying to transmit A collision at the NCTS phase means multiple nodes are reporting conflicts Robcast avoids any collisions in the DATA phase • Positive feedback (CTS) do not compose, yet negative feedback (NCTS) do compose nicely j k l RTS NCTS DATA 8 Robcast protocol… INITIATOR RECEIVERS RTS Bcast (RTS) Listen for RTS or collision NCTS Listen for NCTS or collision If collision Bcast(NCTS) DATA If no NCTS or collision Bcast (DATA) Else backoff for some rounds Listen for DATA if any 9 Robcast protocol… • Scenario 1: success • Scenario 2: deferral DATA RTS A NCTS RTS B C A NCTS RTS B C Phase: RTS DATA NCTS Phase: DATA RTS NCTS 10 Extensions… • Reducing idle listening Sleep through the rest of the round if no activity is scheduled Data phase may account for around 90% of the total time • Multiple round-length packets Explained in the paper 11 Our previous work on BEMA • BTMA Use a control channel for signaling busy for ongoing transmissions Separate radio infeasible for WSNs • BEMA Synchronized rounds, leader is elected based on duration of BUSY signals Double power transmissions during CONTROL phase Locked nodes always transmit BUSY signals Requires a more finer-granularity RCD Eliminates hidden terminals DATA collisions still occur due to equal length of BUSY signal Susceptible to obstacle arrangements B A C 12 Simulations • Prowler A MATLAB-based, event driven simulator for WSNs Simulates a Rician fading model • Setup 5x5 grid of motes With varying number of nodes transmitting data 13 Goodput Goodput= data/ settling time 14 Loss of messages 15 Energy consumption 16 Concluding remarks • Reliable broadcast is significant for many applications • Robcast achieves lightweight reliable broadcast assuming synchronized rounds RCD is used for singlehop collaborative feedback collection • Future work is to investigate synchronization free solutions to reliable broadcast 17 www.cse.buffalo.edu/~demirbas iComp 18 Our ongoing work: Lightweight singlehop collaboration • The idea is to use receiver-side collision detection (RCD) for lightweight singlehop collaborative feedback Applications in filtering false-positives, leader election, clustering, etc… • Pollcast: Does P hold for the neighborhood? Nodes where P holds answer simultaneously Initiator uses RCD to detect whether there are answers Initiator can followup with a broadcast 19 Generalization to counting • Initiator uses pollcasts to approximate # of nodes P holds Each node has a 0.5 probability of voting at each round & they only vote once in their lifetime Expected number of voters is halved in each round Expected number of such rounds for n nodes is logn • Bayesian inference is useful for categorizing the result Applications in in-network classification of intruders: soldier, car, tank 20 Assurance ? • poll + vote is enough for best-effort primitives, but how do we achieve reliable (or eventually reliable) primitives in the absence of synchronization, how do we decide whether poll is heard by all nodes in the neighborhood ? poll + veto + vote approach where a veto is sent following any RCD leads to veto storms channel reservation based approaches may be useful for reliability • Or, is it better to use the lightweight primitive and build assurance on top of this primitive ? if you stand back fast enough, no one notices you fell down 21