650 likes | 898 Views
Multi-Channel Protocols for Wireless Mesh Networks. Yu-Chee Tseng CS/NCTU. Outline. Introduction to MANET Review of 3 Multi-channel Protocols Summary. Wireless Mesh Network. Can simultaneously operate. A. C. 81/100 Ch1. B. 84/100 Ch2. Goodput = 165Mbps Multi-Channel.
E N D
Multi-Channel Protocols for Wireless Mesh Networks Yu-Chee Tseng CS/NCTU
Outline • Introduction to MANET • Review of 3 Multi-channel Protocols • Summary
Can simultaneously operate A C 81/100 Ch1 B 84/100 Ch2 Goodput = 165Mbps Multi-Channel Observation: Multi-channel MANET • IEEE 802.11 provides several non-overlapping channels which could be used simultaneously within a neighborhood. Ex: (Assume Channel Capacity = 100Mbps) Interference A C 44 /50 Ch1 B 43/ 50 Ch1 Link Capacity =100/2 Goodput = 87Mbps Single-Channel Expected Load
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.
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
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.
Problem Statement • Input: expected load on each link • Output: assignment of channels to network interfaces • Goal: to reduce interference between neighboring interfaces
An Example Internet • 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. B 30 A G 50 C 40 15 D 20 E 25 expected load on this link F
Example of Degree of Interference Degree of Interference for link E-F on different channels Internet B 30 Ch3 A G 50 Ch1 C 40 Ch1 15 Ch2 D link E-F will only experience interferences from links D-E, C-D, and D-G, but not from links B-C, A-C 20 Ch2 E 25 Ch1 F coverage of node E coverage of node F
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.
D-G A-C B-C E-F D-E C-D 50 40 30 25 20 15 A Running Example Internet • 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) B 30 A G 50 C 40 15 D 20 E 25 F
D-G A-C B-C E-F D-E C-D 50 40 30 25 20 15 Connect (D,G) Internet Channel List Degree of Interference B A G 50 Ch1 C D E F
D-G A-C B-C E-F D-E C-D 50 40 30 25 20 15 Connect (A,C) Internet Channel List Degree of Interference B A G 50 Ch1 C 40 Ch2 D E F
D-G A-C B-C E-F D-E C-D 50 40 30 25 20 15 Connect (B,C) Internet Channel List Degree of Interference B 30 Ch3 A G 50 Ch1 C 40 Ch2 D E F
D-G A-C B-C E-F D-E C-D 50 40 30 25 20 15 Connect (E,F) Internet Channel List Degree of Interference B 30 Ch3 A G 50 Ch1 C 40 Ch2 D E 25 Ch3 F
D-G A-C B-C E-F D-E C-D 50 40 30 25 20 15 Connect (D,E) Internet Channel List Degree of Interference B 30 Ch3 A G 50 Ch1 C 40 Ch2 D 20 Ch4 E 25 Ch3 F
D-G A-C B-C E-F D-E C-D 50 40 30 25 20 15 Connect (C,D) Channel List Degree of Interference Internet B 30 Ch3 A G 50 Ch1 C 40 Ch2 15 ?? D Switch from ch. to ch. 20 Ch4 E interference of new ch. 25 Ch3 F Explanation next page
D-G A-C B-C E-F D-E C-D 50 40 30 25 20 15 Connect (C,D) Internet Channel List Degree of Interference B 30 Ch3Ch4 A G 50 Ch1 C 40 Ch2 15 ?? D switch ch 3 to ch 4 (不含本身的15) 20 Ch4 E 25 Ch3 F
D-G A-C B-C E-F D-E C-D 50 40 30 25 20 15 Connect (C,D) Internet Channel List Degree of Interference B 30 Ch4 A G 50 Ch1 C 40 Ch2 15 Ch4 D 20 Ch4 E 25 Ch3 F select the one with min. int.
Internet B 30 Ch4 A G 50 Ch1 C 40 Ch2 15 Ch4 D 20 Ch4 E 25 Ch3 F Final Result Channel List
A Short Summary • Adv.: quite simple • Disadv. • need initial expected load on every link • centralized algorithm (must know network topology) • static network topology • static traffic load
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.
Protocol Outline: SSCH • Single interface hopping on multiple channels. • time is slotted • SSCH (Slotted Seeded Channel Hopping) • Each node has its own channel hopping schedule. • Each node transmits its schedule to neighboring nodes in the beginning of each slot. • 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.
原理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.
Channel Schedule Example 1 0 2 (channel,seed) 1 (channel,seed) 2 (mod 3) (channel,seed) 1 (channel,seed) 2 (mod 3)
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.
原理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 (channel-A,seed-A) (channel-B,seed-B) (channel-B, seed-B) B A
B C A 原理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
B B B B C C C C A A A A Solution (現有AB,加入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 C 4 (channel,seed) (x1,a1) (x2,a2) (x3,a3) (x4,a4) Case 2: all slots are receiving, partial sync.
(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) 原理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 may choose to de-sync. Example: 3 pairs use the same (channel, seed) in the 2nd virtual channel
Short Summary • Adv. • an interesting partial synchronizationtechnique • an interesting de-synchronizationtechnique • Disadv. • need global time synchronization • only designed for one interface
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.
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
Fixed = 2 Fixed = 3 Fixed = 1 A B C Initially: switchable = 3 switchable = 1 switchable = 2 Step 1: switchable = 2 Step 2: switchable = 3 Example • 2 interfaces per node • 1 fixed, 1 switchable • 3 channels are available. Routing Path: ABC
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
Example: All nodes are neighbors (3 channels) CUL CUL CUL CUL CUL E D C B A 1 1 1 1 1 D B E A C Fixed=1 Fixed=1 Fixed=1 Fixed=1 Fixed=1 2 2 2 2 2 3 3 3 3 3 Distributed Algorithm 1. Initially, each node chooses a random channel as its fixed interface.
Example: CUL CUL CUL CUL CUL A C B E D 1 1 1 1 1 A B D C E Fixed=1 Fixed=1 Fixed=1 Fixed=1 Fixed=1 2 2 2 2 2 3 3 3 3 3 Distributed Algorithm 2. Periodically, each node broadcasts on every channel its current fixed channel. “Hello” “Hello” “Hello”
Example: CUL CUL CUL CUL CUL E D C B A 1 1 1 1 1 ABCDE ABCDE ABCDE ABCDE ABCDE Fixed=1 Fixed=1 Fixed=1 Fixed=1 Fixed=1 2 2 2 2 2 3 3 3 3 3 Distributed Algorithm 3. On receiving a hello packet, a node updates its NeighborTable and ChannelUsageList.
Example: CUL CUL CUL CUL CUL E D C B A 1 1 1 1 1 ABCDE ABCDE ABCDE ABCDE ABCDE Fixed=1 Fixed=1 Fixed=1 Fixed=1 Fixed=1 2 2 2 2 2 3 3 3 3 3 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: C decides to change to channel 2 CUL CUL CUL CUL CUL B C D A E 1 1 1 1 1 ABCDE ABCDE ABCDE ABCDE ABCDE Fixed=1 Fixed=1 Fixed=1 Fixed=1 Fixed=1 2 2 2 2 2 3 3 3 3 3 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. Change
Example: C broadcasts to neighbor CUL CUL CUL CUL CUL B C D A E 1 1 1 1 1 ABCDE ABCDE ABDE ABCDE ABCDE Fixed=1 Fixed=2 Fixed=1 Fixed=1 Fixed=1 2 2 2 2 2 C 3 3 3 3 3 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. “Hello” “Hello” “Hello”
Example: after broadcast CUL CUL CUL CUL CUL B E C D A 1 1 1 1 1 ABDE ABDE ABDE ABDE ABDE Fixed=2 Fixed=1 Fixed=1 Fixed=1 Fixed=1 2 2 2 2 2 C C C C C 3 3 3 3 3 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: E checks its CUL, but does not change CUL CUL CUL CUL CUL B E C D A 1 1 1 1 1 ABDE ABDE ABDE ABDE ABDE Fixed=2 Fixed=1 Fixed=1 Fixed=1 Fixed=1 2 2 2 2 2 C C C C C 3 3 3 3 3 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. Nothing
Example: D changes to channel 1 CUL CUL CUL CUL CUL B E C D A 1 1 1 1 1 ABDE ABDE ABDE ABDE ABDE Fixed=2 Fixed=1 Fixed=1 Fixed=1 Fixed=1 2 2 2 2 2 C C C C C 3 3 3 3 3 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. Change
Example: D broadcasts CUL CUL CUL CUL CUL B E C D A 1 1 1 1 1 ABDE ABDE ABE ABDE ABDE Fixed=2 Fixed=1 Fixed=3 Fixed=1 Fixed=1 2 2 2 2 2 C C C C C 3 3 3 3 3 D 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. “Hello” “Hello”
Example: after D’s broadcast CUL CUL CUL CUL CUL E A D C B 1 1 1 1 1 ABE ABE ABE ABE ABE Fixed=1 Fixed=1 Fixed=3 Fixed=2 Fixed=1 2 2 2 2 2 C C C C C 3 3 3 3 3 D D D D D 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: B changes to channel 2 CUL CUL CUL CUL CUL B E C D A 1 1 1 1 1 ABE ABE ABE ABE ABE Fixed=1 Fixed=2 Fixed=3 Fixed=1 Fixed=1 2 2 2 2 2 C C C C C 3 3 3 3 3 D D D D D 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. Change