An improved remote protocol enables efficient and reliable updating of
files on a remote server. A gather-copy extension to a remote protocol
enables a client to instruct a server to gather portions of data from an
existing source file on the server and to copy those portions of data to
appropriate offsets within a new destination file on the server. The
gather-copy extension thus enables the client to leave blank locations in
the destination file into which the client can write new data during a
file update. The gather-copy extension also enables the client to
effectively delete portions of the source file by not copying them from
the source file to the destination file. File updates can therefore be
made without having to transfer the entire file from the client to the
server.