530 likes | 642 Views
From Wi-Fi to Warcraft : End-to-End Enhancements for Seamless Mobile Applications. Justin Manweiler Duke University. Four Grand Challenges in Mobile Computing. Power. Redesigning for Energy Efficiency “ Why is my battery dead, already? ”. (Wireless Network) Performance.
E N D
From Wi-Fi to Warcraft:End-to-End Enhancements for Seamless Mobile Applications Justin Manweiler Duke University
Four Grand Challenges in Mobile Computing Power Redesigning for Energy Efficiency “Why is my battery dead, already?” (Wireless Network) Performance Capacity, Robustness, Management Privacy For Locations, Interactions, Behaviors, Not everyone wants to be called “Mayor.” Pervasiveness Adapting to Humans and Surroundings The “smart” in smartphone. Today’s talk will instantiate each through a system design
Perspective • Well-known problems in mobile/wireless space • Despite clear problems, ubiquitous use • Now beyond early adopters, need seamlessness My research considers the end-to-end experience, from communication to application
Approach • Bottom-up and Top-down • New primitives to solve near-at-hand problems • Interdisciplinary • Convergence of many domains, technologies, techniques • Empirical • Real-world pitfalls; don’t want to abstract away complexity • Practical • Standards-compliant, off-the-shelf hardware, deployable
Challenging Contexts Enterprise Home On-the-Go Performance “Plug-and-play” Simplicity Scarce Resources Dynamic Environments, Adaptation Privacy Reliability SleepWell Surveyor SMILE Shuffle RxIP Switchboard BytesToGo
Today’s Talk: 2 Parts Top-down Bottom-up SleepWell MobiSys 2011Best Paper Nominee Runner-up Best Demo (in depth) Switchboard MobiSys 2011 SMILE CCS 2009 Surveyor Ongoing
: Saving Energy through Sleep WiFi Between packet bursts, WiFiswitches to low-power sleep mode Zzz… Zzz… Time
WiFiSleep Under Contention Zzz… Zzz… Zzz… Zzz… Time Time
Beacon Wakeups Bad wakeups = burst contention Traffic Download Key intuition: move beacons, spread apart traffic, let clients sleep faster
vs Measurements Energy performance on modern WiFi smartphones Zzz… Zzz…
Measuring Power on Nexus One Simultaneous measurements at 5K hertz
Energy Profile of Nexus One Transmit/Receive Beacon Wakeups Idle/Overhear Deep Sleep Light Sleep With contention: ↑Idle/Overhear,↓Sleep
Energy Cost of Contention Energy costs grow with number of contenders File Download Denser Neighborhood
Activity Percentages Increasing time in Idle/Overhear Time Transmit/Receive
Seattle 520 bridge Wakeup later / go home later Smarter commute = save gas Smarter beacons = save battery SleepWell Design Avoiding the rush hours to save energy
SleepWellTechniques • Traffic Monitoring • APs maintain a map of peers in the wireless vicinity • Traffic Migration • APs select a new beacon position based on heuristics • Traffic Preemption • APs avoid traffic spillover into that of neighbors
Traffic Monitoring beacon & traffic maps for the one-hop neighborhood
Traffic Migration 0 85 Expected share= 100/(n + 1) = 25 ms 25 75 Claim expected share from largest hole 70 CONVERGES 55 55 50
Traffic Preemption 0 25 75 Traffic preemptionprevents spillover 50
Key Implementation Challenge • APs need to change the beacon timings • But, no 802.11 protocol support • Fortunately, clients synchronize to AP clocks • AP can change beacon by “lying” about the time 40 Fully 802.11 compatible AP: Hostapd + modified Atheros Ath9k 802.11n driver
Rescheduling Client Wakeups • I know client will • wakeup in 40ms • OK, I need to • wakeup in 40ms • Yes, delayed • client by 40ms • Right • on time • I’ll adjust • my clock • “hey client • this beacon is • 60ms Late” 0 0 Actual Time Client Clock (sync to AP) 50 50
Energy Comparison File Download
Activity Percentages: 802.11 Transmit/Receive
Activity Percentages: SleepWell Transmit/Receive
Youtube CDF, Instantaneous Power SleepWell closely matcheszero-contention energy profile
Throughput under SleepWell(per-link TCP on 4 AP testbed) Negligible performance impact: SleepWell just reorders traffic
SleepWellTake-away • PSM is a valuable energy-saving optimization • But, PSM designed with a single AP in mind • Multiple APs induce contention, waste energy • Staggered wakeups clients sleep through contention • SleepWell = PSM made efficient for high-density networks to Zzz… Zzz…
Today’s Talk: 2 Parts Top-down Bottom-up SleepWell MobiSys 2011Best Paper Nominee Runner-up Best Demo (in depth) Switchboard MobiSys 2011 SMILE CCS 2009 Surveyor Ongoing
Time Spent on Mobile Apps Other Entertainment News Gaming Social Networking Flurry Analytics, May 2011
Switchboard A Matchmaking System for Multiplayer Mobile Games Other Entertainment News Gaming Social Networking
Mobile Games: Now and Tomorrow Increasing Interactivity Single-player Mobile (mobile today) Multiplayer Turn-based (mobile today) Multiplayer Fast-action (mobile soon)
Key Challenge Bandwidth is fine:250 kbps to host 16-player Halo 3 game Delay bounds are much tighter Challenge: find groups of peers than can play well together
The MatchmakingProblem Estimate 3G Link Performance Cluster Users to Assign Groups Design for Scalability
3G Latency is Unstable Due to instability, must consider latency distribution
“Black Box” Latency Estimation IP network Internet GGSN GGSN “Black Box” SGSN SGSN RNC RNC End-to-end Performance Crowdsourced Measurement
Crowdsourcing 3G over Time Latency Similarity by Time Time
Crowdsourcing 3G over Space Latency Similarity by Distance
One Result: Stability over Space Similarity at the same cell tower Substantial variation Divergence between nearby towers Takeaway: Scalable Measurement through Reuse
SMILE Encounter-based Trust for Mobile Social Services Other Entertainment News Gaming Social Networking
Mobile Social Services • How can Alice contact Bob? • “Missed Connections” problem • Cute example, but really? • Anonymous support groups • Retrieve left-behind items • Discussion after a seminar • Lost phone number • Sharing photos • …
Low-tech: Craigslist craigslist Bay Area listings “We saw each other on the subway…” Completely Impractical Alice Bob Bob “Hi, I’m Bob!”
Naïve Mobile Missed Connections Impersonation Leaked/Stolen Data Service Provider Internal Abuse Alice @ {Subway, 1:00 PM} Bob @ {Subway, 1:00 PM} Trustworthy? Snooping, De-anonymization “Remember me?”
High-level Approach • Create “shared knowledge” of encounter • Peers establish cryptographically-secure secrets • Secret never revealed to any third party
Sharing Keys with Bluetooth Encounter Key KeyAB = KeyA⊕ KeyB KeyA Encounter Key KeyAB = KeyA⊕ KeyB KeyB Keys create shared knowledge only known to co-located devices
Keys and Key Hashes Service Provider Unique match, obvious encounter Bob @ H(KAB); {“Hi…”}KAB Bob @ H(KAB) Alice @ H(KAB); {“Hi…”}KAB Alice @ H(KAB) Protects location privacy End-to-end secure channel What about encounter privacy?
Key-hash Collisions Alice @ Pre(H(KAB)); {“Hi…”}KAB Only Bob can decrypt Chris @ Pre(H(KCD)) Dave @ Pre(H(KCD)) Bob @ Pre(H(KAB)) Alice @ Pre(H(KAB)) Service Provider ? Users reveal only Prefix[KeyHash] Pre(H(KAB)) =Pre(H(KCD))
SMILE Take-away • Trading communication overhead for privacy • Users choose k-anonymity through prefix length • Decentralization of the root-of-trust • End-to-end channel, with locations/encounters protected • Usage assumptions that match the real world • Validated by reading many Craigslist posts
Surveyor Object Localization for the the Visible Vicinity Other Entertainment News Gaming Social Networking