500 likes | 658 Views
Joint Multi-Channel Link Layer and Multi-Path Routing Design for Wireless Mesh Networks. Wai-Hong Tam and Yu-Chee Tseng National Chiao-Tung University, Taiwan Chung-Yuan Christian University, Taiwan INFCOM 2007. Outline. Introduction Motivation Four Scenario Scenario Related Work
E N D
Joint Multi-Channel Link Layer and Multi-PathRouting Design for Wireless Mesh Networks Wai-Hong Tam and Yu-Chee Tseng National Chiao-Tung University, Taiwan Chung-Yuan Christian University, Taiwan INFCOM 2007
Outline • Introduction • Motivation • Four Scenario Scenario • Related Work • Proposed Algorithm • Assumption • Joint Multi-Channel and Multi-Path Control (JMM) Protocol • Performance Evaluation • Conclusion
Introduction • The algorithm is working in Wireless Mesh Network (WMN). • In places where wired infrastructure is not available • A WMN typically has a two-tier architecture • Mesh router: provide end-user to forward traffic • Gateway: provide Internet access
Introduction • Difficulty of collision avoidance: In a multi-hop environment, the common phenomena of hidden and exposed terminals cause collision and unfairness, resulting in the reduction of throughput. • In this paper, the author proposed an more cost-effective solution by exploiting multi-channels and multi-path control. • The goal is to improve network performance.
Motivation • The four type scenario discussion: • Single-Channel, Single-Path • Multi-Channel, Single-Path • Single-Channel, Multi-Path • Multi-Channel, Multi-Path
Motivation • Single-Channel, Single-Path • The end-to-end throughput at most 1/3 of the effective MAC data rate.
Motivation • Multi-Channel, Single-Path • The end-to-end throughput as high as 1/2 of the effective MAC data rate.
C D E B F A I G H J Motivation • Single-Channel, Multi-Path • The end-to-end throughput as high as 1/3.
C D E B F A I G H J Motivation • Multi-Channel, Multi-Path • The end-to-end throughputis better than 1/2
Motivation • The multi-channel and multi-path will get the better performance.
CH1 CH1 A B Related Work • Multi-Channel Routing Protocols • AODV • Ad hoc On-Demand Vector routing • Receiver-based channel assignment CH2 CH3 CH2 CH3 Data
Related Work ( con.) Multi channel hidden-terminal problem A C D B CH3 RTS CTS(2) CH2 Data RTS CTS(2) Control Channel CH2 collision Data
Assumption • The paper assume that each existing node has already established two paths to its gateway. • The paper assume that all nodes on the dual-path except the source have already determined their superframe patterns.
Proposed Algorithm • Part1: Multi-channel link layer • Channel scheduling • Schedule which channel the transceiver should stay on • Packet scheduling • Schedule when a packet can be sent
Proposed Algorithm • Part 2:Multi-Path Routing • Receiving channel scheduling • Decide the receiving channel • Reduce the channel utilizations • Multi-path route scheduling • Find Two disjoint Path • Path Selection metric • Packet scheduling • A function to the packet scheduling
Selection of Receiving Channel Neighbor: A:3, B:1, C:2, D:3, E:2, F:3, G:1, H:2, Channel Usage: ch1:2, ch2:3, ch3:3 recv_ch = 2 X recv_ch = 1 A B recv_ch = 3 recv_ch = 2 recv_ch = 3 recv_ch = 1 recv_ch = 2 E D C G recv_ch = 3 Y S H F recv_ch = 2 recv_ch = ? recv_ch = 1 recv_ch = 3
Dual-Path Route Discovery • GREQ
The Procedure of a non-gateway node 1 2 3 4 5
Dual-Path Route Discovery X A B Hop_Count: 2 gwAddr = X TF-TF type recv_ch = 3 Hop_Count: 2 gwAddr = Y TF-TF type recv_ch = 2 Hop_Count: 2 gwAddr = X TF-TF type recv_ch = 2 E D C G Hop Count: ∞ unknown RF-RF type recv_ch = 1 Hop_Count: 2 gwAddr = Y TF-TF type recv_ch = 3 Y S H F GREQ(1, S, unknown, ∞, {S} )
Dual-Path Route Discovery X A B Hop_Count: 2 gwAddr = Y TF-TF type recv_ch = 2 Hop_Count: 2 gwAddr = X TF-TF type recv_ch = 3 Hop_Count: 2 gwAddr = X TF-TF type recv_ch = 2 E D C GREQ(1, S, Y, 2, {S, E} ) G GREQ(1, S, X, 2, {S, C} ) GREQ(1, S, X, 2, {S, D} ) Hop Count: ∞ unknown RF-RF type recv_ch = 1 Hop_Count: 2 gwAddr = Y TF-TF type recv_ch = 3 Y S H F GREQ(1, S, Y, 2, {S, F} ) GREQ(1, S, unknown, ∞, {S} )
Dual-Path Route Discovery Hop_Count: 1 gwAddr = X RF-RF type recv_ch = 1 Hop_Count: gwAddr = X RF-RF type recv_ch = 3 X A B Hop_Count: 2 gwAddr = Y TF-TF type recv_ch = 2 Hop_Count: 2 gwAddr = X TF-TF type recv_ch = 3 Hop_Count: 1 gwAddr = Y RF-RF type recv_ch = 1 Hop_Count: 2 gwAddr = X TF-TF type recv_ch = 2 E D C G Y S Hop_Count: 2 gwAddr = Y TF-TF type recv_ch = 3 Hop_Count: 1 gwAddr = Y RF-RF type recv_ch = 2 H F
Dual-Path Route Discovery X Hop_Count: 1 gwAddr = X RF-RF type recv_ch = 1 Hop_Count: gwAddr = X RF-RF type recv_ch = 3 A B Hop_Count: 1 gwAddr = Y RF-RF type recv_ch = 1 GREQ(1, S, X, 1, {S, C, A} ) GREQ(1, S, X, 1, {S, C, B} ) GREQ(1, S, X, 1, {S, D, A} ) GREQ(1, S, X, 1, {S, D, B} ) GREQ(1, S, Y, 2, {S, E} ) GREQ(1, S, Y, 1, {S, E, G} ) E D C GREQ(1, S, Y, 1, {S, F, G} ) G GREQ(1, S, X, 2, {S, D} ) GREQ(1, S, X, 2, {S, C} ) Y S Hop_Count: 1 gwAddr = Y RF-RF type recv_ch = 2 H F GREQ(1, S, Y, 1, {S, E, H} ) GREQ(1, S, Y, 2, {S, F} ) GREQ(1, S, Y, 1, {S, F, H} )
Dual-Path Route Discovery Hop_Count: 1 gwAddr = X RF-RF type recv_ch = 1 Hop_Count: gwAddr = X RF-RF type recv_ch = 3 X A B Hop_Count: 1 gwAddr = Y RF-RF type recv_ch = 1 GREQ(1, S, X, 1, {S, C, A} ) GREQ(1, S, X, 1, {S, C, B} ) GREQ(1, S, X, 1, {S, D, A} ) GREQ(1, S, X, 1, {S, D, B} ) GREQ(1, S, Y, 2, {S, E} ) GREQ(1, S, Y, 1, {S, E, G} ) E D C GREQ(1, S, Y, 1, {S, F, G} ) G GREQ(1, S, X, 2, {S, D} ) GREQ(1, S, X, 2, {S, C} ) Hop_Count: 1 gwAddr =Y RF-RF type recv_ch = 2 Y S H F GREQ(1, S, Y, 2, {S, F} ) GREQ(1, S, Y, 1, {S, F, H} ) GREQ(1, S, Y, 1, {S, E, H} )
Path Selection X A B GREQ(1, S, X, 1, {S, C, A} ) GREQ(1, S, X, 1, {S, C, B} ) GREQ(1, S, X, 1, {S, D, A} ) GREQ(1, S, X, 1, {S, D, B} ) GREQ(1, S, Y, 1, {S, E, G} ) E D C GREQ(1, S, Y, 1, {S, F, G} ) G Y S H F GREQ(1, S, Y, 1, {S, F, H} ) GREQ(1, S, Y, 1, {S, E, H} )
Path Selection X A B E D C G Y S H F
Path Selection Metric W_node+W_chl+W_qlty = 1.
Path Selection With Metric recv_ch = 2 X ( Wnode = 0.5 Wchl = 0.4 Wqlty = 0.1 ) Vnode =node(P1)+ node(P2) 2 + 2 Vchl = CN(P1)+CN(P2)+δ(P1,P2)1 + 1 Vqlty = ETX(P1) + ETX(P2) recv_ch = 1 A B recv_ch = 3 Path 2 Path 1 E D C recv_ch = 2 recv_ch = 3 G recv_ch = 2 recv_ch = 1 Y S H recv_ch = 3 F recv_ch = 1 recv_ch = 3 recv_ch = 2
Path Selection With Metric GREP X GREP A B E D C GREP G Y S H F GREP GREP-AC
Determining Superframe Patterns X A B E D C G Y S H F
Determining Superframe Patterns Superframe Structure
Determining Superframe Patterns X Slave Path P2 Master Path P1 A B D C S
Determining Superframe Patterns case1 X A B D C S
Determining Superframe Patterns case1 X A B D C S
Determining Superframe Patterns case2 X A B C S
Determining Superframe Patterns case2 X A B C Contended Link S
Contended Link • Vchl = CN(P1)+CN(P2)+δ(P1,P2) • δ(P1,P2) = 1
Determining Superframe Patterns Rule X |P1| − |P2| is even: If |P1| is odd A B The pattern of S’s first part should match on P1. The pattern of S’s second part should match on P2. D If |P1| is even C The pattern of S’s first part should match on P2. The pattern of S’s second part should match on P1. S
Determining Superframe Patterns Rule X |P1| − |P2| is odd: Let P be the longer path. If |P| is odd A The pattern of S’s first part should match on P1. The pattern of S’s second part should match on P2. B C If |P| is even The pattern of S’s first part should match on P2. The pattern of S’s second part should match on P1. S
Determining Superframe Patterns X Slave Path P2 Master Path P1 A B D C S
Pack Scheduling • Packet Queue • When packets arrive, we need to allocate them to transmitting slots for transmission.
Pack Scheduling • Pack Forwarding Rule • When a source node or a gateway generates a sequence of packets, the node will alternately mark them as to be sent along the master path or along the slave path. • If P = 0, the packet will be forwarded to the first part unicast queues; otherwise, the packet will be sent to the second part unicast queues
Pack Forwarding Rule • (C.5) Pack Forwarding Rule
Determining Superframe Patterns Packet 1 Packet 2 X M = 1 E = 0 D = 0 C = 0 0 M = 0 E = 0 D = 0 C = 0 1 A B M = 0 E = 1 D = 0 C = 0 0 D C S
Route Maintenance • Route Maintenance: • When a nodediscovers a faulty link, it will propagate a Gateway ERRor(GERR) message to all its successors which use this link. Eachsuccessor will initiate a new gateway discovery procedureto find a new dual-path. • JMM is also quite resilient to failure • Before new paths are found, the other (non-broken) paths can still be used for communication.
Conclusions • We first point out that multi-path routing has to be used inconcert with multi-channel design to improve end-to-endthroughput.