Design, implementation, and evaluation of energy-aware multi-path TCP
Multi-Path TCP (MPTCP) is a new transport protocol that enables systems to exploit available paths through multiple network interfaces. MPTCP is particularly useful for mobile devices, which usually have multiple wireless interfaces. However, these devices have limited power capacity and thus judicious use of these interfaces is required. In this work, we design, implement, and evaluate an energy-aware variant called eMPTCP, which seeks to reduce power consumption compared to standard MPTCP, with minimal impact on download latency. eMPTCP uses a combination of power-aware subflow management and delayed subflow establishment to accomplish its goals. Power-aware subflow management allows eMPTCP to choose paths dynamically to maximize per-byte energy efficiency, using runtime measurements and a parameterized energy consumption model that accounts for multiple interfaces. Delayed subflow establishment lets eMPTCP avoid heavy power consumptions in cellular interfaces for small transfers. We implement eMPTCP on Android mobile devices and evaluate it across several scenarios, both in the lab and in the wild. We measure both energy consumption and download times, varying network bandwidth, background traffic, user mobility, client and server location, and download size. Our results show that eMPTCP reduces power consumption compared to MPTCP by up to 90% for small file downloads and up to 50% for large file downloads.