To minimize battery drain due to background communication in cellular-connected devices such as smartphones, the duration for which the cellular radio is kept active should be minimized. This, in turn, calls for scheduling the background communication so as to maximize the throughput. It has been recognized in prior work that a key determinant of throughput is the wireless link quality. However, as we show here, another key factor is the load in the cell, arising from the communication of other nodes. Unlike link quality, the only way, thus far, for a cellular client to obtain a measure of load has been to perform active probing, which defeats the goal of minimizing the active duration of the radio.
In this paper, we address the above dilemma by making the following contributions. First, we show experimentally that to obtain good throughput, considering link quality alone is insufficient, and that cellular load must also be factored in. Second, we present a novel technique called LoadSense for a cellular client to obtain a measure of the cellular load, locally and passively, that allows the client to determine the ideal times for communication when available throughput to the client is likely to be high. Finally, we present the Peek-n-Sneak protocol, which enables a cellular client to “peek” into the channel and “sneak” in with its background communication when the conditions are suitable. When multiple clients in a cell perform Peen-n-Sneak, it enables them to coordinate their communications, implicitly and in an entirely distributed manner, akin to CSMA in wireless LANs, helping improve throughput (and reduce energy drain) for all. Our experimental evaluation shows overall device energy savings of 20-60% even when Peek-n-Sneak is deployed incrementally.