Building Blocks for Tomorrow's Mobile App Store
Total Page:16
File Type:pdf, Size:1020Kb
Building Blocks for Tomorrow’s Mobile App Store by Justin G. Manweiler Department of Computer Science Duke University Date: Approved: Romit Roy Choudhury, Supervisor Jeffrey S. Chase Landon P. Cox Victor Bahl Dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Department of Computer Science in the Graduate School of Duke University 2012 Abstract (0984) Building Blocks for Tomorrow’s Mobile App Store by Justin G. Manweiler Department of Computer Science Duke University Date: Approved: Romit Roy Choudhury, Supervisor Jeffrey S. Chase Landon P. Cox Victor Bahl An abstract of a dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Department of Computer Science in the Graduate School of Duke University 2012 Copyright c 2012 by Justin G. Manweiler All rights reserved Abstract In our homes and in the enterprise, in our leisure and in our professions, mobile computing is no longer merely “exciting;” it is becoming an essential, ubiquitous tool of the modern world. New and innovative mobile applications continue to inform, entertain, and surprise users. But, to make the daily use of mobile technologies more gratifying and worthwhile, we must move forward with new levels of sophistication. The Mobile App Stores of the future must be built on stronger foundations. This dissertation considers a broad view of the challenges and intuitions behind a diverse selection of such new primitives. Some of these primitives will mitigate exist- ing and fundamental challenges of mobile computing, especially relating to wireless communication. Others will take an application-driven approach, being designed to serve a novel purpose, and be adapted to the unique and varied challenges from their disparate domains. However, all are related through a unifying goal, to provide a seamless, enjoyable, and productive mobile experience. This dissertation takes view that by bringing together nontrivial enhancements across a selection of disparate-but- interrelated domains, the impact is synergistically stronger than the sum of each in isolation. Through their collective impact, these new “building blocks” can help lay a foundation to upgrade mobile technology beyond the expectations of early-adopters, and into seamless integration with all of our lives. iv For Jane. v Contents Abstract iv List of Tables xv List of Figures xvi List of Abbreviations and Symbols xxviii Acknowledgements xxxi 1 Introduction 1 2 TransmissionReorderinginWirelessNetworks 14 2.1 Introduction................................ 14 2.2 VerifyingMIM .............................. 18 2.3 MIM:OptimalityAnalysis . 20 2.3.1 OptimalSchedulewithIntegerProgram . 20 2.3.2 Results............................... 24 2.4 Shuffle:SystemDesign .......................... 24 2.4.1 ProtocolDesign.......................... 25 2.4.2 DesignDetails........................... 33 2.4.3 RateControl ........................... 33 2.4.4 UploadTraffic........................... 34 2.4.5 ControllerPlacement . 35 2.5 Shuffle:Implementation . 35 vi 2.5.1 TestbedPlatform . 35 2.5.2 TimeSynchronizationandStagger . 36 2.5.3 CoordinationandDispatching . 37 2.6 Evaluation................................. 39 2.6.1 Throughputwith2AccessPoints . 40 2.6.2 Throughputwith3AccessPoints . 41 2.6.3 Fairness .............................. 41 2.6.4 PerformanceonLargerTopologies. 42 2.6.5 CompleteShufflewithRateControl. 42 2.6.6 SimulationResults . 46 2.6.7 ImpactofAPdensity. 46 2.6.8 ImpactofFading ......................... 47 2.7 LimitationsandDiscussion. 48 2.7.1 ExternalNetworkInterference . 48 2.7.2 Latency .............................. 48 2.7.3 ClientMobility .......................... 49 2.7.4 TransportLayerInteractions. 49 2.7.5 Compatibility ........................... 49 2.7.6 Small-scaleTestbed. 49 2.8 RelatedWork ............................... 50 2.8.1 CaptureandMIM ........................ 50 2.8.2 SpatialReuse ........................... 50 2.8.3 EnterpriseWirelessLANsandScheduling . 50 2.8.4 Characterizing and Measuring Interference . ... 51 2.9 Conclusion................................. 52 vii 3 MonitoringtheHealthofHomeWirelessNetworks 53 3.1 Introduction................................ 54 3.2 RxIPArchitecture ............................ 60 3.3 HiddenTerminalDiagnosis. 62 3.3.1 EnsuringHiddenTerminalsaretheCause . 62 3.3.2 IsolatingtheHiddenTerminal . 63 3.4 RecoverybyCoordination . 66 3.4.1 CopingwithInternetLatencies . 66 3.4.2 MultiplePartnerships. 67 3.4.3 ProvablePropertiesofCoordination. 68 3.5 AdditionalConsiderations . 70 3.5.1 CopingwithTokenLoss . 70 3.5.2 AddressTranslation . 71 3.5.3 UploadTraffic........................... 71 3.5.4 IncrementalDeployability . 71 3.6 Evaluation................................. 72 3.6.1 TestbedPlatform . 72 3.6.2 Methodology ........................... 73 3.6.3 HiddenTerminalDiagnosisandRecovery . 73 3.6.4 Microbenchmarks . 77 3.6.5 Scalability of Partnership-based TDMA. 79 3.7 RelatedWork ............................... 82 3.7.1 EnterpriseNetworkManagement . 82 3.7.2 HiddenTerminalMitigation . 82 3.7.3 NetworkMeasurement . 82 viii 3.7.4 RelatedTechniques . 83 3.8 Conclusion................................. 83 4 WiFiEnergyManagementviaTrafficIsolation 84 4.1 Introduction................................ 85 4.2 BackgroundandMeasurements . 89 4.2.1 ChoiceofDevice ......................... 89 4.2.2 MeasurementSet-up . 89 4.2.3 Terminology............................ 90 4.2.4 PSMEnergyProfiling . 91 4.2.5 ImpactofNetworkContentiononEnergy. 93 4.3 SleepWellDesign ............................. 96 4.3.1 BasicSleepWell .......................... 96 4.3.2 CopingwithTrafficDynamics . 101 4.3.3 SeamlessBeaconRe-adjustment . 103 4.3.4 MultipleClientsperAP . 104 4.3.5 Compatibility with Adaptive-PSM Clients . 105 4.4 Evaluation................................. 105 4.4.1 Implementation . 105 4.4.2 Methodology ........................... 106 4.4.3 PerformanceResults . 106 4.5 LimitationsandDiscussion. 117 4.5.1 ImpactofHiddenTerminals . 117 4.5.2 IncrementalDeployability . 119 4.5.3 InteractiveTraffic. 120 4.5.4 TSFAdjustment ......................... 120 ix 4.6 RelatedWork ............................... 120 4.6.1 WiFiPSMsleepoptimization . 120 4.6.2 WiFiDutyCycling ........................ 121 4.6.3 SensornetworkTDMA . 121 4.7 Conclusion................................. 122 5 A Matchmaking System for Multiplayer Mobile Games 123 5.1 Introduction................................ 124 5.2 MotivationandPriorWork . 126 5.2.1 LatencyinMultiplayerGames . 126 5.2.2 MatchmakinginOnlineGames . 127 5.2.3 P2PGamesOverCellularNetworks. 129 5.2.4 CellularNetworkPerformance . 130 5.2.5 Grouping ............................. 131 5.3 EstimatingCellularLatency . 132 5.3.1 Predicting Future Latency Based on Current Latency . 134 5.3.2 Using One Phone to Predict the Future Latency of a Different Phone ............................... 139 5.3.3 PredictingtheLatencyBetweenPhones . 145 5.4 Switchboard................................ 147 5.4.1 ArchitectureofSwitchboard . 147 5.4.2 ClientAPIforLobbyBrowser . 148 5.4.3 LatencyEstimator . 150 5.4.4 GroupingAgent.......................... 152 5.4.5 GroupingAlgorithm . 153 5.5 Evaluation................................. 155 5.5.1 Implementation . 155 x 5.5.2 EvaluationofGrouping. 156 5.5.3 End-to-endEvaluation . 161 5.5.4 SummaryofEvaluationResults . 165 5.6 Conclusion................................. 166 6 An Object Positioning System using Smartphones 168 6.1 Introduction................................ 169 6.2 MotivationandOverview. 172 6.2.1 ApplicationsbeyondTagging . 172 6.2.2 SystemOverview . 173 6.3 PrimitivesforObjectLocalization . 175 6.4 OPS:SystemDesign ........................... 181 6.4.1 ExtractingaVisualModel . 181 6.4.2 Questions ............................. 185 6.4.3 Point Cloud toLocation: Failed Attempts . 186 6.4.4 TheConvergedDesignofOPS. 188 6.5 Discussion ................................. 192 6.5.1 ExtendingtheLocationModelto3D . 192 6.5.2 AlternativesforCapturingUserIntent . 193 6.6 Evaluation................................. 194 6.6.1 Implementation . 194 6.6.2 AccuracyofObjectLocalization. 196 6.7 RoomforImprovement. 200 6.7.1 Live Feedback to Improve Photograph Quality . 201 6.7.2 Improving GPS Precision with Dead Reckoning . 201 6.7.3 Continual Estimation of Relative Positions with Video . 201 xi 6.8 RelatedWork ............................... 202 6.8.1 Localization through Large-Scale Visual Clustering . ..... 202 6.8.2 Aligning Structure from Motion to the Real World . 202 6.8.3 BuildingObjectInventories . 203 6.8.4 ApplyingComputerVisiontoInferContext . 203 6.9 Conclusion................................. 203 6.10 ReferenceEquations . 204 6.10.1 EquationofVisualTrilateration . 204 6.10.2 EquationofVisualTriangulation . 205 7 PredictingClientDwellTimeinWiFiHotspots 209 7.1 Introduction................................ 209 7.2 NaturalQuestions............................. 212 7.3 ToGoPredictionEngine . 214 7.3.1 DesignOverview . 214 7.3.2 Components............................ 215 7.4 BytesToGo: AnApplicationofToGo . 218 7.4.1 Motivation............................. 218 7.4.2 NaturalQuestions . 219 7.4.3 ExtendingfromToGo . 221 7.5 ImplementationandEvaluation . 223 7.5.1 PrototypeImplementation . 223 7.5.2 ToGo Performance: Dwell Prediction Accuracy . 224 7.5.3 BytesToGo Performance: Offloading 3G to WiFi . 230 7.6 Discussion ................................. 233 7.6.1 ConsiderationsforallToGoSystems . 234 xii 7.6.2 Considerations particular