1 / 36

SmartGossip: An Adaptive Broadcast Service for Wireless Sensor Networks

SmartGossip: An Adaptive Broadcast Service for Wireless Sensor Networks. Presented By Thomas H. Hand Duke University Adapted from: “ SmartGossip: An Adaptive Broadcast Service for Wireless Sensor Networks ” Pradeep Kyasanur (Google) Romit Roy Choudhury (UIUC) Indranil Gupta (UIUC).

clove
Télécharger la présentation

SmartGossip: An Adaptive Broadcast Service for Wireless Sensor Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SmartGossip: An Adaptive Broadcast Service for Wireless Sensor Networks Presented By Thomas H. Hand Duke University Adapted from: “SmartGossip: An Adaptive Broadcast Service for Wireless Sensor Networks” Pradeep Kyasanur (Google) Romit Roy Choudhury (UIUC) Indranil Gupta (UIUC)

  2. Statement of the Problem • Sensor Network Broadcasting • There are some sensor network applications that rely heavily on network-wide broadcasts • E.g. Alarms, code-updates • Goal: • Deliver one copy of the broadcast packet to each sensor in the network, while minimizing the number of transmissions • Task: • Create a protocol that will be able to efficiently broadcast a message to all nodes in the network, while minimizing number of transmissions

  3. Deterministic and Probabilistic Approaches • Deterministic Approach (Classical): • Try to solve the problem by assigning some subset of the network forwarding responsibilities • This leads to unfairness and unreliability • Unfairness – all of the work is placed on a few nodes • Unreliability – if some of these key nodes fail, then many packets will be lost and overall throughput will decrease • Probabilistic Approach (Gossip) • All nodes in the network must forward messages • Each node assigned a gossiping probability, pgossip • Choosing pgossip appropriately can lead to better network reliability and better load-balancing

  4. Static and Adaptive Gossiping • Must choose pgossip correctly • This depends on the network topology – e.g. number of nodes, node density, etc. • Pre-assigning a value to pgossip leads to inefficiency • In static gossip, all nodes are given the same gossip probability • We need a protocol that can adaptively control pgossip to result in high efficiency and reliability

  5. Past Static Gossip Methods • Adaptive Neighbor Method • Allow a node to choose its gossiping probability inversely proportional to the number of neighbors it has (Haas, et al.) • Adaptive Overhead Method • Allow node to choose its gossip probability based on the number of duplicate messages it receives (Levis, et al.) • Large number of duplicate messages means that many nodes depend on it

  6. Smart Gossip Introduction • Aim is to achieve an efficient, fair, and reliable protocol • In Smart Gossip, the importance of each node is quantified using an algorithm that takes into account network topology • This allows for network adaptation • Completely decentralized • Node Importance • The dissemination of a gossip message will rely more heavily on some nodes more than others • Smart Gossip can assign different gossip probabilities to different nodes based on the network conditions

  7. Smart Gossip Introduction Cont’d… • Promoting Fairness and Flexibility • Instead of having a predetermined subset of the network responsible for the broadcast, the load is shared by all nodes • The protocol can adapt to changing network conditions – gossip probability for each node is updated periodically

  8. How to Implement Smart Gossip … • Given some random network topology • How do we choose a suitable value of “p” ? • Even if network topology is homogeneous • It may change over time due to failure and mobility • Finally, what if topology is not known a priori ? • How can you choose “p” ?

  9. We Ask … • Given some topology deployment • How do we choose a suitable value of “p” ? • Even if topology is homogeneous • It may change over time due to failure and mobility Say computed p = 0.85

  10. We Ask … • Given some topology deployment • How do we choose a suitable value of “p” ? • Even if topology is homogeneous • It may change over time due to failure and mobility Fails Say computed p = 0.85

  11. 15% of packets will not reach these nodes We Ask … • Given some topology deployment • How do we choose a suitable value of “p” ? • Even if topology is homogeneous • It may change over time due to failure and mobility Say computed p = 0.85

  12. The Main Idea Behind Smart Gossip • Concept • Identify which of YOUR friends get to know gossip earlier than you do • Request those friends to gossip more • Friends who get to know gossip later than you will request you to gossip more • You choose your gossip probability as: • MAX value of all requests from YOUR friends

  13. Simple Example … • When H spreads a gossip • F gets gossip only from G • F asks G to always gossip • Thus, pG= 1.0 • B receives gossip from A,C,D,E,F • B also observes that A,C,D,E received gossip from F • Indicates that B must depend only on F; A,C,D,E and B are independent • B asks F to always gossip, thus pF = 1.0

  14. For Example … • B asks F to always gossip, thus pF = 1.0 • B does not require A,C,D,E to gossip at all • Thus pA = 0, pC = 0, pD = 0, pE = 0 Observe that only 2 transmissions (from G and F) are sufficient for broadcast

  15. Average Reception and Forwarding Percentages • Reliability Evaluation: • Average Reception Percentage: • Reception Percentage = % messages received • Average Recept. % = Recept. % averaged over all nodes • Overhead Evaluation: • Average Forwarding Percentage • Forwarding Percentage = % gossip messages forwarded • Average Fwd. % = Fwd. % averaged over all nodes

  16. Protocol Details • For first gossip pkt, nodes transmit with p=1 • Enables nodes to deduce neighbor dependences • Transmitters piggyback pkt with parent-id from which it received the pkt • Nodes record transmitter-id, and its parent-id, and deduce parent, child, sibling relationships …

  17. So What is the Parent I.D (pid)? • As mentioned previously, it is important for a node to establish neighbor dependences • Some nodes might completely rely on another node for the gossip, while other nodes might not • Header of each gossip message contains pid and required gossip probability field prequired • Each node maintains four sets: NeighborSet, ParentSet, SiblingSet, and ChildSet

  18. Establishing Neighbor Relationships • When a node received a gossip message, its relationship with the sender is established in the following way: • Node A receives a message from X with pid = Y 1. Add X to NeighborSet 2. If Y is not in NeighborSet, add X to ParentSet 3. If Y is in ParentSet, add X to SiblingSet 4. If Y is in SiblingSet, add X to ChildSet • Nodes in NeighborSet also exist in only one of the other 3 sets

  19. SA SA SA Parent = {A} Child = {A} Parent = {A} Deducing Relationships • Assume gossip sent by node i to node j • If parent (i)  Neighbor (j) • Parent ( j )  i S A B C E

  20. AB AB AB Parent = {A} Parent = {B} Child = {A} Child = {B} Parent = {A} Sibling = {B} Deducing Relationships • Assume gossip sent by node i to node j • If parent (i)  Neighbor (j) • Parent ( j )  i • If parent (i)  Neighbor (j) • If parent (i)  Parent (j), then Sibling ( j )  i • If parent (i)  Sibling (j), then Children ( j )  i • If parent (i)  Children (j), then Children ( j )  i S A B C E

  21. AE AE AE Parent = {A} Parent = {B} Child = {A} Child = {B} Parent = {A} Sibling = {B} Deducing Relationships • Assume gossip sent by node i to node j • If parent (i)  Neighbor (j) • Parent ( j )  i • If parent (i)  Neighbor (j) • If parent (i)  Parent (j), then Sibling ( j )  i • If parent (i)  Sibling (j), then Children ( j )  i • If parent (i)  Children (j), then Children ( j )  i S A B C E

  22. Parent = {A} Parent = {B,E} Child = {A} Child = {B,E} Parent = {A} Sibling = {B} Deducing Relationships • Assume gossip sent by node i to node j • If parent (i)  Neighbor (j) • Parent ( j )  i • If parent (i)  Neighbor (j) • If parent (i)  Parent (j), then Sibling ( j )  i • If parent (i)  Sibling (j), then Children ( j )  i • If parent (i)  Children (j), then Children ( j )  i Sibling = {E} S A B C E

  23. Choosing Probabilities • Each node calculates number of parents ( k ) • Assume 99% assurance necessary for gossip • Node suggests each parent to gossip using ‘p’: 0.99 = ( 1 – (1 - p)k ) • Each node receives multiple requests of ‘p’ • Uses Max { pi } as its own gossip probability S A B C Parent={B,E} E

  24. Choosing Probabilities • Each node calculates number of parents ( k ) • Assume 99% assurance necessary for gossip • Node suggests each parent to gossip using ‘p’: 0.99 = ( 1 – (1 - p)k ) • Each node receives multiple requests of ‘p’ • Uses Max { pi } as its own gossip probability p = 1.0 p = 1.0 p = 0.9 S A B C p = 0.9 p = 1.0 E

  25. Choosing Probabilities • Each node calculates number of parents ( k ) • Assume 99% assurance necessary for gossip • Node suggests each parent to gossip using ‘p’: 0.99 = ( 1 – (1 - p)k ) • Each node receives multiple requests of ‘p’ • Uses Max { pi } as its own gossip probability p = 1.0 p = 1.0 p = 0.9 p = 0 S A B C E p = 0.9

  26. Reliability • Node Failures • Node failures affect broadcast • Source node flags packet periodically (p=1) • Allows for updating dependences • Link Losses • Node requests upstream nodes to retransmit • We require each node to buffer few packets • Children overhear this request • Children do not request retransmissions themselves

  27. Wireless Losses • Resilience toward wireless losses necessary • If F does not get a packet, all its dependents will also not get it • Smart Gossip: • F requests its parents for missing pkt (seq # j) • F piggybacks { j } in following gossip packets • Nodes A,B,C,D,E do not request for packet j • They know that F is trying to retrieve it

  28. Performance Evaluation • Qualnet Simulator, version 3.7 • Metrics used • Average Reception Percentage • Average Forwarding Percentage • Resilience to link/node failures • Network Information • 100 randomly chosen topologies – 50 nodes each • Transmission range is 280 meters • Nodes placed in a 1000m2 square, located uniformly at random

  29. Performance Evaluation Continued • Smart Gossip Compared with Static Gossip • Compared with Adaptive Overhead and Adaptive Neighbor approaches • Topology Aware– minimum pgossip that meets the reliability needs of the network will be used • Topology Unaware– Uses one pgossip for ALL topologies tested

  30. Topology-Aware Static Gossip Results • Topology-Unaware Gossip: • Must choose p ~ 1 in order to satisfy reliability requirements for all topologies

  31. Average Forwarding Results For Static Gossip • Gossip overhead increases linearly with Gossip Probability • For some topologies, it may not be necessary to set p close to 1 • This adds overhead and sparks the need for an adaptive protocol

  32. Average Reception Percentage Comparisons Smart Gossip Adaptive Overhead Adaptive Neighbor

  33. Forwarding Overhead

  34. Adaptation to Node Failures

  35. Conclusion • Broadcast is an important problem • Gossip is good – but not practical for sensor nets • Need to adapt gossip based on topology / failures • Smart Gossip • Form dependence graphs using distributed protocol • Dependence relations suggest suitable probability • Results • Overheads are low, and yet good percolation • Robust to node and link failures

  36. The End

More Related