The future is cloudy: Reflecting prediction error in mobile applications

Brett D. Higgins, Kyungmin Lee, Jason Flinn, T.J.Giuli, Brian Noble, and Christopher Peplin


Mobile applications often predict the future to make decisions in the present. Although such predictions are inherently uncertain, applications typically assume that they are completely accurate. This assumption can lead to incorrect decisions resulting in unnecessary delays, wasted resources, or worse. Instead, prediction error should be a fundamental consideration in mobile systems. Applications should consider uncertainty when weighing alternatives. When one alternative is not clearly superior to another, redundant strategies are often appropriate, resulting in much better performance at a very modest cost. To illustrate these ideas, we describe and implement several methods for quantifying uncertainty in mobile environments. Our system allows applications to explicitly weigh the tradeoff between the performance gained via redundancy and the cost of extra energy and cellular data resources spent, tailoring decisions to their relative importance. We adapt two systems to use this approach. Compared to both simple and adaptive strategies that do not reflect prediction error, our library improves application performance by up to a factor of two.