Abstract: Redundant data is removed from a volume of data by partitioning the volume of data into fixed-length input segments and determining, for each of the input segments, whether a selected portion of the input segment matches a portion of a segment within a de-duplication dictionary. If the portion of the input segment matches a portion of the segment within the dictionary, the segment within the de-duplication dictionary is compared with the input segment and a token representative of the segment within the dictionary is substituted for at least part of the input segment determined to match the segment within the dictionary.
Abstract: Redundant data is removed from a volume of data by partitioning the volume of data into fixed-length input segments and, for each of the input segments, traversing nodes of a search tree in accordance with the value of a fixed-size portion of the input segment to determine if the search tree contains a pointer to a matching fixed-sized portion of a segment within a dictionary. If the search tree contains the pointer, the input segment is compared with the segment within the dictionary pointed to by the pointer, and a token representative of the segment within the dictionary is substituted for at least part of the input segment determined to match the segment within the dictionary.
Abstract: Redundant data is removed from a volume of data by partitioning the volume of data into fixed-length input segments and, for each of the input segments, traversing nodes of a search tree in accordance with the value of a fixed-size portion of the input segment to determine if the search tree contains a pointer to a matching fixed-sized portion of a segment within a dictionary. If the search tree contains the pointer, the input segment is compared with the segment within the dictionary pointed to by the pointer, and a token representative of the segment within the dictionary is substituted for at least part of the input segment determined to match the segment within the dictionary.