Multi-Channel Protocols for Wireless Mesh Networks
description
Transcript of Multi-Channel Protocols for Wireless Mesh Networks
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 = 87MbpsSingle-Channel
A
BC
44 /50Ch1
Interference
43/ 50Ch1 Link Capacity
=100/2
Ex: (Assume Channel Capacity = 100Mbps)
Expected Load
Observation: Multi-channel MANET
IEEE 802.11 provides several non-overlapping channels which could be used simultaneously within a neighborhood.
A
BC
Goodput = 165MbpsMulti-Channel
84/100Ch2
81/100Ch1
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 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
30
40 15
25
20
50
expected load on this link
11
Example of Degree of Interference
Internet
C
D
B
G
E
A
F
30Ch3
40Ch1
25Ch1
50Ch1
Ch1 50+25=75
Ch2 25+20+15=60
Ch3 25
Ch4 25
Degree of Interference for link E-Fon different channels
20Ch2
15Ch2
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 Ecoverageof 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
30
40 15
25
20
50
152025304050
C-DD-EE-FB-CA-CD-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
D 1
E
F
G 1
Internet
C
D
B
G
E
A
F
50Ch1
Channel List
Ch1 050
Ch2 0
Ch3 0
Ch4 0
Degree of Interference
152025304050
C-DD-EE-FB-CA-CD-G
15
Connect (A,C)
A 2
B
C 2
D 1
E
F
G 1
Internet
C
D
B
G
E
A
F
40Ch2
50Ch1
Channel List
Ch1 50
Ch2 040
Ch3 0
Ch4 0
Degree of Interference
152025304050
C-DD-EE-FB-CA-CD-G
16
Connect (B,C)
A 2
B 3
C 2,3
D 1
E
F
G 1
Internet
C
D
B
G
E
A
F
30Ch3
40Ch2
50Ch1
Channel List
Ch1 50
Ch2 40
Ch3 030
Ch4 0
Degree of Interference
152025304050
C-DD-EE-FB-CA-CD-G
17
Connect (E,F)
A 2
B 3
C 2,3
D 1
E 3
F 3
G 1
Internet
C
D
B
G
E
A
F
30Ch3
40Ch2
25Ch3
50Ch1
Channel List
Ch1 50
Ch2 0
Ch3 025
Ch4 0
Degree of Interference
152025304050
C-DD-EE-FB-CA-CD-G
18
Connect (D,E)
A 2
B 3
C 2,3
D 1,4
E 3,4
F 3
G 1
Internet
C
D
B
G
E
A
F
30Ch3
40Ch2
25Ch3
20Ch4
50Ch1
Channel List
Ch1 50
Ch2 40
Ch3 30+25
Ch4 020
Degree of Interference
152025304050
C-DD-EE-FB-CA-CD-G
19
Switch from ch. to ch.
interference of new ch.
Connect (C,D)
A 2
B 3
C 2,3
D 1,4
E 3,4
F 3
G 1
Internet
C
D
B
G
E
A
F
30Ch3
40Ch2
15??
25Ch3
20Ch4
50Ch1
Channel List
Ch1 50
Ch2 40
Ch3 55
Ch4 20
Degree of Interference
12 13 21 24 31 34 42 43
90 105 90 60 80 50 60 75
152025304050
C-DD-EE-FB-CA-CD-G
Explanation next page
20
Connect (C,D)
A 2
B 4
C 2,4
D 1,4
E 3,4
F 3
G 1
Internet
C
D
B
G
E
A
F
30Ch3Ch4
40Ch2
15??
25Ch3
20Ch4
50Ch1
Channel List
Ch1 50
Ch2 40
Ch3 5525
Ch4 2050
Degree of Interference
12 13 21 24 31 34 42 43
90 105 90 60 80 50 60 75
152025304050
C-DD-EE-FB-CA-CD-G
switch ch 3 to ch 4 ( 不含本身的 15)
21
Connect (C,D)
A 2
B 4
C 2,4
D 1,4
E 3,4
F 3
G 1
Internet
C
D
B
G
E
A
F
30Ch4
40Ch2
15Ch4
25Ch3
20Ch4
50Ch1
Channel List
Ch1 50
Ch2 40
Ch3 25
Ch4 5065
Degree of Interference
152025304050
C-DD-EE-FB-CA-CD-G
12 13 21 24 31 34 42 43
90 105 90 60 80 50 60 75
select the one with min. int.
22
Final Result
A 2
B 4
C 2,4
D 1,4
E 3,4
F 3
G 1
Internet
C
D
B
G
E
A
F
30Ch4
40Ch2
15Ch4
25Ch3
20Ch4
50Ch1
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 802.11 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 (xi , ai ). xi = current channel; ai=hopping distance hopping rule: xi ← (xi + ai) 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)
1 0 2
(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 ( 現有 AB, 加入 BC)
A
BC A
BC
Case 2:all slots arereceiving,partial sync.
A
BC A
BC
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 C4 (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 technique2. an interesting de-synchronization technique
Disadv.1. need global time synchronization2. 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 l
ong intervals of time Switchable Interface: dynamically assigned to chann
els over short time scales
Transmission Rules: receiver-based a sender adapts to a receiver by changing its switcha
ble interface to the receiver’s fixed interface
37
Example
A B C
Fixed = 1 Fixed = 2 Fixed = 3
Initially: switchable = 3 switchable = 1 switchable = 2
Step 1: switchable = 2
Step 2: switchable = 3
2 interfaces per node1 fixed, 1 switchable
3 channels are available.
Routing Path: ABC
38
Fixed Interface assignment
Goal: to ensure that fixed interfaces of nodes in a neighbo
rhood 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)
AFixed=1
3
2
C1
CUL
BFixed=13
2
B1
CUL
3
2
D1
CUL
3
2
A1
CUL
3
2
E1
CUL
CFixed=1
DFixed=1
EFixed=1
40
Distributed Algorithm2. Periodically, each node broadcasts on every
channel its current fixed channel.
Example:
AFixed=1
3
2
C1
CUL
BFixed=13
2
B1
CUL
3
2
D1
CUL
3
2
A1
CUL
3
2
E1
CUL
CFixed=1
DFixed=1
EFixed=1
“Hello”
“Hello” “Hello”
41
Distributed Algorithm
3. On receiving a hello packet, a node updates its NeighborTable and ChannelUsageList.
Example:
AFixed=1
3
2
ABCDE1
CUL
BFixed=13
2
ABCDE1
CUL
3
2
ABCDE1
CUL
3
2
ABCDE1
CUL
3
2
ABCDE1
CUL
CFixed=1
DFixed=1
EFixed=1
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:
AFixed=1
3
2
ABCDE1
CUL
BFixed=13
2
ABCDE1
CUL
3
2
ABCDE1
CUL
3
2
ABCDE1
CUL
3
2
ABCDE1
CUL
CFixed=1
DFixed=1
EFixed=1
43
Distributed Algorithm
Example: C decides to change to channel 2
AFixed=1
3
2
ABCDE1
CUL
BFixed=13
2
ABCDE1
CUL
3
2
ABCDE1
CUL
3
2
ABCDE1
CUL
3
2
ABCDE1
CUL
CFixed=1
DFixed=1
EFixed=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.
44
Distributed Algorithm
Example: C broadcasts to neighbor
AFixed=1
3
C2
ABDE1
CUL
BFixed=13
2
ABCDE1
CUL
3
2
ABCDE1
CUL
3
2
ABCDE1
CUL
3
2
ABCDE1
CUL
CFixed=2
DFixed=1
EFixed=1
“Hello”
“Hello” “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
AFixed=1
3
C2
ABDE1
CUL
BFixed=13
C2
ABDE1
CUL
3
C2
ABDE1
CUL
3
C2
ABDE1
CUL
3
C2
ABDE1
CUL
CFixed=2
DFixed=1
EFixed=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.
46
Distributed Algorithm
Example: E checks its CUL, but does not change
AFixed=1
3
C2
ABDE1
CUL
BFixed=13
C2
ABDE1
CUL
3
C2
ABDE1
CUL
3
C2
ABDE1
CUL
3
C2
ABDE1
CUL
CFixed=2
DFixed=1
EFixed=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.
Nothing
47
Distributed Algorithm
Example: D changes to channel 1
AFixed=1
3
C2
ABDE1
CUL
BFixed=13
C2
ABDE1
CUL
3
C2
ABDE1
CUL
3
C2
ABDE1
CUL
3
C2
ABDE1
CUL
CFixed=2
DFixed=1
EFixed=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.
48
Distributed Algorithm
Example: D broadcasts
AFixed=1
3
C2
ABDE1
CUL
BFixed=13
C2
ABDE1
CUL
D3
C2
ABE1
CUL
3
C2
ABDE1
CUL
3
C2
ABDE1
CUL
CFixed=2
DFixed=3
EFixed=1
“Hello”
“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
AFixed=1
D3
C2
ABE1
CUL
BFixed=1D3
C2
ABE1
CUL
D3
C2
ABE1
CUL
D3
C2
ABE1
CUL
D3
C2
ABE1
CUL
CFixed=2
DFixed=3
EFixed=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
AFixed=1
D3
C2
ABE1
CUL
BFixed=1D3
C2
ABE1
CUL
D3
C2
ABE1
CUL
D3
C2
ABE1
CUL
D3
C2
ABE1
CUL
CFixed=2
DFixed=3
EFixed=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
AFixed=1
D3
C2
ABE1
CUL
BFixed=2D3
CB2
AE1
CUL
D3
C2
ABE1
CUL
D3
C2
ABE1
CUL
D3
C2
ABE1
CUL
CFixed=2
DFixed=3
EFixed=1
“Hello”
“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
AFixed=1
D3
CB2
AE1
CUL
BFixed=2D3
CB2
AE1
CUL
D3
CB2
AE1
CUL
D3
CB2
AE1
CUL
D3
CB2
AE1
CUL
CFixed=2
DFixed=3
EFixed=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!
AFixed=1
D3
CB2
AE1
CUL
BFixed=2D3
CB2
AE1
CUL
D3
CB2
AE1
CUL
D3
CB2
AE1
CUL
D3
CB2
AE1
CUL
CFixed=2
DFixed=3
EFixed=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 c
hannel 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
1
2
3
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
A B
C
D
10ms
10ms
10ms
30ms 40ms
E F
10ms10ms
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
1
n
org ii
WCETT ETT
10ms
15ms
5ms
5ms
20ms
WCETT=10+15+5+5+20=55Note:值愈小愈好
Example:
60
WCETT by Channel Diversity
Xj: sum of transmission times of hops on channel j
1maxch diversity j k jWCETT X
10msCh1 5ms
Ch1
5msCh3
20msCh2
X1 = 10+5 = 15X2 = 15+20+10 = 45X3 = 5WCETT = max(X1,X2,X3)
= max(15,45,5) =45
Example:15msCh2
10msCh2
Xj = Σ ETTi 1 j k≦ ≦Hop i is on channel j
61
Proposed: Combined WCETT
(1 ) org ch diversityWCETT WCETT WCETT
Example:S1:
2:3:4:
S
S
S
D
D
D
D
ETT=10
ETT=10
ETT=9
ETT=2
ETT=5
ETT=5
ETT=7
ETT=2
ETT=12
ETT=12
ETT=11
ETT=2
ETT=6
ETT=7
ETT=2
Ch1 Ch2
Path Sum Max WCETT (β=0.9) WCETT (β=0.1)
1 27 22 22.5 26.5
2 33 22 23.1 31.9
3 34 20 21.4 32.6
4 8 8 8 8
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 2004.
2. Paramvir Bahl, Ranveer Chandra, and John Dunagan, “SSCH: Slotted Seeded Channel Hopping for Capacity Improvement in IEEE 802.11 Ad-Hoc Wireless Networks,” in ACM Mobicom, 2004.
3. 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, 2004.
5. 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.