This invention provides a specified retention date within a
data set that is locked against deletion or modification within a WORM storage implementation. This retention date scheme does not utilize any proprietary application program interfaces (APIs) or protocols, but rather, employs native functionality within conventional file (or other data containers, data sets or block-based logical unit numbers) properties available in commonly used operating systems. In an illustrative embodiment, the retention date / time is calculated by querying the file's last-modified time prior to
commit, adding the
retention period to this value and thereby deriving a retention date after which the file can be released from WORM. Prior to
commit, the computed retention date is stored in the file's “last
access time” property / attribute field, or another
metadata field that remains permanently associated with the file and that, in being used for retention date, does not interfere with
file management in a WORM state. Since this field is not utilized in a WORM context, it can be adapted to store this date. Once stored, the retention date in this field is locked against modification. Where extension (never reduction) of a
retention period is desired, the last
access time field be updated, wherein the new
retention period is added to the existing last
access time value to derive a new, later retention date for the file. Upon expiry of the retention date, the
system allows deletion of the expired WORM file /
data set.