Sunteți pe pagina 1din 51

Broadcasting

in ad hoc and sensor networks

Broadcasting - applications
Alarm signal
Route discovery in non-GPS routing
Paging
Destination search in GPS routing:
- Source S broadcasts short message that will search for
destination D
- Destination D will route back to S with a short message
location report
- S will route full message to D

Location updates for routing, geocasting,

Broadcast storm problem


Broadcast is spontaneous and frequently unreliable
Acknowledgement mechanism is rarely used as it may

cause serious medium contention


Mobile hosts can detect duplicate broadcast messages
If flooding is used blindly, many redundant messages

will be sent and serious contention/collision will be


incurred
Hidden terminal problem:
A
B
collision at C
C

Criteria for broadcasting protocols

Counting retransmissions or minimum total energy ?


Centralized vs. localized decisions ?
Average or worst case performance analysis ?
Localized maintenance or chain effect ?
Deterministic or stochastic decisions ?
Guaranteed delivery ?
Set of transmitting nodes depends on source?
yes / no (stable sets allow scheduling active periods)
# of messages between neighbors ? Few ? O(degree) ?
Assumptions about local knowledge:
1-hop neighbors, 1-hop neighbors + degree of neighbors,
location of 1-hop neighbors, 2-hop neighbors

Classes of Broadcasting Algorithms


Probability based methods
Probabilistic scheme, counter-based scheme

Area based methods


Distance based

Neighbor knowledge methods

Flooding with self pruning


Scalable broadcast
Dominant pruning
Multipoint relaying

Probabilistic Scheme (Prob. Based)


This works similar to flooding.
Nodes rebroadcast with a predetermined probability.
Impacts of network density

Tx with probability p

Dense networks: multiple nodes share similar transmission


coverage areas. ( some nodes need not retransmit.)
Sparse networks: there is much less shared coverage. The
probability parameter needs to be high.

Counter-based Scheme (Prob. Based)


Observation
There exists an inverse relationship between the number of
times a packet is received at a node and the probability of the
node reaching additional area.
Prob(reaching additional area) = k. 1/#of copies received

Protocol: (when a new packet is received)


Initialize: Counter = 1 and RAD = random(0, Tmax)
Decision based on RAD
RAD not expired: Counter++ for each redundant packet received.
RAD expires: If Counter < Threshold, rebroadcast the packet;
else, drop the packet

Advantages: Simplicity, adaptability to local topology

Area-based Methods
Observation
If a receiving node is very close to the sender
The additional area covered by the receiver is very small.

If a receiving node is farthest from the sender, the


additional area covered by the receiver is large.

Idea: A node can evaluate additional coverage area


based on all received redundant packets.

Area Based Beaconless Reliable Broadcasting


in Sensor Networks
(Ovalle-Martnez, Nayak, Stojmenovi, Carle, Simplot-Ryl 2006)

Each sensor know its own geographic position but


has no knowledge of existing neighbors: beaconless
Algorithm is localized
Reliable = guaranteed delivery if MAC layer is ideal
Average case performance

ABBA: main idea


no retransmission iff circle (perimeter suffices) covered by previous
retransmissions

2D ABBA protocol
After receiving the first copy of message, node decides
about waiting period and evaluates coming transmissions
At end of timeout, if its circle is not fully covered, it
retransmits. Otherwise it remains silent.
Timeout can de decided in different ways: at random, or
based on portion of covered perimeter etc.

Distance-based Scheme
Protocol (when a new packet is received)
Initiate a RAD.
Decisions based on RAD
RAD has not expired: Cache all redundant packets.
RAD expires: examine the locations of all senders
of the redundant packets:
If the distance between this node and any node (from
above) is less than a threshold, drop the packet.
Else, retransmit the packet.

Neighbor Knowledge Methods


Flooding with self-pruning
Scalable broadcast algorithm (SBA)
Dominant pruning
Multipoint relaying

Flooding with self-pruning


Self-pruning a receiving node decides whether or not
to further send the packet
Protocol (each node knows its 1-hop neighbors)
Sender: Includes its 1-hop neighbors in packet header before
(re)transmitting.
Receiver: (when a new packet is received)
Compare own neighbor list with the senders.
If the receiving node would not reach any additional nodes,
drop the packet. Else, retransmit.

Scalable Broadcast Algorithm (SBA)


Protocol
Sender (say, A): (Re)transmits a packet (no neighbor
info)
Receiver (say, B): A new packet is received
B knows all its neighbors common to A that have received
the packet. via hello packets.
B starts a RAD (adjusted dynamically).
- For each redundant packet, find if B can reach more
nodes by retransmitting the packet.
- RAD expires: Retransmit, if B can reach more nodes.

SBA (contd.)
Dynamic adjustment of RAD
RAD is proportional to (dNmax/dme) , where
dNmax is the max neighbor degree among all neighbors.
dme is the nodes neighbor degree.

Idea: Nodes with most neighbors usually broadcast


before the others.

Dominant Pruning
Assumption: Nodes know their 2-hop neighbors.
(Unlike SBA) Rebroadcasting nodes proactively choose
some/all of their 1-hop neighbors as rebroadcasting nodes.

Packet received

Chosen by
to retransmit

Dominant Pruning (Contd.)


Protocol: when a (new) packet is received
Check if the header contains the address of this node:
No: Do not retransmit
Yes: - Compute the subset of neighbors that should
retransmit.
- Include those nodes in the packet header and
retransmit the packet.

Identification of neighbors who will retransmit


Identify some 1-hop neighbors such that all (not just
remaining) 2-hop neighbors will be covered.

Multipoint Relaying
Similar to Dominant Pruning
Forwarding nodes are chosen by upstream senders.
Forwarding nodes are called multipoint relays (MRPs).

Different from Dominant Pruning


MRPs are included in Hello packets.
Hello packets trigger packet retransmissions.

Computation of MRPs
1. Initialize: MRP = {one 1-hop neighbor}.
2. Determine the 2-hop neighbors that are reachable via the MRP set.
3. Identify a new 1-hop neighbor that will cover most of the uncovered
2-hop neighbor, and add it to MRP.
4. Repeat steps 2-3 until all 2-hop neighbors are covered.

Multipoint Relaying (Contd.)


Protocol
Nodes transmit Hello(MRP) packets from time to
time.
When a node receives a Hello(MRP) packet, it
checks if it is a member of the MRP set.
Yes: the node retransmits all data packets received from
that source.
No: Do not forward packets.

Note: frequency of Hello packets affect delay


performance.

Broadcasting via clustering


3

Lowest ID clustering

(Lin, Gerla 1997)

11
10

Clusterheads: 1,6,7,11
Borders: 2,5,8,9,10
Maintenance overhead

Broadcasting:
Clusterheads and borders retransmit:
9 out of 11 nodes (one-to-all)

Lowest ID clustering

first cluster
(Lin, Gerla 1997)

11
10

Clusterhead = lowest ID among undecided neighbors

next?

Lowest ID clustering
3

second and third clusters

11
10

next ?

Lowest ID clustering
3

fourth cluster

11
10

Improved clustering for broadcasting


Garcia, Solano, Stojmenovic 2003

G
B

ConID = (degree, id)


Clusterheads = higher degree nodes, lower id if degrees are same
Clusterheads: A, B; Border: G - Retransmission by 3 out of 11 nodes

Broadcasting using Dominating Set


CDSs have many advantages in network
applications such as ease of broadcasting
Broadcasting by retransmitting from nodes (dominators)
in the CDS
Each node receives the message if retransmissions are
collision-free
It is a form of deterministic broadcasting (counting
retransmissions).

Stochastic Flooding Broadcast


4 schemes (Cartigny, Simplot and Carle 2002):
Probability p for retransmitting is inversely proportional
to local density
p increases with the distance, in favor of nodes at the
border of senders. Distance between two nodes is
evaluated by comparing their neighbor lists
p depends on both local density and distance
Plus neighbor elimination is applied: no retransmission if
no neighbor exists that did not hear the same message already

Neighbor Elimination
G

Wait and see whether someone


else will do the job
Does A transmit after B and C?

B retransmits A eliminates E and B


C retransmits A eliminates F and C
Timeout at A expires
A retransmits because of G

August 2000: independently by


Stojmenovic, Seddigh
Peng, Lu
Lim, Kim

Waiting time proportional to 1/(# of


uncovered neighbors)
Dynamic timeout adjustment with
more neighbors covered

Neighbor Elimination (example)


Higher degree (uncovered neighbors only) shorter timeout
Key= (timeout, ID)

1/1

Timeout= 1/(# uncovered neighbors)

11
7

1/2 2

6
1/3
3

10

12
1

1/3

4
14

S= source, timeouts after transmission of S

13

NE Example (contd.)
1 is not aware that 9 was covered already and vice versa
1/1-1/3

10

11
7

1/1-1/3
6

12
1

1/1

4
1/3
14

13

4= first retransmission, timeouts after transmission by 4

NE Example (contd.)
Node 7 is not aware that 10 received the message
1/1-1/3

10

11
1/3

1/1-1/3
6

12
5

1
1/1

1/2

4
1/1
14

13

9= second retransmission, timeouts after transmission by 9

NE Example (contd.)
10

11
7

1/1-1/3-1/3
2

12
1

1/1-1/3

1/2-1/3
1/1-1/3
14

13

7= third retransmission, timeouts after transmission by 7

NE Example (contd.)
10

11
7

1/1-1/3-1/3-1/6
2

12
5

1
3
1/1-1/3-1/6

4
13

5 = fourth retransmissions, timeouts afterwards

NE Example (contd.)
10

11
7

12
1

4
13

2 = the last retransmission

Broadcasting by covering DS
(Stojmenovic, Seddigh, Zunic 2002)

Nodes not in DS do not retransmit message


Nodes in DS:
when first copy received, set timeout,
when any copy received, eliminate neighbors receiving
same copy
timeout expired retransmit if any neighbor left

Key = (# of neighbors, ID)

Broadcasting by covering DS and NE


Key = (degree, ID)

1/3

Source = C

H
F

1/2

First retransmission =F,


timeouts at A and G

K
L

Broadcasting by covering DS and NE


Key = (degree, ID)

A
Source = C

H
F
M

1/3

G
1/1-1/3

E
Second retransmission =A, timeouts at H and G

K
L

Broadcasting by covering DS and NE


Key = (degree, ID)

A
Source = C

H
F

M
Final retransmission at H
G does not transmit

K
E

Broadcasting by Forwarding Neighbors


Qayyum, Viennot, Laouiti 2000:

Multipoint relaying MPR


Lim & Kim 2000
Calinescu, Mandoiu, Wan,
Zelikovsky 2001
Sun & Lai 2001

A
S

S: source or
relay of
retransmitting node

Find minimal set of 1-hop neighbors that covers


all 2-hop neighbors of S: B and C (relays of S)
Heuristics: B: 4 , A: 2 , C:2 , choose B; A:0 , C: 1 , choose C

Forwarding neighbors
U

C
A

P
D

B
E

I
H

G, I, E for node F; D, J for G, and B for E

Minimal Energy Broadcasting


power = u(d) = d + c, 2

Choose transmission radius at each node so that network is


connected and sum of transmission powers is minimized
Broadcast oriented (source dependent directional)
Globalized solutions in two dozens of articles
Wieselthier, Nguyen and Ephremides 2000 (BIP: Broadcast Incremental Power)

First localized solution:


Cartigny, Simplot, Stojmenovic 2003 (RBOP: RNG Broadcast Oriented Protocol)

Broadcast Incremental Power (BIP)


(Wieselthier, Nguyen and Ephremides 2000)

Idea: add one node at a time so that the additional power


is minimized
Options: add new transmission, or increase transmission
radius of existing transmitting node
BIP and other proposed methods in practice behave like
MST since 2 in d + c, unless c is significant with
respect to density
Centralized algorithm: significant overhead to collect
information

The BIP Algorithm


BIP is similar in principle to Prims algorithm but dynamically
updates transmission costs at each step as follows:
Pi,(j,k) = max{Pij, Pik}, where
Pij : Transmission power for node i to transmit packets to node j

The larger power (Pik ) can


cover both of node j and node k

Pik > Pij

Pij

The smaller power (Pij ) can


only cover node j

i
Pik

The BIP Algorithm (example)


5

Assume node a is the


source node

g
f

1.2
3

0.3

1.1

h
0.5

1.3
j

1.7

Step 1: Determining the


node that the source can
reach with minimum
expenditure of power.

1.3

1.5

0.9

c
0.7

0.8
i
a
a

0
0

0.3
0.5

b
c

Step 2: Determine which new node can be added to the tree at


minimum additional cost.
5

Pa

0.3

1.1
1

0.3

1.3
j

0.9

c
0.7

Pb
Pbd b

0.8
i

Pb b

0
1

Minimum additional cost

Pb= 1 0 = 1

Pa = 0.5 0.3 = 0.2


0.5

Pa a

1.7

b
d

1.3

1.5

1.2

0.5

Pac a

Step 2: Determine which new node can be added to the tree at


minimum additional cost.
5

Pa

g
f

Pa a

0.3

1.1

1.3
j

Pcj c

h
0.5

0.9

c
0.7

0.5

Pc
0.7

Minimum additional cost


Pc = 0.7 0 = 0.7

0.8
i

Pbd b

Pb
1

Pb = 1 0 = 1

0
1

Pc c

Pb b
0

Pa = 1.3 0.5 = 0.8

1.7

b
d

1.3

1.5

1.2

1.3

Paj a

Step 2: Determine which new node can be added to the tree at


minimum additional cost.
5

g
f

And so forth

0.3

1.1
1

ch
h
0.5

1.3
j

ci

1.7

b
d

1.3

1.5

1.2

bd

0.9

be

0.7

0.8

bf

bg

0
0

LBIP: Localized BIP


(Ingelrest and Simplot-Ryl, Wireless Networks, 2006)

Each node maintains two-hop neighbors info


BIP protocol is followed as is, where each node makes
decisions based on local knowledge available
Performance very close to BIP
Overhead: collecting 2-hop knowledge, forwarding
neighbors in packet

RNG Broadcast Oriented Protocol (RBOP)


(Cartigny, Simplot, Stojmenovic 2003)

If the node S wants to send a broadcast


message, it transmits it with the minimal
range which allows to join its RNGneighbors (A,B,C).

Then S transmits its message with the range


d(S,A) and A, B and C receive the message.
Hence, S forwards the message with the
range d(A,S) (since A is its further RNGneighbor).
B does not have to retransmit the message
since all its RNG-neighbors (S) have
already received the message.

RBOP (contd.)
The node C also receives the message from S.
C resends the message with range d(C,D).
It is received by nodes D, E but also F even if it is not a RNGneighbor.
F applies neighbor elimination for transmissions coming from
non-RNG edges to make neighborhood smaller.
F eliminates E for this broadcast message.
The set of remaining neighbors for F contains only A.
At the same time E decides not to send the message since all its
RNG-neighbors are eliminated with message from C.

RBOP (contd.)
When A forwards the message, F
and G eliminate A from their
respective neighborhood list and
terminate the protocol for this
broadcast since their lists are
empty.
The broadcast is accomplished by 3
transmissions:
- from S with radius d(S;A),
- from C with radius d(C;D) and
- from A with radius d(A;G)