Patent ID: 8019731

Claim:
A system for updating an archive of a computer file, comprising: a hard disk configured to store a file on a client computer; a byte differencing engine configured to generate one or more first indicia of difference between individual bytes in the file stored in the hard disk and corresponding individual bytes associated with an archive of the file, wherein the one or more first indicia of difference generated with the byte differencing engine includes one or more of the individual bytes in the file stored in the hard disk that are different from the corresponding one or more individual bytes associated with the archive of the file; a block differencing engine configured to generate one or more second indicia of difference between a first set of tokens that statistically represent the file stored in the hard disk and a second set and of tokens that statistically represent the archive of the file, wherein the one or more second indicia of difference generated with the block differencing engine includes one or more multiple byte blocks in the file stored in the hard disk that are different from one or more corresponding multiple byte blocks associated with the archive of the file; a condition analysis subsystem configured to automatically select either the byte differencing engine or the block differencing engine to update the archive of the file based on whether one or more criteria associated with the client computer satisfy a predetermined condition, wherein the condition analysis subsystem is configured to automatically select the block differencing engine in response to determining that the one or more criteria associated with the client computer satisfy the predetermined condition or the byte differencing engine in response to determining that the one or more criteria associated with the client computer do not satisfy the predetermined condition; and a processor configured to convey either the one or more first indicia of difference or the one or more second indicia of difference from the client computer to a server computer to update the archive of the file in response to the condition analysis subsystem selecting either the byte differencing engine or the block differencing engine to update the archive of the engine includes one or more of the individual bytes in the file stored in the hard disk that are different from the corresponding one or more individual bytes associated with the archive of the file.