Patent US6233589B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6233589B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for reflecting differences between two files

Assignee: EMC Corp
•
Filing: 1998-07-31
•
Granted: 2001-05-15
•
Expires: 2018-07-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for reflecting differences between two files. The method includes generating a base signature file having a plurality of base bit patterns, each base bit pattern being generated as a function of a portion of data in a first file. A second file containing a plurality of revised bit patterns is generated from a second file. Each revised bit pattern is compared to and matches at least one of the base bit patterns. A delta file reflecting the differences between a first file and the second file based on the base signature file, the delta signature file, and the second file is created.

Inventors

  • 👤 Muralidhar Balcha
  • 👤 Chandan Kudige

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 16:23
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/10; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99954

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 113 words
A method for reflecting differences between two versions of a file, comprising: generating a base signature file comprising a plurality of base bit patterns, each base bit pattern being generated as a function of a portion of data in a first file; processing the second file in by reading the second file only once and generating from the second file a revised signature file comprising a plurality of revised bit patterns, each revised bit pattern matching at least one of the base bit patterns; and generating a delta file reflecting differences between the first file and the second file based on the base signature file, the revised signature file and the second file.
Claim 2
Independent Claim 113 words
A method for reflecting differences between two versions of a file, comprising: generating a base signature file comprising a plurality of base bit patterns, each base bit pattern being generated as a function of a portion of data in a first file; processing the second file in by reading the second file only once and generating from the second file a revised signature file comprising a plurality of revised bit patterns, each revised bit pattern matching at least one of the base bit patterns; and generating a delta file reflecting differences between the first file and the second file based on the base signature file, the revised signature file and the second file.
Claim 3
Dependent Claim 17 words
A method according to claim 1 , wherein the base and revised bit patterns comprise CRC values.
Claim 4
Dependent Claim 135 words
A method according to claim 1 , wherein each of the plurality of revised bit patterns are generated by: a) generating a bit pattern as a function of a respective block of data of the second file; b) comparing the bit pattern to the plurality of base bit patterns, and if the bit pattern matches one of the base bit patterns, writing the bit pattern to the revised signature file, and if the bit pattern does not match any of the plurality of base bit patterns: i) generating another bit pattern as a function of a next block of data of the second file; and ii) repeating step b until either the bit pattern matches one of the plurality of base bit patterns, or until all the data in the second file has been processed.
Claim 5
Dependent Claim 56 words
A method according to claim 3 , wherein the second file is processed as a stream of data, and the next block of data is obtained by removing the most significant byte of data from the respective block of data, and adding the next byte of data in the stream to the first block of data.
Claim 6
Dependent Claim 48 words
A method according to claim 3 , wherein the second file is processed as a stream of bytes of data, the respective block of data comprising stream bytes n i through n x , and the next block of data comprising bytes n i+1 through n x+1 .
Claim 7
Dependent Claim 62 words
A method according to claim 3 , wherein the second file is processed as a stream of bytes of data, the respective block of data comprising stream bytes n i through n x , and wherein if the bit pattern matches one of the plurality of base bit patterns, the next block of data comprises bytes n x+1 through n x+1+blocksize .
Claim 8
Dependent Claim 27 words
A method according to claim 1 , wherein the delta file comprises a plurality of command primitives, each command primitive identifying a modification to the first file.
Claim 9
Dependent Claim 26 words
A method according to claim 1 , wherein the delta file is created on a client computer, and forwarded to a backup computer over a network.
Claim 10
Dependent Claim 31 words
A method according to claim 1 , wherein the second file is communicated from a client computer to a backup computer, and the delta file is created on the backup computer.
Claim 11
Dependent Claim 38 words
A method according to claim 1 , wherein the delta file is generated on a first computer and is communicated to a second computer to synchronize a copy of the first file being maintained on the second computer.
Claim 12
Dependent Claim 28 words
A method according to claim 1 , wherein the delta file is created on a client computer, and forwarded to another computer over a network for file replication.
Claim 13
Independent Claim 114 words
A method for representing differences between two files, comprising: processing a first file and generating a plurality of first file patterns, each first file pattern being associated with a respective portion of the first file; processing a second file by a single read of the second file and generating a plurality of second file patterns, each second file pattern being associated with a portion of the second file and being compared to and matching one of the first file patterns; and processing the second file patterns and the first file patterns, and accessing the second file and generating a delta file containing primitives reflecting the differences between the first file and the second file.
Claim 14
Independent Claim 114 words
A method for representing differences between two files, comprising: processing a first file and generating a plurality of first file patterns, each first file pattern being associated with a respective portion of the first file; processing a second file by a single read of the second file and generating a plurality of second file patterns, each second file pattern being associated with a portion of the second file and being compared to and matching one of the first file patterns; and processing the second file patterns and the first file patterns, and accessing the second file and generating a delta file containing primitives reflecting the differences between the first file and the second file.
Claim 15
Dependent Claim 27 words
A method according to claim 12 , wherein the processing the second file patterns step further comprises processing the second file patterns in longest common subsequence order.
Claim 16
Dependent Claim 130 words
A method according to claim 12 , wherein the second file is processed as a stream of bytes of data, wherein the processing a second file and generating a plurality of second file patterns comprises: a) obtaining a block of data; b) generating a bit pattern as a function of the block of data; c) comparing the bit pattern to the plurality of first file patterns; d) if the bit pattern matches one of the plurality of first file patterns saving the bit pattern as a second file pattern, if the bit pattern does not match one of the plurality of first file patterns repeating steps a) through d) until the bit pattern matches one of the plurality of first file patterns, or the second file has been completely processed.
Claim 17
Dependent Claim 49 words
A method according to claim 14 , wherein at least two blocks of data are obtained, the first block of data being bytes n i through bytes n x of the stream of data, and the second block of data being bytes n i+1 through bytes n x+1 .
Claim 18
Dependent Claim 25 words
A method according to claim 12 , wherein the second file is processed in a single pass to generate the plurality of second file patterns.
Claim 19
Dependent Claim 34 words
A system according to claim 16 , further comprising a longest common subsequence table being operative to allow the third generator to traverse the plurality of revised bit patterns in longest common subsequence order.
Claim 20
Independent Claim 124 words
A system for maintaining differences between a first file and a second file, comprising: a first generator being operative to generate a base signature file comprising a plurality of base bit patterns, each base bit pattern being generated as a function of a portion of data in a first file; a second generator being operative to generate by a single read through a second file a revised signature file comprising a plurality of revised bit patterns, each revised bit pattern matching at least one of the base bit patterns; and a third generator being operative to generate a delta file reflecting differences between the first file and the second file based on the base signature file, the revised signature file and the second file.
Claim 21
Independent Claim 124 words
A system for maintaining differences between a first file and a second file, comprising: a first generator being operative to generate a base signature file comprising a plurality of base bit patterns, each base bit pattern being generated as a function of a portion of data in a first file; a second generator being operative to generate by a single read through a second file a revised signature file comprising a plurality of revised bit patterns, each revised bit pattern matching at least one of the base bit patterns; and a third generator being operative to generate a delta file reflecting differences between the first file and the second file based on the base signature file, the revised signature file and the second file.
Claim 22
Dependent Claim 26 words
A system according to claim 18 , wherein the second generator processes the second file a single time to generate the plurality of revised bit patterns.
Claim 23
Dependent Claim 34 words
A system according to claim 18 , wherein the each revised bit pattern represents a block of data in the second file that is identical to a block of data in the first file.

References Cited (Backward Citations)

US5479654A Cited
US5574906A Cited
US5634052A Cited
US5778395A Cited
US5919247A Cited
US6052531A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-05-14 2004-11-13 2005-05-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-05-14 2008-11-13 2009-05-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-05-14 2012-11-13 2013-05-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag