Patent ID: 8156071

Claim:
A system for updating electronic files, the system including a memory; a processor processing at least one application, wherein the processor is configured to: receive two byte streams including byte streams corresponding to an original file and a new file; determine a longest common sub-string (LCS) between the two byte streams; divide each of the two byte streams into a plurality of sub-streams, and when the LCS is at least a first pre-specified size, recursively determine another LCS between at least two sub-streams of the plurality of sub-streams and re-divide each sub-stream until a size of the sub-streams is less than a second pre-specified size, wherein the second pre-specified size of the sub-streams is proportional to computation time of byte-level differencing between sub-streams of the plurality of sub-streams; determine a byte-level difference between each of the corresponding sub-streams; and generate a delta file that includes the byte-level difference.