Wireless “ESP”: Using Sensors to Develop Better Network Protocols Lenin Ravindranath Calvin Newport, Hari Balakrishnan, Sam Madden Massachusetts Institute of Technology
Big Changes in Access Devices 172M smartphones sold worldwide in 2009 – 25% of US phone market; 50% in two years Smartphones and tablets will exceed PC sales by 2011 Mobile Internet growing at a tremendous pace
Big Changes in Access Devices Dominant mode of data access in the future
“Truly Mobile” Devices Often switch between static and mobile Exhibit a variety of mobility modes Move through different environments
Protocols need to adapt to different settings – Mobility mode impacts wireless performance The Problem Most protocols optimized for static settings – They perform poorly during mobility Protocols that compensate for mobility are not optimal in static settings
Static vs. Mobile Channel constantly changing – Channel assessments quickly outdated – Protocols should not maintain long histories Channel relatively stable – Protocols can average estimates – Ignore short-term variations
Topology is hardly changing – Probe for links less frequently – Compute routes over long time scales Topology changing rapidly – Probe for links more often – Compute routes over shorter time scales Static vs. Mobile
Current Wireless Protocols Do not differentiate between mobility modes Attempt to adapt to both settings implicitly using measurements of packet loss, SNR, BER Leading to suboptimal performance Lack of explicit knowledge about prevalent mobility mode Can we do better?
Proximity Sensor Camera Ambient Light Sensor Microphone Accelerometer GPS Compass Gyro
Accelerometer Proximity Sensor Camera Ambient Light Sensor Microphone GPS Compass Gyro Many, many, applications…
Accelerometer Proximity Sensor Camera Ambient Light Sensor Microphone GPS Compass Gyro Ignored by Protocols!
Application Transport Network MAC PHY Wireless Radio Wireless Protocol Stack Accelerometer Proximity Sensor Camera Ambient Light Sensor Microphone GPS Compass Gyro Ignored by Protocols!
Application Transport Network MAC PHY Wireless Radio Wireless Protocol Stack Accelerometer GPS Compass Gyro
Application Transport Network MAC PHY Wireless Radio Wireless Protocol Stack GPS Compass Accl Gyro Hints
Application Transport Network MAC PHY Wireless Radio Wireless Protocol Stack GPS Compass Accl Gyro Hints Movement Direction Speed Use hints to adapt to different mobility modes differently Hints Protocol Adapt to hints from neighbors
Application Transport Network MAC PHY Wireless Radio Wireless Protocol Stack GPS Compass Accl Gyro Rate Adaptation Movement Heading AP Association Speed Vehicular Routing Walking
Application Transport Network MAC PHY Wireless Radio Wireless Protocol Stack GPS Compass Accl Gyro Rate Adaptation Movement Heading AP Association Speed Disassociation Packet Scheduling Power Saving Preamble Network Monitoring Speed Walking Location Vehicular Routing
Application Transport Network MAC PHY Wireless Radio Wireless Protocol Stack GPS Compass Accl Gyro Rate Adaptation Movement Heading AP Association Speed Walking Vehicular Routing
Application Transport Network MAC PHY Wireless Radio Wireless Protocol Stack GPS Compass Accl Gyro Rate Adaptation Movement
Accl Movement Reliably detect movement within 100ms
Application Transport Network MAC PHY Wireless Radio Wireless Protocol Stack GPS Compass Accl Gyro Rate Adaptation Movement
Rate Adaptation in Wireless Networks 6 Mbps 9 Mbps 12 Mbps 18 Mbps 24 Mbps 36 Mbps 48 Mbps 54 Mbps a/g bit rates Packet encoded at a particular bit rate Rate Adaptation: Finding the best bit rate to transmit a packet
Static vs. Mobile Performance Static and walking traces – Cycle through bit rates 4 different environments – 80 traces, 20 seconds long Trace-driven simulation – TCP throughput Static Sample Rate85 – 99% RRAA80 – 97% RBAR 70 – 80% CHARM Moving Sample Rate33 – 59% RRAA45 – 63% RBAR 60 – 75% CHARM Compare to optimal throughput
Static vs. Mobile Loss Patterns Probability that packet i+k is lost given packet i is lost 10 ms Losses are more bursty when a node is mobile than when a node is static k
6 Mbps 9 Mbps 12 Mbps 18 Mbps 24 Mbps 36 Mbps 48 Mbps 54 Mbps 6 Mbps 9 Mbps 12 Mbps 18 Mbps 24 Mbps 36 Mbps 48 Mbps 54 Mbps RapidSample 6 Mbps 9 Mbps 12 Mbps 18 Mbps 24 Mbps 36 Mbps 48 Mbps 54 Mbps 1. After a single loss Reduce rate 2. History - 10 ms Don’t retry a failed rate Or any higher rate 3. Channel not degrading, probably improving After few successes, sample higher rate not failed If wrong, come back to the original rate [failed – within last 10ms]
RapidSample, when device is moving Up to 75% better throughput than SampleRate 25% better than other protocols Trace driven (ns3) 30 traces 20 seconds long TCP throughput
But when static… Up to 30% lower throughput than other schemes Trace driven (ns3) 30 traces 20 seconds long TCP throughput
Application Transport Network Rate Adaptation PHY Wireless Radio Wireless Protocol Stack GPS Compass Accl Gyro Movement RapidSample when movement SampleRate when static Movement Hint-Aware Rate Adaptation
40-50% better than other schemes Trace driven (ns3) 10 traces 20 seconds long Static + Moving TCP throughput
Application Transport Network MAC PHY Wireless Radio Wireless Protocol Stack GPS Compass Accl Gyro Rate Adaptation Movement Heading AP Association Speed Walking Vehicular Routing
Application Transport Network MAC PHY Wireless Radio Wireless Protocol Stack GPS Compass Accl Gyro Heading AP Association Walking
AP Association Scan Infrequent scans
AP Association Suboptimal Association Static
Movement-Aware Association 1. Static – Stop Scanning 2. Moving – Scan Periodically 3. Moving to Static – Scan once
Movement-Aware Association On median, 40% more throughput Android implementation 30 traces Static + Moving Throughput
Heading-Aware Association Minimize Handoff Training based approach Heading
Heading-Aware Association 40% median reduction in handoffs Android implementation Training (30 traces) 30 traces # Handoffs
Application Transport Network MAC PHY Wireless Radio Wireless Protocol Stack GPS Compass Accl Gyro Rate Adaptation Movement Heading AP Association Speed Walking Vehicular Routing
Application Transport Network MAC PHY Wireless Radio Wireless Protocol Stack GPS Compass Accl Gyro Heading Speed Vehicular Routing
Routing in Vehicular Mesh Networks “V2V”
Routing in Vehicular Mesh Networks Longevity of links useful – avoids expensive repairs Link between nodes heading in the same direction tend to last longer Connection Time Estimate (CTE) Use heading, speed and position to predict connection duration
Routing in Vehicular Mesh Networks Heading [0, 9)[10, 19)[20, 29)[30, 180]All Links Link Duration (s) Empirical evaluation on taxi traces 15 networks, 100 vehicles each Links with similar heading lasted 4 to 5 times longer than the median duration over all links
Application Transport Network MAC PHY Wireless Radio Wireless Protocol Stack GPS Compass Accl Gyro Rate Adaptation Movement Heading AP Association Speed Walking Vehicular Routing
Application Transport Network MAC PHY Wireless Radio Wireless Protocol Stack GPS Compass Accl Gyro Rate Adaptation Movement Heading AP Association Speed Disassociation Packet Scheduling Power Saving Preamble Network Monitoring Speed Walking Location Vehicular Routing
Related Work Wireless power saving – WakeOnWireless, Cell2Notify, Blue-Fi Vehicular networking – use GPS – AP association Mobisteer, Breadcrumbs – Rate adaptation CARS: Adapt rate based on speed and heading Very recent work – Accelerometer-assisted rate adaptation
Take-Away Message Truly mobile devices will soon be dominant – Variety of mobility modes poses problems for wireless protocols Sensors on these devices give us a new opportunity to develop network protocols Protocol architecture using sensor hints can significantly improve MAC, link, network layers
Backup
Probing How frequently should nodes probe? Delivery Probability ETX, ETT Probes
Infrequent Probing Inaccurate link estimation leads to poor throughput Inaccurate link estimation leads to poor throughput
Frequent Probing Probing wastes bandwidth
Delivery Probability Mobility causes delivery probability to fluctuate with bigger jumps Mobility causes delivery probability to fluctuate with bigger jumps
Static vs. Mobile Mobile case requires 20x more probes to maintain acceptable estimation error Mobile case requires 20x more probes to maintain acceptable estimation error
Adaptive Probing Protocol Adapt probing based on movement hints When a node is static – Probe infrequently (1 probe every 2 seconds) When a node is mobile – Probe frequently (10 probes per second)
Adaptive Probing Tracks the link accurately with fewer probes
Pruning association