AUTOMATIC FILE VERSIONING
First Claim
1. A method of automatic file versioning in a computing environment, comprising:
- detecting initiation of a file system event wherein an updated version of an original file stored at an original storage location is written to a new storage location;
identifying the file system event as a first component of a file versioning event; and
creating a hard link to the original storage location, the hard link indicating a version relationship between the original file and the updated version,the step of creating the hard link occurring prior to occurrence of a final component of the file versioning event wherein an original file storage location identifier is scheduled to be disassociated from the original storage location.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system are provided to automatically and transparently version files across many desktop applications without requiring the user to take specific action to cause the versioning to occur. Previous versions and versioning information can both be stored using hard links, and the versioning information can be used to determine a version history for a file. Embodiments of the present invention do not require applications to be modified to support this versioning method. Further, using one approach, the application does not even know that the versioning is occurring. The present invention provides an automatic versioning solution that is completely transparent to the user, which causes overwrite operations to be seamlessly co-opted into versioning operations which retain previous document versions instead of overwriting them.
58 Citations
24 Claims
-
1. A method of automatic file versioning in a computing environment, comprising:
-
detecting initiation of a file system event wherein an updated version of an original file stored at an original storage location is written to a new storage location; identifying the file system event as a first component of a file versioning event; and creating a hard link to the original storage location, the hard link indicating a version relationship between the original file and the updated version, the step of creating the hard link occurring prior to occurrence of a final component of the file versioning event wherein an original file storage location identifier is scheduled to be disassociated from the original storage location. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for automatic file versioning in a computing environment comprising:
-
a file system event monitor, in communication with a file system events engine, for detecting initiation of a file system event wherein an updated version of an original file stored at an original storage location is written to a new storage location, and for identifying the file system event as a first component of a file versioning event; and a file versioner, in communication with the file system event monitor, for creating a hard link to the original storage location upon receipt of a communication from the file system event monitor indicating that the first component of the file versioning event has been identified, the hard link indicating a version relationship between the original file and the updated version, wherein the file versioner creates the hard link prior to occurrence of a final component of the file versioning event wherein an original storage location identifier is scheduled to be disassociated from a file system location for the original file. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer readable medium containing computer instructions which, when executed, cause a processor to perform a method of automatic file versioning, comprising:
-
instructions for detecting initiation of a file system event wherein an updated version of an original file stored at an original storage location is written to a new storage location; instructions for identifying the file system event as a first component of a file versioning event; and instructions for creating a hard link to the original storage location, the hard link indicating a version relationship between the original file and the updated version, the instructions for creating the hard link ensuring that the hard link is created prior to occurrence of a final component of the file versioning event wherein an original file storage location identifier is scheduled to be disassociated from the original storage location. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. A method of automatic file versioning in a computing environment comprising:
-
detecting initiation by an application of a file system event in a file system wherein an updated version of an original file stored at an original storage location is written to a new storage location; identifying the file system event as a first component of a file versioning event; if the application can hard link and if the file system can hard link, creating a hard link to the original storage location prior to occurrence of a final component of the file versioning event wherein the original storage location is scheduled to be disassociated from a file system location for the original file, the hard link indicating a version relationship between the original file and the updated version; if the file system is a remote file system and either one of the application and the file system cannot hard link, creating a server-side copy of the file; and if the file system is a local file system and either the application cannot hard link or the file system cannot hard link, creating a copy of the file.
-
-
24. A method of automatic file versioning in a computing environment, comprising:
-
detecting initiation of a file system event wherein an updated version of an original file stored at an original storage location is written to a new storage location; identifying the file system event as a first component of a file versioning event; causing a new file storage location identifier to become associated with the original storage location, the new file storage location identifier indicating a version relationship between the original file and the updated version, and preventing the file system from de-allocating the original storage location, the step of causing a new file storage location identifier to become associated with the original storage location occurring prior to occurrence of a final component of the file versioning event wherein an original file storage location identifier is scheduled to be disassociated from the original storage location.
-
Specification