Presentation is loading. Please wait.

Presentation is loading. Please wait.

PredictRemainingTime

Similar presentations


Presentation on theme: "PredictRemainingTime"— Presentation transcript:

1 PredictRemainingTime
Timecard: Controlling User-Perceived Delays in Server-based Mobile Applications Lenin Ravindranath, Jitendra Padhye, Ratul Mahajan, Hari Balakrishnan Servers should adapt to external delays to control user-perceived delay Timecard provides two APIs for server developers Mobile apps becoming dominant mode of data access Developer App Service Timecard.dll PredictRemainingTime (responseSize); GetElapsedTime(); config Cloud Services App Instrumenter GetElapsedTime(); PredictRemainingTime (responseSize); Desired end-to-end delay Instrumented App Predicted downlink delay and app processing delay for a given data size Time elapsed since the user initiated the request App Store Adapt processing time Mobile Apps Deployment Modified two services and two apps to use Timecard MobileAds Service Within 50ms of the target delay 90% of the time Adapt response Significant variability in external delays Server Tradeoff between response time and quality of result Server processing Request Response Server TCP state Phone model Uplink Downlink Phone model Reading sensors Link quality (3G, HSPA+, LTE, Wifi) Datasize App App DNS and TCP connect User click App App Parsing and Rendering Radio State (Radio wakeup) Overhead Compute Network Memory Battery low <1% 0.1% Highly variable User perceived delay User perceived delay Track Transaction Time Synchronization Predict Downlink Delay Predict Processing Delay Track transaction across asynchronous threads and between mobile device and server 90% percentile data size: 37 KB RTT matters than throughput Predict RTT TCP window state matters Multiple RTTs Estimate TCP Window & number of RTTs Complicated by middleboxes Periodic time sync probes from app to server Find drift and offset between clocks Use server clock as reference clock Client maps local time to server time Parsing and rendering delay depends on data size Processing delay dependent on the phone hardware Server Send response Data size Request handler Spawn workers Server Threads Server TC TC Middlebox Efficient technique for probing Aware of the radio state and traffic Minimal extra delays Energy efficient App App Model downlink delay Recent RTT Response size Bytes already transferred Network provider & client OS TC TC Facebook Background Thread GPS callback Web callback Web request UI dispatcher Model processing delay Response size Phone model Event handler GPS start UI Thread Thread start Triggered by transaction tracking TC Pass around transaction context TC


Download ppt "PredictRemainingTime"

Similar presentations


Ads by Google