Segment deduplication system with encryption and compression of segments
First Claim
Patent Images
1. A system for deduplicated storage of encrypted compressed data, comprising:
- a processor configured to;
determine whether an encrypted compressed segment has been previously stored based at least in part on an identifier associated with the encrypted compressed segment, wherein the encrypted compressed segment was determined by breaking a data stream, a data block, or a data file into one or more segments and compressing and then encrypting each of the one or more segments, and wherein one segment of the one or more segments is used to reconstruct more than one data stream, data block, or data file, wherein for a first segment and a second segment that is identical to the first segment, an encrypted compressed first segment is identical to an encrypted compressed second segment;
in the event that the encrypted compressed segment has not been previously stored, store the encrypted compressed segment;
in the event that the encrypted compressed segment has been previously stored, store a reference to the previously stored encrypted compressed segment, wherein the reference is used to retrieve the previously stored encrypted compressed segment to reconstruct the data stream, data block, or data file; and
a memory coupled to the processor and configured to provide the processor with instructions.
12 Assignments
0 Petitions
Accused Products
Abstract
A system for storing encrypted compressed data comprises a processor and a memory. The processor is configured to determine whether an encrypted compressed segment has been previously stored. The encrypted compressed segment was determined by breaking a data stream, a data block, or a data file into one or more segments and compressing and then encrypting each of the one or more segments. The processor is further configured to store the encrypted compressed segment in the event that the encrypted compressed segment has not been previously stored. The memory is coupled to the processor and configured to provide the processor with instructions.
84 Citations
18 Claims
-
1. A system for deduplicated storage of encrypted compressed data, comprising:
-
a processor configured to; determine whether an encrypted compressed segment has been previously stored based at least in part on an identifier associated with the encrypted compressed segment, wherein the encrypted compressed segment was determined by breaking a data stream, a data block, or a data file into one or more segments and compressing and then encrypting each of the one or more segments, and wherein one segment of the one or more segments is used to reconstruct more than one data stream, data block, or data file, wherein for a first segment and a second segment that is identical to the first segment, an encrypted compressed first segment is identical to an encrypted compressed second segment; in the event that the encrypted compressed segment has not been previously stored, store the encrypted compressed segment; in the event that the encrypted compressed segment has been previously stored, store a reference to the previously stored encrypted compressed segment, wherein the reference is used to retrieve the previously stored encrypted compressed segment to reconstruct the data stream, data block, or data file; and a memory coupled to the processor and configured to provide the processor with instructions. - View Dependent Claims (2, 3, 4)
-
-
5. A method for deduplicated storage of encrypted compressed data, comprising:
-
determining, using a processor, whether an encrypted compressed segment has been previously stored based at least in part on an identifier associated with the encrypted compressed segment, wherein the encrypted compressed segment is determined by breaking a data stream, a data block, or a data file into one or more segments and compressing and then encrypting each of the one or more segments, and wherein one segment of the one or more segments is used to reconstruct more than one data stream, data block, or data file, wherein for a first segment and a second segment that is identical to the first segment, an encrypted compressed first segment is identical to an encrypted compressed second segment; in the event that the encrypted compressed segment has not been previously stored, storing the encrypted compressed segment; and in the event that the encrypted compressed segment has been previously stored, storing a reference to the previously stored encrypted compressed segment, wherein the reference is used to retrieve the previously stored encrypted compressed segment to reconstruct the data stream, data block, or data file. - View Dependent Claims (6, 7, 8)
-
-
9. A computer program product for deduplicated storage of encrypted compressed data, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
-
determining, using a processor, whether an encrypted compressed segment has been previously stored based at least in part on an identifier associated with the encrypted compressed segment, wherein the encrypted compressed segment is determined by breaking a data stream, a data block, or a data file into one or more segments and compressing and then encrypting each of the one or more segments, and wherein one segment of the one or more segments is used to reconstruct more than one data stream, data block, or data file, wherein for a first segment and a second segment that is identical to the first segment, an encrypted compressed first segment is identical to an encrypted compressed second segment; in the event that the encrypted compressed segment has not been previously stored, storing the encrypted compressed segment; and in the event that the encrypted compressed segment has been previously stored, storing a reference to the previously stored encrypted compressed segment, wherein the reference is used to retrieve the previously stored encrypted compressed segment to reconstruct the data stream, data block, or data file.
-
-
10. A system for reading encrypted compressed data, comprising:
-
a deduplicated storage device; a processor configured to; decrypt one or more encrypted compressed segments stored in the deduplicated storage device, wherein the one or more encrypted compressed segments were determined by breaking a data stream, a data block, or a data file into one or more segments and compressing and then encrypting each of the one or more segments, wherein one segment of the one or more segments is used to reconstruct more than one data stream, data block, or data file, and wherein the one or more encrypted compressed segments are each associated with a stored identifier, wherein for a first encrypted compressed segment and a second encrypted compressed segment that is identical to the first encrypted compressed segment, a decrypted decompressed first encrypted compressed segment is identical to a decrypted decompressed second encrypted compressed segment; decompress the one or more decrypted compressed segments; and assemble the one or more decrypted decompressed segments to reconstruct the data stream, the data block, or the data file, wherein one of the one or more decrypted decompressed segments is used to reconstruct a second data stream, a second data block, or a second data file; and a memory coupled to the processor and configured to provide the processor with instructions. - View Dependent Claims (11, 12, 13)
-
-
14. A method for reading encrypted compressed data, comprising:
-
decrypting, using a processor, one or more encrypted compressed segments stored in a deduplicated storage device, wherein the one or more encrypted compressed segments were determined by breaking a data stream, a data block, or a data file into one or more segments and compressing and then encrypting each of the one or more segments, wherein one segment of the one or more segments is used to reconstruct more than one data stream, data block, or data file, and wherein the one or more encrypted compressed segments are each associated with a stored identifier, wherein for a first encrypted compressed segment and a second encrypted compressed segment that is identical to the first encrypted compressed segment, a decrypted decompressed first encrypted compressed segment is identical to a decrypted decompressed second encrypted compressed segment; decompressing the one or more decrypted compressed segments; and assembling the one or more decrypted decompressed segments to reconstruct the data stream, the data block, or the data file, wherein at least one of the one or more decrypted decompressed segments is used to reconstruct a second data stream, a second data block, or a second data file. - View Dependent Claims (15, 16, 17)
-
-
18. A computer program product for reading encrypted compressed data, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
-
decrypting, using a processor, one or more encrypted compressed segments stored on a deduplicated storage device, wherein the one or more encrypted compressed segments were determined by breaking a data stream, a data block, or a data file into one or more segments and compressing and then encrypting each of the one or more segments, wherein one segment of the one or more segments is used to reconstruct more than one data stream, data block, or data file, and wherein the one or more encrypted compressed segments are each associated with a stored identifier, wherein for a first encrypted compressed segment and a second encrypted compressed segment that is identical to the first encrypted compressed segment, a decrypted decompressed first encrypted compressed segment is identical to a decrypted decompressed second encrypted compressed segment; decompressing the one or more decrypted compressed segments; and assembling the one or more decrypted decompressed segments to reconstruct the data stream, the data block, or the data file, wherein one of the one or more decrypted decompressed segments is used to reconstruct a second data stream, a second data block, or a second data file.
-
Specification