Transcript Document

Data Collection and
Dissemination
Learning Objectives
• Understand Trickle – an data dissemination
protocol for WSNs
• Understand data collection protocols in lowduty-cycled WSNs with unreliable links
Prerequisites
• Basic concepts of Computer Network
protocols
• Basic concepts of protocol optimization
Outline
• Data Dissemination
– Estrablishing eventual consistency on a shared
variable
– Trickle – Address single packet
• Data Collection
– DSF
Data Dissemination - Trickle
[Dissemination_1]
5
Simple Broadcast Retransmission
• Broadcast Storm Problem
– Redundant rebroadcasts
– Severe contention
– Collision
Trickle
• Motivation
– WSNs require network code propagation
• Challenges
– WSNs exhibit highly transient loss patterns,
susceptible to environmental changes
– WSNs network membership is not static
– Motes must periodically communicate to learn
when there is new code
• Periodical metadata exchange is costly
Trickle Requirement
• Low Maintenance
• Rapid Propagation
• Scalability
Trickle
• An algorithm for code propagation and
maintenance in WSNs
• Based on “Polite Gossip”
– Each node only gossip about new things that it has
heard from its neighbors, but it won’t repeat gossip
it has already heard, as that would be rude
• Code updates “trickle” through the network
Trickle
• Within a node time period
– If a node hears older metadata, it broadcasts the new data
– If a node hears newer metadata, it broadcasts its own
metadata (which will cause other nodes to send the new
code)
– If a node hears the same metadata, it increases a counter
• If a threshold is reached, the node does not transmit its metadata
• Otherwise, it transmits its metadata
Trickle – Main Parameters
• Counter c: Count how many times identical
metadata has been heard
• k: threshold to determine how many times
identical metadata must be heard before
suppressing transmission of a node’s metadata
• t: the time at which a node will transmit its
metadata. t is in the range of [0, τ]
Trickle Maintenance – One Example
• Assume
– No packet loss
– Perfect interval synchronization
• How to relax these assumptions?
[Dissemination_1]: Figure 3
12
Trickle – Impact of Packet Loss Rates
Trickle Maintenance without
Synchronization – Short Listen Problem
• Mote B selects a small t on each of its three intervals
– Although other motes transmit, mote B’s transmissions are never
suppressed
• The number of transmissions per intervals increases significantly
[Dissemination_1]: Figure 5
14
Trickle – Impact of Short Listen Problem
Solution to Short Listen Problem
• Instead of picking a t in the range [0, τ], t is
selected in the range [τ/2, τ]
Propagation
• Tradeoff between different values of τ
– A large τ
• Low communication overhead
• Slowly propagates information
– A small τ
• High communication overhead
• Propagate more quickly
• How to improve?
– Dynamically adjust τ
• Lower Bound τl
• Upper Bound τh
[Dissemination_1]: Section 5
17
Trickle Complete Algorithm
Data Collection
Data Collection
• Link-Quality based Data Forwarding
– Wireless communication links are extremely
unreliable
– ETX: to find high-throughput paths on multiple
• Sleep-Latency Based Forwarding
– Duty Cycling: sensor nodes turn off their radios
when not needed
• Idle listening waste much energy
[Collection_2]
20
Sleep Latency in Low Duty-Cycle Sensor
Networks
Sleep now. Wake
up in 57seconds
Sleep now. Wake
up in 35 seconds
D
B
35s latency
C
57s latency
A
13s latency
4s latency
E
Sleep now. Wake
up in 4 seconds
Sleep now. Wake
up in 13 seconds
[Collection_2]
21
Unreliable Radio Links
D
B
70%
90%
C
A
95%
50%
E
State-of-the-art Solutions: ETX
ETX only considers link
quality
ETX = 1/0.5 + 1/0.5 = 4
B
50%, 100s
50%, 100s
Expected E2E
qualitydelay
based
is 400s solutions
Sole link
cannot help
Areduce E2E delay in extremely low-duty cycle
D
Expected E2E
sensor networks!
delay is 50s
40%, 10s
40%, 10s
C
ETX = 1/0.4 + 1/0.4 = 5
State-of-the-art Solutions: DESS
DESS = 10 + 10 = 20s
B
DESS only considers
sleep latency
10%, 10s
10%, 10s
Expected E2E
is 200s solutions
latencydelay
based
Sole sleep
cannot help
D
A
reduce
E2E delayExpected
in extremely
low-duty
cycle
E2E
sensor networks!delay is 40s
100%, 20s
100%, 20s
C
DESS = 20 + 20 = 40s
End-to-End Delay vs. Duty Cycle
• Suppose one fixed forwarding node
– Suffer excessive delivery delays when waiting for
the fixed receiver to wake up again if the ongoing
packet transmission fails
End-To-End Delay vs. Average Link Quality
• Given bad link quality, the end to end delay increases
dramatically
Sensor States Representation
• Scheduling Bits
– (10110101)*
• Switching Rate
– 0.5HZ 16s round time
10110101
Off
On
Data Delivery Process
(1 0 0 0 0 0 0 0 0 0)*
(0 1 0 0 0 0 0 0 0 0)*
1
Sleep latency is 1
(0 0 0 1 0 0 0 0 0 0)*
2
Sleep latency is 2
3
(0 0 0 0 0 0 1 0 0 0)*
4
Sleep latency is 3
End to End (E2E) Delay is 6
Main Idea
Sleep latency is 1
We should
try a sequence of forwarding nodes
(0 1 0 0 0 0 0 0 0 0)* (0 0 0 1 0 0 0 0 0 0)* (0 0 0 0 0 0 1 0 0 0)*
instead of a fixed forwarding node!
(1 0 0 0 0 0 0 0 0 0)*
1
2
3
4
(0 0 1 0 0 0 0 0 0 0)*
Dynamic Switching-based
Forwarding
(DSF) is important
5
1st attempt: Sleep latency is 1
in extremely low duty-cycle
sensor networks.
nd ith attempt: Sleep latency is 1 + 10 * (i-1)
2
2nd attempt: Sleep latency is 1 + 1 =2
attempt: Sleep latency is 1 + 10 =11
Optimization Objectives
• EDR: Expected Delivery Ratio
• EED: Expected End-to-End Delay
• EEC: Expected Energy Consumption
Optimization
Objectives(1) : EDR
Forwarding Sequence
(1000)*
1
2
(0100)*
EDR = 70%
3
(0010)*
EDR = 80%
EDR: Expected Delivery Ratio.
60%
50%
40%
EDR for node 1 is (EDR1):
0.6*0.7 + (1-0.6)*0.5*0.8
+ (1-0.6)*(1-0.5)*0.4*0.9=0.652
4
(0001)*
EDR = 90%
See Equation (3)
Optimization
Objectives(2) : EED
Forwarding Sequence
(100000)*
1
60%
,2
50%
,3
40%
,5
2
(001000)*
EDR = 70%,
EED = 10
3
(000010)*
EDR = 80%,
EED = 12
4
(000001)*
EDR =
90%,
EED = 9
EED: Expected E2E Delay.
EED for node 1 is (EED):
0.6*1/0.7 * (2 + 10) + (1-0.6) *
0.5 * 1 /0.8 * (3 + 12) + (10.6)*(1-0.5)*0.4*1/0.9 * (5 + 9)
See Equation (4)
Optimizing EDR
Shall we try all available neighbors?
(100)*
2
100%
1
(010)*
EDR = 70%
If both node 2 and node 3 are selected
as forwarding nodes:
We should only choose
EDR1a=subset
1 * 0.7 =of0.7
neighboring nodes as forwarding nodes!
100%
3
(001)*
EDR = 80%
If only node 3 is selected as
forwarding node:
EDR1 = 1 * 0.8 = 0.8
Optimizing EDR with dynamic
programming
Try or skip
(100)*
1
2
60%
50%
(010)*
EDR = 70%
Try or skip
3
40%
Node 4 has to be selected
(001)*
EDR = 80%
Try or drop
4
Select only a subset of neighbors as
forwarders
(100)*
EDR = 90%
Then we attempt to add more nodes
into the forwarding sequence
backwardly.
Distributed Implementation
• EDRb(Ø) = 1
– The sink node has no packet loss
• EEDb(Ø) = 0
– The sink node has no delay
• EECb(Ø) = 0
– The sink node has no energy consumption
Distributed Implementation
EDR = 99%, EED = 15, EEC = 2
EDR = 98%, EED = 2, EEC = 1
1
3
EDR = 100%, EED = 0, EEC = 0
sink
2
EDR = 97%, EED = 20, EEC = 5
4
EDR = 90%, EED = 90, EEC = 12
Complete Protocol Implementation at Node e