Title:
1Fault Tolerant Energy Aware Data Dissemination
Protocol in Sensor Networks, in DSN 04
2SPMS
- Khanna, DSN04 Fault Tolerant Energy Aware Data
Dissemination Protocol - G. Khanna, S. Bagchi, and Y. Wu
- Dependable Computing Systems Lab at Electrical
and Computer Engineering in Purdue Univ. - Fault Tolerant Energy Aware Data Dissemination
Protocol in Sensor Networks, in DSN 04
3SPMS - Overview
- Motivation
- Battery-powered sensor nodes
- Data implosion in sensor networks ? meta-data
negotiation from SPIN (Sensor Protocols for
Information via Negotiation) - Prone to link and node failures
- Problem
- How to disseminate data reducing
energy-consumption and end-to-end delay in the
face of node and link failures - Solution
- Each node maintains routes in the zone
- Data transfer in multiple hops using the lowest
energy level - Contribution
- Resilient to node and link failures
- Lower overall delay
- Energy efficient data dissemination protocol
4SPMS Protocol
zone of S
- Initial phase
- Zone Neighbors nodes which lie within a nodes
zone - Zone the region that a node can reach at the
maximum power level - Maintain a routing table for each of its zone
neighbors - Meta-data exchange phase
- Broadcast ADV (Advertise) to zone neighbors
- Send REQ (Request) to the source through the
shortest path - Directly to the source in SPIN and who is next
hop neighbor in SPMS - Indirectly to the source through multiple hops
- Data dissemination phase
- Transmit DATA to the destination in exactly the
same manner as the received REQ - Direct form the source to the destination if they
are next hop neighbors - Otherwise through multi-hop communication
A
2
Zone radius with Max Tx Power
B
2
S
5
1
3
C
D
1
1
F
Routing Table of S
Dest Cost Next Hop Neighbor
A 2 Yes
B 2 Yes
C 1 Yes
D 3 No
F 2 No
5SPIN vs. SPMS
C,D, F are interested in DATA and no failure
- SPIN
- S broadcasts ADV
- C,D, F sends REQ to S
- S sends DATA to C,D, F
- SPMS
- S broadcasts ADV
- D F check routing table
- D F start TADV waiting for F C to send ADV of
the same data - C sends REQ to S
- S sends DATA to C
- C broadcasts ADV
- F cancels TADV and starts TDAT
- D resets TADV
- F sends REQ to C
- C sends DATA to F
- F broadcasts ADV
- D cancels TADV and starts TDAT
- D sends REQ to F
A
2
B
2
DATA
3
S
1
ADV
1
5
3
1
ADV
REQ
DATA
2
REQ
3
2
C
D
1
REQ
REQ
4
5
8
1
F
ADV
7
6
ADV
DATA
9
DATA
zone of S
- Claim SPMS is better than SPIN in terms of
energy delay - Multi-hop communication with varying transmit
power levels can reduce energy since E?d2 - Reducing power level of transmission can cause a
smaller level of MAC layer contention
6SPMS Protocol for Fault Tolerance
- Main Idea
- Maintain alternate node in the routing table
- PRONE Primary Originator Node
- First choice node for requesting data from
- SCONE Secondary Originator Node
- Second choice to be used in case the PRONE is
unreachable - Algorithm
- Update PRONE and SCONE if closer node broadcasts
ADV - Send REQ to PRONE with timer
- Send REQ to SCONE if timer expires
- SPMS can tolerate
- Failure of the source node after its data has
been received by any of its neighbor nodes - Failure of any intermediate node
7SPMS Fault Tolerance
- CASE 1 F fails before broadcasting ADV
- S broadcasts ADV
- D F check routing table and update PRONE and
SCONE - D F start TADV waiting for F C to send ADV of
the same data - C sends REQ to S
- S sends DATA to C
- C broadcasts ADV
- F cancels TADV and starts TDAT
- D resets TADV and updates PRONE and SCONE
- F may send or not REQ to C
- C may send or not DATA to F
- F can not broadcast ADV
- TADV of D expires
- TDAT of D starts
- D sends REQ to C through F
- TDAT of D expires since F fails
- D sends REQ to C (PRONE) directly using higher
Transmit Power - C sends DATA to D directly
C,F, D interested in DATA and F fails
zone of S
A
2
B
2
S
1
5
3
1
ADV
REQ
DATA
2
Routing Table of D
9
3
REQ
C
Dest Cost Next Hop Neighbor
S 3 No
C 2 No
F 1 Yes
D
1
REQ
REQ
4
5
8
1
F
ADV
7
6
ADV
DATA
10
DATA
PRONE SCONE
S S
PRONE SCONE
S S
C S
8SPMS Fault Tolerance (cont)
C,F, D interested in DATA and F fails
- CASE 2 F fails after broadcasting ADV
- S broadcasts ADV
- D F check routing table and update PRONE and
SCONE - D F start TADV waiting for F C to send ADV of
the same data - C sends REQ to S
- S sends DATA to C
- C broadcasts ADV
- F cancels TADV and starts TDAT
- D resets TADV and updates PRONE and SCONE
- F sends REQ to C
- C sends DATA to F
- F broadcasts ADV and fails
- TDAT of D starts
- D sends REQ to F
- TDAT of D expires since F fails
- D regards F dead and TDAT for C starts
- D sends REQ to C (SCONE) directly using higher
Transmit Power - C sends DATA to D directly
zone of S
A
2
B
2
S
1
5
3
1
ADV
REQ
DATA
2
Routing Table of D
9
3
REQ
C
Dest Cost Next Hop Neighbor
S 3 No
C 2 No
F 1 Yes
D
1
REQ
REQ
4
5
8
1
F
ADV
7
6
ADV
DATA
10
DATA
PRONE SCONE
S S
C S
PRONE SCONE
S S
C S
F C
9SPMS Fault Tolerance (cont)
C,F, D interested in DATA and CF fail
- CASE 3 F and C fail
- S broadcasts ADV
- D F check routing table and update PRONE and
SCONE - D F start TADV waiting for F C to send ADV of
the same data - C sends REQ to S
- S sends DATA to C
- C broadcasts ADV
- F cancels TADV and starts TDAT
- D resets TADV and updates PRONE and SCONE
- F sends REQ to C
- C sends DATA to F
- F broadcasts ADV and F C fail
- TDAT of D starts
- D sends REQ to F
- TDAT of D expires since F fails
- D regards F dead and TDAT for C starts
- D sends REQ to C (SCONE) directly using higher
Transmit Power - ? What if C and F all fail?
zone of S
A
2
B
2
S
1
5
3
1
ADV
REQ
DATA
2
Routing Table of D
9
3
REQ
C
Dest Cost Next Hop Neighbor
S 3 No
C 2 No
F 1 Yes
D
1
REQ
REQ
4
5
8
1
F
ADV
7
6
ADV
DATA
PRONE SCONE
F C
- SPMS keeps a pair of PRONE and SCONE ? Multiple
SCONE can increase fault tolerance
10SPMS Energy Analysis
- ESPIN (ADR)E1 (ADR)Er
- ESPMS kAE1 k(DR)Em k(ADR)Er
- (k-1) relay nodes from the source to the
destination - A size of ADV
- D size of DATA
- R size of REQ
- E1, E2, , Em
- where EigtEi1 energy consumed per transmitted
bit corresponding to the different transmission
power levels - Er energy required to receive the packet
ADV
AE1
AEr
DATA
DE1
DEr
Src
Dest
1
2
3
k-1
REr
RE1
REQ
ESPIN
ESPMS
AE1
DEm, REm
AEr, DEr, REr
ADV
ADV
ADV
ADV
Src
Dest
1
2
3
k-1
REQ
REQ
DATA
DATA
11SPMS Energy Analysis (cont)
- ESPIN (ADR)E1 (ADR)Er
- ESPMS kAE1 k(DR)Em k(ADR)Er
- Ratio of Energy (SPIN/SPMS) ESPIN/ESPMS
- (Observation)
- Higher radius of transmission indicates higher
distance from the source to the destination - In SPIN, the energy overhead increases
exponentially since E?d2 but it increases
linearly in SPMS
12SPMS Energy Experiments
- Assumptions
- Sensor field with uniform density of nodes
- Power level 3.1622, 0.7943, 0.1995, 0.05, and
0.0125 mW taken from Berkeley MICA2 - Distance 91.44, 45.72, 22.86, 11.28, and 5.48 m
- The maximum number of the zone is six
- Size of DATA 40 bytes
- Size of REQ and ADV 2 bytes
- All-to-all communication each node generates 10
new packets and every node is interested in them
- (Observation)
- SPMS saves 26 42 of energy compared to SPIN
- SPMS outperforms SPIN with increases of the
number of nodes and radius of transmission
13SPMS - Conclusion
- Fault-Tolerance
- Maintain PRONE and SCONE at routing table
- Select alternate if node fails
- Energy-Efficiency
- Multi-hop communication since E?d2
- End-to-end delay
- Less delay due to less contention of MAC
14SPMS - Discussion
- Single-hop vs. multi-hop transmission
- Depends on application
- Increase fault-tolerance using multiple SCONEs
- Increase sleep time and decrease delay when the
multiple failures occur
15" Balancing Energy Efficiency and Quality of
Aggregate Data in Sensor Networks", To Appear in
the VLDB Journal Special Issue on Data Stream
Processing, 2005
16GaNC and TiNA
- Sharaf, VLDB05 GaNC and TiNA
- M. A. Sharaf, J. Beaver, A. Labrinidis, and P. K.
Chrysanthis - Dependable Computing Systems Lab at Computer
Science in Univ. of Pittsburgh - Balancing Energy Efficiency and Quality of
Aggregate Data in Sensor Networks, in VLDB 05 - Propose group-aware network configuration method
(GaNC) and a framework to use temporal coherency
tolerances (TiNA) to provide significant energy
savings and a negligible drop in quality of data
17GaNC TiNA - Overview
- Motivation
- Further energy savings in the context of
In-network aggregation - Goal
- Reduce the size of transmitted data
- Minimize the number of transmitted messages
- Without significant QoD
- Solution
- GaNC can reduce the size of transmitted data
- TiNA can minimize the number of transmitted
messages as well - Contribution
- Propose enhanced network configuration scheme
- Provide a framework on top of existing in-network
configuration
18GaNC
- Group-Aware Network Configuration method
- Observation
- The length of messages sent depends on the number
of groups in the routing subtree - Idea
- Reduce the number of groups to reduce the length
of messages - ?Group-aware Network Configuration
- Cluster along the same path sensor nodes that
belong to the same group - Consider semantics of the query and properties of
sensor nodes - Reduce the size of transmitted data
A
B
C
Group1
Group2
A
B
C
Group2
Group2
19TiNA
- Temporal coherency-aware In-Network Aggregation
- Goal
- Reduce the size of transmitted data
- Minimize the number of transmitted message
- Idea
- Exploit temporal correlation in streams of sensor
readings - Suppress insignificant readings
- Potentially allow nodes to switch to sleep mode
- Work on top of existing in-network aggregation
- Introduce TOLERANCE for temporal coherency
tolerance
A
C
B
Group1
Group2
- Old 20
- New 25
- If TOLERANCE 10,
- Transmit New
- because (25-20)/21 gt 0.1
D
- Old 20
- New 21
- If TOLERANCE 10,
- dont Transmit New
- because (21-20)/21 lt 0.1
- Reduce the number
- of messages
20Synchronization in TAG
- TAG
- Divide a given DURATION into Communication Slots
- Duration of each Communication Slot DURATION/d
- where d number of slots maximum depth of
routing tree - Provide a query result every Epoch DURATION
- During a given Communication Slot, one level (A)
sending and another level (B) listening - At the next Communication Slot, A goes to sleep
mode and B sending (C may be listening)
A
B
d (depth) 3
C
D
1
2
3
A
Listening
Sleep
Sleep
B
Listening
Sending
Sleep
C
Listening
Sending
Sleep
D
Sending
Sleep
Sleep
21Synchronization in Cougar
- Cougar
- Pragmatic approach
- Algorithm
- In a certain round, A adds C to its waiting list
if A receives data from C - In the following rounds, A waits to hear from all
nodes in the waiting list - To prevent indefinite waiting, each node
transmits reading or notification - Reduce response time for uncongested network
waiting_list B ? B,C
A
C
B
22Network Configuration Method
- First-Head-From Network Configuration
- Based on network proximity
- Algorithm
- Root sensor prepares query msg with query spec.
Ls and broadcasts - Sensor i receives msg sets LiLs1
- Sensor i sets PiIds, then sets LsLi IdsIdi
- Steps 2) 3) repeated
- Group-aware Network Configuration
- Keep members of the same group within same path
- Algorithm
- Root prepares query msg with query spec. Ls, Gs
and broadcasts - i receives msg sets LiLs1
- i sets PiIds PGiGs, then sets LsLi , IdsId,
Gs Gi - i continues to listen
- Tie-breaker conditions to select better parent
- Steps 2) to 5) repeated
- Main Difference GaNC can switch to a better
parent - First tie-breaker the same group ID preferred
- ?same group can reduce size of msg
- Second tie-breaker the lower distance preferred
- ?closer parent saves tx energy
23TiNA - algorithm
- Algorithm
- Leaf node
- Report VNEW if VNEW violates tct s.t.
Vold-Vnew/Vnew gt tct - Internal node
- Collect the data from children
- Compute the partial result
- Take its own reading which can be aggregated
within a group already exists in the partial
result regardless of tct - If a new group, the reading is only added when
violating tct - Compares an OLD partial result with the NEW
partial with tct 0
- Main Idea
- Use temporal correlation in a sequence of sensor
readings by suppressing insignificant readings - TOLERANCE clause in SQL
- TOLERANCE tct (eg tct10)
- Specify the temporal coherency tolerance for the
query - Output filter
- Only report readings differing from the last
reported readings by more than 10 - Information to utilize TOLERANCE
- Leaf node keep the last reported reading
- Internal last reported data from each child as
well
24TiNA on top of TAG
- Use the predefined communication slots for
sending and listening - When communication slot expires, parent checks
and takes the last reported data for each child
it didnt heard from - Representation
- Circles nodes
- Arrows the flow of data
- Boxes current state
- Old last reported reading
- New current reading
- Table previously reported partial result
- Cost the size of table
- Every reading is sent from child to parent
25TiNA on top of TAG (cont)
- New 6, Old 5 and 6-5/6 gt 0.1, thus send New
- Just add 11 to 6 and compares 17 (New) with 15
(Old), and 17-15/17 gt 0.0, thus send New
partial aggregate value - 4.1-4/4.1 lt 0.1 thus suppress
- Aggregate reading to partial (17421) and
compares it with Old (21), it suppresses since no
change
- Algorithm
- Leaf node
- Report VNEW if VNEW violates tct s.t.
Vold-Vnew/Vnew gt tct - Internal node
- Collect the data from children
- Compute the partial result
- Take its own reading which can be aggregated
within a group already exists in the partial
result regardless of tct - If a new group, the reading is only added when
violating tct - Compares an OLD partial result with the NEW
partial with tct 0
- Less number of sent messages
26TiNA on top of Cougar
- In Cougar, parents wait to hear from all their
children - Send heartbeat message notification when it can
tolerate the quality
notify
notify
- Energy saving by sending notification
- Packet instead of data packet with
- Respect to size of message
27TiNA with GaNC
- Presentation
- Circles nodes
- Groups Blue or not
- Boxes New data (violating tct)
- Value difference b/w New Old
- m transmission of a message
- of unit size
- Further energy saving
- Reduce total size of messages
- Reduce total number of messages
Complementary data (5 -5) cancel each other ?
save transmission
Totally 5 messages sent total size of messages
is 6
Totally 4 messages sent total size of messages
is 4
28Evaluation by simulation
- Energy, REM (Relative Error Metric), and Response
Time - Energy
- 4 main activities
- Txing, Listening,
- Sampling, Processing
- Parameters for Txing Rxing
- Sensor operates 3 volts
- Data rate 40 Kbps
- Tx current 0.012 Amp
- Rx current 0.0018 Amp
- Tcost 3 V 0.012 A 1/40,000 sec 0.9
uJoules - Energy consumption for one bit transmission
- Rcost 3 V 0.0018 A 1 sec 0.0054 Joules
- Listening for one second
- Independent of number of messages
29Experiments
- Sensitivity to temporal coherency tolerance
- Measure Energy, REM, response time for TiNA vs.
for Cougar and TAG varying tct - Tradeoff between Energy Saving and REM
TiNA with Cougar uses 56 of energy by Cougar At
tct30, only 24 but REM increases to 3.3
TiNA with TAG uses 86 of energy by TAG At
tct30, only 74.9 but REM increases to
3.7 TiNA on TAG must listen for entire assigned
time slot
30Experiments (cont)
- Sensitivity to temporal coherency tolerance (2)
- Tradeoff between energy saving and response time
- The time to hear from all children decreases
- TiNA can send Notification instead of readings
within tct - For tct0 (30), the response time of TiNA on
Cougar 60 (27) of Cougars - The response times for TiNA on TAG are always
same as the duration
31Experiments Energy vs. Duration Scalability
The amount of energy increases with an
increase of Duration in TAG ?more sensors can
send readings as Dur increases
Energy consumption increases with an increase of
number of sensors in Cougar ?Energy saving
increases as network increases
32Experiments Energy Effect of GaNC
- GaNC can save energy in sensor network for the
most part (positive effect) - ?GaNC can reduce the size of transmitted message
- The energy savings of GaNC over FHF decreases
- as tct increases (negative effect)
- ?Some nodes switch to parents in the same group
- (switching parents can cause more messages sent)
For larger network, positive effects outweigh
negative Effects. As tct increases, less nodes
transmitting
33Experiments TiNA with GaNC vs. number of groups
AT the small group (eg. 5), GaNC consumes
significantly (41,38,37) ?children nodes can
select parents in the same group as them At the
large group (eg. 50), not reduce dramatically
(12, 10,9) ?less chances that children can
find parents in the same group
34Conclusion
- GaNC (Group-aware Network Configuration)
- Consider semantics of the query and properties of
sensor nodes - Reduce the size of transmitted data
- TiNA (Temporal coherency-aware in-Network
Aggregation) - Temporal correlation in conjunction with
in-network aggregation - Minimize the number of transmitted messages
- Decrease the size of transmitted data
- Significant energy saving while negligible drop
in Quality of Data - TiNA can reduce power consumption for
communication by up to 60 and extend the life by
up to 270 - Additional 33 of energy can be saved by
incorporating the GaNC with TiNA