1. A method for caching data among multiple interconnected computing devices, comprising: transmitting, from a storage server, a first data set to a first computing device; identifying a second computing device from a plurality of computing devices sharing a local area network with the first computing device, the second computing device being selected from the plurality of computing devices based on battery levels of the plurality of computing devices; identifying a second data set as relevant to the first data set; transmitting, from the storage server, the identified second data set to the second computing device; and transmitting, from the storage server, an instruction to the first computing device, the instruction indicating that the second computing device stores a data cache for the first computing device.