Abstract:
A computer network for backing up data and program files located on networked workstations onto a centralized backup media of a backup device of the network. The backup computer network allows users of workstations of remote nodes to preselect files (by name and by file selection criteria) on their workstation which are to be backed onto the centralized backup media. The file selection processes are therefore distributed throughout the network which considerably increases the speed of backing up over the network.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates to computer programs for periodically backing up computer data and program files onto backup media for subsequent restoring in the event the files are inadvertently corrupted or destroyed. More particularly, this invention relates to computer backup programs which operate over a wide or local area network to backup files located on remote nodes of the network. 
     2. Description of the Background Art 
     A wide area network is a communication network used by one or more organizations over possibly great distances that permits the organizations, users to share information and resources. Local area networks are similar, but are usually used or write to the files of other users located on the other users, workstation nodes or on the file server and to utilize the printers and other peripherals. 
     Similar to multiuser computer systems, all data and program files on all storage media in all nodes of a network should be periodically backed up to allow restoration of files that may become corrupted or destroyed because of hardware or software failures or that are inadvertently deleted or changed. 
     There presently exist many backup utility programs for multiuser systems, network file servers and workstations (whether connected to a network) which copy program and data files, usually in a compressed structure, onto backup media such as magnetic tape(s) or disk(s). Typically, most backup programs allow disk-wide backup or selective backup of files based upon a file directory tree and a variety of file selection criteria, such as file names with and without wildcard characters or extensions and such as last accessed, modified, created, or backed up files. Some of these backup programs further allow the user (or the system administrator) to predefine the file tree and selection criteria so that periodic backups can be easily made without requiring the user to rethink his backup strategy. 
     Recommended backup strategy usually includes infrequently, such as monthly, making a disks-wide backup of program and data files (commonly referred to as a &#34;baseline&#34;  backup). Then, very frequently, such as daily, file selection backups are made of newly created or modified data files (commonly referred to as &#34;incremental&#34; backups). Thus, in the event files are corrupted, destroyed or deleted, the newest copies of such files may be restored from the incremental or baseline backups. 
     Existing backup utility programs attempt to achieve the common goal of simplifying the backup procedures so that proper backups are actually made. Proper backups of networked file servers are usually made because most file servers include a large capacity streaming tape or other storage device. Unfortunately, backing up of networked nodes is often neglected because most workstations thereof include only a floppy disk drive onto which a backup could be made. During backup, the network user is required to monitor his workstation and insert backup floppy disks as required. Because backups are time consuming, the user is reluctant to and often does not backup his workstation as often as is recommended. Thus, there exits a need for backing up networked nodes with minimal user attention and involvement. 
     With specific regard to networked workstations, software sold under the trademark &#34;3+Backup&#34; by 3Com of Mountainview, Calif. is capable of backing up (baseline and incremental) files on all workstations in the network onto a streaming tape backup unit of a dedicated file server. A similar backup program sold under the trademark &#34;Emerald System&#34; by Emerald Systems Corporation of San Diego, Calif. allows network users of the remote workstation nodes to perform a backup by sending selected files to be backed up to a networked backup device. Unfortunately, such backup software performs its file selection phase over the network thereby compromising the users, security considerations and over-utilizing valuable network resources. 
     Therefore, it is an object of this invention to provide improved backup computer software which overcomes the aforementioned inadequacies of the prior art software. 
     Another object of this invention is a backup computer program specifically designed for use over a computer network allowing the transfer of files from the storage media of a workstation or file server of each node of the network onto centralized backup media such as magnetic tape(s) or disk(s). 
     Another object of this invention is to provide a backup computer program for a network which allow the user of each workstation of a node to preselect the files on the workstation (or his files on the file server) to be backed up based upon file directory trees or file selection criteria, such as file names with and without wild card characters or extensions and such as last accessed, modified, created or backed up files, thereby allowing the user to maintain security of confidential data and program files. 
     Another object of this invention is to provide a backup computer program for a network in which the processing of files to be backed up, based upon a file directory tree or file selection criteria, is performed on each workstation node to produce a list of files to be backed up, thereby minimizing processing over the network and otherwise over-utilizing valuable network resources. 
     Another object of this invention is to provide a backup computer program for a network which is initiated by a master workstation on a central node of the network such that the remote workstations substantially concurrently begin selecting files to be backed up. 
     Another object of this invention is to provide a backup computer program for a network in which a list of the backed up files is stored on the master workstation of the central node and on the workstations of each remote node, thereby allowing the remote workstations to perform incremental backups based upon file selection criteria without having to access, over the network, the list on the master workstation of the central node or otherwise requiring reading of the backup media over the network, which may or may not be mounted. 
     The foregoing has outlined some of the more pertinent objects of the invention. These objects should be construed to be merely illustrative of some of the more prominent features and applications of the intended invention. Many other beneficial results can be obtained by applying the disclosed invention in a different manner or modifying the invention within the scope of the disclosure. Accordingly, other objects and a fuller understanding of the invention may be had by referring to the summary of the invention and the detailed description of the preferred embodiment in addition to the scope of the invention defined by the claims taken in conjunction with the accompanying drawings. 
     SUMMARY OF THE INVENTION 
     The invention is defined by the appended claims with a specific embodiment shown in the attached drawings. For the purpose of summarizing the invention, the invention comprises a computer program for backing up data and program files located on networked workstations onto a centralized backup media of a backup device of the network, such as streaming magnetic tape(s) or large magnetic or optical disk(s). 
     A feature of the backup computer program of the invention is the manner in which the files to be backed up are selected Specifically, the backup computer program of the invention allows users of workstations of remote nodes to preselect files (by name and by file selection criteria) on their workstation which are to be backed up onto the centralized backup media. This cooperative file selection on each such workstation is accomplished only by the user of that workstation so that the user maintains his security over confidential data or program files. 
     Another feature of the backup program of the invention is the distribution of the file selection processes throughout the network which considerably increases the speed of backing up over the network. More specifically, since the network is a shared resource, processes which involve exchanges of information over the network will consume the shared resource and slow down or block out other potential users. 
     To minimize network over-consumption, the backup computer program of the invention proceeds in two stages; first selecting the files of each remote workstation to be included in the backup and then secondly, transferring such files to the centralized backup device. More specifically, once initiated by a central or master workstation, the file selection phase for each remote workstation of the remote nodes occurs on each such remote workstation as opposed to occurring over the network as in prior art backup programs. During the file selection phase on each remote workstation, a list of files to be backed up is produced based upon file names, file directory trees and file selection criteria established by the user of each such workstation. Then, the remote workstation signals the master workstation that it has finished its file selection phase and is ready for the listed files to be copied over the network for backup onto the centralized backup device. Notably, this cooperative backup allows the remote workstations of remote nodes to compile their respective backup lists substantially concurrently. The master workstation preferably begins the file backup of the remote workstation first to complete its backup list and then backs up the other remote workstations as they complete their backup lists. 
     A further feature of the backup computer program of the invention is its ability to allow incremental backups. Specifically, once a baseline backup is made and a list of backup files is made, a copy of the baseline backup list is kept on the workstation of each remote node. By referring to the copy of the baseline backup list, each remote workstation can perform incremental backups of only those files which have changed since the last baseline backup. Thus, because of the redundancy of the baseline backup list, the remote workstations need not parse the backup media of the backup device over the network (which may involve multiple tape or disk swapping) simply to compute incremental backups of files on such workstations. 
     It is noted that such incremental daily backups usually do not involve tape or disk swapping of the centralized backup device since the files which are changed daily are relatively few (as compared to a baseline backup). Thus, unlike periodic baseline network backups, incremental network backups can be performed without a system administrator monitoring the backup device simply to swap tapes, disks or other backup media. Incremental backups can therefore be scheduled for off-peak periods, such as the early morning or late evening hours of the day. 
     The foregoing has outlined rather broadly the more pertinent and important features of the present invention in order that the detailed description of the invention that follows may be better understood so that the present contribution to the art can be more fully appreciated. Additional features of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and the specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     For a fuller understanding of the nature and objects of the invention, reference should be had to the following detailed description taken in connection with the accompanying drawing illustrating a diagrammatic view of a typical computer network. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     KEY TERMS AND ASSUMPTIONS 
     Backup--Backup is generally defined to be the process of copying files from one storage device to another storage device for the purpose of archiving data and programs, so that a copy will exist (the &#34;backup&#34; copy) in case the original data or programs are destroyed or lost; however, the computer program of the invention is applicable to file transfers between computers on a network, and is not restricted to file transfers for the sole purpose of backing up. For purposes herein, &#34;back up&#34; will be used to describe file transfers. 
     Local Storage Device (LSD)--A local storage device 10 is a storage device, including, but not limited to disk drives and tape drives, which is &#34;attached&#34; to a computer 11 on a network. &#34;Attachment&#34; is logical, not physical. Storage devices which appear to be local devices to a program running on a node (such as a network server), although not physically attached to the node itself, are considered to be local storage devices. 
     Network--Backup operations take place on a network 12, where a network is defined as a group of connected computers, at least some of which have local storage devices; two computers are &#34;connected&#34; when they can exchange messages and data; the connection technology, the network topology, the network protocols, the type of computer and the type of local storage devices can vary. 
     Node, Network Node--A computer and its local storage devices (if any) which is connected to a network is referred to as a node 13, or network node. 
     Controlling Node, Remote Node--One of the network nodes is designated as the &#34;controlling node&#34; 14 and the remainder of the network nodes are designated as &#34;remote nodes&#34; 15. 
     Network Administrator, Network User--The person(s) who interacts with (uses) programs on the controlling node is called the Network Administrator. Persons who interact with (use) programs on remote nodes are called users or network users. 
     Network Backup--A network backup is defined to be the transfer of files from the local storage devices attached to the remote nodes on a network to a local storage device 16 attached to the controlling node on a network. 
     Remote Backup Set--A Remote Backup Set is defined to be a list of files (a set) that are to be backed up; a backup set can also include selection criteria such as file type (application, document, system file), before/after a modification data and time, file name (pattern matching on character strings), file ownership (e.g. all &#34;c&#34; source files) or version number. 
     For example, consider the following list of files: 
     
         ______________________________________NAME               LAST MODIFIED______________________________________DOTHIS.F77;1       11-May-88DOTHAT.F77;1       11-May-88GREAT.FTN;1        11-May-88TEST.FTN;1         11-May-88DOTHIS.FTN;1       11-May-88DOTHIS.FTN;2       11-May-88FTN77              10-May-77MODULE.TXT;1       13-May-89LETTER.TXT;1       15-Jan-89______________________________________ 
    
     A backup set could be constructed from this list: all files of type .FTN, plus all files modified after May 1, 1989 and the file FTN77. This would give us the following list: 
     
         ______________________________________                    REASON FORNAME       LAST MODIFIED INCLUSION______________________________________GREAT.FTN;1      11-May-88     .FTN typeTEST.FTN;1 11-May-88     .FTN typeDOTHIS.FTN;1      11-May-88     .FTN typeDOTHIS.FTN;2      11-May-88     .FTN typeFTN77      10-May-77     individual selectionMODULE.TXT;1      13-May-89     modified after 1-May-89______________________________________ 
    
     Note that files can be included because they satisfy an inclusion test, or because they are individually selected (are members of an inclusion class with only one member). This is an important distinction for incremental backups. Users may want incremental backups to include not only files which have changed, but new files which belong to a certain class (documents, files in a particular sub-directory, etc.) If the backup set was simply a list of files, without selection criteria, there would be no way to specify that files which had been added since the last backup should (or should not) be included in an incremental backup. 
     A Remote Backup Set (RBS) is then defined to be a backup set which describes files which are on the local storage device of a remote node, and not on the local storage device of the controlling node. The Remote Backup Set itself may be stored on a storage device attached to the controlling node or on a storage device attached to a remote node. Note that while the file set is called a remote backup set, its use is not restricted to backups. 
     CODE MODULES OVERVIEW 
     Remote Node Programs--One copy of each program per node. 
     BSCreate--This is a program to create a backup set, and runs on each remote node. 
     BSExecute--This program uses an existing remote backup set and the contents of a node&#39;s local storage device (LSD) to create a temporary RBS, or tRBS. (Note that as actually implemented, BSCreate and BSExecute are combined into one program). 
     Node Daemon--This is a program that turns in the background on a remote node. This program monitors network traffic and detects and interprets messages used in the network backup process; causes BSExecute to run and communicates with it at the appropriate points in the backup process; reads file blocks from the LSD end and transfers them to the controlling node. This type of program could be done as TSR on an IBM PC, a daemon on Unix systems or an INIT on a Macintosh. 
     Controller Node Programs 
     BSSchedule--This is a program to schedule a network backup. This program displays a list of the available RBSs on the network, allows the Network Administrator to select a set of subset of the RBSs for backup, and schedule the time at which the backup of those RBSs is to take place. 
     DoNetBack--This is a program to execute the network backup; this program controls the transfer of files or blocks of data (image backup) between the MasterDaemon (see below) and the network backup device (the network backup device is usually, but not always, a local storage device attached to the controlling node). 
     MasterDaemon--This is a program that runs in the background on the controlling node. This program checks the current time and determines if it is time to run DoNetBack. Once DoNetBack is started the MasterDaemon sends messages to nodes on the network at the request of NetBack, monitors network traffic and detects and interprets messages sent back to the controlling node, receives file blocks from remote LSDs and transfers then to DoNetBack. ##SPC1## 
     The present disclosure includes that contained in the appended claims, as well as that of the foregoing description. Although this program has been described in its preferred form with a certain degree of particularity, it is understood that the present disclosure of the preferred form has been made only by way of example and that numerous changes in the details of programming may be resorted to without departing from the spirit of the invention. 
     Now that the invention has been described,