Boundaries
First Claim
1. A method, comprising:
- generating a plurality of candidate segments from a selected trial segment of a selected data file, each candidate segment corresponding to a start position offset from the start of the trial segment and having data appended thereto from a next segment of the selected data file as necessary to maintain a constant candidate segment size;
comparing a boundary parameter of each candidate segment to a boundary parameter of a previously stored segment to determine a comparison result;
if the comparison result indicates that a candidate segment potentially corresponds to the previously stored segment, comparing a segment identifier value for the candidate segment to a segment identifier value for the previously stored segment to determine whether the candidate segment is the same as the previously stored segment; and
sending to a backup storage a trial segment if none of the candidate segments generated therefrom are determined to have previously been stored.
9 Assignments
0 Petitions
Accused Products
Abstract
A data backup system can be operable to determine whether to send a data file segment to backup storage. The data backup system can comprise a comparator operable to compare a boundary parameter of a candidate segment proposed for sending to backup storage to a boundary parameter of a previously stored segment to determine whether the candidate segment potentially corresponds to the previously stored segment. The data backup system can also comprise a comparator operable, if it is determined that the candidate segment potentially corresponds to the previously stored segment, to compare a checksum value for the candidate segment to a checksum value for the previously stored segment to determine whether the candidate segment has previously been stored to the second location. A storage engine can be provided to send to backup storage a segment determined not to have previously been stored. Thereby a single instance store can be implemented whereby a modified segment can be identified and a segment boundary adjusted to avoid re-storage of previously stored data.
155 Citations
19 Claims
-
1. A method, comprising:
-
generating a plurality of candidate segments from a selected trial segment of a selected data file, each candidate segment corresponding to a start position offset from the start of the trial segment and having data appended thereto from a next segment of the selected data file as necessary to maintain a constant candidate segment size; comparing a boundary parameter of each candidate segment to a boundary parameter of a previously stored segment to determine a comparison result; if the comparison result indicates that a candidate segment potentially corresponds to the previously stored segment, comparing a segment identifier value for the candidate segment to a segment identifier value for the previously stored segment to determine whether the candidate segment is the same as the previously stored segment; and sending to a backup storage a trial segment if none of the candidate segments generated therefrom are determined to have previously been stored. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for identifying data object segments for inclusion in single instance storage, the method comprising:
-
generating a plurality of candidate segments from a selected trial segment of a selected data object, each candidate segment corresponding to a start position offset from the start of the trial segment and having data appended thereto from a next segment of the selected data object as necessary to maintain a constant candidate segment size; comparing a boundary parameter of each candidate segment to a boundary parameter of a previously stored segment to determine whether the candidate segment potentially corresponds to the previously stored segment; if it is determined that a candidate segment potentially corresponds to the previously stored segment, comparing a segment identifier value for the candidate segment to a segment identifier value for the previously stored segment to determine whether the candidate segment is the same as the previously stored segment. - View Dependent Claims (17, 18)
-
-
19. A system, comprising:
-
a processor; a memory storing program instructions executable by the processor to; generate a plurality of candidate segments from a selected trial segment of a selected data file, each candidate segment corresponding to a start position offset from the start of the trial segment and having data appended thereto from a next segment of the selected data file as necessary to maintain a constant candidate segment size; compare a boundary parameter of each candidate segment to a boundary parameter of a previously stored segment to determine a comparison result; if the comparison result indicates that a candidate segment potentially corresponds to the previously stored segment, compare a segment identifier value for the candidate segment to a segment identifier value for the previously stored segment to determine whether the candidate segment is the same as the previously stored segment; and send to backup storage a trial segment if none of the candidate segments generated therefrom are determined to have previously been stored.
-
Specification