Wireless ad hoc networks
Acknowledgement: Slides borrowed from Richard Y. Yang @ Yale
Infrastructure-based v.s. ad hoc
• Infrastructure-based networks
– Cellular network
– 802.11, access points
• Ad hoc networks
– Mobile ad hoc networks
• Military applications, emergency rescue
– Mesh networks
• “Last mile” of the Internet. Provide high speed wireless
network.
Infrastructure v.s. ad hoc
infrastructure
mode
AP: Access Point AP wired network
AP
AP
ad-hoc (mesh) mode
3
Infrastructure-based v.s. ad hoc
• Infrastructure-based networks
– Deployment is costly. Structures are not flexible.
– Vulnerable to attacks.
• Ad hoc networks
– Flexible, easy to deploy, cheaper.
– Robust and resilient to attacks/failures, self
healing.
– Problem: many research problems to achieve high
capacity.
Mesh networks
Multiple projects
tested in Berlin,
Germany, South
africa, India.
DIY guide on wiki
Capacity of Wireless Networks
• The question we ask:
how much traffic can a wireless network carry,
assuming we can solve MAC issues perfectly?
• Why study capacity?
– learn the fundamental limits of wireless
networks
– separate the spatial reuse perspective and the
distributed synchronization (MAC) perspective
– gain insight for designing effective wireless
protocols
6
Interference Model
• Transmission successful if there are no other
transmitters (transmit at the same freq and
code) within a distance (1+∆)r of the receiver,
where r is the distance from the sender to the
receiver
receiver
(1+∆)r r
sender
7
Derivation of Capacity for Arbitrary Networks
• Model
– domain is a disk of unit area
– there are n nodes in the domain
– the transmission rate is W bits/sec
8
Two Constraints
Interference constraint Radio interface constraint
transmission a single half-duplex
successful if there are transceiver at each
no other transmitters node:
within a distance either transmits or
(1+∆)r of the receiver receives
transmits to only one
receiver
receiver receives from only one
sender
(1+∆)r r
sender
9
Assumptions
• Optimal power assignment /transmission
range
• Optimal scheduling & multi-hop routing
• Node are static.
• Random source-destination pairs
• Consider asymptotic capacity when n-> infty
Capacity
• Capacity = λ
• Total bits transmitted by all nodes
11
Transmission range
• Transmission range is big
– Interference constraints prevent simultaneous
transmissions
• Transmission range is small
– It takes a lot of hops to arrive at the destination
• Even at optimal configuration, the capacity is low.
• On average, each node has O(W/√n) bit-
meter/sec, which converges to 0 as n->infty
Capacity
• Capacity (in bit-meter) for n nodes is
8W
λL ≤ n
π ∆
• On average, each node has O(W/√n) bit-
meter/sec
• When n-> infty, the capacity per node is 0.
Capacity upper bound
• An ad hoc network does not scale.
• To improve capacity
– Avoid multi-hop traffic
– Use multiple radio interfaces
– Reduce interference
– Use multiple channels
Improving Capacity: Change Traffic Pattern
• To make communications local
– node placement: change the demand patterns (thus L)
• e.g. base stations/access points with high-speed backhaul
– use mobility
infrastructure
BS1 BS2
B C D E T
F A
S 15
Improving Capacity: Reduce Radio Interface
Constraint
• Multiple radio interfaces/codes
16
Improving Capacity: Reduce Interference
Constraint
• Antenna design: steered/switched directional antennas
A B C A B C
D D
• Non-interfering channels
17
Improving capacity: exploiting
interference
• Network coding
a b
A B C
a⊕b a⊕b
A B C
Wireless broadcast
• Hidden terminal problem
Hidden Terminal Scenario
C
Src C
R1 C
R2 C
Dst
Hidden Terminal Scenario
C
Src C
R1 C
R2 C
Dst
P1
Hidden Terminal Scenario
C
Src C
R1 C
R2 C
Dst
P2 P1
1) Src and R2 transmit simultaneously
Hidden Terminal Scenario
C
Src C
R1 C
R2 C
Dst
P1 P2
1) Src and R2 transmit simultaneously
2) R1 subtracts P1, which he relayed earlier to recover
P2 that he wants
Hidden Terminal Scenario
C
Src C
R1 C
R2 C
Dst
P1 P2
R2 and Src are hidden terminals
Simultaneous transmission Collision
With analog network coding, Simultaneous
transmission Success!
Next
• Improving capacity using multiple channels in
802.11 mesh
• [SSCH]
Multi-Channel 802.11 Mesh
• Wireless LANs
– APs determine the channel
– Clients share the same channel as their associated APs
• 802.11 mesh networks
– Each node can choose operating 802.11 channels to
increase spatial reuse
2 1
1
2
25
Multi-Channel 802.11 Mesh: Goal
Goal: Using right channels at right nodes at
right time to improve network throughput
1
1 1
2 c
2 1
1
m
c
26
Interface Assignment Strategies
Static assignment 1
an interface is assigned a fixed 1
channel
c
Dynamic assignment
interface assignment changes
with time
Hybrid interface assignment
some interfaces use static assignment,
others use dynamic assignment
To focus on the key issue: assume a single
interface 27
Key Challenge
Connectivity vs using multiple channels
1 1 1
A B C A B C
1
1 2
1 D
D
Multiple channels not used Network is disconnected
Additional constraints: intermediate relay
nodes need to share the same channel as
the upstream and downstream node
28
SSCH: Slotted Seeded Channel Hopping –
Overview
• A dynamic assignment algorithm
– divides the time into equal sized slots (e.g. 10 ms) and
switches each radio across multiple orthogonal
channels on the boundary of slots in a distributed
manner
• Main aspect of SSCH
– channel scheduling
• self-computation of tentative schedule
• communication of schedules
• synchronization with other nodes
29
SSCH – Desired Properties
• No Logical Partition: Any two nodes in
communication range will overlap on a
channel with moderate frequency
• Synchronization: Allow nodes that need to
communicate to synchronize
• De-synchronization: Infrequently overlap
between nodes with no communication
1 B C
A
2 30
D
Channel Scheduling -Self-Computation
• Each node uses (channel, seed) pairs to represent its tentative
schedule for the next slot
• Seed: [1 , number of channels -1] Initialized randomly
• Focus on the simple case of using one pair
• Update rule:
new channel = (old channel + seed)
mod (number of channels)
A: Seed = 2 1 0 2 1 0 2 1 0
B: Seed = 1 0 1 2 0 1 2 0 1
Example: 3 channels, 2 seeds
31
Channel Scheduling – Logical Partition
Are nodes guaranteed to overlap?
same init channel, same seed (always overlap)
same init channel, different seeds (overlap occasionally)
different init channels, different seeds (overlap occasionally)
special case: Nodes may never overlap if they have the same
seed but different channels
A: Seed = 1 1 2 0 1 2 0 1 2
B: Seed = 1 0 1 2 0 1 2 0 1
32
Channel Scheduling –
Solution to Logical Partition
• Parity slot
– every (number of channels) slots, add a parity slot
– in parity slot, the channel number is the seed
A: Seed = 1 1 2 0 1 1 2 0 1 1 2
B: Seed = 1 0 1 2 1 0 1 2 1 0 1
Parity Slot Parity Slot
33
Channel Scheduling -
Communication of Schedules
• Each node broadcasts its tentative schedule
(represented by the pair) once per slot
34
Channel Scheduling - Synchronization
• If node B needs to send data to node A, it adjusts its (channel,
seed) pair to be the same as A.
Seed 1 1 1 1 1 1 1 1 1
A 1 2 0 1 1 2 0 1 1 2
Sync starts
Flow starts upon the
parity slot
B 0 2 1 2 1 2 0 1 1 2
Seed 2 2 2 2 1 1 1 1 1
35
Channel Scheduling –
Channel Congestion
• It is likely various nodes will converge to the same
(channel, seed) pair and communicate infrequently after
that.
(1,2)
(1,2) (1,2)
(1,2)
(1,2)
36
Channel Scheduling – Solution to Channel
Congestion
• De-synchronization
• To identify channel congestion: compare the
number of the synchronized nodes and the
number of the nodes sending data. De-
synchronize when the ratio >= 2
• To de-synchronize, simply choose a new
(channel, seed) pair for each synchronized and
non-sending nodes
37
Channel Scheduling –
Synchronizing with Multiple Nodes
• Examples
– a sender with multiple receivers
– a forwarding node in a multi-hop network
• Solution: Use multiple seeds per node
– use one seed to synchronize with one node
– add a parity slot every cycle ( = number of
channels * number of seeds); the channel
number of the parity slot is the first seed.
Green slots are generated by seed 1
Yellow slots are generated by seed 2
1 2 2 1 0 0 1 1 2 2 1 0 0
38
Channel Scheduling –
Partial Synchronization
Seed 1 2 1 2 1 2 1 2 1 2 1 2 1
A 1 2 2 1 0 0 1 1 2 2 1 0 0
Flow starts
B 1 2 0 1 2 0 1 1 2 0 1 2 0
Seed 2 1 2 2 2 2 2 2 2 2 2 2 2
Partial Sync
Sync the second seed only
39
Evaluations of SSCH
• Simulate in QualNet
• 802.11a, 54Mbps, (used) 13 orthogonal
channels
• Slot switch time = 80 µs
• 4 seeds per node, slot duration = 10 ms
• UDP flows: CBR flows of 512 bytes sent every
50 µs (enough to saturate the channel)
40
Evaluation – Throughput (UDP)
41
Evaluation – Multi-hop Mobile Networks
42
Conclusion
• Lots of research questions on multi-channel multi-
radio network
• Coordination of the nodes with distributed
algorithms
• Maximize throughput
• Often cross-layer optimization is considered.