Timecard: controlling user-perceived delays in server-based mobile applications

  • Authors:
  • Lenin Ravindranath;Jitendra Padhye;Ratul Mahajan;Hari Balakrishnan

  • Affiliations:
  • M.I.T. & Microsoft Research;Microsoft Research;Microsoft Research;M.I.T.

  • Venue:
  • Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.