300 likes | 419 Vues
Reliable Bursty Convergecast in Wireless Sensor Networks. Hongwei Zhang, Anish Arora Young-ri Choi, Mohamed Gouda. Thanks: Lites & ExScal teams. Application context. A Line in the Sand (Lites)
E N D
Reliable Bursty Convergecast in Wireless Sensor Networks Hongwei Zhang, Anish Arora Young-ri Choi, Mohamed Gouda Thanks: Lites & ExScal teams
Application context • A Line in the Sand (Lites) • field sensor network experiment for real-time target detection, classification, and tracking • A target can be detected by tens of nodes • Traffic burst • Bursty convergecast • Deliver traffic bursts to a base station nearby
Problem statement • Only 33.7% packets are delivered with the default TinyOS messaging stack • Unable to support precise event classification • Our objectives • Close to 100% reliability • Close to optimal event goodput (real-time) • Experimental study for high fidelity
Outline • Testbed • Limitations of two commonly used mechanisms • Protocol RBC • Experimental results • Concluding remarks
base station Network setup • Network • 49 MICA2s in a 7 X 7 grid • 5 feet separation • Power level: 9 (for 2-hop reliable communication range) • Logical Grid Routing (LGR) • It uses reliable links • It spreads traffic uniformly
Traffic trace from Lites • Packets generated in a 7 X 7 subgrid, when a vehicle passes across the middle of the Lites network • Optimal event goodput: 6.66 packets/second
Outline • Testbed • Limitations of two commonly used mechanisms • Protocol RBC • Experimental results • Concluding remarks
Retransmission based packet recovery • At each hop, retransmit a packet if the corresponding ACK is not received after a constant time • Synchronous explicit ack (SEA) • Explicit ACK immediately after packet reception • Shorter retransmission timer • Stop-and-wait implicit ack (SWIA) • Forwarded packet as an ACK • Longer retransmission timer
SEA • Retransmission does not help much, and may even decrease reliability and goodput • Similar observations when adjusting contention window of B-MAC and using S-MAC • Retransmission-incurred contention
SWIA • Again, retransmission does not help • Compared with SEA, longer delay and lower goodput/reliability • longer retransmission timer & blocking flow control • More ACK losses, and thus more unnecessary retransmissions
Outline • Testbed • Limitations of two commonly used mechanisms • Protocol RBC • Experimental results • Concluding remarks
Protocol RBC • Differentiated contention control • Reduce channel contention caused by packet retransmissions • Window-less block ACK • Non-blocking flow control • Reduce ack loss • Fine-grained tuning of retransmission timers
Window-less block ACK Non-blocking window-less queue management • Unlike sliding-window based black ACK, in order packet delivery is not considered • Packets have been timestamped • For block ACK, sender and receiver maintain the “order” in which packets have been transmitted • “order” is identified without using sliding-window, thus there is no upper bound on the number of un-ACKed packet transmissions
VQ0 1 2 high VQ1 3 4 5 occupied ID of buffer/packet VQM low VQM+1 empty 6 static physical queue ranked virtual queues (VQ) Sender: queue management M: max. # of retransmissions
empty queue buffer? Sender: gets a packet from an upper layer VQ0 1 2 VQ1 3 4 5 VQM VQM+1 6
2 Sender: transmits a packet 1, 2 VQ0 fresher 1 VQ1 3 4 5 earlier later order of transmission VQM older VQM+1 6
no loss = if no packet loss, expecting packet j i’= j some loss Receiver: loss detection i, j i i’
k’ Receiver: block ACK i j k i, k’ i, j i, i i, k ACK replication !
3 4 5 Sender: processes a block ACK 3, 5 VQ0 1 2 VQ1 VQM VQM+1 6
Differentiated contention control • Schedule channel access across nodes • Higher priority in channel access is given to • nodes having fresher packets • nodes having more queued packets
Implementation of contention control • The rank of a node j = M - k, |VQk|, ID(j) , where • M: maximum number retransmissions per-hop • VQk: the highest-ranked non-empty virtual queue at j • ID(j): the ID of node j • A node with a larger rank value has higher priority • Neighboring nodes exchange their ranks • Lower ranked nodes leave the floor to higher ranked ones
Fine tuning retransmission timer • Timeout value: tradeoff between • delay in necessary retransmissions • probability of unnecessary retransmissions • In RBC • Dynamically estimate ACK delay • Conservatively choose timeout value; also reset timers upon packet and ACK loss
Outline • Testbed • Limitations of two commonly used mechanisms • Protocol RBC • Experimental results • Concluding remarks
Event-wise • Retransmission helps improve reliability and goodput • close to optimal goodput (6.37 vs. 6.66) • Compared with SWIA, delay is significantly reduced • 1.72 vs. 18.77 seconds
Distribution of packet generation and reception • RBC • Packet reception smoothes out and almost matches packet generation • SEA • Many packets are lost despite quick packet reception • SWIA • Significant delay and packet loss
Breakdown of RBC RBC-NoDiffCtrl: RBC without Differentiated Contention Control • Contention control plays an increasingly important role as RT (thus channel contention) increases
Field deployment • A Line in the Sand (Lites) • ~ 100 MICA2’s • 10 X 20 meter2 field • Sensors: magnetometer, micro impulse radar (MIR) • ExScal • ~ 1,000 XSM’s, ~ 200 Stargates • 288 X 1260 meter2 field • Sensors: passive infrared radar (PIR), acoustic sensor, magnetometer
Outline • Testbed • Limitations of two commonly used mechanisms • Protocol RBC • Experimental results • Concluding remarks
Concluding remarks • With its unique traffic pattern and performance requirements, bursty convergecast • poses new challenges to error control • Non-blocking packet delivery • Retransmission scheduling • also offers opportunities • E.g., reorder-tolerance • Other applications • Continuous event convergecast • Data aggregation • to use explicit ack