Content-based segmentation scheme for data compression in storage and transmission including hierarchical segment representation
First Claim
1. A method for performing a backup of files, the method comprising:
- receiving, at a backup system, a plurality of files to be backed up;
segmenting, with a segmenter of the backup system, each file into one or more segments;
forming a list for each file, wherein forming a list comprises;
(a) determining whether each segment is present in a segment store, wherein a segment that is present in the segment store has an assigned reference label;
(b) for each segment present in the segment store, adding to the list the assigned reference label; and
(c) for each segment not present in the segment store, assigning a reference label to the segment, storing the segment and the reference label, and adding the reference label to the list; and
storing, in a database of the near-line file system, an association between each file and the corresponding list.
21 Assignments
0 Petitions
Accused Products
Abstract
In a coding system, input data within a system is encoded. The input data might include sequences of symbols that repeat in the input data or occur in other input data encoded in the system. The encoding includes determining a target segment size, determining a window size, identifying a fingerprint within a window of symbols at an offset in the input data, determining whether the offset is to be designated as a cut point and segmenting the input data as indicated by the set of cut points. For each segment so identified, the encoder determines whether the segment is to be a referenced segment or an unreferenced segment, replacing the segment data of each referenced segment with a reference label and storing a reference binding in a persistent segment store for each referenced segment, if needed. Hierarchically, the process can be repeated by grouping references into groups, replacing the grouped references with a group label, storing a binding between the grouped references and group label, if one is not already present, and repeating the process. The number of levels of hierarchy can be fixed in advanced or it can be determined from the content encoded.
63 Citations
17 Claims
-
1. A method for performing a backup of files, the method comprising:
-
receiving, at a backup system, a plurality of files to be backed up; segmenting, with a segmenter of the backup system, each file into one or more segments; forming a list for each file, wherein forming a list comprises; (a) determining whether each segment is present in a segment store, wherein a segment that is present in the segment store has an assigned reference label; (b) for each segment present in the segment store, adding to the list the assigned reference label; and (c) for each segment not present in the segment store, assigning a reference label to the segment, storing the segment and the reference label, and adding the reference label to the list; and storing, in a database of the near-line file system, an association between each file and the corresponding list. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A backup system for performing a backup of files, the near-line backup system comprising:
-
an interface for receiving a plurality of files to be backed up; a segmenter configured to segment each file; an encoder for forming a list for each file, the encoder comprising; (a) logic configured to determine whether each segment is present in a segment store, wherein a segment that is present in the segment store has an assigned reference label; (b) for each segment present in the segment store, logic configured to add to the list the assigned reference label; and (c) for each segment not present in the segment store, logic configured to assign a reference label to the segment, store the segment and the reference label, and add the reference label to the list; and logic configured to store an association between each file and the corresponding list in a database of the near-line file system. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
Specification