1. A method for transmission of digital data between at least two separate locations, the method comprising: separating the data arriving at one of the locations into at least bulk content and metadata; selecting one or more target locations from the locations for storage based on a calculation using storage capacity available at respective ones of the target locations, processor utilization available at respective ones of the target locations, and network bandwidth available to respective ones of the target locations; transmitting the bulk content to at least one of the selected target locations; and storing the bulk content at the at least one of the selected target locations.