Timecard: Controlling User-Perceived Delays in Server-Based Mobile Applications

Lenin S. Ravindranath, Jitendra Padhye, Ratul Mahajan, Hari Balakrishnan
The 24th ACM Symposium on Operating Systems Principles, Nemacolin Woodlands Resort, PA, November 2013

Providing consistent response times to users of mobile applications is challenging because there are several variable delays between the start of a user's request and the completion of the response. These delays include location lookup, sensor data acquisition, radio wake-up, network transmissions, and processing on both the client and server. To allow applications to achieve consistent response times in the face of these variable delays, this paper presents the design, implementation, and evaluation of the Timecard system. Timecard provides two abstractions: the first returns the time elapsed since the user started the request, and the second returns an estimate of the time it would take to transmit the response from the server to the client and process the response at the client. With these abstractions, the server can adapt its processing time to control the end-to-end delay for the request. Implementing these abstractions requires Timecard to track delays across multiple asynchronous activities, handle time skew between client and server, and estimate network transfer times. Experiments with Timecard incorporated into two mobile applications show that the end-to-end delay is within 50 ms of the target delay of 1200 ms over 90% of the time.

[PDF (847KB)]

Bibtex Entry:

@inproceedings{ravindranath2013timecard,
   author =       "Lenin S. Ravindranath and Jitendra Padhye and Ratul Mahajan and Hari Balakrishnan",
   title =        "{Timecard: Controlling User-Perceived Delays in Server-Based Mobile Applications}",
   booktitle =    {The 24th ACM Symposium on Operating Systems Principles},
   year =         {2013},
   month =        {November},
   address =      {Nemacolin Woodlands Resort, PA}
}