For networks that have a large load to carry, downloads can become gruesomely bandwidth consuming. Most downloading managers that I've seen let you choose the amount of bandwidth that you'd like to use. Is there a possible way to do this with Java programming? If so, how would it be accomplished?
Depending on the class/library being used to perform the network access, you may be able to override the function that performs the actual socket connection and change the code in order to (1) control how much is requested from the other side of the connection, (2) put in delays between requests, and/or (3) place limits on concurrent connections.
Without knowing specifics about what you're doing, it would be pretty hard to give more specific advise.