Presentation is loading. Please wait.

Presentation is loading. Please wait.

SmartGossip: A Reliable Broadcast Service for Wireless Sensor Networks

Similar presentations


Presentation on theme: "SmartGossip: A Reliable Broadcast Service for Wireless Sensor Networks"— Presentation transcript:

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


Download ppt "SmartGossip: A Reliable Broadcast Service for Wireless Sensor Networks"

Similar presentations


Ads by Google