System and method for providing long-term storage for data
First Claim
Patent Images
1. A system for storing files, comprising:
- a processor configured to;
break a first file into a plurality of segments that includes a first segment;
determine whether the contents of the first segment is identical to the contents of at least a second segment stored in a first storage unit, wherein the second segment is a different segment from the first file or from a second file, and wherein the second segment is useable to reconstruct at least the first file or the second file; and
in the event that the contents of the first segment is determined not to be identical to the contents of the second segment stored in the first storage unit;
store the first segment in the first storage unit; and
add metadata to the first storage unit so that the first file can be reconstructed independent of a second storage unit, wherein the metadata enables reconstruction of the first file using the first segment and one or more other segments stored in the first storage unit, wherein at least one segment stored in the first storage unit is useable to reconstruct at least one other file using only segments stored in the first storage unit, wherein a single namespace enables access for files stored in the first storage unit and the second storage unit; and
in the event that the contents of the first segment is determined to be identical to the contents of the second segment stored in the first storage unit;
store a reference to the first segment in the first storage unit; and
add metadata to the first storage unit so that the first file can be reconstructed independent of the second storage unit, wherein the metadata enables reconstruction of the first file using the reference and one or more other segments stored in the first storage unit; and
a memory coupled to the processor and configured to provide the processor with instructions.
12 Assignments
0 Petitions
Accused Products
Abstract
A system for storing files comprises a processor and a memory. The processor is configured to break a file into one or more segments; store the one or more segments in a first storage unit; and add metadata to the first storage unit so that the file can be accessed independent of a second storage unit, wherein a single namespace enables access for files stored in the first storage unit and the second storage unit. The memory is coupled to the processor and configured to provide the processor with instructions.
72 Citations
23 Claims
-
1. A system for storing files, comprising:
-
a processor configured to; break a first file into a plurality of segments that includes a first segment; determine whether the contents of the first segment is identical to the contents of at least a second segment stored in a first storage unit, wherein the second segment is a different segment from the first file or from a second file, and wherein the second segment is useable to reconstruct at least the first file or the second file; and in the event that the contents of the first segment is determined not to be identical to the contents of the second segment stored in the first storage unit; store the first segment in the first storage unit; and add metadata to the first storage unit so that the first file can be reconstructed independent of a second storage unit, wherein the metadata enables reconstruction of the first file using the first segment and one or more other segments stored in the first storage unit, wherein at least one segment stored in the first storage unit is useable to reconstruct at least one other file using only segments stored in the first storage unit, wherein a single namespace enables access for files stored in the first storage unit and the second storage unit; and in the event that the contents of the first segment is determined to be identical to the contents of the second segment stored in the first storage unit; store a reference to the first segment in the first storage unit; and add metadata to the first storage unit so that the first file can be reconstructed independent of the second storage unit, wherein the metadata enables reconstruction of the first file using the reference and one or more other segments stored in the first storage unit; and a memory coupled to the processor and configured to provide the processor with instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method for storing data, comprising:
-
breaking a first file into a plurality of segments that includes a first segment; determining whether the contents of the first segment is identical to the contents of at least a second segment stored in a first storage unit, wherein the second segment is a different segment from the first file or from a second file, and wherein the second segment is useable to reconstruct at least the first file or the second file; and in the event that the contents of the first segment is determined not to be identical to the contents of the second segment stored in the first storage unit; storing the first segment in the first storage unit; and adding metadata to the first storage unit so that the first file can be reconstructed independent of a second storage unit, wherein the metadata enables reconstruction of the first file using the first segment and one or more other segments stored in the first storage unit, wherein at least one segment stored in the first storage unit is useable to reconstruct at least one other file using only segments stored in the first storage unit, wherein a single namespace enables access for files stored in the first storage unit and the second storage unit; and in the event that the contents of the first segment is determined to be identical to the contents of the second segment stored in the first storage unit; storing a reference to the first segment in the first storage unit; and adding metadata to the first storage unit so that the first file can be reconstructed independent of the second storage unit, wherein the metadata enables reconstruction of the first file using the reference and one or more other segments stored in the first storage unit.
-
-
23. A computer program product for storing data, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
-
breaking a first file into a plurality of segments that includes a first segment; determining whether the contents of the first segment is identical to the contents of at least a second segment stored in a first storage unit, wherein the second segment is a different segment from the first file or from a second file, and wherein the second segment is useable to reconstruct at least the first file or the second file; and in the event that the contents of the first segment is determined not to be identical to the contents of the second segment stored in the first storage unit; storing the first segment in the first storage unit; and adding metadata to the first storage unit so that the first file can be reconstructed independent of a second storage unit, wherein the metadata enables reconstruction of the first file using the first segment and one or more other segments stored in the first storage unit, wherein at least one segment stored in the first storage unit is useable to reconstruct at least one other file using only segments stored in the first storage unit, wherein a single namespace enables access for files stored in the first storage unit and the second storage unit; and in the event that the contents of the first segment is determined to be identical to the contents of the second segment stored in the first storage unit; storing a reference to the first segment in the first storage unit; and adding metadata to the first storage unit so that the first file can be reconstructed independent of the second storage unit, wherein the metadata enables reconstruction of the first file using the reference and one or more other segments stored in the first storage unit.
-
Specification