in reply to Bandwidth upload sharing

You could have a look at MogileFS which uses webdav to upload the files to whatever server is available, then later syncs the servers so that everything should be stored everywhere. When serving the files, it chooses the servers based on response, and so should distribute the load efficiently.

It would be transparent to the user, and just relies on ordinary http hosts.

Clint