Template-based creation and archival of file systems
DCFirst Claim
Patent Images
1. A method for file system creation and archival comprising:
- providing a first set of storage units and a second set of storage units, each storage unit of the first set corresponding to a storage unit of the second set;
providing a first usage map for indicating which storage units of the second set contain valid data;
intercepting an attempt to write a data item to a storage unit of the first set;
writing the data item to the corresponding storage unit of the second set; and
storing an indication in the first usage map that the corresponding storage unit of the second set contains valid data.
6 Assignments
Litigations
0 Petitions
Reexamination
Accused Products
Abstract
File systems are created and archived by providing a set of shared storage units and one or more templates, each template including a set of private storage units and a corresponding usage map.
-
Citations
53 Claims
-
1. A method for file system creation and archival comprising:
-
providing a first set of storage units and a second set of storage units, each storage unit of the first set corresponding to a storage unit of the second set;
providing a first usage map for indicating which storage units of the second set contain valid data;
intercepting an attempt to write a data item to a storage unit of the first set;
writing the data item to the corresponding storage unit of the second set; and
storing an indication in the first usage map that the corresponding storage unit of the second set contains valid data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
initializing the first usage map to indicate that none of the storage units of the second set contain valid data.
-
-
6. The method of claim 1, further comprising:
-
intercepting an attempt to read a data item from a storage unit of the first set; and
in response to the first usage map indicating that the corresponding storage unit of the second set contains valid data, reading the data item from the corresponding storage unit of the second set.
-
-
7. The method of claim 1, further comprising:
-
intercepting an attempt to read a data item from a storage unit of the first set; and
in response to the first usage map indicating that the corresponding storage unit of the second set does not contain valid data, reading the data item from the storage unit of the first set.
-
-
8. The method of claim 1, further comprising:
-
providing a third set of storage units, each storage unit of the third set corresponding to one of the storage units of the first set;
providing a second usage map for indicating which storage units of third set contain valid data;
intercepting an attempt to write a data item to a storage unit of the first set;
writing the data item to the corresponding storage unit of the third set; and
storing an indication in the second usage map that the corresponding storage unit of the third set contains valid data.
-
-
9. The method of claim 8, wherein the second usage map comprises a bitmap, each bit of the bitmap indicating whether a corresponding storage unit of the third set contains valid data.
-
10. The method of claim 8, wherein providing a second usage map comprises:
initializing the second usage map to indicate that none of the storage units of the third set contain valid data.
-
11. The method of claim 8, further comprising:
-
intercepting an attempt to read a data item from a storage unit of the first set; and
in response to the second usage map indicating that the corresponding storage unit of the third set contains valid data, reading the data item from the corresponding storage unit of the third set.
-
-
12. The method of claim 8, further comprising:
-
intercepting an attempt to read a data item from a storage unit of the first set; and
in response to the second usage map indicating that the corresponding storage unit of the third set does not contain valid data and the first usage map indicating that the corresponding storage unit of the second set contains valid data, reading the data item from the corresponding storage unit of the second set.
-
-
13. The method of claim 8, further comprising:
-
intercepting an attempt to read a data item from a storage unit of the first set; and
in response to the second usage map indicating that the corresponding storage unit of the third set does not contain valid data and the first usage map indicating that the corresponding storage unit of the second set does not contain valid data, reading the data item from the storage unit of the first set.
-
-
14. The method of claim 8, further comprising:
archiving each storage unit of the second set for which an indication of valid data is stored in the first usage map.
-
15. The method of claim 14, further comprising:
merging the second set of storage units with the third set of storage units.
-
16. The method of claim 15, wherein merging comprises:
-
copying the storage units of the second set that contain valid data to those corresponding storage units of the third set that do not contain valid data; and
for each storage unit of the second set that is copied, storing an indication of valid data in the second usage map.
-
-
17. A method for creating and archiving file systems of a plurality of servers, the method comprising:
-
providing a set of shared storage units;
for each of the plurality of servers;
providing a first set of private storage units, each of the private storage units corresponding to a shared storage unit; and
providing a first usage map for indicating which of the private storage units contain valid data;
intercepting an attempt to write a data item to a shared storage unit;
writing the data item to the corresponding private storage unit; and
storing an indication in the first usage map that the corresponding private storage unit contains valid data. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
storing a template comprising a copy of the first set of private storage units and the first usage map of a first server.
-
-
20. The method of claim 19, further comprising:
creating a file system for a second server using the stored template.
-
21. The method of claim 17, wherein the shared and private storage units are stored in a same storage device.
-
22. The method of claim 17, wherein the shared storage units are stored a local storage device and the private storage units are stored in a remote storage device.
-
23. The method of claim 17, wherein the first usage map comprises a bitmap, each bit of the bitmap indicating whether a corresponding private storage unit contains valid data.
-
24. The method of claim 17, wherein providing a first usage map comprises:
initializing the first usage map to indicate that none of the private storage units contain valid data.
-
25. The method of claim 17, further comprising:
-
intercepting an attempt to read a data item from a shared storage unit; and
in response to the first usage map indicating that the corresponding private storage unit contains valid data, reading the data item from the corresponding private storage unit.
-
-
26. The method of claim 17, further comprising:
-
intercepting an attempt to read a data item from a shared storage unit; and
in response to the first usage map indicating that the corresponding private storage unit does not contain valid data, reading the data item from the shared storage unit.
-
-
27. The method of claim 17, further comprising:
-
providing a second set of private storage units, each private storage unit of the second set corresponding to one of the shared storage units;
providing a second usage map for indicating which private storage units of second set contain valid data;
intercepting an attempt to write a data item to a shared storage unit;
writing the data item to the corresponding storage unit of the second set; and
storing an indication in the second usage map that the corresponding storage unit of the second set contains valid data.
-
-
28. The method of claim 27, wherein the second usage map comprises a bitmap, each bit of the bitmap indicating whether a corresponding private storage unit of the second set contains valid data.
-
29. The method of claim 27, wherein providing a second usage map comprises:
initializing the second usage map to indicate that none of the private storage units of the second set contain valid data.
-
30. The method of claim 27, further comprising:
-
intercepting an attempt to read a data item from a shared storage unit; and
in response to the second usage map indicating that the corresponding private storage unit of the second set contains valid data, reading the data item from the corresponding private storage unit of the second set.
-
-
31. The method of claim 27, further comprising:
-
intercepting an attempt to read a data item from a shared storage unit; and
in response to the second usage map indicating that the corresponding private storage unit of the second set does not contain valid data and the first usage map indicating that the corresponding private storage unit of the first set contains valid data, reading the data item from the corresponding private storage unit of the first set.
-
-
32. The method of claim 27, further comprising:
-
intercepting an attempt to read a data item from a shared storage unit; and
in response to the second usage map indicating that the corresponding private storage unit of the second set does not contain valid data and the first usage map indicating that the corresponding private storage unit of the first set does not contain valid data, reading the data item from the shared storage unit.
-
-
33. The method of claim 27, further comprising:
archiving each private storage unit of the first set for which an indication of valid data is stored in the first usage map.
-
34. The method of claim 33, further comprising:
merging the first set of private storage units with the second set of private storage units.
-
35. The method of claim 34, wherein merging comprises:
-
copying the private storage units of the first set that contain valid data to those corresponding private storage units of the second set that do not contain valid data; and
for each private storage unit of the first set that is copied, storing an indication of valid data in the second usage map.
-
-
36. A system for creating and archiving a file system within at least one storage device comprising a first set of storage units and a second set of storage units, each storage unit of the first set corresponding to a storage unit of the second set, the system comprising:
-
a first usage map for indicating which storage units of the second set contain valid data;
an interception module for intercepting an attempt to write a data item to a storage unit of the first set;
a storage unit writing module for writing the data item to the corresponding storage unit of the second set; and
a usage map updating module for storing an indication in the first usage map that the corresponding storage unit of the second set contains valid data. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
a storage unit reading module configured, in response to the first usage map indicating that the corresponding storage unit of the second set contains valid data, to read the data item from the corresponding storage unit of the second set.
-
-
42. The system of claim 36, wherein the interception module is further configured to intercept an attempt to read a data item from a storage unit of the first set, the system further comprising:
a storage unit reading module configured, in response to the first usage map indicating that the corresponding storage unit of the second set does not contain valid data, to read the data item from the storage unit of the first set.
-
43. The system of claim 36, wherein the at least one storage device further comprises a third set of storage units, each storage unit of the third set corresponding to one of the storage units of the first set, the system further comprising a second usage map for indicating which storage units of third set contain valid data.
-
44. The system of claim 43, wherein the interception module is further configured to intercept an attempt to write a data item to a storage unit of the first set;
- wherein the storage unit writing module is further configured to write the data item to the corresponding storage unit of the third set; and
wherein the usage map updating module is further configured to store an indication in the second usage map that the corresponding storage unit of the third set contains valid data.
- wherein the storage unit writing module is further configured to write the data item to the corresponding storage unit of the third set; and
-
45. The system of claim 44, wherein the second usage map comprises a bitmap, each bit of the bitmap indicating whether a corresponding storage unit of the third set contains valid data.
-
46. The system of claim 44, wherein the second usage map is initially reset to indicate that none of the storage units of the third set contain valid data.
-
47. The system of claim 44, wherein the interception module is further configured to intercept an attempt to read a data item from a storage unit of the first set, the system further comprising:
a storage unit reading module configured, in response to the second usage map indicating that the corresponding storage unit of the third set contains valid data, to read the data item from the corresponding storage unit of the third set.
-
48. The system of claim 44, wherein the interception module is further configured to intercept an attempt to read a data item from a storage unit of the first set, the system further comprising:
a storage unit reading module configured, in response to the second usage map indicating that the corresponding storage unit of the third set does not contain valid data and the first usage map indicating that the corresponding storage unit of the second set contains valid data, to read the data item from the corresponding storage unit of the second set.
-
49. The system of claim 44, wherein the interception module is further configured to intercept an attempt to read a data item from a storage unit of the first set, the system further comprising:
a storage unit reading module configured, in response to the second usage map indicating that the corresponding storage unit of the third set does not contain valid data and the first usage map indicating that the corresponding storage unit of the second set does not contain valid data, to read the data item from the storage unit of the first set.
-
50. The system of claim 44, further comprising:
an archival module configured to archive each storage unit of the second set for which an indication of valid data is stored in the first usage map.
-
51. The system of claim 50, further comprising:
a merging module configured to merge the second set of storage units with the third set of storage units.
-
52. The system of claim 51, wherein the merging module is further configured to copy the storage units of the second set that contain valid data to those corresponding storage units of the third set that do not contain valid data;
- and wherein the storage unit update module is configured, for each storage unit of the second set that is copied, to store an indication of valid data in the second usage map.
-
53. An computer program product for creating and archiving a file system within at least one storage device comprising a first set of storage units and a second set of storage units, each storage unit of the first set corresponding to a storage unit of the second set, the computer program product comprising:
-
a first usage map for indicating which storage units of the second set contain valid data;
program code for intercepting an attempt to write a data item to a storage unit of the first set;
program code for writing the data item to the corresponding storage unit of the second set; and
program code for storing an indication in the first usage map that the corresponding storage unit of the second set contains valid data.
-
Specification