Representing de-duplicated file data
First Claim
1. A method comprising:
- receiving an indication identifying a subset of data to be provided as output, wherein the subset of data includes a first data segment;
identifying a first container that includes the first data segment, wherein the first container may also include one or more other segment that are not included in the subset of data to be provided as output;
determining whether corresponding container data associated with the first container has already been included in an output stream based at least in part on a data structure comprising for each of at least a subset of containers an indication of whether or not the corresponding container data has been included in the output stream;
in the event that it is determined, based at least in part on the data structure, that the first container comprises container data that has already been included in the output stream, not retrieving the corresponding container data associated with the first container again and including the corresponding container data in the output stream; and
in the event that it is determined, based at least in part on the data structure, that the first container comprises container data that has not already been included in the output stream;
retrieving the corresponding container data associated with the first container and including the corresponding container data in the output stream, wherein the corresponding container data includes the one or more other segments that are not included in the subset of data to be provided as output; and
updating a corresponding value in the data structure indicating that the container data associated with the first container has already been included in the output stream.
9 Assignments
0 Petitions
Accused Products
Abstract
Providing a subset of de-duplicated data as output is disclosed. The subset of data includes a plurality of data segments. In some embodiments, the output includes segments of data stored across a plurality of containers in a de-duplicated storage system. Each container stores one or more data segments from the subset as well as one or more segments not from the subset. For each container that includes at least one data segment from the subset, the corresponding container data is included in the output in its entirety, including segments that are not from the subset. In the event that container data is included in the output, a value in a data structure that corresponds to the container is updated. The data structure includes a value for each container in the de-duplicated storage system that indicates whether the corresponding container data has been included in the output.
14 Citations
17 Claims
-
1. A method comprising:
-
receiving an indication identifying a subset of data to be provided as output, wherein the subset of data includes a first data segment; identifying a first container that includes the first data segment, wherein the first container may also include one or more other segment that are not included in the subset of data to be provided as output; determining whether corresponding container data associated with the first container has already been included in an output stream based at least in part on a data structure comprising for each of at least a subset of containers an indication of whether or not the corresponding container data has been included in the output stream; in the event that it is determined, based at least in part on the data structure, that the first container comprises container data that has already been included in the output stream, not retrieving the corresponding container data associated with the first container again and including the corresponding container data in the output stream; and in the event that it is determined, based at least in part on the data structure, that the first container comprises container data that has not already been included in the output stream; retrieving the corresponding container data associated with the first container and including the corresponding container data in the output stream, wherein the corresponding container data includes the one or more other segments that are not included in the subset of data to be provided as output; and updating a corresponding value in the data structure indicating that the container data associated with the first container has already been included in the output stream. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A data storage system, comprising:
-
a processor configured to; receive an indication identifying a subset of data to be provided as output wherein the subset of data includes a first data segment; identify a first container that includes the first data segments, wherein the first container may also include one or more other segment that are not included in the subset of data to be provided as output; determine whether corresponding container data associated with the first container has already been included in an output stream based at least in part on a data structure comprising for each of at least a subset of containers an indication of whether or not the corresponding container data has been included in the output stream; in the event that it is determined, based at least in part on the data structure, that the first container comprises container data that has already been included in the output stream, not retrieve the corresponding container data associated with the first container again and include the corresponding container data in the output stream; and in the event that it is determined, based at least in part on the data structure, that the first container comprises container data that has not already been included in the output stream; retrieve the corresponding container data associated with the first container and include the corresponding container data in the output stream, wherein the corresponding container data includes the one or more other segments that are not included in the subset of data to be provided as output; and update a corresponding value in the data structure indicating that the container data associated with the first container has already been included in the output stream; and a memory coupled to the processor and configured to store the data structure. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
-
receiving an indication identifying a subset of data to be provided as output, wherein the subset of data includes a first data segment; identifying a first container that includes the first data segment, wherein the first container may also include one or more other segment that are not included in the subset of data to be provided as output; determining whether corresponding container data associated with the first container has already been included in an output stream based at least in part on a data structure comprising for each of at least a subset of containers an indication of whether or not the corresponding container data has been included in the output stream; in the event that it is determined, based at least in part on the data structure, that the first container comprises container data that has already been included in the output stream, not retrieving the corresponding container data associated with the first container again and including the corresponding container data in the output stream; and in the event that it is determined, based at least in part on the data structure, that the first container comprises container data that has not already been included in the output stream; retrieving the corresponding container data associated with the first container and including the corresponding container data in the output stream, wherein the corresponding container data includes the one or more other segments that are not included in the subset of data to be provided as output; and updating a corresponding value in the data structure indicating that the container data associated with the first container has already been included in the output stream. - View Dependent Claims (14, 15, 16, 17)
-
Specification