  Energy harvesting offers an attractive and promising mechanism to power
low-energy devices. However, it alone is insufficient to enable an
energy-neutral operation, which can eliminate tedious battery charging and
replacement requirements. Achieving an energy-neutral operation is challenging
since the uncertainties in harvested energy undermine the quality of service
requirements. To address this challenge, we present a rollout-based runtime
energy-allocation framework that optimizes the utility of the target device
under energy constraints. The proposed framework uses an efficient iterative
algorithm to compute initial energy allocations at the beginning of a day. The
initial allocations are then corrected at every interval to compensate for the
deviations from the expected energy harvesting pattern. We evaluate this
framework using solar and motion energy harvesting modalities and American Time
Use Survey data from 4772 different users. Compared to state-of-the-art
techniques, the proposed framework achieves 34.6% higher utility even under
energy-limited scenarios. Moreover, measurements on a wearable device prototype
show that the proposed framework has less than 0.1% energy overhead compared to
iterative approaches with a negligible loss in utility.
