Multi-process compression
First Claim
Patent Images
1. A system for compressing a file having a plurality of records, the system comprising:
- a splitter operable to partition the file into a first subfile and a second subfile, wherein each subfile comprises a subset of the records contained in the file;
a first compressor coupled to the splitter and operable to compress the first subfile to produce a first compressed subfile;
a second compressor coupled to the splitter and operable to compress the second subfile to produce a second compressed subfile; and
a combiner coupled to the compressors, the combiner operable to combine the compressed subfiles produced by the compressors to produce a compressed file.
4 Assignments
0 Petitions
Accused Products
Abstract
A system (10) compresses a file (12) to produce a compressed file (14). The system (10) includes a compression splitter (16) that splits the file (12) into subfiles. Compressors (20a, 20b, 20c), operating on one or more microprocessors, compress the subfiles to produce compressed subfiles (22a, 22b, 22c). A compression combiner (26) combines the compressed subfiles (22a, 22b, 22c) to produce the compressed file (14).
106 Citations
32 Claims
-
1. A system for compressing a file having a plurality of records, the system comprising:
-
a splitter operable to partition the file into a first subfile and a second subfile, wherein each subfile comprises a subset of the records contained in the file;
a first compressor coupled to the splitter and operable to compress the first subfile to produce a first compressed subfile;
a second compressor coupled to the splitter and operable to compress the second subfile to produce a second compressed subfile; and
a combiner coupled to the compressors, the combiner operable to combine the compressed subfiles produced by the compressors to produce a compressed file. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method performed on a computer for compressing a file having a plurality of records, the method comprising:
-
partitioning the file into a first subfile and a second subfile, wherein each subfile comprises a subset of the records contained in the file;
compressing the first subfile to produce a first compressed subfile;
compressing the second subfile to produce a second compressed subfile; and
combining the compressed subfiles to produce a compressed file. - View Dependent Claims (8, 9, 10, 11)
providing a first compressor and a second compressor;
compressing the first subfile using the first compressor; and
compressing the second subfile using the second compressor.
-
-
9. The method of claim 7, wherein the steps of compressing the subfiles comprise:
-
spawning a first compressor and a second compressor as separate software processes;
compressing the first subfile using the first compressor; and
compressing the second subfile using the second compressor.
-
-
10. The method of claim 7, wherein the steps of compressing the subfiles further comprise:
-
setting a subfile pointer forward to the beginning of a first record for each subfile; and
compressing a last record in each subfile if the associated subfile comprises at least a portion of the last record.
-
-
11. The method of claim 7, wherein the steps of compressing the subfiles further comprise:
-
setting a subfile pointer backwards to the beginning of a first record for each subfile; and
compressing a last record in each subfile that comprises a complete record.
-
-
12. A compressor for compressing a file having a plurality of records with delimited fields, the compressor comprising:
-
a first buffer operable to store a first record of the file;
a second buffer operable to store a second record of the file; and
a processor coupled to the first buffer and the second buffer, the processor operable to compare, on a field-by-field basis, the first record to the second record, the processor operable to replace a field of the second record with a vertical repeat indicator if the field of the second record matches the corresponding field of the first record. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
the vertical repeat indicator; and
a number indicating the repetitions of the vertical repeat indicator.
-
-
16. The compressor of claim 12, wherein the processor is further operable to compare a first character of a field of the second record with a second character of the field, and to replace the first character with a horizontal repeat indicator if the first character matches the second character.
-
17. The compressor of claim 16, wherein the horizontal repeat indicator comprises:
-
the character; and
a number indicating the repetitions of the character.
-
-
18. The compressor of claim 12, wherein:
-
the file comprises a plurality of subfiles, each subfile comprising a subset of the records contained in the file; and
the processor is further operable to set a subfile pointer forward to the beginning of the first record for each subfile, and to compress a last record in each subfile if the associated subfile comprises at least a portion of the last record.
-
-
19. The compressor of claim 12, wherein:
-
the file comprises a plurality of subfiles, each subfile comprising a subset of the records contained in the file; and
the processor is further operable to set a subfile pointer backwards to the beginning of a first record for each subfile, and to compress a last record in each subfile that comprises a complete record.
-
-
20. A method for compressing a file having a plurality of records with delimited fields, the method comprising:
-
comparing, on a field-by-field basis, a first record of the file to a second record of the file; and
replacing a field of the second record with a vertical repeat indicator if the field of the second record matches the corresponding field of the first record. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27)
comparing a first field of the second record with a second field of the second record; and
replacing the first field with a horizontal repeat indicator if the first field matches the second field.
-
-
23. The method of claim 22, wherein the horizontal repeat indicator comprises:
-
the vertical repeat indicator; and
a number indicating the repetitions of the vertical repeat indicator.
-
-
24. The method of claim 20, further comprising the steps of:
-
comparing a first character of a field of the second record with a second character of the field; and
replacing the first character with a horizontal repeat indicator if the first character matches the second character.
-
-
25. The method of claim 24, wherein the horizontal repeat indicator comprises:
-
a character; and
a number indicating the repetitions of the character.
-
-
26. The method of claim 20, wherein the file comprises a plurality of subfiles, each subfile comprising a subset of the records contained in the file, and further comprising the steps of:
-
setting a subfile pointer forward to the beginning of a first record for each subfile; and
compressing a last record in each subfile if the associated subfile comprises at least a portion of the last record.
-
-
27. The method of claim 20 wherein the file comprises a plurality of subfiles, each subfile comprising a subset of the records contained in the file, and further comprising the steps of:
-
setting a subfile pointer backwards to the beginning of a first record for each subfile; and
compressing a last record in each subfile that comprises a complete record.
-
-
28. A method for decompressing a compressed file having a plurality of records with delimited fields, the method comprising:
-
determining, on a field-by-field basis, if a field of a compressed record comprises a vertical repeat indicator; and
writing the field to a buffer if the field of the compressed record is not a vertical repeat indicator. - View Dependent Claims (29, 30, 31, 32)
determining, on a field-by-field basis, if a field of the compressed record comprises a horizontal repeat indicator having a character and a number indicating the repetitions of the character; and
writing to a second buffer the character of the horizontal repeat indicator according to the number indicating the repetitions of the character.
-
-
32. The method of claim 31, wherein the character of the horizontal repeat indicator comprises the vertical repeat indicator.
Specification