A computer-implemented method includes: receiving, by a computing device, a data restore request; determining, by the computing device, at least one object in response to the data restore request; and querying, by the computing device, a client population to determine at least one client which has resources and network cardinality to assist the data restore request. The at least one client creates a distributed and crowd sourced cache of objects for the data restore request.