Patent ID: 8762348

Claim:
A system for storing compressed data, comprising: a processor configured to: break a data stream, a data block, or a data file into one or more segments, wherein one segment of the one or more segments is used to reconstruct more than one data streams, data blocks, or data files; compress each of the one or more segments into one or more compressed segments; receive one of the one or more compressed segments; receive metadata information associated with the compressed segment, wherein the received metadata information includes a segment identifier and compression metadata information, wherein the compression metadata information includes a compression type and a compression state, wherein the compression state comprises a state used for compressing the compressed segment, wherein the compression state comprises a key; determine whether the received compressed segment has been previously stored based at least in part on a comparison of the segment identifier associated with the received compressed segment and at least one segment identifier associated with a previously stored compressed segment; in a first event that the received compressed segment is determined to have been previously stored, store a reference to the previously stored compressed segment; in a second event that the received compressed segment is determined to have not been previously stored, store the received compressed segment, wherein the storing of the received compressed segment further comprises generating an index entry from the received compressed segment, wherein the index entry comprises one or more of the following: a digital fingerprint, SHA-1 hash, or Rabin Hash; and a memory coupled to the processor and configured to provide the processor with instructions.