DelayDroid: an instrumented approach to reducing tail-time energy of Android apps

Mobile devices with 3G/4G networking often waste energy in the so-called “tail time” during which the radio is kept on even though no communication is occurring. Prior work has proposed policies to reduce this energy waste by batching network requests. However, this work is challenging to apply in practice due to a lack of mechanisms. In response, we have developed DelayDroid, a framework that allows a developer to add the needed policy to existing, unmodified Android applications (apps) with no human effort as well as no SDK/OS changes. This allows such prior work (as well as our own policies) to be readily deployed and evaluated. The DelayDroid compile-time uses static analysis and bytecode refactoring to identify method calls that send network requests and modify such calls to detour them to the DelayDroid run-time. The run-time then applies a policy to batch them, avoiding the tail time energy waste. DelayDroid also includes a cross-app communication mechanism that supports policies that optimize across multiple apps running together, and we propose a policy that does so. We evaluated the correctness and universality of the DelayDroid mechanisms on 14 popular Android apps chosen from the Google App Store. To evaluate our proposed policy, we studied three DelayDroid-enabled apps (weather forecasting, email client, and news client) running together, finding that the DelayDroid mechanisms combined with our policy can reduce 3G/4G tail time energy waste by 36%.摘要创新点智能手机在 3G/4G 网络条件下的待机时间主要取决于应用后台网络请求。 已有的工作提出了一些节省安卓网络能耗的网络调度算法,然而如何将这些算法自动地实现地现有的安卓应用中是一大挑战。本文给出了一种通过自动程序转换来支持现有的安卓应用中网络请求延迟调度的方法。其核心是应用字节码转换。本文介绍了将安卓应用转换成支持后台网络请求调度的应用的技术挑战、处理机制、以及 DelayDroid 转换系统。与已有的工作相比, DelayDroid 有两大特色:一是程序转换自动执行;二是转换后的应用可支持多应用的后台网络请求调度, 该调度机制可以降低安卓应用的待机耗电。此外, DelayDroid被设计为可对只有 dex 字节码的安卓应用进行转换, 更具实用性。

[1]  Feng Qian,et al.  Screen-off traffic characterization and optimization in 3G/4G networks , 2012, Internet Measurement Conference.

[2]  Feng Qian,et al.  Periodic transfers in mobile applications: network-wide origin, impact, and optimization , 2012, WWW.

[3]  William G. Griswold,et al.  APE: an annotation language and middleware for energy-efficient mobile application development , 2014, ICSE.

[4]  Peter A. Dinda,et al.  Making JavaScript Better by Making It Even Slower , 2013, 2013 IEEE 21st International Symposium on Modelling, Analysis and Simulation of Computer and Telecommunication Systems.

[5]  Ying Zhang,et al.  Refactoring android Java code for on-demand computation offloading , 2012, OOPSLA '12.

[6]  Jui-Hung Yeh,et al.  Comparative Analysis of Energy-Saving Techniques in 3GPP and 3GPP2 Systems , 2009, IEEE Transactions on Vehicular Technology.

[7]  Jitendra Padhye,et al.  Procrastinator: pacing mobile apps' usage of the network , 2014, MobiSys.

[8]  Simin Nadjm-Tehrani,et al.  Energy-aware cross-layer burst buffering for wireless communication , 2012, 2012 Third International Conference on Future Systems: Where Energy, Computing and Communication Meet (e-Energy).

[9]  George Varghese,et al.  RadioJockey: mining program execution to optimize cellular radio usage , 2012, Mobicom '12.

[10]  Wei Luo,et al.  Impacts of inactivity timer values on UMTS system capacity , 2002, 2002 IEEE Wireless Communications and Networking Conference Record. WCNC 2002 (Cat. No.02TH8609).

[11]  Feng Qian,et al.  Profiling resource usage for mobile applications: a cross-layer approach , 2011, MobiSys '11.

[12]  Ranveer Chandra,et al.  Optimizing background email sync on smartphones , 2013, MobiSys '13.

[13]  Jian Lu,et al.  CoseDroid: Effective Computation- and Sensing-Offloading for Android Apps , 2015, 2015 IEEE 39th Annual Computer Software and Applications Conference.

[14]  Feng Qian,et al.  A close examination of performance and power characteristics of 4G LTE networks , 2012, MobiSys '12.

[15]  Simin Nadjm-Tehrani,et al.  Kernel level energy-efficient 3G background traffic shaper for android smartphones , 2013, 2013 9th International Wireless Communications and Mobile Computing Conference (IWCMC).

[16]  Feng Qian,et al.  TOP: Tail Optimization Protocol For Cellular Radio Resource Allocation , 2010, The 18th IEEE International Conference on Network Protocols.

[17]  Arun Venkataramani,et al.  Energy consumption in mobile phones: a measurement study and implications for network applications , 2009, IMC '09.

[18]  Jukka K. Nurminen,et al.  The Effect of Unwanted Internet Traffic on Cellular Phone Energy Consumption , 2011, 2011 4th IFIP International Conference on New Technologies, Mobility and Security.