Various embodiments enable a server system to receive a request to store
data, select various distributed devices to store the data, and then send
the data to the selected distributed devices. In one embodiment, a method
may include: receiving a request to store back-up data on a distributed
processing system from a client system, the back-up data having a storage
priority, searching a database to identify one or more distributed
devices with excess storage capacity, and selecting one or more of the
distributed devices to store the back-up data based in part on the
back-up data's storage priority. Then, sending the back-up data to one or
more selected distributed devices along with retention instructions
indicating conditions for retaining and/or deleting the back-up data, and
updating an index with addresses for the one or more selected distributed
devices that received the back-up data.