1 Multi-Channel Protocols for Wireless Mesh Networks Yu-Chee Tseng CS/NCTU
2 Outline Introduction to MANET Review of 3 Multi-channel Protocols Summary
3 Wireless Mesh Network
4 Goodput = 87Mbps Single-Channel A B C 44 /50 Ch1 Interference 43/ 50 Ch1 Link Capacity =100/2 Ex: (Assume Channel Capacity = 100Mbps) Expected Load Observation: Multi-channel MANET IEEE provides several non- overlapping channels which could be used simultaneously within a neighborhood. A B C Goodput = 165Mbps Multi-Channel 84/100 Ch2 81/100 Ch1 Can simultaneously operate
5 Motivation The idea of exploiting multiple channels is appealing in wireless mesh networks because of their high capacity requirements to support backbone traffic. However, the channel assignment problem is NP-hard.
6 A Multi-channel Example
7 Problem Spectrum number of interfaces per node single interface fixed at a particular channel (traditional solution) may switch among different channels multiple interfaces each fixed at a particular channel may switch among different channels channel assignment algorithm Centralized assignment is done in longer period Distributed assignment can be done is shorter period more flexible and dynamic, depending on current loads
8 Review 1: A Centralized Greedy Solution Ashish Raniwala, Kartik Gopalan, and Tzi- cker Chiueh, “Centralized Channel Assignment and Routing Algorithms for Multi- Channel Wireless Mesh Networks,” Mobile Computing and Communications Review, vol. 8, no. 2, pp. 50–65, April 2004.
9 Problem Statement Input: expected load on each link Output: assignment of channels to network interfaces Goal: to reduce interference between neighboring interfaces
10 An Example Number of channels: 4 (1,2,3,4) Number of interface per node: 2 Per Channel Capacity: 100 units Definition: degree of interferencedegree of interference The sum of expected load that a link may experience on a particular channel in its interference region. Internet C D B G E A F expected load on this link
11 Example of Degree of Interference Internet C D B G E A F 30 Ch3 40 Ch1 25 Ch1 50 Ch =75 Ch =60 Ch325 Ch425 Degree of Interference for link E-F on different channels 20 Ch2 15 Ch2 link E-F will only experience interferences from links D-E, C-D, and D-G, but not from links B-C, A-C coverage of node E coverage of node F
12 Outline of the Algorithm Links are sorted, and then visited in the decreasing order of their link loads. A greedy approach: When a link is visited, it is assigned to a channel with the lowest degree of interference. Special cases: If the interfaces of the incident nodes are all used out, we may need to change one interface to a used channel. If the interfaces of the incident nodes are all used out but they have a common channel, then assign the link to the common channel.
13 A Running Example Internet C D B G E A F C-DD-EE-FB-CA-C D-G Number of channels: 4 (1,2,3,4) Number of interface per node: 2 Per Channel Capacity: 100 units First: sort links according to their link loads (in a decreasing order)
14 Connect (D,G) A B C D1 E F G1 Internet C D B G E A F 50 Ch1 Channel List Ch10 50 Ch20 Ch30 Ch40 Degree of Interference C-DD-EE-FB-CA-C D-G
15 Connect (A,C) A2 B C2 D1 E F G1 Internet C D B G E A F 40 Ch2 50 Ch1 Channel List Ch150 Ch20 40 Ch30 Ch40 Degree of Interference C-DD-EE-FB-CA-CD-G
16 Connect (B,C) A2 B3 C2,3 D1 E F G1 Internet C D B G E A F 30 Ch3 40 Ch2 50 Ch1 Channel List Ch150 Ch240 Ch30 30 Ch40 Degree of Interference C-DD-EE-FB-CA-CD-G
17 Connect (E,F) A2 B3 C2,3 D1 E3 F3 G1 Internet C D B G E A F 30 Ch3 40 Ch2 25 Ch3 50 Ch1 Channel List Ch150 Ch20 Ch30 25 Ch40 Degree of Interference C-DD-EE-FB-CA-CD-G
18 Connect (D,E) A2 B3 C2,3 D1,4 E3,4 F3 G1 Internet C D B G E A F 30 Ch3 40 Ch2 25 Ch3 20 Ch4 50 Ch1 Channel List Ch150 Ch240 Ch Ch40 20 Degree of Interference C-DD-EE-FB-CA-CD-G
19 Switch from ch. to ch. interference of new ch. Connect (C,D) A2 B3 C2,3 D1,4 E3,4 F3 G1 Internet C D B G E A F 30 Ch3 40 Ch2 15 ?? 25 Ch3 20 Ch4 50 Ch1 Channel List Ch150 Ch240 Ch355 Ch420 Degree of Interference 1212131321212424313134344242434 C-DD-EE-FB-CA-CD-G Explanation next page
20 Connect (C,D) A2 B4 C2,4 D1,4 E3,4 F3 G1 Internet C D B G E A F 30 Ch3 Ch4 40 Ch2 15 ?? 25 Ch3 20 Ch4 50 Ch1 Channel List Ch150 Ch240 Ch355 25 Ch420 50 Degree of Interference 1212131321212424313134344242434 C-DD-EE-FB-CA-CD-G switch ch 3 to ch 4 ( 不含本身的 15)
21 Connect (C,D) A2 B4 C2,4 D1,4 E3,4 F3 G1 Internet C D B G E A F 30 Ch4 40 Ch2 15 Ch4 25 Ch3 20 Ch4 50 Ch1 Channel List Ch150 Ch240 Ch325 Ch450 65 Degree of Interference C-DD-EE-FB-CA-CD-G 1212131321212424313134344242434 select the one with min. int.
22 Final Result A2 B4 C2,4 D1,4 E3,4 F3 G1 Internet C D B G E A F 30 Ch4 40 Ch2 15 Ch4 25 Ch3 20 Ch4 50 Ch1 Channel List
23 A Short Summary Adv.: quite simple Disadv. 1. need initial expected load on every link 2. centralized algorithm (must know network topology) 3. static network topology 4. static traffic load
24 Review 2: (SSCH) A distributed, single-interface solution Paramvir Bahl, Ranveer Chandra, and John Dunagan, “SSCH: Slotted Seeded Channel Hopping for Capacity Improvement in IEEE Ad-Hoc Wireless Networks,” in ACM Mobicom, 2004.
25 Protocol Outline: SSCH Single interface hopping on multiple channels. time is slotted SSCH (Slotted Seeded Channel Hopping) 1. Each node has its own channel hopping schedule. 2. Each node transmits its schedule to neighboring nodes in the beginning of each slot. 3. To transmit data, a node has to change its hopping schedule to adapt to receiver’s hopping patterns. The seeded hopping ensures through number theory that every pair of nodes have a common channel to exchange their schedulers.
26 原理 1: Channel Hopping Scheduling Time is slotted. Continuous slots are framed together. The i-th slots of all frame form the i-th virtual channel. Each virtual channel is represented by a (channel, seed) pair, denoted by (x i, a i ). x i = current channel; a i =hopping distance hopping rule: x i ← (x i + a i ) mod 3 Also, there is a special slot called “parity slot”. a common channel must be used.
27 Channel Schedule Example (channel,seed) 1 (channel,seed) 2 (mod 3) 102 (channel,seed) 1 (channel,seed) 2 (mod 3)
28 Mathematical Properties For two nodes with an identical seed if they have identical channel: these two nodes are always synchronized. if they have different channels: they only overlap in the parity slots For two nodes with different seeds they overlap exactly once every 3 slots prime number theory These overlapping slots ensure that stations can exchange schedulers.
29 原理 2: Optimistic Synchronization If node A has packets to be sent to node B, A will select a virtual channel and match it with B’s corresponding virtual channel. receiver-based rule A B (channel-A,seed-A) (channel-B,seed-B) (channel-B, seed-B)
30 原理 3: Partial Synchronization For a multi-hop path, partial synchronization is used. Node B follows node C’s hopping schedule in some virtual channels, and leave some virtual channels to be synchronized by node A. goal: better spatial reuse A B C
31 A Naive Synchronization
32 Solution ( 現有 A B, 加入 B C) A B C A B C Case 2: all slots are receiving, partial sync. A B C A B C Receiving ch.: If a slot always receives data, it is marked as receiving slot. Case 1: B preserves its receiving ch. and uses its idle virtual ch. to sync. with C 4 (channel,seed) (x1,a1) (x2,a2) (x3,a3) (x4,a4)
33 原理 4: De-synchronization To reduce interference, if too many nodes use the same (channel, seed) is the same virtual channel, de- synchronize some of them. simply choose a new (channel, seed) at a node’s own decision Example: 3 pairs use the same (channel, seed) in the 2nd virtual channel (1,2) (0,1) (0,2) (1,0) (0,1) (1,3) (0,3) (0,1) (2,1) (2,2) (0,1) (1,1) (0,2) (0,1) (2,3) (1,4) (0,1) (3,1) may choose to de-sync.
34 Short Summary Adv. 1. an interesting partial synchronization technique 2. an interesting de-synchronization technique Disadv. 1. need global time synchronization 2. only designed for one interface
35 Review 3: (MCR) A multi-interface channel assignment protocol Pradeep Kyasanur and Nitin H. Vaidya, "Routing and Interface Assignment in Multi-Channel Multi- Interface Wireless Networks", WCNC 2005.
36 Main Idea Each node has multiple interfaces. Fixed Interface: assigned to some fixed channel for long intervals of time Switchable Interface: dynamically assigned to channels over short time scales Transmission Rules: receiver-based a sender adapts to a receiver by changing its switchable interface to the receiver’s fixed interface
37 Example ABC Fixed = 1 Fixed = 2Fixed = 3 Initially: switchable = 3 switchable = 1 switchable = 2 Step 1: switchable = 2 Step 2: switchable = 3 2 interfaces per node 1 fixed, 1 switchable 3 channels are available. Routing Path: A B C
38 Fixed Interface assignment Goal: to ensure that fixed interfaces of nodes in a neighborhood have better spatial reuse. A localized protocol, where each node maintains two tables: NeighborTable: containing the fixed channels being used by its neighbors ChannelUsageList (CUL): keeping the number of nodes using each channel by their fixed channels
39 Distributed Algorithm 1. Initially, each node chooses a random channel as its fixed interface. Example: All nodes are neighbors (3 channels) A Fixed=1 3 2 C1 CUL B Fixed=1 3 2 B1 CUL 3 2 D1 3 2 A1 3 2 E1 C Fixed=1 D E
40 Distributed Algorithm 2. Periodically, each node broadcasts on every channel its current fixed channel. Example: A Fixed=1 3 2 C1 CUL B Fixed=1 3 2 B1 CUL 3 2 D1 3 2 A1 3 2 E1 C Fixed=1 D E “Hello”
41 Distributed Algorithm 3. On receiving a hello packet, a node updates its NeighborTable and ChannelUsageList. Example: A Fixed=1 3 2 ABCDE1 CUL B Fixed=1 3 2 ABCDE1 CUL 3 2 ABCDE1 CUL 3 2 ABCDE1 CUL 3 2 ABCDE1 CUL C Fixed=1 D E
42 Distributed Algorithm 4. Each node periodically consults its CUL (relatively long period). If its fixed channel is detected to be too crowded, it has a probability p to change its fixed channel to a less crowded channel. Example: A Fixed=1 3 2 ABCDE1 CUL B Fixed=1 3 2 ABCDE1 CUL 3 2 ABCDE1 CUL 3 2 ABCDE1 CUL 3 2 ABCDE1 CUL C Fixed=1 D E
43 Distributed Algorithm Example: C decides to change to channel 2 A Fixed=1 3 2 ABCDE1 CUL B Fixed=1 3 2 ABCDE1 CUL 3 2 ABCDE1 CUL 3 2 ABCDE1 CUL 3 2 ABCDE1 CUL C Fixed=1 D E Change 4. Each node periodically consults its CUL (relatively long period). If its fixed channel is detected to be too crowded, it has a probability p to change its fixed channel to a less crowded channel.
44 Distributed Algorithm Example: C broadcasts to neighbor A Fixed=1 3 C2 ABDE1 CUL B Fixed=1 3 2 ABCDE1 CUL 3 2 ABCDE1 CUL 3 2 ABCDE1 CUL 3 2 ABCDE1 CUL C Fixed=2 D Fixed=1 E “Hello” 4. Each node periodically consults its CUL (relatively long period). If its fixed channel is detected to be too crowded, it has a probability p to change its fixed channel to a less crowded channel.
45 Distributed Algorithm Example: after broadcast A Fixed=1 3 C2 ABDE1 CUL B Fixed=1 3 C2 ABDE1 CUL 3 C2 ABDE1 CUL 3 C2 ABDE1 CUL 3 C2 ABDE1 CUL C Fixed=2 D Fixed=1 E 4. Each node periodically consults its CUL (relatively long period). If its fixed channel is detected to be too crowded, it has a probability p to change its fixed channel to a less crowded channel.
46 Distributed Algorithm Example: E checks its CUL, but does not change A Fixed=1 3 C2 ABDE1 CUL B Fixed=1 3 C2 ABDE1 CUL 3 C2 ABDE1 CUL 3 C2 ABDE1 CUL 3 C2 ABDE1 CUL C Fixed=2 D Fixed=1 E 4. Each node periodically consults its CUL (relatively long period). If its fixed channel is detected to be too crowded, it has a probability p to change its fixed channel to a less crowded channel. Nothing
47 Distributed Algorithm Example: D changes to channel 1 A Fixed=1 3 C2 ABDE1 CUL B Fixed=1 3 C2 ABDE1 CUL 3 C2 ABDE1 CUL 3 C2 ABDE1 CUL 3 C2 ABDE1 CUL C Fixed=2 D Fixed=1 E Change 4. Each node periodically consults its CUL (relatively long period). If its fixed channel is detected to be too crowded, it has a probability p to change its fixed channel to a less crowded channel.
48 Distributed Algorithm Example: D broadcasts A Fixed=1 3 C2 ABDE1 CUL B Fixed=1 3 C2 ABDE1 CUL D3 C2 ABE1 CUL 3 C2 ABDE1 CUL 3 C2 ABDE1 CUL C Fixed=2 D Fixed=3 E Fixed=1 “Hello” 4. Each node periodically consults its CUL (relatively long period). If its fixed channel is detected to be too crowded, it has a probability p to change its fixed channel to a less crowded channel.
49 Distributed Algorithm Example: after D’s broadcast A Fixed=1 D3 C2 ABE1 CUL B Fixed=1 D3 C2 ABE1 CUL D3 C2 ABE1 CUL D3 C2 ABE1 CUL D3 C2 ABE1 CUL C Fixed=2 D Fixed=3 E Fixed=1 4. Each node periodically consults its CUL (relatively long period). If its fixed channel is detected to be too crowded, it has a probability p to change its fixed channel to a less crowded channel.
50 Distributed Algorithm Example: B changes to channel 2 A Fixed=1 D3 C2 ABE1 CUL B Fixed=1 D3 C2 ABE1 CUL D3 C2 ABE1 CUL D3 C2 ABE1 CUL D3 C2 ABE1 CUL C Fixed=2 D Fixed=3 E Fixed=1 Change 4. Each node periodically consults its CUL (relatively long period). If its fixed channel is detected to be too crowded, it has a probability p to change its fixed channel to a less crowded channel.
51 Distributed Algorithm Example: B’s broadcast A Fixed=1 D3 C2 ABE1 CUL B Fixed=2 D3 CBCB2 AE1 CUL D3 C2 ABE1 CUL D3 C2 ABE1 CUL D3 C2 ABE1 CUL C Fixed=2 D Fixed=3 E Fixed=1 “Hello” 4. Each node periodically consults its CUL (relatively long period). If its fixed channel is detected to be too crowded, it has a probability p to change its fixed channel to a less crowded channel.
52 Distributed Algorithm Example: after B’s broadcast A Fixed=1 D3 CBCB2 AE1 CUL B Fixed=2 D3 CB2 AE1 CUL D3 CBCB2 AE1 CUL D3 CBCB2 AE1 CUL D3 CBCB2 AE1 CUL C Fixed=2 D Fixed=3 E Fixed=1 4. Each node periodically consults its CUL (relatively long period). If its fixed channel is detected to be too crowded, it has a probability p to change its fixed channel to a less crowded channel.
53 Distributed Algorithm No more change! A Fixed=1 D3 CB2 AE1 CUL B Fixed=2 D3 CB2 AE1 CUL D3 CB2 AE1 CUL D3 CB2 AE1 CUL D3 CB2 AE1 CUL C Fixed=2 D Fixed=3 E Fixed=1 Threshold to determinate whenever a channel is too crowded: neighbors channels
54 Scheduling Rules for Interfaces Each node maintains a separate queue for each channel. When a packet arrives, if the sender has the same fixed channel as the receiver, enqueue to the fixed channel. otherwise, enqueue to the switchable channel. The use of each switchable channel is bounded by two parameters BurstLengh and MaxSwitchTime. For broadcast, add a packet to each queue. … Queue N Fixed Switchable S D1 D2 D3 Fixed=1 Fixed=3 Fixed=N
55 Summary Adv.: a simple rule to use multiple interfaces and multiple channels Disadv. If a node always receives but doesn’t send, the fixed interface may be overloaded while the switchable interface is always idle.
56 Review 4: A multi-interface routing protocol Richard Draves, Jitendra Padhye, and Brian Zill, “Routing in Multi- Radio, Multi-Hop Wireless Mesh Networks,” in ACM Mobicom, 2004.
57 Route Selection Metric S AB C D 10ms 30ms 40ms EF 10ms Ch2 Which is the best routing path? longer delay, but shortest? using multiple channel? less delay, but using one channel?
58 How to Select a Good Path A good routing protocol should take the loss rate, the bandwidth of a link, and channel diversity into account. For a multi-channel MANET, the path metric should explicitly account for the interference among links that operate on the same channel. Multi-Radio Link-Quality Source Routing a combination of the LQSR protocol with a new metric that we call WCETT (Weighted Cumulative Expected Transmission Time).
59 Original WCETT Sum of expected time to successfully transmit a packet on the route 10ms 15ms 5ms 20ms WCETT= =55 Note: 值愈小愈好 Example:
60 WCETT by Channel Diversity X j : sum of transmission times of hops on channel j 10ms Ch1 5ms Ch1 5ms Ch3 20ms Ch2 X 1 = 10+5 = 15 X 2 = = 45 X 3 = 5 WCETT = max(X 1,X 2,X 3 ) = max(15,45,5) =45 Example: 15ms Ch2 10ms Ch2 X j =Σ ETT i 1 ≦ j ≦ k Hop i is on channel j
61 Proposed: Combined WCETT Example: S 1: 2: 3: 4: S S S D D D D ETT=10 ETT=9 ETT=2 ETT=5 ETT=7 ETT=2 ETT=12 ETT=11 ETT=2 ETT=6 ETT=7 ETT=2 Ch1Ch2 PathSumMaxWCETT (β=0.9)WCETT (β=0.1)
62 Conclusions Layer 2: Channel Assignment a centralized greedy Algorithm a distributed single-interface protocol hopping + seed receiver-based channel switch a distributed multi-interface protocol fixed and switchable interfaces using switchable to adapt to fixed channel Layer 3: Multi-Channel Routing a new metric WCETT with channel diversity
63 References 1. Ashish Raniwala, Kartik Gopalan, and Tzi-cker Chiueh, “Centralized Channel Assignment and Routing Algorithms for Multi-Channel Wireless Mesh Networks,” Mobile Computing and Communications Review, vol. 8, no. 2, pp. 50–65, April Paramvir Bahl, Ranveer Chandra, and John Dunagan, “SSCH: Slotted Seeded Channel Hopping for Capacity Improvement in IEEE Ad- Hoc Wireless Networks,” in ACM Mobicom, Pradeep Kyasanur and Nitin H. Vaidya, "Routing and Interface Assignment in Multi-Channel Multi-Interface Wireless Networks", Technical Report, October 2004 (A version will appear in WCNC 2005) 4. Richard Draves, Jitendra Padhye, and Brian Zill, “Routing in Multi- Radio, Multi-Hop Wireless Mesh Networks,” in ACM Mobicom, Shih-Lin Wu, Chih-Yu Lin, Yu-Chee Tseng, and Jang-Ping Sheu, “A New Multi-Channel MAC Protocol with On-Demand Channel Assignment for Multi-Hop Mobile Ad Hoc Networks,” in International Symposium on Parallel Architectures, Algorithms and Networks (ISPAN), 2000.