×

Apparatus and method for reconstructing a file from a difference signature and an original file

  • US 5,479,654 A
  • Filed: 03/30/1993
  • Issued: 12/26/1995
  • Est. Priority Date: 04/26/1990
  • Status: Expired due to Term
First Claim
Patent Images

1. A method for producing a difference signature of differences between an original file and an updated version of the original file, comprising(1) creating a token table from an original file in a first storage device by producing a token set for each equal sized contiguous segment of said original file, each token set comprising a primary exclusive-or based token and at least one order sensitive secondary token or cyclic redundancy check product term;

  • and(2) generating a difference signature, using the token table and an updated file, by;

    (a) defining a window of consideration for the updated file, said window being of a size equivalent to the segment size used to create the token set for the original file and comprising successive characters in the updated file;

    (b) calculating a primary exclusive-or based token for the window of consideration;

    (c) searching the token table for a primary token which matches the primary token for the window and advancing to step 2(g) if said matching primary token is not found in the token table;

    (d)(i) generating a secondary token for said window in response to finding in the token table a primary token which matches the primary token from the window and comparing the secondary token to the secondary token in the corresponding token set in the token table; and

    (ii) advancing to step 2(e) if the secondary tokens match;

    (e) logging the offset of the current window to the difference signature to correlate the relative locations of the matching segment in the original and updated files, in response to finding a match between the secondary token from the window and the corresponding secondary token from the token set;

    (f) advancing the window of consideration by the segment size to the next segment after the matched text, if there are any remaining segments in the updated file, and resuming the method at step (2b) above;

    (g) advancing the window of consideration by at least one character to create the next window, which includes the characters of the previous window and at least one character in the updated file following the previous window minus the equivalent number of characters at the beginning of the previous window, in response to a failed token search for the previous window, which occurs where either said primary token for the previous window of said updated file is not found in the token table for said original file or where at least one matching primary token is found in the token table but no matching secondary token corresponding to said at least one matching primary token is found in the token table;

    (h) generating a primary token for said next window of consideration by adjusting the primary token from the previous window and(j) repeating the cycle of steps (2b) through (2i) until the updated file is exhausted.

View all claims
  • 6 Assignments
Timeline View
Assignment View
    ×
    ×