P
US9390100B2ActiveUtilityPatentIndex 52

Storing differences between precompressed and recompressed data files

Assignee: EMC CORPPriority: Dec 16, 2011Filed: Apr 2, 2015Granted: Jul 12, 2016
Est. expiryDec 16, 2031(~5.5 yrs left)· nominal 20-yr term from priority
Inventors:HUANG MARK
G06F 17/30156G06F 17/30162G06F 17/30153G06F 17/3015G06F 17/30106G06F 16/1756G06F 16/1748G06F 16/174G06F 16/148G06F 16/1744
52
PatentIndex Score
0
Cited by
8
References
21
Claims

Abstract

A system comprises a processor and a memory. The processor is configured to decompress a precompressed file; recompress the decompressed file; and determine a difference file. The memory is coupled to the processor and configured to provide the processor with instructions.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A system for storing precompressed files, comprising:
 a processor configured to:
 retrieve a precompressed file stored as a set of segments and a difference file, wherein the difference file comprises one or more differences between the precompressed file and a recompressed input file obtained by compressing a decompressed version of the precompressed file, wherein a set of precompression compression parameters is different from a set of recompression compression parameters, wherein the precompressed file stored as the set of segments is stored using the decompressed version of the precompressed file; 
 reconstruct the precompressed file stored as the set of segments; 
 recompress the reconstructed file into a current recompressed file; 
 undo the one or more differences in the current recompressed file as indicated by the difference file; and 
 a memory coupled to the processor and configured to provide the processor with instructions. 
 
 
     
     
       2. A system as in  claim 1 , wherein the processor is further configured to: receive an input precompressed file to store and decompress the input precompressed file; and store the decompressed file as a set of segments. 
     
     
       3. A system as in  claim 2 , wherein the processor is further configured to recompress the decompressed file. 
     
     
       4. A system as in  claim 3 , wherein the processor is further configured to determine a first difference file. 
     
     
       5. A system as in  claim 4 , wherein the processor is further configured to store the first difference file with the decompressed file stored as a set of segments. 
     
     
       6. A system as in  claim 1  wherein the difference file is also stored as one or more segments. 
     
     
       7. A system as in  claim 1 , wherein the precompressed file stored as a set of segments is stored in a deduplicating storage system. 
     
     
       8. A system as in  claim 1 , wherein the difference file was determined using a selected compression algorithm. 
     
     
       9. A system as in  claim 8 , wherein the selected compression algorithm comprises one of a set of compression algorithms using different compression parameters that creates a smallest difference file. 
     
     
       10. A system as in  claim 8 , wherein the processor is further configured to determine whether the difference file determined using the selected compression algorithm is larger than a predetermined threshold. 
     
     
       11. A system as in  claim 10 , wherein the processor is further configured to store the precompressed file in the event that the difference file is determined to be larger than the predetermined threshold. 
     
     
       12. A system as in  claim 11 , wherein the precompressed file is stored as a set of segments. 
     
     
       13. A system as in  claim 12 , wherein the processor is further configured to store the difference file. 
     
     
       14. A system as in  claim 10 , wherein the processor is further configured to store the decompressed file in the event that the difference file is determined to be not larger than the predetermined threshold. 
     
     
       15. A system as in  claim 14 , wherein the decompressed file is stored as a set of segments. 
     
     
       16. A system as in  claim 1 , wherein a precompressed file comprises one of the following: a Microsoft Office Open XML file, an MP3 file, a JPG file, or a PDF file. 
     
     
       17. A system as in  claim 1 , wherein a precompressed file is compressed with one of the following: zip, gzip, PKZIP, bzip2, or lzip. 
     
     
       18. A system as in  claim 1 , wherein the processor is further configured to retrieve meta information associated with the precompressed file. 
     
     
       19. A system as in  claim 18 , wherein the meta information comprises one or more of the following: a list of segments associated with storing the decompressed file, one or more segments associated with storing the difference file, a compression algorithm, a compression type, a compression parameter, and a file name. 
     
     
       20. A method for storing precompressed files, comprising:
 retrieving, using a processor, a precompressed file stored as a set of segments and a difference file, wherein the difference file comprises one or more differences between the precompressed file and a recompressed input file obtained by compressing a decompressed version of the precompressed file, wherein a set of precompression compression parameters is different from a set of recompression compression parameters, wherein the precompressed file stored as the set of segments is stored using the decompressed version of the precompressed file; 
 reconstructing the precompressed file stored as the set of segments; 
 recompressing the reconstructed file into a current recompressed file; 
 undo the one or more differences in the current recompressed file as indicated by the difference file. 
 
     
     
       21. A computer program product for storing precompressed files, the computer program product being embedded in a non-transitory computer readable storage medium and comprising computer instructions for:
 retrieving, using a processor, a precompressed file stored as a set of segments and a difference file, wherein the difference file comprises one or more differences between the precompressed file and a recompressed input file obtained by compressing a decompressed version of the precompressed file, wherein a set of precompression compression parameters is different from a set of recompression compression parameters, wherein the precompressed file stored as the set of segments is stored using the decompressed version of the precompressed file; 
 reconstructing the precompressed file stored as the set of segments; 
 recompressing the reconstructed file into a current recompressed file; 
 undo the one or more differences in the current recompressed file as indicated by the difference file.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.