280 likes | 289 Views
This study delves into the unique networking challenges and performance factors in Wear OS, compared to smartphones, offering insights into latency, buffer management, handover delays, and more. The research highlights the impact of smartphone proxying on network performance and suggests strategies for mitigating issues like buffer bloat. The study also evaluates BT-WiFi handover performance, providing valuable findings for optimizing network interface switching in wearables.
E N D
Understanding the Networking Performance of Wear OS Xiao Zhu1Yihua Ethan Guo2Ashkan Nikravesh1 Feng Qian3 Z. Morley Mao1 1University of Michigan 2Uber Techologies Inc. 3Univeristy of Minnesota
Wearable Networking IsImportant Increased popularity Multiple network interfaces Third-party apps
ItIsDifferent fromSmartphoneNetworking • Bluetooth (BT) communication • Differentprotocolstackandradiostatemachine
ItIsDifferent fromSmartphoneNetworking • Bluetooth (BT) communication • Differentprotocolstackandradiostatemachine • Smartphone as a “gateway” • ApairofproxiesinWearOS Client app Serverapp TCP/IP stack TCP/IP stack TCP/IP stack Wear OS proxy Wear OS proxy BT stack BT stack
ItIsDifferent fromSmartphoneNetworking • Bluetooth (BT) communication • Differentprotocolstackandradiostatemachine • Smartphone as a “gateway” • ApairofproxiesinWearOS • Network interface switching • BThasamuchshorterrange • Verticalhandoverunder mobility
Wearable Networking Stack Is Under-explored Application[NirjonMobiSys 15][Shen MobiSys 16] Networking Traffic characterization:[KolamunnaIMC18] Core networking stack: ? OS [Liu APSys 15] [Liu Mobisys 16] UI [Chen CHI 14] [Xu MobiCom 17] Power [Liu Mobisys17][Yang ICNP 17] The networking performance and application QoEoncommercial wearables is not well-studied.
WearableNetworkingTestbed uplink downlink
TheWearableNetworkMeasurementToolkit • ActiveMeasurements • Bulkdatatransferandconstantbitratetraffic • Automaticreconnectionuponnetworkfailure • PassiveMeasurements • CollectWiFiandBTtracesfrommultipleentities and layers • Packettransmission/receptionpipelineInstrumentation • Signalstrengthandnetworkstates • Open-source • 3K lines of C++, Java, and Python code • https://github.com/XiaoShawnZhu/WearMan.
OverviewofMeasurementFindings • Proxyatpairedsmartphone • End-to-endlatency isinflatedto tens of seconds • Phone’sTCPreceivebuffercausesbufferbloat • Networkhandover • Handoversareperformedreactively • BT-WiFi handovers may take 60+ seconds • Bluetoothradioresourcemanagement • Different state machinemodels on phone andwearable • BTdownloadexperiencesfrequent“blackout” periods • Networkinterfaceselection • Wear OS’s default interface selection policy is often suboptimal • Multipathonwearablesfacesobstacles
OverviewofMeasurementFindings • Proxyatpairedsmartphone • End-to-endlatency isinflatedto tens of seconds • Phone’sTCPreceivebuffercausesbufferbloat • Networkhandover • Handoversareperformedreactively • BT-WiFi handovers may take 60+ seconds • Bluetoothradioresourcemanagement • Different state machinemodels on phone andwearable • BTdownloadexperiencesfrequent“blackout” periods • Networkinterfaceselection • Wear OS’s default interface selection policy is often suboptimal • Multipathonwearablesfacesobstacles
ImpactofSmartphoneProxying • End-to-end(E2E)latencycharacterization • Constantbitrate(CBR)trafficandbulktransfer E2Elatencyisdramaticallyinflatedto30+secondsforhighbitratetraffic.
ImpactofSmartphoneProxying • Rootcauseanalysis • BreakingdowntheE2Elatency dataistransmittedout dataisreceivedinthephoneOSkernel dataiscopiedtotheproxy’suserspace dataissenttotheBTstack dataisdeliveredtothewearableOS
ImpactofSmartphoneProxying • d2dominatestheE2Elatency • DelayincurredbyTCPreceivebuffer
ImpactofSmartphoneProxying • Phone’sTCPreceivebuffersizeimpactonE2Elatency SmallerTCPreceiverbuffersizereducestheE2Elatency,butsettingittobetoosmallmaythrottletheserver-phoneconnectionthroughput.
ImpactofSmartphoneProxying • Mitigatingthebufferbloat • Examinethequeuelength()onthephoneandphone-wearablebandwidth() • Throttletheserver-phoneconnectionwhenbecomeshigh Dynamicserver-phone flowcontrolthatconsidersthephone-wearablenetworkconditionreducestheE2Edelay.
OverviewofMeasurementFindings • Proxyatpairedsmartphone • End-to-endlatency isinflatedto tens of seconds • Phone’sTCPreceivebuffercausesbufferbloat • Networkhandover • Handoversareperformedreactively • BT-WiFi handovers may take 60+ seconds • Bluetoothradioresourcemanagement • Different state machinemodels on phone andwearable • BTdownloadexperiencesfrequent“blackout” periods • Networkinterfaceselection • Wear OS’s default interface selection policy is often suboptimal • Multipathonwearablesfacesobstacles
BT-WiFiHandoverPerformance • Monitoringthenetworkstate • ConnectivityManager in Wear OS • Avaliable or not:whether the network interface is up • Connected or not: whether the interface provides actual network connectivity • Experimentsetup • BothBTandWiFiareenabled • Real-time streaming traffic • tinyCamapp: stream real-time videos captured from an IP camera • A user wearing a smartwatch moves away from the paired smartphone
BT-WiFiHandoverPerformance • Throughputandframedelayseverelydegradeduringthehandover • 60+secondsofinterruptiontimewhennovideodataisreceived
Root Cause Analysis:DelayBreakdown • P1: BT is connected but data cannot be actually transmitted • P2: no network available • P3: WiFi available (interface up) but not connected • P4: WiFi connected but no application data transmission
Root Cause Analysis: Delay from the Wear OS (P1, P2, and P3) Reactive in nature: Only afterBT connection gets lost completely(P1), the Wear OS turn on (P2) and then connect to (P3) WiFi.
Root Cause Analysis: Delay Incurred by the Wearable App (P4) • Insufficient protocol support for applications: wearable apps need to implement their own data migration logic.
Root Cause Analysis: Delay Incurred by the Wearable App (P4) • P4:33.3s(tinyCam)v.s.5.6s(RTApp) • RTApp: downloading a 3KB data chunk every 160ms, establish new connection once a new network interface is connected after a handover. • Overall handover interruption time • Improved application data migration logic (in RTApp) reduces P4aswellastheoverall interruption time.
Reducingthe Handover Delay • Proactively performingahandovertoWiFiwhen BT quality degrades • Variant 1: establishWiFiwhenperforminghandovers(on-demandWiFi) • Variant 2: pre-established WiFi(always-onWiFi)
Summary • First in-depth study on the networking performance of Wear OS. • Developed a toolkit for wearable networking measurement and analysis. • Identified performance issues regarding key aspects of wearable networking. • Analyzed the root causes and proposed practical solutions.