Versioning in internet file system
First Claim
1. A computer-implemented method for managing versions of files in a file system, the method comprising the steps of:
- providing a mechanism for tagging versions of files that are not to be overwritten;
as part of an update to a first version of a file, performing the steps of;
traversing one or more files in a file hierarchy to locate said first version of the file;
determining whether any file in a plurality of files is tagged, wherein the plurality of files consists of the first version of the file and the one or more files traversed to locate said first version of the file;
if one of the one or more traversed files is tagged or if the first version of the file is tagged, then storing a second version of the file while retaining said first version of the file; and
if none of the one or more traversed files and the first version of the file is tagged, then storing said second version of the file and deleting said first version of the file;
wherein the steps are performed on one or more computing devices.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are provided for managing file versions. In one technique, versions of directories are created responsive to creation of versions of files descendant from the directories. Directory versions are associated with times. Interfile links are maintained so file versions descendant from a directory version reflect the directory version'"'"'s time. In another technique, a mechanism is provided for tagging file versions that shouldn'"'"'t be overwritten. Responsive to a first file version'"'"'s update, it is determined whether that version is tagged. If so, a second version is stored while retaining the first version. Otherwise, the first version is deleted responsive to the second version'"'"'s storage. In another technique, responsive to a first file version'"'"'s change, it is determined whether first criteria are satisfied. If so, a second version is created while retaining the first version, and versions of the file'"'"'s ancestor files that satisfy second criteria are created.
139 Citations
20 Claims
-
1. A computer-implemented method for managing versions of files in a file system, the method comprising the steps of:
-
providing a mechanism for tagging versions of files that are not to be overwritten; as part of an update to a first version of a file, performing the steps of; traversing one or more files in a file hierarchy to locate said first version of the file; determining whether any file in a plurality of files is tagged, wherein the plurality of files consists of the first version of the file and the one or more files traversed to locate said first version of the file; if one of the one or more traversed files is tagged or if the first version of the file is tagged, then storing a second version of the file while retaining said first version of the file; and if none of the one or more traversed files and the first version of the file is tagged, then storing said second version of the file and deleting said first version of the file; wherein the steps are performed on one or more computing devices. - View Dependent Claims (2)
-
-
3. A computer-implemented method for maintaining versions of files in a file system, the method comprising the steps of:
-
as part of a change made to a first version of a file, determining whether a first set of criteria is satisfied; if the first set of criteria is satisfied, then creating and storing a second version of the file while retaining the first version of the file; and for each ancestor file, of one or more ancestor files above said file in a file hierarchy, determining whether said each ancestor file satisfies a second set of criteria; if said each ancestor file satisfies said second set of criteria, then creating and storing a new version of said each ancestor file; if said each ancestor file does not satisfy said second set of criteria, then not creating and storing a new version of said each ancestor file; wherein the steps are performed on one or more computing devices. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10)
-
-
11. One or more storage media storing instructions for managing versions of files in a file system, wherein the instructions, when executed by one or more processors, cause:
-
providing a mechanism for tagging versions of files that are not to be overwritten; as part of an update to a first version of a file, performing the steps of; traversing one or more files in a file hierarchy to locate said first version of the file; determining whether any file in a plurality of files is tagged, wherein the plurality of files consists of the first version of the file and the one or more files traversed to locate said first version of the file; if one of the one or more traversed files is tagged or if the first version of the file is tagged, then storing a second version of the file while retaining said first version of the file; and if none of the one or more traversed files and the first version of the file is tagged, then storing said second version of the file and deleting said first version of the file. - View Dependent Claims (12)
-
-
13. One or more storage media storing instructions for maintaining versions of files in a file system, wherein the instructions, when executed by one or more processors, cause:
-
as part of a change made to a first version of a file, determining whether a first set of criteria is satisfied; if the first set of criteria is satisfied, then creating and storing a second version of the file while retaining the first version of the file; and for each ancestor file, of one or more ancestor files above said file in a file hierarchy, determining whether said each ancestor file satisfies a second set of criteria; if said each ancestor file satisfies said second set of criteria, then creating and storing a new version of said each ancestor file; if said each ancestor file does not satisfy said second set of criteria, then not creating and storing a new version of said each ancestor file. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification