Energy in sensor networks is a distributed, non-transferable resource. Over time, differences in energy availability are likely to arise. Protocols like routing trees may concentrate energy usage at certain nodes. Differences in energy harvesting arising from environmental variations, such as if one node is in the sun and another is in the shade, can produce variations in charging rates and battery levels. Because many sensor network applications require nodes to collaborate — to ensure complete sensor coverage or route data to the network’s edge — a small set of nodes whose continued operation is threatened by low batteries can have a disproportionate impact on the fidelity provided by the network as a whole. In the most extreme case, the loss of a single sink node may render the remainder of the network unreachable. While previous research has addressed reducing the energy usage of individual nodes, the challenge of collaborative energy management has been largely ignored. ...