1. A method for transferring an object O from a source host A to a target host B, comprising: discovering hosts populated with objects divided into blocks; identifying hosts that have at least one of multiple blocks of the object O; and performing a piecewise reconstruction of the blocks of the object O from identified hosts.