1. A method for a first computer to generate an update for transmission to a second computer that permits the second computer to generate a copy of a current version of a file comprised of a first plurality of file segments from a copy of an earlier version of the file comprised of a second plurality of file segments, such that each file segment corresponds to a portion of its respective file, the method comprising the steps of: for each segment of the current version of the file, (a) searching an earlier version of a signature list corresponding to an earlier version of the file for an old segment signature which matches a new segment signature corresponding to the segment; (b) if step (a) results in a match, writing a command in the update for the second computer to copy an old segment of the second computer's copy of the earlier version of the file into the second computer's copy of the current version of the file, wherein the old segment corresponds to the segment for which a match was detected in step (a); and (c) if step (a) results in no match, writing a command in the update for the second computer to insert a new segment of the current version of the file into the second computer's copy of the current version of the file; wherein the new segment of the current version of the file is written into the update and the unchanged segment is excluded from the update; and wherein steps (a) through (c) are performed by the first computer, without interaction with the second computer, in response to the first computer detecting a change between the current version of the file and the earlier version of the file.