Patent ID: 8166012

Claim:
A method for storing data on cluster storage comprising: receiving a data stream or a data block; breaking the data stream or the data block into segments; and for each segment associated with the data stream or the data block: assigning the segment to a cluster node, wherein the cluster node is associated with a cluster storage system comprising at least two cluster nodes and wherein each cluster node is associated with a corresponding storage, wherein the cluster node indexes and stores one or more segments managed by the cluster storage system; breaking the segment into a plurality of portions of the segment, wherein each portion of the segment is smaller than the segment; and identifying one of the plurality of portions of the segment that is a duplicate of a portion of another segment already managed by the assigned cluster node for determining storage of a deduplicated representation of the segment in the cluster node, wherein the identification is based at least in part on using a determined tag associated with the portion of the segment, wherein storing the segment includes at least storing a reference to the portion of the other segment already managed by the cluster node instead of the portion of the segment identified as the duplicate, wherein at least the stored reference is used to reconstruct the segment.