A method comprising the following steps at a server:setting a sequence number to a sequence number initialization value; entering a server wait state; upon receiving a file transmission request, selecting a file and attaching a header to the file, the header including a filename, a timestamp, and a sequence number; transmitting the file to a plurality of caching servers; determining whether a file