Segment deduplication system with encryption and compression of segments
First Claim
Patent Images
1. A system for storing encrypted compressed data, comprising:
- a processor configured to;
determine whether an encrypted compressed segment has been previously stored, 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, wherein the determining of whether the encrypted compressed segment has been previously stored comprises;
compare a first identifier corresponding to the encrypted compressed segment with a set of identifiers corresponding to a plurality of previously stored encrypted compressed segments;
in the event that the first identifier does not match a second identifier of the set of identifiers, store the encrypted compressed segment; and
in the event that the first identifier matches the second identifier of the set of identifiers, store a reference for the encrypted compressed segment, wherein the reference relates to a previously stored encrypted compressed segment corresponding to the second identifier; 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.
22 Citations
20 Claims
-
1. A system for storing encrypted compressed data, comprising:
-
a processor configured to; determine whether an encrypted compressed segment has been previously stored, 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, wherein the determining of whether the encrypted compressed segment has been previously stored comprises; compare a first identifier corresponding to the encrypted compressed segment with a set of identifiers corresponding to a plurality of previously stored encrypted compressed segments; in the event that the first identifier does not match a second identifier of the set of identifiers, store the encrypted compressed segment; and in the event that the first identifier matches the second identifier of the set of identifiers, store a reference for the encrypted compressed segment, wherein the reference relates to a previously stored encrypted compressed segment corresponding to the second identifier; and a memory coupled to the processor and configured to provide the processor with instructions. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for storing encrypted compressed data, comprising:
-
determining, using a processor, whether an encrypted compressed segment has been previously stored, 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, wherein the determining of whether the encrypted compressed segment has been previously stored comprises; comparing a first identifier corresponding to the encrypted compressed segment with a set of identifiers corresponding to a plurality of previously stored encrypted compressed segments; in the event that the first identifier does not match a second identifier of the set of identifiers, storing the encrypted compressed segment; and in the event that the first identifier matches the second identifier of the set of identifiers, storing a reference for the encrypted compressed segment, wherein the reference relates to a previously stored encrypted compressed segment corresponding to the second identifier. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer program product for storing 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, 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, wherein the determining of whether the encrypted compressed segment has been previously stored comprises; comparing a first identifier corresponding to the encrypted compressed segment with a set of identifiers corresponding to a plurality of previously stored encrypted compressed segments; in the event that the first identifier does not match a second identifier of the set of identifiers, storing the encrypted compressed segment; and in the event that the first identifier matches the second identifier of the set of identifiers, storing a reference for the encrypted compressed segment, wherein the reference relates to a previously stored encrypted compressed segment corresponding to the second identifier.
-
-
12. 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 the encrypting of the each of the one or more segments comprises to store the each of the one or more segments, comprising to; determine whether an encrypted compressed segment has been previously stored, comprising to compare a first identifier corresponding to the encrypted compressed segment with a set of identifiers corresponding to a plurality of stored encrypted compressed segments; in the event that the first identifier does not match a second identifier of the set of identifiers, store the encrypted compressed segment in the deduplicated storage device; and in the event that the first identifier matches the second identifier of the set of identifiers, store a reference for the encrypted compressed segment in the deduplicated storage device, wherein the reference relates to a previously stored encrypted compressed segment corresponding to the second identifier; 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; and a memory coupled to the processor and configured to provide the processor with instructions. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A method for reading encrypted 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 the encrypting of the each of the one or more segments comprises storing the each of the one or more segments, comprising; determining whether an encrypted compressed segment has been previously stored, comprising; comparing a first identifier corresponding to the encrypted compressed segment with a set of identifiers corresponding to a plurality of stored encrypted compressed segments; in the event that the first identifier does not match a second identifier of the set of identifiers, storing the encrypted compressed segment in the deduplicated storage device; and in the event that the first identifier matches the second identifier of the set of identifiers, storing a reference for the encrypted compressed segment in the deduplicated storage device, wherein the reference relates to a previously stored encrypted compressed segment corresponding to the second identifier; 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. - View Dependent Claims (18, 19)
-
-
20. 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 the encrypting of the each of the one or more segments comprises storing the each of the one or more segments, comprising; determining whether an encrypted compressed segment has been previously stored, comprising; comparing a first identifier corresponding to the encrypted compressed segment with a set of identifiers corresponding to a plurality of stored encrypted compressed segments; in the event that the first identifier does not match a second identifier of the set of identifiers, storing the encrypted compressed segment in the deduplicated storage device;
anin the event that the first identifier matches the second identifier of the set of identifiers, storing a reference for the encrypted compressed segment in the deduplicated storage device, wherein the reference relates to a previously stored encrypted compressed segment corresponding to the second identifier decompressing the one or more decrypted compressed segments;
anassembling the one or more decrypted decompressed segments to reconstruct the data stream, the data block, or the data file.
-
Specification