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.
Multiple projects tested in Berlin, Germany, South africa, India. DIY guide on wiki Mesh networks
Capacity of Wireless Networks The questionwe study: how much traffic can a wirelessnetwork carry, assuming we can solve MAC issues perfectly? Why study capacity? learn the fundamental limits of wireless networks separate the spatial reuseperspective and the distributed synchronization (MAC) perspective gain insight for designing effective wireless protocols 6
Interference Model Transmissionsuccessful if there areno other transmitters(transmit at the same freq and code) within a distance (1+ )rof the receiver, where ris the distance fromthe sender to the receiver (1+ )r receiver 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 transmission successful if there are no other transmitters within a distance (1+ )r of the receiver (1+ )r receiver r Radio interface constraint a single half-duplex transceiver at each node: either transmits or receives transmits to only one receiver receives from only one sender 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. In fact, it converges to 0 as n->infty
Transmission Model: Bit-time Perspective Chop time into a total of WT bit-timesin T seconds The transmission decision is made for each bit 1 2 3 1 2 3 4 4 5 5 bit time 1 bit time 2 bit time t bit time WT 13
Transmission Model: End-to-end Perspective Assume the network sends a total of λt end-to-end bitsin T seconds Assume the b-thbit makes a total of h(b) hopsfrom the sender to the receiver Let r bh denote the hop-length of the h-thhop of the b-thbit 1 2 2 λt 14
Hop-Count Constraint 2 Since there are a total of WT bit-times, and during each bit-time there are at most n/2 simultaneous transmissions, we have λt h( b) WTn b= 1 2 15
Area Constraint Consider two simultaneous transmissions at a bit-time D jm + r >= D im >= (1+ )r (1+ )r ½ r j r i (1+ )r m ½ r r k D jm + r >= D jk >= (1+ )r D jm >= (r+r ) /2 16
Area Constraint For each transmission with distance r from sender to receiver, we draw a circle with radius ½ r These circles do not overlap 17
Area Constraint: Global Picture 2 18
Area Constraint: Global Picture 2 sum over all circles, since each circle has at least ¼ of its area in the unit disk, 19
Summary: Two Constraints Radio interface constraint a single half-duplex transceiver at each node Interference constraint transmission successful if there are no other transmitters within a distance (1+ )r of the receiver λt λt h( b) h( b) WT h ( rb ) 2 b= 1 2 b= 1 h= 1 π n 2 16WT 20
Capacity Bound Let L be the average (direct-line) distance for all source-destination pairs. λtl λt h( b) h n 2 n r b Note: x i n b= 1 h= 1 i = 1 i = 1 x 2 i λtl λtl λl λ T h( b) λt λt h( b) h r b h( b) b= 1 h= 1 b= 1 b= 1 h= 1 ( r WTn 16WT 8 WT = n 2 2 π π W π 8 Question: what does the result mean? n h b ) 2 21
Capacity Capacity (in bit-meter) for n nodes is λl 8 W π n On average, each node has O(W/ n) bitmeter/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 BS1 infrastructure BS2 F A B C D E T S 24
Improving Capacity: Reduce Radio Interface Constraint Multiple radio interfaces/codes 1 m 25
Improving Capacity: Reduce Interference Constraint Antenna design: steered/switched directional antennas A B C A B C D D Non-interfering channels 26
Improving capacity: exploiting Network coding interference A a B b C a b a b A B Wireless broadcast Hidden terminal problem C
Hidden Terminal Scenario Src C CR1 C R2 Dst C
Hidden Terminal Scenario Src C C R1 C R2 Dst C P1
Hidden Terminal Scenario Src C C R1 C R2 Dst C P2 P1 1) Src and R2 transmit simultaneously
Hidden Terminal Scenario Src C C R1 C R2 Dst C 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 Src C C R1 C R2 Dst C 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 2 1 1 34
Operating Channels for 802.11b Europe (ETSI) channel 1 channel 7 channel 13 2400 2412 2442 2472 2483.5 22 MHz [MHz] US (FCC)/Canada (IC) channel 1 channel 6 channel 11 2400 2412 2437 2462 2483.5 22 MHz [MHz] 35
Operating channels for 802.11a / US U-NII 36 40 44 48 52 56 60 64 channel 5150 5180 5200 5220 5240 5260 5280 5300 5320 5350 [MHz] 16.6 MHz 149 153 157 161 channel center frequency = 5000 + 5*channel number [MHz] 5725 5745 5765 5785 5805 5825 [MHz] 16.6 MHz 36
Multi-Channel 802.11 Mesh: Goal Goal: Using right channels at right nodes at right time to improve network throughput 2 2 1 1 1 m 1 c 1 c 37
Multi-Channel Network Capacity c: number of channels Channels 38
Setup A radio can use multiple orthogonal channels (e.g., 12 channels in 802.11a) 3 channels 8 channels 4 channels 26 MHz 100 MHz 200 MHz 100 MHz 915 MHz 2.45 GHz 5.25 GHz 5.8 GHz 1 1 c Key question: how to assign channels to interfaces? 39
Interface Assignment Strategies Static assignment an interface is assigned a fixed channel Dynamic assignment interface assignment changes with time Hybrid interface assignment some interfaces use static assignment, others use dynamic assignment 1 1 c To focus on the key issue: assume a single interface 40
Key Challenge Connectivity vs using multiple channels A 1 1 B C A 1 B C 1 1 1 D D 2 Multiple channels not used Network is disconnected Additional constraints: intermediate relay nodes need to share the same channel as the upstream and downstream node 41
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 42
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 A 1 B C D 2 43
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 44
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 45
Parity slot Channel Scheduling Solution to Logical Partition 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 46
Channel Scheduling - Communication of Schedules Each node broadcasts its tentative schedule (represented by the pair) once per slot 47
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 A 1 1 1 1 1 1 1 1 1 1 2 0 1 1 2 0 1 1 2 Flow starts B Sync starts upon the parity slot 0 2 1 2 1 2 0 1 1 2 Seed 2 2 2 2 1 1 1 1 1 48
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) 49
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. Desynchronize when the ratio >= 2 To de-synchronize, simply choose a new (channel, seed) pair for each synchronized and non-sending nodes 50
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 51
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 52
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) 53
Evaluation Throughput (UDP) 54
Evaluation Multi-hop Mobile Networks 55
Conclusion Lots of research questions on multi-channel multiradio network Coordination of the nodes with distributed algorithms Maximize throughput Often cross-layer optimization is considered.