US9390100B2ActiveUtilityA1

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.3 yrs left)· nominal 20-yr term from priority
Inventors:Mark Huang
G06F 17/30156G06F 17/30162G06F 17/30153G06F 17/3015G06F 17/30106G06F 16/1756G06F 16/1748G06F 16/174G06F 16/148G06F 16/1744
49
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.

Join the waitlist — get patent alerts

Track US9390100B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.