Download presentation
Presentation is loading. Please wait.
Published byJennifer Pope Modified over 6 years ago
1
SmartGossip: A Reliable Broadcast Service for Wireless Sensor Networks
Romit Roy Choudhury Dept. of ECE, Duke University Joint work with Pradeep Kyasanur (Google) Indranil Gupta (UIUC)
2
Problem Broadcast in Sensor Networks A widely used service
Network layer functions heavily depend on it Examples: Directed Diffusion Unicast or multicast routing Instruction / code dissemination Query propagation
3
Approaches Several approaches evolved over time Complex algo Broadcast
Storm Single point of failures Load Balance Dominating sets Flooding Multi-point relays Gossiping
4
Recent Past Gossiping = Probabilistic flooding
Nodes forward with probability, p Source
5
Recent Past Gossip based broadcast Nodes forward with probability, p
Tails Source Heads
6
Recent Past Gossip based broadcast Nodes forward with probability, p
Tails Source Heads
7
Recent Past Gossip based broadcast Nodes forward with probability, p
Tails Source Heads Heads
8
Recent Past Gossip based broadcast Nodes forward with probability, p
Tails Source Heads Heads
9
Recent Past Gossip based broadcast Nodes forward with probability, p
Tails Tails Source Heads Heads Heads Tails
10
Recent Past Gossip based broadcast Nodes forward with probability, p
Tails Tails Source Heads Heads Heads Tails
11
Recent Past Gossip based broadcast Nodes forward with probability, p
Tails Tails Tails Source Heads Heads Heads Heads Tails
12
Recent Past Gossip based broadcast Nodes forward with probability, p
Tails Tails Tails Source Heads Heads Heads Heads Tails
13
Recent Past Gossip based broadcast Nodes forward with probability, p
Tails Tails Tails Source Heads Heads Heads Heads Heads Tails Tails
14
Recent Past Gossip based broadcast Nodes forward with probability, p
Tails Tails Tails Source Heads Heads Heads Heads Heads Tails For carefully chosen ‘p’ the message reaches all nodes in minimal transmissions 1. Simple, 2. Fault tolerant 3. Load-balanced Tails
15
We Ask … Given some topology deployment
How do we choose a suitable value of “p” ? One option is to simulate the gossip offline, and determine “p” But, for this example, simulation result will be p = 1
16
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
17
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
18
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
19
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 15% of packets will not reach these nodes Say computed p = 0.85
20
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 Finally, what if topology is not known a priori ? How can you choose “p” ?
21
We Argue … A broadcast service necessary
that customizes itself to the underlying topology and repairs itself with failures and mobility
22
Smart Gossip Intuition
Identify which of YOUR friends get to know gossips earlier than you do Request those friends to gossip more Friends who get to know gossips later than you will request you to gossip more You choose your gossip probability as: MAX value of all requests from YOUR friends
23
For 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 (parent) A,C,D,E and B are independent (siblings) B asks F to always gossip, thus pF = 1.0
24
For Example … B asks F to always gossip, thus pF = 1.0
B does not require siblings 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
25
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 … … see next slide
26
Deducing Relationships
SA SA SA Parent = {A} Child = {A} S A B C E
27
Deducing Relationships
Parent = {A} Child = {A} S A B C Sibling = {B} Child = {B} Parent = {B} AB AB AB E
28
Deducing Relationships
Parent = {A} Child = {A} S A B C Sibling = {B} Child = {B} Parent = {B} AE AE AE E
29
Deducing Relationships
Sibling = {E} Parent = {A} Child = {A} S A B C Sibling = {B} Child = {B,E} Parent = {B,E} E
30
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
31
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
32
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
33
The Bigger Picture Src
34
Reliability (Details in paper)
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
35
Evaluation Qualnet Simulator, ver 3.7 Metrics used
Average Reception Percentage Average Forwarding Percentage Resilience to link/node failures
36
Percolation Smart Gossip Adaptive Overhead Adaptive Neighbor
37
Forwarding Overhead
38
Adaption to Node Failures
Nodes gossip more to compensate for other failing nodes
39
Conclusion Broadcast is an important problem Smart Gossip Results
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
40
Questions?
41
Protocol Details For first gossip pkt, nodes forward with p=1
This is to let nodes deduce topology dependences When forwarding, node A piggybacks the packet with parent-id from which it received the gossip If parent-id of received packet is a neighbor of B S AS A A S A B C
42
Percolation Smart Gossip Adaptive Overhead Adaptive Neighbor
43
Deducing Relationships
Assume gossip sent by node i to node j If parent (i) Neighbor (j) Parent ( j ) i SA SA SA Parent = {A} Child = {A} S A B C E
44
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 Parent = {A} Child = {A} S A B C Sibling = {B} Child = {B} Parent = {B} AB AB AB E
45
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 Parent = {A} Child = {A} S A B C Sibling = {B} Child = {B} Parent = {B} AE AE AE E
46
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} Parent = {A} Child = {A} S A B C Sibling = {B} Child = {B,E} Parent = {B,E} E
47
Robustness Nodes/Links fail with time
Topology changes Gossip probabilities need to be revised Gossip source periodically sets flag in packet All nodes use p=1 for flagged packets
48
Wireless Losses Resilience toward wireless losses necessary
If F does not get a packet, all its dependents will also not get it SmartGossip: 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.