340 likes | 503 Views
“ Fault Tolerant Energy Aware Data Dissemination Protocol in Sensor Networks ” , in DSN ’ 04. ICS280 Lee, Kyoungwoo. SPMS. [Khanna, DSN04] Fault Tolerant Energy Aware Data Dissemination Protocol G. Khanna, S. Bagchi, and Y. Wu
E N D
“Fault Tolerant Energy Aware Data Dissemination Protocol in Sensor Networks”, in DSN ’04 ICS280 Lee, Kyoungwoo
SPMS • [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
SPMS - 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
SPMS Protocol zone of S • Initial phase • Zone Neighbors: nodes which lie within a node’s 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
SPIN 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 • F sends DATA to D A 2 B 2 DATA 3 S 1 ADV 1 3 5 1 ADV REQ DATA 2 REQ 3 2 C 1 REQ REQ D 4 5 8 1 ADV F 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 Ed2 • Reducing power level of transmission can cause a smaller level of MAC layer contention
SPMS 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
SPMS – Fault Tolerance C,F,& D interested in DATA and F fails • 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 zone of S A 2 B 2 S 1 3 5 1 ADV REQ DATA 2 Routing Table of D 9 3 REQ C 1 REQ REQ D 4 5 8 1 ADV F 7 6 ADV DATA 10 DATA
SPMS – 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 3 5 1 ADV REQ DATA 2 Routing Table of D 9 3 REQ C 1 REQ REQ D 4 5 8 1 ADV F 7 6 ADV DATA 10 DATA
SPMS – Fault Tolerance (cont’) C,F,& D interested in DATA and C&F 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 3 5 1 ADV REQ DATA 2 Routing Table of D 9 3 REQ C 1 REQ REQ D 4 5 8 1 ADV F 7 6 ADV DATA • SPMS keeps a pair of PRONE and SCONE Multiple SCONE can increase fault tolerance
SPMS – Energy Analysis • ESPIN = (A+D+R)*E1 + (A+D+R)*Er • ESPMS = k*A*E1 + k*(D+R)*Em + k*(A+D+R)*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 Ei>Ei+1: energy consumed per transmitted bit corresponding to the different transmission power levels • Er: energy required to receive the packet ADV A*E1 A*Er DATA D*E1 D*Er Src 1 2 3 k-1 Dest R*Er R*E1 REQ ESPIN ESPMS A*E1 D*Em, R*Em A*Er, D*Er, R*Er ADV ADV ADV ADV Src 1 2 3 k-1 Dest REQ REQ DATA DATA
SPMS – Energy Analysis (cont’) • ESPIN = (A+D+R)*E1 + (A+D+R)*Er • ESPMS = k*A*E1 + k*(D+R)*Em + k*(A+D+R)*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 Ed2 but it increases linearly in SPMS
SPMS – 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
SPMS - Conclusion • Fault-Tolerance • Maintain PRONE and SCONE at routing table • Select alternate if node fails • Energy-Efficiency • Multi-hop communicationsince Ed2 • End-to-end delay • Less delay due to less contention of MAC
Real measurement of lifetime of sensors in Habitat Application Lifetime in the single hop network Lifetime in the multi-hop network [Szewczyk, SENSYS04] R. Szewczyk, A. Mainwaring, J. Polastre, and D. Culler, “An Analysis of a Large Scale Habitat Monitoring Application” in SenSys 04 SPMS - 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
"Balancing Energy Efficiency and Quality of Aggregate Data in Sensor Networks", To Appear in the VLDB Journal Special Issue on Data Stream Processing, 2005
GaNC 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
GaNC & 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
GaNC • 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
TiNA • Reduce the size of data • 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 B C Group1 Group2 • Old = 20 • New = 25 • If TOLERANCE = 10%, • Transmit New • because (25-20)/21 > 0.1 D • Old = 20 • New = 21 • If TOLERANCE = 10%, • don’t Transmit New • because (21-20)/21 < 0.1 • Reduce the number • of messages
Synchronization 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 Sleep Sleep Listening B Sleep Listening Sending C Listening Sending Sleep D Sending Sleep Sleep
Synchronization 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 B C
Network 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 Li=Ls+1 • Sensor i sets Pi=Ids, then sets Ls=Li & Ids=Idi • 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 Li=Ls+1 • i sets Pi=Ids & PGi=Gs, then sets Ls=Li , Ids=Id, & 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
TiNA - algorithm • Algorithm • Leaf node • Report VNEW if VNEW violates tct s.t. |Vold-Vnew|/Vnew > 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: tct=10%) • 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
TiNA 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 didn’t 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
TiNA on top of TAG (cont’) • New = 6, Old = 5 and |6-5|/6 > 0.1, thus send New • Just add 11 to 6 and compares 17 (New) with 15 (Old), and |17-15|/17 > 0.0, thus send New partial aggregate value • |4.1-4|/4.1 < 0.1 thus suppress • Aggregate reading to partial (17+4=21) 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 > 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
TiNA 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
TiNA 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
Evaluation 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
Experiments • 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 tct=30%, only 24% but REM increases to 3.3% TiNA with TAG uses 86% of energy by TAG At tct=30%, only 74.9% but REM increases to 3.7% TiNA on TAG must listen for entire assigned time slot
Experiments (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 tct=0% (30%), the response time of TiNA on Cougar 60% (27%) of Cougar’s • The response times for TiNA on TAG are always same as the duration
Experiments –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
Experiments –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
Experiments – 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
Conclusion • 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