This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
"download managers" keep track of the number of bytes sent to the client and then if the connection is reset, they send a HTTP request asking to restart from the point the previous request stopped. I guess you would need to look closer into this and implement it in Java.