smartgossip: an adaptive broadcast service for wireless sensor networks
DESCRIPTION
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). - PowerPoint PPT PresentationTRANSCRIPT
1
SmartGossip: An Adaptive Broadcast Service for Wireless Sensor
Networks
Presented By Thomas H. HandDuke 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
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
15% of packetswill not reach these nodes
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 NeighborSet2. If Y is not in NeighborSet, add X to ParentSet3. If Y is in ParentSet, add X to SiblingSet4. If Y is in SiblingSet, add X to ChildSet
•Nodes in NeighborSet also exist in only one of the other 3 sets
19
Deducing Relationships
Assume gossip sent by node i to node j If parent (i) Neighbor (j)
•Parent ( j ) i
S A B C
E
SASASA Parent = {A}
Parent = {A}
Child = {A}
20
Parent = {A}
Parent = {A}
Child = {A}
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
ABABAB
Sibling = {B}
Child = {B} Parent = {B}
21
Parent = {A}
Parent = {A}
Child = {A}
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
EAEAE
Sibling = {B}
Child = {B} Parent = {B}
AE
22
Parent = {A}
Parent = {A}
Child = {A}
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
Sibling = {B}
Child = {B,E} Parent = {B,E}
Sibling = {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
E
Parent={B,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
S A B C
E
p = 0.9
p = 0.9p = 1.0
p = 1.0p = 1.0
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
S A B C
E
p = 0
p = 0.9
p = 0.9p = 1.0p = 1.0
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