Feng Qian, Kee Shen Quah, Junxian Huang, Jeffrey Erman, Alexandre Gerber, Z. Morley Mao,
Subhabrata Sen, Oliver Spatscheck
Web caching in mobile networks is critical due to the unprecedented cellular traffic growth that far exceeds the deployment of cellular infrastructures. Caching on handsets is particularly important as it eliminates all network-related overheads. We perform the first network-wide study of the redundant transfers caused by inefficient web caching on handsets, using a dataset collected from 3 million smartphone users of a large commercial cellular carrier, as well as another five-month-long trace contributed by 20 smartphone users. Our findings suggest that redundant transfers contribute 18% and 20% of the total HTTP traffic volume in the two datasets. Also they are responsible for 17% of the bytes, 7% of the radio energy consumption, 6% of the signaling load, and 9% of the radio resource utilization of all cellular data traffic in the second dataset. Most of such redundant transfers are caused by the smartphone web caching implementation that does not fully support or strictly follow the protocol specification, or by developers not fully utilizing the caching support provided by the libraries. This is further confirmed by our caching tests of 10 popular HTTP libraries and mobile browsers. Improving the cache implementation will bring considerable reduction of network traffic volume, cellular resource consumption, handset energy consumption, and user-perceived latency, benefiting both cellular carriers and customers.
Full paper: http://web.eecs.umich.edu/~fengqian/paper/caching_mobisys12.pdf
Public Review uploaded by MattWelsh:
Public review prepared by Matt Welsh
This paper studies the "boring" but incredibly important problem of
the behavior of web caches on smartphones, both within smartphone
browsers as well as HTTP libraries embedded into apps. Broken cache
implementations lead to increased mobile data usage, battery
consumption, and latency. Given the high cost and latency of typical
mobile networks, understanding the characteristics of mobile web caches is
This paper is the first study of its kind and does an extremely
thorough job analyzing smartphone web cache implementations across
a wide range of applications and browsers, using data collected both
from a large cellular operator as well as 20 real users over
several months. The paper studies the impact of redundant transfers
and identifies a key root cause being broken caching logic in many
HTTP library implementations used by native apps. Even the Android and
Safari browsers are shown to have some problems, such as not caching
HTTP redirects correctly. The net result is that 18-20% of HTTP
transfers are redundant and could be eliminated with correct caching
The main criticism of this paper is that the topic is perhaps somewhat
dry. That may be true, but identifying a simple optimization that can
eliminate 20% of redundant web traffic is a significant result.
Moreover, smartphone software developers need to be aware of these
issues and hopefully the insights captured in this paper will result
in fixes that will greatly improve caching performance. The paper
could have also presented data on desktop web browsers for comparison,
since likely many of these issues are common to all WebKit browsers,
We thank the anonymous Mobisys reviewers for their helpful comments and especially Matt Welsh for preparing the public review.
We agree that the most interesting part of the paper is the finding derived from a thorough measurement study. As mentioned in the public review, a 20% reduction of the overall HTTP traffic is quite significant. The key take away message is that for web caching, there exists a huge gap between the protocol specification and the protocol implementation on today’s mobile devices, leading to significant amounts of redundant network traffic. The existence of such a critical gap is (at least quantitatively) unknown in both the research community and industry. By drawing attention to the magnitude of the problem, we hope the work will spur improvements in HTTP caching support in mobile devices.
We wish we could also have investigated the caching implementation on desktop browsers. This can be done by applying the 13 caching tests proposed in Section 6 of the paper. We expect caching implementation issues may also exist in desktop HTTP libraries and browsers, many sharing similar code bases with their mobile versions. It is worth mentioning that many laptops or netbooks are equipped with 3G/LTE data cards. Therefore improving the caching implementation for desktop browsers and HTTP libraries can potentially benefit cellular networks as well. This is an avenue for future research.