320 likes | 499 Views
A D istributed and Efficient Flooding Scheme Using 1-Hop 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 ( 蔡旻原 )
E N D
A Distributed and Efficient Flooding Scheme Using 1-Hop 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.
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
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
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
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
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
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
Theoretical foundations – Definition • d(s) :Coverage disk of a nodesis 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 setthat covers NC(s)
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))
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
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 • 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 theNC(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
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 nodeu in the sorted N(s) • If d(u) is not fully covered by F(s), F(s)=F(s)U {u}
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
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
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
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++;
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;
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
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) • 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} X=
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
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 umoves, but still in N(u) • A neighbor v of u moves out of N(u) • A node v moves into N(u)
Mobility Handling (contd.) • Case 1:A neighbor v of umoves, 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
Mobility Handling • Case 2: A neighbor v of u moves out of N(u) • If v F(u), no need to update • If v F(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
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
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
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
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
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
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
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
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
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