One embodiment of the present invention provides a system for distributing
files across a network. During operation, the system receives a request
at a server to download a file to a client. If the server is not
currently downloading the file, the system commences a download stream
for the file on a multicast port. If the server is currently downloading
the file, the system remembers a marked location on the file, wherein the
marked location relates to a current packet number of the download stream
on the multicast port. The system then continues downloading the file
until the end of the file, thereby allowing the client to receive the
remainder of the file. Next, the system downloads the file from the
beginning of the file to the marked location, thereby allowing the client
to receive previously transmitted portions of the file.