Method, system, and program for retaining versions of files
First Claim
1. A method, comprising:
- intercepting, with a filter program, a request from an application or file system user interface to write to a source file in a remote file system for a remote storage system accessible over a network;
determining, by the filter program, whether a retention rule is provided for the source file in response to the write request;
in response to determining that one retention rule is provided for the source file, generating, by the filter program, a versioned file name, wherein a versioned file comprises the source file at a point-in-time;
transmitting, by the filter program, a command to the remote file system to copy the source file data to a versioned file having the generated versioned file name;
applying, by the filter program, a function to a source file name of the source file to determine a retention index file, wherein the determined retention index file maintains names of versioned files for the source file to which the function is applied;
adding, by the filter program, the generated versioned file name to the determined retention index file indicating versioned files for the source file in the remote file system;
determining, by the filter program, from the retention index versioned files for the source file to purge in response to determining that the retention rule indicates a maximum number of versioned files for the source file and the versioned files for the source file do not satisfy the retention rule;
determining, by the filter program, from the retention index versioned files for the source file to purge in response to determining that the retention rule indicates a time limit of versioned files for the source file and the versioned files for the source file do not satisfy the retention rule;
transmitting, by the filter program, a command to the remote file system to purge the determined versioned files at the remote storage system; and
transmitting, by the filter program, the write to the source file to the remote file system in response to determining that no retention rule is provided for the source file, wherein the remote file system applies the write to the source file at the remote storage system.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are a method, system, and program for processing a request to write to a source file in a storage system. A determination is made as to whether a retention rule is provided for the source file. In response to determining that one retention rule is provided for the source file, a versioned file name is generated, wherein a versioned file comprises the source file at a point-in-time. A command is transmitted to a file system to copy the source file data to a versioned file having the generated versioned file name and the generated versioned file name is added to a retention index file. The retention index file is processed to determine whether to purge versioned files according to the retention rule provided for the source file.
-
Citations
34 Claims
-
1. A method, comprising:
-
intercepting, with a filter program, a request from an application or file system user interface to write to a source file in a remote file system for a remote storage system accessible over a network; determining, by the filter program, whether a retention rule is provided for the source file in response to the write request; in response to determining that one retention rule is provided for the source file, generating, by the filter program, a versioned file name, wherein a versioned file comprises the source file at a point-in-time; transmitting, by the filter program, a command to the remote file system to copy the source file data to a versioned file having the generated versioned file name; applying, by the filter program, a function to a source file name of the source file to determine a retention index file, wherein the determined retention index file maintains names of versioned files for the source file to which the function is applied; adding, by the filter program, the generated versioned file name to the determined retention index file indicating versioned files for the source file in the remote file system; determining, by the filter program, from the retention index versioned files for the source file to purge in response to determining that the retention rule indicates a maximum number of versioned files for the source file and the versioned files for the source file do not satisfy the retention rule; determining, by the filter program, from the retention index versioned files for the source file to purge in response to determining that the retention rule indicates a time limit of versioned files for the source file and the versioned files for the source file do not satisfy the retention rule; transmitting, by the filter program, a command to the remote file system to purge the determined versioned files at the remote storage system; and transmitting, by the filter program, the write to the source file to the remote file system in response to determining that no retention rule is provided for the source file, wherein the remote file system applies the write to the source file at the remote storage system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system in communication with a remote file system for a remote storage system accessible over a network, comprising:
-
a first storage system including source files; a second storage system including retention rules for the source files; a file system; a file retention filter enabled to cause operations to be performed, the operations comprising; intercepting a request from an application or file system user interface to write to a source file in the remote file; determining whether a retention rule is provided for the source file in response to the write request; in response to determining that one retention rule is provided for the source file, generating a versioned file name, wherein a versioned file comprises the source file at a point-in-time; transmitting a command to the remote file system to copy the source file data to a versioned file having the generated versioned file name; applying a function to a source file name of the source file to determine a retention index file, wherein the determined retention index file maintains names of versioned files for the source file to which the function is applied; adding the generated versioned file name to the determined retention index file; determining from the retention index versioned files for the source file to purge in response to determining that the retention rule indicates a maximum number of versioned files for the source file and the versioned files for the source file do not satisfy the retention rule; determining from the retention index versioned files for the source file to purge in response to determining that the retention rule indicates a time limit of versioned files for the source file and the versioned files for the source file do not satisfy the retention rule; transmitting a command to the remote file system to purge the determined versioned files at the remote storage system; and transmitting the write to the source file to the remote file system in response to determining that no retention rule is provided for the source file, wherein the remote file system applies the write to the source file at the remote storage system. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. An article of manufacture comprising a non-transitory computer readable storage medium including code that is executed for processing a request to write to a source file in a storage system that is in communication with a file system, wherein the code is executed to cause operations to be performed, the operations comprising:
-
intercepting a request from an application or file system user interface to write to a source file in the storage system; determining whether a retention rule is provided for the source file in response to the write request; in response to determining that one retention rule is provided for the source file, generating a versioned file name, wherein a versioned file comprises the source file at a point-in-time; transmitting a command to the file system to copy the source file data to a versioned file having the generated versioned file name; applying a function to a source file name of the source file to determine a retention index file, wherein the determined retention index file maintains names of versioned files for the source file to which the function is applied; adding the generated versioned file name to the determined retention index file; determining from the retention index versioned files for the source file to purge in response to determining that the retention rule indicates a maximum number of versioned files for the source file and the versioned files for the source file do not satisfy the retention rule; determining from the retention index versioned files for the source file to purge in response to determining that the retention rule indicates a time limit of versioned files for the source file and the versioned files for the source file do not satisfy the retention rule; transmitting a command to the file system to purge the determined versioned files at the storage system; and transmitting the write to the source file to the file system in response to determining that no retention rule is provided for the source file, wherein the file system applies the write to the source file at the storage system. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
Specification