Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1999-02-23
2003-09-02
Homere, Jean R. (Department: 2177)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C707S793000
Reexamination Certificate
active
06615224
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to the UNIX computer operating system, specifically applying to the “rm” or file delete command, and how to undelete a file removed by the command.
2. Discussion of Related Art
UNIX operating systems have never had a simple file undelete command, one that can undo the operation of the “rm”, command**. From the UNIX command-line, if “rm <file>” is entered, then <file> is deleted. At the present time, among all UNIX operating system platforms, there exists no simple command, e.g. “unrm <file>”, which can restore the deleted file. There do exist some work-around programs that can be devised or work-around utilities that can be purchased as add-ons. But, all such methods are cumbersome and/or have drawbacks.
Because of the possibility of accidentally removing all of the files in a directory using the “rm *” command and even all of the files and all subdirectories in a directory using the “rm -r *” command, the UNIX operating system has long had an unprotected danger zone among its commands. There is probably no UNIX system administrator who has not made a serious error in file deletion resulting in loss of data that has taken hours if not days to replace, depending on how recently the system was backed up.
In the past, there have been complex and inefficient file undelete utilities and methods on the market for all operating systems including UNIX. They are essentially of the following types: (1) low-level file system scanning utilities, (2) trash directories, and (3) renaming files to hidden types. Some of these methods are described in the comprehensive and in-depth book
UNIX Power Tools,
pp. 399-407, authored by Jerry Peek and published by O'Reilly.
Regarding the first type of file undelete utility, Peter Norton introduced his Norton Unerase Utility for Microsoft's DOS Operating System in 1981. In essence, the latter product performs a complete scan of the file system on the hard disc for intact deleted files. Then it displays a list of them to the user from which to choose for file restoration. At present, there are many such file undelete utilities on the market for various operating systems, including some for UNIX operating systems. These products perform a thorough scan of the file system on the hard disc for intact deleted files, and present a list of them to all the user. However, there are several drawbacks to this type of file undelete utility. First, one must shut down all presently-running tasks on the computer in order to prevent the operating system from overwriting the now-unprotected deleted file's data. Thus, these type of undelete utilities are not fail-safe. A user may not realize he deleted an important file before it is too late, and by then it has been over-written by the operating system. Second, the user must run the undelete utility, which is a time-consuming scan of the complete file system. This operation may take several minutes. Third, in the case of UNIX file systems, such hard disc scans generally cannot provide the name of the deleted file, because the record of the name has been destroyed. Thus, the user can become involved in time-consuming guessing as to which available deleted file is the desired one to restore.
Trash directories have existed for quite some time on Microsoft Windows operating systems. More recently, as UNIX operating systems have added or improved GUI interfaces on their platforms, they too have provided trash directories to protect deleted files, until the user decides to empty the trash directory. This method of protecting files is associated with Windows or Windows-like GUI interfaces to operating systems, and a wastebasket icon is usually displayed for drag-and-drop operations in order to delete files or directories. Files or directories are not really deleted using this method, just moved to the trash directory. Command-line operations, e.g. “C:> del <file>” from the DOS prompt or “$ rm <file>” from the UNIX prompt generally do not move <file> to any trash directory. They destroy the file from the operating system standpoint. In recent years Norton Utilities from Symantec Corporation has provided a low-level “recycle-bin” to protect files removed at the command-line of the Microsoft DOS operating system: “C:> del <file>”. The regular DOS “del” command operations are intercepted before they destroy <file>, and instead <file> is moved to a “recycle-bin”.
However, to date, such a utility has not been successfully accomplished for UNIX operating systems. The reason for this is that UNIX operating systems are designed to be extremely high-performance. Moving a file to another directory every time the “rm” command is called uses extra system overhead, and can fill up the file system on the hard disc if not properly controlled. A system administrator must continually monitor the storage directory and periodically delete older files or the hard disc may become filled up with stored “deleted” files. Automatic monitoring of a UNIX storage directory would require the creation of a complex background task in order to guard its size. An even more complex background task would be required in order to protect different deleted versions of the same file. UNIX platform providers simply have not provided such programs with their systems, because they would take up too much system overhead.
A file protection method similar to the trash directory was created on the UNIX system at Purdue University as mentioned in the book
UNIX Power Tools
cited above. In this case the “$ rm <file>” command is always intercepted and <file> is copied to a backup machine on the network with very large capacity, before <file> is destroyed on the local machine. This is essentially a “trash directory” for an entire network of UNIX machines. However, the system overhead required in this case is even greater than creating local trash directories on separate machines as previously discussed. This “copy-file/delete-file” trash directory procedure uses many more operations than the simpler “move-file” trash directory procedure described above.
The third general method that has sometimes been used in order to protect “deleted files” on UNIX systems is to alias or substitute the “rm” command with another command that renames a file with a “.” prefix. For example, using the command “$ mv foo .foo” instead of “$ rm foo” will protect the file “foo”, yet it will not be visible to the “$ ls” command. The file remains in the same directory, but is hidden, because the UNIX “ls” command does not display files with a “.” prefix. This procedure is also described in the book
UNIX Power Tools.
However, it has obvious drawbacks. Unless more complexity is used in writing the alias command, so that different suffixes are added to each deleted version of a file with a given name, only one hidden file for each filename can ever exist. Furthermore, if a directory <dir> is “deleted” using this method and a hidden file or directory already exists with the name <.dir>, the UNIX operating system will complain with an error message.
Note**: At the time of this update to the patent application, there has been found on the market a UNIX operating system, SCO Open Server 5.0.6, which has developed an “undelete” command similar to the third method just described. It may be found on the internet:
http://osr5doc.ca.caldera.com:457/OSUserG/_Retrieving_deleted_files.html
It does not alias the “rm” command as mentioned above, but at a lower level, and in a similar manner as described above, seems to intercept the “unlink( )”, “truncate( )”, and “rename( )” system calls inside the UNIX operating system kernel and create hidden versions of files and directories which are deleted from the command-line using the “rm” command. Essentially, this file undelete method renames files targeted by the “rm” command with special suffixes, so that they are hidden from the “ls” command. Hence, the user does not see them when he list
LandOfFree
High-performance UNIX file undelete does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with High-performance UNIX file undelete, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and High-performance UNIX file undelete will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3081669