Title: SSCH: Slotted Seeded Channel Hopping for Capacity Improvement in Ad Hoc Networks
1SSCH Slotted Seeded Channel Hoppingfor Capacity
Improvement in Ad Hoc Networks
- Victor Bahl (Microsoft Research)
- Ranveer Chandra (Cornell University)
- John Dunagan (Microsoft Research)
2Motivation Improving Capacity
Traffic on orthogonal channels do not
interfere e.g. Channels 1, 6 and 11 for IEEE
802.11b
Can we get the benefits of multiple channels in
ad hoc networks?
Example An IEEE 802.11b network with 3 Access
Points
Channel 1
Channel 6
Channel 6
Channel 11
3Channel Hopping Prior Work
- Using multiple radios
- DCA (ISPAN00) a control and a data channel
- MUP (Broadnets04) multiple data channels
- Consumes more power, expensive
- Using non-commodity radios
- HRMA (Infocom99) high speed FHSS networks
- Nasipuri et al, Jain et al listen on many
channels - Expensive, not easily available
- Using a single commodity radio
- Multi-channel MAC (MMAC) (Mobihoc04)
4Channel Hopping MMAC
MMAC Basic idea Periodically rendezvous on a
fixed channel to decide the next channel
Channel 1
Channel 6
Channel 11
Data
Data
Control
Data
Control
- Issues
- Packets to multiple destinations ? high delays
- Control channel congestion
- Does not handle broadcasts
5Our Contributions
- SSCH a new channel hopping protocol that
- Increases network capacity using multiple
channels - Overcomes limitations of dedicated control
channel - No control channel congestion
- Handles multiple destinations without high delays
- Handles broadcasts for MANET routing
6Outline of the Talk
- Problem Overview
- Related Work
- SSCH The Main Idea
- SSCH A Few Details
- Performance of SSCH
- Conclusion
7SSCH Slots and Seeds
Divide time into slots switch channels at
beginning of a slot
New Channel (Old Channel seed) mod (Number of
Channels) seed is from 1 to (Number of Channels -
1)
(1 2) mod 3 0
Seed 2
3 channels E.g. for 802.11b Ch 1 maps to 0 Ch 6
maps to 1 Ch 11 maps to 2
A
0
2
1
0
2
0
1
1
B
Seed 1
0
1
2
0
1
2
0
1
(0 1) mod 3 1
- Enables bandwidth utilization across all
channels - Does not need control channel rendezvous
8SSCH Syncing Seeds
- Each node broadcasts (channel, seed) once every
slot - If B has to send packets to A, it adjusts its
(channel, seed)
Seed
2
2
2
2
2
2
2
2
2
A
0
2
1
0
2
0
1
1
2
3 channels
B wants to start a flow with A
B
0
1
2
1
0
2
1
2
0
2
Seed
1
2
2
2
2
2
2
1
Stale (channel, seed) info simply results in
delayed syncing
9Outline of the Talk
- Problem Overview
- Related Work
- SSCH The Main Idea
- SSCH A Few Details
- Parity Slots Ensuring overlap
- Partial Sync Sending to multiple destinations
- Handling broadcasts
- Performance of SSCH
- Conclusion
10Nodes might not overlap!
If seeds are same and channels are different in a
slot
Seed 2
0
2
1
0
2
0
1
1
A
3 channels
B
Seed 2
1
1
2
0
2
1
0
2
Nodes are off by a slot ? Nodes will not overlap
11SSCH Parity Slots
Every (Number of Channels1) slot is a Parity
Slot In the parity slot, the channel number is
the seed
Seed 1
A
0
1
2
2
1
1
1
0
3 channels
B
Seed 1
0
1
2
2
0
1
1
1
Parity Slot
Parity Slot
Guarantee If nodes change their seeds only after
the parity slot, then they will overlap
12SSCH Partial Synchronization
- Syncing to multiple nodes, e.g., A sends packets
to B C - Each node has multiple seeds
- Each seed can be synced to a different node
- Parity Slot Still Works
- Parity slot (Number of Channels)(Number of
Seeds) 1 - In parity slot, channel is the first seed
- First seed can be changed only at parity slot
If the number of channels is 3, and a node has 2
seeds 1 and 2
(2 2) mod 3 1
2
2
1
0
1
1
0
2
2
1
1
0
0
Parity Slot seed 1
(1 1) mod 3 2
13Illustration of the SSCH Protocol
Suppose each node has 2 seeds, and hops through 3
channels.
Seeds
1
2
1
2
1
2
1
2
1
2
1
2
2
2
1
0
1
1
0
2
2
1
1
0
0
Node A
B wants to start a flow with A
2
0
1
2
1
2
0
2
2
1
1
0
0
Node B
Seeds
2
1
2
2
2
2
1
2
1
2
1
2
Complete Sync (sync 1st seed) Seeds (1,
2) Channels (1, 2)
Partial Sync (only 2nd seed) Seeds (2,
2) Channels (2, 1)
14SSCH Handling Broadcasts
A single broadcast attempt will not work with
SSCH since packets are not received by neighbors
on other channels
Seeds
1
2
1
2
2
1
0
1
0
Node A
Bs broadcast
Bs broadcast in SSCH
0
1
2
2
0
Node B
Seeds
2
2
2
2
SSCH Approach Rebroadcast the packet over X
consecutive slots ? a greater number of nodes
receive the broadcast
15Outline of the Talk
- Problem Overview
- Related Work
- SSCH The Main Idea
- SSCH A Few Details
- Performance of SSCH
- Improvement in throughput
- Handling broadcast packets
- Performance in multi-hop mobile networks
- Conclusions
16Simulation Environment
- QualNet simulator
- IEEE 802.11a at 54 Mbps, 13 channels
- Slot Time of 10 ms and 4 seeds per node
- a parity slot comes after 4131 53 slots,
- 53 slots is 5310 ms 530 ms
- Channel Switch Time 80 µs
- Chipset specs Maxim04,
- EE literature J. Solid State Circuits 03
- CBR flows of 512 byte packets per 50 µs
17SSCH Stationary Throughput
Per-Flow throughput for disjoint flows
SSCH
IEEE 802.11a
SSCH significantly outperforms single channel
IEEE 802.11a
18SSCH Handles Broadcasts
10 Flows in a 100 node network using DSR
Average route length for IEEE 802.11a
Average discovery time for IEEE 802.11a
For DSR, 6 broadcasts works well (also true for
AODV)
19SSCH in Multihop Mobile Networks
Random waypoint mobility Speeds min 0.01 m/s
max rand(0.2, 1) m/s
Average route length for IEEE 802.11a
Average flow throughput for IEEE 802.11a
SSCH achieves much better throughput although it
forces DSR to discover slightly longer routes
20Conclusions
- SSCH is a new channel hopping protocol that
- Improves capacity using a single radio
- Does not require a dedicated control channel
- Works in multi-hop mobile networks
- Handles broadcasts
- Supports multiple destinations (partial sync)
21Future Work
- Analyze TCP performance over SSCH
- Study interoperability with non-SSCH nodes
- Study interaction with 802.11 auto-rate
- Implement and deploy SSCH (MultiNet)
22(No Transcript)