220 likes | 495 Views
SSCH: Slotted Seeded Channel Hopping for Capacity Improvement in Ad Hoc Networks. Victor Bahl (Microsoft Research) Ranveer Chandra (Cornell University) John Dunagan (Microsoft Research). Motivation: Improving Capacity. Traffic on orthogonal channels do not interfere
E N D
SSCH: Slotted Seeded Channel Hoppingfor Capacity Improvement in Ad Hoc Networks Victor Bahl (Microsoft Research) Ranveer Chandra (Cornell University) John Dunagan (Microsoft Research)
Motivation: 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
Channel Hopping: Prior Work • Using multiple radios: • DCA (ISPAN’00): a control and a data channel • MUP (Broadnets’04): multiple data channels • Consumes more power, expensive • Using non-commodity radios: • HRMA (Infocom’99): 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) (Mobihoc’04)
Channel Hopping: MMAC MMAC Basic idea: Periodically rendezvous on a fixed channel to decide the next channel Issues • Packets to multiple destinations high delays • Control channel congestion • Does not handle broadcasts Channel 1 Channel 6 Channel 11 Data Control Data Data Control
Our 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
Outline of the Talk • Problem Overview • Related Work • SSCH: The Main Idea • SSCH: A Few Details • Performance of SSCH • Conclusion
SSCH: 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
Follow A: Change next (channel, seed) to (2, 2) SSCH: 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 2 1 1 3 channels B wants to start a flow with A B 2 0 1 2 1 0 2 1 0 2 1 1 2 2 2 2 2 2 Seed Stale (channel, seed) info simply results in delayed syncing
Outline 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
Nodes might not overlap! If seeds are same and channels are different in a slot: Seed = 2 0 2 1 0 2 0 A 1 1 3 channels B Seed = 2 2 1 1 0 2 1 0 2 Nodes are off by a slot Nodes will not overlap
SSCH: Parity Slots Every (Number of Channels+1) slot is a Parity Slot In the parity slot, the channel number is the seed A Seed = 1 1 2 1 0 1 2 1 0 3 channels B Seed = 1 0 1 1 2 0 1 1 2 Parity Slot Parity Slot Guarantee: If nodes change their seeds only after the parity slot, then they will overlap
SSCH: 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 1 2 2 1 0 0 1 1 2 2 1 0 0 Parity Slot = seed 1 (1 +1) mod 3 = 2
Illustration 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 Node A 1 2 2 1 0 0 1 1 2 2 1 0 0 B wants to start a flow with A Node B 1 2 0 1 2 0 2 1 2 2 1 0 0 Seeds 2 1 2 2 2 2 1 2 1 2 1 2 Partial Sync (only 2nd seed) Seeds: (2, 2) Channels: (2, 1) Complete Sync (sync 1st seed) Seeds (1, 2) Channels: (1, 2)
SSCH: 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 Node A 2 1 0 0 1 B’s broadcast B’s broadcast in SSCH Node B 0 1 2 0 2 Seeds 2 2 2 2 SSCH Approach Rebroadcast the packet over ‘X’ consecutive slots a greater number of nodes receive the broadcast
Outline 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
Simulation 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 4*13+1 = 53 slots, • 53 slots is: 53*10 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
SSCH: Stationary Throughput Per-Flow throughput for disjoint flows SSCH IEEE 802.11a SSCH significantly outperforms single channel IEEE 802.11a
SSCH 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)
SSCH 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 betterthroughput although it forces DSR to discover slightly longerroutes
Conclusions 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)
Future Work • Analyze TCP performance over SSCH • Study interoperability with non-SSCH nodes • Study interaction with 802.11 auto-rate • Implement and deploy SSCH (MultiNet)