A Distributed and Efficient
Flooding Scheme Using 1Hop Information in Mobile Ad
Hoc Networks
Authors: Hai Liu, Xiaohua Jia, Peng-Jun Wan, Xinxin Liu, and
Frances F. Yao
Publisher: IEEE TRANSACTIONS ON PARALLEL AND
DISTRIBUTED SYSTEMS, VOL. 18, NO. 5, MAY 2007
Present: Min-Yuan Tsai (蔡旻原)
Date: May, 15, 2007
Department of Computer Science and Information Engineering
National Cheng Kung University, Taiwan R.O.C.
1
Outline
1. Introduction
2. Overview of proposed method
3. Theoretical foundations
4. Efficient Algorithm to compute F(s)
5. Optimization
6. Mobility Handling
7. Simulation Results
8. Conclusion
2
Introduction
Flooding is one of the most fundamental operations in MANET
Pure flooding
• Every node in the network retransmits the flooding message when
it is its first time to receive it
• Generates excessive amount of redundant network traffic and thus
causes congestion (causes serious Broadcast Storm problem)
• Cannot guarantee 100% deliverability due to excessive collisions
Neighbor information based flooding
• 1-hop
• Perform poorly in reducing the redundant transmissions
• e.g. Edge Forwarding
• 2-hop or more
• Incur extra overhead, and hardly handle mobility
• e.g. Connected Dominating Set (CDS) based flooding
3
Outline
1. Introduction
2. Overview of proposed method
3. Theoretical foundations
4. Efficient Algorithm to compute F(s)
5. Optimization
6. Mobility Handling
7. Simulation Results
8. Conclusion
4
Overview of proposed method
Use only 1-hop neighbor information
When a node s has a message to be flooded
• Compute a subset of its neighbors as forwarding nodes
set - F(s)
• Attach F(s) to the message
• Broadcast the message out
Upon receiving a flooding message, node u
• Discard it if received this message before
• Not forwarding it if u is not in the forwarding nodes set
• Computes F(u) as above and broadcast it with the message
5
Overview of proposed method (contd.)
Propose an algorithm to compute the forwarding nodes set
• Guarantee 100% deliverability
• And achieve the local optimality in terms of
• Number of forwarding nodes is the minimal
• Computing complexity is the lower bound O(nlogn)
• Note that this is a local optimality since only knowing 1-hop
neighbor information
6
Outline
1. Introduction
2. Overview of proposed method
3. Theoretical foundations
4. Efficient Algorithm to compute F(s)
5. Optimization
6. Mobility Handling
7. Simulation Results
8. Conclusion
7
Theoretical foundations – Definition
d(s) : Coverage disk of a node s is a disk centering at s and
radius is the transmission range of s
N(s) : The set of neighbor nodes of s
• N(s) are covered by d(s)
C(A) : Coverage area of a node-set is the union of coverage
disks of nodes in A
• “The area is covered by A” if the area is within C(A)
NC(s) : Neighbor’s coverage area of s, NC(s) = C(N(s)U{s})
F(s) : Forwarding set of s is a subset of s’s neighbors that are
selected for forwarding the flooding message
• F(s) includes s
Fmin(s) : The minimal forwarding set that
covers NC(s)
8
Theoretical foundations – Thm 1
(100% deliverability) A flooding scheme is said to be 100%
deliverability iff, FOR ANY NETEORK TOPOLOGY all the
nodes in the network should be able to receive flooding
message, letting every node execute the flooding scheme.
i.e. A 1-hop flooding scheme achieves 100% deliverability if
and only if NC(s) is covered by F(s) for each forwarding
node s
• NC(s) is within C(F(s))
9
Outline
1. Introduction
2. Overview of proposed method
3. Theoretical foundations
4. Efficient Algorithm to compute F(s)
5. Optimization
6. Mobility Handling
7. Simulation Results
8. Conclusion
10
Efficient Algorithm to compute F(s)
Only having 1-hop neighbor information, to achieve 100%
deliverability, F(s) must cover the entire neighbor’s area of s.
The task:
• Formally, minimize F(s) such that d (v) d (u)
• Intuitively, every node in F(s)
must contribute to the boundary
of NC(s)
Example: s has 3 neighbors: u, v and w
Since d(u)∪d(v)∪d(s) makes up the NC(s)
It’s enough to cover all of s’s 2-hop neighbors
if only u and v forward the message.
i.e. d(w) d(u)∪d(v)∪d(s) , there is no need
for w to forward the message
vF ( s )
uN ( s )
11
A Naive O(n2) algorithm, n=|N(s)|
Observation: nodes further away from s are usually
the nodes that contributes to the boundary of NC(s)
Sort all nodes in N(s) in descending order according to
there Euclidean distance to s
Steps:
• Initially, F(s) = {}
• For each node u in the sorted N(s)
• If d(u) is not fully covered by F(s), F(s)=F(s)U {u}
12
An O(nlogn) Algorithm , n=|N(s)|
Basic ideal: compute the boundary of NC(s), and thus
the nodes that contribute to this boundary are the
nodes in F(s)
Pair-wise boundary merge to compute the boundary of a
node set S
• Similar to merge sort
Boundary of S=S1U S2
Boundary of S1
Boundary of S2
13
Boundary Merge – Data tructure
Arc
• Use the location of s as the reference point
• 3-tuple (θs, u, θe)
• of disk u =
Boundary
• A sequence of arcs B[],
• B[] is sorted in non-descending order according to their
starting angles:
• Boundary of NC(s) is
14
Merge Boundary Bi[ ] and Bj[ ]
Suppose now we are merging Bi[k] (kth arc of boundary
Bi[ ]) and Bj[l] (lth arc of boundary Bj[ ]) , and store the
merged arc in B[h]
There are three possible cases for two arcs
• No intersection
• Only one intersecting point
• Two intersecting points
15
Merge Boundary Bi[ ] and Bj[ ] (contd)
Case 1: No intersection (without losing generality,
assume Bi[k] is outside of Bj[l] and Bi[k].θs<=Bj[l].θs)
• Case 1.1: B[h] = Bi[k]; k++; h++;
• Case 1.2: B[h] = ; Bi[k] = ; l++; h++;
• Case 1.3: B[h] = Bi[k]; k++; h++;
16
Merge Boundary Bi[ ] and Bj[ ] (contd)
Case 2: one intersecting point
• B[h] = ; Bj[l] = ; k++; h++;
Case 3: two intersecting points
• B[h] = ; B[h+1] = ; Bj[l] = ; k++; h+=2;
17
Outline
1. Introduction
2. Overview of proposed method
3. Theoretical foundations
4. Efficient Algorithm to compute F(s)
5. Optimization
6. Mobility Handling
7. Simulation Results
8. Conclusion
18
Optimization
When node u receives a flooding message from s, and u
is in F(s), F(u) can be further optimized based on F(s) by
removing some nodes that are already covered by F(s)
Use node ID as the priority for forwarding messages
Nodes in F(u) can be removed if they are within C(X)
X=
Note only
is considered, because u only know
the geographic locations of its neighbors,
and this information is necessary to
check if nodes are covered by X
Example:
Assume F(u) = {1,2,3,4,5}, id(v)<=id(u)
1 & 2 are in N(s) ; 3 is covered by v
Then Fopt(u)={4,5}
19
Outline
1. Introduction
2. Overview of proposed method
3. Theoretical foundations
4. Efficient Algorithm to compute F(s)
5. Optimization
6. Mobility Handling
7. Simulation Results
8. Conclusion
20
Mobility Handling
Two strategies to maintain the flooding scheme
• No update : Re-compute the forwarding sets for each
flooding request
• Incremental update: Updates its forwarding sets
upon each topology change
3 cases that require updating F(u)
• A neighbor v of u moves, but still in N(u)
• A neighbor v of u moves out of N(u)
• A node v moves into N(u)
21
Mobility Handling (contd.)
Case 1: A neighbor v of u moves, but still in N(u)
• Case 1.1: If v F(u) and d(v) at the new location exceeds
the boundary of NC(u)
• Find arcs affected by the movement of v, checking if their
•
•
•
sectors overlap with the sector of d(v)
These arcs form a continues segment of the boundary
Re-compute F(u) by merging this segment and the arc of d(v)
Case 1.2: If v F(u), boundary may be affected by both
the current and former location of v
• Find arcs contributes to the new boundary because of
•
leaving of v, and then merge these arcs to compute the new
boundary
Similar to 1.1, update this new boundary according to the
new location of v
22
Mobility Handling
Case 2: A neighbor v of u moves out of N(u)
• If vF(u), no need to update
• If vF(u), this similar to the first step in Case 1.2
Case 3: A node v moves into N(u)
• Similar to Case 1.1
23
Outline
1. Introduction
2. Overview of proposed method
3. Theoretical foundations
4. Efficient Algorithm to compute F(s)
5. Optimization
6. Mobility Handling
7. Simulation Results
8. Conclusion
24
Simulation Model
NS-2 test bed, Packet size is 256 bytes, Channel
bandwidth is 2Mbps
Adjust parameters: #nodes, transmission range, network
size and network load
By default, #node=1000, transmission range=250m,
network size=1000m*1000m, network load=10 Pkt/s
Compare proposed scheme with
• Pure flooding
• Edge Forwarding
• CDS-based Flooding
25
Edge Forwarding
Use 1-hop neighbor information
Each node divides its transmission coverage into six
equal-size sectors
Upon receiving a flooding message, a node decides if it
forwards the message based on the availability of other
forwarding nodes in the overlapped areas
Node b does not forward iff
•
•
There exists nodes in A, B and C
And any nodes in D and E can be
reached by nodes in A and C
26
CDS-based Flooding
Connected Dominating Set (CDS)
• DS is a subset of nodes s.t. every node in the graph is
either in DS or is adjacent to a node in DS
• All forwarding nodes forms a CDS in the network
Finding minimal CDS(MCDS) is NP-hard
An approximation algorithm
• Use 2-hop neighbor information
• A node marks itself belonging to CDS if there exist two
unconnected neighbors and they have greater IDs
27
Performance vs. #Nodes
Our scheme and Edge Forwarding become closer to the lower bound
when #nodes increases, because forwarding sets are saturated while
N(u) becomes larger
#nodes has little effect on CDS
•
•
High density means more chance for u’s neighbors being connected
High density means high chance there are exist two unconnected neighbors
Our scheme has lowest collisions
Our scheme has 100% deliverability when #nodes is from 200 to 400
28
Performance vs. Transmission Range
N(u) becomes larger while the transmission range increase.
Same effect as increasing network density
More closer to the lower bound than increasing network density,
because flooding can be done in less steps due to the large
transmission range
29
Performance vs. Network Size
and Network Load
Fixed node density = 1000 nodes / km2
•
Our scheme and Edge Forwarding are scalable with network
size, while CDS works better in smaller network
Deliverability falls down earlier when network load increases
•
•
More frequently flooding message are generated, larger
number of collisions nodes experience
Edge Forwarding and Pure Flooding falls down when the
network load is just 5Pkt/s
30
Outline
1. Introduction
2. Overview of proposed method
3. Theoretical foundations
4. Efficient Algorithm to compute F(s)
5. Optimization
6. Mobility Handling
7. Simulation Results
8. Conclusion
31
Conclusion
An efficient flooding scheme use only 1-hop neighbor
information
Local optimality in terms of
• Number of forwarding nodes is minimal
• Time complexity is the lowest
Handle mobility efficiently
32
© Copyright 2025 Paperzz