in reply to Bandwidth upload sharing

Another possibility, inspired by Corion ++ 's excellent suggestions is based on my interpration of your statements::

Under these conditions, the server should periodically verify the availability and load on each volunteer computer, then modify the served download page(s) for each request such that the download request points to the next available volunteer computer (Round Robin). If all are busy, advise and place the clients in a queue, with a page that refreshes periodically with new status.

With the power of perl, this should not be too difficult to implement.

Cheers!

     "As you get older three things happen. The first is your memory goes, and I can't remember the other two... " - Sir Norman Wisdom